rpms/xulrunner/F-9 xulrunner-hang.patch, NONE, 1.1 xulrunner.spec, 1.115, 1.116
Martin Stransky (stransky)
fedora-extras-commits at redhat.com
Wed Apr 23 08:34:27 UTC 2008
Author: stransky
Update of /cvs/pkgs/rpms/xulrunner/F-9
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv21252
Modified Files:
xulrunner.spec
Added Files:
xulrunner-hang.patch
Log Message:
- Added fix for #443725 - Critical hanging bug with fix
available upstream (mozbz#429903)
xulrunner-hang.patch:
--- NEW FILE xulrunner-hang.patch ---
diff -NprU8 mozilla.eded8fd350ce/dom/src/base/nsDOMClassInfo.cpp mozilla/dom/src/base/nsDOMClassInfo.cpp
--- mozilla.eded8fd350ce/dom/src/base/nsDOMClassInfo.cpp 2008-04-22 16:58:15.000000000 -0700
+++ mozilla/dom/src/base/nsDOMClassInfo.cpp 2008-04-22 16:58:15.000000000 -0700
@@ -8933,17 +8933,17 @@ nsHTMLPluginObjElementSH::SetupProtoChai
// Set 'this.__proto__' to pi
if (!::JS_SetPrototype(cx, obj, pi_obj)) {
return NS_ERROR_UNEXPECTED;
}
if (pi_proto && JS_GET_CLASS(cx, pi_proto) != sObjectClass) {
// The plugin wrapper has a proto that's not Object.prototype, set
// 'pi.__proto__.__proto__' to the original 'this.__proto__'
- if (!::JS_SetPrototype(cx, pi_proto, my_proto)) {
+ if (pi_proto != my_proto && !::JS_SetPrototype(cx, pi_proto, my_proto)) {
return NS_ERROR_UNEXPECTED;
}
} else {
// 'pi' didn't have a prototype, or pi's proto was 'Object.prototype'
// (i.e. pi is an LiveConnect wrapped Java applet), set
// 'pi.__proto__' to the original 'this.__proto__'
if (!::JS_SetPrototype(cx, pi_obj, my_proto)) {
return NS_ERROR_UNEXPECTED;
diff -NprU8 mozilla.eded8fd350ce/js/src/jsapi.c mozilla/js/src/jsapi.c
--- mozilla.eded8fd350ce/js/src/jsapi.c 2008-04-22 16:58:15.000000000 -0700
+++ mozilla/js/src/jsapi.c 2008-04-22 16:58:15.000000000 -0700
@@ -2908,16 +2908,17 @@ JS_GetPrototype(JSContext *cx, JSObject
/* Beware ref to dead object (we may be called from obj's finalizer). */
return proto && proto->map ? proto : NULL;
}
JS_PUBLIC_API(JSBool)
JS_SetPrototype(JSContext *cx, JSObject *obj, JSObject *proto)
{
CHECK_REQUEST(cx);
+ JS_ASSERT(obj != proto);
#ifdef DEBUG
/*
* FIXME: bug 408416. The cycle-detection required for script-writeable
* __proto__ lives in js_SetProtoOrParent over in jsobj.c, also known as
* js_ObjectOps.setProto. This hook must detect cycles, to prevent scripts
* from ilooping SpiderMonkey trivially. But the overhead of detecting
* cycles is high enough, and the threat from JS-API-calling C++ code is
* low enough, that it's not worth burdening the non-DEBUG callers. Same
Index: xulrunner.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xulrunner/F-9/xulrunner.spec,v
retrieving revision 1.115
retrieving revision 1.116
diff -u -r1.115 -r1.116
--- xulrunner.spec 23 Apr 2008 08:27:58 -0000 1.115
+++ xulrunner.spec 23 Apr 2008 08:33:50 -0000 1.116
@@ -31,6 +31,7 @@
Patch20: mozilla-dpi.patch
Patch21: mozilla-wtfbuttons.patch
Patch22: mozilla-keys.patch
+Patch23: xulrunner-hang.patch
# ---------------------------------------------------
@@ -101,6 +102,7 @@
%patch20 -p1 -b .dpi
%patch21 -p1 -b .wtfbuttons
%patch22 -p1 -b .keys
+%patch23 -p1 -b .hang
%{__rm} -f .mozconfig
%{__cp} %{SOURCE10} .mozconfig
@@ -388,6 +390,8 @@
* Wed Apr 23 2008 Martin Stransky <stransky at redhat.com> 1.9-0.56
- Changed "__ppc64__" to "__powerpc64__",
"__ppc64__" doesn't work anymore
+- Added fix for #443725 - Critical hanging bug with fix
+ available upstream (mozbz#429903)
* Fri Apr 18 2008 Martin Stransky <stransky at redhat.com> 1.9-0.55
- Fixed multilib issues, added starting script instead of a symlink
More information about the fedora-extras-commits
mailing list