diff options
author | Michael Meeks <michael.meeks@collabora.com> | 2015-09-15 23:42:52 +0100 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2015-09-15 23:54:41 +0000 |
commit | a60db559d409514fb93af0167c543ad2f852b499 (patch) | |
tree | df669a55d884fe51ec80ec655b6853284eb4a496 /vcl/source/window/event.cxx | |
parent | 73a8fcecfe10e1a15513b00e379712b00cdfdd6e (diff) |
tdf#94213 - calc re-size flicker turns out to be the status bar.
Using vdev's associated with old contexts, is un-necessary and a
recipe for context switching & hence flicker.
Change-Id: I37ed967a7816e5ca0240908ab4793ce1e68570ee
Reviewed-on: https://gerrit.libreoffice.org/18602
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Diffstat (limited to 'vcl/source/window/event.cxx')
-rw-r--r-- | vcl/source/window/event.cxx | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/vcl/source/window/event.cxx b/vcl/source/window/event.cxx index d2ac5b709bfd..5bef68726978 100644 --- a/vcl/source/window/event.cxx +++ b/vcl/source/window/event.cxx @@ -21,6 +21,7 @@ #include <vcl/window.hxx> #include <vcl/dockwin.hxx> #include <vcl/layout.hxx> +#include <vcl/opengl/OpenGLWrapper.hxx> #include <window.h> #include <svdata.hxx> @@ -452,7 +453,14 @@ void Window::ImplCallResize() { mpWindowImpl->mbCallResize = false; - if( GetBackground().IsGradient() ) + // OpenGL has a charming feature of black clearing the whole window + // some legacy code eg. the app-menu has the beautiful feature of + // avoiding re-paints when width doesn't change => invalidate all. + if( OpenGLWrapper::isVCLOpenGLEnabled() ) + Invalidate(); + + // Normally we avoid blanking on re-size unless people might notice: + else if( GetBackground().IsGradient() ) Invalidate(); Resize(); |