From aa644d3e09a65614914e630faa9d08eb202cdf42 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Fri, 5 Dec 2025 15:31:45 +0600 Subject: [PATCH] Fixed database update --- source/ubl-settings-video.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/source/ubl-settings-video.c b/source/ubl-settings-video.c index c9cdd71..ce5ed52 100644 --- a/source/ubl-settings-video.c +++ b/source/ubl-settings-video.c @@ -582,7 +582,8 @@ void yon_set_sensitive_from_combo_box(GtkComboBox *toggle, GtkWidget *target){ } void on_database_update(void *,void *widgets){ - yon_terminal_window_launch(GTK_WINDOW(((main_window*)widgets)->Window),pacman_update_command,yon_char_get_localised_from_lib(SUCCESS_LABEL),OPERATION_FAIL_LABEL); + terminal_window_struct *window = yon_terminal_window_launch(GTK_WINDOW(((main_window*)widgets)->Window),pacman_update_command,yon_char_get_localised_from_lib(SUCCESS_LABEL),OPERATION_FAIL_LABEL); + g_signal_connect(G_OBJECT(window->window),"destroy",G_CALLBACK(yon_proprietary_get_thread),widgets); } void on_gapfix_changed(GtkWidget*, main_window *widgets){ @@ -964,12 +965,16 @@ int main(int argc, char *argv[]){ if (system(yon_check_database_command)){ dialog_confirmation_data *data = yon_confirmation_dialog_data_new(); data->action_text=DATABASE_UNACCESSIBLE_LABEL; - data->function = on_database_update; - data->data = widgets; - yon_confirmation_dialog_call(widgets->HeadOverlay,data); + if (yon_confirmation_dialog_call(widgets->HeadOverlay,data) != GTK_RESPONSE_CANCEL){ + on_database_update(NULL,widgets); + } else { + on_update_clicked(NULL,widgets); + + } + } else { + on_update_clicked(NULL,widgets); } yon_packages_init(); - yon_proprietary_get_thread(NULL,(main_window*)widgets); gtk_main(); yon_packages_finish(); return 0;