--- xulrunner-1.9.0.4.orig/xpcom/glue/nsThreadUtils.cpp +++ xulrunner-1.9.0.4/xpcom/glue/nsThreadUtils.cpp @@ -187,24 +187,27 @@ } #endif // XPCOM_GLUE_AVOID_NSPR +inline PRBool +hasPendingEvents(nsIThread *thread) +{ + PRBool val; + return NS_SUCCEEDED(thread->HasPendingEvents(&val)) && val; +} + PRBool NS_HasPendingEvents(nsIThread *thread) { -#ifdef MOZILLA_INTERNAL_API if (!thread) { +#ifndef MOZILLA_INTERNAL_API + nsCOMPtr current; + NS_GetCurrentThread(getter_AddRefs(current)); + return hasPendingEvents(current); +#else thread = NS_GetCurrentThread(); NS_ENSURE_TRUE(thread, PR_FALSE); - } -#else - nsCOMPtr current; - if (!thread) { - NS_GetCurrentThread(getter_AddRefs(current)); - NS_ENSURE_TRUE(current, PR_FALSE); - thread = current.get(); - } #endif - PRBool val; - return NS_SUCCEEDED(thread->HasPendingEvents(&val)) && val; + } + return hasPendingEvents(thread); } PRBool