summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2020-10-05 20:45:12 +0100
committerCaolán McNamara <caolanm@redhat.com>2020-10-06 12:01:06 +0200
commit197c91c45a0ff691af5089b2603737c1320880c1 (patch)
tree28d3668a17e909051a3da46c4d3bb77a25750277 /vcl
parent3a6a7f71ec1f5423fcd0bcea20f6831eaafb9c86 (diff)
avoid calling gtk_widget_add_events when not needed
because it triggers premature creation of a11y objects for custom widgets Change-Id: I17eddd2856767c7da9c3a8c8ad0e11ba1a92e4d4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104007 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/unx/gtk3/gtk3gtkinst.cxx6
1 files changed, 4 insertions, 2 deletions
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index c16099ad7432..8404a7f7dff1 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -13258,13 +13258,15 @@ public:
virtual void connect_mouse_press(const Link<const MouseEvent&, bool>& rLink) override
{
- gtk_widget_add_events(m_pWidget, GDK_BUTTON_PRESS_MASK);
+ if (!(gtk_widget_get_events(m_pWidget) & GDK_BUTTON_PRESS_MASK))
+ gtk_widget_add_events(m_pWidget, GDK_BUTTON_PRESS_MASK);
GtkInstanceWidget::connect_mouse_press(rLink);
}
virtual void connect_mouse_release(const Link<const MouseEvent&, bool>& rLink) override
{
- gtk_widget_add_events(m_pWidget, GDK_BUTTON_RELEASE_MASK);
+ if (!(gtk_widget_get_events(m_pWidget) & GDK_BUTTON_RELEASE_MASK))
+ gtk_widget_add_events(m_pWidget, GDK_BUTTON_RELEASE_MASK);
GtkInstanceWidget::connect_mouse_release(rLink);
}