[Libreoffice-commits] core.git: vcl/source
Tor Lillqvist (via logerrit)
logerrit at kemper.freedesktop.org
Sat Nov 21 10:36:01 UTC 2020
vcl/source/window/paint.cxx | 2 ++
1 file changed, 2 insertions(+)
New commits:
commit 9e4c72ec7ea83aa0d023a90a6b02ddb17c6b2d74
Author: Tor Lillqvist <tml at collabora.com>
AuthorDate: Wed Oct 28 09:43:13 2020 +0200
Commit: Tor Lillqvist <tml at collabora.com>
CommitDate: Sat Nov 21 11:35:17 2020 +0100
Tentative fix for crash in the iOS app
See https://github.com/CollaboraOnline/online/issues/403 .
It seems that perhaps we can just bypass the whole ImplHandlePaintHdl
handler function on iOS. Not sure whether this has any unintended
side-effects. Testing will show. (Sure, if this is the right fix, it
would make more sense to not create that idle paint thing at all. Feel
free.)
As discussed in the issue, there is a problem on Linux, too, that
might have the same root cause, that can be reproduced in a simple
"make run" scenario. It is possible that to fix that, the
ImplHandlePaintHdl function should simply return right away if
comphelper::LibreOfficeKit::isActive() is true. (And if that is done,
the #ifndef added here can be dropped.) But I am even less convinced
that such a change doesn't have any ill side-effects, and the symptom
is perhaps less serious than on iOS, so I will leave that to others to
investigate, for now.
Change-Id: Ie4c1c70c65746961fa0730cae348ecc9bcdccf1d
Signed-off-by: Tor Lillqvist <tml at collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104918
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106257
diff --git a/vcl/source/window/paint.cxx b/vcl/source/window/paint.cxx
index 476105a5044f..034eef555d6a 100644
--- a/vcl/source/window/paint.cxx
+++ b/vcl/source/window/paint.cxx
@@ -642,6 +642,7 @@ void Window::ImplCallOverlapPaint()
IMPL_LINK_NOARG(Window, ImplHandlePaintHdl, Timer *, void)
{
+#ifndef IOS
comphelper::ProfileZone aZone("VCL idle re-paint");
// save paint events until layout is done
@@ -664,6 +665,7 @@ IMPL_LINK_NOARG(Window, ImplHandlePaintHdl, Timer *, void)
mpWindowImpl->mpFrameData->maPaintIdle.IsActive())
mpWindowImpl->mpFrameData->maPaintIdle.Stop();
}
+#endif
}
IMPL_LINK_NOARG(Window, ImplHandleResizeTimerHdl, Timer *, void)
More information about the Libreoffice-commits
mailing list