Assign ActiveWindowID to NullWindowID if window doesn't exist, misc
This commit is contained in:
@@ -603,11 +603,17 @@ void Update(Event event) {
|
||||
}
|
||||
}
|
||||
|
||||
ActiveWindowID = NextActiveWindowID;
|
||||
Window *window = GetWindow(ActiveWindowID, NULL);
|
||||
if (window == NULL || window->visible == false) {
|
||||
ActiveWindowID = NextActiveWindowID = LastActiveLayoutWindowID;
|
||||
window = GetWindow(ActiveWindowID);
|
||||
{
|
||||
ActiveWindowID = NextActiveWindowID;
|
||||
Window *window = GetWindow(ActiveWindowID, NULL);
|
||||
if (window == NULL || window->visible == false) {
|
||||
ActiveWindowID = NextActiveWindowID = LastActiveLayoutWindowID;
|
||||
window = GetWindow(ActiveWindowID, NULL);
|
||||
if (window == NULL) {
|
||||
ActiveWindowID = NullWindowID;
|
||||
Assert(GetWindow(ActiveWindowID, NULL));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Behavior where these windows cannot be visible at the same time
|
||||
@@ -625,6 +631,7 @@ void Update(Event event) {
|
||||
}
|
||||
|
||||
if (ActiveWindowID != LastActiveLayoutWindowID) {
|
||||
Window *window = GetWindow(ActiveWindowID, NULL);
|
||||
if (window->layout) {
|
||||
LastActiveLayoutWindowID = ActiveWindowID;
|
||||
}
|
||||
|
||||
@@ -26,14 +26,12 @@ Window *GetWindow(WindowID id, Window *default_window = Windows[0]) {
|
||||
}
|
||||
|
||||
void Close(WindowID id) {
|
||||
Window *window = GetWindow(id, NULL);
|
||||
if (window) {
|
||||
if (window->id.id == 0) {
|
||||
return;
|
||||
}
|
||||
window->close = true;
|
||||
RunGCThisFrame = true;
|
||||
Window *window = GetWindow(id);
|
||||
if (window->id.id == 0) {
|
||||
return;
|
||||
}
|
||||
window->close = true;
|
||||
RunGCThisFrame = true;
|
||||
}
|
||||
|
||||
Window *FindWindow(ViewID view_id, Window *default_window = NULL) {
|
||||
|
||||
@@ -21,7 +21,7 @@ void DebugWindowInit() {
|
||||
}
|
||||
|
||||
void DebugWindowLayout(Rect2I *rect, Int wx, Int wy) {
|
||||
Window *n = GetWindow(DebugWindowID);
|
||||
Window *n = GetWindow(DebugWindowID);
|
||||
Rect2 screen_rect = Rect0Size((float)wx, (float)wy);
|
||||
Vec2 size = GetSize(screen_rect);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user