Fix a bug in Persistent::New
authorLars Knoll <lars.knoll@digia.com>
Wed, 6 Mar 2013 10:19:02 +0000 (11:19 +0100)
committerSimon Hausmann <simon.hausmann@digia.com>
Wed, 6 Mar 2013 15:00:56 +0000 (16:00 +0100)
Change-Id: Iac13aa897e64bca6b50ea90bd5e2804e2212e008
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
src/v4/qv4v8.h

index 1ee683f..810dfb2 100644 (file)
@@ -509,7 +509,10 @@ template <class T> class Persistent : public Handle<T> {
    */
   static Persistent<T> New(Handle<T> that)
   {
-      return Persistent<T>(that);
+      Persistent<T> result;
+      result.Handle<T>::operator =(that);
+      HandleOperations<T>::protect(&result);
+      return result;
   }
 
   /**