summaryrefslogtreecommitdiffstats
path: root/mac/tkMacBitmap.c
diff options
context:
space:
mode:
Diffstat (limited to 'mac/tkMacBitmap.c')
-rw-r--r--mac/tkMacBitmap.c35
1 files changed, 24 insertions, 11 deletions
diff --git a/mac/tkMacBitmap.c b/mac/tkMacBitmap.c
index 6f09434..0b71837 100644
--- a/mac/tkMacBitmap.c
+++ b/mac/tkMacBitmap.c
@@ -3,12 +3,12 @@
*
* This file handles the implementation of native bitmaps.
*
- * Copyright (c) 1996 Sun Microsystems, Inc.
+ * Copyright (c) 1996-1997 Sun Microsystems, Inc.
*
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tkMacBitmap.c,v 1.2 1998/09/14 18:23:34 stanton Exp $
+ * RCS: @(#) $Id: tkMacBitmap.c,v 1.3 1999/04/16 01:51:29 stanton Exp $
*/
#include "tkPort.h"
@@ -82,7 +82,7 @@ static BuiltInIcon builtInIcons[] = {
*
* Results:
* A standard Tcl result. If an error occurs then TCL_ERROR is
- * returned and a message is left in interp->result.
+ * returned and a message is left in the interp's result.
*
* Side effects:
* "Name" is entered into the bitmap table and may be used from
@@ -100,10 +100,14 @@ TkpDefineNativeBitmaps()
char * name;
BuiltInIcon *builtInPtr;
NativeIcon *nativeIconPtr;
+ Tcl_HashTable *tablePtr;
+ ThreadSpecificData *tsdPtr = (ThreadSpecificData *)
+ Tcl_GetThreadData(&dataKey, sizeof(ThreadSpecificData));
for (builtInPtr = builtInIcons; builtInPtr->name != NULL; builtInPtr++) {
name = Tk_GetUid(builtInPtr->name);
- predefHashPtr = Tcl_CreateHashEntry(&tkPredefBitmapTable, name, &new);
+ tablePtr = TkGetBitmapPredefTable();
+ predefHashPtr = Tcl_CreateHashEntry(tablePtr, name, &new);
if (!new) {
continue;
}
@@ -128,7 +132,7 @@ TkpDefineNativeBitmaps()
*
* Results:
* A standard Tcl result. If an error occurs then TCL_ERROR is
- * returned and a message is left in interp->result.
+ * returned and a message is left in the interp's result.
*
* Side effects:
* "Name" is entered into the bitmap table and may be used from
@@ -188,7 +192,7 @@ TkpCreateNativeBitmap(
*
* Results:
* A standard Tcl result. If an error occurs then TCL_ERROR is
- * returned and a message is left in interp->result.
+ * returned and a message is left in the interp's result.
*
* Side effects:
* "Name" is entered into the bitmap table and may be used from
@@ -210,19 +214,28 @@ TkpGetNativeAppBitmap(
GWorldPtr destPort;
Rect destRect;
Handle resource;
- int type;
+ int type, destWrote;
+ Str255 nativeName;
+
+ /*
+ * macRoman is the encoding that the resource fork uses.
+ */
+
+ Tcl_UtfToExternal(NULL, Tcl_GetEncoding(NULL, "macRoman"), name,
+ strlen(name), 0, NULL,
+ (char *) &nativeName[1],
+ 255, NULL, &destWrote, NULL); /* Internalize native */
+ nativeName[0] = destWrote;
- c2pstr(name);
- resource = GetNamedResource('cicn', (StringPtr) name);
+ resource = GetNamedResource('cicn', nativeName);
if (resource != NULL) {
type = TYPE3;
} else {
- resource = GetNamedResource('ICON', (StringPtr) name);
+ resource = GetNamedResource('ICON', nativeName);
if (resource != NULL) {
type = TYPE2;
}
}
- p2cstr((StringPtr) name);
if (resource == NULL) {
return NULL;