[gtk/matthiasc/atspi-child: 1/2] stack: Change ordering for removal
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/matthiasc/atspi-child: 1/2] stack: Change ordering for removal
- Date: Thu, 22 Oct 2020 14:06:38 +0000 (UTC)
commit 1d802881eb3e4f2042efe9be51d74f0ae14d32b9
Author: Matthias Clasen <mclasen redhat com>
Date: Thu Oct 22 10:02:22 2020 -0400
stack: Change ordering for removal
Unparent the child widget before tearing down its
stack page. This is necessary so a11y can still access
the stack page accessible to emit change notification
when it learns that the child is removed.
gtk/gtkstack.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
---
diff --git a/gtk/gtkstack.c b/gtk/gtkstack.c
index b97ebb54bb..e1a24b7763 100644
--- a/gtk/gtkstack.c
+++ b/gtk/gtkstack.c
@@ -1467,16 +1467,12 @@ stack_remove (GtkStack *stack,
if (child_info == NULL)
return;
- priv->children = g_list_remove (priv->children, child_info);
-
g_signal_handlers_disconnect_by_func (child,
stack_child_visibility_notify_cb,
stack);
was_visible = gtk_widget_get_visible (child);
- g_clear_object (&child_info->widget);
-
if (priv->visible_child == child_info)
{
if (in_dispose)
@@ -1490,6 +1486,10 @@ stack_remove (GtkStack *stack,
gtk_widget_unparent (child);
+ g_clear_object (&child_info->widget);
+
+ priv->children = g_list_remove (priv->children, child_info);
+
g_object_unref (child_info);
if (!in_dispose &&
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]