XWorkstation.st
changeset 2267 f6fbc3e71521
parent 2231 817b5fad2fb7
child 2268 1a774fc02c83
--- a/XWorkstation.st	Mon Aug 24 14:44:38 1998 +0200
+++ b/XWorkstation.st	Mon Aug 24 15:16:06 1998 +0200
@@ -2994,13 +2994,21 @@
     else if (__isFloat(startAngle)) {
 	f = __floatVal(startAngle);
 	angle1 = f * 64;
-    }
+    else if (__isShortFloat(startAngle)) {
+	f = __shortFloatVal(startAngle);
+	angle1 = f * 64;
+    } else goto bad;
+
     if (__isSmallInteger(angle))
 	angle2 = __intVal(angle) * 64;
     else if (__isFloat(angle)) {
 	f = __floatVal(angle);
 	angle2 = f * 64;
-    }
+    else if (__isShortFloat(angle)) {
+	f = __shortFloatVal(angle);
+	angle2 = f * 64;
+    } else goto bad;
+
     if (ISCONNECTED
      && __isExternalAddress(aGCId)
      && __isExternalAddress(aDrawableId)
@@ -3021,8 +3029,11 @@
 	}
 	RETURN ( self );
     }
-%}.
-    "badGC, badDrawable or coordinates not integer"
+    bad: ;
+%}.
+    "badGC, badDrawable or coordinates not integer
+     or angle(s) not integer or float."
+
     self primitiveFailed
 !
 
@@ -3599,13 +3610,21 @@
     else if (__isFloat(startAngle)) {
 	f = __floatVal(startAngle);
 	angle1 = f * 64;
-    }
+    else if (__isShortFloat(startAngle)) {
+        f = __shortFloatVal(startAngle);
+        angle1 = f * 64;
+    } else goto bad;
+
     if (__isSmallInteger(angle))
 	angle2 = __intVal(angle) * 64;
     else if (__isFloat(angle)) {
 	f = __floatVal(angle);
 	angle2 = f * 64;
-    }
+    else if (__isShortFloat(angle)) {
+        f = __shortFloatVal(angle);
+        angle2 = f * 64;
+    } else goto bad;
+
     if (ISCONNECTED
      && __isExternalAddress(aGCId)
      && __isExternalAddress(aDrawableId)
@@ -3626,8 +3645,11 @@
 	}
 	RETURN ( self );
     }
-%}.
-    "badGC, badDrawable or coordinates not integer"
+    bad: ;
+%}.
+    "badGC, badDrawable or coordinates not integer
+     or non float angle(s)"
+
     self primitiveFailed
 !
 
@@ -9934,6 +9956,6 @@
 !XWorkstation class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/XWorkstation.st,v 1.287 1998-08-10 10:03:03 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/XWorkstation.st,v 1.288 1998-08-24 13:16:06 cg Exp $'
 ! !
 XWorkstation initialize!