From bfd1d5ab3539021b0e759756f748ac205f1eb645 Mon Sep 17 00:00:00 2001 From: Christian Persch Date: Fri, 28 Sep 2007 15:17:48 +0000 Subject: Make it build. svn path=/trunk/; revision=7505 --- embed/xulrunner/utils/Makefile.am | 2 ++ embed/xulrunner/utils/ggeAutoModalDialog.cpp | 35 ++++++++++++++++------------ embed/xulrunner/utils/ggeAutoModalDialog.h | 6 ++--- 3 files changed, 25 insertions(+), 18 deletions(-) (limited to 'embed') diff --git a/embed/xulrunner/utils/Makefile.am b/embed/xulrunner/utils/Makefile.am index 781735962..a66ecf054 100644 --- a/embed/xulrunner/utils/Makefile.am +++ b/embed/xulrunner/utils/Makefile.am @@ -13,6 +13,8 @@ libephyxulrunnerutils_la_SOURCES = \ EphyUtils.h \ GeckoUtils.cpp \ GeckoUtils.h \ + ggeAutoModalDialog.cpp \ + ggeAutoModalDialog.h \ ggeAutoSurvivalArea.cpp \ ggeAutoSurvivalArea.h \ $(NULL) diff --git a/embed/xulrunner/utils/ggeAutoModalDialog.cpp b/embed/xulrunner/utils/ggeAutoModalDialog.cpp index 80e5a33a1..76029d2f3 100644 --- a/embed/xulrunner/utils/ggeAutoModalDialog.cpp +++ b/embed/xulrunner/utils/ggeAutoModalDialog.cpp @@ -37,24 +37,27 @@ struct JSContext; /* Just so we don't need to include a bunch of JS headers */ #include #include #include +#include #include #include #include +#include + #include "ggeAutoModalDialog.h" ggeAutoModalDialog::ggeAutoModalDialog (nsIDOMWindow *aWindow, PRBool aNotifyDOM) : mWindow (aWindow), - mPWindow (do_QueryInterface (aWindow)) - mStack (do_GetService ("@mozilla.org/js/xpc/ContextStack;1")) + mPWindow (do_QueryInterface (aWindow)), + mStack (do_GetService ("@mozilla.org/js/xpc/ContextStack;1")), mDefaultEnabled (PR_TRUE), mContextPushed (PR_FALSE), mModalStateSet (PR_FALSE) { /* First we check whether we should show the dialogue at all */ if (aNotifyDOM) { - mDefaultEnabled = DispatchEvent ("DOMWillOpenModalDialog")); + mDefaultEnabled = DispatchEvent ("DOMWillOpenModalDialog"); if (!mDefaultEnabled) { return; } @@ -67,7 +70,7 @@ ggeAutoModalDialog::ggeAutoModalDialog (nsIDOMWindow *aWindow, if (mWindow) { NS_ASSERTION (mPWindow, "Should have a window here!"); - mWindow->EnterModalState (); + mPWindow->EnterModalState (); mModalStateSet = PR_TRUE; } } @@ -76,7 +79,7 @@ ggeAutoModalDialog::~ggeAutoModalDialog () { if (mModalStateSet) { NS_ASSERTION (mPWindow, "Should have a window here!"); - mWindow->LeaveModalState (); + mPWindow->LeaveModalState (); } if (mContextPushed) { @@ -102,7 +105,7 @@ ggeAutoModalDialog::ResponseCallback (GtkWidget *aDialog, obj->mContinueModalLoop = PR_FALSE; } -static gboolean PR_CALLBACK +/* static */ gboolean PR_CALLBACK ggeAutoModalDialog::DeleteCallback (GtkWidget *aDialog, void *aEvent, void *aData) @@ -111,8 +114,8 @@ ggeAutoModalDialog::DeleteCallback (GtkWidget *aDialog, return TRUE; } -int -ggeAutoModalDialog::Run (GtkDialog *aDialog) +void +ggeAutoModalDialog::Run (GtkWidget *aDialog) { NS_ASSERTION (ShouldShow(), "Calling ::Run on a prevented dialogue!"); @@ -125,18 +128,20 @@ ggeAutoModalDialog::Run (GtkDialog *aDialog) // being active the whole time a modal dialog is open. nsAutoPopupStatePusher popupStatePusher (mPWindow, openAbused); - mDialog = g_object_ref_sink (aDialog); + mDialog = aDialog; + g_object_ref_sink (mDialog); mResponse = GTK_RESPONSE_DELETE_EVENT; gulong responseHandler = g_signal_connect (mDialog, "response", - ResponseCallback, + G_CALLBACK (ResponseCallback), reinterpret_cast(this)); gulong deleteHandler = g_signal_connect (mDialog, "delete-event", - DeleteCallback, + G_CALLBACK (DeleteCallback), reinterpret_cast(this)); - - nsIThread *thread = NS_GetCurrentThread(); + + nsCOMPtr thread (do_GetCurrentThread ()); + NS_ASSERTION (thread, "No UI thread?"); mContinueModalLoop = PR_TRUE; while (mContinueModalLoop) { @@ -152,7 +157,7 @@ ggeAutoModalDialog::Run (GtkDialog *aDialog) } PRBool -ggeAutoModalDialog::DispatchEvent (const char *aEvent) +ggeAutoModalDialog::DispatchEvent (const char *aEventName) { if (!mWindow) { return PR_TRUE; @@ -171,7 +176,7 @@ ggeAutoModalDialog::DispatchEvent (const char *aEvent) nsCOMPtr privateEvent (do_QueryInterface (event)); if (privateEvent) { - event->InitEvent(NS_ConvertASCIItoUTF16(aEventName), PR_TRUE, PR_TRUE); + event->InitEvent (NS_ConvertASCIItoUTF16 (aEventName), PR_TRUE, PR_TRUE); privateEvent->SetTrusted(PR_TRUE); diff --git a/embed/xulrunner/utils/ggeAutoModalDialog.h b/embed/xulrunner/utils/ggeAutoModalDialog.h index e52ebc577..0c9da0fcd 100644 --- a/embed/xulrunner/utils/ggeAutoModalDialog.h +++ b/embed/xulrunner/utils/ggeAutoModalDialog.h @@ -50,10 +50,10 @@ class ggeAutoModalDialog // stack only please void *operator new (size_t) CPP_THROW_NEW; - PRBool DispatchEvent (const char *aEvent); + PRBool DispatchEvent (const char *aEventName); - static void PR_CALLBACK DialogResponseCallback (GtkWidget*, int, void*); - static gboolean PR_CALLBACK DialogDeleteCallback (GtkWidget*, void*, void*); + static void PR_CALLBACK ResponseCallback (GtkWidget*, int, void*); + static gboolean PR_CALLBACK DeleteCallback (GtkWidget*, void*, void*); nsCOMPtr mWindow; nsCOMPtr mPWindow; -- cgit v1.2.3