Fix flicker in load house UI

This commit is contained in:
elasota
2020-05-18 04:38:16 -04:00
parent 5e6ecaf0fa
commit 49c438b088

View File

@@ -21,6 +21,7 @@
#include "ResourceManager.h" #include "ResourceManager.h"
#include "PLTimeTaggedVOSEvent.h" #include "PLTimeTaggedVOSEvent.h"
#include "VirtualDirectory.h" #include "VirtualDirectory.h"
#include "WindowManager.h"
#define kLoadHouseDialogID 1000 #define kLoadHouseDialogID 1000
@@ -343,6 +344,8 @@ void DoLoadHouse (void)
Dialog *theDial; Dialog *theDial;
short i, wasIndex, screenCount; short i, wasIndex, screenCount;
Boolean leaving, whoCares; Boolean leaving, whoCares;
PortabilityLayer::WindowManager *wm = PortabilityLayer::WindowManager::GetInstance();
BringUpDialog(&theDial, kLoadHouseDialogID, nullptr); BringUpDialog(&theDial, kLoadHouseDialogID, nullptr);
@@ -389,6 +392,9 @@ void DoLoadHouse (void)
leaving = false; leaving = false;
Window *exclWindow = theDial->GetWindow();
wm->SwapExclusiveWindow(exclWindow); // Push exclusive window
UpdateLoadDialog(theDial); UpdateLoadDialog(theDial);
while (!leaving) while (!leaving)
@@ -496,6 +502,8 @@ void DoLoadHouse (void)
UpdateLoadDialog(theDial); UpdateLoadDialog(theDial);
} }
wm->SwapExclusiveWindow(exclWindow); // Pop exclusive window
theDial->Destroy(); theDial->Destroy();
} }
#endif #endif