Test fix for drivers screen crash

pull/45/head
parent e2ae3d977e
commit 0b612b8a05

@ -548,13 +548,12 @@ void on_monitor_add(GtkWidget *self,monitor_window *window){
}
}
void on_proprietary_get(GtkWidget *notebook, GtkWidget *page, int pagen, gpointer data){
if (pagen==1&&videoconfig.dblock==0){
void on_proprietary_get(GtkWidget *self, gpointer data){
if (videoconfig.dblock==0){
GtkTreeIter iter;
if(!gtk_tree_model_get_iter_first(GTK_TREE_MODEL(videoconfig.list),&iter)){
pthread_t tid;
pthread_create(&tid,NULL,(void*)yon_proprieary_get,NULL);
}
videoconfig.dblock=1;
}
}
@ -1079,33 +1078,44 @@ void on_config_fill_interface(widgets_dict *widgets)
dictionary *dict = NULL;
}
void yon_proprietary_local_get(){
int drivers_size=0;
int size;
config_str rtn=NULL;
rtn = yon_config_load(get_proprietary_drivers_info_command,&size);
config_str drivers=yon_config_load(get_proprietary_installed_command,&drivers_size);
for (int dr_desc=0;dr_desc<drivers_size;dr_desc++){
for (int dr_foun=0;dr_foun<drivers_size;dr_foun++){
drivers[dr_foun]=yon_char_divide_search(drivers[dr_foun],"\n",-1);
char *pack=yon_char_new(rtn[dr_desc]);
char *ubm=yon_char_divide_search(pack,";",-1);
pack=yon_char_divide_search(pack,";",-1);
if (strcmp(drivers[dr_foun],ubm)==0){
yon_dictionary_add_or_create_if_exists_with_data(videoconfig.proprietary,drivers[dr_foun],rtn[dr_desc]);
}
// else if (strcmp(pack,"")!=0&&!(yon_dictionary_find(!videoconfig.proprietary||&videoconfig.proprietary,pack))){
// yon_dictionary_add_or_create_if_exists_with_data(videoconfig.proprietary,pack,rtn[dr_desc]);
// }
}
}
if (videoconfig.proprietary){
yon_gtk_list_store_fill_with_proprietaries(videoconfig.list);
videoconfig.proprietary=NULL;
}
}
/**dictionary *yon_proprieary_get()
* [EN]
*/
dictionary *yon_proprieary_get(){
yon_ubl_status_box_render(videoconfig.status_render,PROPRIETARY_LOADING_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
videoconfig.dblock=1;
videoconfig.proprietary=NULL;
int drivers_size=0;
int size=0;
config_str drivers=NULL;
config_str rtn=NULL;
rtn = yon_config_load(get_proprietary_drivers_info_command,&size);
// drivers=yon_config_load(get_proprietary_installed_command,&drivers_size);
// for (int dr_desc=0;dr_desc<drivers_size;dr_desc++){
// for (int dr_foun=0;dr_foun<drivers_size;dr_foun++){
// drivers[dr_foun]=yon_char_divide_search(drivers[dr_foun],"\n",-1);
// char *pack=yon_char_new(rtn[dr_desc]);
// char *ubm=yon_char_divide_search(pack,";",-1);
// pack=yon_char_divide_search(pack,";",-1);
// if (strcmp(drivers[dr_foun],ubm)==0){
// yon_dictionary_add_or_create_if_exists_with_data(videoconfig.proprietary,drivers[dr_foun],rtn[dr_desc]);
// }
// // else if (strcmp(pack,"")!=0&&!(yon_dictionary_find(!videoconfig.proprietary||&videoconfig.proprietary,pack))){
// // yon_dictionary_add_or_create_if_exists_with_data(videoconfig.proprietary,pack,rtn[dr_desc]);
// // }
// }
// }
if (videoconfig.proprietary){
yon_gtk_list_store_fill_with_proprietaries(videoconfig.list);
videoconfig.proprietary=NULL;
@ -1149,7 +1159,6 @@ dictionary *yon_proprieary_get(){
yon_gtk_list_store_fill_with_proprietaries(videoconfig.list);
yon_ubl_status_box_render(videoconfig.status_render,PROPRIETARY_USE_LOCAL_LABEL,BACKGROUND_IMAGE_SUCCESS_TYPE);
} else {
videoconfig.dblock=0;
yon_ubl_status_box_render(videoconfig.status_render,PROPRIETARY_LOADING_FAILED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
}
}
@ -1612,6 +1621,8 @@ void yon_setup_widgets(widgets_dict *widgets)
widgets->TerminalOverlay = yon_gtk_builder_get_widget(widgets->builder, "TerminalOverlay");
widgets->MenusTab = yon_gtk_builder_get_widget(widgets->builder, "MenusTab");
widgets->driversTreeSelection = GTK_TREE_SELECTION(gtk_builder_get_object(widgets->builder, "driversTreeSelection"));
widgets->LoadDriversButton = yon_gtk_builder_get_widget(widgets->builder,"LoadDriversButton");
widgets->proprietaryNotebook = yon_gtk_builder_get_widget(widgets->builder,"notebook1");
widgets->proprietartInstalledColumn = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(widgets->builder, "proprietartInstalledColumn"));
widgets->ProprietaryPackageColumn = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(widgets->builder, "ProprietaryPackageColumn"));
@ -1642,7 +1653,7 @@ void yon_setup_widgets(widgets_dict *widgets)
gtk_tree_view_set_model(GTK_TREE_VIEW(widgets->proprietaryTreeView),GTK_TREE_MODEL(videoconfig.list));
g_signal_connect(G_OBJECT(widgets->MenusTab), "switch-page", G_CALLBACK(on_proprietary_get), widgets);
g_signal_connect(G_OBJECT(widgets->LoadDriversButton), "clicked", G_CALLBACK(on_proprietary_get), widgets);
g_signal_connect(G_OBJECT(widgets->proprietaryDeleteButton), "clicked", G_CALLBACK(on_driver_pack_delete), widgets);
g_signal_connect(G_OBJECT(widgets->proprietaryInstallButton), "clicked", G_CALLBACK(on_driver_pack_install), widgets);
@ -1740,6 +1751,8 @@ void yon_setup_widgets(widgets_dict *widgets)
gtk_widget_set_sensitive(widgets->mainHeaderSaveLocalMenuItem,0);
if (videoconfig.lock_save_global==1||videoconfig.lock_save_local==1)
gtk_widget_set_sensitive(widgets->mainHeaderSaveGlobalLocalMenuItem,0);
gtk_notebook_set_action_widget(GTK_NOTEBOOK(widgets->proprietaryNotebook),widgets->LoadDriversButton,GTK_PACK_END);
}
int main(int argc, char *argv[])
@ -1820,14 +1833,13 @@ int main(int argc, char *argv[])
}
if (getuid()!=0){
char *args="";
for (int i=0;i<argc;i++)
args=yon_char_unite(args," ",argv[i],NULL);
if (system(yon_char_get_augumented("/usr/bin/pkexec ubl-settings-video ",args)));
return 0;
// char *args="";
// for (int i=0;i<argc;i++)
// args=yon_char_unite(args," ",argv[i],NULL);
// if (system(yon_char_get_augumented("/usr/bin/pkexec ubl-settings-video ",args)));
// return 0;
} else {
int ssize=0;
yon_launch_app("pacman -Sy >/dev/null");
gtk_init(&argc, &argv);
GError error;
yon_setup_config(load_drivers_local_command);
@ -1841,6 +1853,7 @@ int main(int argc, char *argv[])
yon_monitor_set_resolutions();
yon_adapter_window_setup(&widgets);
GtkCssProvider *css = gtk_css_provider_new();
yon_proprietary_local_get();
gtk_css_provider_load_from_resource(css, CssPath);
gtk_style_context_add_provider_for_screen(gdk_screen_get_default(),
GTK_STYLE_PROVIDER(css),

@ -289,6 +289,9 @@ typedef struct
GtkWidget *PlugLoadBox;
GtkWidget *MenusTab;
GtkWidget *LoadDriversButton;
GtkWidget *proprietaryNotebook;
} widgets_dict;
typedef struct

@ -118,3 +118,4 @@
#define MODEL_LABEL _("Model")
#define USED_KERNEL_DRIVER_LABEL _("Kernel driver in use")
#define AVALIABLE_KERNEL_DRIVERS_LABEL _("Kernel modules")
#define LOAD_DRIVERS_LABEL _("Load drivers from database")

@ -239,6 +239,15 @@ translated and supported by community.</property>
</object>
</child>
</object>
<object class="GtkButton" id="LoadDriversButton">
<property name="label" translatable="yes">Load drivers from database</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">True</property>
<style>
<class name="thin"/>
</style>
</object>
<object class="GtkMenu" id="SaveConfigurationMenu">
<property name="visible">True</property>
<property name="can-focus">False</property>
@ -2419,12 +2428,6 @@ translated and supported by community.</property>
<property name="tab-fill">False</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child type="tab">
<placeholder/>
</child>
</object>
<packing>
<property name="index">-1</property>

@ -17,23 +17,23 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: source/ubl-settings-video.h:26
#: source/ubl-settings-video.h:25
msgid "https://wiki.ublinux.com"
msgstr ""
#: source/ubl-settings-video.h:36
#: source/ubl-settings-video.h:35
msgid "Failed to load global configuration"
msgstr ""
#: source/ubl-settings-video.h:37
#: source/ubl-settings-video.h:36
msgid "Failed to load local configuration"
msgstr ""
#: source/ubl-settings-video.h:39
#: source/ubl-settings-video.h:38
msgid "Saving to global configuration Succeeded"
msgstr ""
#: source/ubl-settings-video.h:40
#: source/ubl-settings-video.h:39
msgid "Saving to local configuration Succeeded"
msgstr ""
@ -478,6 +478,10 @@ msgstr ""
msgid "Kernel modules"
msgstr ""
#: source/ubl-strings.h:121
msgid "Load drivers from database"
msgstr ""
#: source/ubl-settings-video.c:713
msgid "Project Home Page"
msgstr ""

@ -17,23 +17,23 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: source/ubl-settings-video.h:26
#: source/ubl-settings-video.h:25
msgid "https://wiki.ublinux.com"
msgstr "https://wiki.ublinux.ru"
#: source/ubl-settings-video.h:36
#: source/ubl-settings-video.h:35
msgid "Failed to load global configuration"
msgstr "Ошибка загрузки глобальной конфигурации"
#: source/ubl-settings-video.h:37
#: source/ubl-settings-video.h:36
msgid "Failed to load local configuration"
msgstr "Ошибка загрузки локальной конфигурации"
#: source/ubl-settings-video.h:39
#: source/ubl-settings-video.h:38
msgid "Saving to global configuration Succeeded"
msgstr "Успешное сохранение глобальной конфигурации"
#: source/ubl-settings-video.h:40
#: source/ubl-settings-video.h:39
msgid "Saving to local configuration Succeeded"
msgstr "Успешно записана локальная конфигурация"
@ -74,22 +74,18 @@ msgid "Lock this help menu"
msgstr "Блокировка вызова справки"
#: source/ubl-strings.h:2
#, fuzzy
msgid "Lock configration saving"
msgstr "Блокировка сохранения локальной и глобальной конфигурации"
#: source/ubl-strings.h:2
#, fuzzy
msgid "Lock local configration saving"
msgstr "Блокировка сохранения локальной конфигурации"
#: source/ubl-strings.h:2
#, fuzzy
msgid "Lock global configration saving"
msgstr "Блокировка сохранения глобальной конфигурации"
#: source/ubl-strings.h:2
#, fuzzy
msgid "Lock global configration loading"
msgstr "Блокировка загрузки глобальной конфигурации"
@ -272,7 +268,7 @@ msgid "Automatically choose and use driver"
msgstr "Автоматический выбор и использование драйвера"
#: source/ubl-strings.h:49
msgid "Launch programms through optirun (Nvidia): "
msgid "Launch programs through optirun (Nvidia): "
msgstr "Запуск программ через optirun (Nvidia)"
#: source/ubl-strings.h:50
@ -369,24 +365,20 @@ msgstr ""
"список установленных драйверов."
#: source/ubl-strings.h:73
#, fuzzy
msgid "Configure monitor"
msgstr "Основной"
msgstr "Настроить монитоор"
#: source/ubl-strings.h:74
#, fuzzy
msgid "Delete monitor configuration"
msgstr "Настройка экрана"
msgstr "Удалить конфигурацию мониотра"
#: source/ubl-strings.h:75
#, fuzzy
msgid "Add monitor configuration"
msgstr "Настройка экрана"
msgstr "Добавить монитор"
#: source/ubl-strings.h:76
#, fuzzy
msgid "Switch monitor"
msgstr "Основной"
msgstr "Переключить монтор"
#: source/ubl-strings.h:77
msgid "More"
@ -429,7 +421,6 @@ msgid "Driver modules"
msgstr "Модули драйвера"
#: source/ubl-strings.h:87
#, fuzzy
msgid "Read documentation"
msgstr "Справка"
@ -493,55 +484,70 @@ msgstr "Используемый драйвер ядра"
msgid "Kernel modules"
msgstr "Модули ядра"
#: source/ubl-strings.h:121
msgid "Load drivers from database"
msgstr "Загрузить список доступных драйверов"
#: source/ubl-settings-video.c:713
msgid "Project Home Page"
msgstr "Домашняя страница проекта"
msgid "UBlinux Video Configuration"
msgstr "Видеокарта/Экран"
msgid "Videocard and monitor configuration manager"
msgstr "Настройка вывода изображения"
msgid "Saving to local and global configuration Succeeded"
msgstr "Успешно записаны локальная и глобальная конфигурация"
msgid "VGA compitable controller"
msgstr "VGA-совместимый адаптер"
msgid "Configuration has been loaded"
msgstr "Конфигурация была загружена"
msgid "Proprietary driver: "
msgstr "Проприетарный драйвер: "
msgid "DPMS off"
msgstr "DMPS выключен"
msgid "UBLinux module includes NVIDIA 340xx driver and utilities"
msgstr "Пакет с модулем драйвера и утилитами NVIDIA 340xx"
msgid "UBLinux module includes NVIDIA 390xx driver and utilities"
msgstr "Пакет с модулем драйвера и утилитами NVIDIA 390xx"
msgid "UBLinux module includes NVIDIA 470xx driver and utilities"
msgstr "Пакет с модулем драйвера и утилитами NVIDIA 470xx"
msgid "UBLinux module includes NVIDIA 510xx driver and utilities"
msgstr "Пакет с модулем драйвера и утилитами NVIDIA 510xx"
#: source/ubl-settings-video-strings.h:112
msgid "UBLinux package includes NVIDIA 340xx driver and utilities"
msgstr "Пакет с драйвером NVIDIA 340xx"
#: source/ubl-settings-video-strings.h:112
msgid "UBLinux package includes NVIDIA 390xx driver and utilities"
msgstr "Пакет с драйвером NVIDIA 390xx"
#: source/ubl-settings-video-strings.h:112
msgid "UBLinux package includes NVIDIA 470xx driver and utilities"
msgstr "Пакет с драйвером NVIDIA 470xx"
#: source/ubl-settings-video-strings.h:112
msgid "UBLinux package includes NVIDIA 510xx driver and utilities"
msgstr "Пакет с драйвером NVIDIA 510xx"

Loading…
Cancel
Save