summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-10-19 14:22:03 +0100
committerBram Moolenaar <Bram@vim.org>2021-10-19 14:22:03 +0100
commit604e207e277767a67cbf4a6a179080efb830b9e7 (patch)
treeb6766d4592600109d5e677103c9581e97e3db0c9
parentd43d8e28db9afe693002a39e003ba1ece1a8319a (diff)
patch 8.2.3539: GTK3: with 'rightleft' set scrollbar may move unintentionallyv8.2.3539
Problem: GTK3: with 'rightleft' set scrollbar may move unintentionally. Solution: Ignore events while moving the scrollbar thumb. (closes #8958)
-rw-r--r--src/gui_gtk.c5
-rw-r--r--src/version.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/src/gui_gtk.c b/src/gui_gtk.c
index 79a1ac3d8e..2ea7a5e020 100644
--- a/src/gui_gtk.c
+++ b/src/gui_gtk.c
@@ -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
diff --git a/src/version.c b/src/version.c
index 2a3e08dc6d..28a70fd39c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -758,6 +758,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 3539,
+/**/
3538,
/**/
3537,