]> gitweb.factorcode.org Git - factor.git/commitdiff
ui.backend.cocoa.views: simplify and add os version check.
authorJohn Benediktsson <mrjbq7@gmail.com>
Fri, 29 Mar 2013 21:29:41 +0000 (14:29 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Fri, 29 Mar 2013 21:29:41 +0000 (14:29 -0700)
basis/cocoa/messages/messages.factor
basis/ui/backend/cocoa/views/views.factor

index c093d54cc053a72f65b2bea65bd8178bdf315cac..8cc22b0fe8059df97c62e39f1e1e2cf2e3382bee 100644 (file)
@@ -61,11 +61,10 @@ ERROR: no-objc-method name ;
 : lookup-method ( selector -- method )
     dup ?lookup-method [ ] [ no-objc-method ] ?if ;
 
-: selector/sender ( selector method -- alien word )
-    [ <selector> selector ] [ message-senders get at ] bi* ;
-
-: when-method ( receiver selector quot: ( receiver selector method -- ) -- )
-    [ dup ?lookup-method ] dip [ selector/sender ] prepose [ 2drop ] if* ; inline
+: selector/sender ( selector -- alien word )
+    dup lookup-method
+    [ <selector> selector ]
+    [ message-senders get at ] bi* ;
 
 MEMO: make-prepare-send ( selector method super? -- quot )
     [
index 86ae4771026e70e12f27968f18c62eab30c3cd8f..faa9c24b8461e6f2088cd26e028d9d8732d7c701 100644 (file)
@@ -151,15 +151,16 @@ CLASS: FactorView < NSOpenGLView NSTextInput
 
     METHOD: void prepareOpenGL [
 
-        self "setWantsBestResolutionOpenGLSurface:" [
-            1 swap execute( x x x -- )
-        ] when-method
+        os-version { 10 7 0 } after=? [
+            self "setWantsBestResolutionOpenGLSurface:"
+            selector/sender 1 swap execute( x x x -- )
 
-        self "backingScaleFactor" [
-            execute( x x -- x ) dup 1.0 > [
+            self "backingScaleFactor"
+            selector/sender execute( x x -- x )
+            dup 1.0 > [
                 gl-scale-factor set-global t retina? set-global
             ] [ drop ] if
-        ] when-method
+        ] when
     ]
 
     ! Rendering