https://bugs.documentfoundation.org/show_bug.cgi?id=71409

--- Comment #27 from Michael Meeks <[email protected]> ---
The AtkListener:
https://bug-attachments.documentfoundation.org/attachment.cgi?id=120291 is
leaked through this trace as you see; thanks for that.

It seems like the problem is the AtkObjectWrapper we have holds this context:

    css::uno::Reference<css::accessibility::XAccessibleContext> mpContext;

We then connect an AtkListener to another interface on this Context:

AtkObject *
atk_object_wrapper_new( const ::com::sun::star::uno::Reference<
::com::sun::star::accessibility::XAccessible >& rxAccessible,
                        AtkObject* parent )
...
        // Attach a listener to the UNO object if it's not TRANSIENT
...
            uno::Reference< accessibility::XAccessibleEventBroadcaster >
xBroadcaster(xContext, uno::UNO_QUERY);
            if( xBroadcaster.is() )
                xBroadcaster->addAccessibleEventListener( static_cast<
accessibility::XAccessibleEventListener * > ( new AtkListener(pWrap) ) );

So - now we have the object that we hold a reference on - that holds a
reference to the new AtkListener UNO object - which (in turn) holds a GObject
reference to us (ie. the pWrap AtkObjectWrapper).

I -imagine- that therein lines the reference loop & the problem =)

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to