diff options
author | Matthias Clasen <mclasen@redhat.com> | 2019-03-21 22:14:03 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2019-04-28 12:36:04 +0000 |
commit | 7cb44e7d40655204acf2d8e06ce21ed34f598484 (patch) | |
tree | efcc336f5abad5385d46e1dcb361bcc93a36aeea | |
parent | 84b99bb83b297bea53f34b00946f1532b4643ce7 (diff) | |
download | gtk+-7cb44e7d40655204acf2d8e06ce21ed34f598484.tar.gz |
text: Adapt to new popover lifecycle
Unparent the popover in dispose.
-rw-r--r-- | gtk/gtktext.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gtk/gtktext.c b/gtk/gtktext.c index 143a310013..aba651b8fd 100644 --- a/gtk/gtktext.c +++ b/gtk/gtktext.c @@ -156,6 +156,7 @@ struct _GtkTextPrivate char *im_module; + GtkWidget *emoji_completion; GtkTextHandle *text_handle; GtkWidget *selection_bubble; guint selection_bubble_timeout_id; @@ -1786,8 +1787,11 @@ gtk_text_dispose (GObject *object) priv->buffer = NULL; } + g_clear_pointer (&priv->emoji_completion, gtk_widget_unparent); + keymap = gdk_display_get_keymap (gtk_widget_get_display (GTK_WIDGET (object))); g_signal_handlers_disconnect_by_func (keymap, keymap_direction_changed, self); + G_OBJECT_CLASS (gtk_text_parent_class)->dispose (object); } @@ -6629,10 +6633,9 @@ set_enable_emoji_completion (GtkText *self, priv->enable_emoji_completion = value; if (priv->enable_emoji_completion) - g_object_set_data (G_OBJECT (self), "emoji-completion-popup", - gtk_emoji_completion_new (self)); + priv->emoji_completion = gtk_emoji_completion_new (self); else - g_object_set_data (G_OBJECT (self), "emoji-completion-popup", NULL); + g_clear_pointer (&priv->emoji_completion, gtk_widget_unparent); g_object_notify_by_pspec (G_OBJECT (self), text_props[PROP_ENABLE_EMOJI_COMPLETION]); } |