https://bugs.freedesktop.org/show_bug.cgi?id=39950

--- Comment #13 from Lionel Elie Mamane <lio...@mamane.lu> 2011-11-18 14:03:32 
PST ---
(In reply to comment #12)
> Frankly, my hunch tells me that the problem is in pObject->Clone(), but I was
> not able to follow what happens there. It is a maze of virtual and non-virtual
> functions and operator= . Here is the stderr while it is being called:

> Error: ::comphelper::copyProperties: could not copy property 'CustomShapeData'
> to the destination set (a 'com.sun.star.comp.report.Shape' implementation).
> Caught an exception of type 'com.sun.star.lang.WrappedTargetException', saying
> 'non-RuntimeException occurred when accessing an interface type attribute'.
> From File
> /home/master/src/libreoffice/core/comphelper/source/property/property.cxx at
> Line 139

I followed where that error comes from:

SvxShape::_getPropertyValue (file svx/source/unodraw/unoshape.cxx) throws
beans::UnknownPropertyException();

Backtrace:

#1  0x00007fffda9461f4 in SvxShape::_getPropertyValue (this=0x2288d28,
PropertyName="CustomShapeData")
    at /home/master/src/libreoffice/core/svx/source/unodraw/unoshape.cxx:1846
#2  0x00007fffda946114 in SvxShape::getPropertyValue (this=0x2288d28,
PropertyName="CustomShapeData")
    at /home/master/src/libreoffice/core/svx/source/unodraw/unoshape.cxx:1830
#3  0x00007fffda92a1c0 in SvxShapeControl::getPropertyValue (this=0x2288d20,
aPropertyName="CustomShapeData")
    at /home/master/src/libreoffice/core/svx/source/unodraw/unoshap2.cxx:911
#4  0x00007fffd0a1d67c in reportdesign::OShape::getCustomShapeData
(this=0x22894e0)
    at
/home/master/src/libreoffice/core/reportdesign/source/core/api/Shape.cxx:490
(...)
#11 0x00007fffd0a1beac in reportdesign::OShape::getPropertyValue
(this=0x22894e0, PropertyName="CustomShapeData")
    at
/home/master/src/libreoffice/core/reportdesign/source/core/api/Shape.cxx:231
#12 0x00007ffff664338e in comphelper::copyProperties (_rxSource=...,
_rxDest=...)
    at
/home/master/src/libreoffice/core/comphelper/source/property/property.cxx:100
(...)

Note that the code at comphelper::copyProperties looks like:

    for (sal_Int32 i=0; i<aSourceProps.getLength(); ++i, ++pSourceProps)
    {
        if ( xDestProps->hasPropertyByName(pSourceProps->Name) )
        {
            try
            {
                aDestProp = xDestProps->getPropertyByName(pSourceProps->Name);
                if (0 == (aDestProp.Attributes & PropertyAttribute::READONLY) )
                {
                    const Any aSourceValue =
_rxSource->getPropertyValue(pSourceProps->Name);


So what happens here is that _rxSource->getPropertyValue(pSourceProps->Name)
fails while:
(gdb) print xSourceProps->hasPropertyByName(pSourceProps->Name)
$65 = 1 '\001'

xSourceProps is _rxSource->getPropertySetInfo().

That is suspicious...

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to