[Pharo-project] About 4.0.1

John M McIntosh johnmci at smalltalkconsulting.com
Mon Apr 27 11:43:29 EDT 2009

ah, well that invokes some really old code.

Technically the apple event for open file(s) in comes in, we get one  
or many files because not only can you double
click you can drag/drop multiple files onto the desktop or dock squeak  
vm icon.

We then see if the finder type file type is STim or the file suffix is

int IsImageName(char *name) {
	char *suffix;

	suffix = strrchr(name, '.');  /* pointer to last period in name */
	if (suffix == NULL) return false;
	if (strcmp(suffix, ".ima") == 0) return true;
	if (strcmp(suffix, ".image") == 0) return true;
	if (strcmp(suffix, ".IMA") == 0) return true;
	if (strcmp(suffix, ".IMAGE") == 0) return true;
	return false;

Now if you have created an image on windows or linux, and dragged that  
to the macintosh file system, or are pulling the image from
some non HFS+ file system we won't have a proper finder file type, and  
rely on the IsImageName.   That also applies to an image downloaded
from the internet, or images that are zipped without Apple's gzip that  
as we all know includes that __MACOSX meta-data

Er yes it should do non-case sensitive compares but this I assure  you  
is orginal legacy code written by a individual who will not be named...

The question then is what name does the image file have, and where did  
it come from?

On 27-Apr-09, at 6:04 AM, Stéphane Ducasse wrote:

> Hi john
> doubleclicking on a image does not launch anymore a new VM but try  
> to load the image in a running one.
> is it coming from me?
> Stef

John M. McIntosh <johnmci at smalltalkconsulting.com>
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com

More information about the Pharo-dev mailing list