[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/asobj/Color.cpp
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/asobj/Color.cpp |
Date: |
Thu, 08 Nov 2007 22:40:43 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 07/11/08 22:40:43
Modified files:
. : ChangeLog
server/asobj : Color.cpp
Log message:
* server/asobj/Color.cpp (color_ctor): parse first argument to
Color constructor as a string (if not a MovieClip).
Fixes http://www.lsfrench.com/school/couleur/colorepaint.swf.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4810&r2=1.4811
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Color.cpp?cvsroot=gnash&r1=1.15&r2=1.16
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.4810
retrieving revision 1.4811
diff -u -b -r1.4810 -r1.4811
--- ChangeLog 8 Nov 2007 17:16:12 -0000 1.4810
+++ ChangeLog 8 Nov 2007 22:40:43 -0000 1.4811
@@ -1,3 +1,9 @@
+2007-11-08 Sandro Santilli <address@hidden>
+
+ * server/asobj/Color.cpp (color_ctor): parse first argument to
+ Color constructor as a string (if not a MovieClip).
+ Fixes http://www.lsfrench.com/school/couleur/colorepaint.swf.
+
2007-11-08 Udo Giacomozzi <address@hidden>
* testsuite/misc-ming.all/DrawingApiTestRunner.cpp: reverted because
Index: server/asobj/Color.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Color.cpp,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- server/asobj/Color.cpp 2 Nov 2007 18:02:08 -0000 1.15
+++ server/asobj/Color.cpp 8 Nov 2007 22:40:43 -0000 1.16
@@ -344,14 +344,26 @@
sprite_instance* sp=0;
if ( fn.nargs )
{
- boost::intrusive_ptr<as_object> arg = fn.arg(0).to_object();
- if ( arg ) sp = arg->to_movie();
+ const as_value& arg = fn.arg(0);
+
+ // TODO: check what should happen if the argument is
+ // a not-unloaded sprite but another exist with same
+ // target at lower depth (always looking up would return
+ // the lowest depth)
+ sp = arg.to_sprite();
+ if ( ! sp )
+ {
+ // must be a target..
+ as_environment& env = fn.env();
+ character* ch =
env.find_target(fn.arg(0).to_string(&env));
+ if ( ch ) sp = ch->to_movie();
+ }
IF_VERBOSE_ASCODING_ERRORS(
if ( ! sp )
{
std::stringstream ss; fn.dump_args(ss);
- log_aserror(_("new Color(%s) : first argument doesn't
evaluate to a MovieClip"),
+ log_aserror(_("new Color(%s) : first argument doesn't
evaluate or point to a MovieClip"),
ss.str().c_str());
}
)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog server/asobj/Color.cpp,
Sandro Santilli <=