Bug 151104 - Shadow and image fill does not work together in presentation mode
Summary: Shadow and image fill does not work together in presentation mode
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Impress (show other bugs)
(earliest affected) alpha0+
Hardware: x86-64 (AMD64) All
: medium normal
Assignee: Armin Le Grand
Whiteboard: target:7.5.0
Keywords: bibisected, bisected, regression
Depends on:
Blocks: Slide-Show
  Show dependency treegraph
Reported: 2022-09-21 11:40 UTC by Regina Henschel
Modified: 2023-11-21 13:40 UTC (History)
6 users (show)

See Also:
Crash report or crash signature:

Examples for the problem (404.61 KB, application/vnd.oasis.opendocument.presentation)
2022-09-21 11:40 UTC, Regina Henschel

Note You need to log in before you can comment on or make changes to this bug.
Description Regina Henschel 2022-09-21 11:40:50 UTC
Created attachment 182600 [details]
Examples for the problem

The attached presentation has some examples with image fill, which does not work in slide show, and examples with solid fill or gradient fill, which do work in slide show.

Open the attached presentation and compare edit mode to slide show mode.

I see the problem in Version: (x64) / LibreOffice Community
Build ID: 349e3af0c5dd5ed495ed61aab526f63c16f0e215
CPU threads: 8; OS: Windows 10.0 Build 19043; UI render: Skia/Raster; VCL: win
Locale: de-DE (en_US); UI: en-US
Calc: CL threaded

The problem still exists if I disable Skia.
Comment 1 Rafael Lima 2022-09-21 17:55:18 UTC
Repro with:

Version: / LibreOffice Community
Build ID: 35702fd6781542f5eefbd3710304ab9a25ac61fe
CPU threads: 16; OS: Linux 5.15; UI render: default; VCL: kf5 (cairo+xcb)
Locale: pt-BR (pt_BR.UTF-8); UI: en-US
Calc: CL threaded

I see the following issues:

Slide 1: The shadow is a copy of the colored text (should be white)
Slide 2: all ok
Slide 3: all ok
Slide 4: all ok
Slide 5: same problem as slide 1

I'm setting this to NEW.

However this seems to be a regression. It is NOT REPRO with:

Version: / LibreOffice Community
Build ID: 40(Build:2)
CPU threads: 16; OS: Linux 5.15; UI render: default; VCL: kf5 (cairo+xcb)
Locale: pt-BR (pt_BR.UTF-8); UI: en-US
Ubuntu package version: 1:7.4.1~rc2-0ubuntu0.22.04.1~lo1
Calc: threaded
Comment 2 raal 2022-09-22 18:15:33 UTC
This seems to have begun at the below commit.
Adding Cc: to Armin Le Grand; Could you possibly take a look at this one?
 24bd024cb85b7d5ab151e8dec8be23afdbaf51c2 is the first bad commit
commit 24bd024cb85b7d5ab151e8dec8be23afdbaf51c2
Author: Jenkins Build User <tdf@pollux.tdf>
Date:   Wed Sep 14 10:04:13 2022 +0200

    source e735ad1c57cddaf17d6ffc0cf15b5e14fa63c4ad

Comment 3 Armin Le Grand 2022-09-24 13:16:11 UTC
Took a look. I have a suspicion already, the former used processPrimitive2DOnPixelProcessor was always used for PRIMITIVE2D_ID_SHADOWPRIMITIVE2D, so *always* a BitmapEx was created as shadow. 

With that change for ShadowPrimitive2D the vector graphics representation is used again (better than pixel). Again because that was used before those glow things (including ShadowPrimitive2D) were added. That had worked in the past, so there must be a reason it does no longer. Looking for that...
Comment 4 Armin Le Grand 2022-09-24 13:38:17 UTC
Ah, in VclMetafileProcessor2D::processPolyPolygonGraphicPrimitive2D taking care of maBColorModifierStack is missing. Was that removed...?
Comment 5 Armin Le Grand 2022-09-24 14:04:39 UTC
It was changed by 9e2a9f4151babc6cb22553798ee70f7f623924db. Handling BColorModifierStack is missing in VclMetafileProcessor2D::processPolyPolygonGraphicPrimitive2D when creating the SvtGraphicFill information for the metafile.
Comment 6 Armin Le Grand 2022-09-24 14:39:56 UTC
Possible solution at https://gerrit.libreoffice.org/c/core/+/140550
Comment 7 Commit Notification 2022-09-26 07:50:10 UTC
Armin Le Grand (allotropia) committed a patch related to this issue.
It has been pushed to "master":


tdf#151104 correct missing ColorModification

It will be available in 7.5.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:

Affected users are encouraged to test the fix and report feedback.