andlabs/libui

possibility: make it unnecessary to pass a function pointer into uiMainSteps()

Open

#147 opened on Jun 16, 2016

View on GitHub
 (4 comments) (0 reactions) (0 assignees)C (10,632 stars) (610 forks)batch import
custom main loopsenhancementhelp wantedquestion

Description

split from #95

Actually looking at the GTK+ source code again, I wonder what would happen if I did this

diff --git a/unix/main.c b/unix/main.c
index bfd0544..0269d86 100644
--- a/unix/main.c
+++ b/unix/main.c
@@ -41,7 +41,8 @@ int uiMainStep(int wait)
    block = FALSE;
    if (wait)
        block = TRUE;
-   return gtk_main_iteration_do(block) == FALSE;
+   gtk_main_iteration_do(block);
+   return 1;
 }

 // gtk_main_quit() may run immediately, or it may wait for other pending events; "it depends" (thanks mclasen in irc.gimp.net/#gtk+)

and ran uiMainStep() without uiMainSteps(). @gnarz? I could also try this myself I guess... but if this does work I could probably just manage the running flag myself like I do on OS X and avoid the need for a function pointer.

Contributor guide