mac carbon vm 3.8.11b1U posted to experimental
John M McIntosh
johnmci at smalltalkconsulting.com
Tue Mar 7 04:25:21 UTC 2006
I've posted a mac carbon vm 3.8.11b1U for universal to
http:://www.smalltalkconsulting.com/squeak.html
follow links to idisk or FTP.
This VM is a result of a major cleaning done over the weekend where
I did:
a) Refactored removed old OS-9 code, always use carbon, etc, basic
housekeeping chores that were put off for a few years.
b) Removed TARGET_API_MAC_CARBON, IHAVENOHEAD
c) Made most variables static, procedures static where applicable.
d) Always use Unix file names, drop any HFS logic
e) Eradicate most usages of FSSpec, except for drop file logic (sigh)
and a specialized use in InternetConfig, and URL post/get
f) Reworked much of drag and drop logic to eradicate complaints from
the 10.4u depreciated warnings monster....
Testers should ensure drag and drop works as expected from the
finder, and Safari, also that starting the VM by cmd line,
by clicking on one or more images, or squeak documents, or drag and
drop to squeak VM in finder works as expected, and or setting the
plist.info Also someone might confirm that the MacIntel box likes
this VM, untested here on the island. I'll note I did poke a bit at
the full screen logic for the MacIntel port, perhaps it works now?
I have a NPSqueak (the squeak browser plugin) but need some brave
fellow to poke at it since it's been converted to unix file names
and refactored and greatly touched and untested in the area of URL
GET and POST logic, let alone a zillion other areas.
Likely as time permits I am going to do a paranoid pass thru the Mac
VM code to ensure bad return codes, improper values are
considered, trapped and give acceptable feedback and fprintfs to
stderr. For the most part such checks are done, but I think the level of
paranoia was not high enough. That and add the headless support, not
sure why tho....
From the readme notes:
3.8.11b1
sqMacOpenGL..c
sqMacOpenGLInfo.c
sqMacDragDrop.c
don't bother with Gestalt, we now drag and drop exists on machines
of os-x era.
convert to use FSRef
Use GetDragAttributes versus bounds in window.
Drop WaitNextEvent, dummy up event
sqMacUnixFileInterface.c
findImageFilterProc use get pathname and last path component to
decide if file is image
sqMacUnixFileInterface.h
sqMacHostWindow.c
use QDLocalToGlobalRect in ioPositionOfWindow versus casting rect
to point
sqMacHostWindow.h
sqMacInternetConfiguration.c
make FSRef when dealing with ICFileSpec
remove some copy pascal to c calls.
sqMacJoystickAndTablet.c
sqMacMIDI.c
sqMacSecurity.c
sqMacSerialPost.c
sqMacUUID.c
sqMacEncoding.c
Drop SetImageName()
sqMacEncoding.h
sqMacFileLogic.h
sqMacImageIO.c
drop calculateStartLocationForImage() logic
sqMacImageIO.h
sqMacMain.c
drop powerManager logic, not needed, cleanup of statics, cleanup
for browser logic
cast data right for sprintf(data,"%X",myattr);
sqMacMain.h
sqMacMemory.c
removal of the os-9 swapfile logic
watch signed versus unsigned compares
sqMacTime.c
sqMacTime.h
sqMacUIAppleEvents.c
use gCurrentVMEncoding, versus system encoding for getting file names
drop logic for start of image offset os-9 feature
remove PBHSetVolSync()
drop LocalToGlobal, use fake mouse location
sqMacUIAppleEvents.h
sqMacUIClipBoard.c
sqmacUIClipBoard.h
sqMacUIConstants.h
sqMacUIEvents.h
sqMacUIEventsUniversal.c
remove tap power manager event loop callback
In MyWindowEventMouseHandler() put back in 10.2.8 versus 10.3.9 logic
sqMacUIMenuBar.h
sqMacUUIMenuBarUniversal.c
sqMacUnixCommandLineInterface.c
sqMacUnixExternalPrims.c
sqMacWindow.h
sqMacWindowUniversal.c
In ioSetFullScreenActual, use QDLocalToGlobalRect, versus casting
to points
In copy124BitsTheHardWay little versus bit endian for making gworld
sqMacNSPluginUILogic.c
use QDSwapPort versus get/set port for performance reasons
In ioShowDisplayOnWindow avoid double get of windowPort
In recordMouseEvent use QDGlobalToLocalPoint
sqMacNSPlugin.c
Make windowActive = 1, not sure why this didn't fail in the past...
Alter GetTempFSSpec to return both fsspec and FSRef
3.8.10b16
Update info.plists and xcode projects on SVN
Drop #ifdefs for this below, we always compile on MACH now, versus
CodeWarrior
Certain end of CodeWarrior OS-9 Support.
#if defined (__APPLE__) && defined(__MACH__)
#if defined I_AM_CARBON_EVENT
#if defined MINIMALVM (sorry Dan)
sqMacOpenGL..c
sqMacOpenGLInfo.c
sqMacWindowPlugin.c
sqMacImageIO.c
sqMacMain.c
sqMacMemory.c
sqMacTime.c
sqMacUIAppleEvents.c
sqMacWindowsUniversal.c
sqPlatformSpecific.c
sqMacNSPlugin.c
osExport.c
Export GetUIToLock api so we can callback from FFI on browser
plugin UI thread.
sqConfig.h
Remove #ifdefs above and references to Codewarrior 8
sqmacMain.c
change logic to support Sophie Browser plugin SOPHIEVI change
logic to get bundle by bundle id when a browser plugin so we can
get bundle info.plist for startup logic and when we ask for VM
version info
remove the gThreadManager OS-9 cooperative thread logic
sqMacUIAppleEvents.c
browser plugin VM should not Launch Squeak VM on double click.
sqMacUIEventsUniversal.c
add getUIToLock() logic for Browser plugin support
sqMacUnixExternalPrims.c
Browser plugin loading bundles support (for squeakland and Sophie)
sqMacWindowUniversal.c
Fiddle with CGImageCreate 32 host endiness issues
Fix cursors data/mask on intel
info.plist for Squeak VM Universal
sqmacNSPluginUILogic.c
complete refactor of bits for Squeak browser plugin, put squeak VM
stuff in seperate file
sqMacNSPlugin.c
complete refactor of bits for Squeak browser plugin, move squeak
stuff to other file.
Make work with unix file names
--
========================================================================
===
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
========================================================================
===
More information about the Vm-dev
mailing list