From ffce932a1abf0f4fbb9092b75fc3472bb4dacd3b Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 23 Oct 2025 09:50:23 +0600 Subject: [PATCH] Fixed thread crash --- source/ubinstall-gtk-components.c | 10 +++++----- source/ubinstall-gtk.h | 2 ++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/source/ubinstall-gtk-components.c b/source/ubinstall-gtk-components.c index b187a57..d283a05 100644 --- a/source/ubinstall-gtk-components.c +++ b/source/ubinstall-gtk-components.c @@ -155,6 +155,7 @@ void yon_os_row_setup(os_row *row, char *name, char *version,char *tags, char *d gboolean yon_os_component_insert(os_row *row){ main_window *widgets = g_object_get_data(G_OBJECT(row->row),"widgets"); gtk_list_box_insert(GTK_LIST_BOX(widgets->OSSoftwareListBox),row->row,-1); + yon_os_row_setup(row,row->name,row->version,row->tags,row->description); return G_SOURCE_REMOVE; } @@ -171,13 +172,12 @@ void *yon_os_components_setup(main_window *widgets){ yon_char_remove_last_symbol(base[i],'\n'); int parsed_size; config_str parsed = yon_char_parse(base[i],&parsed_size,";"); - char *version = parsed[1]; - char *name = parsed[0]; - char *tags = yon_char_replace(parsed[2]," ",", "); - char *description = parsed[3]; os_row *row = yon_os_row_new(); + row->version = parsed[1]; + row->name = parsed[0]; + row->tags = yon_char_replace(parsed[2]," ",", "); + row->description = parsed[3]; g_object_set_data(G_OBJECT(row->row),"widgets",widgets); - yon_os_row_setup(row,name,version,tags,description); g_idle_add((GSourceFunc)yon_os_component_insert,row); } g_idle_add((GSourceFunc)yon_spinner_switch_off,widgets->OSSpinner); diff --git a/source/ubinstall-gtk.h b/source/ubinstall-gtk.h index 1879dfe..98729f2 100755 --- a/source/ubinstall-gtk.h +++ b/source/ubinstall-gtk.h @@ -870,6 +870,8 @@ typedef struct { char *name; char *modules; char *version; + char *tags; + char *description; } os_row; typedef struct {