vcl/source/control/ctrl.cxx | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-)
New commits: commit 7ed760c4564834ec61ceb91f681dfc6daa1be4bd Author: Marco Cecchetti <marco.cecche...@collabora.com> AuthorDate: Thu Mar 9 20:49:46 2023 +0100 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Thu Mar 9 22:20:46 2023 +0000 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 <jenkinscollaboraoff...@gmail.com> Reviewed-by: Andras Timar <andras.ti...@collabora.com> 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;