diff options
author | Caolán McNamara <caolanm@redhat.com> | 2020-10-05 20:45:12 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2020-10-06 12:01:06 +0200 |
commit | 197c91c45a0ff691af5089b2603737c1320880c1 (patch) | |
tree | 28d3668a17e909051a3da46c4d3bb77a25750277 /vcl | |
parent | 3a6a7f71ec1f5423fcd0bcea20f6831eaafb9c86 (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.cxx | 6 |
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); } |