summaryrefslogtreecommitdiff
path: root/vcl/source
diff options
context:
space:
mode:
authorTor Lillqvist <tml@collabora.com>2020-10-28 09:43:13 +0200
committerTor Lillqvist <tml@collabora.com>2020-11-21 11:35:17 +0100
commit9e4c72ec7ea83aa0d023a90a6b02ddb17c6b2d74 (patch)
treee860b6cac038cb985cd7851035980a50e2f2d81d /vcl/source
parentb28e514d5e0ea45490b3cab30e1d97dd3da2c794 (diff)
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@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104918 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106257
Diffstat (limited to 'vcl/source')
-rw-r--r--vcl/source/window/paint.cxx2
1 files changed, 2 insertions, 0 deletions
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)