Mac Carbon VM goes to 3.8.14b7
karl
karl.ramberg at chello.se
Tue Dec 12 20:55:22 UTC 2006
John M McIntosh skrev:
> I've published a new Macintosh Carbon Universal (powerpc/macintel) VM
> 3.8.14b7.
>
> This VM is posted to my idisk or FTP site found via
> http://www.smalltalkconsulting.com/squeak.html
>
>
> I'll note currently the published version on ftp.squeak.org is
> 3.8.12b4, if someone in the web/server/ftp group could update the mac
> 3.9 distribution that would be great, perhaps in 24/48 hours just in
> case someone has issues with the VM.
>
>
> Since the 3.8.12b4 release the work done has included more info.plist
> entries to control mouse button mapping, headless support, and
> thanks to funding from ViewPoint Research a complete rewrite of the
> browser plugin logic to launch a VM as a sub-process of the browser
> using roughly the same logic as the X11 unix browser plugin/VM interface.
>
> As noted earlier the printJob plugin changes to 1.4 to suport
> CGContext drawing with EPS support, and the FreeType 2 Plugin
> was recompiled to support G3 powerpc machines.
>
> Changes since 3.8.12b4 are listed below:
>
> Mac VM 3.8.14 mach-o build for Carbon, Sophie, Exupery, (Safari &
> Firefox browsers) and Croquet.
>
> Support for Croquet, support for Safari, support for TK4/Sophie,
> support for Multiple Windows/Ffenestri, full GC instrumentation,
> configurable quartz flush drawing, MacIntel Machines, mappable mouse
> buttons, Safari and Firefox browser support and finally Exupery
> interfaces. Plugins include support for
>
> April 24th, 2006 (3.8.12b4)
> June 5th, 2006 (3.8.12b5)
> Sept xth, 2006 (3.8.12b5)
> Sept 22th, 2006 (3.8.12b7)
> Sept 25th, 2006 (3.8.13b1)
> Oct 13th, 2006 (3.8.13b3
> Oct 16th 2006 (3.8.13b4)
> Nov 10th, 2006 (3.8.14b2)
> Nov 16th, 2006 (3.8.14b3)
> Nov 21th, 2006 (3.8.14b5)
> Nov 23th, 2006 (3.8.14b6)
> Dec 12th, 2006 (3.8.14b7)
>
> Still yet to do, in future versions -> Verify that file delete rename
> etc works on aliases, not the targets. (Yawn, someday)
>
> Pre OS-X users should read about OS-9 packages in the 3.2.4 change notes.
>
> 3.8.14b7 sqMacMain.c Add signal handler on SIGSEGV, dump all
> stacks.
>
> 3.8.14b6 More browser changes
>
> sqMacSecurity Alter logic to accept plist.info entry for
> untrustedDirectory.
> info.plist Add mouse button logic for browser
> events, uses SqueakBrowserMouseNoneButton1
> etc. Also add SqueakBrowserUnTrustedDirectory
> which is
> ~/Library/Preferences/Squeak/Internet/My Squeak/
> sqMacMain.c Add logic to parse new entries (as above) from
> info.plist
> sqMacUIEventsUniversal On figuring out
> MouseModifierStateCarbon, consider if it's a browser event,
> if so then use SqueakBrowserMouseNoneButton1
> entries, versus SqueakMouseNoneButton1
>
>
> 3.8.14b5 Alter browser logic
> npsqueak.c add some more debugging prints
>
> sqMacMain.c change version number and UUID
>
> sqMacNSPluginUILogic2.c More debug printing, also get
> correct mouse and modifer key state when we
> have a keystroke event.
>
> sqMacUIEventsUniversal.c Get browser mouse position via
> remembering fake carbon events to avoid
> doing the get/setPort and GetMousePoint() 1984 logic.
> Add the checkBrowserForHeartBeat
> logic which checks every 6.66 seconds if the parent
> process (the browser) is running, if not then
> we ask the VM to quit. This suggestion by Juergen
> Gmeiner ensures the VM does not become an
> orphaned process if the browser crashes.
>
> 3.8.14b4 had limited release.
>
> 3.8.14b3 sqMacWIndowUnversial.c Ensure window is created when
> non-headless and not running under the browser
> typo in check prevent squeak from showing the window when
> running standalone for 3.8.14b2.
>
> sqMacMain.c Check processsor status at startup, if
> non-headless and LSBackgroundOnly is true, then
> switch process to foreground.
> info.plist rest LSBackgroundOnly to false, from
> true, to avoid Dock display issue. People
> wanting true headless app need then to alter
> info.plist
>
> revert bitBlt>copyLoop changes, introduced drawing problems,
> look at fixing later, or never as time permits
>
> 3.8.14b2 Fixes for browser support
>
> 3.8.14b1 New browser support on os-x mac/macintel for safari and
> firefox.
> This logic now follows the example set by the unix plugin,
> where we
> run the VM headless and talk to the browser plugin stub via a
> two-way pipe to
> enable fetching data via a URL, drawing the screen, and
> setting the cursor.
>
> Thanks to Viewpoint Research for funding this effort.
> This VM had limited distribution.
>
> sqMacOpenGL.c - remove BROWSERPLUGIN
> sqMacUnixFileInterface.c - needed include for
> sqUnixCharConv.h
> sqMacHostWindow.c - remove BROWSERPLUGIN
> sqMacMain.c - remove BROWSERPLUGIN, add browser
> pipe logic,
> rearrange startup to handle startup
> with out window for browser support.
> sqMacMemory.c - remove BROWSERPLUGIN
> sqMacTime.c - remove BROWSERPLUGIN
> sqMacUIAppleEvents.c - remove BROWSERPLUGIN
> sqMacUIEventsUniversal.c - remove BROWSERPLUGIN, expose
> some internals so new browser
> support code can call or access.
> sqMacUnixCommandLineInterface.c - add headfull cmd for
> browser testing
> sqMacUnixExernalPrims.c - remove BROWSERPLUGIN
> sqMacWIndowUnversial.c - remove BROWSERPLUGIN, changes for
> browser support,
> assume window is hidden which is
> different from being headless.
> sqNamedPrims.h - remove BROWSERPLUGIN
> sqPlatformSpecific.h - remove BROWSERPLUGIN, add URL_FETCH
> npSqueak - Directory, add plugin for
> browser into source tree
> sqMacNSPLuginUILogic2.c - new file to replace
> sqmacNSPluginUILogic.c
> sqMacNSPLuginUILogic2.h - new file to replace
> sqmacNSPluginUILogic2.c
>
>
> 3.8.13.b4 Headless support
> sqMacMain.c
> headless, set background to false if not headless.
> alter uuid returned to signify which VM this is
>
> info.plist
> swap buttons to ensure cmd/opt of trackpad is right
> Add LSBackgroundOnly to yes i
>
> sqMacEventsUniversal.c
> headless support
>
> sqMacUnixCommandLineInterface.c
> headless parm -headless added
>
> sqMacWindowUniversal.c
> headless support
>
> platforms/Cross/plugins/ExuperyPLugin created
>
> 3.8.13.b4, b5, b6, b7
> Had limited distribution to test new button modification logic
>
> 3.8.13.b3
> bitBlt>copyLoop changes, normally it prefetchs the next byte
> for barrel shifting 64 bits when copying from
> one form to another, and a dirty secret and old bug is that it
> reads one word past the end of the Form
> when it processes the last word in the Form. However when you
> use surfaces where the surface is
> allocated elsewhere not in object space and in fact say the
> allocated form is 2MB and the vm memory
> system makes the frame past the 2MB range non-readable, why
> then you die on a read protection failure.
> So alter the loop to consider if it's preload and the last
> line we don't do the pre-fetch because that could
> cause a read failure.
> 3.8.13.b2
> Exupery support, via plugin and changes in the VM for Mac
> Intel, use merged VMMaker-Exupery change set
>
> 3.8.13.b1
> Exupery support, via plugin and changes in the VM for Mac Intel.
> http://minnow.cc.gatech.edu/squeak/5672
>
> 3.8.12.b7 sqMacUIEventsUniversal.c
> rewrite MouseModifierStateCarbon() So that we use information
> in info.plist to map buttons left to right
> 1, 2, 3 into red, yellow, blue. Thus on a scroll mouse the
> buttons read left to right 1, 3, 2 red,blue,yellow
> as the mac classic behavior. SqueakMouseCmd is when cmd key is
> donwn, Option, for option/alt key, and
> Control for control key. This then gives you full control over
> what the mouse button to red/yellow/blue is.
>
> <key>SqueakMouseNoneButton1</key>
> <integer>1</integer>
> <key>SqueakMouseNoneButton2</key>
> <integer>3</integer>
> <key>SqueakMouseNoneButton3</key>
> <integer>2</integer>
> <key>SqueakMouseCmdButton1</key>
> <integer>2</integer>
> <key>SqueakMouseCmdButton2</key>
> <integer>3</integer>
> <key>SqueakMouseCmdButton3</key>
> <integer>2</integer>
> <key>SqueakMouseOptionButton1</key>
> <integer>3</integer>
> <key>SqueakMouseOptionButton2</key>
> <integer>3</integer>
> <key>SqueakMouseOptionButton3</key>
> <integer>2</integer>
> <key>SqueakMouseControlButton1</key>
> <integer>1</integer>
> <key>SqueakMouseControlButton2</key>
> <integer>3</integer>
> <key>SqueakMouseControlButton3</key>
> <integer>2</integer>
>
> 3.8.12b6
> sqMacUIEventsUniversal.c
> First trial at button mapping, not widely distributed and
> completely changed by 3.8.12b7
>
> 3.8.12b5
> sqMacUnixExternalPrims.c
> Ensure frameworks get loaded out of application resources,
> then system area. Before
> we only looked in system area which was wrong if you want
> to override framework.
> I'll note we can't load from plugin folder for system
> frameworks, does not see to work,
> if first path not found it resolve to system area.
>
>
> --
> ===========================================================================
>
> John M. McIntosh <johnmci at smalltalkconsulting.com>
> Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
> ===========================================================================
>
>
>
>
>
I'll put the VM up on the ftp. Raymond, could you build another mac
package ?
Karl
More information about the Squeak-dev
mailing list
|