diff options
Diffstat (limited to 'vcl/unx/gtk/a11y/atklistener.cxx')
-rw-r--r-- | vcl/unx/gtk/a11y/atklistener.cxx | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/vcl/unx/gtk/a11y/atklistener.cxx b/vcl/unx/gtk/a11y/atklistener.cxx index 9dfa66862b0b..5cc6083fc288 100644 --- a/vcl/unx/gtk/a11y/atklistener.cxx +++ b/vcl/unx/gtk/a11y/atklistener.cxx @@ -196,6 +196,15 @@ void AtkListener::handleChildRemoved( // for now. if( nIndex >= 0 ) { + uno::Reference<accessibility::XAccessibleEventBroadcaster> xBroadcaster( + rxChild->getAccessibleContext(), uno::UNO_QUERY); + + if (xBroadcaster.is()) + { + uno::Reference<accessibility::XAccessibleEventListener> xListener(this); + xBroadcaster->removeAccessibleEventListener(xListener); + } + updateChildList(rxParent); AtkObject * pChild = atk_object_wrapper_ref( rxChild, false ); |