pending mac carbon VM 3.8.17b1

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

pending mac carbon VM 3.8.17b1

johnmci
I've pushed out a 3.8.17b1 universal mac carbon VM to my idisk and  
ftp site.

http://www.smalltalkconsulting.com/squeak.html

(a) A fair amount of work was done to make the VM and browser plugin  
work and not kill each other on these multiple CPU macIntel machines.
(b) I added a feature where the VM can open with no window, or you  
can close the main window, this lets future smalltalk code control  
when the window does open.
(c) After many hours of waiting to install 10.2.8 on my old PB G3  
laptop I rechecked the current VM and make changes so that 3.8.17b1  
does run on 10.2.8, I note that
we broke that in the macIntel port with the 3.8.10 build.
(d) The freetype plugin gets a revision to 2.2.2c52 to include an  
accessor primitive to fetch the OS2 table so we can look at the  
fstype for font embedding information.
(e) The new browser plugin was revised to work with Safari 1.0.3 on  
10.2.8. I note we should have an installation package for this on the  
squeakland site real soon now...


Finally I switched to a nice new shinny MacBook Pro so I upgraded  
XCode to 2.4.1, which of course has gcc version change implications,  
I did notice the VM is faster on macIntel,
people might want to check that.



3.8.17b1 Logic to enable startup without window, and let Ffenstri  
later add a window, or let Ffenstri close the main window.
                        Also put back the os-x 10.2.8 support by coding around missing  
routines in 10.2

                        sqMacOpenGL.c
                        sqMacWindowUniversal.c In ioShowDisplayOnWindow only force open  
the window if we are not explicit about the open based on the  
info.plist flag
                                                                        For os-x 10.2.8 fallback to old logic in ioSetDisplayMode
                        sqMacUIEventsUniversal.c Check for window in record mouse logic,  
also clean up some warning msgs
                                                                        For os-x 10.2.8 beware of   kEventParamWindowPartCode, 10.3  
feature
                                                                        Use amIOSX102X call to consider if 10.2 and execute old code  
instead
                        sqMacHostWIndow.c Set window tracking only if window exists
                        sqMacDragDrop.c Beware of setting drop handler, but no main window
                        sqMacOpenGL.c Watch out for no main window
                        sqMacMain.c Add new parm SqueakExplicitWindowOpenNeeded, true  
if we need to explicit open main window
                        sqMacUnixExternalPrims.c For os-x 10.2.8 fallback to old logic dl
() routines
                       

3.8.16b5 Squeak3d logic did not swap bytes corrrectly for macintel.  
Add parm to config.h and compiler.

3.8.16b4 sqMacSecurity.c Oops get external char [] wrong and why it  
crashes on strcpy...

3.8.16b3 Changed SqueakBrowserUntrustedDirectory info.plist to  
SqueakUntrustedDirectory and added SqueakTrustedDirectory.
                       
                        sqMacMain.c warning msg cleanup, add logic to get  
gSqueakTrustedDirectoryName

                        sqMacSecurity.c Rework how trusted directory is made, always make  
from info.plist entry, versus old unix hack.
                                                        warning msg cleanup.
3.8.16b2
                        sqMacUIEventsUniversal.c  Bug fix, optimized out stale screen  
flushing.
                        experimental, pulled, had bug where asking for vmParm < 0 or >2 <  
1000 or 1201 or 1202
                        would give uuid back, oops

3.8.15b8<<<>>>>browser plugin
                       
                        Fixed issue where when we go to setup the shared memory region the  
file name is not random enough, thus
                        if timing is right you end up sharing the same shared memory  
region if you run Safari and FireFox at the
                        same time. That gave one of our testers interesting visual side  
effects.

                        Fixed window draw issue in Safari, would blank Safari window to  
white, then not redraw properly, have to follow os-9
                        rules for updatewindow logic on a update window request.

                        Update cursor logic so that moving out of the plugin window  
restores the cursor, moving back in
                        sets the special squeak cursor.

                        Don't pass activate or update events to the VM, activate is  
pointless, update is handled internally, we can draw
                        the screen according to the clip area.

                        Finally make pipe to VM non-blocking, if we get a EAGAIN, we try  
20 times then give up. This solves the issue when
                        a person uses the Quit Button in the plugin and stops the VM from  
running. Of course the screen is not updated now
                        but we still retain control of the cursor,keyboard  so you can  
