Displaying 16 results from an estimated 16 matches for "jsval_null".
2007 Mar 09
0
17 commits - libswfdec/js libswfdec/swfdec_js.c libswfdec/swfdec_js_global.c libswfdec/swfdec_js.h libswfdec/swfdec_js_movie.c libswfdec/swfdec_movie.c libswfdec/swfdec_player.c libswfdec/swfdec_player_internal.h libswfdec/swfdec_root_movie.c
...ieclip_new, 0, movieclip_props, movieclip_methods,
+ &movieclip_class, swfdec_js_movieclip_new, 0, NULL, movieclip_methods,
NULL, NULL);
}
-jsval
-swfdec_js_movie_lookup_class (SwfdecMovie *movie)
+static jsval
+swfdec_js_movie_lookup_class (SwfdecSpriteMovie *movie)
{
- return JSVAL_NULL;
+ /* FIXME: write tests on how the lookup movie => name => registered class is performed */
+ SwfdecRootMovie *root;
+ const char *name;
+
+ /* happens with root movies only */
+ if (movie->sprite == NULL)
+ return JSVAL_NULL;
+ root = SWFDEC_ROOT_MOVIE (SWFDEC_MOVIE (movie)-&g...
2007 Apr 16
0
Branch 'as' - 3 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h
...void
swfdec_action_enumerate2 (SwfdecAsContext *cx, guint action, const guint8 *data, guint len)
{
- JSObject *obj;
- JSIdArray *array;
- guint i;
+ SwfdecAsValue *val;
+ SwfdecAsStack *stack;
+ SwfdecAsObject *obj;
- if (!JSVAL_IS_OBJECT (cx->fp->sp[-1]) || cx->fp->sp[-1] == JSVAL_NULL) {
+ stack = cx->frame->stack;
+ val = swfdec_as_stack_peek (stack, 1);
+ if (!SWFDEC_AS_VALUE_IS_OBJECT (val)) {
SWFDEC_ERROR ("Enumerate2 called without an object");
- cx->fp->sp[-1] = JSVAL_NULL;
- return JS_TRUE;
- }
- obj = JSVAL_TO_OBJECT (cx->fp->s...
2007 Mar 07
1
2 commits - libswfdec/swfdec_script.c test/trace
libswfdec/swfdec_script.c | 14 ++++++++++++--
test/trace/Makefile.am | 2 ++
test/trace/gotoframe.swf |binary
test/trace/gotoframe.swf.trace | 13 +++++++++++++
4 files changed, 27 insertions(+), 2 deletions(-)
New commits:
diff-tree 12348410a3509928a6e8e4c8ca00292a58ff542c (from 46e62d4410c20c19774a45758d8ebf11cd0bdf96)
Author: Benjamin Otte <otte@gnome.org>
2007 Feb 22
0
6 commits - libswfdec/Makefile.am libswfdec/swfdec_js.c libswfdec/swfdec_js_mouse.c libswfdec/swfdec_listener.c libswfdec/swfdec_listener.h libswfdec/swfdec_movie.c libswfdec/swfdec_player.c libswfdec/swfdec_player_internal.h libswfdec/swfdec_root_movie.c
....h"
#include "swfdec_player_internal.h"
static JSBool
+swfdec_js_mouse_add_listener (JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
+{
+ SwfdecPlayer *player = JS_GetContextPrivate (cx);
+
+ g_assert (player);
+ if (!JSVAL_IS_OBJECT (argv[0]) || argv[0] == JSVAL_NULL)
+ return JS_TRUE;
+ return swfdec_listener_add (player->mouse_listener, JSVAL_TO_OBJECT (argv[0]));
+}
+
+static JSBool
+swfdec_js_mouse_remove_listener (JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
+{
+ SwfdecPlayer *player = JS_GetContextPrivate (cx);
+
+ g_assert...
2007 Jul 13
0
4 commits - configure.ac libswfdec/swfdec_as_internal.h libswfdec/swfdec_as_object.h libswfdec/swfdec_scriptable.c libswfdec/swfdec_scriptable.h NEWS
...CRIPTABLE (script));
- g_return_if_fail (name != NULL);
- g_return_if_fail (n_args == 0 || args != NULL);
-
- obj = swfdec_scriptable_get_object (script);
- if (!obj)
- return;
- if (!JS_GetProperty (script->jscx, obj, name, &fun))
- return;
- if (!JSVAL_IS_OBJECT (fun) || fun == JSVAL_NULL ||
- JS_GetClass (JSVAL_TO_OBJECT (fun)) != &js_FunctionClass) {
- SWFDEC_LOG ("scriptable has no handler for %s event", name);
- return;
- }
- js_InternalCall (script->jscx, obj, fun, n_args, args, &fun);
-}
-
-/**
- * swfdec_scriptable_can_execute:
- * @script: a...
2007 Apr 04
0
Branch 'as' - 4 commits - libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_interpret.h libswfdec/swfdec_as_object.c libswfdec/swfdec_as_types.c libswfdec/swfdec_as_types.h
...tring (cx, s))
+ return JS_FALSE;
+ break;
+ }
+ case 1: /* float */
+ {
+ double d = swfdec_bits_get_float (&bits);
+ if (!JS_NewDoubleValue (cx, d, cx->fp->sp))
+ return JS_FALSE;
+ cx->fp->sp++;
+ break;
+ }
+ case 2: /* null */
+ *cx->fp->sp++ = JSVAL_NULL;
+ break;
+ case 3: /* undefined */
+ *cx->fp->sp++ = JSVAL_VOID;
+ break;
+ case 4: /* register */
+ {
+ guint regnum = swfdec_bits_get_u8 (&bits);
+ if (!swfdec_action_has_register (cx, regnum)) {
+ SWFDEC_ERROR ("cannot Push register %u: not enough registers"...
2007 Mar 15
0
11 commits - libswfdec/swfdec_debugger.c libswfdec/swfdec_debugger.h libswfdec/swfdec_event.c libswfdec/swfdec_js_movie.c libswfdec/swfdec_movie.c libswfdec/swfdec_movie.h libswfdec/swfdec_net_stream.c libswfdec/swfdec_player.c
...ld not exist, but currently has to for instanceof to work");
- return JS_FALSE;
+ return JS_TRUE;
}
/**
@@ -1229,6 +1240,7 @@ swfdec_js_movie_lookup_class (SwfdecSpri
name = swfdec_root_movie_get_export_name (root, SWFDEC_CHARACTER (movie->sprite));
if (name == NULL)
return JSVAL_NULL;
+ SWFDEC_LOG ("found name %s for movie %s", name, SWFDEC_MOVIE (movie)->name);
return swfdec_player_get_export_class (root->player, name);
}
diff --git a/libswfdec/swfdec_movie.c b/libswfdec/swfdec_movie.c
index ab46a2f..29e7d0d 100644
--- a/libswfdec/swfdec_movie.c
+++ b/li...
2007 Mar 07
0
11 commits - libswfdec/swfdec_event.c libswfdec/swfdec_event.h libswfdec/swfdec_js_movie.c libswfdec/swfdec_movie.c libswfdec/swfdec_scriptable.c libswfdec/swfdec_scriptable.h libswfdec/swfdec_script.c libswfdec/swfdec_sprite.c libswfdec/swfdec_sprite.h
...CRIPTABLE (script));
+ g_return_if_fail (name != NULL);
+ g_return_if_fail (n_args == 0 || args != NULL);
+
+ obj = swfdec_scriptable_get_object (script);
+ if (!obj)
+ return;
+ if (!JS_GetProperty (script->jscx, obj, name, &fun))
+ return;
+ if (!JSVAL_IS_OBJECT (fun) || fun == JSVAL_NULL ||
+ JS_GetClass (JSVAL_TO_OBJECT (fun)) != &js_FunctionClass) {
+ SWFDEC_LOG ("scriptable has no handler for %s event", name);
+ return;
+ }
+ js_InternalCall (script->jscx, obj, fun, n_args, args, &fun);
+}
+
+/**
+ * swfdec_scriptable_can_execute:
+ * @script: a...
2007 Apr 04
0
Branch 'as' - 17 commits - configure.ac doc/Makefile.am doc/swfdec-docs.sgml doc/swfdec-sections.txt doc/swfdec.types libswfdec-gtk/Makefile.am libswfdec-gtk/swfdec-gtk.h libswfdec-gtk/swfdec_gtk_loader.c libswfdec-gtk/swfdec_gtk_loader.h
...nstruct_queue, movie);
- swfdec_movie_execute_script (movie, SWFDEC_EVENT_CONSTRUCT);
- /* FIXME: need a check if the constructor can be unregistered after construction */
- if (SWFDEC_IS_SPRITE_MOVIE (movie) &&
- (fun = swfdec_js_movie_lookup_class (SWFDEC_SPRITE_MOVIE (movie))) != JSVAL_NULL) {
- SwfdecScriptable *script = SWFDEC_SCRIPTABLE (movie);
- SWFDEC_LOG ("Executing constructor for %s %p", G_OBJECT_TYPE_NAME (movie), movie);
- if (!js_InternalCall (script->jscx, script->jsobj, fun, 0, NULL, &fun)) {
- SWFDEC_ERROR ("constructor execution f...
2007 Apr 04
0
Branch 'as' - 9 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_stack.c libswfdec/swfdec_as_stack.h
...et_float (&bits);
- if (!JS_NewDoubleValue (cx, d, cx->fp->sp))
- return JS_FALSE;
- cx->fp->sp++;
- break;
- }
+ SWFDEC_AS_VALUE_SET_NUMBER (swfdec_as_stack_push (stack),
+ swfdec_bits_get_float (&bits));
+ break;
case 2: /* null */
- *cx->fp->sp++ = JSVAL_NULL;
+ SWFDEC_AS_VALUE_SET_NULL (swfdec_as_stack_push (stack));
break;
case 3: /* undefined */
- *cx->fp->sp++ = JSVAL_VOID;
+ SWFDEC_AS_VALUE_SET_UNDEFINED (swfdec_as_stack_push (stack));
break;
case 4: /* register */
{
guint regnum = swfdec_bits_get_u8 (&bits);
i...
2007 Jan 18
0
Branch 'interpreter' - 4 commits - libswfdec/js libswfdec/swfdec_bits.c libswfdec/swfdec_bits.h libswfdec/swfdec_codec_screen.c libswfdec/swfdec_image.c libswfdec/swfdec_script.c libswfdec/swfdec_swf_decoder.c libswfdec/swfdec_tag.c
...tring (cx, s))
+ return JS_FALSE;
+ break;
+ }
+ case 1: /* float */
+ {
+ double d = swfdec_bits_get_float (&bits);
+ if (!JS_NewDoubleValue (cx, d, cx->fp->sp))
+ return JS_FALSE;
+ cx->fp->sp++;
+ break;
+ }
+ case 2: /* null */
+ *cx->fp->sp++ = JSVAL_NULL;
+ break;
+ case 3: /* undefined */
+ *cx->fp->sp++ = JSVAL_VOID;
+ break;
+ case 5: /* boolean */
+ *cx->fp->sp++ = swfdec_bits_get_u8 (&bits) ? JSVAL_TRUE : JSVAL_FALSE;
+ break;
+ case 6: /* double */
+ {
+ double d = swfdec_bits_get_float (&bits);
+ if (!J...
2007 Mar 14
0
10 commits - libswfdec/swfdec_flv_decoder.c libswfdec/swfdec_flv_decoder.h libswfdec/swfdec_js_global.c libswfdec/swfdec_js_movie.c libswfdec/swfdec_js_net_stream.c libswfdec/swfdec_loader.c libswfdec/swfdec_loader.h libswfdec/swfdec_loadertarget.c
...t a/libswfdec/swfdec_js_movie.c b/libswfdec/swfdec_js_movie.c
index e0f3f54..1504e3d 100644
--- a/libswfdec/swfdec_js_movie.c
+++ b/libswfdec/swfdec_js_movie.c
@@ -1248,7 +1248,8 @@ swfdec_js_movie_create_jsobject (SwfdecM
(fun = swfdec_js_movie_lookup_class (SWFDEC_SPRITE_MOVIE (movie))) != JSVAL_NULL) {
swfdec_js_construct_object (script->jscx, &movieclip_class, fun, &script->jsobj);
} else {
- script->jsobj = JS_NewObject (script->jscx, &movieclip_class,
+ SwfdecScriptableClass *klass = SWFDEC_SCRIPTABLE_GET_CLASS (movie);
+ script->jsobj = JS_NewObj...
2007 Mar 12
0
11 commits - libswfdec/js libswfdec/swfdec_loader.c libswfdec/swfdec_root_sprite.c libswfdec/swfdec_script.c player/swfdebug.c player/swfdec_player_manager.c test/trace
...@@ swfdec_action_extends (JSContext *cx, gu
return JS_TRUE;
}
+static JSBool
+swfdec_action_enumerate2 (JSContext *cx, guint action, const guint8 *data, guint len)
+{
+ JSObject *obj;
+ JSIdArray *array;
+ guint i;
+
+ if (!JSVAL_IS_OBJECT (cx->fp->sp[-1]) || cx->fp->sp[-1] == JSVAL_NULL) {
+ SWFDEC_ERROR ("Enumerate2 called without an object");
+ cx->fp->sp[-1] = JSVAL_NULL;
+ return JS_TRUE;
+ }
+ obj = JSVAL_TO_OBJECT (cx->fp->sp[-1]);
+ cx->fp->sp[-1] = JSVAL_NULL;
+ array = JS_Enumerate (cx, obj);
+ if (!array)
+ return JS_FALSE;
+...
2007 Jan 26
0
Branch 'interpreter' - 9 commits - libswfdec/js libswfdec/Makefile.am libswfdec/swfdec_debugger.c libswfdec/swfdec_debugger.h libswfdec/swfdec_edittext_movie.c libswfdec/swfdec_event.c libswfdec/swfdec_js.c libswfdec/swfdec_js_global.c
...return JS_FALSE;
- if (pobj)
- obj = pobj;
return OBJ_GET_PROPERTY (cx, obj, (jsid) prop->id, ret);
}
}
@@ -345,7 +343,7 @@ static gboolean
swfdec_js_eval_internal (JSContext *cx, JSObject *obj, const char *str,
jsval *val, gboolean set)
{
- jsval cur;
+ jsval cur = JSVAL_NULL;
char *work = NULL;
SWFDEC_LOG ("eval called with \"%s\" on %p", str, obj);
@@ -361,12 +359,10 @@ swfdec_js_eval_internal (JSContext *cx,
goto out;
obj = cx->fp->thisp;
}
- cur = OBJECT_TO_JSVAL (obj);
while (str != NULL && *str != '...
2007 Jan 31
0
Branch 'interpreter' - 20 commits - autogen.sh configure.ac libswfdec/js libswfdec/swfdec_debug.h libswfdec/swfdec_js.c libswfdec/swfdec_js_color.c libswfdec/swfdec_js_movie.c libswfdec/swfdec_movie.c libswfdec/swfdec_movie.h libswfdec/swfdec_script.c
...git a/libswfdec/swfdec_js.c b/libswfdec/swfdec_js.c
index 829c1ad..4c14100 100644
--- a/libswfdec/swfdec_js.c
+++ b/libswfdec/swfdec_js.c
@@ -343,7 +343,7 @@ static gboolean
swfdec_js_eval_internal (JSContext *cx, JSObject *obj, const char *str,
jsval *val, gboolean set)
{
- jsval cur = JSVAL_NULL;
+ jsval cur;
char *work = NULL;
SWFDEC_LOG ("eval called with \"%s\" on %p", str, obj);
@@ -358,8 +358,8 @@ swfdec_js_eval_internal (JSContext *cx,
if (cx->fp == NULL)
goto out;
obj = cx->fp->thisp;
- cur = OBJECT_TO_JSVAL (obj);
}
+ c...
2007 Feb 06
0
109 commits - configure.ac libswfdec/js libswfdec/Makefile.am libswfdec/swfdec_bits.c libswfdec/swfdec_bits.h libswfdec/swfdec_buffer.c libswfdec/swfdec_button_movie.c libswfdec/swfdec_codec_screen.c libswfdec/swfdec_color.c libswfdec/swfdec_color.h
...git a/libswfdec/swfdec_js.c b/libswfdec/swfdec_js.c
index 829c1ad..4c14100 100644
--- a/libswfdec/swfdec_js.c
+++ b/libswfdec/swfdec_js.c
@@ -343,7 +343,7 @@ static gboolean
swfdec_js_eval_internal (JSContext *cx, JSObject *obj, const char *str,
jsval *val, gboolean set)
{
- jsval cur = JSVAL_NULL;
+ jsval cur;
char *work = NULL;
SWFDEC_LOG ("eval called with \"%s\" on %p", str, obj);
@@ -358,8 +358,8 @@ swfdec_js_eval_internal (JSContext *cx,
if (cx->fp == NULL)
goto out;
obj = cx->fp->thisp;
- cur = OBJECT_TO_JSVAL (obj);
}
+ c...