Apache OpenOffice (AOO) Bugzilla – Issue 84257
avoid repeated find in object list when deleting the sdrview
Last modified: 2008-04-29 03:35:31 UTC
Deleting a SdrView with many shapes takes more time than the complete redraw. The reason is that each ViewObjectContact in maVOCList after removal again is searched in the complete list - as it is not contained anymore the whole list is parsed. This is triggered in ObjectContact::PrepareDelete ... iterate over each element of maVOCList ... ViewObjectContact::PrepareDelete() ... search whole maVOCList ... . This affects leaving the edit mode of big charts and also the painting of big charts (with issue 75867 it is introduced that charts are painted directly using an SdrView instead of using bad looking metafiles ).
Fixed in CWS chart15. I added a method FlatCopyFrom( ) to class ViewObjectContactList and changed method ObjectContact::PrepareDelete().
->Armin, please verify in CWS chart15.
->Armin, please verify in CWS chart15. (I forgot to change owner)
AW: Checked the code in viewobjectcontactlist and it's usage in objectcontact, is okay. Review done.
AW: Closing