summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drawinglayer/source/processor2d/vclhelperbufferdevice.cxx8
1 files changed, 8 insertions, 0 deletions
diff --git a/drawinglayer/source/processor2d/vclhelperbufferdevice.cxx b/drawinglayer/source/processor2d/vclhelperbufferdevice.cxx
index 59d5885ce5a2..224552012250 100644
--- a/drawinglayer/source/processor2d/vclhelperbufferdevice.cxx
+++ b/drawinglayer/source/processor2d/vclhelperbufferdevice.cxx
@@ -233,7 +233,15 @@ namespace drawinglayer
if(isVisible())
{
+#ifdef IOS
+ // Exact mechanism unknown, but for some reason SmartArt
+ // rendering, especially shadows, is broken on iOS unless
+ // we pass 'true' here. Are virtual devices always de
+ // facto cleared when created on other platforms?
+ mpContent = getVDevBuffer().alloc(mrOutDev, maDestPixel.GetSize(), true, 0);
+#else
mpContent = getVDevBuffer().alloc(mrOutDev, maDestPixel.GetSize(), false, 0);
+#endif
// #i93485# assert when copying from window to VDev is used
OSL_ENSURE(mrOutDev.GetOutDevType() != OUTDEV_WINDOW,