glib::source

Function idle_add_local_once

Source
pub fn idle_add_local_once<F>(func: F) -> SourceId
where F: FnOnce() + 'static,
Expand description

Adds a closure to be called by the default main loop when it’s idle.

func will be called repeatedly until it returns ControlFlow::Break.

The default main loop almost always is the main loop of the main thread. Thus, the closure is called on the main thread.

Different to idle_add(), this does not require func to be Send but can only be called from the thread that owns the main context.

This function panics if called from a different thread than the one that owns the main context.

In comparison to idle_add_local(), this only requires func to be FnOnce, and will automatically return ControlFlow::Break.