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 )
}
catch(const Exception&)
{
OSL_ENSURE(0,"Could not open element!");
DBG_UNHANDLED_EXCEPTION();
}
}
return false; // not handled
......@@ -1842,12 +1842,20 @@ Reference< XComponent > OApplicationController::openElementWithArguments( const
getContainer()->showPreview(NULL);
}
bool isStandaloneDocument = false;
switch ( _eType )
{
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:
{
if ( !m_pSubComponentManager->activateSubFrame( _sName, _eType, _eOpenMode, xRet ) )
if ( isStandaloneDocument || !m_pSubComponentManager->activateSubFrame( _sName, _eType, _eOpenMode, xRet ) )
{
::std::auto_ptr< OLinkedDocumentsAccess > aHelper = getDocumentsAccess( _eType );
if ( !aHelper->isConnected() )
......@@ -1856,7 +1864,8 @@ Reference< XComponent > OApplicationController::openElementWithArguments( const
Reference< XComponent > xDefinition;
xRet = aHelper->open( _sName, xDefinition, _eOpenMode, _rAdditionalArguments );
onDocumentOpened( _sName, _eType, _eOpenMode, xRet, xDefinition );
if ( !isStandaloneDocument )
onDocumentOpened( _sName, _eType, _eOpenMode, xRet, xDefinition );
}
}
break;
......@@ -2781,9 +2790,9 @@ void OApplicationController::containerFound( const Reference< XContainer >& _xCo
_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
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() )
{
......
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