projects
/
u
/
mdw
/
putty
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Implement refreshing the whole dialogue box with dlg_refresh, so that
[u/mdw/putty]
/
mac
/
mac.c
diff --git
a/mac/mac.c
b/mac/mac.c
index
4f7c2fc
..
a2e89f9
100644
(file)
--- a/
mac/mac.c
+++ b/
mac/mac.c
@@
-1,4
+1,4
@@
-/* $Id
: mac.c,v 1.59 2003/05/10 12:27:38 ben Exp
$ */
+/* $Id$ */
/*
* Copyright (c) 1999, 2003 Ben Harris
* All rights reserved.
/*
* Copyright (c) 1999, 2003 Ben Harris
* All rights reserved.
@@
-71,6
+71,7
@@
static int cold = 1;
static int borednow = FALSE;
struct mac_gestalts mac_gestalts;
UInt32 sleeptime;
static int borednow = FALSE;
struct mac_gestalts mac_gestalts;
UInt32 sleeptime;
+static long timing_next_time;
static void mac_startup(void);
static void mac_eventloop(void);
static void mac_startup(void);
static void mac_eventloop(void);
@@
-244,16
+245,31
@@
static void mac_startup(void) {
NewAEEventHandlerUPP(&mac_aevt_quit), 0, FALSE);
}
NewAEEventHandlerUPP(&mac_aevt_quit), 0, FALSE);
}
+void timer_change_notify(long next)
+{
+ timing_next_time = next;
+}
+
static void mac_eventloop(void) {
Boolean gotevent;
EventRecord event;
RgnHandle cursrgn;
static void mac_eventloop(void) {
Boolean gotevent;
EventRecord event;
RgnHandle cursrgn;
+ long next;
+ long ticksleft;
cursrgn = NewRgn();
sleeptime = 0;
for (;;) {
cursrgn = NewRgn();
sleeptime = 0;
for (;;) {
- mac_adjustcursor(cursrgn);
+ ticksleft=timing_next_time-GETTICKCOUNT();
+ if (sleeptime > ticksleft && ticksleft >=0)
+ sleeptime=ticksleft;
gotevent = WaitNextEvent(everyEvent, &event, sleeptime, cursrgn);
gotevent = WaitNextEvent(everyEvent, &event, sleeptime, cursrgn);
+ if (timing_next_time <= GETTICKCOUNT()) {
+ if (run_timers(timing_next_time, &next)) {
+ timer_change_notify(next);
+ }
+ }
+
/*
* XXX For now, limit sleep time to 1/10 s to work around
* wake-before-sleep race in MacTCP code.
/*
* XXX For now, limit sleep time to 1/10 s to work around
* wake-before-sleep race in MacTCP code.
@@
-267,9
+283,8
@@
static void mac_eventloop(void) {
if (borednow)
cleanup_exit(0);
}
if (borednow)
cleanup_exit(0);
}
- sk_poll();
if (!gotevent)
if (!gotevent)
-
mac_pollterm
();
+
sk_poll
();
if (mac_gestalts.apprvers >= 0x100 && mac_frontwindow() != NULL)
IdleControls(mac_frontwindow());
}
if (mac_gestalts.apprvers >= 0x100 && mac_frontwindow() != NULL)
IdleControls(mac_frontwindow());
}
@@
-457,6
+472,9
@@
static void mac_menucommand(long result) {
case iOpen:
mac_opensession();
goto done;
case iOpen:
mac_opensession();
goto done;
+ case iChange:
+ mac_reconfig();
+ goto done;
case iClose:
mac_closewindow(window);
goto done;
case iClose:
mac_closewindow(window);
goto done;
@@
-552,6
+570,7
@@
static void mac_adjustmenus(void) {
if (window != NULL && mac_wininfo(window)->adjustmenus != NULL)
(*mac_wininfo(window)->adjustmenus)(window);
else {
if (window != NULL && mac_wininfo(window)->adjustmenus != NULL)
(*mac_wininfo(window)->adjustmenus)(window);
else {
+ DisableItem(menu, iChange);
DisableItem(menu, iSave);
DisableItem(menu, iSaveAs);
DisableItem(menu, iDuplicate);
DisableItem(menu, iSave);
DisableItem(menu, iSaveAs);
DisableItem(menu, iDuplicate);
@@
-704,7
+723,7
@@
void verify_ssh_host_key(void *frontend, char *host, int port, char *keytype,
}
}
}
}
-void ask
cipher(void *frontend, char *ciphername, int cs
)
+void ask
alg(void *frontend, const char *algtype, const char *algname
)
{
}
{
}
@@
-784,6
+803,8
@@
void update_specials_menu(void *frontend)
mac_adjustmenus();
}
mac_adjustmenus();
}
+void notify_remote_exit(void *fe) { /* XXX anything needed here? */ }
+
/*
* Local Variables:
* c-file-style: "simon"
/*
* Local Variables:
* c-file-style: "simon"