summaryrefslogtreecommitdiffstats
path: root/vcl/unx/gtk4/a11y.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/unx/gtk4/a11y.cxx')
-rw-r--r--vcl/unx/gtk4/a11y.cxx12
1 files changed, 12 insertions, 0 deletions
diff --git a/vcl/unx/gtk4/a11y.cxx b/vcl/unx/gtk4/a11y.cxx
index c8103471b085..37b54bae0475 100644
--- a/vcl/unx/gtk4/a11y.cxx
+++ b/vcl/unx/gtk4/a11y.cxx
@@ -10,6 +10,7 @@
#include <com/sun/star/accessibility/AccessibleRole.hpp>
#include <com/sun/star/accessibility/AccessibleStateType.hpp>
#include <com/sun/star/accessibility/XAccessibleComponent.hpp>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp>
#include <com/sun/star/accessibility/XAccessibleExtendedAttributes.hpp>
#include <com/sun/star/accessibility/XAccessibleText.hpp>
#include <com/sun/star/accessibility/XAccessibleValue.hpp>
@@ -20,6 +21,7 @@
#if GTK_CHECK_VERSION(4, 9, 0)
#include "a11y.hxx"
+#include "gtkaccessibleeventlistener.hxx"
#define OOO_TYPE_FIXED (ooo_fixed_get_type())
#define OOO_FIXED(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), OOO_TYPE_FIXED, OOoFixed))
@@ -617,6 +619,16 @@ lo_accessible_new(GdkDisplay* pDisplay, GtkAccessible* pParent,
GTK_ACCESSIBLE_PROPERTY_VALUE_MAX, fMaxValue, -1);
}
+ // register event listener
+ css::uno::Reference<css::accessibility::XAccessibleEventBroadcaster> xBroadcaster(
+ xContext, css::uno::UNO_QUERY);
+ if (xBroadcaster.is())
+ {
+ css::uno::Reference<css::accessibility::XAccessibleEventListener> xListener(
+ new GtkAccessibleEventListener(ret));
+ xBroadcaster->addAccessibleEventListener(xListener);
+ }
+
return ret;
}