From 8cd83d7ef5963035973e38cfd5ad84abb614cd88 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 28 Aug 2024 10:28:17 +0600 Subject: [PATCH 1/6] Test fix for error log window freeze --- source/ubinstall-gtk.c | 46 ++++++++++++++++++++++++++---------------- 1 file changed, 29 insertions(+), 17 deletions(-) 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; } From ec581cae53208cb3334eeaeef079cffc869a869f Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 28 Aug 2024 12:48:24 +0600 Subject: [PATCH 2/6] Test localisation for 'Administrator' Username --- source/ubinstall-gtk.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c index 69ab425..bf013d5 100644 --- a/source/ubinstall-gtk.c +++ b/source/ubinstall-gtk.c @@ -444,7 +444,7 @@ void yon_interface_update(main_window *widgets){ } if (!yon_char_is_empty(user_gecos)){ - gtk_entry_set_text(GTK_ENTRY(widgets->UserNameEntry),user_gecos); + gtk_entry_set_text(GTK_ENTRY(widgets->UserNameEntry),_(user_gecos)); } else { gtk_entry_set_text(GTK_ENTRY(widgets->UserNameEntry),""); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widgets->UsernameSensitiveCheck),0); From 7d32441e9cd55dc0b640d42534f9cbf12de52aa6 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 28 Aug 2024 15:35:42 +0600 Subject: [PATCH 3/6] Test fix for main progress bar label at file copying --- source/ubinstall-gtk.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c index bf013d5..2e4567f 100644 --- a/source/ubinstall-gtk.c +++ b/source/ubinstall-gtk.c @@ -995,6 +995,9 @@ gboolean yon_installation_progress_update(void *data) { gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(widgets->PackageInstallationProgress), 0); gtk_label_set_text(GTK_LABEL(widgets->PackageInstallationLabel), ""); } else { + if (size>1&&!strstr(text[size-2],"#pb")){ + gtk_label_set_text(GTK_LABEL(widgets->InstallationLabel), strstr(text[size-2],")")+1); + } gtk_widget_show(gtk_widget_get_parent(widgets->PackageInstallationProgress)); config_str parsed = yon_char_parse(current_copy, &size, " "); From 168c9a84ceac26a9a9257a48c20163e4cd6da03b Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 28 Aug 2024 17:34:47 +0600 Subject: [PATCH 4/6] Test fix for lang loading --- source/ubinstall-gtk.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c index 2e4567f..af33f9d 100644 --- a/source/ubinstall-gtk.c +++ b/source/ubinstall-gtk.c @@ -747,10 +747,26 @@ void on_language_window_accept(GtkWidget *,dictionary *dict){ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->DefaultCheck))){ gtk_entry_set_text(GTK_ENTRY(widgets->AvailableLanguagesEntry),""); GtkTreeIter iter; + int size; + config_str lang_parsed = yon_char_parsed_new(&size,"en_US.UTF-8","ru_RU.UTF-8",NULL); + + char *final = ""; for_iter(widgets->LanguagesList,&iter){ - gtk_list_store_set(widgets->LanguagesList,&iter,0,0,-1); + char *code, *labl; + gtk_tree_model_get(GTK_TREE_MODEL(widgets->LanguagesList),&iter,1,&labl,2,&code,-1); + if (yon_char_parsed_check_exist(lang_parsed,size,code)!=-1){ + gtk_list_store_set(widgets->LanguagesList,&iter,0,1,-1); + char *tmp = yon_char_unite(final,!yon_char_is_empty(final)?";":"",labl,NULL); + if (!yon_char_is_empty(final)) free(final); + final = tmp; + } else + gtk_list_store_set(widgets->LanguagesList,&iter,0,0,-1); + } + if (!yon_char_is_empty(final)){ + gtk_entry_set_text(GTK_ENTRY(widgets->AvailableLanguagesEntry),final); } gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->LanguagesCombo),-1); + gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter)); } else { yon_gtk_list_store_copy_full(widgets->LanguagesList,window->liststore1); gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(widgets->LanguagesFilter)); From 85f95f2817c2baf36573c2fa3d95f2a559938ef8 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 28 Aug 2024 18:00:33 +0600 Subject: [PATCH 5/6] Test fix for crash --- source/ubinstall-gtk.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c index af33f9d..db168ac 100644 --- a/source/ubinstall-gtk.c +++ b/source/ubinstall-gtk.c @@ -1002,7 +1002,6 @@ gboolean yon_installation_progress_update(void *data) { if (!yon_char_is_empty(text[size-1]) && text[size-1][0] == '(') { char *current_copy = yon_char_new(text[size-1]); char *percentage = yon_char_divide_search(current_copy, ")", -1); - yon_char_parsed_free(text, size); if (!strstr(percentage, "#pb")) { double fraction = atof(percentage+1); @@ -1025,6 +1024,7 @@ gboolean yon_installation_progress_update(void *data) { yon_char_parsed_free(parsed, size); } + yon_char_parsed_free(text, size); free(current_copy); free(percentage); } From 440c3a03e03d1a9fbc242ef9c2119ee682b2d738 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 29 Aug 2024 11:34:59 +0600 Subject: [PATCH 6/6] Removed progress test fix --- source/ubinstall-gtk.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c index db168ac..1a4451c 100644 --- a/source/ubinstall-gtk.c +++ b/source/ubinstall-gtk.c @@ -1010,9 +1010,6 @@ gboolean yon_installation_progress_update(void *data) { gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(widgets->PackageInstallationProgress), 0); gtk_label_set_text(GTK_LABEL(widgets->PackageInstallationLabel), ""); } else { - if (size>1&&!strstr(text[size-2],"#pb")){ - gtk_label_set_text(GTK_LABEL(widgets->InstallationLabel), strstr(text[size-2],")")+1); - } gtk_widget_show(gtk_widget_get_parent(widgets->PackageInstallationProgress)); config_str parsed = yon_char_parse(current_copy, &size, " ");