[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/sprite_instance.cpp [release_0_7_2
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/sprite_instance.cpp [release_0_7_2] |
Date: |
Mon, 06 Nov 2006 19:23:06 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Branch: release_0_7_2
Changes by: Sandro Santilli <strk> 06/11/06 19:23:06
Modified files:
. : ChangeLog
server : sprite_instance.cpp
Log message:
* server/sprite_instance.cpp (sprite_create_text_field):
don't abort on "invalid?" calls. Warn if requested.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&only_with_tag=release_0_7_2&r1=1.1412.2.98&r2=1.1412.2.99
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&only_with_tag=release_0_7_2&r1=1.69.2.3&r2=1.69.2.4
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.1412.2.98
retrieving revision 1.1412.2.99
diff -u -b -r1.1412.2.98 -r1.1412.2.99
--- ChangeLog 6 Nov 2006 17:05:36 -0000 1.1412.2.98
+++ ChangeLog 6 Nov 2006 19:23:06 -0000 1.1412.2.99
@@ -1,5 +1,7 @@
2006-11-06 Sandro Santilli <address@hidden>
+ * server/sprite_instance.cpp (sprite_create_text_field):
+ don't abort on "invalid?" calls. Warn if requested.
* backend/render_handler_agg_style.h: comment-out
add_bitmap with NULL input warning.
* server/styles.{h,cpp}: warn about bitmap fills with
Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.69.2.3
retrieving revision 1.69.2.4
diff -u -b -r1.69.2.3 -r1.69.2.4
--- server/sprite_instance.cpp 4 Nov 2006 22:51:13 -0000 1.69.2.3
+++ server/sprite_instance.cpp 6 Nov 2006 19:23:06 -0000 1.69.2.4
@@ -466,24 +466,83 @@
sprite_instance* sprite = dynamic_cast<sprite_instance*>(target);
assert(sprite);
- assert(fn.nargs==6); // name, depth, x, y, width, height
+ if (fn.nargs != 6) // name, depth, x, y, width, height
+ {
+ IF_VERBOSE_ASCODING_ERRORS(
+ log_msg("createTextField called with %d args, "
+ "expected 6 - returning undefined", fn.nargs);
+ );
+ fn.result->set_undefined();
+ return;
+ }
- assert(fn.arg(0).get_type()==as_value::STRING);
+ if ( fn.arg(0).get_type() != as_value::STRING )
+ {
+ IF_VERBOSE_ASCODING_ERRORS(
+ log_msg("First argument of createTextField is not a string"
+ " - returning undefined");
+ );
+ fn.result->set_undefined();
+ return;
+ }
//std::string txt_name = fn.arg(0).to_string();
- assert(fn.arg(1).get_type()==as_value::NUMBER);
+ if ( fn.arg(1).get_type() != as_value::NUMBER)
+ {
+ IF_VERBOSE_ASCODING_ERRORS(
+ log_msg("Second argument of createTextField is not a number"
+ " - returning undefined");
+ );
+ fn.result->set_undefined();
+ return;
+ }
+
//double txt_depth = fn.arg(1).to_number();
- assert(fn.arg(2).get_type()==as_value::NUMBER);
+ if ( fn.arg(2).get_type() != as_value::NUMBER)
+ {
+ IF_VERBOSE_ASCODING_ERRORS(
+ log_msg("Third argument of createTextField is not a number"
+ " - returning undefined");
+ );
+ fn.result->set_undefined();
+ return;
+ }
+
//double txt_x = fn.arg(2).to_number();
- assert(fn.arg(3).get_type()==as_value::NUMBER);
+ if ( fn.arg(3).get_type() != as_value::NUMBER)
+ {
+ IF_VERBOSE_ASCODING_ERRORS(
+ log_msg("Fourth argument of createTextField is not a number"
+ " - returning undefined");
+ );
+ fn.result->set_undefined();
+ return;
+ }
+
//double txt_y = fn.arg(3).to_number();
- assert(fn.arg(4).get_type()==as_value::NUMBER);
+ if ( fn.arg(4).get_type() != as_value::NUMBER )
+ {
+ IF_VERBOSE_ASCODING_ERRORS(
+ log_msg("Fifth argument of createTextField is not a number"
+ " - returning undefined");
+ );
+ fn.result->set_undefined();
+ return;
+ }
//double txt_width = fn.arg(4).to_number();
- assert(fn.arg(5).get_type()==as_value::NUMBER);
+ if (fn.arg(5).get_type() != as_value::NUMBER)
+ {
+ IF_VERBOSE_ASCODING_ERRORS(
+ log_msg("Fifth argument of createTextField is not a number"
+ " - returning undefined");
+ );
+ fn.result->set_undefined();
+ return;
+ }
//double txt_height = fn.arg(5).to_number();
@@ -495,7 +554,7 @@
// Get target's movie definition
movie_definition *mds = sprite->get_movie_definition();
- log_msg("Target's movie definition at %p\n", (void*)mds);
+ //log_msg("Target's movie definition at %p\n", (void*)mds);
// Do I need the smart_ptr here ?
smart_ptr<text_character_def> txt = new text_character_def(mds);