Skip to content

Commit 73b4cc7

Browse files
committed
avoid drawing arrows when there is no width
1 parent b47de4b commit 73b4cc7

File tree

1 file changed

+40
-39
lines changed
  • drracket-core-lib/drracket/private/syncheck

1 file changed

+40
-39
lines changed

drracket-core-lib/drracket/private/syncheck/gui.rkt

Lines changed: 40 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)