summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--vcl/source/window/event.cxx10
-rw-r--r--vcl/source/window/window2.cxx5
2 files changed, 15 insertions, 0 deletions
diff --git a/vcl/source/window/event.cxx b/vcl/source/window/event.cxx
index 797d40a79912..e7752ae77043 100644
--- a/vcl/source/window/event.cxx
+++ b/vcl/source/window/event.cxx
@@ -576,7 +576,17 @@ void Window::ImplCallFocusChangeActivate( vcl::Window* pNewOverlapWindow,
bool bCallActivate = true;
bool bCallDeactivate = true;
+ if (!pOldOverlapWindow)
+ {
+ return;
+ }
+
pOldRealWindow = pOldOverlapWindow->ImplGetWindow();
+ if (!pNewOverlapWindow)
+ {
+ return;
+ }
+
pNewRealWindow = pNewOverlapWindow->ImplGetWindow();
if ( (pOldRealWindow->GetType() != WindowType::FLOATINGWINDOW) ||
pOldRealWindow->GetActivateMode() != ActivateModeFlags::NONE )
diff --git a/vcl/source/window/window2.cxx b/vcl/source/window/window2.cxx
index 61ea3d80c3d0..3037491703fd 100644
--- a/vcl/source/window/window2.cxx
+++ b/vcl/source/window/window2.cxx
@@ -893,6 +893,11 @@ vcl::Window* Window::ImplGetBorderWindow() const
vcl::Window* Window::ImplGetFirstOverlapWindow()
{
+ if (!mpWindowImpl)
+ {
+ return nullptr;
+ }
+
if ( mpWindowImpl->mbOverlapWin )
return this;
else