[gtk/matthiasc/for-master] text: Move setup code out of a loop
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/matthiasc/for-master] text: Move setup code out of a loop
- Date: Thu, 5 Aug 2021 16:31:48 +0000 (UTC)
commit 8ff94ea1f2efce0090322f37d5aa9f3060a5947b
Author: Matthias Clasen <mclasen redhat com>
Date: Thu Aug 5 12:29:24 2021 -0400
text: Move setup code out of a loop
Just a cleanup, no functional change.
gtk/gtktext.c | 57 +++++++++++++++++++++++++++++----------------------------
1 file changed, 29 insertions(+), 28 deletions(-)
---
diff --git a/gtk/gtktext.c b/gtk/gtktext.c
index 62f7c90e4c..1cb086dd1f 100644
--- a/gtk/gtktext.c
+++ b/gtk/gtktext.c
@@ -5049,39 +5049,40 @@ gtk_text_move_visually (GtkText *self,
int index;
PangoLayout *layout = gtk_text_ensure_layout (self, FALSE);
const char *text;
+ gboolean split_cursor;
+ gboolean strong;
text = pango_layout_get_text (layout);
-
+
index = g_utf8_offset_to_pointer (text, start) - text;
- while (count != 0)
+
+ g_object_get (gtk_widget_get_settings (GTK_WIDGET (self)),
+ "gtk-split-cursor", &split_cursor,
+ NULL);
+
+ if (split_cursor)
+ strong = TRUE;
+ else
{
- int new_index, new_trailing;
- gboolean split_cursor;
- gboolean strong;
+ GdkDisplay *display;
+ GdkSeat *seat;
+ GdkDevice *keyboard = NULL;
+ PangoDirection direction = PANGO_DIRECTION_LTR;
- g_object_get (gtk_widget_get_settings (GTK_WIDGET (self)),
- "gtk-split-cursor", &split_cursor,
- NULL);
+ display = gtk_widget_get_display (GTK_WIDGET (self));
+ seat = gdk_display_get_default_seat (display);
+ if (seat)
+ keyboard = gdk_seat_get_keyboard (seat);
+ if (keyboard)
+ direction = gdk_device_get_direction (keyboard);
- if (split_cursor)
- strong = TRUE;
- else
- {
- GdkDisplay *display;
- GdkSeat *seat;
- GdkDevice *keyboard = NULL;
- PangoDirection direction = PANGO_DIRECTION_LTR;
-
- display = gtk_widget_get_display (GTK_WIDGET (self));
- seat = gdk_display_get_default_seat (display);
- if (seat)
- keyboard = gdk_seat_get_keyboard (seat);
- if (keyboard)
- direction = gdk_device_get_direction (keyboard);
-
- strong = direction == priv->resolved_dir;
- }
+ strong = direction == priv->resolved_dir;
+ }
+
+ while (count != 0)
+ {
+ int new_index, new_trailing;
if (count > 0)
{
@@ -5098,11 +5099,11 @@ gtk_text_move_visually (GtkText *self,
index = 0;
else if (new_index != G_MAXINT)
index = new_index;
-
+
while (new_trailing--)
index = g_utf8_next_char (text + index) - text;
}
-
+
return g_utf8_pointer_to_offset (text, text + index);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]