Hi, Cao,
Just checked your patch (Change-Id:
I57d1245db650d12e6b2c05baece379038b673689) merged with:
Version: 4.1.0.0.alpha0+
Build ID: 0b897dd455968862e348de2c5e1c57d4d73640b
This patch indeed fixes all of the problems mentioned in fdo#47018,
including the crash.
Brilliant. Thanks a lot, Cao!
AFAIK the patched code is used in Impress, but also in Calc and Draw.
I'll be running this build at the office for a couple of days. I'll
let you know if I notice any unwanted side effects in other use cases.
Greetings,
Stephan
2013/4/12 Stephan van den Akker <stephanv778@gmail.com
<mailto:stephanv778@gmail.com>>
    Hi Cao,
    That sounds great!
    Building LO now with your patch. Stay tuned....
    Greetings,
    Stephan
    2013/4/12 Cao Cuong Ngo <cao.cuong.ngo@gmail.com
    <mailto:cao.cuong.ngo@gmail.com>>
        Hi Stephan,
        Thanks for taking the time to test it :-)
        I've made a new patch that fixes the crash and the copy/paste
        action.
        You can try it here
        https://gerrit.libreoffice.org/3352
        Best,
        Cao Cuong Ngo
        On 04/09/2013 05:05 PM, Stephan van den Akker wrote:
        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@gmail.com
        <mailto:stephanv778@gmail.com>>
            Building LO with this patch now. I will report my
            findings asap.
            2013/4/9 Cao Cuong Ngo (via Code Review)
            <gerrit@gerrit.libreoffice.org
            <mailto:gerrit@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/core
                <http://gerrit.libreoffice.org:29418/core>
                refs/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@gmail.com
                <mailto:cao.cuong.ngo@gmail.com>>
                _______________________________________________
                LibreOffice mailing list
                LibreOffice@lists.freedesktop.org
                <mailto:LibreOffice@lists.freedesktop.org>
                http://lists.freedesktop.org/mailman/listinfo/libreoffice
  Privacy Policy |
  
Impressum (Legal Info) |
  
Copyright information: Unless otherwise specified, all text and images
  on this website are licensed under the
  
Creative Commons Attribution-Share Alike 3.0 License.
  This does not include the source code of LibreOffice, which is
  licensed under the Mozilla Public License (
MPLv2).
  "LibreOffice" and "The Document Foundation" are
  registered trademarks of their corresponding registered owners or are
  in actual use as trademarks in one or more countries. Their respective
  logos and icons are also subject to international copyright laws. Use
  thereof is explained in our 
trademark policy.