diff --git a/collects/htdch/draw/support.scm b/collects/htdch/draw/support.scm index 10a4d2f119..98a914acdb 100644 --- a/collects/htdch/draw/support.scm +++ b/collects/htdch/draw/support.scm @@ -70,7 +70,14 @@ (define (check-arg value method argument) (or (> value 0) (raise-error - (format "Method ~a expects an int >= 0 for ~a argument, given ~a" method argument value)))) + (format "Method ~a expects an int >= 0 for ~a argument, given ~a" method argument value)))) + + ;Raises an error if string is null + ;check-string: string string string -> boolean + (define (check-string value method argument) + (when (null? value) + (raise-error (format "Method ~a expects a non-null String for ~a argument, given null" method argument))) + #t) (define (to-lower-case s) (letrec ((lower @@ -130,8 +137,9 @@ (define (drawLine-draw.Posn-draw.Posn-draw.Color-native this accs gets privates p0 p1 c) (wrap-start-check ([hash-table-get privates '%draw-solid-line] (build-posn p0) (build-posn p1) (color->symbol c)))) - + (define (drawString-draw.Posn-java.lang.String-native this accs gets privates p s) + (define _ (check-string s "drawString(Posn, String)" "second")) (define s* (send s get-mzscheme-string)) (wrap-start-check ([hash-table-get privates '%draw-string] (build-posn p) s*))) diff --git a/collects/htdch/idraw/World.java b/collects/htdch/idraw/World.java index 4be7e60f77..e07561bd77 100644 --- a/collects/htdch/idraw/World.java +++ b/collects/htdch/idraw/World.java @@ -1,7 +1,7 @@ package idraw; public abstract class World { - public Canvas theCanvas; + protected Canvas theCanvas; public void bigBang(int width, int height, double s) { if (width <= 0) throw new RuntimeException(