From efee2c991d573829a28c7e23dcf758cf5828019f Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 4 Jun 2025 10:38:37 +0000 Subject: [PATCH] Fixed loading --- source/ubl-settings-keyboard.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/source/ubl-settings-keyboard.c b/source/ubl-settings-keyboard.c index 852e695..00ef507 100644 --- a/source/ubl-settings-keyboard.c +++ b/source/ubl-settings-keyboard.c @@ -50,13 +50,13 @@ void on_config_custom_save(GtkWidget *, main_window *){ void on_config_local_load(GtkWidget *,main_window *widgets){ yon_load_proceed(YON_CONFIG_LOCAL); - g_idle_add((GSourceFunc)yon_interface_update,widgets); + yon_interface_update(widgets); main_config.load_mode=1; } void on_config_global_load(GtkWidget *,main_window *widgets){ yon_load_proceed(YON_CONFIG_GLOBAL); - g_idle_add((GSourceFunc)yon_interface_update,widgets); + yon_interface_update(widgets); main_config.load_mode=0; } @@ -67,7 +67,7 @@ void on_config_custom_load(GtkWidget *,main_window *widgets){ yon_ubl_status_box_render(GLOBAL_LOAD_SUCCESS_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE); textdomain(LocaleName); main_config.load_mode=3; - g_idle_add((GSourceFunc)yon_interface_update,widgets); + yon_interface_update(widgets); } void yon_load_proceed(YON_CONFIG_TYPE type){ @@ -75,7 +75,7 @@ void yon_load_proceed(YON_CONFIG_TYPE type){ if (!yon_char_is_empty(config_get_default_command)) yon_config_load_config(YON_CONFIG_DEFAULT,config_get_default_command,NULL); if (type==YON_CONFIG_GLOBAL){ - yon_config_load_config(type,config_get_global_command,NULL); + yon_config_load_config(type,yon_debug_output("%s\n",config_get_global_command),NULL); } else if (type==YON_CONFIG_LOCAL){ yon_config_load_config(type,config_get_local_command,NULL); } else if (type==YON_CONFIG_CUSTOM){ @@ -106,6 +106,11 @@ void yon_load_proceed(YON_CONFIG_TYPE type){ } gboolean yon_interface_update(main_window *widgets){ + g_signal_handlers_block_by_func(G_OBJECT(widgets->ModelCombo),G_CALLBACK(on_model_changed),widgets); + g_signal_handlers_block_by_func(G_OBJECT(widgets->MoveDownButton),G_CALLBACK(on_move_down),widgets); + g_signal_handlers_block_by_func(G_OBJECT(widgets->MoveUpButton),G_CALLBACK(on_move_up),widgets); + g_signal_handlers_block_by_func(G_OBJECT(widgets->OptionsButton),G_CALLBACK(on_options_open),widgets); + g_signal_handlers_block_by_func(G_OBJECT(widgets->NumLockCombo),G_CALLBACK(on_num_lock_changed),widgets); gtk_list_store_clear(widgets->layoutsList); gtk_combo_box_set_active(GTK_COMBO_BOX(widgets->ModelCombo),0); @@ -175,6 +180,12 @@ gboolean yon_interface_update(main_window *widgets){ } } } + + g_signal_handlers_unblock_by_func(G_OBJECT(widgets->ModelCombo),G_CALLBACK(on_model_changed),widgets); + g_signal_handlers_unblock_by_func(G_OBJECT(widgets->MoveDownButton),G_CALLBACK(on_move_down),widgets); + g_signal_handlers_unblock_by_func(G_OBJECT(widgets->MoveUpButton),G_CALLBACK(on_move_up),widgets); + g_signal_handlers_unblock_by_func(G_OBJECT(widgets->OptionsButton),G_CALLBACK(on_options_open),widgets); + g_signal_handlers_unblock_by_func(G_OBJECT(widgets->NumLockCombo),G_CALLBACK(on_num_lock_changed),widgets); return G_SOURCE_REMOVE; }