GtkEntry: Explicitly disconnect keymap signals

Might fix https://bugzilla.gnome.org/show_bug.cgi?id=648419
This commit is contained in:
Matthias Clasen
2011-04-26 07:48:27 -04:00
parent 13cff6ddce
commit 7d3693b82b

View File

@@ -2579,6 +2579,7 @@ gtk_entry_dispose (GObject *object)
{
GtkEntry *entry = GTK_ENTRY (object);
GtkEntryPrivate *priv = entry->priv;
GdkKeymap *keymap;
gtk_entry_set_icon_from_pixbuf (entry, GTK_ENTRY_ICON_PRIMARY, NULL);
gtk_entry_set_icon_tooltip_markup (entry, GTK_ENTRY_ICON_PRIMARY, NULL);
@@ -2592,6 +2593,9 @@ gtk_entry_dispose (GObject *object)
priv->buffer = NULL;
}
keymap = gdk_keymap_get_for_display (gtk_widget_get_display (GTK_WIDGET (object)));
g_signal_handlers_disconnect_by_func (keymap, keymap_state_changed, entry);
g_signal_handlers_disconnect_by_func (keymap, keymap_direction_changed, entry);
G_OBJECT_CLASS (gtk_entry_parent_class)->dispose (object);
}