summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorMarco Cecchetti <marco.cecchetti@collabora.com>2023-03-09 20:49:46 +0100
committerAndras Timar <andras.timar@collabora.com>2023-03-09 22:20:46 +0000
commit7ed760c4564834ec61ceb91f681dfc6daa1be4bd (patch)
treefd1f87e793de924ea9b341445266a7e5e5d69097 /vcl
parent86e612db56be2d1934275de021b3213875e9301d (diff)
lok: some tunneled dialog control was not invalidated correctly
This patch fixes a regression for commit: "lok: form controls: rendering and mouse event forwarding" Change-Id: Iffb0757834a884a6c86206221660da2a24bdff17 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148564 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/control/ctrl.cxx15
1 files changed, 8 insertions, 7 deletions
diff --git a/vcl/source/control/ctrl.cxx b/vcl/source/control/ctrl.cxx
index 689b02f80d79..943823e8f4f5 100644
--- a/vcl/source/control/ctrl.cxx
+++ b/vcl/source/control/ctrl.cxx
@@ -491,16 +491,17 @@ Control::GetUnzoomedControlPointFont() const
void Control::LogicInvalidate(const tools::Rectangle* pRectangle)
{
- // avoid endless paint/invalidate loop in Impress
- if (comphelper::LibreOfficeKit::isTiledPainting())
- return;
-
VclPtr<vcl::Window> pParent = GetParentWithLOKNotifier();
- if (!pParent)
+ if (!pParent || !dynamic_cast<vcl::DocWindow*>(GetParent()))
+ {
+ // if control doesn't belong to a DocWindow, the overriden base class
+ // method has to be invoked
+ Window::LogicInvalidate(pRectangle);
return;
+ }
- // invalidate only controls that belong to a DocWindow
- if (!dynamic_cast<vcl::DocWindow*>(GetParent()))
+ // avoid endless paint/invalidate loop in Impress
+ if (comphelper::LibreOfficeKit::isTiledPainting())
return;
tools::Rectangle aResultRectangle;