[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-6.4' - vcl/source
Michael Meeks (via logerrit)
logerrit at kemper.freedesktop.org
Mon Aug 2 14:29:45 UTC 2021
vcl/source/window/window.cxx | 5 +++--
vcl/source/window/window2.cxx | 2 +-
2 files changed, 4 insertions(+), 3 deletions(-)
New commits:
commit 40272c9a9b2c554d34cbb942a6fab2e7977dd549
Author: Michael Meeks <michael.meeks at collabora.com>
AuthorDate: Mon Aug 2 13:38:31 2021 +0100
Commit: Miklos Vajna <vmiklos at collabora.com>
CommitDate: Mon Aug 2 16:29:10 2021 +0200
vcl: avoid native widget pieces for disposed BorderWindow.
Fixes crash around help windows:
vcl::Window::IsCompoundControl() const
vcl/source/window/window2.cxx:1200
vcl::Window::Show(bool, ShowFlags)
vcl/source/window/window.cxx:2243 (discriminator 3)
vcl::Window::Show(bool, ShowFlags)
vcl/source/window/window.cxx:2298
HelpTextWindow::ImplShow()
vcl/source/app/help.cxx:371
Scheduler::ProcessTaskScheduling()
vcl/source/app/scheduler.cxx:495
Change-Id: Ia0205813f3e9d306314577d59d6cdd1bdfa0ee71
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119881
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
Reviewed-by: Miklos Vajna <vmiklos at collabora.com>
diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx
index 60160d46b71a..f9acc5db9c2f 100644
--- a/vcl/source/window/window.cxx
+++ b/vcl/source/window/window.cxx
@@ -2240,7 +2240,8 @@ void Window::Show(bool bVisible, ShowFlags nFlags)
// inherit native widget flag for form controls
// required here, because frames never show up in the child hierarchy - which should be fixed...
// eg, the drop down of a combobox which is a system floating window
- if( mpWindowImpl->mbFrame && GetParent() && GetParent()->IsCompoundControl() &&
+ if( mpWindowImpl->mbFrame && GetParent() && !GetParent()->IsDisposed() &&
+ GetParent()->IsCompoundControl() &&
GetParent()->IsNativeWidgetEnabled() != IsNativeWidgetEnabled() &&
!(GetStyle() & WB_TOOLTIPWIN) )
{
@@ -3709,7 +3710,7 @@ void Window::EnableNativeWidget( bool bEnable )
bool Window::IsNativeWidgetEnabled() const
{
- return ImplGetWinData()->mbEnableNativeWidget;
+ return mpWindowImpl ? ImplGetWinData()->mbEnableNativeWidget : false;
}
Reference< css::rendering::XCanvas > Window::ImplGetCanvas( bool bSpriteCanvas ) const
diff --git a/vcl/source/window/window2.cxx b/vcl/source/window/window2.cxx
index 32150d1474fc..d2db1bb62670 100644
--- a/vcl/source/window/window2.cxx
+++ b/vcl/source/window/window2.cxx
@@ -1197,7 +1197,7 @@ GetFocusFlags Window::GetGetFocusFlags() const
bool Window::IsCompoundControl() const
{
- return mpWindowImpl->mbCompoundControl;
+ return mpWindowImpl ? mpWindowImpl->mbCompoundControl : false;
}
bool Window::IsWait() const
More information about the Libreoffice-commits
mailing list