gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog server/swf/tag_loaders.cpp


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/swf/tag_loaders.cpp
Date: Thu, 31 Aug 2006 02:50:25 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  06/08/31 02:50:25

Modified files:
        .              : ChangeLog 
        server/swf     : tag_loaders.cpp 

Log message:
                * server/swf/tag_loaders.cpp (frame_label_loader): added
                  primitive support for anchor-labels (just print a warning).

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.795&r2=1.796
http://cvs.savannah.gnu.org/viewcvs/gnash/server/swf/tag_loaders.cpp?cvsroot=gnash&r1=1.36&r2=1.37

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.795
retrieving revision 1.796
diff -u -b -r1.795 -r1.796
--- ChangeLog   31 Aug 2006 00:01:47 -0000      1.795
+++ ChangeLog   31 Aug 2006 02:50:25 -0000      1.796
@@ -1,3 +1,8 @@
+2006-08-31 Sandro Santilli  <address@hidden>
+
+       * server/swf/tag_loaders.cpp (frame_label_loader): added
+         primitive support for anchor-labels (just print a warning).
+
 2006-08-31 Markus Gothe <address@hidden>
 
        * server/parser/movie_def_impl.cpp: Removed 'using namespace std;'

Index: server/swf/tag_loaders.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/swf/tag_loaders.cpp,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -b -r1.36 -r1.37
--- server/swf/tag_loaders.cpp  27 Aug 2006 20:01:02 -0000      1.36
+++ server/swf/tag_loaders.cpp  31 Aug 2006 02:50:25 -0000      1.37
@@ -140,6 +140,35 @@
 
     char*      n = in->read_string();
     m->add_frame_name(n);
+
+       // FIXME: support SWF6 "named anchors"
+       //
+       // If SWF version is >= 6 check the byte after terminating NULL
+       // if it is 1 this label can be accessed by #name and it's
+       // entrance sets the browser URL with anchor appended
+       //
+       // To avoid relaying on stream::get_position (see task #5838)
+       // we should add a new method to that class
+       // (ie: stream::current_tag_length)
+       //
+       // See server/sample/test_clipping_layer.swf for a testcase.
+       //
+       size_t end_tag = in->get_tag_end_position();
+       size_t curr_pos = in->get_position();
+       if ( end_tag != curr_pos )
+       {
+               if ( end_tag == curr_pos + 1 )
+               {
+       log_warning("FIXME: anchor-labeled frame not supported");
+               }
+               else
+               {
+       log_warning("frame_label_loader end position %d, "
+                       "read up to %d (Malformed SWF?)",
+                       end_tag, curr_pos);
+               }
+       }
+
     delete [] n;
 }
 




reply via email to

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