[Libreoffice-commits] core.git: desktop/source
Michael Meeks
michael.meeks at collabora.com
Wed May 6 02:46:02 PDT 2015
desktop/source/deployment/gui/dp_gui_theextmgr.cxx | 17 +++++++++--------
desktop/source/deployment/gui/dp_gui_theextmgr.hxx | 13 +++++++------
2 files changed, 16 insertions(+), 14 deletions(-)
New commits:
commit 222a9ef69c1a60526de5546433a9fce62d44823a
Author: Michael Meeks <michael.meeks at collabora.com>
Date: Wed May 6 09:39:46 2015 +0100
tdf#91090 - avoid de-referencing DIALOG_NO_PARENT (-1)
Change-Id: I1032054765013a43744a7be548e892fc973a40ce
diff --git a/desktop/source/deployment/gui/dp_gui_theextmgr.cxx b/desktop/source/deployment/gui/dp_gui_theextmgr.cxx
index 3cad803..fa42dc2 100644
--- a/desktop/source/deployment/gui/dp_gui_theextmgr.cxx
+++ b/desktop/source/deployment/gui/dp_gui_theextmgr.cxx
@@ -49,10 +49,10 @@ namespace dp_gui {
// TheExtensionManager
-TheExtensionManager::TheExtensionManager( vcl::Window *pParent,
+TheExtensionManager::TheExtensionManager( const uno::Reference< awt::XWindow > &xParent,
const uno::Reference< uno::XComponentContext > &xContext ) :
m_xContext( xContext ),
- m_pParent( pParent ),
+ m_xParent( xParent ),
m_pExtMgrDialog( NULL ),
m_pUpdReqDialog( NULL ),
m_pExecuteCmdQueue( NULL )
@@ -120,7 +120,12 @@ void TheExtensionManager::createDialog( const bool bCreateUpdDlg )
}
else if ( !m_pExtMgrDialog )
{
- m_pExtMgrDialog = VclPtr<ExtMgrDialog>::Create( m_pParent, this );
+ // FIXME: horrible ...
+ vcl::Window* pParent = DIALOG_NO_PARENT;
+ if (m_xParent.is())
+ pParent = VCLUnoHelper::GetWindow(m_xParent);
+
+ m_pExtMgrDialog = VclPtr<ExtMgrDialog>::Create( pParent, this );
delete m_pExecuteCmdQueue;
m_pExecuteCmdQueue = new ExtensionCmdQueue( m_pExtMgrDialog.get(), this, m_xContext );
m_pExtMgrDialog->setGetExtensionsURL( m_sGetExtensionsURL );
@@ -483,11 +488,7 @@ void TheExtensionManager::modified( ::lang::EventObject const & /*rEvt*/ )
return s_ExtMgr;
}
- vcl::Window* pParent = DIALOG_NO_PARENT;
- if (xParent.is())
- pParent = VCLUnoHelper::GetWindow(xParent);
-
- ::rtl::Reference<TheExtensionManager> that( new TheExtensionManager( pParent, xContext ) );
+ ::rtl::Reference<TheExtensionManager> that( new TheExtensionManager( xParent, xContext ) );
const SolarMutexGuard guard;
if ( ! s_ExtMgr.is() )
diff --git a/desktop/source/deployment/gui/dp_gui_theextmgr.hxx b/desktop/source/deployment/gui/dp_gui_theextmgr.hxx
index 39d41b2..2341a5a 100644
--- a/desktop/source/deployment/gui/dp_gui_theextmgr.hxx
+++ b/desktop/source/deployment/gui/dp_gui_theextmgr.hxx
@@ -53,18 +53,19 @@ private:
::com::sun::star::uno::Reference< ::com::sun::star::deployment::XExtensionManager > m_xExtensionManager;
::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > m_xNameAccessNodes;
- VclPtr<vcl::Window> m_pParent;
- VclPtr<ExtMgrDialog> m_pExtMgrDialog;
- VclPtr<UpdateRequiredDialog> m_pUpdReqDialog;
- ExtensionCmdQueue *m_pExecuteCmdQueue;
+ css::uno::Reference<
+ css::awt::XWindow > m_xParent;
+ VclPtr<ExtMgrDialog> m_pExtMgrDialog;
+ VclPtr<UpdateRequiredDialog> m_pUpdReqDialog;
+ ExtensionCmdQueue *m_pExecuteCmdQueue;
OUString m_sGetExtensionsURL;
public:
static ::rtl::Reference<TheExtensionManager> s_ExtMgr;
- TheExtensionManager( vcl::Window * pParent,
- const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > &xContext );
+ TheExtensionManager( const css::uno::Reference< css::awt::XWindow > &xParent,
+ const css::uno::Reference< css::uno::XComponentContext > &xContext );
virtual ~TheExtensionManager();
void createDialog( const bool bCreateUpdDlg );
More information about the Libreoffice-commits
mailing list