[REVIEW-3-6] fix for i#118877, don't remove ScPAtternAttr from doc pool when swapping rows/cols
markus.mohrhard at googlemail.com
Mon Jul 16 08:08:34 PDT 2012
2012/7/13 Eike Rathke <erack at redhat.com>:
> Hi Markus,
> On Friday, 2012-07-13 20:39:07 +0200, Markus Mohrhard wrote:
>> In case of swapping we don't need all the special cases of ScAttrArray
>> for finding the right place and inserting removing from the doc pool,
>> we can just exchange the two pointers which is faster and does not
>> require manual manipulation of ref counts.
> But, exchanging pointers works correctly only if both patterns cover
> exactly one row each, not if one or both apply to more rows. So, while
> inserting/removing from docpool may not be needed, splitting or merging
> the area still is.
> Or what do I miss? I didn't try the patch.
Yeap you were right. I missed one part of ScAttrArray.
 is a correct but much more ugly fix. It is more or less manual ref
count manipulation without actually making the ref count methods
public as the AOO patch did. I'd prefer a better solution but after
thinking about all corner cases I don't see a good solution that will
not require ref count manipulation in one or the other way.
More information about the LibreOffice