widget: Remove gtk_widget_has_screen()
authorBenjamin Otte <otte@redhat.com>
Tue, 31 Oct 2017 02:19:29 +0000 (03:19 +0100)
committerBenjamin Otte <otte@redhat.com>
Tue, 31 Oct 2017 03:33:11 +0000 (04:33 +0100)
All widgets always have a screen (or display).

docs/reference/gtk/gtk4-sections.txt
gtk/a11y/gtkentryaccessible.c
gtk/gtkfilechooserbutton.c
gtk/gtkfilechooserwidget.c
gtk/gtklabel.c
gtk/gtkmenu.c
gtk/gtkmenushell.c
gtk/gtkprintunixdialog.c
gtk/gtkwidget.c
gtk/gtkwidget.h

index 4a852a93c26d83923f9aa091abddb927ac578ffd..7065f9b277e94bed36effe3219ca6f4f1f1cfc76 100644 (file)
@@ -4556,7 +4556,6 @@ gtk_widget_get_settings
 gtk_widget_get_clipboard
 gtk_widget_get_display
 gtk_widget_get_screen
-gtk_widget_has_screen
 gtk_widget_get_size_request
 gtk_widget_set_child_visible
 gtk_widget_set_size_request
index 1df260c0bf04da113866810a9cd0a4cedfd06704..02c0fc69c52706c3180f51a31b7d90a3d916a151 100644 (file)
@@ -1263,9 +1263,6 @@ gtk_entry_accessible_copy_text (AtkEditableText *text,
   if (widget == NULL)
     return;
 
-  if (!gtk_widget_has_screen (widget))
-    return;
-
   editable = GTK_EDITABLE (widget);
   str = gtk_editable_get_chars (editable, start_pos, end_pos);
   clipboard = gtk_widget_get_clipboard (widget, GDK_SELECTION_CLIPBOARD);
@@ -1287,9 +1284,6 @@ gtk_entry_accessible_cut_text (AtkEditableText *text,
   if (widget == NULL)
     return;
 
-  if (!gtk_widget_has_screen (widget))
-    return;
-
   editable = GTK_EDITABLE (widget);
   if (!gtk_editable_get_editable (editable))
     return;
@@ -1353,9 +1347,6 @@ gtk_entry_accessible_paste_text (AtkEditableText *text,
   if (widget == NULL)
     return;
 
-  if (!gtk_widget_has_screen (widget))
-    return;
-
   editable = GTK_EDITABLE (widget);
   if (!gtk_editable_get_editable (editable))
     return;
index 856a7031f6d0a026947e16bf499d82ccb52f33f7..806123ab1bab423e71908506122e7a38e2df6b76 100644 (file)
@@ -1539,17 +1539,15 @@ change_icon_theme (GtkFileChooserButton *button)
 static void
 gtk_file_chooser_button_style_updated (GtkWidget *widget)
 {
+  GtkStyleContext *context = gtk_widget_get_style_context (widget);
+  GtkCssStyleChange *change = gtk_style_context_get_change (context);
+
   GTK_WIDGET_CLASS (gtk_file_chooser_button_parent_class)->style_updated (widget);
 
-  if (gtk_widget_has_screen (widget))
-    {
-      /* We need to update the icon surface, but only in case
-       * the icon theme really changed. */
-      GtkStyleContext *context = gtk_widget_get_style_context (widget);
-      GtkCssStyleChange *change = gtk_style_context_get_change (context);
-      if (!change || gtk_css_style_change_changes_property (change, GTK_CSS_PROPERTY_ICON_THEME))
-        change_icon_theme (GTK_FILE_CHOOSER_BUTTON (widget));
-    }
+  /* We need to update the icon surface, but only in case
+   * the icon theme really changed. */
+  if (!change || gtk_css_style_change_changes_property (change, GTK_CSS_PROPERTY_ICON_THEME))
+    change_icon_theme (GTK_FILE_CHOOSER_BUTTON (widget));
 }
 
 static void
index a71ac37875c6fdfff7f6ad138c8a6c31038dda8f..4b880e09d47bfaa9f53af37596b1b3bd5054feb9 100644 (file)
@@ -3779,14 +3779,11 @@ check_icon_theme (GtkFileChooserWidget *impl)
       return;
     }
 
-  if (gtk_widget_has_screen (GTK_WIDGET (impl)))
-    {
-      settings = gtk_settings_get_for_screen (gtk_widget_get_screen (GTK_WIDGET (impl)));
-      priv->settings_signal_id = g_signal_connect (settings, "notify",
-                                                   G_CALLBACK (settings_notify_cb), impl);
+  settings = gtk_settings_get_for_screen (gtk_widget_get_screen (GTK_WIDGET (impl)));
+  priv->settings_signal_id = g_signal_connect (settings, "notify",
+                                               G_CALLBACK (settings_notify_cb), impl);
 
-      change_icon_theme (impl);
-    }
+  change_icon_theme (impl);
 
   profile_end ("end", NULL);
 }
@@ -3804,8 +3801,7 @@ gtk_file_chooser_widget_style_updated (GtkWidget *widget)
   GTK_WIDGET_CLASS (gtk_file_chooser_widget_parent_class)->style_updated (widget);
   profile_msg ("    parent class style_updated end", NULL);
 
-  if (gtk_widget_has_screen (GTK_WIDGET (impl)))
-    change_icon_theme (impl);
+  change_icon_theme (impl);
 
   emit_default_size_changed (impl);
 
index 442a5a228fdd389f2dc288b1409b3f55997f29d4..a950d97a5a42df2413e58ab38e711613e3d2a857 100644 (file)
@@ -5234,11 +5234,8 @@ gtk_label_select_region_index (GtkLabel *label,
       priv->select_info->selection_anchor = anchor_index;
       priv->select_info->selection_end = end_index;
 
-      if (gtk_widget_has_screen (GTK_WIDGET (label)))
-        clipboard = gtk_widget_get_clipboard (GTK_WIDGET (label),
-                                              GDK_SELECTION_PRIMARY);
-      else
-        clipboard = NULL;
+      clipboard = gtk_widget_get_clipboard (GTK_WIDGET (label),
+                                            GDK_SELECTION_PRIMARY);
 
       if (anchor_index != end_index)
         {
index ad6188490932e4e33c6d34ea0ea1ed71f00e1307..8c8828c836eca84458dc66bce17115cbcca5e1d1 100644 (file)
@@ -1305,8 +1305,7 @@ attach_widget_display_changed (GtkWidget  *attach_widget,
                                GdkDisplay *previous_display,
                                GtkMenu    *menu)
 {
-  if (gtk_widget_has_screen (attach_widget) &&
-      !g_object_get_data (G_OBJECT (menu), "gtk-menu-explicit-screen"))
+  if (!g_object_get_data (G_OBJECT (menu), "gtk-menu-explicit-screen"))
     menu_change_screen (menu, gtk_widget_get_screen (attach_widget));
 }
 
index 978fc8bd65c68535c1002adcdda267adc6f1f1b8..24548e3c73ba2a22246d07cbe9df742964406f69 100644 (file)
@@ -1525,11 +1525,10 @@ gtk_menu_shell_get_key_hash (GtkMenuShell *menu_shell,
   GtkMenuShellPrivate *priv = menu_shell->priv;
   GtkWidget *widget = GTK_WIDGET (menu_shell);
 
-  if (!priv->key_hash && create && gtk_widget_has_screen (widget))
+  if (!priv->key_hash && create)
     {
       GtkMnemonicHash *mnemonic_hash = gtk_menu_shell_get_mnemonic_hash (menu_shell, FALSE);
-      GdkScreen *screen = gtk_widget_get_screen (widget);
-      GdkKeymap *keymap = gdk_keymap_get_for_display (gdk_screen_get_display (screen));
+      GdkKeymap *keymap = gdk_keymap_get_for_display (gtk_widget_get_display (widget));
 
       if (!mnemonic_hash)
         return NULL;
index 7235ceb185d22831ee2e43778a4b21d7f9dd8315..ebe6ecfd6aa83d95174045be4119568867d5e7ea 100644 (file)
@@ -2315,21 +2315,18 @@ draw_collate (GtkDrawingArea *da,
 static void
 gtk_print_unix_dialog_style_updated (GtkWidget *widget)
 {
-  GTK_WIDGET_CLASS (gtk_print_unix_dialog_parent_class)->style_updated (widget);
+  GtkPrintUnixDialog *dialog = (GtkPrintUnixDialog *)widget;
+  GtkPrintUnixDialogPrivate *priv = dialog->priv;
+  gint size;
+  gfloat scale;
 
-  if (gtk_widget_has_screen (widget))
-    {
-      GtkPrintUnixDialog *dialog = (GtkPrintUnixDialog *)widget;
-      GtkPrintUnixDialogPrivate *priv = dialog->priv;
-      gint size;
-      gfloat scale;
+  GTK_WIDGET_CLASS (gtk_print_unix_dialog_parent_class)->style_updated (widget);
 
-      gtk_icon_size_lookup (GTK_ICON_SIZE_DIALOG, &size, NULL);
-      scale = size / 48.0;
+  gtk_icon_size_lookup (GTK_ICON_SIZE_DIALOG, &size, NULL);
+  scale = size / 48.0;
 
-      gtk_drawing_area_set_content_width (GTK_DRAWING_AREA (priv->collate_image), (50 + 20) * scale);
-      gtk_drawing_area_set_content_height (GTK_DRAWING_AREA (priv->collate_image), (15 + 26) * scale);
-    }
+  gtk_drawing_area_set_content_width (GTK_DRAWING_AREA (priv->collate_image), (50 + 20) * scale);
+  gtk_drawing_area_set_content_height (GTK_DRAWING_AREA (priv->collate_image), (15 + 26) * scale);
 }
 
 static void
index 5522b380c66093d6687f477a5043dda127915556..cf6e722adf83c34b111c89ef477b6b66251508dc 100644 (file)
@@ -697,7 +697,6 @@ static void             gtk_widget_real_state_flags_changed     (GtkWidget
 static AtkObject*      gtk_widget_real_get_accessible          (GtkWidget        *widget);
 static void            gtk_widget_accessible_interface_init    (AtkImplementorIface *iface);
 static AtkObject*      gtk_widget_ref_accessible               (AtkImplementor *implementor);
-static GdkScreen *      gtk_widget_get_screen_unchecked         (GtkWidget        *widget);
 static gboolean         gtk_widget_real_can_activate_accel      (GtkWidget *widget,
                                                                  guint      signal_id);
 
@@ -9238,24 +9237,6 @@ gtk_widget_get_child_visible (GtkWidget *widget)
   return widget->priv->child_visible;
 }
 
-static GdkScreen *
-gtk_widget_get_screen_unchecked (GtkWidget *widget)
-{
-  GtkWidget *toplevel;
-
-  toplevel = _gtk_widget_get_toplevel (widget);
-
-  if (_gtk_widget_is_toplevel (toplevel))
-    {
-      if (GTK_IS_WINDOW (toplevel))
-       return _gtk_window_get_screen (GTK_WINDOW (toplevel));
-      else if (GTK_IS_INVISIBLE (toplevel))
-       return gtk_invisible_get_screen (GTK_INVISIBLE (widget));
-    }
-
-  return NULL;
-}
-
 /**
  * gtk_widget_get_screen:
  * @widget: a #GtkWidget
@@ -9276,38 +9257,21 @@ gtk_widget_get_screen_unchecked (GtkWidget *widget)
 GdkScreen*
 gtk_widget_get_screen (GtkWidget *widget)
 {
-  GdkScreen *screen;
+  GtkWidget *toplevel;
 
   g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
 
-  screen = gtk_widget_get_screen_unchecked (widget);
-
-  if (screen)
-    return screen;
-  else
-    return gdk_screen_get_default ();
-}
-
-/**
- * gtk_widget_has_screen:
- * @widget: a #GtkWidget
- *
- * Checks whether there is a #GdkScreen is associated with
- * this widget. All toplevel widgets have an associated
- * screen, and all widgets added into a hierarchy with a toplevel
- * window at the top.
- *
- * Returns: %TRUE if there is a #GdkScreen associated
- *   with the widget.
- *
- * Since: 2.2
- **/
-gboolean
-gtk_widget_has_screen (GtkWidget *widget)
-{
-  g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
+  toplevel = _gtk_widget_get_toplevel (widget);
 
-  return (gtk_widget_get_screen_unchecked (widget) != NULL);
+  if (_gtk_widget_is_toplevel (toplevel))
+    {
+      if (GTK_IS_WINDOW (toplevel))
+       return _gtk_window_get_screen (GTK_WINDOW (toplevel));
+      else if (GTK_IS_INVISIBLE (toplevel))
+       return gtk_invisible_get_screen (GTK_INVISIBLE (widget));
+    }
+  
+  return gdk_screen_get_default ();
 }
 
 void
@@ -12618,7 +12582,6 @@ GtkClipboard *
 gtk_widget_get_clipboard (GtkWidget *widget, GdkAtom selection)
 {
   g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);
-  g_return_val_if_fail (gtk_widget_has_screen (widget), NULL);
 
   return gtk_clipboard_get_for_display (gtk_widget_get_display (widget),
                                        selection);
index 60302f614363e6be6e1270f1d2ec37df4037a79f..a2cf95528aa27f75a1732fb791659b6111f8075e 100644 (file)
@@ -784,8 +784,6 @@ GtkWidget*   gtk_widget_get_ancestor        (GtkWidget      *widget,
 
 GDK_AVAILABLE_IN_ALL
 GdkScreen *   gtk_widget_get_screen      (GtkWidget *widget);
-GDK_AVAILABLE_IN_ALL
-gboolean      gtk_widget_has_screen      (GtkWidget *widget);
 GDK_AVAILABLE_IN_3_10
 gint          gtk_widget_get_scale_factor (GtkWidget *widget);
 GDK_AVAILABLE_IN_ALL