From 289fbcf5be4357cb53edd6601262d2509bb6f1f9 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sat, 2 Dec 2017 21:29:09 +0100 Subject: [PATCH] Fix use of GDK_TOUCHPAD_GESTURE_MASK with GTK+ 3.14..3.16 Define GDK_TOUCHPAD_GESTURE_MASK ourselves if GTK+ headers don't define it and don't use it during run-time if GTK+ version is less than 3.18, in which it was added. --- src/gtk/window.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/gtk/window.cpp b/src/gtk/window.cpp index 2943ae2272..5a5c981447 100644 --- a/src/gtk/window.cpp +++ b/src/gtk/window.cpp @@ -3506,7 +3506,15 @@ void wxWindowGesturesData::Reinit(wxWindowGTK* win, wxASSERT_MSG( eventsMask == 0, "Unknown touch event mask bit specified" ); - gtk_widget_add_events(widget, GDK_TOUCHPAD_GESTURE_MASK); + // GDK_TOUCHPAD_GESTURE_MASK was added in 3.18, but we can just define it + // ourselves if we use an earlier version when compiling. +#if !GTK_CHECK_VERSION(3,18,0) + #define GDK_TOUCHPAD_GESTURE_MASK (1 << 24) +#endif + if ( gtk_check_version(3, 18, 0) == NULL ) + { + gtk_widget_add_events(widget, GDK_TOUCHPAD_GESTURE_MASK); + } g_signal_connect (widget, "touch-event", G_CALLBACK(touch_callback), win);