gecko/js
Steve Fink 259048cd90 Bug 759895 - Fix typed array rooting issues with destructor ordering. r=terrence
This is invalid:

  RootedObject robj(cx, func(RootedObject(cx, obj)));

because Rooted<T> uses RAII to maintain a stack of rooted cells, which means it depends on constructors and destructors to properly nest. But the above code will call:

 1. inner constructor
 2. outer constructor
 3. inner destructor
 4. outer destructor

According to Luke, this is per spec; the temporary must last to the end of the statement.

--HG--
extra : rebase_source : b9ec3cacd5537a3ca2b7eee3edd73022d2e7f132
2012-05-24 22:29:50 -07:00
..
ductwork/debugger Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
examples Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
ipc Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
jsd Bug 753885 - Part 2: Add JSOPTION_ALLOW_XML, making E4X support optional per-context. r=Waldo. 2012-05-30 15:05:59 -05:00
public Bug 760337 - Add JS_ASSERT(table) where appropriate in HashTable.h. r=luke. 2012-06-04 00:00:24 -07:00
src Bug 759895 - Fix typed array rooting issues with destructor ordering. r=terrence 2012-05-24 22:29:50 -07:00
xpconnect Bug 761249 - abort if ClassInfo2WrappedNativeProtoMap or Native2WrappedNativeMap fail. r=bholley 2012-06-05 11:47:49 -07:00