diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c index 5dfdfe7..69ab425 100644 --- a/source/ubinstall-gtk.c +++ b/source/ubinstall-gtk.c @@ -951,6 +951,12 @@ void *on_config_save(void *data){ yon_char_parsed_free(parameters,size); if (system(yon_debug_output("%s\n",command))){ gtk_notebook_set_current_page(GTK_NOTEBOOK(widgets->Notebook),YON_PAGE_INSTALL_ERROR); + free(command); + main_config.config_save_thread=NULL; + main_config.install_thread=0; + main_config.install_complete=1; + pthread_exit(NULL); + return 0; }; free(command); main_config.install_thread=0; @@ -1247,24 +1253,30 @@ log_window *yon_log_window_new(){ gboolean yon_read_log(void *data); gboolean yon_read_log(void *data){ -log_window *window = (log_window*)data; -if (window->Window){ - int size; - while (!main_config.install_complete&&main_config.log_progress_buzy){}; - main_config.log_progress_buzy=1; - config_str parsed = yon_file_open(window->command,&size); - main_config.log_progress_buzy=0; - if (size){ - char *final = yon_char_parsed_to_string(parsed,size,""); - gtk_label_set_text(GTK_LABEL(window->LogLabel),final); - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->ScrollToEndCheck))){ - gtk_adjustment_set_value(gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(window->ScrollWindow)),gtk_adjustment_get_upper(gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(window->ScrollWindow)))); + log_window *window = (log_window*)data; + if (window->Window){ + int size; + while (!main_config.install_complete&&main_config.log_progress_buzy){}; + main_config.log_progress_buzy=1; + config_str parsed = yon_file_open(window->command,&size); + main_config.log_progress_buzy=0; + if (size){ + char *final = yon_char_parsed_to_string(parsed,size,""); + gtk_label_set_text(GTK_LABEL(window->LogLabel),final); + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->ScrollToEndCheck))){ + gtk_adjustment_set_value(gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(window->ScrollWindow)),gtk_adjustment_get_upper(gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(window->ScrollWindow)))); + } + free(final); + yon_char_parsed_free(parsed,size); + } + yon_debug_output("%s\n","Log read"); + if (!main_config.install_complete){ + return 1; + } else { + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->ScrollToEndCheck),0); + gtk_widget_set_sensitive(window->ScrollToEndCheck,0); + } } - free(final); - yon_char_parsed_free(parsed,size); - } - return 1; -} return 0; }