andlabs/libui

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

Open

#147 建立於 2016年6月16日

在 GitHub 查看
 (4 留言) (0 反應) (0 負責人)C (610 fork)batch import
custom main loopsenhancementhelp wantedquestion

倉庫指標

Star
 (10,632 star)
PR 合併指標
 (30 天內沒有已合併 PR)

描述

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.

貢獻者指南