summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
Diffstat (limited to 'sc')
-rw-r--r--sc/source/ui/view/cellsh1.cxx28
1 files changed, 18 insertions, 10 deletions
diff --git a/sc/source/ui/view/cellsh1.cxx b/sc/source/ui/view/cellsh1.cxx
index 8c0040cbf26b..03983b8ebcea 100644
--- a/sc/source/ui/view/cellsh1.cxx
+++ b/sc/source/ui/view/cellsh1.cxx
@@ -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: