From 51ce9223413e23ba50c9918bb59cea07623c097f Mon Sep 17 00:00:00 2001
From: Ivica Ico Bukvic <ico@monsoon.(none)>
Date: Wed, 7 Nov 2012 11:22:22 -0500
Subject: [PATCH] better fix for the flickering scrollbars that resolves
 regressions

---
 src/pd.tk | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/src/pd.tk b/src/pd.tk
index 25f4ad3f8..bc434e3ff 100644
--- a/src/pd.tk
+++ b/src/pd.tk
@@ -3511,19 +3511,15 @@ proc pdtk_canvas_getscroll {name} {
 		#puts stderr "$winwidth ? $canvaswidth   $winheight ? $canvasheight"
 
 		if {$::scroll($parentname) == 1} {
-			if {$winwidth >= $canvaswidth} {
+			if {$winwidth >= $canvaswidth || $::xscrollable($parentname) && [expr $winwidth + 14] >= $canvaswidth} {
 				pack forget $parentname.scrollhort
 				set ::xscrollable($parentname) 0
-				update
-				if {![winfo exists $name]} {return}
 				set winwidth [winfo width $parentname.c]
 				set winheight [winfo height $parentname.c]
 			}
-			if {$winheight >= $canvasheight} {
+			if {$winheight >= $canvasheight || $::yscrollable($parentname) && [expr $winheight + 14] >= $canvasheight} {
 				pack forget $parentname.scrollvert
 				set ::yscrollable($parentname) 0
-				update
-				if {![winfo exists $name]} {return}
 				set winwidth [winfo width $parentname.c]
 				set winheight [winfo height $parentname.c]
 			}
-- 
GitLab