~mdw
/
sgt
/
putty
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed a PuTTYtel startup assertion failure introduced in r8305.
[sgt/putty]
/
unix
/
gtkwin.c
diff --git
a/unix/gtkwin.c
b/unix/gtkwin.c
index
4569788
..
6510e26
100644
(file)
--- a/
unix/gtkwin.c
+++ b/
unix/gtkwin.c
@@
-75,6
+75,7
@@
struct gui_data {
int mouseptr_visible;
int busy_status;
guint term_paste_idle_id;
int mouseptr_visible;
int busy_status;
guint term_paste_idle_id;
+ guint term_exit_idle_id;
int alt_keycode;
int alt_digits;
char wintitle[sizeof(((Config *)0)->wintitle)];
int alt_keycode;
int alt_digits;
char wintitle[sizeof(((Config *)0)->wintitle)];
@@
-1220,9
+1221,9
@@
void frontend_keypress(void *handle)
exit(0);
}
exit(0);
}
-
void notify_remote_exit(void *frontend
)
+
static gint idle_exit_func(gpointer data
)
{
{
- struct gui_data *inst = (struct gui_data *)
frontend
;
+ struct gui_data *inst = (struct gui_data *)
data
;
int exitcode;
if (!inst->exited &&
int exitcode;
if (!inst->exited &&
@@
-1244,6
+1245,16
@@
void notify_remote_exit(void *frontend)
}
gtk_widget_show(inst->restartitem);
}
}
gtk_widget_show(inst->restartitem);
}
+
+ gtk_idle_remove(inst->term_exit_idle_id);
+ return TRUE;
+}
+
+void notify_remote_exit(void *frontend)
+{
+ struct gui_data *inst = (struct gui_data *)frontend;
+
+ inst->term_exit_idle_id = gtk_idle_add(idle_exit_func, inst);
}
static gint timer_trigger(gpointer data)
}
static gint timer_trigger(gpointer data)