diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index 9d61264c65..0c6b6f6c70 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -3047,6 +3047,10 @@ realize_icon_info (GtkWidget *widget, gtk_widget_register_window (widget, icon_info->window); gtk_widget_queue_resize (widget); + + _gtk_icon_helper_set_window (icon_info->icon_helper, + gtk_widget_get_window (widget)); + } static EntryIconInfo* @@ -3233,6 +3237,8 @@ gtk_entry_unrealize (GtkWidget *widget) { if ((icon_info = priv->icons[i]) != NULL) { + _gtk_icon_helper_set_window (icon_info->icon_helper, NULL); + if (icon_info->window != NULL) { gtk_widget_unregister_window (widget, icon_info->window);