summaryrefslogtreecommitdiffstats
path: root/src/ui/widget/ruler.cpp
diff options
context:
space:
mode:
authorAlex Valavanis <valavanisalex@gmail.com>2012-05-28 10:33:35 +0000
committerAlex Valavanis <valavanisalex@gmail.com>2012-05-28 10:33:35 +0000
commitc1b0d382aa29fd53b2c2546b0c5a65629b4a23c5 (patch)
treec3efdda005deeb761c4870bcf02d7e92a05c92c9 /src/ui/widget/ruler.cpp
parentBuild with GDK_DISABLE_DEPRECATED for Gtk+ 2 (diff)
downloadinkscape-c1b0d382aa29fd53b2c2546b0c5a65629b4a23c5.tar.gz
inkscape-c1b0d382aa29fd53b2c2546b0c5a65629b4a23c5.zip
Replace deprecated pointer grabbing in ruler
(bzr r11432)
Diffstat (limited to 'src/ui/widget/ruler.cpp')
-rw-r--r--src/ui/widget/ruler.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/ui/widget/ruler.cpp b/src/ui/widget/ruler.cpp
index 3a566d5da..189f20093 100644
--- a/src/ui/widget/ruler.cpp
+++ b/src/ui/widget/ruler.cpp
@@ -125,11 +125,23 @@ Ruler::on_button_press_event(GdkEventButton *evb)
sp_repr_set_boolean(repr, "inkscape:guide-bbox", TRUE);
_guide = sp_guideline_new(_dt->guides, NULL, event_dt, _horiz_f ? Geom::Point(0.,1.) : Geom::Point(1.,0.));
sp_guideline_set_color(SP_GUIDELINE(_guide), _dt->namedview->guidehicolor);
+
+#if WITH_GTKMM_3_0
+ Glib::RefPtr<Gdk::Device> device = Glib::wrap(gdk_event_get_device((GdkEvent*)evb));
+ device->grab(get_window(),
+ Gdk::OWNERSHIP_NONE, // TODO: Check that this is correct
+ false,
+ Gdk::BUTTON_RELEASE_MASK |
+ Gdk::POINTER_MOTION_MASK |
+ Gdk::POINTER_MOTION_HINT_MASK,
+ evb->time);
+#else
(void) get_window()->pointer_grab(false,
Gdk::BUTTON_RELEASE_MASK |
Gdk::POINTER_MOTION_MASK |
Gdk::POINTER_MOTION_HINT_MASK,
evb->time);
+#endif
}
return false;
}
@@ -157,7 +169,14 @@ Ruler::on_button_release_event(GdkEventButton *evb)
Geom::Point const &event_dt = get_event_dt();
if (_dragging && evb->button == 1) {
+
+#if WITH_GTKMM_3_0
+ Glib::RefPtr<Gdk::Device> device = Glib::wrap(gdk_event_get_device((GdkEvent*)evb));
+ device->ungrab(evb->time);
+#else
Gdk::Window::pointer_ungrab(evb->time);
+#endif
+
gtk_object_destroy(GTK_OBJECT(_guide));
_guide = 0;
_dragging = false;