summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntónio Fernandes <antoniof@gnome.org>2021-08-05 23:16:54 +0100
committerAntónio Fernandes <antoniof@gnome.org>2021-08-16 10:14:02 +0100
commit467f3ae29ae36c368b3d8f3a8d5c3f8011ee9c31 (patch)
treedd272e40813b366ecc972b2f9241f15c67069735
parent42fdff2b1b72ce4a3cab4127d7141a63ce4396de (diff)
downloadnautilus-467f3ae29ae36c368b3d8f3a8d5c3f8011ee9c31.tar.gz
floating-bar: Handle parent changes in GObject::notify
GtkWidget::parent-set is gone in GTK4.
-rw-r--r--src/nautilus-floating-bar.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/nautilus-floating-bar.c b/src/nautilus-floating-bar.c
index d6cbd2084..f65b52d7c 100644
--- a/src/nautilus-floating-bar.c
+++ b/src/nautilus-floating-bar.c
@@ -290,13 +290,14 @@ on_event_controller_motion_motion (GtkEventControllerMotion *controller,
}
static void
-nautilus_floating_bar_parent_set (GtkWidget *widget,
- GtkWidget *old_parent)
+on_parent_changed (GObject *object,
+ GParamSpec *pspec,
+ gpointer user_data)
{
- NautilusFloatingBar *self = NAUTILUS_FLOATING_BAR (widget);
+ NautilusFloatingBar *self = NAUTILUS_FLOATING_BAR (object);
GtkWidget *parent;
- parent = gtk_widget_get_parent (widget);
+ parent = gtk_widget_get_parent (GTK_WIDGET (object));
if (parent != NULL)
@@ -468,6 +469,11 @@ nautilus_floating_bar_init (NautilusFloatingBar *self)
self->motion_controller = NULL;
self->pointer_y_in_parent_coordinates = -1;
+
+ g_signal_connect (self,
+ "notify::parent",
+ G_CALLBACK (on_parent_changed),
+ NULL);
}
static void
@@ -485,7 +491,6 @@ nautilus_floating_bar_class_init (NautilusFloatingBarClass *klass)
wclass->get_preferred_width_for_height = nautilus_floating_bar_get_preferred_width_for_height;
wclass->get_preferred_height = nautilus_floating_bar_get_preferred_height;
wclass->get_preferred_height_for_width = nautilus_floating_bar_get_preferred_height_for_width;
- wclass->parent_set = nautilus_floating_bar_parent_set;
properties[PROP_PRIMARY_LABEL] =
g_param_spec_string ("primary-label",