From 534177ac33d2713103bc9001362f77fa156b095b Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 17 Apr 2024 11:06:59 +0600 Subject: [PATCH 1/2] Minor fixes --- source/libublsettingsui-gtk3.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/libublsettingsui-gtk3.c b/source/libublsettingsui-gtk3.c index 7d7b175..ee26db7 100644 --- a/source/libublsettingsui-gtk3.c +++ b/source/libublsettingsui-gtk3.c @@ -253,7 +253,7 @@ struct loaded_config *yon_config_get_compared(char *command, int *final_size){ int size; config_str config = yon_config_load(command,&size); config_str temporary = NULL; - int temp_size; + int temp_size=0; if (config&&size>0){ for (int i=0;i Date: Thu, 18 Apr 2024 15:25:08 +0600 Subject: [PATCH 2/2] Test for saving on different thread --- source/libublsettingsui-gtk3.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/source/libublsettingsui-gtk3.c b/source/libublsettingsui-gtk3.c index ee26db7..06638cd 100644 --- a/source/libublsettingsui-gtk3.c +++ b/source/libublsettingsui-gtk3.c @@ -170,6 +170,17 @@ template_debug_window *template_debugger_window_new(){ return window; } +void _yon_saving_threaded(char *final_command){ + FILE *file = popen(final_command,"r"); + int file_save; + config_str file_return = yon_config_load_file(file,&file_save); + file_return = yon_char_parsed_append(file_return,&file_save,final_command); + if (save_success_function) + { + save_success_function(save_success_argument,file_return,file_save); + } +} + void on_save_parameters(GtkWidget *self, template_saving_window *window){ GtkTreeIter iter; GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(window->ParametersTree)); @@ -199,14 +210,8 @@ void on_save_parameters(GtkWidget *self, template_saving_window *window){ yon_char_parsed_prepend_strings(commands,size,ubconfig_set_command(window->custom_save_path)); } char *final_command = yon_char_parsed_to_string(commands,size,";"); - FILE *file = popen(final_command,"r"); - int file_save; - config_str file_return = yon_config_load_file(file,&file_save); - file_return = yon_char_parsed_append(file_return,&file_save,final_command); - if (save_success_function) - { - save_success_function(save_success_argument,file_return,file_save); - } + pthread_t thread_id; + pthread_create(&thread_id, NULL, (void *)_yon_saving_threaded,final_command); yon_window_config_custom_window_set(GTK_WINDOW(window->Window),"SaveWindow"); on_subwindow_close(self); -- 2.35.1