--- xfdesktop4-4.8.3.orig/src/xfdesktop-icon-view.c +++ xfdesktop4-4.8.3/src/xfdesktop-icon-view.c @@ -874,6 +987,12 @@ xfdesktop_icon_view_focus_out(GtkWidget xfdesktop_icon_view_invalidate_icon(icon_view, l->data, FALSE); } + if(G_UNLIKELY(icon_view->priv->single_click)) { + if(G_LIKELY(icon_view->priv->parent_window->window != NULL)) { + gdk_window_set_cursor(icon_view->priv->parent_window->window, NULL); + } + } + return FALSE; } @@ -1049,6 +1168,11 @@ xfdesktop_icon_view_motion_notify(GtkWid /* normal movement; highlight icons as they go under the pointer */ if(icon_view->priv->item_under_pointer) { + if(G_UNLIKELY(icon_view->priv->single_click)) { + GdkCursor *cursor = gdk_cursor_new(GDK_HAND2); + gdk_window_set_cursor(evt->window, cursor); + gdk_cursor_unref(cursor); + } if(!xfdesktop_icon_get_extents(icon_view->priv->item_under_pointer, NULL, NULL, &extents) || !xfdesktop_rectangle_contains_point(&extents, evt->x, evt->y)) @@ -1060,6 +1184,9 @@ xfdesktop_icon_view_motion_notify(GtkWid #endif } } else { + if(G_UNLIKELY(icon_view->priv->single_click)) { + gdk_window_set_cursor(evt->window, NULL); + } icon = xfdesktop_icon_view_widget_coords_to_item(icon_view, evt->x, evt->y); @@ -1093,6 +1220,12 @@ xfdesktop_icon_view_leave_notify(GtkWidg xfdesktop_icon_view_invalidate_icon(icon_view, icon, FALSE); #endif } + + if(G_UNLIKELY(icon_view->priv->single_click)) { + if(GTK_WIDGET_REALIZED(widget)) { + gdk_window_set_cursor(widget->window, NULL); + } + } return FALSE; }