summaryrefslogtreecommitdiff
path: root/src/Gtk/State.icl
diff options
context:
space:
mode:
Diffstat (limited to 'src/Gtk/State.icl')
-rw-r--r--src/Gtk/State.icl9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/Gtk/State.icl b/src/Gtk/State.icl
index 4db51af..32c2b19 100644
--- a/src/Gtk/State.icl
+++ b/src/Gtk/State.icl
@@ -107,3 +107,12 @@ worldToVoid _ = ()
quit :: GtkM ()
quit = modState (\st -> {st & return=True}) >>| pure ()
+
+runWhileEventsPending :: GtkM ()
+runWhileEventsPending =
+ toStateR gtk_events_pending >>= \pending
+ | not pending ->
+ pure ()
+ | otherwise ->
+ toStateR gtk_main_iteration >>|
+ runWhileEventsPending