[Swfdec] 23 commits - doc/.gitignore doc/Makefile.am doc/swfdec-docs.sgml doc/swfdec-sections.txt libswfdec-gtk/swfdec-gtk.h libswfdec-gtk/swfdec_gtk_keys.c libswfdec-gtk/swfdec_gtk_keys.h libswfdec-gtk/swfdec_gtk_widget.c libswfdec/Makefile.am libswfdec/swfdec_as_debugger.c libswfdec/swfdec_as_debugger.h libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_string.c libswfdec/swfdec_as_strings.c libswfdec/swfdec_audio_flv.c libswfdec/swfdec_codec_ffmpeg.c libswfdec/swfdec_initialize.as libswfdec/swfdec_initialize.h libswfdec/swfdec_load_object_as.h libswfdec/swfdec_movie_asprops.c libswfdec/swfdec_player.c libswfdec/swfdec_script.c libswfdec/swfdec_xml_as.c libswfdec/swfdec_xml_as.h libswfdec/swfdec_xml.c libswfdec/swfdec_xml.h test/trace vivified/core
Benjamin Otte
company at kemper.freedesktop.org
Thu Aug 23 14:44:27 PDT 2007
doc/.gitignore | 1
doc/Makefile.am | 3
doc/swfdec-docs.sgml | 1
doc/swfdec-sections.txt | 22 +
libswfdec-gtk/swfdec-gtk.h | 1
libswfdec-gtk/swfdec_gtk_keys.c | 12 -
libswfdec-gtk/swfdec_gtk_keys.h | 2
libswfdec-gtk/swfdec_gtk_widget.c | 2
libswfdec/Makefile.am | 5
libswfdec/swfdec_as_debugger.c | 26 +-
libswfdec/swfdec_as_debugger.h | 6
libswfdec/swfdec_as_frame.c | 8
libswfdec/swfdec_as_object.c | 4
libswfdec/swfdec_as_string.c | 29 ++
libswfdec/swfdec_as_strings.c | 1
libswfdec/swfdec_audio_flv.c | 2
libswfdec/swfdec_codec_ffmpeg.c | 4
libswfdec/swfdec_initialize.as | 4
libswfdec/swfdec_initialize.h | 192 ++++++++--------
libswfdec/swfdec_load_object_as.h | 31 --
libswfdec/swfdec_movie_asprops.c | 11
libswfdec/swfdec_player.c | 6
libswfdec/swfdec_script.c | 8
libswfdec/swfdec_xml.c | 5
test/trace/Makefile.am | 9
test/trace/string-lastIndexOf-5.swf |binary
test/trace/string-lastIndexOf-5.swf.trace | 342 ++++++++++++++++++++++++++++++
test/trace/string-lastIndexOf-6.swf |binary
test/trace/string-lastIndexOf-6.swf.trace | 342 ++++++++++++++++++++++++++++++
test/trace/string-lastIndexOf-7.swf |binary
test/trace/string-lastIndexOf-7.swf.trace | 342 ++++++++++++++++++++++++++++++
test/trace/string-lastIndexOf-8.swf |binary
test/trace/string-lastIndexOf-8.swf.trace | 342 ++++++++++++++++++++++++++++++
test/trace/string-lastIndexOf.as | 13 +
test/trace/trace.c | 7
vivified/core/vivi_breakpoint.c | 12 -
vivified/core/vivi_debugger.c | 20 -
vivified/core/vivi_initialize.as | 2
38 files changed, 1643 insertions(+), 174 deletions(-)
New commits:
diff-tree c1ba428ced0fd3f2965ee00d69b2ad5c6f95201c (from eb8ef9c1569fe84f111a524d032d97446a30b96c)
Author: Benjamin Otte <otte at gnome.org>
Date: Thu Aug 23 23:44:14 2007 +0200
handle the case where a decoder couldn't be created due to errors
diff --git a/libswfdec/swfdec_audio_flv.c b/libswfdec/swfdec_audio_flv.c
index bdca2c2..3be7d81 100644
--- a/libswfdec/swfdec_audio_flv.c
+++ b/libswfdec/swfdec_audio_flv.c
@@ -102,6 +102,8 @@ swfdec_audio_flv_decode_one (SwfdecAudio
in != flv->in) {
SWFDEC_ERROR ("FIXME: format change not implemented");
return NULL;
+ } else if (flv->decoder == NULL) {
+ return NULL;
}
swfdec_audio_decoder_push (flv->decoder, buffer);
if (flv->next_timestamp == 0)
diff-tree eb8ef9c1569fe84f111a524d032d97446a30b96c (from d4d5dde0824487576861912640d9bdd0d0565af7)
Author: Benjamin Otte <otte at gnome.org>
Date: Thu Aug 23 23:35:11 2007 +0200
abort if we don't get a new image
diff --git a/libswfdec/swfdec_codec_ffmpeg.c b/libswfdec/swfdec_codec_ffmpeg.c
index 3f9e387..9fae7cf 100644
--- a/libswfdec/swfdec_codec_ffmpeg.c
+++ b/libswfdec/swfdec_codec_ffmpeg.c
@@ -224,6 +224,10 @@ swfdec_video_decoder_ffmpeg_decode (Swfd
SWFDEC_WARNING ("error decoding frame");
return NULL;
}
+ if (got_image == 0) {
+ SWFDEC_WARNING ("error: did not get an image from decoding");
+ return NULL;
+ }
if (codec->sws == NULL) {
codec->sws = sws_getContext (codec->ctx->width, codec->ctx->height, codec->ctx->pix_fmt,
codec->ctx->width, codec->ctx->height, PIX_FMT_RGB32, 0, NULL, NULL, NULL);
diff-tree d4d5dde0824487576861912640d9bdd0d0565af7 (from 72794f6dd88161fe9e36b11b5e6d3cd9cf86099f)
Author: Benjamin Otte <otte at gnome.org>
Date: Thu Aug 23 21:56:29 2007 +0200
end when there's no time left
diff --git a/test/trace/trace.c b/test/trace/trace.c
index 5f2bc8d..03d57cc 100644
--- a/test/trace/trace.c
+++ b/test/trace/trace.c
@@ -140,9 +140,12 @@ run_test (gpointer testp, gpointer unuse
if (advance > time_left)
break;
swfdec_player_advance (player, advance);
- if (inter)
- swfdec_interaction_advance (inter, player, advance);
time_left -= advance;
+ if (inter) {
+ swfdec_interaction_advance (inter, player, advance);
+ if (time_left == 0)
+ break;
+ }
}
g_signal_handlers_disconnect_by_func (player, trace_cb, string);
g_object_unref (player);
diff-tree 72794f6dd88161fe9e36b11b5e6d3cd9cf86099f (from 54739135d48fe769f52512d64f211de3cdd2c138)
Author: Benjamin Otte <otte at gnome.org>
Date: Thu Aug 23 20:19:30 2007 +0200
implement _url
diff --git a/libswfdec/swfdec_movie_asprops.c b/libswfdec/swfdec_movie_asprops.c
index e1887ec..3a44559 100644
--- a/libswfdec/swfdec_movie_asprops.c
+++ b/libswfdec/swfdec_movie_asprops.c
@@ -32,6 +32,7 @@
#include "swfdec_player_internal.h"
#include "swfdec_sprite.h"
#include "swfdec_sprite_movie.h"
+#include "swfdec_swf_instance.h"
static void
mc_x_get (SwfdecMovie *movie, SwfdecAsValue *rval)
@@ -355,6 +356,14 @@ mc_root (SwfdecMovie *movie, SwfdecAsVal
SWFDEC_AS_VALUE_SET_OBJECT (rval, SWFDEC_AS_OBJECT (movie));
}
+static void
+mc_url_get (SwfdecMovie *movie, SwfdecAsValue *rval)
+{
+ SWFDEC_AS_VALUE_SET_STRING (rval, swfdec_as_context_get_string (
+ SWFDEC_AS_OBJECT (movie)->context,
+ swfdec_url_get_url (swfdec_loader_get_url (movie->swf->loader))));
+}
+
struct {
gboolean needs_movie;
const char *name;
@@ -376,7 +385,7 @@ struct {
{ 1, SWFDEC_AS_STR__framesloaded,mc_framesloaded, NULL},
{ 0, SWFDEC_AS_STR__name, mc_name_get, mc_name_set },
{ 1, SWFDEC_AS_STR__droptarget, NULL, NULL }, //"_droptarget"
- { 0, SWFDEC_AS_STR__url, NULL, NULL }, //"_url"
+ { 0, SWFDEC_AS_STR__url, mc_url_get, NULL },
{ 0, SWFDEC_AS_STR__highquality, NULL, NULL }, //"_highquality"
{ 0, SWFDEC_AS_STR__focusrect, NULL, NULL }, //"_focusrect"
{ 0, SWFDEC_AS_STR__soundbuftime,NULL, NULL }, //"_soundbuftime"
diff-tree 54739135d48fe769f52512d64f211de3cdd2c138 (from ef88186bc8874a97c155d0b2cbabe772021f8d6e)
Author: Benjamin Otte <otte at gnome.org>
Date: Thu Aug 23 19:25:00 2007 +0200
add test for lastIndexOf
diff --git a/test/trace/Makefile.am b/test/trace/Makefile.am
index 4f5f501..8bc9273 100644
--- a/test/trace/Makefile.am
+++ b/test/trace/Makefile.am
@@ -1065,6 +1065,15 @@ EXTRA_DIST = \
string-indexof-6.swf.trace \
string-indexof-7.swf \
string-indexof-7.swf.trace \
+ string-lastIndexOf.as \
+ string-lastIndexOf-5.swf \
+ string-lastIndexOf-5.swf.trace \
+ string-lastIndexOf-6.swf \
+ string-lastIndexOf-6.swf.trace \
+ string-lastIndexOf-7.swf \
+ string-lastIndexOf-7.swf.trace \
+ string-lastIndexOf-8.swf \
+ string-lastIndexOf-8.swf.trace \
string-split.as \
string-split-5.swf \
string-split-5.swf.trace \
diff --git a/test/trace/string-lastIndexOf-5.swf b/test/trace/string-lastIndexOf-5.swf
new file mode 100644
index 0000000..a73460c
Binary files /dev/null and b/test/trace/string-lastIndexOf-5.swf differ
diff --git a/test/trace/string-lastIndexOf-5.swf.trace b/test/trace/string-lastIndexOf-5.swf.trace
new file mode 100644
index 0000000..e374473
--- /dev/null
+++ b/test/trace/string-lastIndexOf-5.swf.trace
@@ -0,0 +1,342 @@
+test String.lastIndexOf
+s.lastIndexOf ("H") = 0
+s.lastIndexOf ("H", -15) = -1
+s.lastIndexOf ("H", -14) = -1
+s.lastIndexOf ("H", -13) = -1
+s.lastIndexOf ("H", -12) = -1
+s.lastIndexOf ("H", -11) = -1
+s.lastIndexOf ("H", -10) = -1
+s.lastIndexOf ("H", -9) = -1
+s.lastIndexOf ("H", -8) = -1
+s.lastIndexOf ("H", -7) = -1
+s.lastIndexOf ("H", -6) = -1
+s.lastIndexOf ("H", -5) = -1
+s.lastIndexOf ("H", -4) = -1
+s.lastIndexOf ("H", -3) = -1
+s.lastIndexOf ("H", -2) = -1
+s.lastIndexOf ("H", -1) = -1
+s.lastIndexOf ("H", 0) = 0
+s.lastIndexOf ("H", 1) = 0
+s.lastIndexOf ("H", 2) = 0
+s.lastIndexOf ("H", 3) = 0
+s.lastIndexOf ("H", 4) = 0
+s.lastIndexOf ("H", 5) = 0
+s.lastIndexOf ("H", 6) = 0
+s.lastIndexOf ("H", 7) = 0
+s.lastIndexOf ("H", 8) = 0
+s.lastIndexOf ("H", 9) = 0
+s.lastIndexOf ("H", 10) = 0
+s.lastIndexOf ("H", 11) = 0
+s.lastIndexOf ("H", 12) = 0
+s.lastIndexOf ("H", 13) = 0
+s.lastIndexOf ("H", 14) = 0
+s.lastIndexOf ("e") = 1
+s.lastIndexOf ("e", -15) = -1
+s.lastIndexOf ("e", -14) = -1
+s.lastIndexOf ("e", -13) = -1
+s.lastIndexOf ("e", -12) = -1
+s.lastIndexOf ("e", -11) = -1
+s.lastIndexOf ("e", -10) = -1
+s.lastIndexOf ("e", -9) = -1
+s.lastIndexOf ("e", -8) = -1
+s.lastIndexOf ("e", -7) = -1
+s.lastIndexOf ("e", -6) = -1
+s.lastIndexOf ("e", -5) = -1
+s.lastIndexOf ("e", -4) = -1
+s.lastIndexOf ("e", -3) = -1
+s.lastIndexOf ("e", -2) = -1
+s.lastIndexOf ("e", -1) = -1
+s.lastIndexOf ("e", 0) = -1
+s.lastIndexOf ("e", 1) = 1
+s.lastIndexOf ("e", 2) = 1
+s.lastIndexOf ("e", 3) = 1
+s.lastIndexOf ("e", 4) = 1
+s.lastIndexOf ("e", 5) = 1
+s.lastIndexOf ("e", 6) = 1
+s.lastIndexOf ("e", 7) = 1
+s.lastIndexOf ("e", 8) = 1
+s.lastIndexOf ("e", 9) = 1
+s.lastIndexOf ("e", 10) = 1
+s.lastIndexOf ("e", 11) = 1
+s.lastIndexOf ("e", 12) = 1
+s.lastIndexOf ("e", 13) = 1
+s.lastIndexOf ("e", 14) = 1
+s.lastIndexOf ("l") = 9
+s.lastIndexOf ("l", -15) = -1
+s.lastIndexOf ("l", -14) = -1
+s.lastIndexOf ("l", -13) = -1
+s.lastIndexOf ("l", -12) = -1
+s.lastIndexOf ("l", -11) = -1
+s.lastIndexOf ("l", -10) = -1
+s.lastIndexOf ("l", -9) = -1
+s.lastIndexOf ("l", -8) = -1
+s.lastIndexOf ("l", -7) = -1
+s.lastIndexOf ("l", -6) = -1
+s.lastIndexOf ("l", -5) = -1
+s.lastIndexOf ("l", -4) = -1
+s.lastIndexOf ("l", -3) = -1
+s.lastIndexOf ("l", -2) = -1
+s.lastIndexOf ("l", -1) = -1
+s.lastIndexOf ("l", 0) = -1
+s.lastIndexOf ("l", 1) = -1
+s.lastIndexOf ("l", 2) = 2
+s.lastIndexOf ("l", 3) = 3
+s.lastIndexOf ("l", 4) = 3
+s.lastIndexOf ("l", 5) = 3
+s.lastIndexOf ("l", 6) = 3
+s.lastIndexOf ("l", 7) = 3
+s.lastIndexOf ("l", 8) = 3
+s.lastIndexOf ("l", 9) = 9
+s.lastIndexOf ("l", 10) = 9
+s.lastIndexOf ("l", 11) = 9
+s.lastIndexOf ("l", 12) = 9
+s.lastIndexOf ("l", 13) = 9
+s.lastIndexOf ("l", 14) = 9
+s.lastIndexOf ("l") = 9
+s.lastIndexOf ("l", -15) = -1
+s.lastIndexOf ("l", -14) = -1
+s.lastIndexOf ("l", -13) = -1
+s.lastIndexOf ("l", -12) = -1
+s.lastIndexOf ("l", -11) = -1
+s.lastIndexOf ("l", -10) = -1
+s.lastIndexOf ("l", -9) = -1
+s.lastIndexOf ("l", -8) = -1
+s.lastIndexOf ("l", -7) = -1
+s.lastIndexOf ("l", -6) = -1
+s.lastIndexOf ("l", -5) = -1
+s.lastIndexOf ("l", -4) = -1
+s.lastIndexOf ("l", -3) = -1
+s.lastIndexOf ("l", -2) = -1
+s.lastIndexOf ("l", -1) = -1
+s.lastIndexOf ("l", 0) = -1
+s.lastIndexOf ("l", 1) = -1
+s.lastIndexOf ("l", 2) = 2
+s.lastIndexOf ("l", 3) = 3
+s.lastIndexOf ("l", 4) = 3
+s.lastIndexOf ("l", 5) = 3
+s.lastIndexOf ("l", 6) = 3
+s.lastIndexOf ("l", 7) = 3
+s.lastIndexOf ("l", 8) = 3
+s.lastIndexOf ("l", 9) = 9
+s.lastIndexOf ("l", 10) = 9
+s.lastIndexOf ("l", 11) = 9
+s.lastIndexOf ("l", 12) = 9
+s.lastIndexOf ("l", 13) = 9
+s.lastIndexOf ("l", 14) = 9
+s.lastIndexOf ("o") = 7
+s.lastIndexOf ("o", -15) = -1
+s.lastIndexOf ("o", -14) = -1
+s.lastIndexOf ("o", -13) = -1
+s.lastIndexOf ("o", -12) = -1
+s.lastIndexOf ("o", -11) = -1
+s.lastIndexOf ("o", -10) = -1
+s.lastIndexOf ("o", -9) = -1
+s.lastIndexOf ("o", -8) = -1
+s.lastIndexOf ("o", -7) = -1
+s.lastIndexOf ("o", -6) = -1
+s.lastIndexOf ("o", -5) = -1
+s.lastIndexOf ("o", -4) = -1
+s.lastIndexOf ("o", -3) = -1
+s.lastIndexOf ("o", -2) = -1
+s.lastIndexOf ("o", -1) = -1
+s.lastIndexOf ("o", 0) = -1
+s.lastIndexOf ("o", 1) = -1
+s.lastIndexOf ("o", 2) = -1
+s.lastIndexOf ("o", 3) = -1
+s.lastIndexOf ("o", 4) = 4
+s.lastIndexOf ("o", 5) = 4
+s.lastIndexOf ("o", 6) = 4
+s.lastIndexOf ("o", 7) = 7
+s.lastIndexOf ("o", 8) = 7
+s.lastIndexOf ("o", 9) = 7
+s.lastIndexOf ("o", 10) = 7
+s.lastIndexOf ("o", 11) = 7
+s.lastIndexOf ("o", 12) = 7
+s.lastIndexOf ("o", 13) = 7
+s.lastIndexOf ("o", 14) = 7
+s.lastIndexOf (" ") = 5
+s.lastIndexOf (" ", -15) = -1
+s.lastIndexOf (" ", -14) = -1
+s.lastIndexOf (" ", -13) = -1
+s.lastIndexOf (" ", -12) = -1
+s.lastIndexOf (" ", -11) = -1
+s.lastIndexOf (" ", -10) = -1
+s.lastIndexOf (" ", -9) = -1
+s.lastIndexOf (" ", -8) = -1
+s.lastIndexOf (" ", -7) = -1
+s.lastIndexOf (" ", -6) = -1
+s.lastIndexOf (" ", -5) = -1
+s.lastIndexOf (" ", -4) = -1
+s.lastIndexOf (" ", -3) = -1
+s.lastIndexOf (" ", -2) = -1
+s.lastIndexOf (" ", -1) = -1
+s.lastIndexOf (" ", 0) = -1
+s.lastIndexOf (" ", 1) = -1
+s.lastIndexOf (" ", 2) = -1
+s.lastIndexOf (" ", 3) = -1
+s.lastIndexOf (" ", 4) = -1
+s.lastIndexOf (" ", 5) = 5
+s.lastIndexOf (" ", 6) = 5
+s.lastIndexOf (" ", 7) = 5
+s.lastIndexOf (" ", 8) = 5
+s.lastIndexOf (" ", 9) = 5
+s.lastIndexOf (" ", 10) = 5
+s.lastIndexOf (" ", 11) = 5
+s.lastIndexOf (" ", 12) = 5
+s.lastIndexOf (" ", 13) = 5
+s.lastIndexOf (" ", 14) = 5
+s.lastIndexOf ("W") = 6
+s.lastIndexOf ("W", -15) = -1
+s.lastIndexOf ("W", -14) = -1
+s.lastIndexOf ("W", -13) = -1
+s.lastIndexOf ("W", -12) = -1
+s.lastIndexOf ("W", -11) = -1
+s.lastIndexOf ("W", -10) = -1
+s.lastIndexOf ("W", -9) = -1
+s.lastIndexOf ("W", -8) = -1
+s.lastIndexOf ("W", -7) = -1
+s.lastIndexOf ("W", -6) = -1
+s.lastIndexOf ("W", -5) = -1
+s.lastIndexOf ("W", -4) = -1
+s.lastIndexOf ("W", -3) = -1
+s.lastIndexOf ("W", -2) = -1
+s.lastIndexOf ("W", -1) = -1
+s.lastIndexOf ("W", 0) = -1
+s.lastIndexOf ("W", 1) = -1
+s.lastIndexOf ("W", 2) = -1
+s.lastIndexOf ("W", 3) = -1
+s.lastIndexOf ("W", 4) = -1
+s.lastIndexOf ("W", 5) = -1
+s.lastIndexOf ("W", 6) = 6
+s.lastIndexOf ("W", 7) = 6
+s.lastIndexOf ("W", 8) = 6
+s.lastIndexOf ("W", 9) = 6
+s.lastIndexOf ("W", 10) = 6
+s.lastIndexOf ("W", 11) = 6
+s.lastIndexOf ("W", 12) = 6
+s.lastIndexOf ("W", 13) = 6
+s.lastIndexOf ("W", 14) = 6
+s.lastIndexOf ("o") = 7
+s.lastIndexOf ("o", -15) = -1
+s.lastIndexOf ("o", -14) = -1
+s.lastIndexOf ("o", -13) = -1
+s.lastIndexOf ("o", -12) = -1
+s.lastIndexOf ("o", -11) = -1
+s.lastIndexOf ("o", -10) = -1
+s.lastIndexOf ("o", -9) = -1
+s.lastIndexOf ("o", -8) = -1
+s.lastIndexOf ("o", -7) = -1
+s.lastIndexOf ("o", -6) = -1
+s.lastIndexOf ("o", -5) = -1
+s.lastIndexOf ("o", -4) = -1
+s.lastIndexOf ("o", -3) = -1
+s.lastIndexOf ("o", -2) = -1
+s.lastIndexOf ("o", -1) = -1
+s.lastIndexOf ("o", 0) = -1
+s.lastIndexOf ("o", 1) = -1
+s.lastIndexOf ("o", 2) = -1
+s.lastIndexOf ("o", 3) = -1
+s.lastIndexOf ("o", 4) = 4
+s.lastIndexOf ("o", 5) = 4
+s.lastIndexOf ("o", 6) = 4
+s.lastIndexOf ("o", 7) = 7
+s.lastIndexOf ("o", 8) = 7
+s.lastIndexOf ("o", 9) = 7
+s.lastIndexOf ("o", 10) = 7
+s.lastIndexOf ("o", 11) = 7
+s.lastIndexOf ("o", 12) = 7
+s.lastIndexOf ("o", 13) = 7
+s.lastIndexOf ("o", 14) = 7
+s.lastIndexOf ("r") = 8
+s.lastIndexOf ("r", -15) = -1
+s.lastIndexOf ("r", -14) = -1
+s.lastIndexOf ("r", -13) = -1
+s.lastIndexOf ("r", -12) = -1
+s.lastIndexOf ("r", -11) = -1
+s.lastIndexOf ("r", -10) = -1
+s.lastIndexOf ("r", -9) = -1
+s.lastIndexOf ("r", -8) = -1
+s.lastIndexOf ("r", -7) = -1
+s.lastIndexOf ("r", -6) = -1
+s.lastIndexOf ("r", -5) = -1
+s.lastIndexOf ("r", -4) = -1
+s.lastIndexOf ("r", -3) = -1
+s.lastIndexOf ("r", -2) = -1
+s.lastIndexOf ("r", -1) = -1
+s.lastIndexOf ("r", 0) = -1
+s.lastIndexOf ("r", 1) = -1
+s.lastIndexOf ("r", 2) = -1
+s.lastIndexOf ("r", 3) = -1
+s.lastIndexOf ("r", 4) = -1
+s.lastIndexOf ("r", 5) = -1
+s.lastIndexOf ("r", 6) = -1
+s.lastIndexOf ("r", 7) = -1
+s.lastIndexOf ("r", 8) = 8
+s.lastIndexOf ("r", 9) = 8
+s.lastIndexOf ("r", 10) = 8
+s.lastIndexOf ("r", 11) = 8
+s.lastIndexOf ("r", 12) = 8
+s.lastIndexOf ("r", 13) = 8
+s.lastIndexOf ("r", 14) = 8
+s.lastIndexOf ("l") = 9
+s.lastIndexOf ("l", -15) = -1
+s.lastIndexOf ("l", -14) = -1
+s.lastIndexOf ("l", -13) = -1
+s.lastIndexOf ("l", -12) = -1
+s.lastIndexOf ("l", -11) = -1
+s.lastIndexOf ("l", -10) = -1
+s.lastIndexOf ("l", -9) = -1
+s.lastIndexOf ("l", -8) = -1
+s.lastIndexOf ("l", -7) = -1
+s.lastIndexOf ("l", -6) = -1
+s.lastIndexOf ("l", -5) = -1
+s.lastIndexOf ("l", -4) = -1
+s.lastIndexOf ("l", -3) = -1
+s.lastIndexOf ("l", -2) = -1
+s.lastIndexOf ("l", -1) = -1
+s.lastIndexOf ("l", 0) = -1
+s.lastIndexOf ("l", 1) = -1
+s.lastIndexOf ("l", 2) = 2
+s.lastIndexOf ("l", 3) = 3
+s.lastIndexOf ("l", 4) = 3
+s.lastIndexOf ("l", 5) = 3
+s.lastIndexOf ("l", 6) = 3
+s.lastIndexOf ("l", 7) = 3
+s.lastIndexOf ("l", 8) = 3
+s.lastIndexOf ("l", 9) = 9
+s.lastIndexOf ("l", 10) = 9
+s.lastIndexOf ("l", 11) = 9
+s.lastIndexOf ("l", 12) = 9
+s.lastIndexOf ("l", 13) = 9
+s.lastIndexOf ("l", 14) = 9
+s.lastIndexOf ("d") = 10
+s.lastIndexOf ("d", -15) = -1
+s.lastIndexOf ("d", -14) = -1
+s.lastIndexOf ("d", -13) = -1
+s.lastIndexOf ("d", -12) = -1
+s.lastIndexOf ("d", -11) = -1
+s.lastIndexOf ("d", -10) = -1
+s.lastIndexOf ("d", -9) = -1
+s.lastIndexOf ("d", -8) = -1
+s.lastIndexOf ("d", -7) = -1
+s.lastIndexOf ("d", -6) = -1
+s.lastIndexOf ("d", -5) = -1
+s.lastIndexOf ("d", -4) = -1
+s.lastIndexOf ("d", -3) = -1
+s.lastIndexOf ("d", -2) = -1
+s.lastIndexOf ("d", -1) = -1
+s.lastIndexOf ("d", 0) = -1
+s.lastIndexOf ("d", 1) = -1
+s.lastIndexOf ("d", 2) = -1
+s.lastIndexOf ("d", 3) = -1
+s.lastIndexOf ("d", 4) = -1
+s.lastIndexOf ("d", 5) = -1
+s.lastIndexOf ("d", 6) = -1
+s.lastIndexOf ("d", 7) = -1
+s.lastIndexOf ("d", 8) = -1
+s.lastIndexOf ("d", 9) = -1
+s.lastIndexOf ("d", 10) = 10
+s.lastIndexOf ("d", 11) = 10
+s.lastIndexOf ("d", 12) = 10
+s.lastIndexOf ("d", 13) = 10
+s.lastIndexOf ("d", 14) = 10
diff --git a/test/trace/string-lastIndexOf-6.swf b/test/trace/string-lastIndexOf-6.swf
new file mode 100644
index 0000000..c62c388
Binary files /dev/null and b/test/trace/string-lastIndexOf-6.swf differ
diff --git a/test/trace/string-lastIndexOf-6.swf.trace b/test/trace/string-lastIndexOf-6.swf.trace
new file mode 100644
index 0000000..e374473
--- /dev/null
+++ b/test/trace/string-lastIndexOf-6.swf.trace
@@ -0,0 +1,342 @@
+test String.lastIndexOf
+s.lastIndexOf ("H") = 0
+s.lastIndexOf ("H", -15) = -1
+s.lastIndexOf ("H", -14) = -1
+s.lastIndexOf ("H", -13) = -1
+s.lastIndexOf ("H", -12) = -1
+s.lastIndexOf ("H", -11) = -1
+s.lastIndexOf ("H", -10) = -1
+s.lastIndexOf ("H", -9) = -1
+s.lastIndexOf ("H", -8) = -1
+s.lastIndexOf ("H", -7) = -1
+s.lastIndexOf ("H", -6) = -1
+s.lastIndexOf ("H", -5) = -1
+s.lastIndexOf ("H", -4) = -1
+s.lastIndexOf ("H", -3) = -1
+s.lastIndexOf ("H", -2) = -1
+s.lastIndexOf ("H", -1) = -1
+s.lastIndexOf ("H", 0) = 0
+s.lastIndexOf ("H", 1) = 0
+s.lastIndexOf ("H", 2) = 0
+s.lastIndexOf ("H", 3) = 0
+s.lastIndexOf ("H", 4) = 0
+s.lastIndexOf ("H", 5) = 0
+s.lastIndexOf ("H", 6) = 0
+s.lastIndexOf ("H", 7) = 0
+s.lastIndexOf ("H", 8) = 0
+s.lastIndexOf ("H", 9) = 0
+s.lastIndexOf ("H", 10) = 0
+s.lastIndexOf ("H", 11) = 0
+s.lastIndexOf ("H", 12) = 0
+s.lastIndexOf ("H", 13) = 0
+s.lastIndexOf ("H", 14) = 0
+s.lastIndexOf ("e") = 1
+s.lastIndexOf ("e", -15) = -1
+s.lastIndexOf ("e", -14) = -1
+s.lastIndexOf ("e", -13) = -1
+s.lastIndexOf ("e", -12) = -1
+s.lastIndexOf ("e", -11) = -1
+s.lastIndexOf ("e", -10) = -1
+s.lastIndexOf ("e", -9) = -1
+s.lastIndexOf ("e", -8) = -1
+s.lastIndexOf ("e", -7) = -1
+s.lastIndexOf ("e", -6) = -1
+s.lastIndexOf ("e", -5) = -1
+s.lastIndexOf ("e", -4) = -1
+s.lastIndexOf ("e", -3) = -1
+s.lastIndexOf ("e", -2) = -1
+s.lastIndexOf ("e", -1) = -1
+s.lastIndexOf ("e", 0) = -1
+s.lastIndexOf ("e", 1) = 1
+s.lastIndexOf ("e", 2) = 1
+s.lastIndexOf ("e", 3) = 1
+s.lastIndexOf ("e", 4) = 1
+s.lastIndexOf ("e", 5) = 1
+s.lastIndexOf ("e", 6) = 1
+s.lastIndexOf ("e", 7) = 1
+s.lastIndexOf ("e", 8) = 1
+s.lastIndexOf ("e", 9) = 1
+s.lastIndexOf ("e", 10) = 1
+s.lastIndexOf ("e", 11) = 1
+s.lastIndexOf ("e", 12) = 1
+s.lastIndexOf ("e", 13) = 1
+s.lastIndexOf ("e", 14) = 1
+s.lastIndexOf ("l") = 9
+s.lastIndexOf ("l", -15) = -1
+s.lastIndexOf ("l", -14) = -1
+s.lastIndexOf ("l", -13) = -1
+s.lastIndexOf ("l", -12) = -1
+s.lastIndexOf ("l", -11) = -1
+s.lastIndexOf ("l", -10) = -1
+s.lastIndexOf ("l", -9) = -1
+s.lastIndexOf ("l", -8) = -1
+s.lastIndexOf ("l", -7) = -1
+s.lastIndexOf ("l", -6) = -1
+s.lastIndexOf ("l", -5) = -1
+s.lastIndexOf ("l", -4) = -1
+s.lastIndexOf ("l", -3) = -1
+s.lastIndexOf ("l", -2) = -1
+s.lastIndexOf ("l", -1) = -1
+s.lastIndexOf ("l", 0) = -1
+s.lastIndexOf ("l", 1) = -1
+s.lastIndexOf ("l", 2) = 2
+s.lastIndexOf ("l", 3) = 3
+s.lastIndexOf ("l", 4) = 3
+s.lastIndexOf ("l", 5) = 3
+s.lastIndexOf ("l", 6) = 3
+s.lastIndexOf ("l", 7) = 3
+s.lastIndexOf ("l", 8) = 3
+s.lastIndexOf ("l", 9) = 9
+s.lastIndexOf ("l", 10) = 9
+s.lastIndexOf ("l", 11) = 9
+s.lastIndexOf ("l", 12) = 9
+s.lastIndexOf ("l", 13) = 9
+s.lastIndexOf ("l", 14) = 9
+s.lastIndexOf ("l") = 9
+s.lastIndexOf ("l", -15) = -1
+s.lastIndexOf ("l", -14) = -1
+s.lastIndexOf ("l", -13) = -1
+s.lastIndexOf ("l", -12) = -1
+s.lastIndexOf ("l", -11) = -1
+s.lastIndexOf ("l", -10) = -1
+s.lastIndexOf ("l", -9) = -1
+s.lastIndexOf ("l", -8) = -1
+s.lastIndexOf ("l", -7) = -1
+s.lastIndexOf ("l", -6) = -1
+s.lastIndexOf ("l", -5) = -1
+s.lastIndexOf ("l", -4) = -1
+s.lastIndexOf ("l", -3) = -1
+s.lastIndexOf ("l", -2) = -1
+s.lastIndexOf ("l", -1) = -1
+s.lastIndexOf ("l", 0) = -1
+s.lastIndexOf ("l", 1) = -1
+s.lastIndexOf ("l", 2) = 2
+s.lastIndexOf ("l", 3) = 3
+s.lastIndexOf ("l", 4) = 3
+s.lastIndexOf ("l", 5) = 3
+s.lastIndexOf ("l", 6) = 3
+s.lastIndexOf ("l", 7) = 3
+s.lastIndexOf ("l", 8) = 3
+s.lastIndexOf ("l", 9) = 9
+s.lastIndexOf ("l", 10) = 9
+s.lastIndexOf ("l", 11) = 9
+s.lastIndexOf ("l", 12) = 9
+s.lastIndexOf ("l", 13) = 9
+s.lastIndexOf ("l", 14) = 9
+s.lastIndexOf ("o") = 7
+s.lastIndexOf ("o", -15) = -1
+s.lastIndexOf ("o", -14) = -1
+s.lastIndexOf ("o", -13) = -1
+s.lastIndexOf ("o", -12) = -1
+s.lastIndexOf ("o", -11) = -1
+s.lastIndexOf ("o", -10) = -1
+s.lastIndexOf ("o", -9) = -1
+s.lastIndexOf ("o", -8) = -1
+s.lastIndexOf ("o", -7) = -1
+s.lastIndexOf ("o", -6) = -1
+s.lastIndexOf ("o", -5) = -1
+s.lastIndexOf ("o", -4) = -1
+s.lastIndexOf ("o", -3) = -1
+s.lastIndexOf ("o", -2) = -1
+s.lastIndexOf ("o", -1) = -1
+s.lastIndexOf ("o", 0) = -1
+s.lastIndexOf ("o", 1) = -1
+s.lastIndexOf ("o", 2) = -1
+s.lastIndexOf ("o", 3) = -1
+s.lastIndexOf ("o", 4) = 4
+s.lastIndexOf ("o", 5) = 4
+s.lastIndexOf ("o", 6) = 4
+s.lastIndexOf ("o", 7) = 7
+s.lastIndexOf ("o", 8) = 7
+s.lastIndexOf ("o", 9) = 7
+s.lastIndexOf ("o", 10) = 7
+s.lastIndexOf ("o", 11) = 7
+s.lastIndexOf ("o", 12) = 7
+s.lastIndexOf ("o", 13) = 7
+s.lastIndexOf ("o", 14) = 7
+s.lastIndexOf (" ") = 5
+s.lastIndexOf (" ", -15) = -1
+s.lastIndexOf (" ", -14) = -1
+s.lastIndexOf (" ", -13) = -1
+s.lastIndexOf (" ", -12) = -1
+s.lastIndexOf (" ", -11) = -1
+s.lastIndexOf (" ", -10) = -1
+s.lastIndexOf (" ", -9) = -1
+s.lastIndexOf (" ", -8) = -1
+s.lastIndexOf (" ", -7) = -1
+s.lastIndexOf (" ", -6) = -1
+s.lastIndexOf (" ", -5) = -1
+s.lastIndexOf (" ", -4) = -1
+s.lastIndexOf (" ", -3) = -1
+s.lastIndexOf (" ", -2) = -1
+s.lastIndexOf (" ", -1) = -1
+s.lastIndexOf (" ", 0) = -1
+s.lastIndexOf (" ", 1) = -1
+s.lastIndexOf (" ", 2) = -1
+s.lastIndexOf (" ", 3) = -1
+s.lastIndexOf (" ", 4) = -1
+s.lastIndexOf (" ", 5) = 5
+s.lastIndexOf (" ", 6) = 5
+s.lastIndexOf (" ", 7) = 5
+s.lastIndexOf (" ", 8) = 5
+s.lastIndexOf (" ", 9) = 5
+s.lastIndexOf (" ", 10) = 5
+s.lastIndexOf (" ", 11) = 5
+s.lastIndexOf (" ", 12) = 5
+s.lastIndexOf (" ", 13) = 5
+s.lastIndexOf (" ", 14) = 5
+s.lastIndexOf ("W") = 6
+s.lastIndexOf ("W", -15) = -1
+s.lastIndexOf ("W", -14) = -1
+s.lastIndexOf ("W", -13) = -1
+s.lastIndexOf ("W", -12) = -1
+s.lastIndexOf ("W", -11) = -1
+s.lastIndexOf ("W", -10) = -1
+s.lastIndexOf ("W", -9) = -1
+s.lastIndexOf ("W", -8) = -1
+s.lastIndexOf ("W", -7) = -1
+s.lastIndexOf ("W", -6) = -1
+s.lastIndexOf ("W", -5) = -1
+s.lastIndexOf ("W", -4) = -1
+s.lastIndexOf ("W", -3) = -1
+s.lastIndexOf ("W", -2) = -1
+s.lastIndexOf ("W", -1) = -1
+s.lastIndexOf ("W", 0) = -1
+s.lastIndexOf ("W", 1) = -1
+s.lastIndexOf ("W", 2) = -1
+s.lastIndexOf ("W", 3) = -1
+s.lastIndexOf ("W", 4) = -1
+s.lastIndexOf ("W", 5) = -1
+s.lastIndexOf ("W", 6) = 6
+s.lastIndexOf ("W", 7) = 6
+s.lastIndexOf ("W", 8) = 6
+s.lastIndexOf ("W", 9) = 6
+s.lastIndexOf ("W", 10) = 6
+s.lastIndexOf ("W", 11) = 6
+s.lastIndexOf ("W", 12) = 6
+s.lastIndexOf ("W", 13) = 6
+s.lastIndexOf ("W", 14) = 6
+s.lastIndexOf ("o") = 7
+s.lastIndexOf ("o", -15) = -1
+s.lastIndexOf ("o", -14) = -1
+s.lastIndexOf ("o", -13) = -1
+s.lastIndexOf ("o", -12) = -1
+s.lastIndexOf ("o", -11) = -1
+s.lastIndexOf ("o", -10) = -1
+s.lastIndexOf ("o", -9) = -1
+s.lastIndexOf ("o", -8) = -1
+s.lastIndexOf ("o", -7) = -1
+s.lastIndexOf ("o", -6) = -1
+s.lastIndexOf ("o", -5) = -1
+s.lastIndexOf ("o", -4) = -1
+s.lastIndexOf ("o", -3) = -1
+s.lastIndexOf ("o", -2) = -1
+s.lastIndexOf ("o", -1) = -1
+s.lastIndexOf ("o", 0) = -1
+s.lastIndexOf ("o", 1) = -1
+s.lastIndexOf ("o", 2) = -1
+s.lastIndexOf ("o", 3) = -1
+s.lastIndexOf ("o", 4) = 4
+s.lastIndexOf ("o", 5) = 4
+s.lastIndexOf ("o", 6) = 4
+s.lastIndexOf ("o", 7) = 7
+s.lastIndexOf ("o", 8) = 7
+s.lastIndexOf ("o", 9) = 7
+s.lastIndexOf ("o", 10) = 7
+s.lastIndexOf ("o", 11) = 7
+s.lastIndexOf ("o", 12) = 7
+s.lastIndexOf ("o", 13) = 7
+s.lastIndexOf ("o", 14) = 7
+s.lastIndexOf ("r") = 8
+s.lastIndexOf ("r", -15) = -1
+s.lastIndexOf ("r", -14) = -1
+s.lastIndexOf ("r", -13) = -1
+s.lastIndexOf ("r", -12) = -1
+s.lastIndexOf ("r", -11) = -1
+s.lastIndexOf ("r", -10) = -1
+s.lastIndexOf ("r", -9) = -1
+s.lastIndexOf ("r", -8) = -1
+s.lastIndexOf ("r", -7) = -1
+s.lastIndexOf ("r", -6) = -1
+s.lastIndexOf ("r", -5) = -1
+s.lastIndexOf ("r", -4) = -1
+s.lastIndexOf ("r", -3) = -1
+s.lastIndexOf ("r", -2) = -1
+s.lastIndexOf ("r", -1) = -1
+s.lastIndexOf ("r", 0) = -1
+s.lastIndexOf ("r", 1) = -1
+s.lastIndexOf ("r", 2) = -1
+s.lastIndexOf ("r", 3) = -1
+s.lastIndexOf ("r", 4) = -1
+s.lastIndexOf ("r", 5) = -1
+s.lastIndexOf ("r", 6) = -1
+s.lastIndexOf ("r", 7) = -1
+s.lastIndexOf ("r", 8) = 8
+s.lastIndexOf ("r", 9) = 8
+s.lastIndexOf ("r", 10) = 8
+s.lastIndexOf ("r", 11) = 8
+s.lastIndexOf ("r", 12) = 8
+s.lastIndexOf ("r", 13) = 8
+s.lastIndexOf ("r", 14) = 8
+s.lastIndexOf ("l") = 9
+s.lastIndexOf ("l", -15) = -1
+s.lastIndexOf ("l", -14) = -1
+s.lastIndexOf ("l", -13) = -1
+s.lastIndexOf ("l", -12) = -1
+s.lastIndexOf ("l", -11) = -1
+s.lastIndexOf ("l", -10) = -1
+s.lastIndexOf ("l", -9) = -1
+s.lastIndexOf ("l", -8) = -1
+s.lastIndexOf ("l", -7) = -1
+s.lastIndexOf ("l", -6) = -1
+s.lastIndexOf ("l", -5) = -1
+s.lastIndexOf ("l", -4) = -1
+s.lastIndexOf ("l", -3) = -1
+s.lastIndexOf ("l", -2) = -1
+s.lastIndexOf ("l", -1) = -1
+s.lastIndexOf ("l", 0) = -1
+s.lastIndexOf ("l", 1) = -1
+s.lastIndexOf ("l", 2) = 2
+s.lastIndexOf ("l", 3) = 3
+s.lastIndexOf ("l", 4) = 3
+s.lastIndexOf ("l", 5) = 3
+s.lastIndexOf ("l", 6) = 3
+s.lastIndexOf ("l", 7) = 3
+s.lastIndexOf ("l", 8) = 3
+s.lastIndexOf ("l", 9) = 9
+s.lastIndexOf ("l", 10) = 9
+s.lastIndexOf ("l", 11) = 9
+s.lastIndexOf ("l", 12) = 9
+s.lastIndexOf ("l", 13) = 9
+s.lastIndexOf ("l", 14) = 9
+s.lastIndexOf ("d") = 10
+s.lastIndexOf ("d", -15) = -1
+s.lastIndexOf ("d", -14) = -1
+s.lastIndexOf ("d", -13) = -1
+s.lastIndexOf ("d", -12) = -1
+s.lastIndexOf ("d", -11) = -1
+s.lastIndexOf ("d", -10) = -1
+s.lastIndexOf ("d", -9) = -1
+s.lastIndexOf ("d", -8) = -1
+s.lastIndexOf ("d", -7) = -1
+s.lastIndexOf ("d", -6) = -1
+s.lastIndexOf ("d", -5) = -1
+s.lastIndexOf ("d", -4) = -1
+s.lastIndexOf ("d", -3) = -1
+s.lastIndexOf ("d", -2) = -1
+s.lastIndexOf ("d", -1) = -1
+s.lastIndexOf ("d", 0) = -1
+s.lastIndexOf ("d", 1) = -1
+s.lastIndexOf ("d", 2) = -1
+s.lastIndexOf ("d", 3) = -1
+s.lastIndexOf ("d", 4) = -1
+s.lastIndexOf ("d", 5) = -1
+s.lastIndexOf ("d", 6) = -1
+s.lastIndexOf ("d", 7) = -1
+s.lastIndexOf ("d", 8) = -1
+s.lastIndexOf ("d", 9) = -1
+s.lastIndexOf ("d", 10) = 10
+s.lastIndexOf ("d", 11) = 10
+s.lastIndexOf ("d", 12) = 10
+s.lastIndexOf ("d", 13) = 10
+s.lastIndexOf ("d", 14) = 10
diff --git a/test/trace/string-lastIndexOf-7.swf b/test/trace/string-lastIndexOf-7.swf
new file mode 100644
index 0000000..0046803
Binary files /dev/null and b/test/trace/string-lastIndexOf-7.swf differ
diff --git a/test/trace/string-lastIndexOf-7.swf.trace b/test/trace/string-lastIndexOf-7.swf.trace
new file mode 100644
index 0000000..e374473
--- /dev/null
+++ b/test/trace/string-lastIndexOf-7.swf.trace
@@ -0,0 +1,342 @@
+test String.lastIndexOf
+s.lastIndexOf ("H") = 0
+s.lastIndexOf ("H", -15) = -1
+s.lastIndexOf ("H", -14) = -1
+s.lastIndexOf ("H", -13) = -1
+s.lastIndexOf ("H", -12) = -1
+s.lastIndexOf ("H", -11) = -1
+s.lastIndexOf ("H", -10) = -1
+s.lastIndexOf ("H", -9) = -1
+s.lastIndexOf ("H", -8) = -1
+s.lastIndexOf ("H", -7) = -1
+s.lastIndexOf ("H", -6) = -1
+s.lastIndexOf ("H", -5) = -1
+s.lastIndexOf ("H", -4) = -1
+s.lastIndexOf ("H", -3) = -1
+s.lastIndexOf ("H", -2) = -1
+s.lastIndexOf ("H", -1) = -1
+s.lastIndexOf ("H", 0) = 0
+s.lastIndexOf ("H", 1) = 0
+s.lastIndexOf ("H", 2) = 0
+s.lastIndexOf ("H", 3) = 0
+s.lastIndexOf ("H", 4) = 0
+s.lastIndexOf ("H", 5) = 0
+s.lastIndexOf ("H", 6) = 0
+s.lastIndexOf ("H", 7) = 0
+s.lastIndexOf ("H", 8) = 0
+s.lastIndexOf ("H", 9) = 0
+s.lastIndexOf ("H", 10) = 0
+s.lastIndexOf ("H", 11) = 0
+s.lastIndexOf ("H", 12) = 0
+s.lastIndexOf ("H", 13) = 0
+s.lastIndexOf ("H", 14) = 0
+s.lastIndexOf ("e") = 1
+s.lastIndexOf ("e", -15) = -1
+s.lastIndexOf ("e", -14) = -1
+s.lastIndexOf ("e", -13) = -1
+s.lastIndexOf ("e", -12) = -1
+s.lastIndexOf ("e", -11) = -1
+s.lastIndexOf ("e", -10) = -1
+s.lastIndexOf ("e", -9) = -1
+s.lastIndexOf ("e", -8) = -1
+s.lastIndexOf ("e", -7) = -1
+s.lastIndexOf ("e", -6) = -1
+s.lastIndexOf ("e", -5) = -1
+s.lastIndexOf ("e", -4) = -1
+s.lastIndexOf ("e", -3) = -1
+s.lastIndexOf ("e", -2) = -1
+s.lastIndexOf ("e", -1) = -1
+s.lastIndexOf ("e", 0) = -1
+s.lastIndexOf ("e", 1) = 1
+s.lastIndexOf ("e", 2) = 1
+s.lastIndexOf ("e", 3) = 1
+s.lastIndexOf ("e", 4) = 1
+s.lastIndexOf ("e", 5) = 1
+s.lastIndexOf ("e", 6) = 1
+s.lastIndexOf ("e", 7) = 1
+s.lastIndexOf ("e", 8) = 1
+s.lastIndexOf ("e", 9) = 1
+s.lastIndexOf ("e", 10) = 1
+s.lastIndexOf ("e", 11) = 1
+s.lastIndexOf ("e", 12) = 1
+s.lastIndexOf ("e", 13) = 1
+s.lastIndexOf ("e", 14) = 1
+s.lastIndexOf ("l") = 9
+s.lastIndexOf ("l", -15) = -1
+s.lastIndexOf ("l", -14) = -1
+s.lastIndexOf ("l", -13) = -1
+s.lastIndexOf ("l", -12) = -1
+s.lastIndexOf ("l", -11) = -1
+s.lastIndexOf ("l", -10) = -1
+s.lastIndexOf ("l", -9) = -1
+s.lastIndexOf ("l", -8) = -1
+s.lastIndexOf ("l", -7) = -1
+s.lastIndexOf ("l", -6) = -1
+s.lastIndexOf ("l", -5) = -1
+s.lastIndexOf ("l", -4) = -1
+s.lastIndexOf ("l", -3) = -1
+s.lastIndexOf ("l", -2) = -1
+s.lastIndexOf ("l", -1) = -1
+s.lastIndexOf ("l", 0) = -1
+s.lastIndexOf ("l", 1) = -1
+s.lastIndexOf ("l", 2) = 2
+s.lastIndexOf ("l", 3) = 3
+s.lastIndexOf ("l", 4) = 3
+s.lastIndexOf ("l", 5) = 3
+s.lastIndexOf ("l", 6) = 3
+s.lastIndexOf ("l", 7) = 3
+s.lastIndexOf ("l", 8) = 3
+s.lastIndexOf ("l", 9) = 9
+s.lastIndexOf ("l", 10) = 9
+s.lastIndexOf ("l", 11) = 9
+s.lastIndexOf ("l", 12) = 9
+s.lastIndexOf ("l", 13) = 9
+s.lastIndexOf ("l", 14) = 9
+s.lastIndexOf ("l") = 9
+s.lastIndexOf ("l", -15) = -1
+s.lastIndexOf ("l", -14) = -1
+s.lastIndexOf ("l", -13) = -1
+s.lastIndexOf ("l", -12) = -1
+s.lastIndexOf ("l", -11) = -1
+s.lastIndexOf ("l", -10) = -1
+s.lastIndexOf ("l", -9) = -1
+s.lastIndexOf ("l", -8) = -1
+s.lastIndexOf ("l", -7) = -1
+s.lastIndexOf ("l", -6) = -1
+s.lastIndexOf ("l", -5) = -1
+s.lastIndexOf ("l", -4) = -1
+s.lastIndexOf ("l", -3) = -1
+s.lastIndexOf ("l", -2) = -1
+s.lastIndexOf ("l", -1) = -1
+s.lastIndexOf ("l", 0) = -1
+s.lastIndexOf ("l", 1) = -1
+s.lastIndexOf ("l", 2) = 2
+s.lastIndexOf ("l", 3) = 3
+s.lastIndexOf ("l", 4) = 3
+s.lastIndexOf ("l", 5) = 3
+s.lastIndexOf ("l", 6) = 3
+s.lastIndexOf ("l", 7) = 3
+s.lastIndexOf ("l", 8) = 3
+s.lastIndexOf ("l", 9) = 9
+s.lastIndexOf ("l", 10) = 9
+s.lastIndexOf ("l", 11) = 9
+s.lastIndexOf ("l", 12) = 9
+s.lastIndexOf ("l", 13) = 9
+s.lastIndexOf ("l", 14) = 9
+s.lastIndexOf ("o") = 7
+s.lastIndexOf ("o", -15) = -1
+s.lastIndexOf ("o", -14) = -1
+s.lastIndexOf ("o", -13) = -1
+s.lastIndexOf ("o", -12) = -1
+s.lastIndexOf ("o", -11) = -1
+s.lastIndexOf ("o", -10) = -1
+s.lastIndexOf ("o", -9) = -1
+s.lastIndexOf ("o", -8) = -1
+s.lastIndexOf ("o", -7) = -1
+s.lastIndexOf ("o", -6) = -1
+s.lastIndexOf ("o", -5) = -1
+s.lastIndexOf ("o", -4) = -1
+s.lastIndexOf ("o", -3) = -1
+s.lastIndexOf ("o", -2) = -1
+s.lastIndexOf ("o", -1) = -1
+s.lastIndexOf ("o", 0) = -1
+s.lastIndexOf ("o", 1) = -1
+s.lastIndexOf ("o", 2) = -1
+s.lastIndexOf ("o", 3) = -1
+s.lastIndexOf ("o", 4) = 4
+s.lastIndexOf ("o", 5) = 4
+s.lastIndexOf ("o", 6) = 4
+s.lastIndexOf ("o", 7) = 7
+s.lastIndexOf ("o", 8) = 7
+s.lastIndexOf ("o", 9) = 7
+s.lastIndexOf ("o", 10) = 7
+s.lastIndexOf ("o", 11) = 7
+s.lastIndexOf ("o", 12) = 7
+s.lastIndexOf ("o", 13) = 7
+s.lastIndexOf ("o", 14) = 7
+s.lastIndexOf (" ") = 5
+s.lastIndexOf (" ", -15) = -1
+s.lastIndexOf (" ", -14) = -1
+s.lastIndexOf (" ", -13) = -1
+s.lastIndexOf (" ", -12) = -1
+s.lastIndexOf (" ", -11) = -1
+s.lastIndexOf (" ", -10) = -1
+s.lastIndexOf (" ", -9) = -1
+s.lastIndexOf (" ", -8) = -1
+s.lastIndexOf (" ", -7) = -1
+s.lastIndexOf (" ", -6) = -1
+s.lastIndexOf (" ", -5) = -1
+s.lastIndexOf (" ", -4) = -1
+s.lastIndexOf (" ", -3) = -1
+s.lastIndexOf (" ", -2) = -1
+s.lastIndexOf (" ", -1) = -1
+s.lastIndexOf (" ", 0) = -1
+s.lastIndexOf (" ", 1) = -1
+s.lastIndexOf (" ", 2) = -1
+s.lastIndexOf (" ", 3) = -1
+s.lastIndexOf (" ", 4) = -1
+s.lastIndexOf (" ", 5) = 5
+s.lastIndexOf (" ", 6) = 5
+s.lastIndexOf (" ", 7) = 5
+s.lastIndexOf (" ", 8) = 5
+s.lastIndexOf (" ", 9) = 5
+s.lastIndexOf (" ", 10) = 5
+s.lastIndexOf (" ", 11) = 5
+s.lastIndexOf (" ", 12) = 5
+s.lastIndexOf (" ", 13) = 5
+s.lastIndexOf (" ", 14) = 5
+s.lastIndexOf ("W") = 6
+s.lastIndexOf ("W", -15) = -1
+s.lastIndexOf ("W", -14) = -1
+s.lastIndexOf ("W", -13) = -1
+s.lastIndexOf ("W", -12) = -1
+s.lastIndexOf ("W", -11) = -1
+s.lastIndexOf ("W", -10) = -1
+s.lastIndexOf ("W", -9) = -1
+s.lastIndexOf ("W", -8) = -1
+s.lastIndexOf ("W", -7) = -1
+s.lastIndexOf ("W", -6) = -1
+s.lastIndexOf ("W", -5) = -1
+s.lastIndexOf ("W", -4) = -1
+s.lastIndexOf ("W", -3) = -1
+s.lastIndexOf ("W", -2) = -1
+s.lastIndexOf ("W", -1) = -1
+s.lastIndexOf ("W", 0) = -1
+s.lastIndexOf ("W", 1) = -1
+s.lastIndexOf ("W", 2) = -1
+s.lastIndexOf ("W", 3) = -1
+s.lastIndexOf ("W", 4) = -1
+s.lastIndexOf ("W", 5) = -1
+s.lastIndexOf ("W", 6) = 6
+s.lastIndexOf ("W", 7) = 6
+s.lastIndexOf ("W", 8) = 6
+s.lastIndexOf ("W", 9) = 6
+s.lastIndexOf ("W", 10) = 6
+s.lastIndexOf ("W", 11) = 6
+s.lastIndexOf ("W", 12) = 6
+s.lastIndexOf ("W", 13) = 6
+s.lastIndexOf ("W", 14) = 6
+s.lastIndexOf ("o") = 7
+s.lastIndexOf ("o", -15) = -1
+s.lastIndexOf ("o", -14) = -1
+s.lastIndexOf ("o", -13) = -1
+s.lastIndexOf ("o", -12) = -1
+s.lastIndexOf ("o", -11) = -1
+s.lastIndexOf ("o", -10) = -1
+s.lastIndexOf ("o", -9) = -1
+s.lastIndexOf ("o", -8) = -1
+s.lastIndexOf ("o", -7) = -1
+s.lastIndexOf ("o", -6) = -1
+s.lastIndexOf ("o", -5) = -1
+s.lastIndexOf ("o", -4) = -1
+s.lastIndexOf ("o", -3) = -1
+s.lastIndexOf ("o", -2) = -1
+s.lastIndexOf ("o", -1) = -1
+s.lastIndexOf ("o", 0) = -1
+s.lastIndexOf ("o", 1) = -1
+s.lastIndexOf ("o", 2) = -1
+s.lastIndexOf ("o", 3) = -1
+s.lastIndexOf ("o", 4) = 4
+s.lastIndexOf ("o", 5) = 4
+s.lastIndexOf ("o", 6) = 4
+s.lastIndexOf ("o", 7) = 7
+s.lastIndexOf ("o", 8) = 7
+s.lastIndexOf ("o", 9) = 7
+s.lastIndexOf ("o", 10) = 7
+s.lastIndexOf ("o", 11) = 7
+s.lastIndexOf ("o", 12) = 7
+s.lastIndexOf ("o", 13) = 7
+s.lastIndexOf ("o", 14) = 7
+s.lastIndexOf ("r") = 8
+s.lastIndexOf ("r", -15) = -1
+s.lastIndexOf ("r", -14) = -1
+s.lastIndexOf ("r", -13) = -1
+s.lastIndexOf ("r", -12) = -1
+s.lastIndexOf ("r", -11) = -1
+s.lastIndexOf ("r", -10) = -1
+s.lastIndexOf ("r", -9) = -1
+s.lastIndexOf ("r", -8) = -1
+s.lastIndexOf ("r", -7) = -1
+s.lastIndexOf ("r", -6) = -1
+s.lastIndexOf ("r", -5) = -1
+s.lastIndexOf ("r", -4) = -1
+s.lastIndexOf ("r", -3) = -1
+s.lastIndexOf ("r", -2) = -1
+s.lastIndexOf ("r", -1) = -1
+s.lastIndexOf ("r", 0) = -1
+s.lastIndexOf ("r", 1) = -1
+s.lastIndexOf ("r", 2) = -1
+s.lastIndexOf ("r", 3) = -1
+s.lastIndexOf ("r", 4) = -1
+s.lastIndexOf ("r", 5) = -1
+s.lastIndexOf ("r", 6) = -1
+s.lastIndexOf ("r", 7) = -1
+s.lastIndexOf ("r", 8) = 8
+s.lastIndexOf ("r", 9) = 8
+s.lastIndexOf ("r", 10) = 8
+s.lastIndexOf ("r", 11) = 8
+s.lastIndexOf ("r", 12) = 8
+s.lastIndexOf ("r", 13) = 8
+s.lastIndexOf ("r", 14) = 8
+s.lastIndexOf ("l") = 9
+s.lastIndexOf ("l", -15) = -1
+s.lastIndexOf ("l", -14) = -1
+s.lastIndexOf ("l", -13) = -1
+s.lastIndexOf ("l", -12) = -1
+s.lastIndexOf ("l", -11) = -1
+s.lastIndexOf ("l", -10) = -1
+s.lastIndexOf ("l", -9) = -1
+s.lastIndexOf ("l", -8) = -1
+s.lastIndexOf ("l", -7) = -1
+s.lastIndexOf ("l", -6) = -1
+s.lastIndexOf ("l", -5) = -1
+s.lastIndexOf ("l", -4) = -1
+s.lastIndexOf ("l", -3) = -1
+s.lastIndexOf ("l", -2) = -1
+s.lastIndexOf ("l", -1) = -1
+s.lastIndexOf ("l", 0) = -1
+s.lastIndexOf ("l", 1) = -1
+s.lastIndexOf ("l", 2) = 2
+s.lastIndexOf ("l", 3) = 3
+s.lastIndexOf ("l", 4) = 3
+s.lastIndexOf ("l", 5) = 3
+s.lastIndexOf ("l", 6) = 3
+s.lastIndexOf ("l", 7) = 3
+s.lastIndexOf ("l", 8) = 3
+s.lastIndexOf ("l", 9) = 9
+s.lastIndexOf ("l", 10) = 9
+s.lastIndexOf ("l", 11) = 9
+s.lastIndexOf ("l", 12) = 9
+s.lastIndexOf ("l", 13) = 9
+s.lastIndexOf ("l", 14) = 9
+s.lastIndexOf ("d") = 10
+s.lastIndexOf ("d", -15) = -1
+s.lastIndexOf ("d", -14) = -1
+s.lastIndexOf ("d", -13) = -1
+s.lastIndexOf ("d", -12) = -1
+s.lastIndexOf ("d", -11) = -1
+s.lastIndexOf ("d", -10) = -1
+s.lastIndexOf ("d", -9) = -1
+s.lastIndexOf ("d", -8) = -1
+s.lastIndexOf ("d", -7) = -1
+s.lastIndexOf ("d", -6) = -1
+s.lastIndexOf ("d", -5) = -1
+s.lastIndexOf ("d", -4) = -1
+s.lastIndexOf ("d", -3) = -1
+s.lastIndexOf ("d", -2) = -1
+s.lastIndexOf ("d", -1) = -1
+s.lastIndexOf ("d", 0) = -1
+s.lastIndexOf ("d", 1) = -1
+s.lastIndexOf ("d", 2) = -1
+s.lastIndexOf ("d", 3) = -1
+s.lastIndexOf ("d", 4) = -1
+s.lastIndexOf ("d", 5) = -1
+s.lastIndexOf ("d", 6) = -1
+s.lastIndexOf ("d", 7) = -1
+s.lastIndexOf ("d", 8) = -1
+s.lastIndexOf ("d", 9) = -1
+s.lastIndexOf ("d", 10) = 10
+s.lastIndexOf ("d", 11) = 10
+s.lastIndexOf ("d", 12) = 10
+s.lastIndexOf ("d", 13) = 10
+s.lastIndexOf ("d", 14) = 10
diff --git a/test/trace/string-lastIndexOf-8.swf b/test/trace/string-lastIndexOf-8.swf
new file mode 100644
index 0000000..2497f10
Binary files /dev/null and b/test/trace/string-lastIndexOf-8.swf differ
diff --git a/test/trace/string-lastIndexOf-8.swf.trace b/test/trace/string-lastIndexOf-8.swf.trace
new file mode 100644
index 0000000..e374473
--- /dev/null
+++ b/test/trace/string-lastIndexOf-8.swf.trace
@@ -0,0 +1,342 @@
+test String.lastIndexOf
+s.lastIndexOf ("H") = 0
+s.lastIndexOf ("H", -15) = -1
+s.lastIndexOf ("H", -14) = -1
+s.lastIndexOf ("H", -13) = -1
+s.lastIndexOf ("H", -12) = -1
+s.lastIndexOf ("H", -11) = -1
+s.lastIndexOf ("H", -10) = -1
+s.lastIndexOf ("H", -9) = -1
+s.lastIndexOf ("H", -8) = -1
+s.lastIndexOf ("H", -7) = -1
+s.lastIndexOf ("H", -6) = -1
+s.lastIndexOf ("H", -5) = -1
+s.lastIndexOf ("H", -4) = -1
+s.lastIndexOf ("H", -3) = -1
+s.lastIndexOf ("H", -2) = -1
+s.lastIndexOf ("H", -1) = -1
+s.lastIndexOf ("H", 0) = 0
+s.lastIndexOf ("H", 1) = 0
+s.lastIndexOf ("H", 2) = 0
+s.lastIndexOf ("H", 3) = 0
+s.lastIndexOf ("H", 4) = 0
+s.lastIndexOf ("H", 5) = 0
+s.lastIndexOf ("H", 6) = 0
+s.lastIndexOf ("H", 7) = 0
+s.lastIndexOf ("H", 8) = 0
+s.lastIndexOf ("H", 9) = 0
+s.lastIndexOf ("H", 10) = 0
+s.lastIndexOf ("H", 11) = 0
+s.lastIndexOf ("H", 12) = 0
+s.lastIndexOf ("H", 13) = 0
+s.lastIndexOf ("H", 14) = 0
+s.lastIndexOf ("e") = 1
+s.lastIndexOf ("e", -15) = -1
+s.lastIndexOf ("e", -14) = -1
+s.lastIndexOf ("e", -13) = -1
+s.lastIndexOf ("e", -12) = -1
+s.lastIndexOf ("e", -11) = -1
+s.lastIndexOf ("e", -10) = -1
+s.lastIndexOf ("e", -9) = -1
+s.lastIndexOf ("e", -8) = -1
+s.lastIndexOf ("e", -7) = -1
+s.lastIndexOf ("e", -6) = -1
+s.lastIndexOf ("e", -5) = -1
+s.lastIndexOf ("e", -4) = -1
+s.lastIndexOf ("e", -3) = -1
+s.lastIndexOf ("e", -2) = -1
+s.lastIndexOf ("e", -1) = -1
+s.lastIndexOf ("e", 0) = -1
+s.lastIndexOf ("e", 1) = 1
+s.lastIndexOf ("e", 2) = 1
+s.lastIndexOf ("e", 3) = 1
+s.lastIndexOf ("e", 4) = 1
+s.lastIndexOf ("e", 5) = 1
+s.lastIndexOf ("e", 6) = 1
+s.lastIndexOf ("e", 7) = 1
+s.lastIndexOf ("e", 8) = 1
+s.lastIndexOf ("e", 9) = 1
+s.lastIndexOf ("e", 10) = 1
+s.lastIndexOf ("e", 11) = 1
+s.lastIndexOf ("e", 12) = 1
+s.lastIndexOf ("e", 13) = 1
+s.lastIndexOf ("e", 14) = 1
+s.lastIndexOf ("l") = 9
+s.lastIndexOf ("l", -15) = -1
+s.lastIndexOf ("l", -14) = -1
+s.lastIndexOf ("l", -13) = -1
+s.lastIndexOf ("l", -12) = -1
+s.lastIndexOf ("l", -11) = -1
+s.lastIndexOf ("l", -10) = -1
+s.lastIndexOf ("l", -9) = -1
+s.lastIndexOf ("l", -8) = -1
+s.lastIndexOf ("l", -7) = -1
+s.lastIndexOf ("l", -6) = -1
+s.lastIndexOf ("l", -5) = -1
+s.lastIndexOf ("l", -4) = -1
+s.lastIndexOf ("l", -3) = -1
+s.lastIndexOf ("l", -2) = -1
+s.lastIndexOf ("l", -1) = -1
+s.lastIndexOf ("l", 0) = -1
+s.lastIndexOf ("l", 1) = -1
+s.lastIndexOf ("l", 2) = 2
+s.lastIndexOf ("l", 3) = 3
+s.lastIndexOf ("l", 4) = 3
+s.lastIndexOf ("l", 5) = 3
+s.lastIndexOf ("l", 6) = 3
+s.lastIndexOf ("l", 7) = 3
+s.lastIndexOf ("l", 8) = 3
+s.lastIndexOf ("l", 9) = 9
+s.lastIndexOf ("l", 10) = 9
+s.lastIndexOf ("l", 11) = 9
+s.lastIndexOf ("l", 12) = 9
+s.lastIndexOf ("l", 13) = 9
+s.lastIndexOf ("l", 14) = 9
+s.lastIndexOf ("l") = 9
+s.lastIndexOf ("l", -15) = -1
+s.lastIndexOf ("l", -14) = -1
+s.lastIndexOf ("l", -13) = -1
+s.lastIndexOf ("l", -12) = -1
+s.lastIndexOf ("l", -11) = -1
+s.lastIndexOf ("l", -10) = -1
+s.lastIndexOf ("l", -9) = -1
+s.lastIndexOf ("l", -8) = -1
+s.lastIndexOf ("l", -7) = -1
+s.lastIndexOf ("l", -6) = -1
+s.lastIndexOf ("l", -5) = -1
+s.lastIndexOf ("l", -4) = -1
+s.lastIndexOf ("l", -3) = -1
+s.lastIndexOf ("l", -2) = -1
+s.lastIndexOf ("l", -1) = -1
+s.lastIndexOf ("l", 0) = -1
+s.lastIndexOf ("l", 1) = -1
+s.lastIndexOf ("l", 2) = 2
+s.lastIndexOf ("l", 3) = 3
+s.lastIndexOf ("l", 4) = 3
+s.lastIndexOf ("l", 5) = 3
+s.lastIndexOf ("l", 6) = 3
+s.lastIndexOf ("l", 7) = 3
+s.lastIndexOf ("l", 8) = 3
+s.lastIndexOf ("l", 9) = 9
+s.lastIndexOf ("l", 10) = 9
+s.lastIndexOf ("l", 11) = 9
+s.lastIndexOf ("l", 12) = 9
+s.lastIndexOf ("l", 13) = 9
+s.lastIndexOf ("l", 14) = 9
+s.lastIndexOf ("o") = 7
+s.lastIndexOf ("o", -15) = -1
+s.lastIndexOf ("o", -14) = -1
+s.lastIndexOf ("o", -13) = -1
+s.lastIndexOf ("o", -12) = -1
+s.lastIndexOf ("o", -11) = -1
+s.lastIndexOf ("o", -10) = -1
+s.lastIndexOf ("o", -9) = -1
+s.lastIndexOf ("o", -8) = -1
+s.lastIndexOf ("o", -7) = -1
+s.lastIndexOf ("o", -6) = -1
+s.lastIndexOf ("o", -5) = -1
+s.lastIndexOf ("o", -4) = -1
+s.lastIndexOf ("o", -3) = -1
+s.lastIndexOf ("o", -2) = -1
+s.lastIndexOf ("o", -1) = -1
+s.lastIndexOf ("o", 0) = -1
+s.lastIndexOf ("o", 1) = -1
+s.lastIndexOf ("o", 2) = -1
+s.lastIndexOf ("o", 3) = -1
+s.lastIndexOf ("o", 4) = 4
+s.lastIndexOf ("o", 5) = 4
+s.lastIndexOf ("o", 6) = 4
+s.lastIndexOf ("o", 7) = 7
+s.lastIndexOf ("o", 8) = 7
+s.lastIndexOf ("o", 9) = 7
+s.lastIndexOf ("o", 10) = 7
+s.lastIndexOf ("o", 11) = 7
+s.lastIndexOf ("o", 12) = 7
+s.lastIndexOf ("o", 13) = 7
+s.lastIndexOf ("o", 14) = 7
+s.lastIndexOf (" ") = 5
+s.lastIndexOf (" ", -15) = -1
+s.lastIndexOf (" ", -14) = -1
+s.lastIndexOf (" ", -13) = -1
+s.lastIndexOf (" ", -12) = -1
+s.lastIndexOf (" ", -11) = -1
+s.lastIndexOf (" ", -10) = -1
+s.lastIndexOf (" ", -9) = -1
+s.lastIndexOf (" ", -8) = -1
+s.lastIndexOf (" ", -7) = -1
+s.lastIndexOf (" ", -6) = -1
+s.lastIndexOf (" ", -5) = -1
+s.lastIndexOf (" ", -4) = -1
+s.lastIndexOf (" ", -3) = -1
+s.lastIndexOf (" ", -2) = -1
+s.lastIndexOf (" ", -1) = -1
+s.lastIndexOf (" ", 0) = -1
+s.lastIndexOf (" ", 1) = -1
+s.lastIndexOf (" ", 2) = -1
+s.lastIndexOf (" ", 3) = -1
+s.lastIndexOf (" ", 4) = -1
+s.lastIndexOf (" ", 5) = 5
+s.lastIndexOf (" ", 6) = 5
+s.lastIndexOf (" ", 7) = 5
+s.lastIndexOf (" ", 8) = 5
+s.lastIndexOf (" ", 9) = 5
+s.lastIndexOf (" ", 10) = 5
+s.lastIndexOf (" ", 11) = 5
+s.lastIndexOf (" ", 12) = 5
+s.lastIndexOf (" ", 13) = 5
+s.lastIndexOf (" ", 14) = 5
+s.lastIndexOf ("W") = 6
+s.lastIndexOf ("W", -15) = -1
+s.lastIndexOf ("W", -14) = -1
+s.lastIndexOf ("W", -13) = -1
+s.lastIndexOf ("W", -12) = -1
+s.lastIndexOf ("W", -11) = -1
+s.lastIndexOf ("W", -10) = -1
+s.lastIndexOf ("W", -9) = -1
+s.lastIndexOf ("W", -8) = -1
+s.lastIndexOf ("W", -7) = -1
+s.lastIndexOf ("W", -6) = -1
+s.lastIndexOf ("W", -5) = -1
+s.lastIndexOf ("W", -4) = -1
+s.lastIndexOf ("W", -3) = -1
+s.lastIndexOf ("W", -2) = -1
+s.lastIndexOf ("W", -1) = -1
+s.lastIndexOf ("W", 0) = -1
+s.lastIndexOf ("W", 1) = -1
+s.lastIndexOf ("W", 2) = -1
+s.lastIndexOf ("W", 3) = -1
+s.lastIndexOf ("W", 4) = -1
+s.lastIndexOf ("W", 5) = -1
+s.lastIndexOf ("W", 6) = 6
+s.lastIndexOf ("W", 7) = 6
+s.lastIndexOf ("W", 8) = 6
+s.lastIndexOf ("W", 9) = 6
+s.lastIndexOf ("W", 10) = 6
+s.lastIndexOf ("W", 11) = 6
+s.lastIndexOf ("W", 12) = 6
+s.lastIndexOf ("W", 13) = 6
+s.lastIndexOf ("W", 14) = 6
+s.lastIndexOf ("o") = 7
+s.lastIndexOf ("o", -15) = -1
+s.lastIndexOf ("o", -14) = -1
+s.lastIndexOf ("o", -13) = -1
+s.lastIndexOf ("o", -12) = -1
+s.lastIndexOf ("o", -11) = -1
+s.lastIndexOf ("o", -10) = -1
+s.lastIndexOf ("o", -9) = -1
+s.lastIndexOf ("o", -8) = -1
+s.lastIndexOf ("o", -7) = -1
+s.lastIndexOf ("o", -6) = -1
+s.lastIndexOf ("o", -5) = -1
+s.lastIndexOf ("o", -4) = -1
+s.lastIndexOf ("o", -3) = -1
+s.lastIndexOf ("o", -2) = -1
+s.lastIndexOf ("o", -1) = -1
+s.lastIndexOf ("o", 0) = -1
+s.lastIndexOf ("o", 1) = -1
+s.lastIndexOf ("o", 2) = -1
+s.lastIndexOf ("o", 3) = -1
+s.lastIndexOf ("o", 4) = 4
+s.lastIndexOf ("o", 5) = 4
+s.lastIndexOf ("o", 6) = 4
+s.lastIndexOf ("o", 7) = 7
+s.lastIndexOf ("o", 8) = 7
+s.lastIndexOf ("o", 9) = 7
+s.lastIndexOf ("o", 10) = 7
+s.lastIndexOf ("o", 11) = 7
+s.lastIndexOf ("o", 12) = 7
+s.lastIndexOf ("o", 13) = 7
+s.lastIndexOf ("o", 14) = 7
+s.lastIndexOf ("r") = 8
+s.lastIndexOf ("r", -15) = -1
+s.lastIndexOf ("r", -14) = -1
+s.lastIndexOf ("r", -13) = -1
+s.lastIndexOf ("r", -12) = -1
+s.lastIndexOf ("r", -11) = -1
+s.lastIndexOf ("r", -10) = -1
+s.lastIndexOf ("r", -9) = -1
+s.lastIndexOf ("r", -8) = -1
+s.lastIndexOf ("r", -7) = -1
+s.lastIndexOf ("r", -6) = -1
+s.lastIndexOf ("r", -5) = -1
+s.lastIndexOf ("r", -4) = -1
+s.lastIndexOf ("r", -3) = -1
+s.lastIndexOf ("r", -2) = -1
+s.lastIndexOf ("r", -1) = -1
+s.lastIndexOf ("r", 0) = -1
+s.lastIndexOf ("r", 1) = -1
+s.lastIndexOf ("r", 2) = -1
+s.lastIndexOf ("r", 3) = -1
+s.lastIndexOf ("r", 4) = -1
+s.lastIndexOf ("r", 5) = -1
+s.lastIndexOf ("r", 6) = -1
+s.lastIndexOf ("r", 7) = -1
+s.lastIndexOf ("r", 8) = 8
+s.lastIndexOf ("r", 9) = 8
+s.lastIndexOf ("r", 10) = 8
+s.lastIndexOf ("r", 11) = 8
+s.lastIndexOf ("r", 12) = 8
+s.lastIndexOf ("r", 13) = 8
+s.lastIndexOf ("r", 14) = 8
+s.lastIndexOf ("l") = 9
+s.lastIndexOf ("l", -15) = -1
+s.lastIndexOf ("l", -14) = -1
+s.lastIndexOf ("l", -13) = -1
+s.lastIndexOf ("l", -12) = -1
+s.lastIndexOf ("l", -11) = -1
+s.lastIndexOf ("l", -10) = -1
+s.lastIndexOf ("l", -9) = -1
+s.lastIndexOf ("l", -8) = -1
+s.lastIndexOf ("l", -7) = -1
+s.lastIndexOf ("l", -6) = -1
+s.lastIndexOf ("l", -5) = -1
+s.lastIndexOf ("l", -4) = -1
+s.lastIndexOf ("l", -3) = -1
+s.lastIndexOf ("l", -2) = -1
+s.lastIndexOf ("l", -1) = -1
+s.lastIndexOf ("l", 0) = -1
+s.lastIndexOf ("l", 1) = -1
+s.lastIndexOf ("l", 2) = 2
+s.lastIndexOf ("l", 3) = 3
+s.lastIndexOf ("l", 4) = 3
+s.lastIndexOf ("l", 5) = 3
+s.lastIndexOf ("l", 6) = 3
+s.lastIndexOf ("l", 7) = 3
+s.lastIndexOf ("l", 8) = 3
+s.lastIndexOf ("l", 9) = 9
+s.lastIndexOf ("l", 10) = 9
+s.lastIndexOf ("l", 11) = 9
+s.lastIndexOf ("l", 12) = 9
+s.lastIndexOf ("l", 13) = 9
+s.lastIndexOf ("l", 14) = 9
+s.lastIndexOf ("d") = 10
+s.lastIndexOf ("d", -15) = -1
+s.lastIndexOf ("d", -14) = -1
+s.lastIndexOf ("d", -13) = -1
+s.lastIndexOf ("d", -12) = -1
+s.lastIndexOf ("d", -11) = -1
+s.lastIndexOf ("d", -10) = -1
+s.lastIndexOf ("d", -9) = -1
+s.lastIndexOf ("d", -8) = -1
+s.lastIndexOf ("d", -7) = -1
+s.lastIndexOf ("d", -6) = -1
+s.lastIndexOf ("d", -5) = -1
+s.lastIndexOf ("d", -4) = -1
+s.lastIndexOf ("d", -3) = -1
+s.lastIndexOf ("d", -2) = -1
+s.lastIndexOf ("d", -1) = -1
+s.lastIndexOf ("d", 0) = -1
+s.lastIndexOf ("d", 1) = -1
+s.lastIndexOf ("d", 2) = -1
+s.lastIndexOf ("d", 3) = -1
+s.lastIndexOf ("d", 4) = -1
+s.lastIndexOf ("d", 5) = -1
+s.lastIndexOf ("d", 6) = -1
+s.lastIndexOf ("d", 7) = -1
+s.lastIndexOf ("d", 8) = -1
+s.lastIndexOf ("d", 9) = -1
+s.lastIndexOf ("d", 10) = 10
+s.lastIndexOf ("d", 11) = 10
+s.lastIndexOf ("d", 12) = 10
+s.lastIndexOf ("d", 13) = 10
+s.lastIndexOf ("d", 14) = 10
diff --git a/test/trace/string-lastIndexOf.as b/test/trace/string-lastIndexOf.as
new file mode 100644
index 0000000..f0706bf
--- /dev/null
+++ b/test/trace/string-lastIndexOf.as
@@ -0,0 +1,13 @@
+// makeswf -v 7 -s 200x150 -r 1 -o string-lastIndexOf.swf string-lastIndexOf.as
+
+trace ("test String.lastIndexOf");
+s = "Hello World";
+
+for (j = 0; j < 11; j++) {
+ trace ("s.lastIndexOf (\""+ s.substr (j, 1) + "\") = " + s.lastIndexOf (s.substr (j, 1)));
+ for (i = -15; i < 15; i++) {
+ trace ("s.lastIndexOf (\""+ s.substr (j, 1) + "\", " + i + ") = " + s.lastIndexOf (s.substr (j, 1), i));
+ }
+};
+
+loadMovie ("FSCommand:quit", "");
diff-tree ef88186bc8874a97c155d0b2cbabe772021f8d6e (from 31e0d8728000101a68e587b3f029e1ac42d3e151)
Author: Benjamin Otte <otte at gnome.org>
Date: Thu Aug 23 19:22:26 2007 +0200
implement String.lastIndexOf
diff --git a/libswfdec/swfdec_as_string.c b/libswfdec/swfdec_as_string.c
index 5ad6425..5cb4d18 100644
--- a/libswfdec/swfdec_as_string.c
+++ b/libswfdec/swfdec_as_string.c
@@ -77,6 +77,33 @@ swfdec_as_str_nth_char (const char *s, g
}
static void
+swfdec_as_string_lastIndexOf (SwfdecAsContext *cx, SwfdecAsObject *object,
+ guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
+{
+ SwfdecAsString *string = SWFDEC_AS_STRING (object);
+ gsize len;
+ const char *s;
+
+ s = swfdec_as_value_to_string (object->context, &argv[0]);
+ if (argc == 2) {
+ int offset = swfdec_as_value_to_integer (object->context, &argv[1]);
+ if (offset < 0) {
+ SWFDEC_AS_VALUE_SET_INT (ret, -1);
+ return;
+ }
+ len = g_utf8_offset_to_pointer (string->string, offset + 1) - string->string;
+ } else {
+ len = G_MAXSIZE;
+ }
+ s = g_strrstr_len (string->string, len, s);
+ if (s) {
+ SWFDEC_AS_VALUE_SET_INT (ret, g_utf8_pointer_to_offset (string->string, s));
+ } else {
+ SWFDEC_AS_VALUE_SET_INT (ret, -1);
+ }
+}
+
+static void
swfdec_as_string_indexOf (SwfdecAsContext *cx, SwfdecAsObject *object,
guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret)
{
@@ -262,7 +289,6 @@ charAt(index:Number) : String
charCodeAt(index:Number) : Number
concat(value:Object) : String
indexOf(value:String, [startIndex:Number]) : Number
-lastIndexOf(value:String, [startIndex:Number]) : Number
slice(start:Number, end:Number) : String
split(delimiter:String, [limit:Number]) : Array
#endif
@@ -724,6 +750,7 @@ swfdec_as_string_init_context (SwfdecAsC
&val, SWFDEC_AS_VARIABLE_HIDDEN | SWFDEC_AS_VARIABLE_PERMANENT);
swfdec_as_object_add_function (proto, SWFDEC_AS_STR_charAt, SWFDEC_TYPE_AS_STRING, swfdec_as_string_charAt, 1);
swfdec_as_object_add_function (proto, SWFDEC_AS_STR_indexOf, SWFDEC_TYPE_AS_STRING, swfdec_as_string_indexOf, 1);
+ swfdec_as_object_add_function (proto, SWFDEC_AS_STR_lastIndexOf, SWFDEC_TYPE_AS_STRING, swfdec_as_string_lastIndexOf, 1);
swfdec_as_object_add_function (proto, SWFDEC_AS_STR_charCodeAt, SWFDEC_TYPE_AS_STRING, swfdec_as_string_charCodeAt, 1);
swfdec_as_object_add_function (proto, SWFDEC_AS_STR_substr, SWFDEC_TYPE_AS_STRING, swfdec_as_string_substr, 1);
swfdec_as_object_add_function (proto, SWFDEC_AS_STR_substring, SWFDEC_TYPE_AS_STRING, swfdec_as_string_substring, 1);
diff --git a/libswfdec/swfdec_as_strings.c b/libswfdec/swfdec_as_strings.c
index ce5a4de..04b0790 100644
--- a/libswfdec/swfdec_as_strings.c
+++ b/libswfdec/swfdec_as_strings.c
@@ -253,6 +253,7 @@ const char swfdec_as_strings[] =
SWFDEC_AS_CONSTANT_STRING ("_bytesLoaded")
SWFDEC_AS_CONSTANT_STRING ("_bytesTotal")
SWFDEC_AS_CONSTANT_STRING ("loaded")
+ SWFDEC_AS_CONSTANT_STRING ("lastIndexOf")
/* add more here */
;
diff-tree 31e0d8728000101a68e587b3f029e1ac42d3e151 (from 38e1f2d4419d640f59ff8301b3964c9a6553ff56)
Author: Benjamin Otte <otte at gnome.org>
Date: Thu Aug 23 16:39:20 2007 +0200
add -undeclared.txt file, too
diff --git a/doc/.gitignore b/doc/.gitignore
index 03ea280..6458a86 100644
--- a/doc/.gitignore
+++ b/doc/.gitignore
@@ -15,6 +15,7 @@ swfdec-decl-list.txt
swfdec-decl-list.txt.bak
swfdec-decl.txt
swfdec-decl.txt.bak
+swfdec-undeclared.txt
swfdec-undocumented.txt
swfdec-unused.txt
swfdec.args
diff-tree 38e1f2d4419d640f59ff8301b3964c9a6553ff56 (from parents)
Merge: 4b43fc980d4c5e259164a74caa6f448a10f6dde6 e88bcd3f69ead176574bab53af1872da1cdd99ea
Author: Benjamin Otte <otte at gnome.org>
Date: Thu Aug 23 16:24:48 2007 +0200
Merge branch 'master' of ssh://company@git.freedesktop.org/git/swfdec/swfdec
diff-tree 4b43fc980d4c5e259164a74caa6f448a10f6dde6 (from 4c78791e242c5cc28d1178575f615f411b5e4288)
Author: Benjamin Otte <otte at gnome.org>
Date: Thu Aug 23 16:24:14 2007 +0200
document
diff --git a/libswfdec-gtk/swfdec_gtk_keys.c b/libswfdec-gtk/swfdec_gtk_keys.c
index b192e64..69e0a6e 100644
--- a/libswfdec-gtk/swfdec_gtk_keys.c
+++ b/libswfdec-gtk/swfdec_gtk_keys.c
@@ -58,6 +58,16 @@ SWFDEC_KEY_META_R 116
SWFDEC_KEY_MENU 117
*/
+/**
+ * swfdec_gtk_keycode_from_hardware_keycode:
+ * @hardware_keycode: a hardware keycode sent from the X server
+ *
+ * Tries to transform an X hardware keycode to the corresponding #SwfdecKey.
+ * This is a utility function for cases where key events need to be transformed
+ * manually.
+ *
+ * Returns: the corresponding key code as used in Flash.
+ **/
guint
swfdec_gtk_keycode_from_hardware_keycode (guint hardware_keycode)
{
diff-tree 4c78791e242c5cc28d1178575f615f411b5e4288 (from 667ea6dda5f05ae4a7c1a758c9006d4b5fccd358)
Author: Benjamin Otte <otte at gnome.org>
Date: Thu Aug 23 16:17:21 2007 +0200
document the SwfdecScript object
diff --git a/libswfdec/swfdec_script.c b/libswfdec/swfdec_script.c
index 90f3e2a..0465d9d 100644
--- a/libswfdec/swfdec_script.c
+++ b/libswfdec/swfdec_script.c
@@ -27,6 +27,14 @@
#include "swfdec_as_interpret.h"
#include "swfdec_debug.h"
+/**
+ * SwfdecScript:
+ *
+ * This is the object used for code to be executed by Swfdec. Scripts are
+ * independant from the #SwfdecAsContext they are executed in, so you can
+ * execute the same script in multiple contexts.
+ */
+
/* Define this to get SWFDEC_WARN'd about missing properties of objects.
* This can be useful to find out about unimplemented native properties,
* but usually just causes a lot of spam. */
diff-tree 667ea6dda5f05ae4a7c1a758c9006d4b5fccd358 (from 3be8531c56861fd5f813a4ebd38a436029b937e2)
Author: Benjamin Otte <otte at gnome.org>
Date: Thu Aug 23 16:17:05 2007 +0200
add SwfdecKey docs
diff --git a/libswfdec/swfdec_player.c b/libswfdec/swfdec_player.c
index 98a1086..6164de5 100644
--- a/libswfdec/swfdec_player.c
+++ b/libswfdec/swfdec_player.c
@@ -128,6 +128,12 @@
* movie's size.
*/
+/**
+ * SwfdecKey:
+ *
+ * Lists all known key codes in Swfdec.
+ */
+
/*** Timeouts ***/
static SwfdecTick
diff-tree 3be8531c56861fd5f813a4ebd38a436029b937e2 (from a9fd2dfe41f7e7b7fc801e9f41ffb088eae98f1b)
Author: Benjamin Otte <otte at gnome.org>
Date: Thu Aug 23 16:16:54 2007 +0200
fix documentation
diff --git a/libswfdec/swfdec_as_debugger.c b/libswfdec/swfdec_as_debugger.c
index e0c89f8..d9f34f3 100644
--- a/libswfdec/swfdec_as_debugger.c
+++ b/libswfdec/swfdec_as_debugger.c
@@ -47,7 +47,7 @@ G_DEFINE_TYPE (SwfdecAsDebugger, swfdec_
*/
/**
- * SwfdecAsDebuggerClass
+ * SwfdecAsDebuggerClass:
* @add: Called whenever an object is added to the garbage collection engine
* using swfdec_as_object_add ()
* @remove: Called whenever an object is about to be collected by the garbage
@@ -55,9 +55,9 @@ G_DEFINE_TYPE (SwfdecAsDebugger, swfdec_
* @step: This function is called everytime just before a bytecode is executed
* by the script engine. So it's very powerful, but can also slow down
* the script engine a lot.
- * @start_frame: Called after a new #SwfdecAsFrame has been initialized and
+ * @enter_frame: Called after a new #SwfdecAsFrame has been initialized and
* pushed to the top of the execution stack.
- * @finish_frame: Called just after a #SwfdecAsFrame has been removed from the
+ * @leave_frame: Called just after a #SwfdecAsFrame has been removed from the
* execution stack. The return value has not been forwarded to
* the parent when this function is called.
* @set_variable: Called whenever swfdec_as_object_set_variable() is called,
diff --git a/libswfdec/swfdec_as_debugger.h b/libswfdec/swfdec_as_debugger.h
index ed1bf52..2e2c0e7 100644
--- a/libswfdec/swfdec_as_debugger.h
+++ b/libswfdec/swfdec_as_debugger.h
@@ -41,8 +41,10 @@ struct _SwfdecAsDebugger {
};
struct _SwfdecAsDebuggerClass {
+ /*< private >*/
GObjectClass object_class;
+ /*< public >*/
/* a new object was added to the GC */
void (* add) (SwfdecAsDebugger * debugger,
SwfdecAsContext * context,
diff-tree a9fd2dfe41f7e7b7fc801e9f41ffb088eae98f1b (from f1b1b8fd416ed0bc2319d66aa12a08053adb4966)
Author: Benjamin Otte <otte at gnome.org>
Date: Thu Aug 23 16:16:32 2007 +0200
name the debugger section debugger, not frame and actually include it
diff --git a/doc/swfdec-docs.sgml b/doc/swfdec-docs.sgml
index 0f4c82a..a8ae8dd 100644
--- a/doc/swfdec-docs.sgml
+++ b/doc/swfdec-docs.sgml
@@ -30,5 +30,6 @@
<xi:include href="xml/SwfdecAsArray.xml"/>
<xi:include href="xml/SwfdecAsFunction.xml"/>
<xi:include href="xml/SwfdecAsFrame.xml"/>
+ <xi:include href="xml/SwfdecAsDebugger.xml"/>
</chapter>
</book>
diff --git a/doc/swfdec-sections.txt b/doc/swfdec-sections.txt
index 5f29752..6ad2114 100644
--- a/doc/swfdec-sections.txt
+++ b/doc/swfdec-sections.txt
@@ -398,8 +398,8 @@ SWFDEC_TYPE_AS_FRAME
</SECTION>
<SECTION>
-<FILE>SwfdecAsFrame</FILE>
-<TITLE>SwfdecAsFrame</TITLE>
+<FILE>SwfdecAsDebugger</FILE>
+<TITLE>SwfdecAsDebugger</TITLE>
SwfdecAsDebugger
SwfdecAsDebuggerClass
SwfdecScript
diff-tree f1b1b8fd416ed0bc2319d66aa12a08053adb4966 (from 6cb045af97e7aabf099301ad99e13be3766391c9)
Author: Benjamin Otte <otte at gnome.org>
Date: Thu Aug 23 15:50:06 2007 +0200
change function names everywhere
Also add docs for the debugger vfuncs
diff --git a/libswfdec/swfdec_as_debugger.c b/libswfdec/swfdec_as_debugger.c
index eb03b5b..e0c89f8 100644
--- a/libswfdec/swfdec_as_debugger.c
+++ b/libswfdec/swfdec_as_debugger.c
@@ -52,12 +52,19 @@ G_DEFINE_TYPE (SwfdecAsDebugger, swfdec_
* using swfdec_as_object_add ()
* @remove: Called whenever an object is about to be collected by the garbage
* collector.
- * @step: This function is called everytime just before a bytecode is executed by
- * the script engine. So it's very powerful, but can also slow down the
- * script engine a lot.
- * @start_frame:
- * @finish_frame:
- * @set_variable:
+ * @step: This function is called everytime just before a bytecode is executed
+ * by the script engine. So it's very powerful, but can also slow down
+ * the script engine a lot.
+ * @start_frame: Called after a new #SwfdecAsFrame has been initialized and
+ * pushed to the top of the execution stack.
+ * @finish_frame: Called just after a #SwfdecAsFrame has been removed from the
+ * execution stack. The return value has not been forwarded to
+ * the parent when this function is called.
+ * @set_variable: Called whenever swfdec_as_object_set_variable() is called,
+ * before actually setting the variable. This function is also
+ * called when variables are set by internal code, not just when
+ * interpreting scripts. It also doesn't matter if setting the
+ * variable will succeed.
*
* The class object for the debugger. You need to override these functions to
* get useful functionality for the debugger.
diff --git a/libswfdec/swfdec_as_frame.c b/libswfdec/swfdec_as_frame.c
index b7cb037..52745bd 100644
--- a/libswfdec/swfdec_as_frame.c
+++ b/libswfdec/swfdec_as_frame.c
@@ -430,8 +430,8 @@ swfdec_as_frame_return (SwfdecAsFrame *f
if (context->debugger) {
SwfdecAsDebuggerClass *klass = SWFDEC_AS_DEBUGGER_GET_CLASS (context->debugger);
- if (klass->finish_frame)
- klass->finish_frame (context->debugger, context, frame, &retval);
+ if (klass->leave_frame)
+ klass->leave_frame (context->debugger, context, frame, &retval);
}
/* set return value */
if (frame->return_value) {
@@ -704,8 +704,8 @@ out:
if (context->debugger) {
SwfdecAsDebuggerClass *klass = SWFDEC_AS_DEBUGGER_GET_CLASS (context->debugger);
- if (klass->start_frame)
- klass->start_frame (context->debugger, context, frame);
+ if (klass->enter_frame)
+ klass->enter_frame (context->debugger, context, frame);
}
}
diff-tree 6cb045af97e7aabf099301ad99e13be3766391c9 (from c1f8859c2a1924a2c7b35b573ee7ddb5d9dcf12e)
Author: Benjamin Otte <otte at gnome.org>
Date: Thu Aug 23 15:42:53 2007 +0200
rename "start/finish frame" to "enter/leave frame"
diff --git a/libswfdec/swfdec_as_debugger.c b/libswfdec/swfdec_as_debugger.c
index ac0c6a4..eb03b5b 100644
--- a/libswfdec/swfdec_as_debugger.c
+++ b/libswfdec/swfdec_as_debugger.c
@@ -48,13 +48,16 @@ G_DEFINE_TYPE (SwfdecAsDebugger, swfdec_
/**
* SwfdecAsDebuggerClass
+ * @add: Called whenever an object is added to the garbage collection engine
+ * using swfdec_as_object_add ()
+ * @remove: Called whenever an object is about to be collected by the garbage
+ * collector.
* @step: This function is called everytime just before a bytecode is executed by
* the script engine. So it's very powerful, but can also slow down the
* script engine a lot.
- * @frame_change: Called whenever the current frame changes. This happens either
- * when calling a function or when a function call returns. The
- * function call is called for any type of frame, even calls to
- * native functions.
+ * @start_frame:
+ * @finish_frame:
+ * @set_variable:
*
* The class object for the debugger. You need to override these functions to
* get useful functionality for the debugger.
diff --git a/libswfdec/swfdec_as_debugger.h b/libswfdec/swfdec_as_debugger.h
index 61aaae6..ed1bf52 100644
--- a/libswfdec/swfdec_as_debugger.h
+++ b/libswfdec/swfdec_as_debugger.h
@@ -55,11 +55,11 @@ struct _SwfdecAsDebuggerClass {
void (* step) (SwfdecAsDebugger * debugger,
SwfdecAsContext * context);
/* called after adding a frame from the function stack */
- void (* start_frame) (SwfdecAsDebugger * debugger,
+ void (* enter_frame) (SwfdecAsDebugger * debugger,
SwfdecAsContext * context,
SwfdecAsFrame * frame);
/* called after removing a frame from the function stack */
- void (* finish_frame)(SwfdecAsDebugger * debugger,
+ void (* leave_frame) (SwfdecAsDebugger * debugger,
SwfdecAsContext * context,
SwfdecAsFrame * frame,
const SwfdecAsValue * return_value);
diff --git a/vivified/core/vivi_breakpoint.c b/vivified/core/vivi_breakpoint.c
index 11ae4bf..423bf7f 100644
--- a/vivified/core/vivi_breakpoint.c
+++ b/vivified/core/vivi_breakpoint.c
@@ -39,19 +39,19 @@ vivi_breakpoint_step (ViviDebugger *debu
}
static gboolean
-vivi_breakpoint_start_frame (ViviDebugger *debugger, SwfdecAsFrame *frame, ViviBreakpoint *breakpoint)
+vivi_breakpoint_enter_frame (ViviDebugger *debugger, SwfdecAsFrame *frame, ViviBreakpoint *breakpoint)
{
SwfdecAsObject *obj = SWFDEC_AS_OBJECT (breakpoint);
SwfdecAsValue val;
SwfdecAsValue retval;
SWFDEC_AS_VALUE_SET_OBJECT (&val, vivi_wrap_object (VIVI_APPLICATION (obj->context), SWFDEC_AS_OBJECT (frame)));
- swfdec_as_object_call (obj, swfdec_as_context_get_string (obj->context, "onStartFrame"), 1, &val, &retval);
+ swfdec_as_object_call (obj, swfdec_as_context_get_string (obj->context, "onEnterFrame"), 1, &val, &retval);
return swfdec_as_value_to_boolean (obj->context, &retval);
}
static gboolean
-vivi_breakpoint_finish_frame (ViviDebugger *debugger, SwfdecAsFrame *frame, const SwfdecAsValue *ret, ViviBreakpoint *breakpoint)
+vivi_breakpoint_leave_frame (ViviDebugger *debugger, SwfdecAsFrame *frame, const SwfdecAsValue *ret, ViviBreakpoint *breakpoint)
{
SwfdecAsObject *obj = SWFDEC_AS_OBJECT (breakpoint);
SwfdecAsValue vals[2];
@@ -59,7 +59,7 @@ vivi_breakpoint_finish_frame (ViviDebugg
SWFDEC_AS_VALUE_SET_OBJECT (&vals[0], vivi_wrap_object (VIVI_APPLICATION (obj->context), SWFDEC_AS_OBJECT (frame)));
vivi_wrap_value (VIVI_APPLICATION (obj->context), &vals[1], ret);
- swfdec_as_object_call (obj, swfdec_as_context_get_string (obj->context, "onStartFrame"), 2, vals, &retval);
+ swfdec_as_object_call (obj, swfdec_as_context_get_string (obj->context, "onLeaveFrame"), 2, vals, &retval);
return swfdec_as_value_to_boolean (obj->context, &retval);
}
@@ -85,8 +85,8 @@ static const struct {
} events[] = {
{ NULL, NULL, NULL }, /* invalid */
{ "onCommand", "step", G_CALLBACK (vivi_breakpoint_step) },
- { "onStartFrame", "start-frame", G_CALLBACK (vivi_breakpoint_start_frame) },
- { "onExitFrame", "finish-frame", G_CALLBACK (vivi_breakpoint_finish_frame) },
+ { "onEnterFrame", "enter-frame", G_CALLBACK (vivi_breakpoint_enter_frame) },
+ { "onLeaveFrame", "leave-frame", G_CALLBACK (vivi_breakpoint_leave_frame) },
{ "onSetVariable", "set-variable", G_CALLBACK (vivi_breakpoint_set_variable) }
};
diff --git a/vivified/core/vivi_debugger.c b/vivified/core/vivi_debugger.c
index 68a7b89..b65392f 100644
--- a/vivified/core/vivi_debugger.c
+++ b/vivified/core/vivi_debugger.c
@@ -31,8 +31,8 @@ enum {
ADD,
REMOVE,
STEP,
- START_FRAME,
- FINISH_FRAME,
+ ENTER_FRAME,
+ LEAVE_FRAME,
SET_VARIABLE,
LAST_SIGNAL
};
@@ -133,23 +133,23 @@ vivi_debugger_step (SwfdecAsDebugger *de
}
static void
-vivi_debugger_start_frame (SwfdecAsDebugger *debugger, SwfdecAsContext *context, SwfdecAsFrame *frame)
+vivi_debugger_enter_frame (SwfdecAsDebugger *debugger, SwfdecAsContext *context, SwfdecAsFrame *frame)
{
gboolean retval = FALSE;
- g_signal_emit (debugger, signals[START_FRAME], 0, frame, &retval);
+ g_signal_emit (debugger, signals[ENTER_FRAME], 0, frame, &retval);
if (retval)
vivi_debugger_break (VIVI_DEBUGGER (debugger));
}
static void
-vivi_debugger_finish_frame (SwfdecAsDebugger *debugger, SwfdecAsContext *context,
+vivi_debugger_leave_frame (SwfdecAsDebugger *debugger, SwfdecAsContext *context,
SwfdecAsFrame *frame, const SwfdecAsValue *ret)
{
gboolean retval = FALSE;
- g_signal_emit (debugger, signals[FINISH_FRAME], 0, frame, ret, &retval);
+ g_signal_emit (debugger, signals[LEAVE_FRAME], 0, frame, ret, &retval);
if (retval)
vivi_debugger_break (VIVI_DEBUGGER (debugger));
@@ -184,10 +184,10 @@ vivi_debugger_class_init (ViviDebuggerCl
signals[STEP] = g_signal_new ("step", G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST, 0, vivi_accumulate_or, NULL, vivi_marshal_BOOLEAN__VOID,
G_TYPE_BOOLEAN, 0);
- signals[START_FRAME] = g_signal_new ("start-frame", G_TYPE_FROM_CLASS (klass),
+ signals[ENTER_FRAME] = g_signal_new ("enter-frame", G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST, 0, vivi_accumulate_or, NULL, vivi_marshal_BOOLEAN__OBJECT,
G_TYPE_BOOLEAN, 1, SWFDEC_TYPE_AS_FRAME);
- signals[FINISH_FRAME] = g_signal_new ("finish-frame", G_TYPE_FROM_CLASS (klass),
+ signals[LEAVE_FRAME] = g_signal_new ("leave-frame", G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST, 0, vivi_accumulate_or, NULL, vivi_marshal_BOOLEAN__OBJECT_POINTER,
G_TYPE_BOOLEAN, 2, SWFDEC_TYPE_AS_FRAME, G_TYPE_POINTER);
signals[SET_VARIABLE] = g_signal_new ("set-variable", G_TYPE_FROM_CLASS (klass),
@@ -197,8 +197,8 @@ vivi_debugger_class_init (ViviDebuggerCl
debugger_class->add = vivi_debugger_add;
debugger_class->remove = vivi_debugger_remove;
debugger_class->step = vivi_debugger_step;
- debugger_class->start_frame = vivi_debugger_start_frame;
- debugger_class->finish_frame = vivi_debugger_finish_frame;
+ debugger_class->enter_frame = vivi_debugger_enter_frame;
+ debugger_class->leave_frame = vivi_debugger_leave_frame;
debugger_class->set_variable = vivi_debugger_set_variable;
}
diff --git a/vivified/core/vivi_initialize.as b/vivified/core/vivi_initialize.as
index 8245fb1..a6537bf 100644
--- a/vivified/core/vivi_initialize.as
+++ b/vivified/core/vivi_initialize.as
@@ -76,7 +76,7 @@ Commands.add = function (name) {
return undefined;
}
var ret = new Breakpoint ();
- ret.onStartFrame = function (frame) {
+ ret.onEnterFrame = function (frame) {
if (frame.name != name)
return false;
diff-tree c1f8859c2a1924a2c7b35b573ee7ddb5d9dcf12e (from ce43b8df731dc8a0be767f5ff04d932003fa0d6f)
Author: Benjamin Otte <otte at gnome.org>
Date: Thu Aug 23 14:25:56 2007 +0200
that function is gone now
diff --git a/doc/swfdec-sections.txt b/doc/swfdec-sections.txt
index b6270bd..5f29752 100644
--- a/doc/swfdec-sections.txt
+++ b/doc/swfdec-sections.txt
@@ -349,7 +349,6 @@ SWFDEC_TYPE_AS_ARRAY
SwfdecAsFunction
SwfdecAsNative
SwfdecAsNativeFunction
-swfdec_as_function_create
swfdec_as_function_call
swfdec_as_native_function_new
swfdec_as_native_function_set_construct_type
diff-tree ce43b8df731dc8a0be767f5ff04d932003fa0d6f (from 0a375ca269392d9c4d0516bdaaef260871f6dca6)
Author: Benjamin Otte <otte at gnome.org>
Date: Thu Aug 23 14:25:41 2007 +0200
doc fixes
diff --git a/libswfdec/swfdec_as_object.c b/libswfdec/swfdec_as_object.c
index 452015e..3fa05a0 100644
--- a/libswfdec/swfdec_as_object.c
+++ b/libswfdec/swfdec_as_object.c
@@ -563,7 +563,7 @@ swfdec_as_object_collect (SwfdecAsObject
* swfdec_as_object_set_variable_and_flags()
**/
/**
- * swfdec_as_object_set_variable:
+ * swfdec_as_object_set_variable_and_flags:
* @object: a #SwfdecAsObject
* @variable: garbage-collected name of the variable to set
* @value: value to set the variable to
@@ -790,7 +790,7 @@ swfdec_as_object_add_function (SwfdecAsO
}
/**
- * swfdec_as_object_add_function:
+ * swfdec_as_object_add_constructor:
* @object: a #SwfdecAsObject
* @name: name of the function. The string does not have to be
* garbage-collected.
diff-tree 0a375ca269392d9c4d0516bdaaef260871f6dca6 (from 73db1b2434693bb90e61ed2655f3d6a4e07fdeac)
Author: Benjamin Otte <otte at gnome.org>
Date: Thu Aug 23 13:42:07 2007 +0200
get rid of unused symbols
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 73c9cee..8f36b20 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -99,6 +99,7 @@ IGNORE_HFILES= \
swfdec_interval.h \
swfdec_js.h \
swfdec_listener.h \
+ swfdec_load_object.h \
swfdec_loader_internal.h \
swfdec_loadertarget.h \
swfdec_marshal.h \
@@ -114,6 +115,7 @@ IGNORE_HFILES= \
swfdec_root_movie.h \
swfdec_root_sprite.h \
swfdec_script.h \
+ swfdec_script_internal.h \
swfdec_scriptable.h \
swfdec_shape.h \
swfdec_sound.h \
diff --git a/doc/swfdec-sections.txt b/doc/swfdec-sections.txt
index 019380c..b6270bd 100644
--- a/doc/swfdec-sections.txt
+++ b/doc/swfdec-sections.txt
@@ -140,6 +140,7 @@ swfdec_buffer_queue_get_type
<FILE>Enumerations</FILE>
<TITLE>Enumerations</TITLE>
SwfdecAsContextState
+SwfdecAsDeleteReturn
SwfdecLoaderDataType
SwfdecLoaderRequest
swfdec_loader_data_type_get_extension
@@ -186,6 +187,7 @@ swfdec_gtk_widget_get_renderer
swfdec_gtk_widget_uses_renderer
swfdec_gtk_widget_set_renderer
swfdec_gtk_widget_unset_renderer
+swfdec_gtk_keycode_from_hardware_keycode
<SUBSECTION Standard>
swfdec_gtk_widget_get_type
SwfdecGtkWidgetClass
@@ -298,6 +300,7 @@ SwfdecAsVariableFlag
swfdec_as_object_get_variable
swfdec_as_object_get_variable_and_flags
swfdec_as_object_set_variable
+swfdec_as_object_set_variable_and_flags
swfdec_as_object_add_variable
swfdec_as_object_set_variable_flags
swfdec_as_object_unset_variable_flags
@@ -305,8 +308,10 @@ swfdec_as_object_delete_variable
SwfdecAsVariableForeach
swfdec_as_object_foreach
swfdec_as_object_has_function
+swfdec_as_object_run
swfdec_as_object_call
swfdec_as_object_add_function
+swfdec_as_object_add_constructor
swfdec_as_object_get_debug
swfdec_as_object_resolve
<SUBSECTION Standard>
@@ -392,3 +397,19 @@ SWFDEC_IS_AS_FRAME
SWFDEC_IS_AS_FRAME_CLASS
SWFDEC_TYPE_AS_FRAME
</SECTION>
+
+<SECTION>
+<FILE>SwfdecAsFrame</FILE>
+<TITLE>SwfdecAsFrame</TITLE>
+SwfdecAsDebugger
+SwfdecAsDebuggerClass
+SwfdecScript
+<SUBSECTION Standard>
+swfdec_as_debugger_get_type
+SWFDEC_AS_DEBUGGER
+SWFDEC_AS_DEBUGGER_CLASS
+SWFDEC_AS_DEBUGGER_GET_CLASS
+SWFDEC_IS_AS_DEBUGGER
+SWFDEC_IS_AS_DEBUGGER_CLASS
+SWFDEC_TYPE_AS_DEBUGGER
+</SECTION>
diff-tree 73db1b2434693bb90e61ed2655f3d6a4e07fdeac (from 7046db0047d85395dce2ececee97f82ebc4181f2)
Author: Benjamin Otte <otte at gnome.org>
Date: Thu Aug 23 13:31:32 2007 +0200
swfdec_xml_as.[ch] => swfdec_xml.[ch]
_as files are supposed to contain native script functions exclusively
diff --git a/libswfdec/Makefile.am b/libswfdec/Makefile.am
index e919822..0555968 100644
--- a/libswfdec/Makefile.am
+++ b/libswfdec/Makefile.am
@@ -110,7 +110,7 @@ libswfdec_ at SWFDEC_MAJORMINOR@_la_SOURCES
swfdec_video.c \
swfdec_video_movie.c \
swfdec_video_movie_as.c \
- swfdec_xml_as.c
+ swfdec_xml.c
libswfdec_ at SWFDEC_MAJORMINOR@_la_CFLAGS = \
$(GLOBAL_CFLAGS) $(CAIRO_CFLAGS) $(GLIB_CFLAGS) $(PANGO_CFLAGS) \
@@ -217,7 +217,7 @@ noinst_HEADERS = \
swfdec_utils.h \
swfdec_video.h \
swfdec_video_movie.h \
- swfdec_xml_as.h
+ swfdec_xml.h
EXTRA_DIST = \
compiler.c \
diff --git a/libswfdec/swfdec_xml.c b/libswfdec/swfdec_xml.c
new file mode 100644
index 0000000..1b1b657
--- /dev/null
+++ b/libswfdec/swfdec_xml.c
@@ -0,0 +1,67 @@
+/* Swfdec
+ * Copyright (C) 2007 Benjamin Otte <otte at gnome.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "swfdec_xml.h"
+#include "swfdec_as_native_function.h"
+#include "swfdec_as_object.h"
+#include "swfdec_as_strings.h"
+#include "swfdec_debug.h"
+#include "swfdec_internal.h"
+#include "swfdec_player_internal.h"
+
+G_DEFINE_TYPE (SwfdecXml, swfdec_xml, SWFDEC_TYPE_AS_OBJECT)
+
+static void
+swfdec_xml_class_init (SwfdecXmlClass *klass)
+{
+}
+
+static void
+swfdec_xml_init (SwfdecXml *xml)
+{
+}
+
+void
+swfdec_xml_init_context (SwfdecPlayer *player, guint version)
+{
+ SwfdecAsContext *context;
+ SwfdecAsObject *xml, *proto;
+ SwfdecAsValue val;
+
+ g_return_if_fail (SWFDEC_IS_PLAYER (player));
+
+ context = SWFDEC_AS_CONTEXT (player);
+ proto = swfdec_as_object_new_empty (context);
+ if (proto == NULL)
+ return;
+ xml = SWFDEC_AS_OBJECT (swfdec_as_object_add_constructor (context->global,
+ SWFDEC_AS_STR_XML, 0, SWFDEC_TYPE_XML, NULL, 0, proto));
+ if (xml == NULL)
+ return;
+ /* set the right properties on the NetStream.prototype object */
+ SWFDEC_AS_VALUE_SET_OBJECT (&val, xml);
+ swfdec_as_object_set_variable (proto, SWFDEC_AS_STR_constructor, &val);
+ SWFDEC_AS_VALUE_SET_OBJECT (&val, context->Object_prototype);
+ swfdec_as_object_set_variable (proto, SWFDEC_AS_STR___proto__, &val);
+}
+
diff --git a/libswfdec/swfdec_xml.h b/libswfdec/swfdec_xml.h
new file mode 100644
index 0000000..1681a8f
--- /dev/null
+++ b/libswfdec/swfdec_xml.h
@@ -0,0 +1,51 @@
+/* Swfdec
+ * Copyright (C) 2007 Benjamin Otte <otte at gnome.org>
+ * 2007 Pekka Lampila <pekka.lampila at iki.fi>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#ifndef _SWFDEC_XML_H_
+#define _SWFDEC_XML_H_
+
+#include <libswfdec/swfdec_as_object.h>
+#include <libswfdec/swfdec_types.h>
+#include <libswfdec/swfdec_script.h>
+
+G_BEGIN_DECLS
+
+typedef struct _SwfdecXml SwfdecXml;
+typedef struct _SwfdecXmlClass SwfdecXmlClass;
+
+#define SWFDEC_TYPE_XML (swfdec_xml_get_type())
+#define SWFDEC_IS_XML(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWFDEC_TYPE_XML))
+#define SWFDEC_IS_XML_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SWFDEC_TYPE_XML))
+#define SWFDEC_XML(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWFDEC_TYPE_XML, SwfdecXml))
+#define SWFDEC_XML_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_XML, SwfdecXmlClass))
+#define SWFDEC_XML_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SWFDEC_TYPE_XML, SwfdecXmlClass))
+
+struct _SwfdecXml {
+ SwfdecAsObject object;
+};
+
+struct _SwfdecXmlClass {
+ SwfdecAsObjectClass object_class;
+};
+
+GType swfdec_xml_get_type (void);
+
+G_END_DECLS
+#endif
diff --git a/libswfdec/swfdec_xml_as.c b/libswfdec/swfdec_xml_as.c
deleted file mode 100644
index 76e420d..0000000
--- a/libswfdec/swfdec_xml_as.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Swfdec
- * Copyright (C) 2007 Benjamin Otte <otte at gnome.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301 USA
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "swfdec_xml_as.h"
-#include "swfdec_as_native_function.h"
-#include "swfdec_as_object.h"
-#include "swfdec_as_strings.h"
-#include "swfdec_debug.h"
-#include "swfdec_internal.h"
-#include "swfdec_player_internal.h"
-
-G_DEFINE_TYPE (SwfdecXml, swfdec_xml, SWFDEC_TYPE_AS_OBJECT)
-
-static void
-swfdec_xml_class_init (SwfdecXmlClass *klass)
-{
-}
-
-static void
-swfdec_xml_init (SwfdecXml *xml)
-{
-}
-
-void
-swfdec_xml_init_context (SwfdecPlayer *player, guint version)
-{
- SwfdecAsContext *context;
- SwfdecAsObject *xml, *proto;
- SwfdecAsValue val;
-
- g_return_if_fail (SWFDEC_IS_PLAYER (player));
-
- context = SWFDEC_AS_CONTEXT (player);
- proto = swfdec_as_object_new_empty (context);
- if (proto == NULL)
- return;
- xml = SWFDEC_AS_OBJECT (swfdec_as_object_add_constructor (context->global,
- SWFDEC_AS_STR_XML, 0, SWFDEC_TYPE_XML, NULL, 0, proto));
- if (xml == NULL)
- return;
- /* set the right properties on the NetStream.prototype object */
- SWFDEC_AS_VALUE_SET_OBJECT (&val, xml);
- swfdec_as_object_set_variable (proto, SWFDEC_AS_STR_constructor, &val);
- SWFDEC_AS_VALUE_SET_OBJECT (&val, context->Object_prototype);
- swfdec_as_object_set_variable (proto, SWFDEC_AS_STR___proto__, &val);
-}
-
diff --git a/libswfdec/swfdec_xml_as.h b/libswfdec/swfdec_xml_as.h
deleted file mode 100644
index 1681a8f..0000000
--- a/libswfdec/swfdec_xml_as.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Swfdec
- * Copyright (C) 2007 Benjamin Otte <otte at gnome.org>
- * 2007 Pekka Lampila <pekka.lampila at iki.fi>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301 USA
- */
-
-#ifndef _SWFDEC_XML_H_
-#define _SWFDEC_XML_H_
-
-#include <libswfdec/swfdec_as_object.h>
-#include <libswfdec/swfdec_types.h>
-#include <libswfdec/swfdec_script.h>
-
-G_BEGIN_DECLS
-
-typedef struct _SwfdecXml SwfdecXml;
-typedef struct _SwfdecXmlClass SwfdecXmlClass;
-
-#define SWFDEC_TYPE_XML (swfdec_xml_get_type())
-#define SWFDEC_IS_XML(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SWFDEC_TYPE_XML))
-#define SWFDEC_IS_XML_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SWFDEC_TYPE_XML))
-#define SWFDEC_XML(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SWFDEC_TYPE_XML, SwfdecXml))
-#define SWFDEC_XML_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SWFDEC_TYPE_XML, SwfdecXmlClass))
-#define SWFDEC_XML_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SWFDEC_TYPE_XML, SwfdecXmlClass))
-
-struct _SwfdecXml {
- SwfdecAsObject object;
-};
-
-struct _SwfdecXmlClass {
- SwfdecAsObjectClass object_class;
-};
-
-GType swfdec_xml_get_type (void);
-
-G_END_DECLS
-#endif
diff-tree 7046db0047d85395dce2ececee97f82ebc4181f2 (from 8cccc48b18fd2f3ccdb6279a865f9252f6e6d16a)
Author: Benjamin Otte <otte at gnome.org>
Date: Thu Aug 23 13:27:52 2007 +0200
get rid of swfdec_load_object_as.h
THe stuff it was needed for is now done by the initialize script
diff --git a/libswfdec/Makefile.am b/libswfdec/Makefile.am
index 1e5e8a5..e919822 100644
--- a/libswfdec/Makefile.am
+++ b/libswfdec/Makefile.am
@@ -191,7 +191,6 @@ noinst_HEADERS = \
swfdec_internal.h \
swfdec_interval.h \
swfdec_load_object.h \
- swfdec_load_object_as.h \
swfdec_loader_internal.h \
swfdec_loadertarget.h \
swfdec_marshal.h \
diff --git a/libswfdec/swfdec_initialize.as b/libswfdec/swfdec_initialize.as
index 502942e..f347a5f 100644
--- a/libswfdec/swfdec_initialize.as
+++ b/libswfdec/swfdec_initialize.as
@@ -123,6 +123,10 @@ LoadVars.prototype.getBytesTotal = funct
ASSetPropFlags(LoadVars.prototype, null, 131);
+/*** XML ***/
+
+XML.prototype.load = ASnative (301, 0);
+
/*** OH THE HUMANITY ***/
o = null;
diff --git a/libswfdec/swfdec_initialize.h b/libswfdec/swfdec_initialize.h
index 7d5b5a0..8b74657 100644
--- a/libswfdec/swfdec_initialize.h
+++ b/libswfdec/swfdec_initialize.h
@@ -2,7 +2,7 @@
/* compiled from swfdec_initialize.as */
const unsigned char swfdec_initialize[] = {
- 0x88, 0x64, 0x02, 0x42, 0x00, 0x41, 0x53, 0x53, 0x65, 0x74, 0x4E, 0x61, 0x74, 0x69, 0x76, 0x65,
+ 0x88, 0x68, 0x02, 0x43, 0x00, 0x41, 0x53, 0x53, 0x65, 0x74, 0x4E, 0x61, 0x74, 0x69, 0x76, 0x65,
0x00, 0x41, 0x53, 0x6E, 0x61, 0x74, 0x69, 0x76, 0x65, 0x00, 0x41, 0x53, 0x53, 0x65, 0x74, 0x4E,
0x61, 0x74, 0x69, 0x76, 0x65, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6F, 0x72, 0x00, 0x41, 0x73,
0x42, 0x72, 0x6F, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x00, 0x62, 0x72, 0x6F, 0x61,
@@ -40,100 +40,102 @@ const unsigned char swfdec_initialize[]
0x00, 0x67, 0x65, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x4C, 0x6F, 0x61, 0x64, 0x65, 0x64, 0x00,
0x5F, 0x62, 0x79, 0x74, 0x65, 0x73, 0x4C, 0x6F, 0x61, 0x64, 0x65, 0x64, 0x00, 0x67, 0x65, 0x74,
0x42, 0x79, 0x74, 0x65, 0x73, 0x54, 0x6F, 0x74, 0x61, 0x6C, 0x00, 0x5F, 0x62, 0x79, 0x74, 0x65,
- 0x73, 0x54, 0x6F, 0x74, 0x61, 0x6C, 0x00, 0x9B, 0x12, 0x00, 0x41, 0x73, 0x42, 0x72, 0x6F, 0x61,
- 0x64, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x0D, 0x00, 0x4C,
- 0x6F, 0x61, 0x64, 0x56, 0x61, 0x72, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x13, 0x00, 0x08,
- 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
- 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x13, 0x00, 0x08, 0x02, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x04,
- 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x02, 0x00, 0x08,
- 0x03, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x04, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0x65, 0x00, 0x00,
- 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x03, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x05, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00, 0x78, 0x00, 0x3C, 0x00, 0x96,
- 0x02, 0x00, 0x08, 0x07, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x08, 0x52, 0x17, 0x96, 0x02, 0x00, 0x08, 0x07, 0x1C, 0x96, 0x07, 0x00,
- 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x4E, 0x96, 0x02,
- 0x00, 0x08, 0x0A, 0x52, 0x17, 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08,
- 0x03, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x08, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00, 0x78, 0x00, 0x8F,
- 0x00, 0x96, 0x04, 0x00, 0x08, 0x0B, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x09, 0x4E, 0x3C,
- 0x96, 0x02, 0x00, 0x08, 0x0C, 0x41, 0x96, 0x07, 0x00, 0x08, 0x0C, 0x07, 0x00, 0x00, 0x00, 0x00,
- 0x3C, 0x99, 0x02, 0x00, 0x09, 0x00, 0x96, 0x02, 0x00, 0x08, 0x0C, 0x4C, 0x1C, 0x50, 0x1D, 0x96,
- 0x02, 0x00, 0x08, 0x0C, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0B, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0D,
- 0x4E, 0x48, 0x12, 0x9D, 0x02, 0x00, 0x42, 0x00, 0x96, 0x02, 0x00, 0x08, 0x0B, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x0C, 0x1C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x07, 0x1C, 0x49, 0x12, 0x9D, 0x02, 0x00,
- 0x23, 0x00, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x0C, 0x1C, 0x96, 0x07, 0x00,
- 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x0B, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0E, 0x52, 0x17, 0x96,
- 0x02, 0x00, 0x05, 0x01, 0x3E, 0x99, 0x02, 0x00, 0x9C, 0xFF, 0x96, 0x02, 0x00, 0x05, 0x00, 0x3E,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x03, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x9B, 0x07, 0x00, 0x00,
- 0x01, 0x00, 0x6F, 0x00, 0x75, 0x00, 0x96, 0x02, 0x00, 0x08, 0x10, 0x1C, 0x96, 0x13, 0x00, 0x08,
- 0x04, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0x65, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
- 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x10, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x05, 0x08,
- 0x03, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x05, 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x10, 0x1C, 0x96,
- 0x04, 0x00, 0x08, 0x08, 0x08, 0x03, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x08, 0x4E, 0x4F, 0x96, 0x02,
- 0x00, 0x08, 0x10, 0x1C, 0x96, 0x09, 0x00, 0x08, 0x09, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x11,
- 0x40, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x83, 0x00, 0x00, 0x00, 0x08, 0x12, 0x08, 0x10, 0x1C, 0x96,
- 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x13, 0x3D, 0x17, 0x4F, 0x96, 0x08, 0x00, 0x07,
- 0x83, 0x00, 0x00, 0x00, 0x02, 0x08, 0x03, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00,
- 0x08, 0x13, 0x3D, 0x17, 0x96, 0x8C, 0x00, 0x08, 0x14, 0x08, 0x15, 0x07, 0x12, 0x00, 0x00, 0x00,
- 0x08, 0x16, 0x07, 0x08, 0x00, 0x00, 0x00, 0x08, 0x17, 0x07, 0x14, 0x00, 0x00, 0x00, 0x08, 0x18,
- 0x07, 0x11, 0x00, 0x00, 0x00, 0x08, 0x19, 0x07, 0x2E, 0x00, 0x00, 0x00, 0x08, 0x1A, 0x07, 0x28,
- 0x00, 0x00, 0x00, 0x08, 0x1B, 0x07, 0x23, 0x00, 0x00, 0x00, 0x08, 0x1C, 0x07, 0x0D, 0x00, 0x00,
- 0x00, 0x08, 0x1D, 0x07, 0x1B, 0x00, 0x00, 0x00, 0x08, 0x1E, 0x07, 0x24, 0x00, 0x00, 0x00, 0x08,
- 0x1F, 0x07, 0x2D, 0x00, 0x00, 0x00, 0x08, 0x20, 0x07, 0x25, 0x00, 0x00, 0x00, 0x08, 0x21, 0x07,
- 0x22, 0x00, 0x00, 0x00, 0x08, 0x22, 0x07, 0x21, 0x00, 0x00, 0x00, 0x08, 0x23, 0x07, 0x27, 0x00,
- 0x00, 0x00, 0x08, 0x24, 0x07, 0x10, 0x00, 0x00, 0x00, 0x08, 0x25, 0x07, 0x20, 0x00, 0x00, 0x00,
- 0x08, 0x26, 0x07, 0x09, 0x00, 0x00, 0x00, 0x08, 0x27, 0x07, 0x26, 0x00, 0x00, 0x00, 0x07, 0x13,
- 0x00, 0x00, 0x00, 0x43, 0x1D, 0x96, 0x09, 0x00, 0x08, 0x28, 0x07, 0x20, 0x03, 0x00, 0x00, 0x08,
- 0x14, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x3D, 0x17, 0x96, 0x02,
- 0x00, 0x08, 0x14, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x03, 0x1C, 0x96,
- 0x02, 0x00, 0x08, 0x0F, 0x52, 0x17, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08,
- 0x14, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x13, 0x3D, 0x17, 0x96, 0x09,
- 0x00, 0x08, 0x29, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x2A, 0x40, 0x1D, 0x96, 0x02, 0x00, 0x08,
- 0x29, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x2B, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x05, 0x00, 0x00,
- 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x29, 0x1C,
- 0x96, 0x13, 0x00, 0x08, 0x2C, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x05, 0x00, 0x00, 0x00, 0x07,
- 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x29, 0x1C, 0x96, 0x07,
- 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x03, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x52, 0x17,
- 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x29, 0x1C, 0x96, 0x07, 0x00, 0x07,
- 0x03, 0x00, 0x00, 0x00, 0x08, 0x13, 0x3D, 0x17, 0x96, 0x09, 0x00, 0x08, 0x2D, 0x07, 0x00, 0x00,
- 0x00, 0x00, 0x08, 0x2A, 0x40, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x2D, 0x1C, 0x96, 0x07, 0x00, 0x07,
- 0x01, 0x00, 0x00, 0x00, 0x08, 0x03, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x52, 0x17, 0x96, 0x0E,
- 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x2E, 0x07, 0x9A, 0x02, 0x00, 0x00, 0x08, 0x2D, 0x1C,
- 0x96, 0x07, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x08, 0x02, 0x3D, 0x17, 0x96, 0x02, 0x00, 0x08,
- 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x04, 0x00, 0x08, 0x31, 0x08, 0x32, 0x4F,
- 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08,
- 0x33, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00,
- 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
- 0x96, 0x13, 0x00, 0x08, 0x34, 0x07, 0x03, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07,
+ 0x73, 0x54, 0x6F, 0x74, 0x61, 0x6C, 0x00, 0x58, 0x4D, 0x4C, 0x00, 0x9B, 0x12, 0x00, 0x41, 0x73,
+ 0x42, 0x72, 0x6F, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x65, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x9B, 0x0D, 0x00, 0x4C, 0x6F, 0x61, 0x64, 0x56, 0x61, 0x72, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x96, 0x13, 0x00, 0x08, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x07,
+ 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D, 0x96, 0x13, 0x00, 0x08, 0x02, 0x07, 0x01, 0x00,
+ 0x00, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x1D,
+ 0x96, 0x02, 0x00, 0x08, 0x03, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x04, 0x07, 0x0C, 0x00, 0x00, 0x00,
+ 0x07, 0x65, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
+ 0x00, 0x08, 0x03, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x05, 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00, 0x78,
+ 0x00, 0x3C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x07, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00,
+ 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x08, 0x52, 0x17, 0x96, 0x02, 0x00, 0x08, 0x07,
+ 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x09, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x0A, 0x52, 0x17, 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E, 0x4F,
+ 0x96, 0x02, 0x00, 0x08, 0x03, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x08, 0x9B, 0x07, 0x00, 0x00, 0x01,
+ 0x00, 0x78, 0x00, 0x8F, 0x00, 0x96, 0x04, 0x00, 0x08, 0x0B, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x09, 0x4E, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x0C, 0x41, 0x96, 0x07, 0x00, 0x08, 0x0C, 0x07,
+ 0x00, 0x00, 0x00, 0x00, 0x3C, 0x99, 0x02, 0x00, 0x09, 0x00, 0x96, 0x02, 0x00, 0x08, 0x0C, 0x4C,
+ 0x1C, 0x50, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x0C, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0B, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x0D, 0x4E, 0x48, 0x12, 0x9D, 0x02, 0x00, 0x42, 0x00, 0x96, 0x02, 0x00, 0x08,
+ 0x0B, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0C, 0x1C, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x07, 0x1C, 0x49,
+ 0x12, 0x9D, 0x02, 0x00, 0x23, 0x00, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x0C,
+ 0x1C, 0x96, 0x07, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x0B, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x0E, 0x52, 0x17, 0x96, 0x02, 0x00, 0x05, 0x01, 0x3E, 0x99, 0x02, 0x00, 0x9C, 0xFF, 0x96, 0x02,
+ 0x00, 0x05, 0x00, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x03, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0F,
+ 0x9B, 0x07, 0x00, 0x00, 0x01, 0x00, 0x6F, 0x00, 0x75, 0x00, 0x96, 0x02, 0x00, 0x08, 0x10, 0x1C,
+ 0x96, 0x13, 0x00, 0x08, 0x04, 0x07, 0x0C, 0x00, 0x00, 0x00, 0x07, 0x65, 0x00, 0x00, 0x00, 0x07,
+ 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x10, 0x1C, 0x96, 0x04,
+ 0x00, 0x08, 0x05, 0x08, 0x03, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x05, 0x4E, 0x4F, 0x96, 0x02, 0x00,
+ 0x08, 0x10, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x08, 0x08, 0x03, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x08,
+ 0x4E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x10, 0x1C, 0x96, 0x09, 0x00, 0x08, 0x09, 0x07, 0x00, 0x00,
+ 0x00, 0x00, 0x08, 0x11, 0x40, 0x4F, 0x96, 0x09, 0x00, 0x07, 0x83, 0x00, 0x00, 0x00, 0x08, 0x12,
+ 0x08, 0x10, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x13, 0x3D, 0x17, 0x4F,
+ 0x96, 0x08, 0x00, 0x07, 0x83, 0x00, 0x00, 0x00, 0x02, 0x08, 0x03, 0x1C, 0x96, 0x07, 0x00, 0x07,
+ 0x03, 0x00, 0x00, 0x00, 0x08, 0x13, 0x3D, 0x17, 0x96, 0x8C, 0x00, 0x08, 0x14, 0x08, 0x15, 0x07,
+ 0x12, 0x00, 0x00, 0x00, 0x08, 0x16, 0x07, 0x08, 0x00, 0x00, 0x00, 0x08, 0x17, 0x07, 0x14, 0x00,
+ 0x00, 0x00, 0x08, 0x18, 0x07, 0x11, 0x00, 0x00, 0x00, 0x08, 0x19, 0x07, 0x2E, 0x00, 0x00, 0x00,
+ 0x08, 0x1A, 0x07, 0x28, 0x00, 0x00, 0x00, 0x08, 0x1B, 0x07, 0x23, 0x00, 0x00, 0x00, 0x08, 0x1C,
+ 0x07, 0x0D, 0x00, 0x00, 0x00, 0x08, 0x1D, 0x07, 0x1B, 0x00, 0x00, 0x00, 0x08, 0x1E, 0x07, 0x24,
+ 0x00, 0x00, 0x00, 0x08, 0x1F, 0x07, 0x2D, 0x00, 0x00, 0x00, 0x08, 0x20, 0x07, 0x25, 0x00, 0x00,
+ 0x00, 0x08, 0x21, 0x07, 0x22, 0x00, 0x00, 0x00, 0x08, 0x22, 0x07, 0x21, 0x00, 0x00, 0x00, 0x08,
+ 0x23, 0x07, 0x27, 0x00, 0x00, 0x00, 0x08, 0x24, 0x07, 0x10, 0x00, 0x00, 0x00, 0x08, 0x25, 0x07,
+ 0x20, 0x00, 0x00, 0x00, 0x08, 0x26, 0x07, 0x09, 0x00, 0x00, 0x00, 0x08, 0x27, 0x07, 0x26, 0x00,
+ 0x00, 0x00, 0x07, 0x13, 0x00, 0x00, 0x00, 0x43, 0x1D, 0x96, 0x09, 0x00, 0x08, 0x28, 0x07, 0x20,
+ 0x03, 0x00, 0x00, 0x08, 0x14, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00,
+ 0x3D, 0x17, 0x96, 0x02, 0x00, 0x08, 0x14, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00,
+ 0x08, 0x03, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0F, 0x52, 0x17, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00,
+ 0x00, 0x00, 0x02, 0x08, 0x14, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x13,
+ 0x3D, 0x17, 0x96, 0x09, 0x00, 0x08, 0x29, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x2A, 0x40, 0x1D,
+ 0x96, 0x02, 0x00, 0x08, 0x29, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x2B, 0x07, 0x00, 0x00, 0x00, 0x00,
+ 0x07, 0x05, 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02,
+ 0x00, 0x08, 0x29, 0x1C, 0x96, 0x13, 0x00, 0x08, 0x2C, 0x07, 0x01, 0x00, 0x00, 0x00, 0x07, 0x05,
+ 0x00, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
+ 0x29, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x03, 0x1C, 0x96, 0x02, 0x00,
+ 0x08, 0x0F, 0x52, 0x17, 0x96, 0x08, 0x00, 0x07, 0x07, 0x00, 0x00, 0x00, 0x02, 0x08, 0x29, 0x1C,
+ 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x13, 0x3D, 0x17, 0x96, 0x09, 0x00, 0x08,
+ 0x2D, 0x07, 0x00, 0x00, 0x00, 0x00, 0x08, 0x2A, 0x40, 0x1D, 0x96, 0x02, 0x00, 0x08, 0x2D, 0x1C,
+ 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x03, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x0F,
+ 0x52, 0x17, 0x96, 0x0E, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x2E, 0x07, 0x9A, 0x02, 0x00,
+ 0x00, 0x08, 0x2D, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x04, 0x00, 0x00, 0x00, 0x08, 0x02, 0x3D, 0x17,
+ 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x04, 0x00, 0x08,
+ 0x31, 0x08, 0x32, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
+ 0x96, 0x13, 0x00, 0x08, 0x33, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07,
0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x35, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02,
- 0x00, 0x08, 0x36, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x73, 0x72, 0x63, 0x00, 0x64, 0x00, 0x96,
- 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x05, 0x01, 0x4F, 0x96, 0x02, 0x00,
- 0x08, 0x38, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D, 0x02, 0x00, 0x19, 0x00, 0x96, 0x09,
- 0x00, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x35,
- 0x52, 0x17, 0x99, 0x02, 0x00, 0x2C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x07, 0x00,
- 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x34, 0x52, 0x17, 0x96,
- 0x09, 0x00, 0x05, 0x01, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08,
- 0x35, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E,
- 0x96, 0x02, 0x00, 0x08, 0x39, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0xB3, 0x00, 0x96, 0x03, 0x00,
- 0x08, 0x3A, 0x02, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x06, 0x46, 0x87, 0x01, 0x00, 0x00, 0x96, 0x01,
- 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x91, 0x00, 0x96, 0x04, 0x00, 0x08, 0x07, 0x04, 0x00, 0x3C,
- 0x96, 0x02, 0x00, 0x08, 0x3A, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x41, 0x00,
- 0x96, 0x02, 0x00, 0x08, 0x3A, 0x4C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x3D, 0x08, 0x07, 0x1C, 0x96,
- 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x96, 0x02, 0x00, 0x08, 0x3C,
- 0x47, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x07, 0x1C, 0x4E, 0x96, 0x07,
- 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x47, 0x1D, 0x99, 0x02, 0x00, 0x33,
- 0x00, 0x96, 0x04, 0x00, 0x08, 0x3A, 0x08, 0x07, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00,
- 0x00, 0x08, 0x3B, 0x3D, 0x96, 0x02, 0x00, 0x08, 0x3C, 0x47, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x07, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08,
- 0x3B, 0x3D, 0x47, 0x1D, 0x99, 0x02, 0x00, 0x61, 0xFF, 0x96, 0x02, 0x00, 0x08, 0x3A, 0x1C, 0x3E,
- 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00,
- 0x08, 0x3E, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C,
- 0x96, 0x02, 0x00, 0x08, 0x3F, 0x4E, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02,
- 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x40, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D,
- 0x00, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x41, 0x4E, 0x3E, 0x4F, 0x96,
- 0x08, 0x00, 0x07, 0x83, 0x00, 0x00, 0x00, 0x02, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
- 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x13, 0x3D, 0x17, 0x96, 0x03, 0x00,
- 0x08, 0x10, 0x02, 0x1D, 0x00
+ 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00, 0x08, 0x34, 0x07, 0x03, 0x00, 0x00, 0x00, 0x07, 0x2D,
+ 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x02, 0x00, 0x08,
+ 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x35, 0x9B, 0x05, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x36, 0x9B, 0x09, 0x00, 0x00, 0x01, 0x00, 0x73, 0x72, 0x63,
+ 0x00, 0x64, 0x00, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x37, 0x05, 0x01,
+ 0x4F, 0x96, 0x02, 0x00, 0x08, 0x38, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x12, 0x9D, 0x02, 0x00,
+ 0x19, 0x00, 0x96, 0x09, 0x00, 0x05, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x99, 0x02, 0x00, 0x2C, 0x00, 0x96, 0x02, 0x00, 0x08, 0x38,
+ 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08,
+ 0x34, 0x52, 0x17, 0x96, 0x09, 0x00, 0x05, 0x01, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x06, 0x1C,
+ 0x96, 0x02, 0x00, 0x08, 0x35, 0x52, 0x17, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02,
+ 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x39, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0xB3,
+ 0x00, 0x96, 0x03, 0x00, 0x08, 0x3A, 0x02, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x06, 0x46, 0x87, 0x01,
+ 0x00, 0x00, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D, 0x02, 0x00, 0x91, 0x00, 0x96, 0x04, 0x00, 0x08,
+ 0x07, 0x04, 0x00, 0x3C, 0x96, 0x02, 0x00, 0x08, 0x3A, 0x1C, 0x96, 0x01, 0x00, 0x02, 0x49, 0x9D,
+ 0x02, 0x00, 0x41, 0x00, 0x96, 0x02, 0x00, 0x08, 0x3A, 0x4C, 0x1C, 0x96, 0x04, 0x00, 0x08, 0x3D,
+ 0x08, 0x07, 0x1C, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x96,
+ 0x02, 0x00, 0x08, 0x3C, 0x47, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x07,
+ 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x47, 0x1D,
+ 0x99, 0x02, 0x00, 0x33, 0x00, 0x96, 0x04, 0x00, 0x08, 0x3A, 0x08, 0x07, 0x1C, 0x96, 0x07, 0x00,
+ 0x07, 0x01, 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x96, 0x02, 0x00, 0x08, 0x3C, 0x47, 0x96, 0x02,
+ 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x07, 0x1C, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x01,
+ 0x00, 0x00, 0x00, 0x08, 0x3B, 0x3D, 0x47, 0x1D, 0x99, 0x02, 0x00, 0x61, 0xFF, 0x96, 0x02, 0x00,
+ 0x08, 0x3A, 0x1C, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08, 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30,
+ 0x4E, 0x96, 0x02, 0x00, 0x08, 0x3E, 0x9B, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96, 0x02,
+ 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x3F, 0x4E, 0x3E, 0x4F, 0x96, 0x02, 0x00, 0x08,
+ 0x2F, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x02, 0x00, 0x08, 0x40, 0x9B, 0x05, 0x00,
+ 0x00, 0x00, 0x00, 0x0D, 0x00, 0x96, 0x02, 0x00, 0x08, 0x06, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x41,
+ 0x4E, 0x3E, 0x4F, 0x96, 0x08, 0x00, 0x07, 0x83, 0x00, 0x00, 0x00, 0x02, 0x08, 0x2F, 0x1C, 0x96,
+ 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x07, 0x00, 0x07, 0x03, 0x00, 0x00, 0x00, 0x08, 0x13, 0x3D,
+ 0x17, 0x96, 0x02, 0x00, 0x08, 0x42, 0x1C, 0x96, 0x02, 0x00, 0x08, 0x30, 0x4E, 0x96, 0x13, 0x00,
+ 0x08, 0x33, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x2D, 0x01, 0x00, 0x00, 0x07, 0x02, 0x00, 0x00,
+ 0x00, 0x08, 0x01, 0x3D, 0x4F, 0x96, 0x03, 0x00, 0x08, 0x10, 0x02, 0x1D, 0x00
};
diff --git a/libswfdec/swfdec_load_object_as.h b/libswfdec/swfdec_load_object_as.h
deleted file mode 100644
index f14f0e2..0000000
--- a/libswfdec/swfdec_load_object_as.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Swfdec
- * Copyright (C) 2007 Benjamin Otte <otte at gnome.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301 USA
- */
-
-#ifndef _SWFDEC_LOADABLE_H_
-#define _SWFDEC_LOADABLE_H_
-
-#include <libswfdec/swfdec.h>
-#include <libswfdec/swfdec_as_object.h>
-
-G_BEGIN_DECLS
-
-void swfdec_load_object_load (SwfdecAsContext *cx, SwfdecAsObject *obj, guint argc, SwfdecAsValue *argv, SwfdecAsValue *rval);
-
-G_END_DECLS
-#endif
diff --git a/libswfdec/swfdec_xml_as.c b/libswfdec/swfdec_xml_as.c
index bf182a8..76e420d 100644
--- a/libswfdec/swfdec_xml_as.c
+++ b/libswfdec/swfdec_xml_as.c
@@ -28,7 +28,6 @@
#include "swfdec_debug.h"
#include "swfdec_internal.h"
#include "swfdec_player_internal.h"
-#include "swfdec_load_object_as.h"
G_DEFINE_TYPE (SwfdecXml, swfdec_xml, SWFDEC_TYPE_AS_OBJECT)
@@ -60,8 +59,6 @@ swfdec_xml_init_context (SwfdecPlayer *p
if (xml == NULL)
return;
/* set the right properties on the NetStream.prototype object */
- swfdec_as_object_add_function (proto, SWFDEC_AS_STR_load, SWFDEC_TYPE_XML,
- swfdec_load_object_load, 0);
SWFDEC_AS_VALUE_SET_OBJECT (&val, xml);
swfdec_as_object_set_variable (proto, SWFDEC_AS_STR_constructor, &val);
SWFDEC_AS_VALUE_SET_OBJECT (&val, context->Object_prototype);
diff-tree 8cccc48b18fd2f3ccdb6279a865f9252f6e6d16a (from 93764e84c49f65d3c61706af57762ea9fa4c409d)
Author: Benjamin Otte <otte at gnome.org>
Date: Thu Aug 23 12:54:57 2007 +0200
inclode swfdec_gtk_keys.h
diff --git a/doc/Makefile.am b/doc/Makefile.am
index c5766a9..73c9cee 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -132,6 +132,7 @@ IGNORE_HFILES= \
if WITH_GTK
EXTRA_HFILES = \
+ ../libswfdec-gtk/swfdec_gtk_keys.h \
../libswfdec-gtk/swfdec_gtk_loader.h \
../libswfdec-gtk/swfdec_gtk_player.h \
../libswfdec-gtk/swfdec_gtk_widget.h
diff-tree 93764e84c49f65d3c61706af57762ea9fa4c409d (from 1dee71176821844d903ac956b7ca03682b3ca428)
Author: Benjamin Otte <otte at gnome.org>
Date: Thu Aug 23 12:54:37 2007 +0200
include swfdec_gtk_keys.h
diff --git a/libswfdec-gtk/swfdec-gtk.h b/libswfdec-gtk/swfdec-gtk.h
index 5615fa0..de4f723 100644
--- a/libswfdec-gtk/swfdec-gtk.h
+++ b/libswfdec-gtk/swfdec-gtk.h
@@ -20,6 +20,7 @@
#ifndef __SWFDEC_GTK_H__
#define __SWFDEC_GTK_H__
+#include <libswfdec-gtk/swfdec_gtk_keys.h>
#include <libswfdec-gtk/swfdec_gtk_loader.h>
#include <libswfdec-gtk/swfdec_gtk_player.h>
#include <libswfdec-gtk/swfdec_gtk_widget.h>
diff-tree 1dee71176821844d903ac956b7ca03682b3ca428 (from 10d4cc43986ce88bb43cb7bf96712846c962ed86)
Author: Benjamin Otte <otte at gnome.org>
Date: Thu Aug 23 11:07:59 2007 +0200
It's a swfdec-gtk function, so use that prefix
diff --git a/libswfdec-gtk/swfdec_gtk_keys.c b/libswfdec-gtk/swfdec_gtk_keys.c
index 93593e1..b192e64 100644
--- a/libswfdec-gtk/swfdec_gtk_keys.c
+++ b/libswfdec-gtk/swfdec_gtk_keys.c
@@ -59,7 +59,7 @@ SWFDEC_KEY_MENU 117
*/
guint
-swfdec_keycode_from_hardware_keycode (guint hardware_keycode)
+swfdec_gtk_keycode_from_hardware_keycode (guint hardware_keycode)
{
if (hardware_keycode >= G_N_ELEMENTS (flash_keycodes))
return 0;
diff --git a/libswfdec-gtk/swfdec_gtk_keys.h b/libswfdec-gtk/swfdec_gtk_keys.h
index bb3c80f..d9b985b 100644
--- a/libswfdec-gtk/swfdec_gtk_keys.h
+++ b/libswfdec-gtk/swfdec_gtk_keys.h
@@ -24,7 +24,7 @@
G_BEGIN_DECLS
-guint swfdec_keycode_from_hardware_keycode (guint hardware_keycode);
+guint swfdec_gtk_keycode_from_hardware_keycode (guint hardware_keycode);
G_END_DECLS
#endif
diff --git a/libswfdec-gtk/swfdec_gtk_widget.c b/libswfdec-gtk/swfdec_gtk_widget.c
index 94b7f31..8a87fad 100644
--- a/libswfdec-gtk/swfdec_gtk_widget.c
+++ b/libswfdec-gtk/swfdec_gtk_widget.c
@@ -147,7 +147,7 @@ swfdec_gtk_event_to_keycode (GdkEventKey
return event->keyval - GDK_a + SWFDEC_KEY_A;
/* last resort: try to translate the hardware keycode directly */
- ret = swfdec_keycode_from_hardware_keycode (event->hardware_keycode);
+ ret = swfdec_gtk_keycode_from_hardware_keycode (event->hardware_keycode);
if (ret == 0)
g_printerr ("could not translate key to Flash keycode. HW keycode %u, keyval %u\n",
event->hardware_keycode, event->keyval);
More information about the Swfdec
mailing list