diff --git a/src/event-context.cpp b/src/event-context.cpp
index d91a064bad17a234ac6822825927317fe1b63129..42557abdca71a990a428f04d82a82817eda3ddd2 100644 (file)
--- a/src/event-context.cpp
+++ b/src/event-context.cpp
@@ -369,7 +369,7 @@ static gint sp_event_context_private_root_handler(SPEventContext *event_context,
} else {
panning = 2;
sp_canvas_item_grab(SP_CANVAS_ITEM(desktop->acetate),
- GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK,
+ GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK,
NULL, event->button.time-1);
}
ret = TRUE;
@@ -381,7 +381,7 @@ static gint sp_event_context_private_root_handler(SPEventContext *event_context,
event->button.y);
panning = 3;
sp_canvas_item_grab(SP_CANVAS_ITEM(desktop->acetate),
- GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK,
+ GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK,
NULL, event->button.time);
ret = TRUE;
} else {
@@ -459,11 +459,13 @@ static gint sp_event_context_private_root_handler(SPEventContext *event_context,
desktop->zoom_relative_keep_point(event_dt,
pow(zoom_inc, zoom_power));
gtk_timeout_add(250, (GtkFunction) grab_allow_again, NULL);
+ desktop->updateNow();
}
if (panning == event->button.button) {
panning = 0;
sp_canvas_item_ungrab(SP_CANVAS_ITEM(desktop->acetate),
event->button.time);
+ desktop->updateNow();
ret = TRUE;
} else if (zoom_rb == event->button.button) {
zoom_rb = 0;
g_return_if_fail(ec != NULL);
g_return_if_fail(SP_IS_EVENT_CONTEXT(ec));
- if (((SPEventContextClass *) G_OBJECT_GET_CLASS(ec))->activate)
- ((SPEventContextClass *) G_OBJECT_GET_CLASS(ec))->activate(ec);
+ if (((SPEventContextClass *) G_OBJECT_GET_CLASS(ec))->deactivate)
+ ((SPEventContextClass *) G_OBJECT_GET_CLASS(ec))->deactivate(ec);
}
/**