[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.4' - vcl/source
Tor Lillqvist (via logerrit)
logerrit at kemper.freedesktop.org
Wed Oct 28 09:00:32 UTC 2020
vcl/source/window/paint.cxx | 2 ++
1 file changed, 2 insertions(+)
New commits:
commit 3d58e90a061dc0c6388939708f2c3f9bf926499a
Author: Tor Lillqvist <tml at collabora.com>
AuthorDate: Wed Oct 28 09:43:13 2020 +0200
Commit: Tor Lillqvist <tml at collabora.com>
CommitDate: Wed Oct 28 09:59:57 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
diff --git a/vcl/source/window/paint.cxx b/vcl/source/window/paint.cxx
index 42a3139b47a9..218cdd3216ed 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