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 (610 forks)batch import
custom main loopsenhancementhelp wantedquestion

Repository metrics

Stars
 (10,632 stars)
PR merge metrics
 (No merged PRs in 30d)

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