diff options
author | António Fernandes <antoniof@gnome.org> | 2021-08-05 23:16:54 +0100 |
---|---|---|
committer | António Fernandes <antoniof@gnome.org> | 2021-08-16 10:14:02 +0100 |
commit | 467f3ae29ae36c368b3d8f3a8d5c3f8011ee9c31 (patch) | |
tree | dd272e40813b366ecc972b2f9241f15c67069735 | |
parent | 42fdff2b1b72ce4a3cab4127d7141a63ce4396de (diff) | |
download | nautilus-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.c | 15 |
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", |