Kaydet (Commit) 39f7e818 authored tarafından Frank Schoenheit [fs]'s avatar Frank Schoenheit [fs]

dba33j: #i114627# do not let the SubComponentManager manage reports executed for data display

üst 2fc62ba1
...@@ -1789,7 +1789,7 @@ bool OApplicationController::onEntryDoubleClick( SvTreeListBox& _rTree ) ...@@ -1789,7 +1789,7 @@ bool OApplicationController::onEntryDoubleClick( SvTreeListBox& _rTree )
} }
catch(const Exception&) catch(const Exception&)
{ {
OSL_ENSURE(0,"Could not open element!"); DBG_UNHANDLED_EXCEPTION();
} }
} }
return false; // not handled return false; // not handled
...@@ -1842,12 +1842,20 @@ Reference< XComponent > OApplicationController::openElementWithArguments( const ...@@ -1842,12 +1842,20 @@ Reference< XComponent > OApplicationController::openElementWithArguments( const
getContainer()->showPreview(NULL); getContainer()->showPreview(NULL);
} }
bool isStandaloneDocument = false;
switch ( _eType ) switch ( _eType )
{ {
case E_REPORT: case E_REPORT:
if ( _eOpenMode != E_OPEN_DESIGN )
{
// reports which are opened in a mode other than design are no sub components of our application
// component, but standalone documents.
isStandaloneDocument = true;
}
// NO break!
case E_FORM: case E_FORM:
{ {
if ( !m_pSubComponentManager->activateSubFrame( _sName, _eType, _eOpenMode, xRet ) ) if ( isStandaloneDocument || !m_pSubComponentManager->activateSubFrame( _sName, _eType, _eOpenMode, xRet ) )
{ {
::std::auto_ptr< OLinkedDocumentsAccess > aHelper = getDocumentsAccess( _eType ); ::std::auto_ptr< OLinkedDocumentsAccess > aHelper = getDocumentsAccess( _eType );
if ( !aHelper->isConnected() ) if ( !aHelper->isConnected() )
...@@ -1856,7 +1864,8 @@ Reference< XComponent > OApplicationController::openElementWithArguments( const ...@@ -1856,7 +1864,8 @@ Reference< XComponent > OApplicationController::openElementWithArguments( const
Reference< XComponent > xDefinition; Reference< XComponent > xDefinition;
xRet = aHelper->open( _sName, xDefinition, _eOpenMode, _rAdditionalArguments ); xRet = aHelper->open( _sName, xDefinition, _eOpenMode, _rAdditionalArguments );
onDocumentOpened( _sName, _eType, _eOpenMode, xRet, xDefinition ); if ( !isStandaloneDocument )
onDocumentOpened( _sName, _eType, _eOpenMode, xRet, xDefinition );
} }
} }
break; break;
...@@ -2781,9 +2790,9 @@ void OApplicationController::containerFound( const Reference< XContainer >& _xCo ...@@ -2781,9 +2790,9 @@ void OApplicationController::containerFound( const Reference< XContainer >& _xCo
_xContainer->addContainerListener(this); _xContainer->addContainerListener(this);
} }
} }
catch(Exception) catch(const Exception&)
{ {
OSL_ENSURE(0,"Could not listener on the container!"); DBG_UNHANDLED_EXCEPTION();
} }
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
......
...@@ -676,7 +676,8 @@ void OApplicationController::onDocumentOpened( const ::rtl::OUString& _rName, co ...@@ -676,7 +676,8 @@ void OApplicationController::onDocumentOpened( const ::rtl::OUString& _rName, co
try try
{ {
m_pSubComponentManager->onSubComponentOpened( _rName, _nType, _eMode, _rxDefinition.is() ? _rxDefinition : _xDocument ); OSL_ENSURE( _xDocument.is(), "OApplicationController::onDocumentOpened: is there any *valid* scenario where this fails?" );
m_pSubComponentManager->onSubComponentOpened( _rName, _nType, _eMode, _xDocument.is() ? _xDocument : _rxDefinition );
if ( _rxDefinition.is() ) if ( _rxDefinition.is() )
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment