X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/e3acd29b3bdafc8aa47052940928c48a9c0668ed..811453cbc32f1f0f14cfef25f54eabf2e3b28bd9:/unix/gtkdlg.c?ds=sidebyside diff --git a/unix/gtkdlg.c b/unix/gtkdlg.c index 63e51010..a9383e75 100644 --- a/unix/gtkdlg.c +++ b/unix/gtkdlg.c @@ -307,15 +307,18 @@ void dlg_listbox_clear(union control *ctrl, void *dlg) { struct dlgparam *dp = (struct dlgparam *)dlg; struct uctrl *uc = dlg_find_byctrl(dp, ctrl); - GtkContainer *cont; assert(uc->ctrl->generic.type == CTRL_EDITBOX || uc->ctrl->generic.type == CTRL_LISTBOX); assert(uc->menu != NULL || uc->list != NULL); - cont = (uc->menu ? GTK_CONTAINER(uc->menu) : GTK_CONTAINER(uc->list)); - - gtk_container_foreach(cont, container_remove_and_destroy, cont); + if (uc->menu) { + gtk_container_foreach(GTK_CONTAINER(uc->menu), + container_remove_and_destroy, + GTK_CONTAINER(uc->menu)); + } else { + gtk_list_clear_items(GTK_LIST(uc->list), 0, -1); + } } void dlg_listbox_del(union control *ctrl, void *dlg, int index) @@ -486,6 +489,8 @@ int dlg_listbox_index(union control *ctrl, void *dlg) if (uc->menu) activeitem = gtk_menu_get_active(GTK_MENU(uc->menu)); + else + activeitem = NULL; /* unnecessarily placate gcc */ children = gtk_container_children(GTK_CONTAINER(uc->menu ? uc->menu : uc->list)); @@ -1964,7 +1969,7 @@ int do_config_box(const char *title, Config *cfg, int midsession) window = gtk_dialog_new(); ctrlbox = ctrl_new_box(); - setup_config_box(ctrlbox, &sl, midsession, 0); + setup_config_box(ctrlbox, &sl, midsession, cfg->protocol); unix_setup_config_box(ctrlbox, midsession, window); gtk_window_set_title(GTK_WINDOW(window), title); @@ -2715,7 +2720,7 @@ void *eventlogstuff_new(void) return es; } -void logevent_dlg(void *estuff, char *string) +void logevent_dlg(void *estuff, const char *string) { struct eventlog_stuff *es = (struct eventlog_stuff *)estuff;