[gtk/abolish-size-allocate: 16/17] tooltipwindow: Stop using the ::size-allocate signal



commit 64b673853b869f73dac5ad235f184e83d8db3c21
Author: Matthias Clasen <mclasen redhat com>
Date:   Tue May 5 22:11:55 2020 -0400

    tooltipwindow: Stop using the ::size-allocate signal
    
    Instead of connecting to ::size-allocate, call
    gtk_native_set_tooltip and rely on the native
    to allocate the tooltip window.

 gtk/gtktooltipwindow.c | 33 +++------------------------------
 1 file changed, 3 insertions(+), 30 deletions(-)
---
diff --git a/gtk/gtktooltipwindow.c b/gtk/gtktooltipwindow.c
index 9ab1bbe698..3c36b82691 100644
--- a/gtk/gtktooltipwindow.c
+++ b/gtk/gtktooltipwindow.c
@@ -355,22 +355,13 @@ gtk_tooltip_window_hide (GtkWidget *widget)
   gtk_widget_unmap (widget);
 }
 
-static void size_changed (GtkWidget        *widget,
-                          int               width,
-                          int               height,
-                          int               baseline,
-                          GtkTooltipWindow *window);
-
 static void
 gtk_tooltip_window_dispose (GObject *object)
 {
   GtkTooltipWindow *window = GTK_TOOLTIP_WINDOW (object);
 
   if (window->relative_to)
-    {
-      g_signal_handlers_disconnect_by_func (window->relative_to, size_changed, window);
-      gtk_widget_unparent (GTK_WIDGET (window));
-    }
+    gtk_widget_unparent (GTK_WIDGET (window));
 
   g_clear_pointer (&window->box, gtk_widget_unparent);
 
@@ -523,16 +514,6 @@ gtk_tooltip_window_set_custom_widget (GtkTooltipWindow *window,
     }
 }
 
-static void
-size_changed (GtkWidget        *widget,
-              int               width,
-              int               height,
-              int               baseline,
-              GtkTooltipWindow *window)
-{
-  gtk_native_check_resize (GTK_NATIVE (window));
-}
-
 void
 gtk_tooltip_window_set_relative_to (GtkTooltipWindow *window,
                                     GtkWidget        *relative_to)
@@ -545,20 +526,12 @@ gtk_tooltip_window_set_relative_to (GtkTooltipWindow *window,
   g_object_ref (window);
 
   if (window->relative_to)
-    {
-      g_signal_handlers_disconnect_by_func (window->relative_to, size_changed, window);
-      gtk_widget_unparent (GTK_WIDGET (window));
-    }
+    gtk_widget_unparent (GTK_WIDGET (window));
 
   window->relative_to = relative_to;
 
   if (window->relative_to)
-    {
-      g_signal_connect (window->relative_to, "size-allocate", G_CALLBACK (size_changed), window);
-      gtk_css_node_set_parent (gtk_widget_get_css_node (GTK_WIDGET (window)),
-                               gtk_widget_get_css_node (relative_to));
-      gtk_widget_set_parent (GTK_WIDGET (window), relative_to);
-    }
+    gtk_widget_set_parent (GTK_WIDGET (window), relative_to);
 
   g_object_unref (window);
 }


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