[gtk/kill-display-changed: 2/2] Drop the GtkWidget::display-changed signal



commit bea8025fb52f2707006639355b69ae7dad62101a
Author: Matthias Clasen <mclasen redhat com>
Date:   Thu May 2 00:11:55 2019 +0000

    Drop the GtkWidget::display-changed signal
    
    Display changes now happen exclusively through
    the ::root and ::unroot vfuncs. Third parties
    can observe display changes by listening
    for notify::root.

 gtk/gtkwidget.c | 98 ---------------------------------------------------------
 gtk/gtkwidget.h |  4 ---
 2 files changed, 102 deletions(-)
---
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index abd5f5fc24..3ae53fdb09 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -916,7 +916,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
   klass->drag_motion = NULL;
   klass->drag_drop = NULL;
   klass->drag_data_received = NULL;
-  klass->display_changed = NULL;
   klass->can_activate_accel = gtk_widget_real_can_activate_accel;
   klass->query_tooltip = gtk_widget_real_query_tooltip;
   klass->style_updated = gtk_widget_real_style_updated;
@@ -2075,25 +2074,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
                  NULL,
                  G_TYPE_NONE, 0);
 
-  /**
-   * GtkWidget::display-changed:
-   * @widget: the object on which the signal is emitted
-   * @previous_display: (allow-none): the previous screen, or %NULL if the
-   *   widget was not associated with a screen before
-   *
-   * The ::display-changed signal gets emitted when the
-   * display of a widget has changed.
-   */
-  widget_signals[DISPLAY_CHANGED] =
-    g_signal_new (I_("display-changed"),
-                 G_TYPE_FROM_CLASS (klass),
-                 G_SIGNAL_RUN_LAST,
-                 G_STRUCT_OFFSET (GtkWidgetClass, display_changed),
-                 NULL, NULL,
-                 NULL,
-                 G_TYPE_NONE, 1,
-                 GDK_TYPE_DISPLAY);
-
   /**
    * GtkWidget::can-activate-accel:
    * @widget: the object which received the signal
@@ -6694,84 +6674,6 @@ gtk_widget_real_direction_changed (GtkWidget        *widget,
   gtk_widget_queue_resize (widget);
 }
 
-typedef struct {
-  GtkWidget *previous_toplevel;
-  GdkDisplay *previous_display;
-  GdkDisplay *new_display;
-} HierarchyChangedInfo;
-
-static void
-do_display_change (GtkWidget  *widget,
-                  GdkDisplay *old_display,
-                   GdkDisplay *new_display)
-{
-  if (old_display != new_display)
-    {
-      GtkWidgetPrivate *priv = gtk_widget_get_instance_private (widget);
-
-      if (old_display)
-       {
-         PangoContext *context = g_object_get_qdata (G_OBJECT (widget), quark_pango_context);
-         if (context)
-           g_object_set_qdata (G_OBJECT (widget), quark_pango_context, NULL);
-       }
-
-      _gtk_tooltip_hide (widget);
-
-      if (new_display && priv->context)
-        gtk_style_context_set_display (priv->context, new_display);
-
-      g_signal_emit (widget, widget_signals[DISPLAY_CHANGED], 0, old_display);
-    }
-}
-
-static void
-gtk_widget_propagate_display_changed_recurse (GtkWidget *widget,
-                                             gpointer   client_data)
-{
-  HierarchyChangedInfo *info = client_data;
-  GtkWidget *child;
-
-  g_object_ref (widget);
-
-  do_display_change (widget, info->previous_display, info->new_display);
-
-  for (child = gtk_widget_get_first_child (widget);
-       child != NULL;
-       child = gtk_widget_get_next_sibling (child))
-    {
-      gtk_widget_propagate_display_changed_recurse (child, client_data);
-    }
-
-  g_object_unref (widget);
-}
-
-/**
- * _gtk_widget_propagate_display_changed:
- * @widget: a #GtkWidget
- * @previous_display: Previous display
- *
- * Propagates changes in the display for a widget to all
- * children, emitting #GtkWidget::display-changed.
- **/
-void
-_gtk_widget_propagate_display_changed (GtkWidget  *widget,
-                                       GdkDisplay *previous_display)
-{
-  HierarchyChangedInfo info;
-
-  info.previous_display = previous_display;
-  info.new_display = gtk_widget_get_display (widget);
-
-  if (previous_display)
-    g_object_ref (previous_display);
-
-  gtk_widget_propagate_display_changed_recurse (widget, &info);
-
-  if (previous_display)
-    g_object_unref (previous_display);
-}
-
 static void
 reset_style_recurse (GtkWidget *widget, gpointer user_data)
 {
diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h
index 808ddc5ebf..6961f20794 100644
--- a/gtk/gtkwidget.h
+++ b/gtk/gtkwidget.h
@@ -209,8 +209,6 @@ struct _GtkWidget
  *   context menu.
  * @get_accessible: Returns the accessible object that describes the
  *   widget to an assistive technology.
- * @display_changed: Signal emitted when the #GdkDisplay of a widget has
- *   changed.
  * @can_activate_accel: Signal allows applications and derived widgets
  *   to override the default GtkWidget handling for determining whether
  *   an accelerator can be activated.
@@ -314,8 +312,6 @@ struct _GtkWidgetClass
    */
   AtkObject *  (* get_accessible)     (GtkWidget       *widget);
 
-  void         (* display_changed)     (GtkWidget      *widget,
-                                        GdkDisplay     *previous_display);
   gboolean     (* can_activate_accel) (GtkWidget *widget,
                                        guint      signal_id);
 


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