diff --git a/mozilla/netwerk/protocol/ftp/src/nsAsyncEvent.cpp b/mozilla/netwerk/protocol/ftp/src/nsAsyncEvent.cpp index deae660b241..fe34205e8c0 100644 --- a/mozilla/netwerk/protocol/ftp/src/nsAsyncEvent.cpp +++ b/mozilla/netwerk/protocol/ftp/src/nsAsyncEvent.cpp @@ -22,9 +22,6 @@ #include "nsAsyncEvent.h" #include "nsIServiceManager.h" -#include "nsIEventQueueService.h" - -static NS_DEFINE_CID(eventQCID, NS_EVENTQUEUESERVICE_CID); nsAsyncEvent::nsAsyncEvent(nsIChannel* channel, nsISupports* context) : mChannel(channel), mContext(context), mEvent(nsnull) @@ -58,16 +55,9 @@ void PR_CALLBACK nsAsyncEvent::DestroyPLEvent(PLEvent* aEvent) } nsresult -nsAsyncEvent::Fire() +nsAsyncEvent::Fire(nsIEventQueue *aEventQ) { - nsresult rv = NS_OK; - nsCOMPtr eqServ = do_GetService(eventQCID, &rv); - if (NS_FAILED(rv)) return rv; - - nsCOMPtr eventQ; - - rv = eqServ->GetThreadEventQueue(NS_UI_THREAD, getter_AddRefs(eventQ)); - if (NS_FAILED(rv)) return rv; + NS_ASSERTION(aEventQ, "need the event queue"); NS_PRECONDITION(nsnull == mEvent, "Init plevent only once."); mEvent = new PLEvent; @@ -77,7 +67,7 @@ nsAsyncEvent::Fire() (PLHandleEventProc) nsAsyncEvent::HandlePLEvent, (PLDestroyEventProc) nsAsyncEvent::DestroyPLEvent); - PRStatus status = eventQ->PostEvent(mEvent); + PRStatus status = aEventQ->PostEvent(mEvent); return status == PR_SUCCESS ? NS_OK : NS_ERROR_FAILURE; } diff --git a/mozilla/netwerk/protocol/ftp/src/nsAsyncEvent.h b/mozilla/netwerk/protocol/ftp/src/nsAsyncEvent.h index b19b784088b..d9dcbad1f55 100644 --- a/mozilla/netwerk/protocol/ftp/src/nsAsyncEvent.h +++ b/mozilla/netwerk/protocol/ftp/src/nsAsyncEvent.h @@ -36,7 +36,7 @@ public: nsAsyncEvent(nsIChannel* channel, nsISupports* context); virtual ~nsAsyncEvent(); - nsresult Fire(); + nsresult Fire(nsIEventQueue *aEventQ); NS_IMETHOD HandleEvent() = 0; diff --git a/mozilla/netwerk/protocol/ftp/src/nsFtpConnectionThread.cpp b/mozilla/netwerk/protocol/ftp/src/nsFtpConnectionThread.cpp index 70ca438dbf3..da1c6347457 100644 --- a/mozilla/netwerk/protocol/ftp/src/nsFtpConnectionThread.cpp +++ b/mozilla/netwerk/protocol/ftp/src/nsFtpConnectionThread.cpp @@ -1180,7 +1180,7 @@ nsFtpConnectionThread::S_list() { mListenerContext); if (!event) return NS_ERROR_OUT_OF_MEMORY; mFireCallbacks = PR_FALSE; // listener callbacks will be handled by the transport. - return event->Fire(); + return event->Fire(mEventQueue); } FTP_STATE @@ -1210,7 +1210,7 @@ nsFtpConnectionThread::S_retr() { mListenerContext); if (!event) return NS_ERROR_OUT_OF_MEMORY; mFireCallbacks = PR_FALSE; // listener callbacks will be handled by the transport. - return event->Fire(); + return event->Fire(mEventQueue); } FTP_STATE @@ -1261,7 +1261,7 @@ nsFtpConnectionThread::S_stor() { mObserverContext); if (!event) return NS_ERROR_OUT_OF_MEMORY; mFireCallbacks = PR_FALSE; // observer callbacks will be handled by the transport. - return event->Fire(); + return event->Fire(mEventQueue); } FTP_STATE