CShellWindow: fix "OK" button after shell window

Allocating the CComponentsButton object on the stack does not really work
here, because it goes immediately out of scope and is thus deleted.
This commit is contained in:
Stefan Seyfried
2016-01-03 18:56:19 +01:00
parent b36c2b03d6
commit 8e43498ea5

View File

@@ -245,13 +245,14 @@ void CShellWindow::showResult()
}
if ((mode & VERBOSE)){
CComponentsButton *btn = NULL;
if (show_button){
int b_width = 150;
int b_height = 35;
int xpos = frameBuffer->getScreenWidth() - b_width;
int ypos = frameBuffer->getScreenHeight() - b_height;
CComponentsButton btn(xpos, ypos, b_width, b_height, LOCALE_MESSAGEBOX_BACK, NEUTRINO_ICON_BUTTON_OKAY, NULL, true, true);
btn.paint();
btn = new CComponentsButton(xpos, ypos, b_width, b_height, LOCALE_MESSAGEBOX_BACK, NEUTRINO_ICON_BUTTON_OKAY, NULL, true, true);
btn->paint(false); /* saving background is not really needed */
}
neutrino_msg_t msg;
@@ -264,6 +265,8 @@ void CShellWindow::showResult()
g_RCInput->getMsgAbsoluteTimeout(&msg, &data, &timeoutEnd);
while (msg != CRCInput::RC_ok && msg != CRCInput::RC_home && msg != CRCInput::RC_timeout);
}
if (btn)
delete btn;
textBox->hide();
}
}