summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAron Budea <aron.budea@collabora.com>2023-02-02 00:08:41 +0100
committerMiklos Vajna <vmiklos@collabora.com>2023-02-02 07:19:13 +0000
commit8adad652f9853f54784cf8b9c99ce595e7bd4e9d (patch)
treeb095089f94907c7e60990075bd76ba65ecfda058
parent9393a597aaea6be0e7aa3830d952689fcaeed54e (diff)
vcl: fix online crash in vcl::Window::IsTracking()
Crashreport signature: program/libmergedlo.so vcl::Window::IsTracking() const vcl/source/window/window2.cxx:340 program/libmergedlo.so (anonymous namespace)::LOKPostAsyncEvent(void*, void*) sfx2/source/view/lokhelper.cxx:812 program/libmergedlo.so LokChartHelper::postMouseEvent(int, int, int, int, int, int, double, double) include/rtl/ref.hxx:128 program/libmergedlo.so SfxLokHelper::testInPlaceComponentMouseEventHit(SfxViewShell*, int, int, int, int, int, int, double, double, bool) sfx2/source/view/lokhelper.cxx:980 /program/libswlo.so SwXTextDocument::postMouseEvent(int, int, int, int, int, int) sw/source/uibase/uno/unotxdoc.cxx:3663 program/libmergedlo.so doc_postMouseEvent desktop/source/lib/init.cxx:4831 Change-Id: Iab7d24a901e57dc8af3fb2c77fbea3b4fdad9fb9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146483 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
-rw-r--r--vcl/source/window/window2.cxx12
1 files changed, 9 insertions, 3 deletions
diff --git a/vcl/source/window/window2.cxx b/vcl/source/window/window2.cxx
index 7334d423e9bc..e16113add965 100644
--- a/vcl/source/window/window2.cxx
+++ b/vcl/source/window/window2.cxx
@@ -339,9 +339,15 @@ bool Window::IsTracking() const
{
if (!mpWindowImpl)
return false;
- return (mpWindowImpl->mbUseFrameData ?
- mpWindowImpl->mpFrameData->mpTrackWin == this :
- ImplGetSVData()->mpWinData->mpTrackWin == this);
+ if (mpWindowImpl->mbUseFrameData && mpWindowImpl->mpFrameData)
+ {
+ return mpWindowImpl->mpFrameData->mpTrackWin == this;
+ }
+ if (!mpWindowImpl->mbUseFrameData && ImplGetSVData()->mpWinData)
+ {
+ return ImplGetSVData()->mpWinData->mpTrackWin == this;
+ }
+ return false;
}
void Window::StartAutoScroll( StartAutoScrollFlags nFlags )