gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog server/parser/movie_def_impl.cp...


From: Benjamin Wolsey
Subject: [Gnash-commit] gnash ChangeLog server/parser/movie_def_impl.cp...
Date: Fri, 23 May 2008 15:21:28 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Benjamin Wolsey <bwy>   08/05/23 15:21:28

Modified files:
        .              : ChangeLog 
        server/parser  : movie_def_impl.cpp movie_def_impl.h 
                         sprite_definition.cpp sprite_definition.h 

Log message:
                * server/sprite_instance.{h,cpp},
                  server/parser/movie_def_impl.{h,cpp}: use StringNoCaseLessThen
                  as a comparator for the frame name map (_namedFrames), use 
insert
                  instead of operator[] so that the first inserted named frame 
is not
                  replaced by a subsequent one with the same name (case 
insensitive).
                  3 passes in misc-ming.all, fixes bug #23327. Const-correct 
some
                  iterators.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6690&r2=1.6691
http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/movie_def_impl.cpp?cvsroot=gnash&r1=1.107&r2=1.108
http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/movie_def_impl.h?cvsroot=gnash&r1=1.74&r2=1.75
http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/sprite_definition.cpp?cvsroot=gnash&r1=1.35&r2=1.36
http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/sprite_definition.h?cvsroot=gnash&r1=1.42&r2=1.43

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6690
retrieving revision 1.6691
diff -u -b -r1.6690 -r1.6691
--- ChangeLog   23 May 2008 13:18:37 -0000      1.6690
+++ ChangeLog   23 May 2008 15:21:25 -0000      1.6691
@@ -1,5 +1,15 @@
 2008-05-23 Benjamin Wolsey <address@hidden>
 
+       * server/sprite_instance.{h,cpp},
+         server/parser/movie_def_impl.{h,cpp}: use StringNoCaseLessThen
+         as a comparator for the frame name map (_namedFrames), use insert
+         instead of operator[] so that the first inserted named frame is not
+         replaced by a subsequent one with the same name (case insensitive).
+         3 passes in misc-ming.all, fixes bug #23327. Const-correct some
+         iterators.
+
+2008-05-23 Benjamin Wolsey <address@hidden>
+
        * testsuite/misc-ming.all/frame_label_test.c: test for
          case sensitivity.
 

Index: server/parser/movie_def_impl.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/parser/movie_def_impl.cpp,v
retrieving revision 1.107
retrieving revision 1.108
diff -u -b -r1.107 -r1.108
--- server/parser/movie_def_impl.cpp    15 May 2008 14:41:11 -0000      1.107
+++ server/parser/movie_def_impl.cpp    23 May 2008 15:21:27 -0000      1.108
@@ -47,6 +47,7 @@
 #include <iomanip>
 #include <memory>
 #include <string>
+#include <algorithm> // std::make_pair
 #include <unistd.h>
 
 
@@ -1027,15 +1028,15 @@
 {
        boost::mutex::scoped_lock lock1(_namedFramesMutex);
        boost::mutex::scoped_lock lock2(_frames_loaded_mutex);
-       //log_debug(_("labelframe: frame %d, name %s"), _frames_loaded, 
n.c_str());
-       _namedFrames[n] = _frames_loaded;
+
+       _namedFrames.insert(std::make_pair(n, _frames_loaded));
 }
 
 bool
 movie_def_impl::get_labeled_frame(const std::string& label, size_t& 
frame_number)
 {
     boost::mutex::scoped_lock lock(_namedFramesMutex);
-    NamedFrameMap::iterator it = _namedFrames.find(label);
+    NamedFrameMap::const_iterator it = _namedFrames.find(label);
     if ( it == _namedFrames.end() ) return false;
     frame_number = it->second;
     return true;

Index: server/parser/movie_def_impl.h
===================================================================
RCS file: /sources/gnash/gnash/server/parser/movie_def_impl.h,v
retrieving revision 1.74
retrieving revision 1.75
diff -u -b -r1.74 -r1.75
--- server/parser/movie_def_impl.h      20 May 2008 11:40:41 -0000      1.74
+++ server/parser/movie_def_impl.h      23 May 2008 15:21:28 -0000      1.75
@@ -220,7 +220,7 @@
        PlayListMap m_playlist;
 
        /// 0-based frame #'s
-       typedef std::map<std::string, size_t> NamedFrameMap;
+       typedef std::map<std::string, size_t, StringNoCaseLessThen> 
NamedFrameMap;
        NamedFrameMap _namedFrames;
 
        // Mutex protecting access to _namedFrames

Index: server/parser/sprite_definition.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/parser/sprite_definition.cpp,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -b -r1.35 -r1.36
--- server/parser/sprite_definition.cpp 23 May 2008 07:33:26 -0000      1.35
+++ server/parser/sprite_definition.cpp 23 May 2008 15:21:28 -0000      1.36
@@ -172,14 +172,14 @@
     // adjusted at the end of parsing.
     //
        //assert(m_loading_frame < m_frame_count);
-    m_named_frames[name] = m_loading_frame;
+    _namedFrames.insert(std::make_pair(name, m_loading_frame));
 }
 
 bool
 sprite_definition::get_labeled_frame(const std::string& label, size_t& 
frame_number)
 {
-    NamedFrameMap::iterator it = m_named_frames.find(label);
-    if ( it == m_named_frames.end() ) return false;
+    NamedFrameMap::const_iterator it = _namedFrames.find(label);
+    if ( it == _namedFrames.end() ) return false;
     frame_number = it->second;
     return true;
 }

Index: server/parser/sprite_definition.h
===================================================================
RCS file: /sources/gnash/gnash/server/parser/sprite_definition.h,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -b -r1.42 -r1.43
--- server/parser/sprite_definition.h   21 Apr 2008 11:27:46 -0000      1.42
+++ server/parser/sprite_definition.h   23 May 2008 15:21:28 -0000      1.43
@@ -22,11 +22,13 @@
 
 
 #include <vector>
+#include <map>
 #include "smart_ptr.h" // GNASH_USE_GC
 #include "movie_definition.h"
 #include "stream.h"
 #include "log.h"
 #include "rect.h"
+#include "StringPredicates.h" // StringNoCaseLessThen
 
 namespace gnash
 {
@@ -239,8 +241,8 @@
        PlayListMap m_playlist;
 
        // stores 0-based frame #'s
-       typedef std::map<std::string, size_t> NamedFrameMap;
-       NamedFrameMap m_named_frames;
+       typedef std::map<std::string, size_t, StringNoCaseLessThen> 
NamedFrameMap;
+       NamedFrameMap _namedFrames;
 
        size_t m_frame_count;
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]