~mdw
/
sgt
/
putty
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add an error check to every setsockopt call in uxnet.c.
[sgt/putty]
/
unix
/
gtkwin.c
diff --git
a/unix/gtkwin.c
b/unix/gtkwin.c
index
eb8db56
..
ee91a93
100644
(file)
--- a/
unix/gtkwin.c
+++ b/
unix/gtkwin.c
@@
-1223,7
+1223,8
@@
gint key_event(GtkWidget *widget, GdkEventKey *event, gpointer data)
void input_method_commit_event(GtkIMContext *imc, gchar *str, gpointer data)
{
struct gui_data *inst = (struct gui_data *)data;
void input_method_commit_event(GtkIMContext *imc, gchar *str, gpointer data)
{
struct gui_data *inst = (struct gui_data *)data;
- lpage_send(inst->ldisc, CS_UTF8, str, strlen(str), 1);
+ if (inst->ldisc)
+ lpage_send(inst->ldisc, CS_UTF8, str, strlen(str), 1);
show_mouseptr(inst, 0);
term_seen_key_event(inst->term);
}
show_mouseptr(inst, 0);
term_seen_key_event(inst->term);
}
@@
-1360,7
+1361,7
@@
void frontend_keypress(void *handle)
* any keypress.
*/
if (inst->exited)
* any keypress.
*/
if (inst->exited)
- exit(0);
+
cleanup_
exit(0);
}
static gint idle_exit_func(gpointer data)
}
static gint idle_exit_func(gpointer data)
@@
-3008,7
+3009,7
@@
void change_settings_menuitem(GtkMenuItem *item, gpointer data)
4, 12, 5, 13, 6, 14, 7, 15
};
struct gui_data *inst = (struct gui_data *)data;
4, 12, 5, 13, 6, 14, 7, 15
};
struct gui_data *inst = (struct gui_data *)data;
- char *title
= dupcat(appname, " Reconfiguration", NULL)
;
+ char *title;
Conf *oldconf, *newconf;
int i, j, need_size;
Conf *oldconf, *newconf;
int i, j, need_size;
@@
-3019,6
+3020,8
@@
void change_settings_menuitem(GtkMenuItem *item, gpointer data)
else
inst->reconfiguring = TRUE;
else
inst->reconfiguring = TRUE;
+ title = dupcat(appname, " Reconfiguration", NULL);
+
oldconf = inst->conf;
newconf = conf_copy(inst->conf);
oldconf = inst->conf;
newconf = conf_copy(inst->conf);
@@
-3032,9
+3035,10
@@
void change_settings_menuitem(GtkMenuItem *item, gpointer data)
* Flush the line discipline's edit buffer in the case
* where local editing has just been disabled.
*/
* Flush the line discipline's edit buffer in the case
* where local editing has just been disabled.
*/
- ldisc_configure(inst->ldisc, inst->conf);
- if (inst->ldisc)
+ if (inst->ldisc) {
+ ldisc_configure(inst->ldisc, inst->conf);
ldisc_send(inst->ldisc, NULL, 0, 0);
ldisc_send(inst->ldisc, NULL, 0, 0);
+ }
/* Pass new config data to the terminal */
term_reconfig(inst->term, inst->conf);
/* Pass new config data to the back end */
/* Pass new config data to the terminal */
term_reconfig(inst->term, inst->conf);
/* Pass new config data to the back end */
@@
-3067,7
+3071,7
@@
void change_settings_menuitem(GtkMenuItem *item, gpointer data)
* repaint the space in between the window border
* and the text area.
*/
* repaint the space in between the window border
* and the text area.
*/
- if (
i
== 258) {
+ if (
ww[i]
== 258) {
set_window_background(inst);
draw_backing_rect(inst);
}
set_window_background(inst);
draw_backing_rect(inst);
}
@@
-3132,6
+3136,7
@@
void change_settings_menuitem(GtkMenuItem *item, gpointer data)
string_width("Could not change fonts in terminal window:"),
"OK", 'o', +1, 1,
NULL);
string_width("Could not change fonts in terminal window:"),
"OK", 'o', +1, 1,
NULL);
+ sfree(msgboxtext);
sfree(errmsg);
} else {
need_size = TRUE;
sfree(errmsg);
} else {
need_size = TRUE;
@@
-3226,6
+3231,7
@@
void fork_and_exec_self(struct gui_data *inst, int fd_to_close, ...)
pid = fork();
if (pid < 0) {
perror("fork");
pid = fork();
if (pid < 0) {
perror("fork");
+ sfree(args);
return;
}
return;
}
@@
-3259,6
+3265,7
@@
void fork_and_exec_self(struct gui_data *inst, int fd_to_close, ...)
} else {
int status;
} else {
int status;
+ sfree(args);
waitpid(pid, &status, 0);
}
waitpid(pid, &status, 0);
}
@@
-3337,6
+3344,7
@@
int read_dupsession_data(struct gui_data *inst, Conf *conf, char *arg)
}
size_used = conf_deserialise(conf, data, size);
}
size_used = conf_deserialise(conf, data, size);
+ sfree(data);
if (use_pty_argv && size > size_used) {
int n = 0;
i = size_used;
if (use_pty_argv && size > size_used) {
int n = 0;
i = size_used;