diff options
| author | Alex Valavanis <valavanisalex@gmail.com> | 2016-08-10 08:50:43 +0000 |
|---|---|---|
| committer | Alex Valavanis <valavanisalex@gmail.com> | 2016-08-10 08:50:43 +0000 |
| commit | ca863bcb36efdc7d16f4ba0e85c948837bc4d9d5 (patch) | |
| tree | 7dc44c3e06452a57448678459211c54768f24fd0 /src/device-manager.cpp | |
| parent | Move some main functions to Application class (diff) | |
| parent | Use Gdk::Seat instead of Gdk::DeviceManager (diff) | |
| download | inkscape-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.cpp | 20 |
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(); |
