sfx2/source/appl/childwin.cxx |    7 ++++++-
 sfx2/source/inc/workwin.hxx   |    1 +
 2 files changed, 7 insertions(+), 1 deletion(-)

New commits:
commit 627b4a4a5a015bc12da61c5f106bc942154f7d12
Author: Caolán McNamara <caol...@redhat.com>
Date:   Fri Jun 5 10:36:32 2015 +0100

    Resolves: tdf#91864 unset a dying childwindow as the active window
    
    Change-Id: Ief014895facbc092913b3069ed04cace1e233ff0
    (cherry picked from commit 8f99f936326342566067c849fbf27867825b81cf)

diff --git a/sfx2/source/appl/childwin.cxx b/sfx2/source/appl/childwin.cxx
index a735b72..0b41d43 100644
--- a/sfx2/source/appl/childwin.cxx
+++ b/sfx2/source/appl/childwin.cxx
@@ -177,7 +177,12 @@ void SfxChildWindow::Destroy()
 {
     if ( GetFrame().is() )
     {
-        pImp->pWorkWin = NULL;
+        if (pImp->pWorkWin)
+        {
+            if (pImp->pWorkWin->GetActiveChild_Impl() == pWindow)
+                pImp->pWorkWin->SetActiveChild_Impl(NULL);
+            pImp->pWorkWin = NULL;
+        }
         try
         {
             ::com::sun::star::uno::Reference < 
::com::sun::star::util::XCloseable > xClose( GetFrame(), 
::com::sun::star::uno::UNO_QUERY );
diff --git a/sfx2/source/inc/workwin.hxx b/sfx2/source/inc/workwin.hxx
index 7233fe6..9574b67 100644
--- a/sfx2/source/inc/workwin.hxx
+++ b/sfx2/source/inc/workwin.hxx
@@ -322,6 +322,7 @@ public:
     bool                    IsVisible_Impl( sal_uInt16 nMode ) const;
     bool                    IsFloating( sal_uInt16 nId );
     void                    SetActiveChild_Impl( vcl::Window *pChild );
+    VclPtr<vcl::Window>     GetActiveChild_Impl() const { return pActiveChild; 
}
     bool                    ActivateNextChild_Impl( bool bForward = true );
     bool                    AllowChildWindowCreation_Impl( const 
SfxChildWin_Impl& i_rCW ) const;
 
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to