summaryrefslogtreecommitdiff
path: root/gtk/gtktext.c
diff options
context:
space:
mode:
authorTimm Bäder <mail@baedert.org>2019-07-15 06:56:19 +0200
committerTimm Bäder <mail@baedert.org>2019-07-15 06:56:19 +0200
commit4f11bbc59baf3f7c468eab307fcb2eed9bb4cb49 (patch)
tree6b3c936bb8fb48ce83728c701a63706b875d8d49 /gtk/gtktext.c
parent9ceb41f9a490e83b1c6bf5a3c443e99778bc5eed (diff)
downloadgtk+-4f11bbc59baf3f7c468eab307fcb2eed9bb4cb49.tar.gz
text: Don't leak emoji chooser
Diffstat (limited to 'gtk/gtktext.c')
-rw-r--r--gtk/gtktext.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gtk/gtktext.c b/gtk/gtktext.c
index 127e7d3568..832b1e2139 100644
--- a/gtk/gtktext.c
+++ b/gtk/gtktext.c
@@ -1783,6 +1783,7 @@ gtk_text_dispose (GObject *object)
GtkText *self = GTK_TEXT (object);
GtkTextPrivate *priv = gtk_text_get_instance_private (self);
GdkKeymap *keymap;
+ GtkWidget *chooser;
priv->current_pos = 0;
@@ -1794,6 +1795,9 @@ gtk_text_dispose (GObject *object)
}
g_clear_pointer (&priv->emoji_completion, gtk_widget_unparent);
+ chooser = g_object_get_data (object, "gtk-emoji-chooser");
+ if (chooser)
+ gtk_widget_unparent (chooser);
keymap = gdk_display_get_keymap (gtk_widget_get_display (GTK_WIDGET (object)));
g_signal_handlers_disconnect_by_func (keymap, keymap_direction_changed, self);