fix: double state update incorrectly resetting state (#5704)

Co-authored-by: David Luzar <luzar.david@gmail.com>
This commit is contained in:
zsviczian 2022-09-17 20:21:27 +02:00 committed by GitHub
parent 9cccac1458
commit 9929a2be6f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1153,7 +1153,11 @@ class App extends React.Component<AppProps, AppState> {
) {
// defer so that the commitToHistory flag isn't reset via current update
setTimeout(() => {
this.actionManager.executeAction(actionFinalize);
// execute only if the condition still holds when the deferred callback
// executes (it can be scheduled multiple times depending on how
// many times the component renders)
this.state.editingLinearElement &&
this.actionManager.executeAction(actionFinalize);
});
}