|
@@ -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 = () => {
|
|
|
- this.setState({});
|
|
|
+ private triggerRender = (
|
|
|
+ /** force always re-renders canvas even if no change */
|
|
|
+ force?: boolean,
|
|
|
+ ) => {
|
|
|
+ if (force === true) {
|
|
|
+ this.scene.triggerUpdate();
|
|
|
+ } else {
|
|
|
+ this.setState({});
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
/**
|