summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordldld <LibreOfficeContribution@dldld.de>2022-05-26 22:50:27 +0200
committerCaolán McNamara <caolanm@redhat.com>2022-06-27 18:56:33 +0200
commit398ceced15ee4fdd24b1f8db5e09096c3afa4804 (patch)
tree64d5ba834ef7a0033932b0fb09e550c742c32b07
parentsw: avoid divide by zero in SwTextGridPage::CharorLineChangedHdl (diff)
downloadcore-398ceced15ee4fdd24b1f8db5e09096c3afa4804.tar.gz
core-398ceced15ee4fdd24b1f8db5e09096c3afa4804.zip
tdf#91456 OpenGL context rendered without slide on it
When an OpenGL transition is initialized the screen might show for a short time a black screen, because the slide was not directly drawn onto the context and therefore a short black flash was visible on the beginning of the silde transition. This issue did on my side only occur, when the slide was changed by going to a specific slide, moving to the next slide was fine, like shown in the recorded video in the bug tracker. It seems that all events which are going over the EventMultiplexer are not having this flickering issue, as the moments when the drawing is happening are different. Change-Id: If57d9518e74d3a2ede166fd7e55ef5b290274109 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135031 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--slideshow/source/engine/opengl/TransitionerImpl.cxx6
1 files changed, 6 insertions, 0 deletions
diff --git a/slideshow/source/engine/opengl/TransitionerImpl.cxx b/slideshow/source/engine/opengl/TransitionerImpl.cxx
index f3cc33abf3f6..faef77988442 100644
--- a/slideshow/source/engine/opengl/TransitionerImpl.cxx
+++ b/slideshow/source/engine/opengl/TransitionerImpl.cxx
@@ -444,6 +444,12 @@ bool OGLTransitionerImpl::setTransition( const std::shared_ptr<OGLTransitionImpl
}
impl_prepareSlides();
+
+ // tdf#91456: When the OpenGL context is initialized but nothing has been rendered on it
+ // it can happen, that an "empty" screen is drawn. Therefore, drawing the content of time 0
+ // onto the context
+ update(0);
+
return true;
}