$ git clone https://librecgm.ion.nu/librecgm.git
commit fcd30272cfe803a432bf59f7cc81a7ce312010ad
Author: Alicia <...>
Date: Tue Sep 21 19:27:43 2021 +0200
Prioritize updating the camera below drawing the GUI. Otherwise slower systems don't get around to showing the GUI.
diff --git a/gui.c b/gui.c
index 184c2ad..54a8ad0 100644
--- a/gui.c
+++ b/gui.c
@@ -114,7 +114,7 @@ static void gui_scan(GtkButton* btn, void* ptr __attribute__((unused)))
{
doscan=0;
cam=cam_init(currentcam);
- g_timeout_add(1000/10, G_SOURCE_FUNC(updatecam), 0);
+ g_timeout_add_full(G_PRIORITY_LOW, 1000/10, G_SOURCE_FUNC(updatecam), 0, 0);
gtk_button_set_label(btn, "Scan graph");
}else{
free(list);
@@ -167,7 +167,7 @@ static void gui_load(GtkButton* btn)
}
if(doscan)
{
- g_timeout_add(1000/10, G_SOURCE_FUNC(updatecam), 0);
+ g_timeout_add_full(G_PRIORITY_LOW, 1000/10, G_SOURCE_FUNC(updatecam), 0, 0);
}else{
doscan=1;
gtk_button_set_label(btn, "Rescan");
@@ -256,6 +256,6 @@ void gui_run(int** onlygrab, int unitmax)
gtk_container_add(GTK_CONTAINER(viewmenu), item);
}
gtk_widget_show_all(window);
- g_timeout_add(1000/10, G_SOURCE_FUNC(updatecam), onlygrab);
+ g_timeout_add_full(G_PRIORITY_LOW, 1000/10, G_SOURCE_FUNC(updatecam), onlygrab, 0);
gtk_main();
}