summaryrefslogtreecommitdiffstats
path: root/abs/extra-testing/xulrunner/nsThreadUtils.patch
diff options
context:
space:
mode:
Diffstat (limited to 'abs/extra-testing/xulrunner/nsThreadUtils.patch')
-rw-r--r--abs/extra-testing/xulrunner/nsThreadUtils.patch42
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
+