Fix mainPtr losing focus on Mac after dialog close

This commit is contained in:
2025-05-04 08:25:28 -05:00
parent 76d14741b8
commit 58f717a1a4

View File

@@ -631,15 +631,17 @@ void cDialog::handleTab(bool reverse) {
void cDialog::stackWindowsCorrectly() {
// Put all dialogs in correct z order:
std::vector<sf::RenderWindow*> dialog_stack;
std::vector<cDialog*> dialog_stack;
cDialog* next = this;
while(next != nullptr){
dialog_stack.push_back(&(next->win));
dialog_stack.push_back(next);
next = next->parent;
}
makeFrontWindow(mainPtr());
for(int i = dialog_stack.size() - 1; i >= 0; --i){
makeFrontWindow(*(dialog_stack[i]));
if(dialog_stack[i]->dialogNotToast){
makeFrontWindow(dialog_stack[i]->win);
}
}
}