]> granicus.if.org Git - vim/commitdiff
patch 8.2.3539: GTK3: with 'rightleft' set scrollbar may move unintentionally v8.2.3539
authorBram Moolenaar <Bram@vim.org>
Tue, 19 Oct 2021 13:22:03 +0000 (14:22 +0100)
committerBram Moolenaar <Bram@vim.org>
Tue, 19 Oct 2021 13:22:03 +0000 (14:22 +0100)
Problem:    GTK3: with 'rightleft' set scrollbar may move unintentionally.
Solution:   Ignore events while moving the scrollbar thumb. (closes #8958)

src/gui_gtk.c
src/version.c

index 79a1ac3d8e10d02b09fe35c7ed1bca03a9d5cec5..2ea7a5e0202db8af080c10e0397a3afc401e4bb7 100644 (file)
@@ -1011,6 +1011,9 @@ gui_mch_set_scrollbar_thumb(scrollbar_T *sb, long val, long size, long max)
     {
        GtkAdjustment *adjustment;
 
+       // ignore events triggered by moving the thumb (happens in GTK 3)
+       ++hold_gui_events;
+
        adjustment = gtk_range_get_adjustment(GTK_RANGE(sb->id));
 
        gtk_adjustment_set_lower(adjustment, 0.0);
@@ -1023,6 +1026,8 @@ gui_mch_set_scrollbar_thumb(scrollbar_T *sb, long val, long size, long max)
 
        g_signal_handler_block(G_OBJECT(adjustment), (gulong)sb->handler_id);
 
+       --hold_gui_events;
+
 #if !GTK_CHECK_VERSION(3,18,0)
        gtk_adjustment_changed(adjustment);
 #endif
index 2a3e08dc6da2a24bf93caa629bf0cd324734c045..28a70fd39c67474cc091dc5a40102c786586dc28 100644 (file)
@@ -757,6 +757,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    3539,
 /**/
     3538,
 /**/