summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Keller <skeller@gnome.org>2020-12-16 20:57:31 +0100
committerSebastian Keller <skeller@gnome.org>2020-12-16 22:35:36 +0100
commit02f06813447cd3a4dfe3472e942bc94a21e5f6c3 (patch)
tree784bbf1a1af20d86f4de435775bc33bb34f92ba3
parent0588db8a6986c4e39e6d8a197f12d5b26d2bf422 (diff)
downloadgtk+-02f06813447cd3a4dfe3472e942bc94a21e5f6c3.tar.gz
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
-rw-r--r--docs/reference/gtk/migrating-3to4.md5
-rw-r--r--gtk/gtksettings.c10
-rw-r--r--gtk/gtkstylecontext.c8
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;