[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/as_value.cpp server/asob...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/as_value.cpp server/asob... |
Date: |
Tue, 20 Mar 2007 15:26:05 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 07/03/20 15:26:05
Modified files:
. : ChangeLog
server : as_value.cpp
server/asobj : Boolean.cpp Boolean.h Number.cpp Number.h
gstring.h string.cpp
testsuite/actionscript.all: Function.as
Log message:
* server/as_value.cpp, server/asobj/Boolean.cpp,
server/asobj/Boolean.h, server/asobj/Number.cpp,
server/asobj/Number.h, server/asobj/gstring.h,
server/asobj/string.cpp: Implement init_boolean_instance
and change init_{number,string}_instance to return
by intrusive_ptr (rather then auto_ptr).
Do automatic boolean to Boolean conversion in
as_value::to_object.
* testsuite/actionscript.all/Function.as:
Couple of more successes.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.2643&r2=1.2644
http://cvs.savannah.gnu.org/viewcvs/gnash/server/as_value.cpp?cvsroot=gnash&r1=1.30&r2=1.31
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Boolean.cpp?cvsroot=gnash&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Boolean.h?cvsroot=gnash&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Number.cpp?cvsroot=gnash&r1=1.24&r2=1.25
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Number.h?cvsroot=gnash&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/gstring.h?cvsroot=gnash&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/string.cpp?cvsroot=gnash&r1=1.21&r2=1.22
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/Function.as?cvsroot=gnash&r1=1.31&r2=1.32
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.2643
retrieving revision 1.2644
diff -u -b -r1.2643 -r1.2644
--- ChangeLog 20 Mar 2007 15:01:19 -0000 1.2643
+++ ChangeLog 20 Mar 2007 15:26:04 -0000 1.2644
@@ -1,5 +1,17 @@
2007-03-20 Sandro Santilli <address@hidden>
+ * server/as_value.cpp, server/asobj/Boolean.cpp,
+ server/asobj/Boolean.h, server/asobj/Number.cpp,
+ server/asobj/Number.h, server/asobj/gstring.h,
+ server/asobj/string.cpp: Implement init_boolean_instance
+ and change init_{number,string}_instance to return
+ by intrusive_ptr (rather then auto_ptr).
+ Do automatic boolean to Boolean conversion in as_value::to_object.
+ * testsuite/actionscript.all/Function.as:
+ Couple of more successes.
+
+2007-03-20 Sandro Santilli <address@hidden>
+
* server/array.cpp, server/as_environment.cpp,
server/as_function.cpp, server/as_object.cpp,
server/as_object.h, server/as_value.cpp, server/as_value.h,
Index: server/as_value.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/as_value.cpp,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -b -r1.30 -r1.31
--- server/as_value.cpp 20 Mar 2007 15:01:20 -0000 1.30
+++ server/as_value.cpp 20 Mar 2007 15:26:04 -0000 1.31
@@ -29,6 +29,7 @@
#include "movie_root.h" // for MOVIECLIP values
#include "gstring.h" // for automatic as_value::STRING => String as object
#include "Number.h" // for automatic as_value::NUMBER => Number as object
+#include "Boolean.h" // for automatic as_value::BOOLEAN => Boolean as object
#include "action.h" // for call_method0
#include <cmath> // for NAN
@@ -481,17 +482,13 @@
return ptr(to_sprite());
case STRING:
- // FIXME: update when init_whatever_instance will
- // return an intrusive_ptr directly
- return
ptr(init_string_instance(m_string_value.c_str()).release());
+ return init_string_instance(m_string_value.c_str());
case NUMBER:
- // FIXME: update when init_whatever_instance will
- // return an intrusive_ptr directly
- return
ptr(init_number_instance(m_number_value).release());
+ return init_number_instance(m_number_value);
case BOOLEAN:
- log_error("FIXME: boolean to Boolean conversion
unimplemented yet");
+ return init_boolean_instance(m_boolean_value);
default:
return NULL;
Index: server/asobj/Boolean.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Boolean.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- server/asobj/Boolean.cpp 20 Mar 2007 15:01:20 -0000 1.10
+++ server/asobj/Boolean.cpp 20 Mar 2007 15:26:04 -0000 1.11
@@ -136,6 +136,13 @@
}
+boost::intrusive_ptr<as_object>
+init_boolean_instance(bool val)
+{
+ // TODO: properly initialize the __constructor__ and constructor members
+ // (should as_object ctor do this?)
+ return boost::intrusive_ptr<as_object>(new boolean_as_object(val));
+}
} // end of gnash namespace
Index: server/asobj/Boolean.h
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Boolean.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- server/asobj/Boolean.h 20 Nov 2006 11:40:47 -0000 1.5
+++ server/asobj/Boolean.h 20 Mar 2007 15:26:04 -0000 1.6
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -23,6 +23,8 @@
#include "config.h"
#endif
+#include "smart_ptr.h"
+
#include <memory> // for auto_ptr
namespace gnash {
@@ -33,7 +35,7 @@
void boolean_class_init(as_object& global);
/// Return a Boolean instance (in case the core lib needs it)
-//std::auto_ptr<as_object> init_boolean_instance();
+boost::intrusive_ptr<as_object> init_boolean_instance(bool val);
} // end of gnash namespace
Index: server/asobj/Number.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Number.cpp,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -b -r1.24 -r1.25
--- server/asobj/Number.cpp 19 Mar 2007 17:11:14 -0000 1.24
+++ server/asobj/Number.cpp 20 Mar 2007 15:26:04 -0000 1.25
@@ -14,7 +14,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-/* $Id: Number.cpp,v 1.24 2007/03/19 17:11:14 bjacques Exp $ */
+/* $Id: Number.cpp,v 1.25 2007/03/20 15:26:04 strk Exp $ */
// Implementation of ActionScript Number class.
@@ -294,10 +294,12 @@
}
-auto_ptr<as_object>
+boost::intrusive_ptr<as_object>
init_number_instance(double val)
{
- return auto_ptr<as_object>(new number_as_object(val));
+ // TODO: properly initialize the __constructor__ and constructor members
+ // (should as_object ctor do this?)
+ return boost::intrusive_ptr<as_object>(new number_as_object(val));
}
} // namespace gnash
Index: server/asobj/Number.h
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Number.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- server/asobj/Number.h 5 Nov 2006 20:10:12 -0000 1.3
+++ server/asobj/Number.h 20 Mar 2007 15:26:04 -0000 1.4
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -23,6 +23,12 @@
#ifndef GNASH_NUMBER_H
#define GNASH_NUMBER_H
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "smart_ptr.h"
+
#include <memory> // for auto_ptr
namespace gnash {
@@ -33,7 +39,7 @@
void number_class_init(as_object& global);
/// Return a Number instance
-std::auto_ptr<as_object> init_number_instance(double val);
+boost::intrusive_ptr<as_object> init_number_instance(double val);
}
Index: server/asobj/gstring.h
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/gstring.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- server/asobj/gstring.h 5 Nov 2006 20:10:12 -0000 1.3
+++ server/asobj/gstring.h 20 Mar 2007 15:26:05 -0000 1.4
@@ -1,5 +1,5 @@
//
-// Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+// Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -23,6 +23,12 @@
#ifndef GNASH_STRING_H
#define GNASH_STRING_H
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "smart_ptr.h"
+
#include <memory> // for auto_ptr
namespace gnash {
@@ -33,7 +39,7 @@
void string_class_init(as_object& global);
/// Return a String instance
-std::auto_ptr<as_object> init_string_instance(const char* val);
+boost::intrusive_ptr<as_object> init_string_instance(const char* val);
}
Index: server/asobj/string.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/string.cpp,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- server/asobj/string.cpp 20 Mar 2007 15:01:20 -0000 1.21
+++ server/asobj/string.cpp 20 Mar 2007 15:26:05 -0000 1.22
@@ -14,7 +14,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-/* $Id: string.cpp,v 1.21 2007/03/20 15:01:20 strk Exp $ */
+/* $Id: string.cpp,v 1.22 2007/03/20 15:26:05 strk Exp $ */
// Implementation of ActionScript String class.
@@ -513,12 +513,15 @@
}
-std::auto_ptr<as_object>
+boost::intrusive_ptr<as_object>
init_string_instance(const char* val)
{
- tu_string_as_object* obj = new tu_string_as_object();
+ // TODO: properly initialize the __constructor__ and constructor members
+ // (should as_object ctor do this?)
+
+ boost::intrusive_ptr<tu_string_as_object> obj = new
tu_string_as_object();
if ( val ) obj->m_string = val;
- return std::auto_ptr<as_object>(obj);
+ return boost::dynamic_pointer_cast<as_object>(obj);
}
} // namespace gnash
Index: testsuite/actionscript.all/Function.as
===================================================================
RCS file: /sources/gnash/gnash/testsuite/actionscript.all/Function.as,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -b -r1.31 -r1.32
--- testsuite/actionscript.all/Function.as 20 Mar 2007 09:19:33 -0000
1.31
+++ testsuite/actionscript.all/Function.as 20 Mar 2007 15:26:05 -0000
1.32
@@ -20,7 +20,7 @@
// compile this test case with Ming makeswf, and then
// execute it like this gnash -1 -r 0 -v out.swf
-rcsid="$Id: Function.as,v 1.31 2007/03/20 09:19:33 strk Exp $";
+rcsid="$Id: Function.as,v 1.32 2007/03/20 15:26:05 strk Exp $";
#include "check.as"
@@ -482,7 +482,7 @@
#endif
a = true; // boolean primitive to Boolean object
-xcheck_equals(typeof(a.constructor), 'function');
+check_equals(typeof(a.constructor), 'function');
#if OUTPUT_VERSION > 5
xcheck_equals(typeof(a.__constructor__), 'function');
#if OUTPUT_VERSION == 6
@@ -491,7 +491,7 @@
check(!a.hasOwnProperty('constructor'));
#endif
xcheck(a.hasOwnProperty('__constructor__'));
-xcheck_equals(a.constructor, Boolean);
+check_equals(a.constructor, Boolean);
xcheck_equals(a.__constructor__, Boolean);
check(! a instanceof String);
check(a.constructor != Object);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog server/as_value.cpp server/asob...,
Sandro Santilli <=