summaryrefslogtreecommitdiff
path: root/unoidl
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2025-04-30 07:04:07 +0200
committerMike Kaganski <mike.kaganski@collabora.com>2025-05-01 05:54:04 +0200
commitf4b72c08f93f7b4dfb1f40fb9dd4b16e925d64a9 (patch)
tree0858cc87b31d98a2b35d53571cc7f7ab2c9bcbe9 /unoidl
parent923da8a3855afae1f3f3a5f50d1fec08bbc02438 (diff)
Refactor shell thumbnail extension code HEADmaster
1. Drop obsolete #ifndef DONT_HAVE_GDIPLUS, introduced in commit 06c8108fe5c196aec2888d9b236f595f2bcb1c46 (Attempt to make this build with MinGW, 2011-06-24). 2. Improve API methods implementations. 2.1. In IUnknown::Release, make sure to check the value returned from decrement, not the member (that could potentially be modified in the meantime again). 2.2. In ISequentialStream::Read, don't return S_OK for too large read; and make sure to set pcbRead even on zero-byte read. 2.3. In IStream::Seek, check dwOrigin value; handle STREAM_SEEK_END correctly, without subtracting an extra 1; don't fail on too large positive offset (that is explicitly documented as OK); and don't ignore the plibNewPosition argument (callers expect the new offset there). 2.4. In IStream::Stat, check grfStatFlag value; handle OOM; don't limit the returned offset to 32 bits. 3. Make StreamOnZipBuffer own the buffer. It user a reference to temporaries; but the object is refcounted, and when passed to an API, it could potentially outlive the temporaries it depended on. 4. Move CThumbviewer definition to CXX, and simplify the HXX. Change-Id: I5b31a8bf66651862d730cc346948dc04f984fddb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184807 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
Diffstat (limited to 'unoidl')
0 files changed, 0 insertions, 0 deletions