[Libreoffice-commits] core.git: vcl/unx
Caolán McNamara
caolanm at redhat.com
Tue Apr 17 19:41:55 UTC 2018
vcl/unx/gtk3/gtk3gtkinst.cxx | 45 ++++++++++++++++++++++---------------------
1 file changed, 24 insertions(+), 21 deletions(-)
New commits:
commit 42f5a0fbbfe91827fdc0a27525e8cd8938871db2
Author: Caolán McNamara <caolanm at redhat.com>
Date: Tue Apr 17 14:07:23 2018 +0100
tdf#117034 check for runtime version check gtk_menu_popup_at_rect
Change-Id: I2386c2d8f7c6754b197df9216eed82e0152a35c8
Reviewed-on: https://gerrit.libreoffice.org/53045
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index 2e5bb0083199..640f14a3c8ef 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -1550,32 +1550,35 @@ public:
gulong nSignalId = g_signal_connect_swapped(G_OBJECT(m_pMenu), "deactivate", G_CALLBACK(g_main_loop_quit), pLoop);
#if GTK_CHECK_VERSION(3,22,0)
- GdkRectangle aRect{static_cast<int>(rRect.Left()), static_cast<int>(rRect.Top()),
- static_cast<int>(rRect.GetWidth()), static_cast<int>(rRect.GetHeight())};
- gtk_menu_popup_at_rect(m_pMenu, gtk_widget_get_window(pWidget), &aRect, GDK_GRAVITY_NORTH_WEST, GDK_GRAVITY_NORTH_WEST, nullptr);
-#else
- (void)rRect;
-
- guint nButton;
- guint32 nTime;
-
- //typically there is an event, and we can then distinguish if this was
- //launched from the keyboard (gets auto-mnemoniced) or the mouse (which
- //doesn't)
- GdkEvent *pEvent = gtk_get_current_event();
- if (pEvent)
+ if (gtk_check_version(3, 22, 0) == nullptr)
{
- gdk_event_get_button(pEvent, &nButton);
- nTime = gdk_event_get_time(pEvent);
+ GdkRectangle aRect{static_cast<int>(rRect.Left()), static_cast<int>(rRect.Top()),
+ static_cast<int>(rRect.GetWidth()), static_cast<int>(rRect.GetHeight())};
+ gtk_menu_popup_at_rect(m_pMenu, gtk_widget_get_window(pWidget), &aRect, GDK_GRAVITY_NORTH_WEST, GDK_GRAVITY_NORTH_WEST, nullptr);
}
else
+#endif
{
- nButton = 0;
- nTime = GtkSalFrame::GetLastInputEventTime();
- }
+ guint nButton;
+ guint32 nTime;
+
+ //typically there is an event, and we can then distinguish if this was
+ //launched from the keyboard (gets auto-mnemoniced) or the mouse (which
+ //doesn't)
+ GdkEvent *pEvent = gtk_get_current_event();
+ if (pEvent)
+ {
+ gdk_event_get_button(pEvent, &nButton);
+ nTime = gdk_event_get_time(pEvent);
+ }
+ else
+ {
+ nButton = 0;
+ nTime = GtkSalFrame::GetLastInputEventTime();
+ }
- gtk_menu_popup(m_pMenu, nullptr, nullptr, nullptr, nullptr, nButton, nTime);
-#endif
+ gtk_menu_popup(m_pMenu, nullptr, nullptr, nullptr, nullptr, nButton, nTime);
+ }
if (g_main_loop_is_running(pLoop))
{
More information about the Libreoffice-commits
mailing list