reload the etoy application via the browser. Before Safari
                        would lockup trying to send data to the non-existant VM.

3.8.16b1 Revision to 3.8.16 because of adding browser full screen  
support
               
                        sqMacMain.c on exit reset menu bar if was headless, browser,  
and went full screen
                       
                        sqMacNSPluginUILogic2.c add helper methods for when in browser  
mode and gone full screen, also
                                                                        then ignore cmds from browser when in full screen mode.
                       
                        sqMacNSPluginUILogic2.h header changes

                        sqMacUIEvents.h Add missing RunApplicationEventLoopWithSqueak  
declare

                        sqMacUIEventsUniversal.c When running full screen in browser mode,  
we need to consider application activation,
                                                                        deactivation, mouse cursor enter/leave,  
gSqueakBrowserMouseMappings versus
                                                                        gSqueakMouseMappings, screen flushing

                        sqMacWindowUniversal.c On going full screen we need to fix the  
menu bar, show the window, ensure window
                                                                        context is set correctly, send bits to the window, versus  
browser, flip squeak to
                                                                        the foreground, and ensure cursor sets go to the foreground  
versus the browser.
                                               
                                                                        On leaving full screen, we must flip to the browser, and  
hide the window.


3.8.15b8   sqMacNSPluginUILogic2.c Alter shared memory include 20  
more bytes to
                                                                        indicate a drawing request and the co-ordinates versus using  
the pipe.
                       
                        sqMacNSPluginUILogic2.h structure added.
                       
                        sqMacUIEventsUniversal.c Do not flush hidden squeak window,  
pointless when running in browser mode.

                        sqMacWindowUniversal.c Do not flush hidden squeak window,  
pointless when running in browser mode.
                                                                        Alter browser screen update logic, use shared memory to  
indicate a draw is
                                                                        needed and where. Later when we come back to draw the next  
frame, if the
                                                                        pending draw is not done yet, we wait 1 second in a phtread  
pause loop in 10 ms
                                                                        increments. This ensures we do not overrun the ability of  
the browser to draw frames

3.8.15b7 Was test version, not widely distributed.

--
========================================================================
===
John M. McIntosh <[hidden email]>
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
========================================================================
===



Reply | Threaded
Open this post in threaded view
|

Re: pending mac carbon VM 3.8.17b1

Karl-19
John M McIntosh wrote:
> I've pushed out a 3.8.17b1 universal mac carbon VM to my idisk and ftp
> site.
Could you move the Quit Squeak option from the File menu to the Squeak
menu ?

Karl

Reply | Threaded
Open this post in threaded view
|

Re: pending mac carbon VM 3.8.17b1

johnmci
Lurking in the Squeak 3.10 image I think is code to do this via the  
mac menu api, people are welcome to look.

I've never wanted to stick the quit in the proper place because it's  
quit no save, and people might forget the difference between quit no  
save, and quit {implied ask save changes...}

Another issue here is that if you log-off a quit cmd is issued to  
each application and we've never decided how that should flow up from  
the VM to
the smalltalk image thus prompting the user if he should save and  
quit. Right now we ignore the request, versus terminating the VM,  
unless you
use a specific info.plist setting that tells the VM to quit no save  
if we are told to quit by the operating system.



On Apr 25, 2007, at 2:50 PM, Karl wrote:

> John M McIntosh wrote:
>> I've pushed out a 3.8.17b1 universal mac carbon VM to my idisk and  
>> ftp site.
> Could you move the Quit Squeak option from the File menu to the  
> Squeak menu ?
>
> Karl

--
========================================================================
===
John M. McIntosh <[hidden email]>
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
========================================================================
===



Reply | Threaded
Open this post in threaded view
|

Download FFI for X86 Linux

jgfoster
It appears that FFI is part of the Windows install, but I don't see anything
like that in the Linux install. Is it pre-built or otherwise available?

James


Reply | Threaded
Open this post in threaded view
|

RE: Download FFI for X86 Linux

jgfoster
I see now that it is built-in! How nice.

> -----Original Message-----
> From: [hidden email] [mailto:squeak-dev-
> [hidden email]] On Behalf Of James Foster
> Sent: Wednesday, April 25, 2007 5:18 PM
> To: 'The general-purpose Squeak developers list'
> Subject: Download FFI for X86 Linux
>
> It appears that FFI is part of the Windows install, but I don't see
> anything
> like that in the Linux install. Is it pre-built or otherwise available?
>
> James
>