Kaydet (Commit) d7d07ade authored tarafından Henry Castro's avatar Henry Castro

sc: check SID_EDIT_POSTIT parameters

Avoid crash when execute .uno:EditAnnotation with missing
arguments

Change-Id: Iaee8694b7481933f3672a3847264a49a6503b82e
Reviewed-on: https://gerrit.libreoffice.org/30116Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarHenry Castro <hcastro@collabora.com>
üst aba0f624
......@@ -2195,20 +2195,28 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
case SID_INSERT_POSTIT:
case SID_EDIT_POSTIT:
if ( pReqArgs )
{
const SvxPostItAuthorItem& rAuthorItem = static_cast<const SvxPostItAuthorItem&>(pReqArgs->Get( SID_ATTR_POSTIT_AUTHOR ));
const SvxPostItDateItem& rDateItem = static_cast<const SvxPostItDateItem&>(pReqArgs->Get( SID_ATTR_POSTIT_DATE ));
const SvxPostItTextItem& rTextItem = static_cast<const SvxPostItTextItem&>(pReqArgs->Get( SID_ATTR_POSTIT_TEXT ));
const SfxPoolItem* pAuthor;
const SfxPoolItem* pDate;
const SfxPoolItem* pText;
ScAddress aPos( GetViewData()->GetCurX(), GetViewData()->GetCurY(), GetViewData()->GetTabNo() );
pTabViewShell->ReplaceNote( aPos, rTextItem.GetValue(), &rAuthorItem.GetValue(), &rDateItem.GetValue() );
if ( pReqArgs && pReqArgs->HasItem( SID_ATTR_POSTIT_AUTHOR, &pAuthor ) &&
pReqArgs->HasItem( SID_ATTR_POSTIT_DATE, &pDate) &&
pReqArgs->HasItem( SID_ATTR_POSTIT_TEXT, &pText) )
{
const SvxPostItAuthorItem* pAuthorItem = static_cast<const SvxPostItAuthorItem*>( pAuthor );
const SvxPostItDateItem* pDateItem = static_cast<const SvxPostItDateItem*>( pDate );
const SvxPostItTextItem* pTextItem = static_cast<const SvxPostItTextItem*>( pText );
ScAddress aPos( GetViewData()->GetCurX(), GetViewData()->GetCurY(), GetViewData()->GetTabNo() );
pTabViewShell->ReplaceNote( aPos, pTextItem->GetValue(), &pAuthorItem->GetValue(), &pDateItem->GetValue() );
}
else
{
pTabViewShell->EditNote(); // note object to edit
}
rReq.Done();
}
else
{
pTabViewShell->EditNote(); // note object to edit
}
break;
case FID_NOTE_VISIBLE:
......
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