diff options
author | Miklos Vajna <vmiklos@collabora.com> | 2019-04-17 11:38:47 +0200 |
---|---|---|
committer | Luboš Luňák <l.lunak@collabora.com> | 2019-04-23 10:34:23 +0200 |
commit | 5c5eab3522368d6baa7ab6ef1b6c9f5eaaab4fad (patch) | |
tree | 64d3d77a6ffcbadd0a03cdaaeeef67912f61c8ed /slideshow | |
parent | 9a5e5c581eaf86ce0bbf293da40ba18c72fba1bd (diff) |
tdf#124756 slideshow: avoid mbPaintDisabled for media windows
Commit 3e0092031b73bad107e3122d5d4be2f5bd487744 (tdf#112318 sd opengl:
fix lack of initial animation, 2019-04-05) enabled processing of idle
events between two updates of the slideshow to help OpenGL, which
uncovered a problem with media shapes.
On one hand,
slideshow::internal::ViewMediaShape::implInitializePlayerWindow() calls
EnablePaint(false) on the media window. OTOH,
vcl::Window::ImplCallPaint() handles mbPaintDisabled by invalidating the
relevant area of the window, which causes a paint<->invalidate loop.
Fix the problem by nominally still enabling paints on the media window:
nothing will change in practice (since the actual media overlay will be
on top of it), but this way the loop goes away.
mbPaintDisabled is handled like this since the initial import, the media
window flag was added much later, so it makes more sense to adapt the
later.
(cherry picked from commit d7f4f5650dd2c7fe1ccec50efd806e695b8bc18a)
Conflicts:
slideshow/source/engine/shapes/viewmediashape.cxx
Change-Id: Ib89b68d93aa9d09dbcad33eb6e75a8a25ef1b752
Reviewed-on: https://gerrit.libreoffice.org/70886
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
Diffstat (limited to 'slideshow')
-rw-r--r-- | slideshow/source/engine/shapes/viewmediashape.cxx | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/slideshow/source/engine/shapes/viewmediashape.cxx b/slideshow/source/engine/shapes/viewmediashape.cxx index f61c6dd598d9..84d7e363d339 100644 --- a/slideshow/source/engine/shapes/viewmediashape.cxx +++ b/slideshow/source/engine/shapes/viewmediashape.cxx @@ -445,7 +445,6 @@ namespace slideshow mpMediaWindow->SetBackground( COL_BLACK ); mpMediaWindow->SetParentClipMode( ParentClipMode::NoClip ); mpMediaWindow->EnableEraseBackground( false ); - mpMediaWindow->EnablePaint( false ); mpMediaWindow->SetForwardKey( true ); mpMediaWindow->SetMouseTransparent( true ); mpMediaWindow->Show(); |