diff options
| author | Richard White <rwhite8282@gmail.com> | 2016-05-19 01:17:29 +0000 |
|---|---|---|
| committer | Richard White <rwhite8282@gmail.com> | 2016-05-19 01:17:29 +0000 |
| commit | 1fe9c2603c33fddcd9f2688b30e843f91e1a86fa (patch) | |
| tree | 13289cbe033a46a40eb829437e115b5393e2ca84 /src/desktop-events.cpp | |
| parent | Corrected frame extension stroke and fill values on 64 bit machine. (diff) | |
| parent | GTK3: Another widget named. (diff) | |
| download | inkscape-1fe9c2603c33fddcd9f2688b30e843f91e1a86fa.tar.gz inkscape-1fe9c2603c33fddcd9f2688b30e843f91e1a86fa.zip | |
Merge from Inkscape trunk.
(bzr r14668.1.3)
Diffstat (limited to 'src/desktop-events.cpp')
| -rw-r--r-- | src/desktop-events.cpp | 49 |
1 files changed, 23 insertions, 26 deletions
diff --git a/src/desktop-events.cpp b/src/desktop-events.cpp index 99bc4f7ae..b9bd949ff 100644 --- a/src/desktop-events.cpp +++ b/src/desktop-events.cpp @@ -519,34 +519,29 @@ gint sp_dt_guide_event(SPCanvasItem *item, GdkEvent *event, gpointer data) if (!guide->getLocked()) { sp_guideline_set_color(SP_GUIDELINE(item), guide->getHiColor()); } + // set move or rotate cursor Geom::Point const event_w(event->crossing.x, event->crossing.y); + GdkDisplay *display = gdk_display_get_default(); + GdkCursorType cursor_type; + if ((event->crossing.state & GDK_SHIFT_MASK) && (drag_type != SP_DRAG_MOVE_ORIGIN)) { - GdkCursor *guide_cursor; - guide_cursor = gdk_cursor_new (GDK_EXCHANGE); - if(guide->getLocked()){ - guide_cursor = sp_cursor_new_from_xpm(cursor_select_xpm , 1, 1); - } - gdk_window_set_cursor(gtk_widget_get_window (GTK_WIDGET(desktop->getCanvas())), guide_cursor); -#if GTK_CHECK_VERSION(3,0,0) - g_object_unref(guide_cursor); -#else - gdk_cursor_unref(guide_cursor); -#endif + cursor_type = GDK_EXCHANGE; } else { - GdkCursor *guide_cursor; - guide_cursor = gdk_cursor_new (GDK_HAND1); - if(guide->getLocked()){ - guide_cursor = sp_cursor_new_from_xpm(cursor_select_xpm , 1, 1); - } - gdk_window_set_cursor(gtk_widget_get_window (GTK_WIDGET(desktop->getCanvas())), guide_cursor); + cursor_type = GDK_HAND1; + } + + GdkCursor *guide_cursor = gdk_cursor_new_for_display(display, cursor_type); + if(guide->getLocked()){ + guide_cursor = sp_cursor_new_from_xpm(cursor_select_xpm , 1, 1); + } + gdk_window_set_cursor(gtk_widget_get_window (GTK_WIDGET(desktop->getCanvas())), guide_cursor); #if GTK_CHECK_VERSION(3,0,0) - g_object_unref(guide_cursor); + g_object_unref(guide_cursor); #else - gdk_cursor_unref(guide_cursor); + gdk_cursor_unref(guide_cursor); #endif - } char *guide_description = guide->description(); desktop->guidesMessageContext()->setF(Inkscape::NORMAL_MESSAGE, _("<b>Guideline</b>: %s"), guide_description); @@ -577,11 +572,11 @@ gint sp_dt_guide_event(SPCanvasItem *item, GdkEvent *event, gpointer data) case GDK_KEY_Shift_L: case GDK_KEY_Shift_R: if (drag_type != SP_DRAG_MOVE_ORIGIN) { - GdkCursor *guide_cursor; - guide_cursor = gdk_cursor_new (GDK_EXCHANGE); + GdkDisplay *display = gdk_display_get_default(); + GdkCursor *guide_cursor = gdk_cursor_new_for_display(display, GDK_EXCHANGE); gdk_window_set_cursor(gtk_widget_get_window (GTK_WIDGET(desktop->getCanvas())), guide_cursor); #if GTK_CHECK_VERSION(3,0,0) - g_object_unref(guide_cursor); + g_object_unref(guide_cursor); #else gdk_cursor_unref(guide_cursor); #endif @@ -598,15 +593,17 @@ gint sp_dt_guide_event(SPCanvasItem *item, GdkEvent *event, gpointer data) switch (Inkscape::UI::Tools::get_group0_keyval (&event->key)) { case GDK_KEY_Shift_L: case GDK_KEY_Shift_R: - GdkCursor *guide_cursor; - guide_cursor = gdk_cursor_new (GDK_EXCHANGE); + { + GdkDisplay *display = gdk_display_get_default(); + GdkCursor *guide_cursor = gdk_cursor_new_for_display(display, GDK_EXCHANGE); gdk_window_set_cursor(gtk_widget_get_window (GTK_WIDGET(desktop->getCanvas())), guide_cursor); #if GTK_CHECK_VERSION(3,0,0) - g_object_unref(guide_cursor); + g_object_unref(guide_cursor); #else gdk_cursor_unref(guide_cursor); #endif break; + } default: // do nothing; break; |
