Removed (within an #ifdef) Carbon-incompatabilities:
- Use TickCount() in stead of LMGetTicks()
- Don't use xxxGetFile event filter
- Don't call SystemTask or HandleSysWindowEvent (is this also automatically handled under os9??)
- Don't scan event queue for cmd-. (to be fixed at some point).
diff --git a/Mac/Python/macglue.c b/Mac/Python/macglue.c
index fd0ddfb..e79a64a 100644
--- a/Mac/Python/macglue.c
+++ b/Mac/Python/macglue.c
@@ -32,6 +32,11 @@
#include <Events.h>
+#ifdef TARGET_API_MAC_CARBON
+/* Unfortunately this call is probably slower... */
+#define LMGetTicks() TickCount()
+#endif
+
#ifdef __CFM68K__
#undef GetEventQueue
#endif /* __CFM68K__ */
@@ -147,8 +152,15 @@
int selectcur_hit; /* Set to true when "select current" selected */
char *prompt; /* The prompt */
};
+#ifdef TARGET_API_MAC_CARBON
+/* The StandardFile hooks don't exist in Carbon. This breaks GetDirectory,
+** but the macfsn code will replace it by a NavServices version anyway.
+*/
+#define myhook_upp NULL
+#else
static DlgHookYDUPP myhook_upp;
static int upp_inited = 0;
+#endif
/*
** The python-code event handler
@@ -400,6 +412,10 @@
scan_event_queue(flush)
int flush;
{
+#ifdef TARGET_API_MAC_CARBON
+ /* CARBONXXXX To be implemented */
+ return;
+#else
register EvQElPtr q;
q = (EvQElPtr) LMGetEventQueue()->qHead;
@@ -414,6 +430,7 @@
break;
}
}
+#endif
}
int
@@ -486,6 +503,7 @@
PyMac_HandleEventIntern(evp)
EventRecord *evp;
{
+#ifndef TARGET_API_MAC_CARBON
if ( evp->what == mouseDown ) {
WindowPtr wp;
@@ -494,6 +512,7 @@
return;
}
}
+#endif
#ifdef __MWERKS__
{
int siouxdidit;
@@ -561,9 +580,11 @@
*/
if( in_here > 1 || !schedparams.process_events ||
(python_event_handler && !maycallpython) ) {
+#ifndef TARGET_API_MAC_CARBON
if ( maxsleep >= 0 ) {
SystemTask();
}
+#endif
} else {
latest_time_ready = LMGetTicks() + maxsleep;
do {
@@ -743,10 +764,12 @@
StandardFileReply reply;
struct hook_args hook_args;
+#ifndef TARGET_API_MAC_CARBON
if ( !upp_inited ) {
myhook_upp = NewDlgHookYDProc(myhook_proc);
upp_inited = 1;
}
+#endif
if ( prompt && *prompt )
hook_args.prompt = (char *)Pstring(prompt);
else
@@ -769,10 +792,12 @@
static Point where = {-1, -1};
struct hook_args hook_args;
+#ifndef TARGET_API_MAC_CARBON
if ( !upp_inited ) {
myhook_upp = NewDlgHookYDProc(myhook_proc);
upp_inited = 1;
}
+#endif
if ( prompt && *prompt )
hook_args.prompt = (char *)Pstring(prompt);
else