summaryrefslogtreecommitdiffstats
path: root/src/desktop-events.cpp
diff options
context:
space:
mode:
authorMoritz Eberl <moritz@semiodesk.com>2016-04-13 10:22:31 +0000
committerMoritz Eberl <moritz@semiodesk.com>2016-04-13 10:22:31 +0000
commit9dc9b855edf5f891856ad1c9a63eae2266bb9cfa (patch)
tree45c8c6d192dbf72c2e543f6e4b5716999c3bb3af /src/desktop-events.cpp
parentModified the windows build to integrate gmodule-2.0 and loader.cpp/.h (diff)
parentFixed FIXMEs in Cmake build (set flags when needed) (diff)
downloadinkscape-9dc9b855edf5f891856ad1c9a63eae2266bb9cfa.tar.gz
inkscape-9dc9b855edf5f891856ad1c9a63eae2266bb9cfa.zip
Merge
(bzr r14761.1.4)
Diffstat (limited to 'src/desktop-events.cpp')
-rw-r--r--src/desktop-events.cpp49
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;