From a9760ed86116df3cbe9ff2435c0f1ebdbfe1fdcf Mon Sep 17 00:00:00 2001 From: Adam Purkrt Date: Wed, 30 Oct 2019 19:22:59 +0100 Subject: [PATCH] Fix for the bug 11806. --- exo/exo-icon-view.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/exo/exo-icon-view.c b/exo/exo-icon-view.c index b392575..607c80a 100644 --- a/exo/exo-icon-view.c +++ b/exo/exo-icon-view.c @@ -1721,6 +1721,7 @@ exo_icon_view_realize (GtkWidget *widget) attributes.event_mask = GDK_EXPOSURE_MASK | GDK_SCROLL_MASK | GDK_POINTER_MOTION_MASK + | GDK_LEAVE_NOTIFY_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK @@ -2977,10 +2978,19 @@ static gboolean exo_icon_view_leave_notify_event (GtkWidget *widget, GdkEventCrossing *event) { + ExoIconView *icon_view = EXO_ICON_VIEW (widget); + /* reset cursor to default */ if (gtk_widget_get_realized (widget)) gdk_window_set_cursor (gtk_widget_get_window (widget), NULL); + /* reset the prelit item (if any) */ + if (G_LIKELY (icon_view->priv->prelit_item != NULL)) + { + exo_icon_view_queue_draw_item (icon_view, icon_view->priv->prelit_item); + icon_view->priv->prelit_item = NULL; + } + /* call the parent's leave_notify_event (if any) */ if (GTK_WIDGET_CLASS (exo_icon_view_parent_class)->leave_notify_event != NULL) return (*GTK_WIDGET_CLASS (exo_icon_view_parent_class)->leave_notify_event) (widget, event); -- 2.23.0