Skip to content

Commit

Permalink
Fix custom_loop example to include plugin finalization (#13215)
Browse files Browse the repository at this point in the history
# Objective

The `custom_loop` example didn't replicate the `app.finish` /
`app.cleanup` calls from the default runner; I discovered this when
trying to troubleshoot why my application with a custom loop wasn't
calling its plugin finalizers, and realised that the upstream example
that I'd referenced didn't have the relevant calls.

## Solution

Added the missing calls, replicating what the default runner does:

https://github.com/bevyengine/bevy/blob/d3904200939ee6b2c0ee5f9293ad35ba8315cbfc/crates/bevy_app/src/app.rs#L895-L896

## Testing

I've confirmed that adding these two calls to my application fixed the
issue I was encountering. I haven't tested it within the example itself
as it's relatively straightforward and I didn't want to pollute the
example with a plugin using a finalizer.
  • Loading branch information
philpax authored May 3, 2024
1 parent c3eb3a1 commit 99b4fb6
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions examples/app/custom_loop.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@ use std::io;
struct Input(String);

fn my_runner(mut app: App) -> AppExit {
// Finalize plugin building, including running any necessary clean-up.
// This is normally completed by the default runner.
app.finish();
app.cleanup();

println!("Type stuff into the console");
for line in io::stdin().lines() {
{
Expand Down

0 comments on commit 99b4fb6

Please sign in to comment.