[gedit/wip/text-cut-off-3] Directly scroll to cursor, not on idle - TEXT *CUT OFF*



commit 10b3630205702e8c87cb2e518fd051327f156ec3
Author: Sébastien Wilmet <swilmet informatique-libre be>
Date:   Thu Jul 21 22:56:34 2022 +0200

    Directly scroll to cursor, not on idle - TEXT *CUT OFF*

 gedit/gedit-tab.c | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)
---
diff --git a/gedit/gedit-tab.c b/gedit/gedit-tab.c
index 7adb0e0da..1b4386ac4 100644
--- a/gedit/gedit-tab.c
+++ b/gedit/gedit-tab.c
@@ -1028,14 +1028,20 @@ should_show_progress_info (GTimer  **timer,
        return FALSE;
 }
 
-static gboolean
-scroll_to_cursor (GeditTab *tab)
+static void
+do_scroll_to_cursor (GeditTab *tab)
 {
        GeditView *view;
 
-       g_print ("scroll to cursor\n");
+       g_print ("do scroll to cursor\n");
        view = gedit_tab_get_view (tab);
        tepl_view_scroll_to_cursor (TEPL_VIEW (view));
+}
+
+static gboolean
+scroll_to_cursor (GeditTab *tab)
+{
+       do_scroll_to_cursor (tab);
 
        tab->idle_scroll = 0;
        return G_SOURCE_REMOVE;
@@ -1634,11 +1640,15 @@ goto_line (GTask *loading_task)
        gtk_text_buffer_get_start_iter (GTK_TEXT_BUFFER (doc), &iter);
        gtk_text_buffer_place_cursor (GTK_TEXT_BUFFER (doc), &iter);
 
+       do_scroll_to_cursor (data->tab);
+
+#if 0
        if (data->tab->idle_scroll == 0)
        {
                g_print ("install idle scroll\n");
                data->tab->idle_scroll = g_idle_add ((GSourceFunc)scroll_to_cursor, data->tab);
        }
+#endif
 
 #if 0
        LoaderData *data = g_task_get_task_data (loading_task);


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