summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathias Bauer <mba@openoffice.org>2010-01-19 17:27:28 +0100
committerMathias Bauer <mba@openoffice.org>2010-01-19 17:27:28 +0100
commit3e01ab9b13aa6bf670d461aaa50d03da8f9414dc (patch)
tree4c1cdc48c10ed5dc1697be565fe3a9ec6fe54fdf
parent3d7a9891b2309c30da4a12b4cf5f5fd222195f2b (diff)
#i107450#: some problems with the dialog factory
-rw-r--r--editeng/inc/editeng/edtdlg.hxx3
-rw-r--r--editeng/source/editeng/eerdll.cxx2
-rw-r--r--editeng/source/misc/edtdlg.cxx6
-rw-r--r--editeng/util/makefile.mk2
-rw-r--r--sfx2/inc/sfx2/sfxdlg.hxx3
-rw-r--r--sfx2/source/dialog/sfxdlg.cxx6
-rw-r--r--svx/inc/svx/svxdlg.hxx2
-rw-r--r--svx/source/dialog/svxdlg.cxx2
8 files changed, 19 insertions, 7 deletions
diff --git a/editeng/inc/editeng/edtdlg.hxx b/editeng/inc/editeng/edtdlg.hxx
index 9cef6a377e40..82f1f07269c4 100644
--- a/editeng/inc/editeng/edtdlg.hxx
+++ b/editeng/inc/editeng/edtdlg.hxx
@@ -94,9 +94,10 @@ class AbstractHangulHanjaConversionDialog : public VclAbstractTerminatedDialog
virtual String GetCurrentSuggestion( ) const =0;
};
-class EDITENG_DLLPUBLIC EditAbstractDialogFactory
+class EDITENG_DLLPUBLIC EditAbstractDialogFactory : virtual public VclAbstractDialogFactory
{
public:
+ virtual ~EditAbstractDialogFactory(); // needed for export of vtable
static EditAbstractDialogFactory* Create();
virtual AbstractThesaurusDialog* CreateThesaurusDialog( Window*, ::com::sun::star::uno::Reference< ::com::sun::star::linguistic2::XThesaurus > xThesaurus,
const String &rWord, sal_Int16 nLanguage ) = 0;
diff --git a/editeng/source/editeng/eerdll.cxx b/editeng/source/editeng/eerdll.cxx
index ab5732a0a115..be0df2cc969d 100644
--- a/editeng/source/editeng/eerdll.cxx
+++ b/editeng/source/editeng/eerdll.cxx
@@ -228,7 +228,7 @@ EditResId::EditResId( USHORT nId ):
EditDLL::EditDLL()
{
pGlobalData = new GlobalEditData;
- ByteString aResMgrName( "svx" );
+ ByteString aResMgrName( "editeng" );
pResMgr = ResMgr::CreateResMgr(
aResMgrName.GetBuffer(), Application::GetSettings().GetUILocale() );
}
diff --git a/editeng/source/misc/edtdlg.cxx b/editeng/source/misc/edtdlg.cxx
index 193ccfcaff8d..80c9f4afe26e 100644
--- a/editeng/source/misc/edtdlg.cxx
+++ b/editeng/source/misc/edtdlg.cxx
@@ -35,5 +35,9 @@
EditAbstractDialogFactory* EditAbstractDialogFactory::Create()
{
- return (EditAbstractDialogFactory*) VclAbstractDialogFactory::Create();
+ return dynamic_cast <EditAbstractDialogFactory*>( VclAbstractDialogFactory::Create() );
}
+
+EditAbstractDialogFactory::~EditAbstractDialogFactory()
+{
+} \ No newline at end of file
diff --git a/editeng/util/makefile.mk b/editeng/util/makefile.mk
index 5eef76146a41..a11bde28aed3 100644
--- a/editeng/util/makefile.mk
+++ b/editeng/util/makefile.mk
@@ -87,6 +87,8 @@ DEFLIB1NAME=$(TARGET)
# Resource files
SRSFILELIST=\
+ $(SRS)$/editeng.srs \
+ $(SRS)$/outliner.srs \
$(SRS)$/misc.srs \
$(SRS)$/items.srs
diff --git a/sfx2/inc/sfx2/sfxdlg.hxx b/sfx2/inc/sfx2/sfxdlg.hxx
index 9aae89cc3964..256e4a03ce47 100644
--- a/sfx2/inc/sfx2/sfxdlg.hxx
+++ b/sfx2/inc/sfx2/sfxdlg.hxx
@@ -115,9 +115,10 @@ public:
namespace com { namespace sun { namespace star { namespace frame { class XFrame; } } } }
-class SFX2_DLLPUBLIC SfxAbstractDialogFactory : public VclAbstractDialogFactory
+class SFX2_DLLPUBLIC SfxAbstractDialogFactory : virtual public VclAbstractDialogFactory
{
public:
+ virtual ~SfxAbstractDialogFactory(); // needed for export of vtable
static SfxAbstractDialogFactory* Create();
virtual VclAbstractDialog* CreateSfxDialog( Window* pParent, const SfxBindings& rBindings, sal_uInt32 nResId ) = 0;
virtual VclAbstractDialog* CreateFrameDialog( Window* pParent, const com::sun::star::uno::Reference< com::sun::star::frame::XFrame >& rFrame, sal_uInt32 nResId, const String& rParameter ) = 0;
diff --git a/sfx2/source/dialog/sfxdlg.cxx b/sfx2/source/dialog/sfxdlg.cxx
index 0e5f91ccea34..2f809d7d0744 100644
--- a/sfx2/source/dialog/sfxdlg.cxx
+++ b/sfx2/source/dialog/sfxdlg.cxx
@@ -39,5 +39,9 @@
SfxAbstractDialogFactory* SfxAbstractDialogFactory::Create()
{
- return (SfxAbstractDialogFactory*) VclAbstractDialogFactory::Create();
+ return dynamic_cast <SfxAbstractDialogFactory*>( VclAbstractDialogFactory::Create() );
}
+
+SfxAbstractDialogFactory::~SfxAbstractDialogFactory()
+{
+} \ No newline at end of file
diff --git a/svx/inc/svx/svxdlg.hxx b/svx/inc/svx/svxdlg.hxx
index 7f91022c9409..513aa451a24e 100644
--- a/svx/inc/svx/svxdlg.hxx
+++ b/svx/inc/svx/svxdlg.hxx
@@ -339,7 +339,7 @@ class SVX_DLLPUBLIC SvxAbstractDialogFactory : public SfxAbstractDialogFactory,
public:
static SvxAbstractDialogFactory* Create();
- // define dtor as this will create typeinfo in svx library
+ // define dtor as this will create typeinfo and in svx library and export vtable
virtual ~SvxAbstractDialogFactory();
virtual SfxAbstractTabDialog* CreateTextTabDialog( Window* pParent,
diff --git a/svx/source/dialog/svxdlg.cxx b/svx/source/dialog/svxdlg.cxx
index 7be500b0a3c7..afb17de7c87d 100644
--- a/svx/source/dialog/svxdlg.cxx
+++ b/svx/source/dialog/svxdlg.cxx
@@ -35,7 +35,7 @@
SvxAbstractDialogFactory* SvxAbstractDialogFactory::Create()
{
- return (SvxAbstractDialogFactory*) VclAbstractDialogFactory::Create();
+ return dynamic_cast< SvxAbstractDialogFactory* >( VclAbstractDialogFactory::Create() );
}
SvxAbstractDialogFactory::~SvxAbstractDialogFactory()