diff --git a/collects/racket/draw/private/record-dc.rkt b/collects/racket/draw/private/record-dc.rkt index dc6931e7f7..3acaee6ee7 100644 --- a/collects/racket/draw/private/record-dc.rkt +++ b/collects/racket/draw/private/record-dc.rkt @@ -24,7 +24,9 @@ (define black (send the-color-database find-color "black")) (define (clone-point p) - (make-object point% (point-x p) (point-y p))) + (if (pair? p) + p + (make-object point% (point-x p) (point-y p)))) (define (clone-color c) (if (string? c) diff --git a/collects/tests/gracket/draw.rkt b/collects/tests/gracket/draw.rkt index 483d59507f..6eb613e302 100644 --- a/collects/tests/gracket/draw.rkt +++ b/collects/tests/gracket/draw.rkt @@ -65,11 +65,12 @@ (send f show #t))) (define star - (list (make-object point% 30 0) - (make-object point% 48 60) - (make-object point% 0 20) - (make-object point% 60 20) - (make-object point% 12 60))) + ;; uses pairs instead of point%s + (list (cons 30 0) + (cons 48 60) + (cons 0 20) + (cons 60 20) + (cons 12 60))) (define octagon (list (make-object point% 60 60)