vcl/source/control/edit.cxx | 2 ++
1 file changed, 2 insertions(+)
New commits:
commit fa517ab03d9e65291a4b0f25a1188ffe454f6f3e
Author: Caolán McNamara <[email protected]>
Date: Tue Dec 9 10:55:19 2014 +0000
Resolves: fdo#87132 a11y crash on clicking outside of inline playback window
where the Edit::~Edit has completed, and the inherited Window::~Window is
running
and way down the stack someone casts it to an Edit and attempts to call
Edit methods
on it because of its WINDOW_EDIT type.
So lets try setting its type to WINDOW_WINDOW at the end of the Edit dtor
==21149== Invalid free() / delete / delete[] / realloc()
==21149== at 0x4A07991: operator delete(void*) (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==21149== by 0x7592F9C:
VCLXAccessibleComponent::FillAccessibleStateSet(utl::AccessibleStateSetHelper&)
(vclxaccessiblecomponent.cxx:457)
==21149== by 0x7592384: VCLXAccessibleComponent::getAccessibleStateSet()
(vclxaccessiblecomponent.cxx:661)
==21149== by 0x51B1640:
comphelper::OAccessibleContextWrapper::getAccessibleStateSet()
(accessiblewrapper.cxx:596)
==21149== by 0x152E84D1:
AtkListener::updateChildList(com::sun::star::accessibility::XAccessibleContext*)
(atklistener.cxx:125)
==21149== by 0x152E8973:
AtkListener::handleChildRemoved(com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessibleContext>
const&,
com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessible>
const&) (atklistener.cxx:199)
==21149== by 0x152E8C2D:
AtkListener::notifyEvent(com::sun::star::accessibility::AccessibleEventObject
const&) (atklistener.cxx:292)
==21149== by 0x51AB603:
comphelper::AccessibleEventNotifier::addEvent(unsigned int,
com::sun::star::accessibility::AccessibleEventObject const&)
(accessibleeventnotifier.cxx:285)
==21149== by 0x51B451C:
comphelper::OAccessibleContextWrapperHelper::notifyEvent(com::sun::star::accessibility::AccessibleEventObject
const&) (accessiblewrapper.cxx:492)
==21149== by 0x51AB603:
comphelper::AccessibleEventNotifier::addEvent(unsigned int,
com::sun::star::accessibility::AccessibleEventObject const&)
(accessibleeventnotifier.cxx:285)
==21149== by 0x51AA626:
comphelper::OAccessibleContextHelper::NotifyAccessibleEvent(short,
com::sun::star::uno::Any const&, com::sun::star::uno::Any const&)
(accessiblecontexthelper.cxx:195)
==21149== by 0x7591800:
VCLXAccessibleComponent::ProcessWindowEvent(VclWindowEvent const&)
(vclxaccessiblecomponent.cxx:208)
==21149== by 0x7592B6D:
VCLXAccessibleComponent::WindowEventListener(VclSimpleEvent*)
(vclxaccessiblecomponent.cxx:118)
==21149== by 0x8606A8E: VclEventListeners::Call(VclSimpleEvent*) const
(link.hxx:123)
==21149== by 0x84133CD: Window::CallEventListeners(unsigned long, void*)
(window.cxx:4289)
==21149== by 0x8422EA0: Window::~Window() (window.cxx:3413)
==21149== by 0x843ECFE: Edit::~Edit() (edit.cxx:243)
==21149== by 0x20C42894: avmedia::MediaControl::~MediaControl()
(mediacontrol.cxx:199)
Change-Id: Id231fe34238b3e9d0cacb1933e11fdde23839370
diff --git a/vcl/source/control/edit.cxx b/vcl/source/control/edit.cxx
index ffe94bf..e5a497c 100644
--- a/vcl/source/control/edit.cxx
+++ b/vcl/source/control/edit.cxx
@@ -267,6 +267,8 @@ Edit::~Edit()
uno::Reference< lang::XEventListener> xEL( mxDnDListener,
uno::UNO_QUERY );
xEL->disposing( lang::EventObject() ); // #95154# #96585# Empty
Source means it's the Client
}
+
+ SetType(WINDOW_WINDOW);
}
void Edit::ImplInitEditData()
_______________________________________________
Libreoffice-commits mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits