| Summary: | GIF images fail to display in Impress | ||
|---|---|---|---|
| Product: | LibreOffice | Reporter: | Andrew Watson <notinteresting> |
| Component: | Impress | Assignee: | Bartosz <gang65> |
| Status: | VERIFIED FIXED | ||
| Severity: | normal | CC: | Armin.Le.Grand, gang65, notinteresting, raal, serval2412, telesto, xiscofauli |
| Priority: | medium | Keywords: | bibisected, bisected, regression |
| Version: | 6.1.0.0.alpha1+ | ||
| Hardware: | x86-64 (AMD64) | ||
| OS: | macOS (All) | ||
| Whiteboard: | target:6.2.0 target:6.1.0.1 target:6.0.6 | ||
| Crash report or crash signature: | Regression By: | ||
| Bug Depends on: | |||
| Bug Blocks: | 111486 | ||
| Attachments: | Test Impress file whose GIF images fail to display | ||
|
Description
Andrew Watson
2018-04-29 15:52:38 UTC
Created attachment 141760 [details]
Test Impress file whose GIF images fail to display
I see image in Version: 6.1.0.0.alpha1+ Build ID: 4dbce627d3643babaf90a93c70b365ff08abfca6 CPU threads: 4; OS: Linux 4.4; UI render: default; VCL: gtk2; Mac only? Yes, it looks as if this may be a Mac-only bug. I tried a different Mac running an older version of Mac OS (10.9.5). The GIFs also do NOT display with LO 6.1.0.0.alpha1 on: Version: 6.1.0.0.alpha1 Build ID: cb47f0d320994e001bc38dc2ee9b7d957b15e6ab CPU threads: 4; OS: Mac OS X 10.9.5; UI render: default; Locale: en-US (en.UTF-8); Calc: group But DO display on the same Mac with an older LO version: Version: 5.3.0.3 Build ID: 7074905676c47b82bbcfbea1aeefc84afe1c50e1 CPU Threads: 4; OS Version: Mac OS X 10.9.5; UI Render: default; Layout Engine: new; Locale: en-GB (en.UTF-8); Calc: group I also tried Linux Mint 18 (Sarah), and found that the GIFs DO display with LO 6.1.0.0.alpha1 under: Version: 6.1.0.0.alpha1 Build ID: cb47f0d320994e001bc38dc2ee9b7d957b15e6ab CPU threads: 4; OS: Linux 4.4; UI render: default; VCL: gtk2; Locale: en-GB (en_GB.UTF-8); Calc: group Reproduced in Version: 6.1.0.0.alpha1+ Build ID: 13a1bc409d9b2f0d14f4d316b7977b1fc2eb3c8a CPU threads: 8; OS: Mac OS X 10.13.3; UI render: default; Locale: en-US (en_ES.UTF-8); Calc: group Regression introduced by: author Armin Le Grand <Armin.Le.Grand@cib.de> 2017-10-30 16:29:09 +0100 committer Armin Le Grand <Armin.Le.Grand@cib.de> 2018-04-17 02:05:57 +0200 commit 7f9b0f47979dcb7abfed37bb7cd38ab51eac6011 (patch) tree 639b6289605dc4b108b70d2da56dd214e62a5be1 parent 0f93692fda4226323422cf82ce34ae4bd5e22fab (diff) tdf#113197 Add MaskPrimitive (clip) to EMF/WMF if needed Added code to quartz vcl implementation that takes care when BitmapPalette.count != (depth^^2)-1 - which may be the case anytime. If then a bitmap value exists that goes beyond that count, a invalid access was executed Bisected with: bibisect-mac64-6.1 Adding Cc: to Armin Le Grand GetEntryCount returns maBitmapColor
197 sal_uInt16 GetEntryCount() const
198 {
199 return maBitmapColor.size();
200 }
see https://opengrok.libreoffice.org/xref/core/include/vcl/salbtype.hxx#197
but I noticed that maBitmapColor is initialized with a sal_uInt16 number, see https://opengrok.libreoffice.org/xref/core/include/vcl/salbtype.hxx#maBitmapColor#177
Shouldn't we use sal_uInt16 for mnPaletteCount?
Reproduced in: Version: 6.1.0.0.beta1 Build ID: 8c76dfe1284e211954c30f219b3a38dcdd82f8a0 CPU threads: 4; OS: Mac OS X 10.11.6; UI render: default; Locale: en-US (en.UTF-8); Calc: group No idea what to do when it's only on the Mac- I do not have one. The code changed as follows: - const BitmapColor& rColor = mrPalette[ (pData[mnX >> 3 ] >> ( 7 - ( mnX & 7 ) )) & 1]; + // Caution(!) rPalette.GetEntryCount() may be != (depth^^2)-1 (!) + const sal_uInt8 nIndex( (pData[mnX >> 3 ] >> ( 7 - ( mnX & 7 ) )) & 1); Checking the index acces *is* needed (there are palettes with less than 0xff colors - I thought about fixing this first). Maybe a Mac-Dev could tr to use sal_uInt16 instead of sal_uInt8 - something strange with the Mac-Compiler seems to be happening here (due to working on all other systems...). Sprry, I have (still) no Mac. Review with the fix: https://gerrit.libreoffice.org/#/c/56578/ Bartosz Kosiorek committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=054a3586bb4808728a5cd58ea8a867539c08e55c tdf#117335 Fix displaying GIF images It will be available in 6.2.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback. Bartosz Kosiorek committed a patch related to this issue. It has been pushed to "libreoffice-6-1": http://cgit.freedesktop.org/libreoffice/core/commit/?id=a3786926c8a56c9eecb6547eb70c1dba98373788&h=libreoffice-6-1 tdf#117335 Fix displaying GIF images It will be available in 6.1.0.1. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback. Verified in Version: 6.2.0.0.alpha0+ Build ID: 5fce97a58b8f764e35bf98128591c9a89537da05 CPU threads: 8; OS: Mac OS X 10.13.3; UI render: default; Locale: en-US (en_ES.UTF-8); Calc: group threaded @Bartosz, Thanks for fixing this!! Bartosz Kosiorek committed a patch related to this issue. It has been pushed to "libreoffice-6-0": http://cgit.freedesktop.org/libreoffice/core/commit/?id=34bba6eaa404f5a081dcc28f9cca7fd55a10fe0c&h=libreoffice-6-0 tdf#117335 Fix displaying GIF images It will be available in 6.0.6. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback. Verified fixed in: Version: 6.1.0.1.0+ Build ID: 9837faeaab59e030e500ed21da92dd6bed2806fe CPU threads: 4; OS: Mac OS X 10.11.6; UI render: default; TinderBox: MacOSX-x86_64@49-TDF, Branch:libreoffice-6-1, Time: 2018-07-10_00:21:46 Locale: en-US (en.UTF-8); Calc: group threaded Thanks! |