aboutsummaryrefslogtreecommitdiffstats
path: root/embed/mozilla/GtkNSSSecurityWarningDialogs.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'embed/mozilla/GtkNSSSecurityWarningDialogs.cpp')
-rw-r--r--embed/mozilla/GtkNSSSecurityWarningDialogs.cpp18
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);