Open Thunderforge opened 2 years ago
The dialog tries to avoid that by setting cloud sync CommandSender's target to nullptr both at destructor and close() method (saveload-dialog.cpp:70 and :183). It seems that was not enough.
I agree that simple polling could work fine here. (Not sure I'm the one who'd write it tho.)
I've also noticed that the same CommandSender/CommandReceiver scheme is used for the "download folder" case. It's possible that the same error can happen there too (gui/downloaddialog.cpp).
ScummVM 4810a5d8d35c5caa79f9a3a1e93d882de32b2d87.
When loading a save from the launcher, if cloud saves sync is still in progress, the following crash occurs:
Meanwhile, the main thread is starting the engine normally:
The save / load dialog is long gone when the network thread tries to access it.
Perhaps the save / load dialog should simply poll updates from the "cloud manager" rather than being updated by another thread.