diff options
Diffstat (limited to 'embed/mozilla/GtkNSSSecurityWarningDialogs.cpp')
-rw-r--r-- | embed/mozilla/GtkNSSSecurityWarningDialogs.cpp | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/embed/mozilla/GtkNSSSecurityWarningDialogs.cpp b/embed/mozilla/GtkNSSSecurityWarningDialogs.cpp index fca676a52..125b2e611 100644 --- a/embed/mozilla/GtkNSSSecurityWarningDialogs.cpp +++ b/embed/mozilla/GtkNSSSecurityWarningDialogs.cpp @@ -61,6 +61,7 @@ #include <nsServiceManagerUtils.h> #include "AutoJSContextStack.h" +#include "AutoWindowModalState.h" #include "EphyUtils.h" #include "GtkNSSSecurityWarningDialogs.h" @@ -226,21 +227,18 @@ GtkNSSSecurityWarningDialogs::DoDialog (nsIInterfaceRequestor *aContext, return; } - AutoJSContextStack stack; - rv = stack.Init (); - if (NS_FAILED (rv)) return; - - /* Didn't you know it, mozilla SUCKS! - * the "aContext" interface requestor is made from a nsIDOMWindow, - * but can only give out a nsIPrompt, from where there's no way to get - * the nsIDOMWindow back! Therefore we cannot display this dialogue with - * a parent, and HAVE TO make it modal. + /* On 1.8.0, domWin will be always nsnull, because of * https://bugzilla.mozilla.org/show_bug.cgi?id=277587 */ - /* domWin will be always nsnull, until the mozilla bug is fixed */ nsCOMPtr<nsIDOMWindow> domWin (do_GetInterface (aContext)); GtkWidget *parent = EphyUtils::FindGtkParent (domWin); + AutoJSContextStack stack; + rv = stack.Init (); + if (NS_FAILED (rv)) return; + + AutoWindowModalState modalState (domWin); + GtkWidget *dialog = gtk_message_dialog_new (GTK_WINDOW (parent), GTK_DIALOG_MODAL, aType, aButtons, aPrimary); |