I will take care of this one. On Wed, Jun 13, 2012 at 2:04 PM, 彭云全 <[email protected]> wrote:
> hI All, > > My name is pengyunquan. I am a developer working several years in > Symphony team. My specail areas are PivotTable / Graphic / VCL / > Performance. > > I have a patch for review. > https://issues.apache.org/ooo/show_bug.cgi?id=119956 > > Root Cause : A rule in calc is that inserting a sheet should enable > DrawUndo first, because inserting a new sheet will cause a new > ScDrawPage being inserted into SdrModel, and this action should be > managed by DrawUndo. But on creation of PivotTable, this rule is not > obeyed. When creating PivotTable on new sheet, a new sheet is inserted > without enablement of DrawUndo. As a result, when undo the creation of > PivotTable, the new sheet is removed but the SdrModel is not by > synchronized because it's the DrawUndo's responsibility to do the > synchronization but DrawUndo is not recorded. When inserting sheets > from file for the 2nd time, the undo list is cleared and some > ScDrawPage should be destroyed, but as stated above the ScDrawPage is > not correctly maintained when undo the creation of PivotTable, so > incorrect ScDrawPage is destroyed and cause dead object access later. > > Solution : Enable DrawUndo before inserting a new sheet on creation of > PivotTable >
