1 See Mozilla bug #1153707 - [JavaScript Error: "invalid 'in' operand |
|
2 aLivemarkInfo"] when calling method: [mozIAsyncLivemarks::getLivemark]. |
|
3 This is already upstream in version 38. |
|
4 |
|
5 --- comm-esr31/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_sparc_solaris.cpp.orig 2015-06-04 17:42:52.730766562 -0700 |
|
6 +++ comm-esr31/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_sparc_solaris.cpp 2015-06-04 17:42:52.738654394 -0700 |
|
7 @@ -52,13 +52,17 @@ |
|
8 |
|
9 if(param.IsOut() || !type.IsArithmetic()) |
|
10 { |
|
11 - dp->val.p = (void*) *ap; |
|
12 + if (type == nsXPTType::T_JSVAL) |
|
13 + dp->val.p = *((void**)*ap); |
|
14 + else |
|
15 + dp->val.p = (void*) *ap; |
|
16 + |
|
17 continue; |
|
18 } |
|
19 // else |
|
20 switch(type) |
|
21 { |
|
22 - case nsXPTType::T_I8 : dp->val.i8 = *((int32_t*) ap); break; |
|
23 + case nsXPTType::T_I8 : dp->val.i8 = *((int32_t*) ap); break; |
|
24 case nsXPTType::T_I16 : dp->val.i16 = *((int32_t*) ap); break; |
|
25 case nsXPTType::T_I32 : dp->val.i32 = *((int32_t*) ap); break; |
|
26 case nsXPTType::T_DOUBLE : |
|
27 --- comm-esr31/mozilla/js/xpconnect/src/XPCWrappedJSClass.cpp.orig 2015-06-04 17:42:52.736217989 -0700 |
|
28 +++ comm-esr31/mozilla/js/xpconnect/src/XPCWrappedJSClass.cpp 2015-06-04 17:42:52.739152339 -0700 |
|
29 @@ -1357,21 +1357,9 @@ |
|
30 break; |
|
31 } |
|
32 |
|
33 -// see bug #961488 |
|
34 -#if (defined(XP_UNIX) && !defined(XP_MACOSX) && !defined(_AIX)) && \ |
|
35 - ((defined(__sparc) && !defined(__sparcv9) && !defined(__sparcv9__)) || \ |
|
36 - (defined(__powerpc__) && !defined (__powerpc64__))) |
|
37 - if (type_tag == nsXPTType::T_JSVAL) { |
|
38 - if (!XPCConvert::JSData2Native(*(void**)(&pv->val), val, type, |
|
39 - !param.IsDipper(), ¶m_iid, nullptr)) |
|
40 - break; |
|
41 - } else |
|
42 -#endif |
|
43 - { |
|
44 - if (!XPCConvert::JSData2Native(&pv->val, val, type, |
|
45 - !param.IsDipper(), ¶m_iid, nullptr)) |
|
46 - break; |
|
47 - } |
|
48 + if (!XPCConvert::JSData2Native(&pv->val, val, type, |
|
49 + !param.IsDipper(), ¶m_iid, nullptr)) |
|
50 + break; |
|
51 } |
|
52 |
|
53 // if any params were dependent, then we must iterate again to convert them. |
|