feat: rerender canvas on focus (#8035)

This commit is contained in:
David Luzar 2024-05-19 22:20:40 +02:00 committed by GitHub
parent afe52c89a7
commit 1b6e3fe05b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -2594,6 +2594,9 @@ class App extends React.Component<AppProps, AppState> {
),
addEventListener(window, EVENT.FOCUS, () => {
this.maybeCleanupAfterMissingPointerUp(null);
// browsers (chrome?) tend to free up memory a lot, which results
// in canvas context being cleared. Thus re-render on focus.
this.triggerRender(true);
}),
);
@ -3729,8 +3732,15 @@ class App extends React.Component<AppProps, AppState> {
},
);
private triggerRender = () => {
private triggerRender = (
/** force always re-renders canvas even if no change */
force?: boolean,
) => {
if (force === true) {
this.scene.triggerUpdate();
} else {
this.setState({});
}
};
/**