diff options
author | Tor Lillqvist <tml@collabora.com> | 2020-10-28 09:43:13 +0200 |
---|---|---|
committer | Tor Lillqvist <tml@collabora.com> | 2020-11-21 11:35:17 +0100 |
commit | 9e4c72ec7ea83aa0d023a90a6b02ddb17c6b2d74 (patch) | |
tree | e860b6cac038cb985cd7851035980a50e2f2d81d /vcl/source | |
parent | b28e514d5e0ea45490b3cab30e1d97dd3da2c794 (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.cxx | 2 |
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) |