-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix ongoing workspace creation shouldn't be interrupted if the users close the window too early #94
Conversation
SRombautsU
commented
Oct 13, 2023
•
edited
Loading
edited
- Split OnSourceControlOperationComplete() methods in dedicated delegates
- Move workspace creation parameters into a dedicated structure
- Move the workspace creation logic into a dedicated class: the instance is hold by the module, and kept alive when the Login window is closed (this is the actual fix)
For the menu, only do that when it requires some additional work
a882cf0
to
66cfd6b
Compare
FPlasticWorkspaceCreationParameters
18aaf56
to
453fcf0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
I'm interested on knowing why the dedicated delegates do the trick. Even it seems like a much more appropiated approach, I'm curious to know why it wasn't working previously. Wasn't OnSourceControlOperationComplete being called correctly when the settings dialog is was closed?
{ | ||
OnSourceControlOperationComplete(InOperation, InResult); | ||
|
||
// Launch the following asynchronous operation |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You mean "next" not "following" I think
f9960d3
to
5328549
Compare
The single instance of FPlasticSourceControlWorkspaceCreation is hold by the Module, and as such it is kept alive when the Login window is closed (this is the actual fix)
5328549
to
c5a92d1
Compare
Indeed, this is just a refactor to make things cleaner while I was at the task, it's not the fix. So the fix is in fact in the following commit:
|