From 967de392215e2814b9944876ba95ddd438a2a2bc Mon Sep 17 00:00:00 2001 From: Ivica Ico Bukvic <ico@vt.edu> Date: Sat, 23 Feb 2013 00:37:16 -0500 Subject: [PATCH] made scrolling algorithm more robust --- pd/src/pd.tk | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/pd/src/pd.tk b/pd/src/pd.tk index 8da278c59..302caaaa0 100644 --- a/pd/src/pd.tk +++ b/pd/src/pd.tk @@ -3493,25 +3493,27 @@ proc pdtk_canvas_getscroll {name} { } } "image" { - set imgtags [$name gettags $item] - set imgtag [lindex $imgtags 0] - if { $imgtag != "" } { - set anchor [$name itemcget $imgtag -anchor] - set img [$name itemcget $imgtag -image] - set imgh [image height $img] - set imgw [image width $img] - set center [$name coords $item] - set coords [list \ - [expr [lindex $center 0] - [expr $imgw/2]] \ - [expr [lindex $center 1] - [expr $imgh/2]] \ - [expr [lindex $center 0] + [expr $imgw/2]] \ - [expr [lindex $center 1] + [expr $imgh/2]] \ - ] - foreach {x y} $coords { - if { $x < $x1 } {set x1 $x} - if { $x > $x2 } {set x2 $x} - if { $y < $y1 } {set y1 $y} - if { $y > $y2 } {set y2 $y} + catch { + set imgtags [$name gettags $item] + set imgtag [lindex $imgtags 0] + if { $imgtag != "" } { + set anchor [$name itemcget $imgtag -anchor] + set img [$name itemcget $imgtag -image] + set imgh [image height $img] + set imgw [image width $img] + set center [$name coords $item] + set coords [list \ + [expr [lindex $center 0] - [expr $imgw/2]] \ + [expr [lindex $center 1] - [expr $imgh/2]] \ + [expr [lindex $center 0] + [expr $imgw/2]] \ + [expr [lindex $center 1] + [expr $imgh/2]] \ + ] + foreach {x y} $coords { + if { $x < $x1 } {set x1 $x} + if { $x > $x2 } {set x2 $x} + if { $y < $y1 } {set y1 $y} + if { $y > $y2 } {set y2 $y} + } } } } -- GitLab