[gtk: 1/2] settings: Change gtk-cursor-aspect-ratio from float to double




commit 02f06813447cd3a4dfe3472e942bc94a21e5f6c3
Author: Sebastian Keller <skeller gnome org>
Date:   Wed Dec 16 20:57:31 2020 +0100

    settings: Change gtk-cursor-aspect-ratio from float to double
    
    Float properties can not be read from keyfiles. This was causing changes
    to this property in settings.ini to be ignored. Fix this by changing it
    to a double.
    
    Technically this change could be considered an API break, but there are
    no users of this property as float yet and it is early enough to expect
    there to never be any.
    
    Also document this change in the 3 to 4 migration guide since in gtk 3
    this setting will be kept a float.
    
    Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3441

 docs/reference/gtk/migrating-3to4.md |  5 +++++
 gtk/gtksettings.c                    | 10 +++++-----
 gtk/gtkstylecontext.c                |  8 ++++----
 3 files changed, 14 insertions(+), 9 deletions(-)
---
diff --git a/docs/reference/gtk/migrating-3to4.md b/docs/reference/gtk/migrating-3to4.md
index 461be38197..a8ba76e557 100644
--- a/docs/reference/gtk/migrating-3to4.md
+++ b/docs/reference/gtk/migrating-3to4.md
@@ -1157,6 +1157,11 @@ shows a #GtkFileChooserNative dialog when clicked; once the file selection
 has completed, you can update the label of the #GtkButton with the selected
 file.
 
+### Adapt to changed GtkSettings properties
+
+In GTK 3 the #GtkSettings:gtk-cursor-aspect-ratio property of #GtkSettings was
+a float. In GTK 4 this has been changed to a double.
+
 ## Changes to consider after the switch
 
 GTK 4 has a number of new features that you may want to take
diff --git a/gtk/gtksettings.c b/gtk/gtksettings.c
index 6345550a73..595e7a1810 100644
--- a/gtk/gtksettings.c
+++ b/gtk/gtksettings.c
@@ -386,11 +386,11 @@ gtk_settings_class_init (GtkSettingsClass *class)
   g_assert (result == PROP_SPLIT_CURSOR);
 
   result = settings_install_property_parser (class,
-                                             g_param_spec_float ("gtk-cursor-aspect-ratio",
-                                                                 P_("Cursor Aspect Ratio"),
-                                                                 P_("The aspect ratio of the text caret"),
-                                                                 0.0, 1.0, 0.04,
-                                                                 GTK_PARAM_READWRITE));
+                                             g_param_spec_double ("gtk-cursor-aspect-ratio",
+                                                                  P_("Cursor Aspect Ratio"),
+                                                                  P_("The aspect ratio of the text caret"),
+                                                                  0.0, 1.0, 0.04,
+                                                                  GTK_PARAM_READWRITE));
   g_assert (result == PROP_CURSOR_ASPECT_RATIO);
 
   result = settings_install_property_parser (class,
diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c
index 598c255722..71f4750252 100644
--- a/gtk/gtkstylecontext.c
+++ b/gtk/gtkstylecontext.c
@@ -969,7 +969,7 @@ draw_insertion_cursor (GtkStyleContext *context,
                        double           x,
                        double           y,
                        double           height,
-                       float            aspect_ratio,
+                       double           aspect_ratio,
                        gboolean         is_primary,
                        PangoDirection   direction,
                        gboolean         draw_arrow)
@@ -1032,7 +1032,7 @@ draw_insertion_cursor (GtkStyleContext *context,
 
 static void
 get_insertion_cursor_bounds (double           height,
-                             float            aspect_ratio,
+                             double           aspect_ratio,
                              PangoDirection   direction,
                              gboolean         draw_arrow,
                              graphene_rect_t *bounds)
@@ -1073,7 +1073,7 @@ static void
 snapshot_insertion_cursor (GtkSnapshot     *snapshot,
                            GtkStyleContext *context,
                            double           height,
-                           float            aspect_ratio,
+                           double           aspect_ratio,
                            gboolean         is_primary,
                            PangoDirection   direction,
                            gboolean         draw_arrow)
@@ -1136,7 +1136,7 @@ gtk_snapshot_render_insertion_cursor (GtkSnapshot     *snapshot,
 {
   GtkStyleContextPrivate *priv = gtk_style_context_get_instance_private (context);
   gboolean split_cursor;
-  float aspect_ratio;
+  double aspect_ratio;
   PangoRectangle strong_pos, weak_pos;
   PangoRectangle *cursor1, *cursor2;
   GdkSeat *seat;


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