From aa99ae09fbd5cc71ae44dd1af607395fb25cbec3 Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Thu, 20 Mar 2014 15:25:57 +0200 Subject: [PATCH] Avoid "AquaSalGraphics::copyArea() for non-layered graphics" message on iOS It seems this comes from the code attempting to 'scroll' the 'frame' window. With tiled rendering there is of course no real 'frame window' that would be displayed and need to be scrolled, so just bypass that. Unfortunately this had no effect on the Smart Art rendering artefacts. I had hoped those messages were related to rendering of them, but no. Change-Id: Id4624eb5c1d825a120ef48bd2ae424f147060d35 --- vcl/source/window/window.cxx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx index f57e3842e35f..f8bb7761fe14 100644 --- a/vcl/source/window/window.cxx +++ b/vcl/source/window/window.cxx @@ -3150,6 +3150,16 @@ void Window::ImplScroll( const Rectangle& rRect, if ( mpWindowImpl->mbTrackVisible && (mpWindowImpl->mpWinData->mnTrackFlags & SHOWTRACK_WINDOW) ) InvertTracking( *(mpWindowImpl->mpWinData->mpTrackRect), mpWindowImpl->mpWinData->mnTrackFlags ); } +#ifndef IOS + // This seems completely unnecessary with tiled rendering, and + // causes the "AquaSalGraphics::copyArea() for non-layered + // graphics" message. Presumably we should bypass this on all + // platforms when dealing with a "window" that uses tiled + // rendering at the moment. Unclear how to figure that out, + // though. Also unclear whether we actually could just not + // create a "frame window", whatever that exactly is, in the + // tiled rendering case, or at least for platforms where tiles + // rendering is all there is. SalGraphics* pGraphics = ImplGetFrameGraphics(); if ( pGraphics ) @@ -3166,7 +3176,7 @@ void Window::ImplScroll( const Rectangle& rRect, rRect.GetWidth(), rRect.GetHeight(), SAL_COPYAREA_WINDOWINVALIDATE, this ); } - +#endif if ( mpWindowImpl->mpWinData ) { if ( mpWindowImpl->mbFocusVisible )