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 <stephanv...@gmail.com> > Building LO with this patch now. I will report my findings asap. > > > 2013/4/9 Cao Cuong Ngo (via Code Review) <ger...@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....@gmail.com> >> >> _______________________________________________ >> LibreOffice mailing list >> LibreOffice@lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/libreoffice >> > >
_______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice