Bug #2005
closedProblem when using more than one Modal Dialog
0%
Description
I am having some problems when using two modal WDialogs,
The problem occur when the first dialog is closed and second is showed...
The first seems to close the modal and unblock the content of the application and it seems the second WDialog is not a
modal dialog anymore, and later when the second modal is closed, the background that blocks the application appear and block when it's not supposed to appear again...
WDialog *dialog = new WDialog("Title Dialog");
Wt::WPushButton *confirm = new Wt::WPushButton("Confirm", dialog->footer());
Wt::WPushButton *cancel = new Wt::WPushButton("Cancel", dialog->footer());
confirm->clicked().connect(std::bind([=] () {
openDialogConfirmation();
dialog->accept();
}));
cancel->clicked().connect(std::bind([=] () {
dialog->reject();
}));
dialog->finished().connect(std::bind([=] () {
delete dialog;
}));
dialog->show();
void openDialogConfirmation(){
WDialog *secondDialog = new WDialog("Title Second Dialog");
Wt::WPushButton *confirm = new Wt::WPushButton("Confirm", secondDialog->footer());
Wt::WPushButton *cancel = new Wt::WPushButton("Cancel", secondDialog->footer());
confirm->clicked().connect(std::bind([=] () {
secondDialog->accept();
}));
cancel->clicked().connect(std::bind([=] () {
secondDialog->reject();
}));
secondDialog->finished().connect(std::bind([=] () {
delete secondDialog;
}));
secondDialog->show();
}
could someone check it...
Thank you
Updated by Koen Deforche over 11 years ago
- Status changed from New to InProgress
- Assignee set to Koen Deforche
- Target version set to 3.3.1
Updated by Koen Deforche over 11 years ago
- Status changed from InProgress to Resolved
Hey,
This is an old known problem, see also #1512: the dialog code was expecting dialogs to be created/destroyed as they are stacked. A workaround for you code is to reverse the lines:
openDialogConfirmation();
dialog->accept();
But it's not nice of Wt to be so silly about this, and I got around to fix this though today and a fix is on its way in git!
Regards,
koen
Updated by Koen Deforche over 11 years ago
- Status changed from Resolved to Closed