[gtk/matthiasc/for-master] text: Move setup code out of a loop




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]