aboutsummaryrefslogtreecommitdiffstats
path: root/embed/mozilla/PrintingPromptService.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'embed/mozilla/PrintingPromptService.cpp')
-rw-r--r--embed/mozilla/PrintingPromptService.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/embed/mozilla/PrintingPromptService.cpp b/embed/mozilla/PrintingPromptService.cpp
index 2770f0d30..218c63b81 100644
--- a/embed/mozilla/PrintingPromptService.cpp
+++ b/embed/mozilla/PrintingPromptService.cpp
@@ -24,6 +24,10 @@
#include "config.h"
+#include "PrintingPromptService.h"
+#include "EphyUtils.h"
+#include "AutoJSContextStack.h"
+
#include <gtk/gtkdialog.h>
#include <libgnomeprintui/gnome-print-dialog.h>
@@ -31,8 +35,6 @@
#include "print-dialog.h"
#include "ephy-embed.h"
#include "ephy-command-manager.h"
-#include "EphyUtils.h"
-#include "PrintingPromptService.h"
#include "eel-gconf-extensions.h"
#include "ephy-prefs.h"
#include "ephy-debug.h"
@@ -72,6 +74,11 @@ NS_IMETHODIMP GPrintingPromptService::ShowPrintDialog(nsIDOMWindow *parent, nsIW
return NS_ERROR_ABORT;
}
+ nsresult rv;
+ AutoJSContextStack stack;
+ rv = stack.Init ();
+ if (NS_FAILED (rv)) return rv;
+
EphyEmbed *embed = EPHY_EMBED (EphyUtils::FindEmbed (parent));
NS_ENSURE_TRUE (embed, NS_ERROR_FAILURE);
@@ -136,7 +143,8 @@ NS_IMETHODIMP GPrintingPromptService::ShowProgress(nsIDOMWindow *parent, nsIWebB
}
/* void showPageSetup (in nsIDOMWindow parent, in nsIPrintSettings printSettings, in nsIObserver printObserver); */
-NS_IMETHODIMP GPrintingPromptService::ShowPageSetup(nsIDOMWindow *parent, nsIPrintSettings *printSettings,
+NS_IMETHODIMP GPrintingPromptService::ShowPageSetup(nsIDOMWindow *parent,
+ nsIPrintSettings *printSettings,
nsIObserver *printObserver)
{
EphyDialog *dialog;
@@ -148,6 +156,10 @@ NS_IMETHODIMP GPrintingPromptService::ShowPageSetup(nsIDOMWindow *parent, nsIPri
return rv;
}
+ AutoJSContextStack stack;
+ rv = stack.Init ();
+ if (NS_FAILED (rv)) return rv;
+
dialog = ephy_print_setup_dialog_new ();
ephy_dialog_set_modal (dialog, TRUE);