CVSROOT: /sources/gnash Module name: gnash Changes by: Benjamin Wolsey <bwy> 08/02/12 18:52:32
Modified files: . : ChangeLog server : character.h sprite_instance.cpp sprite_instance.h server/swf : PlaceObject2Tag.cpp tag_loaders.cpp Log message: * server/character.h: take const std::string& for set_name. * server/sprite_instance.{cpp,h}: use const std::string& instead of const char* for display_object functions. * server/swf/tag_loaders.cpp: already no need to pass c strings to export. * server/swf/PlaceObject2Tag.cpp: don't use c_str(). This will pass the testsuite apart from strk's new test for the difference between empty and non-set names, which according to my tests *didn't* work before either. It may be easier to deal with that case with a pointer after all, but this works for now. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5625&r2=1.5626 http://cvs.savannah.gnu.org/viewcvs/gnash/server/character.h?cvsroot=gnash&r1=1.126&r2=1.127 http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.470&r2=1.471 http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.h?cvsroot=gnash&r1=1.166&r2=1.167 http://cvs.savannah.gnu.org/viewcvs/gnash/server/swf/PlaceObject2Tag.cpp?cvsroot=gnash&r1=1.31&r2=1.32 http://cvs.savannah.gnu.org/viewcvs/gnash/server/swf/tag_loaders.cpp?cvsroot=gnash&r1=1.183&r2=1.184 Patches: Index: ChangeLog =================================================================== RCS file: /sources/gnash/gnash/ChangeLog,v retrieving revision 1.5625 retrieving revision 1.5626 diff -u -b -r1.5625 -r1.5626 --- ChangeLog 12 Feb 2008 18:29:18 -0000 1.5625 +++ ChangeLog 12 Feb 2008 18:52:31 -0000 1.5626 @@ -1,3 +1,12 @@ +2008-02-12 Benjamin Wolsey <[EMAIL PROTECTED]> + + * server/character.h: take const std::string& for set_name. + * server/sprite_instance.{cpp,h}: use const std::string& instead of + const char* for display_object functions. + * server/swf/tag_loaders.cpp: already no need to pass c strings to + export. + * server/swf/PlaceObject2Tag.cpp: don't use c_str(). + 2008-02-12 Sandro Santilli <[EMAIL PROTECTED]> * testsuite/misc-ming.all/: Makefile.am, instanceNameTest.c: @@ -6,6 +15,15 @@ 2008-02-12 Benjamin Wolsey <[EMAIL PROTECTED]> + * server/character.h: take const std::string& for set_name. + * server/sprite_instance.{cpp,h}: use const std::string& instead of + const char* for display_object functions. + * server/swf/tag_loaders.cpp: already no need to pass c strings to + export. + * server/swf/PlaceObject2Tag.cpp: don't use c_str(). + +2008-02-12 Benjamin Wolsey <[EMAIL PROTECTED]> + * server/stream.{cpp,h}: drop buggy char* read_string() and (unused) char* read_string_with_length(...), which sometimes returned NULL causing a parser exception. Fixes parsing of Index: server/character.h =================================================================== RCS file: /sources/gnash/gnash/server/character.h,v retrieving revision 1.126 retrieving revision 1.127 diff -u -b -r1.126 -r1.127 --- server/character.h 11 Feb 2008 12:55:22 -0000 1.126 +++ server/character.h 12 Feb 2008 18:52:32 -0000 1.127 @@ -15,7 +15,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: character.h,v 1.126 2008/02/11 12:55:22 udog Exp $ */ +/* $Id: character.h,v 1.127 2008/02/12 18:52:32 bwy Exp $ */ #ifndef GNASH_CHARACTER_H #define GNASH_CHARACTER_H @@ -541,7 +541,7 @@ } /// Set character name, initializing the original target member - void set_name(const char* name) + void set_name(const std::string& name) { _name = name; } Index: server/sprite_instance.cpp =================================================================== RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v retrieving revision 1.470 retrieving revision 1.471 diff -u -b -r1.470 -r1.471 --- server/sprite_instance.cpp 12 Feb 2008 10:29:03 -0000 1.470 +++ server/sprite_instance.cpp 12 Feb 2008 18:52:32 -0000 1.471 @@ -256,7 +256,7 @@ assert(newch->get_ref_count() > 0); #endif // ndef GNASH_USE_GC - newch->set_name(newname.c_str()); + newch->set_name(newname); newch->setDynamic(); // place_character() will set depth on newch @@ -2385,7 +2385,7 @@ boost::intrusive_ptr<character> txt_char = txt->create_character_instance(this, 0); // Give name and mark as dynamic - txt_char->set_name(name.c_str()); + txt_char->set_name(name); txt_char->setDynamic(); // Set _x and _y @@ -2424,7 +2424,7 @@ boost::intrusive_ptr<sprite_instance> newsprite = new sprite_instance(m_def.get(), m_root, parent, get_id()); - newsprite->set_name(newname.c_str()); + newsprite->set_name(newname); newsprite->setDynamic(); @@ -3060,7 +3060,7 @@ character* sprite_instance::add_display_object( boost::uint16_t character_id, - const char* name, + const std::string& name, const std::vector<swf_event*>& event_handlers, int depth, const cxform& color_transform, const matrix& mat, @@ -3090,14 +3090,14 @@ { boost::intrusive_ptr<character> ch = cdef->create_character_instance(this, character_id); - if(name) + if(!name.empty()) { ch->set_name(name); } else if(ch->wantsInstanceName()) { std::string instance_name = getNextUnnamedInstanceName(); - ch->set_name(instance_name.c_str()); + ch->set_name(instance_name); } // Attach event handlers (if any). @@ -3122,7 +3122,7 @@ void sprite_instance::replace_display_object( boost::uint16_t character_id, - const char* name, + const std::string& name, int depth, const cxform* color_transform, const matrix* mat, @@ -3173,7 +3173,7 @@ void sprite_instance::replace_display_object( character* ch, - const char* name, + const std::string& name, int depth, const cxform* color_transform, const matrix* mat, @@ -3184,7 +3184,7 @@ assert(ch != NULL); - if (name != NULL && name[0] != 0) + if (!name.empty()) { ch->set_name(name); } Index: server/sprite_instance.h =================================================================== RCS file: /sources/gnash/gnash/server/sprite_instance.h,v retrieving revision 1.166 retrieving revision 1.167 diff -u -b -r1.166 -r1.167 --- server/sprite_instance.h 21 Jan 2008 20:55:52 -0000 1.166 +++ server/sprite_instance.h 12 Feb 2008 18:52:32 -0000 1.167 @@ -394,7 +394,7 @@ /// character* add_display_object( boost::uint16_t character_id, - const char* name, + const std::string& name, const SWFEventsVector& event_handlers, int depth, const cxform& color_transform, @@ -486,7 +486,7 @@ /// void replace_display_object( boost::uint16_t character_id, - const char* name, + const std::string& name, int depth, const cxform* color_xform, const matrix* mat, @@ -505,7 +505,7 @@ /// void replace_display_object( character* ch, - const char* name, + const std::string& name, int depth, const cxform* color_xform, const matrix* mat, Index: server/swf/PlaceObject2Tag.cpp =================================================================== RCS file: /sources/gnash/gnash/server/swf/PlaceObject2Tag.cpp,v retrieving revision 1.31 retrieving revision 1.32 diff -u -b -r1.31 -r1.32 --- server/swf/PlaceObject2Tag.cpp 12 Feb 2008 16:48:38 -0000 1.31 +++ server/swf/PlaceObject2Tag.cpp 12 Feb 2008 18:52:32 -0000 1.32 @@ -17,7 +17,7 @@ // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA // -/* $Id: PlaceObject2Tag.cpp,v 1.31 2008/02/12 16:48:38 bwy Exp $ */ +/* $Id: PlaceObject2Tag.cpp,v 1.32 2008/02/12 18:52:32 bwy Exp $ */ #ifdef HAVE_CONFIG_H #include "gnashconfig.h" @@ -459,7 +459,7 @@ case REPLACE: m->replace_display_object( m_character_id, - m_name.c_str(), + m_name, m_depth, m_has_cxform ? &m_color_transform : NULL, m_has_matrix ? &m_matrix : NULL, Index: server/swf/tag_loaders.cpp =================================================================== RCS file: /sources/gnash/gnash/server/swf/tag_loaders.cpp,v retrieving revision 1.183 retrieving revision 1.184 diff -u -b -r1.183 -r1.184 --- server/swf/tag_loaders.cpp 12 Feb 2008 16:48:38 -0000 1.183 +++ server/swf/tag_loaders.cpp 12 Feb 2008 18:52:32 -0000 1.184 @@ -17,7 +17,7 @@ // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA // -/* $Id: tag_loaders.cpp,v 1.183 2008/02/12 16:48:38 bwy Exp $ */ +/* $Id: tag_loaders.cpp,v 1.184 2008/02/12 18:52:32 bwy Exp $ */ #ifdef HAVE_CONFIG_H #include "gnashconfig.h" @@ -997,16 +997,16 @@ if (font* f = m->get_font(id)) { // Expose this font for export. - m->export_resource(symbolName.c_str(), f); + m->export_resource(symbolName, f); } else if (character_def* ch = m->get_character_def(id)) { // Expose this movie/button/whatever for export. - m->export_resource(symbolName.c_str(), ch); + m->export_resource(symbolName, ch); } else if (sound_sample* ch = m->get_sound_sample(id)) { - m->export_resource(symbolName.c_str(), ch); + m->export_resource(symbolName, ch); } else { @@ -1101,7 +1101,7 @@ // s_no_recurse_while_loading, change // create_movie(). - boost::intrusive_ptr<resource> res = source_movie->get_exported_resource(symbolName.c_str()); // TODO: pass const string& + boost::intrusive_ptr<resource> res = source_movie->get_exported_resource(symbolName); if (res == NULL) { log_error(_("import error: could not find resource '%s' in movie '%s'"), _______________________________________________ Gnash-commit mailing list Gnash-commit@gnu.org http://lists.gnu.org/mailman/listinfo/gnash-commit