[Libreoffice-commits] core.git: include/sfx2 svx/source

Stephan Bergmann sbergman at redhat.com
Fri Dec 5 03:50:31 PST 2014


 include/sfx2/childwin.hxx      |    2 +-
 svx/source/dialog/hyperdlg.cxx |   15 +--------------
 2 files changed, 2 insertions(+), 15 deletions(-)

New commits:
commit 0cb6a92f86e02f6342be5e8f931dc1849114230c
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Dec 5 12:42:34 2014 +0100

    Broken cast
    
    All the way back since 2001 (ed53aaf5842e82f9a8d4d053b39e7db61c6d62ce "#89611#
    react for (Beamer!)Frame->dispose() from outside," adding member
    SfxChildWindow_Impl::xListener), that MyStruct hack was not in sync with
    SfxChildWindow_Impl, so
    
      ((MyStruct*)pImp)->bVisible = false;
    
    probably corrputed pFact rather than change bVisible.  The origin of that
    MyStruct hack is lost to history, but probably stems from an ancient time when
    changes across modules where prohibitively expensive, esp. when some feature had
    to be crammed in shortly before release...
    
    Change-Id: I13dc30c96ef70b2cc09dc117231c021910e0ce1e

diff --git a/include/sfx2/childwin.hxx b/include/sfx2/childwin.hxx
index 81b78f8..592ab9a 100644
--- a/include/sfx2/childwin.hxx
+++ b/include/sfx2/childwin.hxx
@@ -205,7 +205,7 @@ public:
     void                SetFrame( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > & );
 
     SAL_DLLPRIVATE static void InitializeChildWinFactory_Impl(sal_uInt16, SfxChildWinInfo&);
-    SAL_DLLPRIVATE void SetVisible_Impl( bool bVis );
+    void SetVisible_Impl( bool bVis );
     SAL_DLLPRIVATE void SetWorkWindow_Impl( SfxWorkWindow* );
     SAL_DLLPRIVATE void Activate_Impl();
     SAL_DLLPRIVATE void Deactivate_Impl();
diff --git a/svx/source/dialog/hyperdlg.cxx b/svx/source/dialog/hyperdlg.cxx
index 9aeefe8..40464de 100644
--- a/svx/source/dialog/hyperdlg.cxx
+++ b/svx/source/dialog/hyperdlg.cxx
@@ -32,19 +32,6 @@
 
 SFX_IMPL_CHILDWINDOW_WITHID(SvxHlinkDlgWrapper, SID_HYPERLINK_DIALOG)
 
-
-
-struct MyStruct
-{
-    ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > xFrame;
-    SfxChildWinFactory* pFact;
-    bool                bHideNotDelete;
-    bool                bVisible;
-    bool                bHideAtToggle;
-    SfxModule*          pContextModule;
-    SfxWorkWindow*      pWorkWin;
-};
-
 SvxHlinkDlgWrapper::SvxHlinkDlgWrapper( vcl::Window* _pParent, sal_uInt16 nId,
                                                 SfxBindings* pBindings,
                                                 SfxChildWinInfo* pInfo ) :
@@ -58,7 +45,7 @@ SvxHlinkDlgWrapper::SvxHlinkDlgWrapper( vcl::Window* _pParent, sal_uInt16 nId,
     mpDlg = pFact->CreateSvxHpLinkDlg( _pParent, pBindings, SID_HYPERLINK_DIALOG );
     DBG_ASSERT(mpDlg, "Dialog creation failed!");
     pWindow = mpDlg->GetWindow();
-    ((MyStruct*)pImp)->bVisible = false;
+    SetVisible_Impl(false);
 
     vcl::Window* pTopWindow = 0;
     if ( pInfo->aSize.Width() != 0 && pInfo->aSize.Height() != 0 &&


More information about the Libreoffice-commits mailing list