summaryrefslogtreecommitdiffstats
path: root/src/ui/tool/event-utils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/tool/event-utils.cpp')
-rw-r--r--src/ui/tool/event-utils.cpp16
1 files changed, 6 insertions, 10 deletions
diff --git a/src/ui/tool/event-utils.cpp b/src/ui/tool/event-utils.cpp
index 6b067a3ce..079275d63 100644
--- a/src/ui/tool/event-utils.cpp
+++ b/src/ui/tool/event-utils.cpp
@@ -14,10 +14,6 @@
#include "display/sp-canvas.h"
#include "ui/tool/event-utils.h"
-#if !GTK_CHECK_VERSION(2,22,0)
-#include "compat-key-syms.h"
-#endif
-
namespace Inkscape {
namespace UI {
@@ -59,6 +55,9 @@ unsigned combine_key_events(guint keyval, gint mask)
unsigned combine_motion_events(SPCanvas *canvas, GdkEventMotion &event, gint mask)
{
+ if (canvas == NULL) {
+ return false;
+ }
GdkEvent *event_next;
gint i = 0;
event.x -= canvas->x0;
@@ -66,7 +65,7 @@ unsigned combine_motion_events(SPCanvas *canvas, GdkEventMotion &event, gint mas
event_next = gdk_event_get();
// while the next event is also a motion notify
- while (event_next && event_next->type == GDK_MOTION_NOTIFY
+ while (event_next && (event_next->type == GDK_MOTION_NOTIFY)
&& (!mask || event_next->motion.state & mask))
{
if (event_next->motion.device == event.device) {
@@ -80,11 +79,7 @@ unsigned combine_motion_events(SPCanvas *canvas, GdkEventMotion &event, gint mas
event.x_root = next.x_root;
event.y_root = next.y_root;
if (event.axes && next.axes) {
-#if GTK_CHECK_VERSION(2,22,0)
memcpy(event.axes, next.axes, gdk_device_get_n_axes(event.device));
-#else
- memcpy(event.axes, next.axes, event.device->num_axes);
-#endif
}
}
@@ -94,8 +89,9 @@ unsigned combine_motion_events(SPCanvas *canvas, GdkEventMotion &event, gint mas
i++;
}
// otherwise, put it back onto the queue
- if (event_next)
+ if (event_next) {
gdk_event_put(event_next);
+ }
event.x += canvas->x0;
event.y += canvas->y0;