Add SetModal() widget interface to nsIWidget, and provide an implementation

for Gtk+. Now, when we do modal dialogs, Gtk+ calls a routine that makes the
dialog modal within Gtk+; this is in addition to the code in nsWebShellWindow
that is being invoked to support modals on the other platforms. For Gtk+, the
nsWebShellWindow code doesn't appear to be enough; in order for the event
plumbing to stay alive, we need to call into Gtk+, and unless we actually make
the dialog modal using Gtk+ mechanisms, the user can still get to the menu bar, which is not good.


git-svn-id: svn://10.0.0.236/trunk@35095 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
syd%netscape.com
1999-06-13 20:56:08 +00:00
parent 4ac61e25d3
commit c009860f8f
6 changed files with 28 additions and 0 deletions

View File

@@ -1380,6 +1380,7 @@ nsWebShellWindow::ShowModalInternal()
subshell->Spinup();
nsIWidget *window = GetWidget();
window->SetModal();
NS_ADDREF(window);
mContinueModalLoop = PR_TRUE;
while (NS_SUCCEEDED(rv) && mContinueModalLoop == PR_TRUE) {