-/* $Id: mac.c,v 1.50 2003/02/20 22:31:52 ben Exp $ */
+/* $Id: mac.c,v 1.51 2003/02/23 11:58:59 ben Exp $ */
/*
* Copyright (c) 1999, 2003 Ben Harris
* All rights reserved.
static void mac_contentclick(WindowPtr, EventRecord *);
static void mac_growwindow(WindowPtr, EventRecord *);
static void mac_activatewindow(WindowPtr, EventRecord *);
+static void mac_suspendresume(EventRecord *);
static void mac_activateabout(WindowPtr, EventRecord *);
static void mac_updatewindow(WindowPtr);
static void mac_updatelicence(WindowPtr);
}
break;
#endif
+ case osEvt:
+ switch ((event->message & osEvtMessageMask) >> 24) {
+ case suspendResumeMessage:
+ mac_suspendresume(event);
+ break;
+ }
+ break;
case kHighLevelEvent:
AEProcessAppleEvent(event); /* errors? */
break;
}
}
+static void mac_suspendresume(EventRecord *event)
+{
+ WindowPtr front;
+ EventRecord fakeevent;
+
+ /*
+ * We're called either before we're suspended or after we're
+ * resumed, so we're the front application at this point.
+ */
+ front = FrontWindow();
+ if (front != NULL) {
+ fakeevent.what = activateEvt;
+ fakeevent.message = (UInt32)front;
+ fakeevent.when = event->when;
+ fakeevent.where = event->where;
+ fakeevent.modifiers =
+ (event->message & resumeFlag) ? activeFlag : 0;
+ mac_activatewindow(front, &fakeevent);
+ }
+}
+
static void mac_zoomwindow(WindowPtr window, short part) {
/* FIXME: do something */
-/* $Id: mac_res.r,v 1.27 2003/02/12 23:53:15 ben Exp $ */
+/* $Id: mac_res.r,v 1.28 2003/02/23 11:58:59 ben Exp $ */
/*
* Copyright (c) 1999, 2002 Ben Harris
* All rights reserved.
resource 'SIZE' (-1) {
reserved,
- ignoreSuspendResumeEvents,
+ acceptSuspendResumeEvents,
reserved,
canBackground,
- needsActivateOnFGSwitch,
+ doesActivateOnFGSwitch,
backgroundAndForeground,
dontGetFrontClicks,
ignoreAppDiedEvents,