fix awt::UnoControlModelDialog crash

...in commit 6c61b20a8d,
    "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 <vmiklos@suse.cz>
Tested-by: Miklos Vajna <vmiklos@suse.cz>
This commit is contained in:
Noel Grandin
2013-05-23 16:38:15 +02:00
committed by Miklos Vajna
parent 9413f2124d
commit 2ce6828bbb
6 changed files with 7 additions and 17 deletions

View File

@@ -166,9 +166,6 @@ public:
{ return getPropertyString("ImageURL"); } { return getPropertyString("ImageURL"); }
virtual void SAL_CALL setImageURL(const rtl::OUString& p1) throw(::com::sun::star::uno::RuntimeException) virtual void SAL_CALL setImageURL(const rtl::OUString& p1) throw(::com::sun::star::uno::RuntimeException)
{ setPropertyString("ImageURL", p1); } { setPropertyString("ImageURL", p1); }
virtual com::sun::star::uno::Reference<com::sun::star::resource::XStringResourceManager> SAL_CALL getResourceResolver() throw(::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL setResourceResolver(const com::sun::star::uno::Reference<com::sun::star::resource::XStringResourceManager>& 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 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) virtual void SAL_CALL setFontDescriptor(const com::sun::star::awt::FontDescriptor& p1) throw(::com::sun::star::uno::RuntimeException)
{ setPropertyValue( "FontDescriptor", css::uno::Any(p1) ); } { setPropertyValue( "FontDescriptor", css::uno::Any(p1) ); }

View File

@@ -28,7 +28,6 @@
#include <com/sun/star/lang/XMultiServiceFactory.idl> #include <com/sun/star/lang/XMultiServiceFactory.idl>
#include <com/sun/star/util/Color.idl> #include <com/sun/star/util/Color.idl>
#include <com/sun/star/graphic/XGraphic.idl> #include <com/sun/star/graphic/XGraphic.idl>
#include <com/sun/star/resource/XStringResourceManager.idl>
module com { module sun { module star { module awt { module com { module sun { module star { module awt {
@@ -67,8 +66,6 @@ published interface XUnoControlDialogModel
[attribute] string DialogSourceURL; [attribute] string DialogSourceURL;
[attribute] com::sun::star::resource::XStringResourceManager ResourceResolver;
/** specifies the text that is displayed in the caption bar of the dialog. /** specifies the text that is displayed in the caption bar of the dialog.
*/ */
[attribute] string Title; [attribute] string Title;

View File

@@ -44,7 +44,7 @@ module com { module sun { module star { module resource {
localized dialogs. localized dialogs.
*/ */
published interface XStringResourceManager: com::sun::star::resource::XStringResourceResolver interface XStringResourceManager: com::sun::star::resource::XStringResourceResolver
{ {
/** /**
Returns the resource's read only state Returns the resource's read only state

View File

@@ -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. 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 Resolves the passed ResoureID for the current locale. This

View File

@@ -88,6 +88,8 @@ namespace dlgprov
{ {
//......................................................................... //.........................................................................
static OUString aResourceResolverPropName("ResourceResolver");
Reference< resource::XStringResourceManager > lcl_getStringResourceManager(const Reference< XComponentContext >& i_xContext,const OUString& i_sURL) Reference< resource::XStringResourceManager > lcl_getStringResourceManager(const Reference< XComponentContext >& i_xContext,const OUString& i_sURL)
{ {
INetURLObject aInetObj( i_sURL ); INetURLObject aInetObj( i_sURL );
@@ -147,7 +149,9 @@ namespace dlgprov
// Set resource property // Set resource property
if( xStringResourceManager.is() ) if( xStringResourceManager.is() )
{ {
xDialogModel->setResourceResolver( xStringResourceManager ); Any aStringResourceManagerAny;
aStringResourceManagerAny <<= xStringResourceManager;
xDialogModel->setPropertyValue( aResourceResolverPropName, aStringResourceManagerAny );
} }
return xDialogModel; return xDialogModel;

View File

@@ -307,14 +307,6 @@ sal_Int32 UnoControlDialogModel::getPropertyInt32(const OUString& aPropertyName)
return b; return b;
} }
Reference<css::resource::XStringResourceManager> UnoControlDialogModel::getResourceResolver() throw(css::uno::RuntimeException)
{
uno::Any any = getPropertyValue("ResourceResolver");
Reference<css::resource::XStringResourceManager> b;
any >>= b;
return b;
}
css::awt::FontDescriptor UnoControlDialogModel::getFontDescriptor() throw(css::uno::RuntimeException) css::awt::FontDescriptor UnoControlDialogModel::getFontDescriptor() throw(css::uno::RuntimeException)
{ {
uno::Any any = getPropertyValue("FontDescriptor"); uno::Any any = getPropertyValue("FontDescriptor");