[gnome-logs] popover: Set its parent rather than relative_to



commit fbfc4316da00c63e467c72a5be10571ff7f3368e
Author: Maximiliano Sandoval R <msandova gnome org>
Date:   Mon Oct 11 00:45:22 2021 +0200

    popover: Set its parent rather than relative_to
    
    The later does not exist in gtk4.

 src/gl-eventviewdetail.c | 2 +-
 src/gl-eventviewlist.c   | 9 +++++++--
 2 files changed, 8 insertions(+), 3 deletions(-)
---
diff --git a/src/gl-eventviewdetail.c b/src/gl-eventviewdetail.c
index 6685420..4eaf0b3 100644
--- a/src/gl-eventviewdetail.c
+++ b/src/gl-eventviewdetail.c
@@ -331,7 +331,7 @@ gl_event_view_detail_popover_closed (GtkPopover *popover,
     GtkWidget *time_label;
     GtkStyleContext *context;
 
-    row = gtk_popover_get_relative_to (popover);
+    row = gtk_widget_get_parent (GTK_WIDGET (popover));
 
     context = gtk_widget_get_style_context (row);
     gtk_style_context_remove_class (context, "popover-activated-row");
diff --git a/src/gl-eventviewlist.c b/src/gl-eventviewlist.c
index d0020fc..72b4c8d 100644
--- a/src/gl-eventviewlist.c
+++ b/src/gl-eventviewlist.c
@@ -200,7 +200,11 @@ listbox_update_header_func (GtkListBoxRow *row,
     }
 }
 
-
+static void
+popover_closed (GtkPopover *popover)
+{
+    gtk_widget_unparent (GTK_WIDGET (popover));
+}
 
 static void
 on_listbox_row_activated (GtkListBox *listbox,
@@ -361,7 +365,7 @@ on_listbox_row_activated (GtkListBox *listbox,
         GtkStyleContext *context;
 
         event_detail_popover = gl_event_view_detail_new (priv->entry, priv->clock_format);
-        gtk_popover_set_relative_to (GTK_POPOVER (event_detail_popover), GTK_WIDGET (row));
+        gtk_widget_set_parent (event_detail_popover, GTK_WIDGET (row));
 
         category_label = gl_event_view_row_get_category_label (GL_EVENT_VIEW_ROW (row));
 
@@ -378,6 +382,7 @@ on_listbox_row_activated (GtkListBox *listbox,
         context = gtk_widget_get_style_context (GTK_WIDGET (row));
         gtk_style_context_add_class (context, "popover-activated-row");
 
+        g_signal_connect (event_detail_popover, "closed", G_CALLBACK (popover_closed), NULL);
         gtk_popover_popup (GTK_POPOVER (event_detail_popover));
     }
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]