diff options
Diffstat (limited to 'abs/extra-testing/xulrunner/nsThreadUtils.patch')
-rw-r--r-- | abs/extra-testing/xulrunner/nsThreadUtils.patch | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/abs/extra-testing/xulrunner/nsThreadUtils.patch b/abs/extra-testing/xulrunner/nsThreadUtils.patch new file mode 100644 index 0000000..69609c0 --- /dev/null +++ b/abs/extra-testing/xulrunner/nsThreadUtils.patch @@ -0,0 +1,42 @@ +--- 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<nsIThread> current; ++ NS_GetCurrentThread(getter_AddRefs(current)); ++ return hasPendingEvents(current); ++#else + thread = NS_GetCurrentThread(); + NS_ENSURE_TRUE(thread, PR_FALSE); +- } +-#else +- nsCOMPtr<nsIThread> 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 + |