[lua] Avoid accessing nullptr parent display at exit (#5384)

This commit is contained in:
David Capello 2025-08-27 15:26:31 -03:00
parent 9a1e92da35
commit 002356ce19
1 changed files with 9 additions and 2 deletions

View File

@ -207,7 +207,8 @@ struct Dialog {
{ {
Display* parentDisplay = window.parentDisplay(); Display* parentDisplay = window.parentDisplay();
if (!parentDisplay) { if (!parentDisplay) {
const auto mainWindow = App::instance()->mainWindow(); const auto* mainWindow = App::instance()->mainWindow();
if (mainWindow)
parentDisplay = mainWindow->display(); parentDisplay = mainWindow->display();
} }
return parentDisplay; return parentDisplay;
@ -220,6 +221,9 @@ struct Dialog {
// origin/scale (or main window if a parent window wasn't specified). // origin/scale (or main window if a parent window wasn't specified).
if (window.ownDisplay()) { if (window.ownDisplay()) {
const Display* parentDisplay = this->parentDisplay(); const Display* parentDisplay = this->parentDisplay();
if (!parentDisplay)
return bounds;
const int scale = parentDisplay->scale(); const int scale = parentDisplay->scale();
const gfx::Point dialogOrigin = window.display()->nativeWindow()->contentRect().origin(); const gfx::Point dialogOrigin = window.display()->nativeWindow()->contentRect().origin();
const gfx::Point mainOrigin = parentDisplay->nativeWindow()->contentRect().origin(); const gfx::Point mainOrigin = parentDisplay->nativeWindow()->contentRect().origin();
@ -234,6 +238,9 @@ struct Dialog {
window.expandWindow(rc.size()); window.expandWindow(rc.size());
Display* parentDisplay = this->parentDisplay(); Display* parentDisplay = this->parentDisplay();
if (!parentDisplay)
return;
const int scale = parentDisplay->scale(); const int scale = parentDisplay->scale();
const gfx::Point mainOrigin = parentDisplay->nativeWindow()->contentRect().origin(); const gfx::Point mainOrigin = parentDisplay->nativeWindow()->contentRect().origin();
gfx::Rect frame = window.display()->nativeWindow()->contentRect(); gfx::Rect frame = window.display()->nativeWindow()->contentRect();