summaryrefslogtreecommitdiffstats
path: root/Mac/Python/macglue.c
diff options
context:
space:
mode:
authorJack Jansen <jack.jansen@cwi.nl>2000-06-02 21:27:11 (GMT)
committerJack Jansen <jack.jansen@cwi.nl>2000-06-02 21:27:11 (GMT)
commitbb6d83a8c4b5d6872b7bf5ee927a184f286cf56d (patch)
tree80572eff679043c8c0676e94f8470844010784b7 /Mac/Python/macglue.c
parent14cd750004af0fac7d39fae307eb8184c8f0dc24 (diff)
downloadcpython-bb6d83a8c4b5d6872b7bf5ee927a184f286cf56d.zip
cpython-bb6d83a8c4b5d6872b7bf5ee927a184f286cf56d.tar.gz
cpython-bb6d83a8c4b5d6872b7bf5ee927a184f286cf56d.tar.bz2
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).
Diffstat (limited to 'Mac/Python/macglue.c')
-rw-r--r--Mac/Python/macglue.c25
1 files changed, 25 insertions, 0 deletions
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 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#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 @@ struct hook_args {
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 @@ static void
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 @@ scan_event_queue(flush)
break;
}
}
+#endif
}
int
@@ -486,6 +503,7 @@ void
PyMac_HandleEventIntern(evp)
EventRecord *evp;
{
+#ifndef TARGET_API_MAC_CARBON
if ( evp->what == mouseDown ) {
WindowPtr wp;
@@ -494,6 +512,7 @@ PyMac_HandleEventIntern(evp)
return;
}
}
+#endif
#ifdef __MWERKS__
{
int siouxdidit;
@@ -561,9 +580,11 @@ PyMac_DoYield(int maxsleep, int maycallpython)
*/
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 @@ PyMac_GetDirectory(dirfss, prompt)
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 @@ void PyMac_PromptGetFile(short numTypes, ConstSFTypeListPtr typeList,
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