[gtk+] API: widget: Remove GtkWidget::composited-changed signal



commit a334316d5e190f8b56ae9eec6e6b9b81968077d5
Author: Benjamin Otte <otte redhat com>
Date:   Sat Oct 29 03:25:06 2016 +0200

    API: widget: Remove GtkWidget::composited-changed signal
    
    Nobody uses it.
    
    If you need the functionality, listen to display changes on
    your widget and then connect to the display's notify::composited.

 gtk/gtkwidget.c        |   38 --------------------------------------
 gtk/gtkwidget.h        |    4 ----
 gtk/gtkwidgetprivate.h |    1 -
 gtk/gtkwindow.c        |   31 +++----------------------------
 tests/testgtk.c        |   12 +++++++-----
 5 files changed, 10 insertions(+), 76 deletions(-)
---
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index 430c0f9..6a19227 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -551,7 +551,6 @@ enum {
   ACCEL_CLOSURES_CHANGED,
   SCREEN_CHANGED,
   CAN_ACTIVATE_ACCEL,
-  COMPOSITED_CHANGED,
   QUERY_TOOLTIP,
   DRAG_FAILED,
   STYLE_UPDATED,
@@ -2110,23 +2109,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
                               _gtk_marshal_BOOLEAN__BOXEDv);
 
   /**
-   * GtkWidget::composited-changed:
-   * @widget: the object on which the signal is emitted
-   *
-   * The ::composited-changed signal is emitted when the composited
-   * status of @widgets screen changes.
-   * See gdk_screen_is_composited().
-   */
-  widget_signals[COMPOSITED_CHANGED] =
-    g_signal_new (I_("composited-changed"),
-                 G_TYPE_FROM_CLASS (klass),
-                 G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
-                 G_STRUCT_OFFSET (GtkWidgetClass, composited_changed),
-                 NULL, NULL,
-                 NULL,
-                 G_TYPE_NONE, 0);
-
-  /**
    * GtkWidget::delete-event:
    * @widget: the object which received the signal
    * @event: the event which triggered this signal
@@ -8886,26 +8868,6 @@ gtk_widget_is_composited (GtkWidget *widget)
   return gdk_screen_is_composited (screen);
 }
 
-static void
-propagate_composited_changed (GtkWidget *widget,
-                             gpointer dummy)
-{
-  if (GTK_IS_CONTAINER (widget))
-    {
-      gtk_container_forall (GTK_CONTAINER (widget),
-                           propagate_composited_changed,
-                           NULL);
-    }
-
-  g_signal_emit (widget, widget_signals[COMPOSITED_CHANGED], 0);
-}
-
-void
-_gtk_widget_propagate_composited_changed (GtkWidget *widget)
-{
-  propagate_composited_changed (widget, NULL);
-}
-
 /**
  * _gtk_widget_propagate_screen_changed:
  * @widget: a #GtkWidget
diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h
index 8b93b85..2046457 100644
--- a/gtk/gtkwidget.h
+++ b/gtk/gtkwidget.h
@@ -289,8 +289,6 @@ struct _GtkWidget
  * @can_activate_accel: Signal allows applications and derived widgets
  *   to override the default GtkWidget handling for determining whether
  *   an accelerator can be activated.
- * @composited_changed: Signal emitted when the composited status of
- *   widgets screen changes. See gdk_screen_is_composited().
  * @query_tooltip: Signal emitted when “has-tooltip” is %TRUE and the
  *   hover timeout has expired with the cursor hovering “above”
  *   widget; or emitted when widget got focus in keyboard mode.
@@ -525,8 +523,6 @@ struct _GtkWidgetClass
                                        guint      signal_id);
 
 
-  void         (* composited_changed) (GtkWidget *widget);
-
   gboolean     (* query_tooltip)      (GtkWidget  *widget,
                                       gint        x,
                                       gint        y,
diff --git a/gtk/gtkwidgetprivate.h b/gtk/gtkwidgetprivate.h
index b4b28fc..fe7e05a 100644
--- a/gtk/gtkwidgetprivate.h
+++ b/gtk/gtkwidgetprivate.h
@@ -213,7 +213,6 @@ void              _gtk_widget_propagate_hierarchy_changed  (GtkWidget *widget,
                                                             GtkWidget *previous_toplevel);
 void              _gtk_widget_propagate_screen_changed     (GtkWidget *widget,
                                                             GdkScreen *previous_screen);
-void              _gtk_widget_propagate_composited_changed (GtkWidget *widget);
 
 void              _gtk_widget_set_device_window            (GtkWidget *widget,
                                                             GdkDevice *device,
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index 81435f5..18f74cc 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -506,8 +506,6 @@ static void     get_shadow_width                      (GtkWindow    *window,
 
 static GtkKeyHash *gtk_window_get_key_hash        (GtkWindow   *window);
 static void        gtk_window_free_key_hash       (GtkWindow   *window);
-static void       gtk_window_on_composited_changed (GdkScreen *screen,
-                                                    GtkWindow *window);
 #ifdef GDK_WINDOWING_X11
 static void        gtk_window_on_theme_variant_changed (GtkSettings *settings,
                                                         GParamSpec  *pspec,
@@ -1694,10 +1692,6 @@ gtk_window_init (GtkWindow *window)
   toplevel_list = g_slist_prepend (toplevel_list, window);
   gtk_window_update_debugging ();
 
-  if (priv->screen)
-    g_signal_connect_object (priv->screen, "composited-changed",
-                             G_CALLBACK (gtk_window_on_composited_changed), window, 0);
-
 #ifdef GDK_WINDOWING_X11
   g_signal_connect_object (gtk_settings_get_for_screen (priv->screen),
                            "notify::gtk-application-prefer-dark-theme",
@@ -5723,16 +5717,14 @@ gtk_window_finalize (GObject *object)
       priv->delete_event_handler = 0;
     }
 
+#ifdef GDK_WINDOWING_X11
   if (priv->screen)
     {
-      g_signal_handlers_disconnect_by_func (priv->screen,
-                                            gtk_window_on_composited_changed, window);
-#ifdef GDK_WINDOWING_X11
       g_signal_handlers_disconnect_by_func (gtk_settings_get_for_screen (priv->screen),
                                             gtk_window_on_theme_variant_changed,
                                             window);
-#endif
     }
+#endif
 
   g_free (priv->startup_id);
 
@@ -10213,25 +10205,18 @@ gtk_window_set_screen (GtkWindow *window,
   priv->screen = screen;
   if (screen != previous_screen)
     {
+#ifdef GDK_WINDOWING_X11
       if (previous_screen)
         {
-          g_signal_handlers_disconnect_by_func (previous_screen,
-                                                gtk_window_on_composited_changed, window);
-#ifdef GDK_WINDOWING_X11
           g_signal_handlers_disconnect_by_func (gtk_settings_get_for_screen (previous_screen),
                                                 gtk_window_on_theme_variant_changed, window);
-#endif
         }
-      g_signal_connect (screen, "composited-changed",
-                        G_CALLBACK (gtk_window_on_composited_changed), window);
-#ifdef GDK_WINDOWING_X11
       g_signal_connect (gtk_settings_get_for_screen (screen),
                         "notify::gtk-application-prefer-dark-theme",
                         G_CALLBACK (gtk_window_on_theme_variant_changed), window);
 #endif
 
       _gtk_widget_propagate_screen_changed (widget, previous_screen);
-      _gtk_widget_propagate_composited_changed (widget);
     }
   g_object_notify_by_pspec (G_OBJECT (window), window_props[PROP_SCREEN]);
 
@@ -10271,16 +10256,6 @@ gtk_window_on_theme_variant_changed (GtkSettings *settings,
 }
 #endif
 
-static void
-gtk_window_on_composited_changed (GdkScreen *screen,
-                                 GtkWindow *window)
-{
-  GtkWidget *widget = GTK_WIDGET (window);
-
-  gtk_widget_queue_draw (widget);
-  _gtk_widget_propagate_composited_changed (widget);
-}
-
 static GdkScreen *
 gtk_window_check_screen (GtkWindow *window)
 {
diff --git a/tests/testgtk.c b/tests/testgtk.c
index fadb05f..85c14d3 100644
--- a/tests/testgtk.c
+++ b/tests/testgtk.c
@@ -222,10 +222,10 @@ build_alpha_widgets (void)
 }
 
 static void
-on_composited_changed (GtkWidget *window,
-                     GtkLabel *label)
+on_composited_changed (GdkScreen *screen,
+                      GtkLabel  *label)
 {
-  gboolean is_composited = gtk_widget_is_composited (window);
+  gboolean is_composited = gdk_screen_is_composited (screen);
 
   if (is_composited)
     gtk_label_set_text (label, "Composited");
@@ -243,6 +243,7 @@ create_alpha_window (GtkWidget *widget)
       GtkWidget *content_area;
       GtkWidget *vbox;
       GtkWidget *label;
+      GdkScreen *screen;
       
       window = gtk_dialog_new_with_buttons ("Alpha Window",
                                            GTK_WINDOW (gtk_widget_get_toplevel (widget)), 0,
@@ -264,8 +265,9 @@ create_alpha_window (GtkWidget *widget)
       
       label = gtk_label_new (NULL);
       gtk_box_pack_start (GTK_BOX (vbox), label, TRUE, TRUE);
-      on_composited_changed (window, GTK_LABEL (label));
-      g_signal_connect (window, "composited_changed", G_CALLBACK (on_composited_changed), label);
+      screen = gtk_widget_get_screen (window);
+      on_composited_changed (screen, GTK_LABEL (label));
+      g_signal_connect (screen, "composited_changed", G_CALLBACK (on_composited_changed), label);
 
       gtk_box_pack_start (GTK_BOX (vbox), build_alpha_widgets (), TRUE, TRUE);
 


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