summaryrefslogtreecommitdiffstats
path: root/src/desktop-events.cpp
diff options
context:
space:
mode:
authorAlex Valavanis <valavanisalex@gmail.com>2016-08-10 08:50:43 +0000
committerAlex Valavanis <valavanisalex@gmail.com>2016-08-10 08:50:43 +0000
commitca863bcb36efdc7d16f4ba0e85c948837bc4d9d5 (patch)
tree7dc44c3e06452a57448678459211c54768f24fd0 /src/desktop-events.cpp
parentMove some main functions to Application class (diff)
parentUse Gdk::Seat instead of Gdk::DeviceManager (diff)
downloadinkscape-ca863bcb36efdc7d16f4ba0e85c948837bc4d9d5.tar.gz
inkscape-ca863bcb36efdc7d16f4ba0e85c948837bc4d9d5.zip
Fix build with Gtk+ 3.20
(bzr r15049)
Diffstat (limited to 'src/desktop-events.cpp')
-rw-r--r--src/desktop-events.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/desktop-events.cpp b/src/desktop-events.cpp
index 1932a9864..5fef8cbfc 100644
--- a/src/desktop-events.cpp
+++ b/src/desktop-events.cpp
@@ -21,7 +21,12 @@
#include "ui/dialog/guides.h"
#include "desktop-events.h"
-#include <gdkmm/devicemanager.h>
+#include <gdkmm/display.h>
+#if GTK_CHECK_VERSION(3, 20, 0)
+# include <gdkmm/seat.h>
+#else
+# include <gdkmm/devicemanager.h>
+#endif
#include <2geom/line.h>
#include <2geom/angle.h>
@@ -596,8 +601,13 @@ static void init_extended()
Glib::ustring avoidName("pad");
auto display = Gdk::Display::get_default();
+#if GTK_CHECK_VERSION(3, 20, 0)
+ auto seat = display->get_default_seat();
+ auto const devices = seat->get_slaves(Gdk::SEAT_CAPABILITY_ALL);
+#else
auto dm = display->get_device_manager();
auto const devices = dm->list_devices(Gdk::DEVICE_TYPE_SLAVE);
+#endif
if ( !devices.empty() ) {
for (auto const dev : devices) {