gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog server/dlist.cpp


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/dlist.cpp
Date: Wed, 14 May 2008 10:47:28 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  08/05/14 10:47:27

Modified files:
        .              : ChangeLog 
        server         : dlist.cpp 

Log message:
                * server/dlist.cpp (mergeDisplayList): add assertion checking
                  when GNASH_PARANOIA_LEVEL > 1. The assertion fails running
                  movie attached to bug #23248.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6597&r2=1.6598
http://cvs.savannah.gnu.org/viewcvs/gnash/server/dlist.cpp?cvsroot=gnash&r1=1.123&r2=1.124

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6597
retrieving revision 1.6598
diff -u -b -r1.6597 -r1.6598
--- ChangeLog   14 May 2008 07:18:06 -0000      1.6597
+++ ChangeLog   14 May 2008 10:47:24 -0000      1.6598
@@ -1,5 +1,11 @@
 2008-05-14 Sandro Santilli <address@hidden>
 
+       * server/dlist.cpp (mergeDisplayList): add assertion checking
+         when GNASH_PARANOIA_LEVEL > 1. The assertion fails running
+         movie attached to bug #23248.
+
+2008-05-14 Sandro Santilli <address@hidden>
+
        * server/asobj/NetStreamGst.cpp (time,bytesLoaded,bytesTotal): check
          existance of the elements before querying them. Fixes some
          gst-CRITICAL errors.

Index: server/dlist.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/dlist.cpp,v
retrieving revision 1.123
retrieving revision 1.124
diff -u -b -r1.123 -r1.124
--- server/dlist.cpp    5 May 2008 18:50:07 -0000       1.123
+++ server/dlist.cpp    14 May 2008 10:47:27 -0000      1.124
@@ -1040,6 +1040,29 @@
     }
 
     // clear the new display list after merge
+    // ASSERT:
+    //         - Any element in newList._charsByDepth is either marked as 
unloaded
+    //    or found in this list
+#if GNASH_PARANOIA_LEVEL > 1
+    for (iterator i=newList._charsByDepth.begin(), 
e=newList._charsByDepth.end(); i!=e; ++i)
+    {
+        character* ch = (*i).get();
+        if ( ! ch->isUnloaded() )
+       {
+               iterator found = std::find(_charsByDepth.begin(), 
_charsByDepth.end(), ch);
+               if ( found == _charsByDepth.end() )
+               {
+                       log_error("mergeDisplayList: character %s (%s at depth 
%d [%d]) "
+                               "about to be discarded in given display list"
+                               " is not marked as unloaded and not found in 
the"
+                               " merged current displaylist",
+                               ch->getTarget(), typeName(*ch), ch->get_depth(),
+                               ch->get_depth()-character::staticDepthOffset);
+                       abort();
+               }
+       }
+    }
+#endif
     newList._charsByDepth.clear();
 
     testInvariant();




reply via email to

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