winit/src/platform_impl
Robert Bragg 0d366ffbda Re-work event loop run() API so it can return a Result
This re-works the portable `run()` API that consumes the `EventLoop` and
runs the loop on the calling thread until the app exits.

This can be supported across _all_ platforms and compared to the
previous `run() -> !` API is now able to return a `Result` status on all
platforms except iOS and Web. Fixes: #2709

By moving away from `run() -> !` we stop calling `std::process::exit()`
internally as a means to kill the process without returning which means
it's possible to return an exit status and applications can return from
their `main()` function normally.

This also fixes Android support where an Activity runs in a thread but
we can't assume to have full ownership of the process (other services
could be running in separate threads).

Additionally all examples have generally been updated so that `main()`
returns a `Result` from `run()`

Fixes: #2709
2023-07-28 03:04:32 +04:00
..
android Re-work event loop run() API so it can return a Result 2023-07-28 03:04:32 +04:00
ios Rename Window::set_inner_size to Window::request_inner_size 2023-07-10 04:02:26 +00:00
linux Re-work event loop run() API so it can return a Result 2023-07-28 03:04:32 +04:00
macos Re-work event loop run() API so it can return a Result 2023-07-28 03:04:32 +04:00
orbital Re-work event loop run() API so it can return a Result 2023-07-28 03:04:32 +04:00
web On Web, add WindowBuilderExtWebSys::with_append() (#2953) 2023-07-12 17:11:52 +02:00
windows Re-work event loop run() API so it can return a Result 2023-07-28 03:04:32 +04:00
mod.rs Redox OS support (#2588) 2023-01-05 06:58:08 -07:00