diff -uNr old/sd/source/ui/view/GraphicObjectBar.cxx new/sd/source/ui/view/GraphicObjectBar.cxx --- old/sd/source/ui/view/GraphicObjectBar.cxx 2006-12-13 03:04:36.000000000 +0800 +++ new/sd/source/ui/view/GraphicObjectBar.cxx 2008-02-27 09:33:40.000000000 +0800 @@ -204,8 +204,10 @@ aStr.Append( String( SdResId( STR_UNDO_GRAFFILTER ) ) ); mpView->BegUndo( aStr ); pFilteredObj->SetGraphicObject( aFilterObj ); - mpView->ReplaceObjectAtView( pObj, *pPageView, pFilteredObj ); - mpView->EndUndo(); + ::sd::View* const pView = mpView; + pView->ReplaceObjectAtView( pObj, *pPageView, pFilteredObj ); + pView->EndUndo(); + return; } } } diff -uNr old/svx/source/svdraw/svdmrkv.cxx new/svx/source/svdraw/svdmrkv.cxx --- old/svx/source/svdraw/svdmrkv.cxx 2007-08-28 21:50:50.000000000 +0800 +++ new/svx/source/svdraw/svdmrkv.cxx 2008-02-27 09:36:42.000000000 +0800 @@ -238,6 +238,10 @@ bMarkedObjRectDirty=TRUE; bMarkedPointsRectsDirty=TRUE; } + if( eKind==HINT_OBJREMOVED && IsObjMarked( const_cast(pSdrHint->GetObject()) ) ) + { + MarkObj( const_cast(pSdrHint->GetObject()), GetSdrPageView(), TRUE ); + } } SdrSnapView::SFX_NOTIFY(rBC,rBCType,rHint,rHintType); }