diff options
author | Camil Staps | 2019-10-27 12:34:02 +0100 |
---|---|---|
committer | Camil Staps | 2019-10-27 12:34:02 +0100 |
commit | 8b94854da995a34790d194dcc01b654409e77593 (patch) | |
tree | 68f2cb72a2531992cf6c766b9eb7d99d0e708d60 /src/Gtk/State.icl | |
parent | Add getCellText for GtkSheet (diff) |
Add runWhileEventsPending to be able to show something before starting a long task on the main thread
Diffstat (limited to 'src/Gtk/State.icl')
-rw-r--r-- | src/Gtk/State.icl | 9 |
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 |