From 2ce6828bbbf6ba181bb2276adeec279e74151ef6 Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Thu, 23 May 2013 16:38:15 +0200 Subject: fix awt::UnoControlModelDialog crash ...in commit 6c61b20a8d4a6dcac28801cde82a211fb7e30654, "Convert awt::UnoControlDialogModel to new style" I added an attribute "ResourceResolver" because some of the client code was setting it using the property interface. It turns out that this was a bad idea because the "ResourceResolver" property is doing some very interesting stuff, so revert that part of the change. Change-Id: I62b890e60164e005867ced49c3e407a49ed09441 Reviewed-on: https://gerrit.libreoffice.org/4013 Reviewed-by: Miklos Vajna Tested-by: Miklos Vajna --- include/toolkit/controls/dialogcontrol.hxx | 3 --- offapi/com/sun/star/awt/XUnoControlDialogModel.idl | 3 --- offapi/com/sun/star/resource/XStringResourceManager.idl | 2 +- offapi/com/sun/star/resource/XStringResourceResolver.idl | 2 +- scripting/source/dlgprov/dlgprov.cxx | 6 +++++- toolkit/source/controls/dialogcontrol.cxx | 8 -------- 6 files changed, 7 insertions(+), 17 deletions(-) diff --git a/include/toolkit/controls/dialogcontrol.hxx b/include/toolkit/controls/dialogcontrol.hxx index f92652a8ef0f..a749c241fbc7 100644 --- a/include/toolkit/controls/dialogcontrol.hxx +++ b/include/toolkit/controls/dialogcontrol.hxx @@ -166,9 +166,6 @@ public: { return getPropertyString("ImageURL"); } virtual void SAL_CALL setImageURL(const rtl::OUString& p1) throw(::com::sun::star::uno::RuntimeException) { setPropertyString("ImageURL", p1); } - virtual com::sun::star::uno::Reference SAL_CALL getResourceResolver() throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setResourceResolver(const com::sun::star::uno::Reference& p1) throw(::com::sun::star::uno::RuntimeException) - { setPropertyValue( "ResourceResolver", css::uno::Any(p1) ); } virtual com::sun::star::awt::FontDescriptor SAL_CALL getFontDescriptor() throw(::com::sun::star::uno::RuntimeException); virtual void SAL_CALL setFontDescriptor(const com::sun::star::awt::FontDescriptor& p1) throw(::com::sun::star::uno::RuntimeException) { setPropertyValue( "FontDescriptor", css::uno::Any(p1) ); } diff --git a/offapi/com/sun/star/awt/XUnoControlDialogModel.idl b/offapi/com/sun/star/awt/XUnoControlDialogModel.idl index 81cd2b1fd569..9032a37b582d 100644 --- a/offapi/com/sun/star/awt/XUnoControlDialogModel.idl +++ b/offapi/com/sun/star/awt/XUnoControlDialogModel.idl @@ -28,7 +28,6 @@ #include #include #include -#include module com { module sun { module star { module awt { @@ -67,8 +66,6 @@ published interface XUnoControlDialogModel [attribute] string DialogSourceURL; - [attribute] com::sun::star::resource::XStringResourceManager ResourceResolver; - /** specifies the text that is displayed in the caption bar of the dialog. */ [attribute] string Title; diff --git a/offapi/com/sun/star/resource/XStringResourceManager.idl b/offapi/com/sun/star/resource/XStringResourceManager.idl index 423bedf61cf6..ad9a8f39062f 100644 --- a/offapi/com/sun/star/resource/XStringResourceManager.idl +++ b/offapi/com/sun/star/resource/XStringResourceManager.idl @@ -44,7 +44,7 @@ module com { module sun { module star { module resource { localized dialogs. */ -published interface XStringResourceManager: com::sun::star::resource::XStringResourceResolver +interface XStringResourceManager: com::sun::star::resource::XStringResourceResolver { /** Returns the resource's read only state diff --git a/offapi/com/sun/star/resource/XStringResourceResolver.idl b/offapi/com/sun/star/resource/XStringResourceResolver.idl index 49bd841fa47c..d236f0d69ddf 100644 --- a/offapi/com/sun/star/resource/XStringResourceResolver.idl +++ b/offapi/com/sun/star/resource/XStringResourceResolver.idl @@ -42,7 +42,7 @@ module com { module sun { module star { module resource { But also changing the locale at runtime can be supported in this way. */ -published interface XStringResourceResolver: com::sun::star::util::XModifyBroadcaster +interface XStringResourceResolver: com::sun::star::util::XModifyBroadcaster { /** Resolves the passed ResoureID for the current locale. This diff --git a/scripting/source/dlgprov/dlgprov.cxx b/scripting/source/dlgprov/dlgprov.cxx index 8722a4706a02..8c645a3569b9 100644 --- a/scripting/source/dlgprov/dlgprov.cxx +++ b/scripting/source/dlgprov/dlgprov.cxx @@ -88,6 +88,8 @@ namespace dlgprov { //......................................................................... +static OUString aResourceResolverPropName("ResourceResolver"); + Reference< resource::XStringResourceManager > lcl_getStringResourceManager(const Reference< XComponentContext >& i_xContext,const OUString& i_sURL) { INetURLObject aInetObj( i_sURL ); @@ -147,7 +149,9 @@ namespace dlgprov // Set resource property if( xStringResourceManager.is() ) { - xDialogModel->setResourceResolver( xStringResourceManager ); + Any aStringResourceManagerAny; + aStringResourceManagerAny <<= xStringResourceManager; + xDialogModel->setPropertyValue( aResourceResolverPropName, aStringResourceManagerAny ); } return xDialogModel; diff --git a/toolkit/source/controls/dialogcontrol.cxx b/toolkit/source/controls/dialogcontrol.cxx index bd3ce4c09771..6042203dc30f 100644 --- a/toolkit/source/controls/dialogcontrol.cxx +++ b/toolkit/source/controls/dialogcontrol.cxx @@ -307,14 +307,6 @@ sal_Int32 UnoControlDialogModel::getPropertyInt32(const OUString& aPropertyName) return b; } -Reference UnoControlDialogModel::getResourceResolver() throw(css::uno::RuntimeException) -{ - uno::Any any = getPropertyValue("ResourceResolver"); - Reference b; - any >>= b; - return b; -} - css::awt::FontDescriptor UnoControlDialogModel::getFontDescriptor() throw(css::uno::RuntimeException) { uno::Any any = getPropertyValue("FontDescriptor"); -- cgit v1.2.3