diff options
author | Aron Budea <aron.budea@collabora.com> | 2023-02-02 00:08:41 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2023-02-04 06:18:30 +0000 |
commit | d4c99f07ed4a795519797f56be29c24a242f4db2 (patch) | |
tree | 9e9fd6f681368182a601e0e0c646c12d89530a36 /vcl | |
parent | cb44dab0784476a2be0708e801696f47486aa3a2 (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>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146549
Tested-by: Jenkins
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/source/window/window2.cxx | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/vcl/source/window/window2.cxx b/vcl/source/window/window2.cxx index 87db8e470e21..180edf5cf961 100644 --- a/vcl/source/window/window2.cxx +++ b/vcl/source/window/window2.cxx @@ -341,9 +341,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 ) |