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 | |
| 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')
| -rw-r--r-- | src/desktop-events.cpp | 12 | ||||
| -rw-r--r-- | src/device-manager.cpp | 20 | ||||
| -rw-r--r-- | src/ui/dialog/filter-effects-dialog.cpp | 12 |
3 files changed, 39 insertions, 5 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) { 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(); diff --git a/src/ui/dialog/filter-effects-dialog.cpp b/src/ui/dialog/filter-effects-dialog.cpp index 8dbc90cc5..a0cd786dc 100644 --- a/src/ui/dialog/filter-effects-dialog.cpp +++ b/src/ui/dialog/filter-effects-dialog.cpp @@ -22,7 +22,12 @@ #include "dialog-manager.h" #include <gtkmm/imagemenuitem.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 "ui/widget/spinbutton.h" @@ -1966,8 +1971,13 @@ bool FilterEffectsDialog::PrimitiveList::on_draw_signal(const Cairo::RefPtr<Cair Gdk::ModifierType mask; auto display = get_bin_window()->get_display(); +#if GTK_CHECK_VERSION(3, 20, 0) + auto seat = display->get_default_seat(); + auto device = seat->get_pointer(); +#else auto dm = display->get_device_manager(); auto device = dm->get_client_pointer(); +#endif get_bin_window()->get_device_position(device, mx, my, mask); // Outline the bottom of the connection area |
