Merged r3394, r3466, r3467, r3468 and r3471 from trunk.
Authored by: jplang 2010-02-28
Parent: [r3500]
Child: [r3502]