@@ -1183,45 +1183,46 @@ If the namespace does not, they are colored the unbound color.
11831183 (define wb (box 0 ))
11841184 (get-extent wb #f )
11851185 (define max-width-for-arrow (unbox wb))
1186- (get-view-size wb hb)
1187-
1188- ;; if anything in this vector changes, then
1189- ;; the tacked arrows will draw differently
1190- (define mouse-over-current-arrows-key
1191- (vector dx dy
1192- max-width-for-arrow
1193- (hash-copy current-matching-identifiers)
1194- ;; the tacked-hash-table is derived from this
1195- ;; (and from the user tacking arrows)
1196- ;; so it shouldn't be needed
1197- ;(hash-copy arrow-records)
1198- cursor-text
1199- cursor-pos))
1200- (send mouse-over-arrow-drawing handle-arrow-drawing
1201- dc dx dy (unbox wb) (unbox hb)
1202- max-width-for-arrow
1203- this
1204- mouse-over-current-arrows-key
1205- (λ () (determine-the-mouse-over-arrows)))
1206-
1207- ;; if anything in this vector changes, then
1208- ;; the mouse-over arrows will draw differently
1209- (define tacked-over-current-arrows-key
1210- (vector dx dy
1211- max-width-for-arrow
1212- (hash-copy tacked-hash-table)
1213- ;; the current-matching-identifiers is derived from this
1214- ;; so it shouldn't be needed
1215- ;(hash-copy arrow-records)
1216- ;cursor-text
1217- ;cursor-pos
1218- ))
1219- (send tacked-arrow-drawing handle-arrow-drawing
1220- dc dx dy (unbox wb) (unbox hb)
1221- max-width-for-arrow
1222- this
1223- tacked-over-current-arrows-key
1224- (λ () (determine-the-tacked-arrows)))))
1186+ (unless (zero? max-width-for-arrow)
1187+ (get-view-size wb hb)
1188+
1189+ ;; if anything in this vector changes, then
1190+ ;; the tacked arrows will draw differently
1191+ (define mouse-over-current-arrows-key
1192+ (vector dx dy
1193+ max-width-for-arrow
1194+ (hash-copy current-matching-identifiers)
1195+ ;; the tacked-hash-table is derived from this
1196+ ;; (and from the user tacking arrows)
1197+ ;; so it shouldn't be needed
1198+ ;(hash-copy arrow-records)
1199+ cursor-text
1200+ cursor-pos))
1201+ (send mouse-over-arrow-drawing handle-arrow-drawing
1202+ dc dx dy (unbox wb) (unbox hb)
1203+ max-width-for-arrow
1204+ this
1205+ mouse-over-current-arrows-key
1206+ (λ () (determine-the-mouse-over-arrows)))
1207+
1208+ ;; if anything in this vector changes, then
1209+ ;; the mouse-over arrows will draw differently
1210+ (define tacked-over-current-arrows-key
1211+ (vector dx dy
1212+ max-width-for-arrow
1213+ (hash-copy tacked-hash-table)
1214+ ;; the current-matching-identifiers is derived from this
1215+ ;; so it shouldn't be needed
1216+ ;(hash-copy arrow-records)
1217+ ;cursor-text
1218+ ;cursor-pos
1219+ ))
1220+ (send tacked-arrow-drawing handle-arrow-drawing
1221+ dc dx dy (unbox wb) (unbox hb)
1222+ max-width-for-arrow
1223+ this
1224+ tacked-over-current-arrows-key
1225+ (λ () (determine-the-tacked-arrows))))))
12251226
12261227 ;; do the drawing before calling super so that the arrows don't
12271228 ;; cross the "#lang ..." line, if it is present.
0 commit comments