summaryrefslogtreecommitdiff
path: root/vbahelper/source/vbahelper/vbadocumentbase.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vbahelper/source/vbahelper/vbadocumentbase.cxx')
-rw-r--r--vbahelper/source/vbahelper/vbadocumentbase.cxx11
1 files changed, 8 insertions, 3 deletions
diff --git a/vbahelper/source/vbahelper/vbadocumentbase.cxx b/vbahelper/source/vbahelper/vbadocumentbase.cxx
index 5816b32c864a..d9029ecfcf9f 100644
--- a/vbahelper/source/vbahelper/vbadocumentbase.cxx
+++ b/vbahelper/source/vbahelper/vbadocumentbase.cxx
@@ -54,16 +54,21 @@ VbaDocumentBase::VbaDocumentBase( uno::Sequence< uno::Any> const & args,
OUString
VbaDocumentBase::getName() throw (uno::RuntimeException)
{
- OUString sName = getModel()->getURL();
+ return VbaDocumentBase::getNameFromModel( getModel() );
+}
+
+OUString VbaDocumentBase::getNameFromModel( const uno::Reference< frame::XModel >& xModel )
+{
+ OUString sName = xModel.is() ? xModel->getURL() : OUString();
if ( !sName.isEmpty() )
{
- INetURLObject aURL( getModel()->getURL() );
+ INetURLObject aURL( xModel->getURL() );
::osl::File::getSystemPathFromFileURL( aURL.GetLastName(), sName );
}
else
{
- uno::Reference< frame::XTitle > xTitle( getModel(), uno::UNO_QUERY_THROW );
+ uno::Reference< frame::XTitle > xTitle( xModel, uno::UNO_QUERY_THROW );
sName = xTitle->getTitle();
sName = sName.trim();
}