Test fix for crash

pull/207/head
parent bd5fecb1cf
commit 3333aa06ca

@ -123,3 +123,11 @@ void yon_installation_progress_update(GFileMonitor *,GFile *,GFile *,GFileMonito
text=NULL; text=NULL;
} }
} }
gboolean yon_probress_bar_start(main_window *widgets){
GFile *file_desc = g_file_new_for_path(progress_path);
widgets->install_info_monitor = g_file_monitor_file(file_desc,G_FILE_MONITOR_NONE,NULL,NULL);
g_signal_connect(G_OBJECT(widgets->install_info_monitor),"changed",G_CALLBACK(yon_installation_progress_update),widgets);
g_object_unref(file_desc);
return G_SOURCE_REMOVE;
}

@ -494,8 +494,9 @@ void on_page_cancel_clicked(GtkWidget *, main_window *widgets){
data->title=WARNING_TITLE_LABEL; data->title=WARNING_TITLE_LABEL;
if (yon_confirmation_dialog_call(widgets->MainWindow,data)==GTK_RESPONSE_ACCEPT ){ if (yon_confirmation_dialog_call(widgets->MainWindow,data)==GTK_RESPONSE_ACCEPT ){
pthread_cancel(main_config.install_thread); pthread_cancel(main_config.install_thread);
g_file_monitor_cancel(widgets->install_progress_monitor); g_signal_handlers_disconnect_by_func(G_OBJECT(widgets->install_info_monitor),yon_installation_progress_update,widgets);
widgets->install_progress_monitor = NULL; g_file_monitor_cancel(widgets->install_info_monitor);
widgets->install_info_monitor = NULL;
gtk_button_set_label(GTK_BUTTON(widgets->NextButton),NEXT_LABEL); gtk_button_set_label(GTK_BUTTON(widgets->NextButton),NEXT_LABEL);
GtkWidget *image = gtk_button_get_image(GTK_BUTTON(widgets->NextButton)); GtkWidget *image = gtk_button_get_image(GTK_BUTTON(widgets->NextButton));
gtk_image_set_from_icon_name(GTK_IMAGE(image),arrow_right_icon_path,GTK_ICON_SIZE_BUTTON); gtk_image_set_from_icon_name(GTK_IMAGE(image),arrow_right_icon_path,GTK_ICON_SIZE_BUTTON);

@ -184,10 +184,7 @@ void *on_config_save(void *data){
if (file){ if (file){
fclose(file); fclose(file);
} }
GFile *file_desc = g_file_new_for_path(progress_path); g_idle_add((GSourceFunc)yon_probress_bar_start,widgets);
widgets->install_info_monitor = g_file_monitor_file(file_desc,G_FILE_MONITOR_NONE,NULL,NULL);
g_signal_connect(G_OBJECT(widgets->install_info_monitor),"changed",G_CALLBACK(yon_installation_progress_update),widgets);
g_object_unref(file_desc);
if (!main_config.dry_run){ if (!main_config.dry_run){
char *command = yon_debug_output("%s\n",save_config_command(yon_char_parsed_to_string(parameters,size," "))); char *command = yon_debug_output("%s\n",save_config_command(yon_char_parsed_to_string(parameters,size," ")));
yon_char_parsed_free(parameters,size); yon_char_parsed_free(parameters,size);

@ -1455,3 +1455,4 @@ void yon_userdata_password_open(GtkWidget *, main_window *widgets);
double yon_password_check_func(yon_password_window *window, const char *password_string); double yon_password_check_func(yon_password_window *window, const char *password_string);
void yon_source_update(source_window *window); void yon_source_update(source_window *window);
void yon_main_window_update_locale(main_window *widgets); void yon_main_window_update_locale(main_window *widgets);
gboolean yon_probress_bar_start(main_window *widgets);
Loading…
Cancel
Save