From f57961fba436e059877ef8234930f54bd58dff60 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sun, 24 Oct 2010 12:12:06 -0600 Subject: [PATCH] cocoa ppc repairs --- collects/mred/private/wx/cocoa/window.rkt | 10 +++++--- collects/racket/draw/jpeg.rkt | 31 +++++++++++++++-------- src/gracket/get-libs.rkt | 14 +++++++++- 3 files changed, 39 insertions(+), 16 deletions(-) diff --git a/collects/mred/private/wx/cocoa/window.rkt b/collects/mred/private/wx/cocoa/window.rkt index 3ff8328f60..1ff1284894 100644 --- a/collects/mred/private/wx/cocoa/window.rkt +++ b/collects/mred/private/wx/cocoa/window.rkt @@ -655,11 +655,12 @@ (define/public (screen-to-client xb yb) (let ([p (tell #:type _NSPoint (get-cocoa-content) - convertPointFromBase: #:type _NSPoint + convertPoint: #:type _NSPoint (tell #:type _NSPoint (get-cocoa-window) convertScreenToBase: #:type _NSPoint (make-NSPoint (unbox xb) - (send (get-wx-window) flip-screen (unbox yb)))))]) + (send (get-wx-window) flip-screen (unbox yb)))) + fromView: #f)]) (set-box! xb (inexact->exact (floor (NSPoint-x p)))) (set-box! yb (inexact->exact (floor (flip-client (NSPoint-y p))))))) @@ -668,8 +669,9 @@ convertBaseToScreen: #:type _NSPoint (tell #:type _NSPoint (get-cocoa-content) - convertPointToBase: #:type _NSPoint - (make-NSPoint (unbox xb) (flip-client (unbox yb)))))]) + convertPoint: #:type _NSPoint + (make-NSPoint (unbox xb) (flip-client (unbox yb))) + toView: #f))]) (let ([new-y (if flip-y? (send (get-wx-window) flip-screen (NSPoint-y p)) (NSPoint-y p))]) diff --git a/collects/racket/draw/jpeg.rkt b/collects/racket/draw/jpeg.rkt index 42d16b49a8..0f0cc70695 100644 --- a/collects/racket/draw/jpeg.rkt +++ b/collects/racket/draw/jpeg.rkt @@ -10,12 +10,17 @@ (define-runtime-lib jpeg-lib [(unix) (ffi-lib "libjpeg" '("62" ""))] - [(macosx) (ffi-lib "libjpeg.62.dylib")] + [(macosx) + ;; for PPC, it's actually version 8! + (ffi-lib "libjpeg.62.dylib")] [(windows) (ffi-lib "libjpeg-7.dll")]) (define JPEG_LIB_VERSION (case (system-type) - [(macosx) 62] + [(macosx) (if (string=? "ppc-macosx" + (path->string (system-library-subpath #f))) + 80 + 62)] [(unix) 62] [(windows) 70])) @@ -65,6 +70,16 @@ [(62) _int] [else (make-cstruct-type (list _int _int))])) +(define _prog_scan_size + (case JPEG_LIB_VERSION + [(62 70) (make-cstruct-type (list _int _int _int _int))] + [else (make-cstruct-type (list _int _int _int _int _int _pointer _int))])) + +(define _comp_info_size + (case JPEG_LIB_VERSION + [(62 70) _pointer] + [else (make-cstruct-type (list _pointer _bool))])) + (define-cstruct _jpeg_decompress_struct ([err _jpeg_error_mgr-pointer] [mem _jpeg_memory_mgr-pointer] [progress _pointer] ; _jpeg_progress_mgr_pointer @@ -134,7 +149,7 @@ [data_precision _int] - [comp_info _pointer] + [comp_info&is_baseline _comp_info_size] [progressive_mode _bool] [arith_code _bool] @@ -236,10 +251,7 @@ [MCU_membership_9 _int] [MCU_membership_10 _int] - [Ss _int] - [Se _int] - [Ah _int] - [Al _int] + [prog_scan _prog_scan_size] ; Ss, Se, Ah, Al [unread_marker _int] @@ -443,10 +455,7 @@ [MCU_membership_9 _int] [MCU_membership_10 _int] - [Ss _int] - [Se _int] - [Ah _int] - [Al _int] + [prog_scan _prog_scan_size] ; Ss, Se, Ah, Al [master _pointer] [main _pointer] diff --git a/src/gracket/get-libs.rkt b/src/gracket/get-libs.rkt index 02323b728c..143b7d0c2b 100644 --- a/src/gracket/get-libs.rkt +++ b/src/gracket/get-libs.rkt @@ -58,7 +58,19 @@ ["libpng14.14.dylib" 192224] ["PSMTabBarControl.tgz" 107171])] [(ppc-macosx) - '()])] + '(["libcairo.2.dylib" 2716096] + ["libintl.8.dylib" 133156] + ["libgio-2.0.0.dylib" 936176] + ["libjpeg.62.dylib" 209688] + ["libglib-2.0.0.dylib" 1242368] + ["libpango-1.0.0.dylib" 761292] + ["libgmodule-2.0.0.dylib" 19872] + ["libpangocairo-1.0.0.dylib" 199440] + ["libgobject-2.0.0.dylib" 352728] + ["libpixman-1.0.dylib" 1366816] + ["libgthread-2.0.0.dylib" 25416] + ["libpng14.14.dylib" 505920] + ["PSMTabBarControl.tgz" 96036])])] [(windows) (let ([basic '(["libjpeg-7.dll" 233192] ["libcairo-2.dll" 921369]