[PATCH] fdo#47018 fix Impress crash on modifying bullet

Stephan van den Akker stephanv778 at gmail.com
Tue Apr 9 08:05:03 PDT 2013


Just tested this patch, applied to:

Version: 4.1.0.0.alpha0+
Build ID: 2705fc72df2058332773b5cb04a6b4d207f5e39

The proposed patch will prevent the crash, but it seems that the underlying
problem is not solved by this:
The bullets do not survive the copy / paste action of the EditEngineFormat:
Copy/paste of bulletted text into an already bulletted empty line still
makes the bullet disappear.

So I would say that there is progress, but IMHO the patch doesn't warrant
the closing of fdo#47018.

Greetings, and thanks for the good work.

Stephan van den Akker


2013/4/9 Stephan van den Akker <stephanv778 at gmail.com>

> Building LO with this patch now. I will report my findings asap.
>
>
> 2013/4/9 Cao Cuong Ngo (via Code Review) <gerrit at gerrit.libreoffice.org>
>
> Hi,
>>
>> I have submitted a patch for review:
>>
>>     https://gerrit.libreoffice.org/3285
>>
>> To pull it, you can do:
>>
>>     git pull ssh://gerrit.libreoffice.org:29418/corerefs/changes/85/3285/1
>>
>> fdo#47018 fix Impress crash on modifying bullet
>>
>> Add verifying of numbering rule to avoid invalidated attribute
>>
>> Change-Id: Ifc3db3f09f9358d272245f1e00fad2802f5881ee
>> ---
>> M sd/source/ui/func/fuolbull.cxx
>> 1 file changed, 11 insertions(+), 1 deletion(-)
>>
>>
>>
>> diff --git a/sd/source/ui/func/fuolbull.cxx
>> b/sd/source/ui/func/fuolbull.cxx
>> index ae29032..49fd245 100644
>> --- a/sd/source/ui/func/fuolbull.cxx
>> +++ b/sd/source/ui/func/fuolbull.cxx
>> @@ -22,6 +22,7 @@
>>  #include <svl/intitem.hxx>
>>  #include <editeng/outliner.hxx>
>>  #include <editeng/eeitem.hxx>
>> +#include <editeng/numitem.hxx>
>>  #include <sfx2/request.hxx>
>>
>>  #include <editeng/editdata.hxx>
>> @@ -64,7 +65,16 @@
>>
>>          SfxItemSet aNewAttr( mpViewShell->GetPool(),
>>                               EE_ITEMS_START, EE_ITEMS_END );
>> -        aNewAttr.Put( aEditAttr, sal_False );
>> +
>> +        // fdo#47018 verify numbering rule
>> +        const SfxPoolItem* pItem;
>> +        sal_uInt16 nWhich =
>> aEditAttr.GetPool()->GetWhich(SID_ATTR_NUMBERING_RULE);
>> +        aEditAttr.GetItemState(nWhich, sal_False, &pItem);
>> +        const sal_uInt16 levelCount =
>> (*((SvxNumBulletItem*)pItem)->GetNumRule()).GetLevelCount();
>> +
>> +        // check if the attribute is valid
>> +        if ( levelCount )
>> +            aNewAttr.Put( aEditAttr, sal_False );
>>
>>          // create and execute dialog
>>          SdAbstractDialogFactory* pFact =
>> SdAbstractDialogFactory::Create();
>>
>> --
>> To view, visit https://gerrit.libreoffice.org/3285
>> To unsubscribe, visit https://gerrit.libreoffice.org/settings
>>
>> Gerrit-MessageType: newchange
>> Gerrit-Change-Id: Ifc3db3f09f9358d272245f1e00fad2802f5881ee
>> Gerrit-PatchSet: 1
>> Gerrit-Project: core
>> Gerrit-Branch: master
>> Gerrit-Owner: Cao Cuong Ngo <cao.cuong.ngo at gmail.com>
>>
>> _______________________________________________
>> LibreOffice mailing list
>> LibreOffice at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/libreoffice
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20130409/a573381b/attachment.html>


More information about the LibreOffice mailing list