Kaydet (Commit) 098d08d6 authored tarafından Christoph Lutz's avatar Christoph Lutz Kaydeden (comit) Michael Stahl

MM: fixed invalid UNO-Reference as return value of UNO MailMergeService

This fix is regarding 9835bb56 "MM: export the SwDocShell mail merge via UNO":

In case of using the new output type MailMergeType.SHELL, the UNO
MailMergeService returned a XTextDocument instance that was not
correctly initialized. In particular after calling doc.getCurrentController()
(with doc = the returned instance) we recieved NULL. The reason was, that the
previous implementation used to create a new SwXTextDocument instance
instead of just returning the BaseModel that is already associated with
the internal SwDocShell. This is fixed in this patch.

I also tested this patch with the unit test sw/CppunitTest_sw_mailmerge
and everything seems to be fine now. doc.getCurrentController() no longer
returns NULL.

Change-Id: Ic116f8f25ab9686ef56950e97ba202a55ab81fb8
Reviewed-on: https://gerrit.libreoffice.org/15207Tested-by: 's avatarMichael Stahl <mstahl@redhat.com>
Reviewed-by: 's avatarMichael Stahl <mstahl@redhat.com>
üst 931fe670
......@@ -827,8 +827,7 @@ uno::Any SAL_CALL SwXMailMerge::execute(
if (DBMGR_MERGE_SHELL == nMergeType)
{
SwXTextDocument *xTextDoc = new SwXTextDocument( aMergeDesc.pMailMergeConfigItem->GetTargetView()->GetDocShell() );
return makeAny( Reference< XComponent >( xTextDoc->queryInterface( XComponent::static_type() ), css::uno::UNO_QUERY) );
return makeAny( aMergeDesc.pMailMergeConfigItem->GetTargetView()->GetDocShell()->GetBaseModel() );
}
else
return makeAny( true );
......
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