summaryrefslogtreecommitdiffstats
path: root/src/device-manager.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/device-manager.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/device-manager.cpp')
-rw-r--r--src/device-manager.cpp20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/device-manager.cpp b/src/device-manager.cpp
index 68444fe66..6c8d4514c 100644
--- a/src/device-manager.cpp
+++ b/src/device-manager.cpp
@@ -15,13 +15,17 @@
#include <glibmm/regex.h>
-#include <gdkmm/devicemanager.h>
+#include <gtk/gtk.h>
+
#include <gdkmm/display.h>
+#if GTK_CHECK_VERSION(3, 20, 0)
+# include <gdkmm/seat.h>
+#else
+# include <gdkmm/devicemanager.h>
+#endif
#include <gtkmm/accelkey.h>
-#include <gtk/gtk.h>
-
#define noDEBUG_VERBOSE 1
@@ -317,8 +321,13 @@ DeviceManagerImpl::DeviceManagerImpl() :
{
Glib::RefPtr<Gdk::Display> display = Gdk::Display::get_default();
+#if GTK_CHECK_VERSION(3, 20, 0)
+ auto seat = display->get_default_seat();
+ auto devList = seat->get_slaves(Gdk::SEAT_CAPABILITY_ALL);
+#else
auto dm = display->get_device_manager();
auto devList = dm->list_devices(Gdk::DEVICE_TYPE_SLAVE);
+#endif
if (fakeList.empty()) {
createFakeList();
@@ -649,8 +658,13 @@ static void createFakeList() {
// try to find the first *real* core pointer
Glib::RefPtr<Gdk::Display> display = Gdk::Display::get_default();
+#if GTK_CHECK_VERSION(3, 20, 0)
+ auto seat = display->get_default_seat();
+ auto devList = seat->get_slaves(Gdk::SEAT_CAPABILITY_ALL);
+#else
auto dm = display->get_device_manager();
auto devList = dm->list_devices(Gdk::DEVICE_TYPE_SLAVE);
+#endif
// Set iterator to point at beginning of device list
std::vector< Glib::RefPtr<Gdk::Device> >::iterator dev = devList.begin();