[Top][All Lists]
[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;
}