[gnome-builder] frame: be more careful about index positioning



commit 267d806b3c074101f73a16bc6df3def14605f550
Author: Christian Hergert <chergert redhat com>
Date:   Thu Jan 27 13:47:10 2022 -0800

    frame: be more careful about index positioning
    
    Fixes #1611

 src/libide/gui/ide-frame.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
---
diff --git a/src/libide/gui/ide-frame.c b/src/libide/gui/ide-frame.c
index cc52ed49f..1f96d28c4 100644
--- a/src/libide/gui/ide-frame.c
+++ b/src/libide/gui/ide-frame.c
@@ -273,6 +273,11 @@ ide_frame_change_current_page (IdeFrame *self,
 
   g_assert (IDE_IS_FRAME (self));
 
+  if (direction < -1)
+    direction = -1;
+  else if (direction > 1)
+    direction = 1;
+
   visible_child = gtk_stack_get_visible_child (priv->stack);
 
   if (visible_child == NULL)
@@ -287,7 +292,9 @@ ide_frame_change_current_page (IdeFrame *self,
   if (ar->len == 0)
     g_return_if_reached ();
 
-  visible_child = g_ptr_array_index (ar, (position + direction) % ar->len);
+  position = (position + ar->len - direction) % ar->len;
+
+  visible_child = g_ptr_array_index (ar, position);
   gtk_stack_set_visible_child (priv->stack, visible_child);
 }
 


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