summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErnestas Kulik <ernestask@gnome.org>2018-07-10 15:11:46 +0300
committerOndrej Holy <oholy@redhat.com>2021-11-22 15:16:18 +0000
commit0105bfb8accb22e6aeb3b88fb20559b44d14d16e (patch)
treefea4c2d8a85e5611d3691ee10f1f3197c34fb864
parentcd0299b20e38cc0fa69383357c17823bc24b176d (diff)
downloadnautilus-0105bfb8accb22e6aeb3b88fb20559b44d14d16e.tar.gz
files-view: Handle parent changes in GObject::notify
GtkWidget::parent-set is gone in GTK4. Rebased and ammended by António Fernandes <antoniof@gnome.org>
-rw-r--r--src/nautilus-files-view.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/nautilus-files-view.c b/src/nautilus-files-view.c
index c93ad689c..994179d80 100644
--- a/src/nautilus-files-view.c
+++ b/src/nautilus-files-view.c
@@ -9403,25 +9403,22 @@ action_stop_enabled_changed (GActionGroup *action_group,
}
static void
-nautilus_files_view_parent_set (GtkWidget *widget,
- GtkWidget *old_parent)
+on_parent_changed (GObject *object,
+ GParamSpec *pspec,
+ gpointer user_data)
{
+ GtkWidget *widget;
NautilusWindow *window;
NautilusFilesView *view;
NautilusFilesViewPrivate *priv;
GtkWidget *parent;
- view = NAUTILUS_FILES_VIEW (widget);
+ widget = GTK_WIDGET (object);
+ view = NAUTILUS_FILES_VIEW (object);
priv = nautilus_files_view_get_instance_private (view);
parent = gtk_widget_get_parent (widget);
window = nautilus_files_view_get_window (view);
- g_assert (parent == NULL || old_parent == NULL);
-
- if (GTK_WIDGET_CLASS (nautilus_files_view_parent_class)->parent_set != NULL)
- {
- GTK_WIDGET_CLASS (nautilus_files_view_parent_class)->parent_set (widget, old_parent);
- }
if (priv->stop_signal_handler > 0)
{
@@ -9437,8 +9434,6 @@ nautilus_files_view_parent_set (GtkWidget *widget,
if (parent != NULL)
{
- g_assert (old_parent == NULL);
-
if (priv->slot == nautilus_window_get_active_slot (window))
{
priv->active = TRUE;
@@ -9674,7 +9669,6 @@ nautilus_files_view_class_init (NautilusFilesViewClass *klass)
oclass->set_property = nautilus_files_view_set_property;
widget_class->event = nautilus_files_view_event;
- widget_class->parent_set = nautilus_files_view_parent_set;
widget_class->grab_focus = nautilus_files_view_grab_focus;
@@ -9871,6 +9865,10 @@ nautilus_files_view_init (NautilusFilesView *view)
"notify::selection",
G_CALLBACK (nautilus_files_view_preview_update),
view);
+ g_signal_connect (view,
+ "notify::parent",
+ G_CALLBACK (on_parent_changed),
+ NULL);
g_object_unref (builder);