summaryrefslogtreecommitdiff
path: root/dbaccess/source/core/dataaccess/documentcontainer.cxx
diff options
context:
space:
mode:
authorKurt Zenker <kz@openoffice.org>2008-06-25 13:51:30 +0000
committerKurt Zenker <kz@openoffice.org>2008-06-25 13:51:30 +0000
commit91f23d27b8780a4c988e7f43f2993ba7b3a925b8 (patch)
treefcda7a7ffaba655ca7a78fb0b58521936e4aea0f /dbaccess/source/core/dataaccess/documentcontainer.cxx
parente62e5d2c6466abef7b122e30810f29e554f7d1b9 (diff)
INTEGRATION: CWS rptwizard01 (1.26.48); FILE MERGED
2008/05/21 10:59:50 lla 1.26.48.4: RESYNC: (1.28-1.29); FILE MERGED 2008/04/14 10:41:04 lla 1.26.48.3: RESYNC: (1.27-1.28); FILE MERGED 2008/02/15 07:37:11 lla 1.26.48.2: RESYNC: (1.26-1.27); FILE MERGED 2008/02/14 13:20:23 lla 1.26.48.1: #i86092# change a mutex to a clearable mutex or it could be possible to hang in report wizard
Diffstat (limited to 'dbaccess/source/core/dataaccess/documentcontainer.cxx')
-rw-r--r--dbaccess/source/core/dataaccess/documentcontainer.cxx21
1 files changed, 19 insertions, 2 deletions
diff --git a/dbaccess/source/core/dataaccess/documentcontainer.cxx b/dbaccess/source/core/dataaccess/documentcontainer.cxx
index bdba887b5..46d82dcc8 100644
--- a/dbaccess/source/core/dataaccess/documentcontainer.cxx
+++ b/dbaccess/source/core/dataaccess/documentcontainer.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: documentcontainer.cxx,v $
- * $Revision: 1.29 $
+ * $Revision: 1.30 $
*
* This file is part of OpenOffice.org.
*
@@ -73,6 +73,7 @@
#ifndef _DBA_COREDATAACCESS_DATASOURCE_HXX_
#include "datasource.hxx"
#endif
+#include <comphelper/classids.hxx>
#ifndef _COMPHELPER_MIMECONFIGHELPER_HXX_
#include <comphelper/mimeconfighelper.hxx>
#endif
@@ -83,6 +84,9 @@
#include <connectivity/sqlerror.hxx>
#endif
+#include <vcl/svapp.hxx>
+#include <vos/mutex.hxx>
+
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::lang;
using namespace ::com::sun::star::embed;
@@ -234,7 +238,18 @@ Reference< XInterface > SAL_CALL ODocumentContainer::createInstanceWithArguments
}
else if ( aValue.Name.equalsAscii("ClassID") )
{
- aValue.Value >>= aClassID;
+ if (! ( aValue.Value >>= aClassID ) )
+ {
+ // Extended for usage also with a string
+ ::rtl::OUString suValue;
+ aValue.Value >>= suValue;
+ aClassID = ::comphelper::MimeConfigurationHelper::GetSequenceClassIDRepresentation( suValue );
+
+ }
+ rtl::OUString suClassID = ::comphelper::MimeConfigurationHelper::GetStringClassIDRepresentation(aClassID);
+ volatile int dummy = 0;
+ (void)dummy;
+ (void)suClassID;
}
else if ( aValue.Name.equalsAscii(PROPERTY_AS_TEMPLATE) )
{
@@ -521,6 +536,8 @@ Reference< XComponent > SAL_CALL ODocumentContainer::loadComponentFromURL( const
, sal_Int32 /*SearchFlags*/
, const Sequence< PropertyValue >& Arguments ) throw (IOException, IllegalArgumentException, RuntimeException)
{
+ vos::OGuard aSolarGuard(Application::GetSolarMutex());
+
MutexGuard aGuard(m_aMutex);
Reference< XComponent > xComp;
try