Displaying 9 results from an estimated 9 matches for "swfdecassuper".
2007 Nov 14
0
7 commits - libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_function.c libswfdec/swfdec_as_internal.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_super.c libswfdec/swfdec_as_super.h
...cAsFunction *function)
SwfdecAsFunctionClass *klass;
SwfdecAsFrame *frame;
- //if (!super->callable)
- // return NULL;
if (super->object == NULL) {
SWFDEC_WARNING ("super () called without an object.");
return NULL;
@@ -146,13 +144,14 @@ swfdec_as_super_init (SwfdecAsSuper *super)
}
void
-swfdec_as_super_new (SwfdecAsFrame *frame, SwfdecAsObject *ref, gboolean callable)
+swfdec_as_super_new (SwfdecAsFrame *frame, SwfdecAsObject *thisp, SwfdecAsObject *ref)
{
SwfdecAsContext *context;
SwfdecAsSuper *super;
g_return_if_fail (SWFDEC_IS_AS_FRAME (frame));...
2007 May 22
0
Branch 'as' - 9 commits - libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_function.c libswfdec/swfdec_as_function.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_native_function.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_script_function.c
...LOAD_ROOT) {
diff --git a/libswfdec/swfdec_as_super.c b/libswfdec/swfdec_as_super.c
index 3311bcd..e5b9728 100644
--- a/libswfdec/swfdec_as_super.c
+++ b/libswfdec/swfdec_as_super.c
@@ -29,11 +29,32 @@
#include "swfdec_as_function.h"
#include "swfdec_debug.h"
-G_DEFINE_TYPE (SwfdecAsSuper, swfdec_as_super, SWFDEC_TYPE_AS_OBJECT)
+G_DEFINE_TYPE (SwfdecAsSuper, swfdec_as_super, SWFDEC_TYPE_AS_FUNCTION)
+
+static SwfdecAsFrame *
+swfdec_as_super_call (SwfdecAsFunction *function)
+{
+ SwfdecAsSuper *super = SWFDEC_AS_SUPER (function);
+ SwfdecAsFunctionClass *klass;
+ SwfdecAsFrame *...
2007 May 24
0
Branch 'as' - 11 commits - libswfdec/swfdec_as_array.c libswfdec/swfdec_as_context.c libswfdec/swfdec_as_function.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_native_function.c libswfdec/swfdec_as_number.c libswfdec/swfdec_as_object.c
...o look at the right variables
diff --git a/libswfdec/swfdec_as_super.c b/libswfdec/swfdec_as_super.c
index 5665e1a..6f5902f 100644
--- a/libswfdec/swfdec_as_super.c
+++ b/libswfdec/swfdec_as_super.c
@@ -35,20 +35,29 @@ static SwfdecAsFrame *
swfdec_as_super_call (SwfdecAsFunction *function)
{
SwfdecAsSuper *super = SWFDEC_AS_SUPER (function);
+ SwfdecAsValue val;
+ SwfdecAsFunction *fun;
SwfdecAsFunctionClass *klass;
SwfdecAsFrame *frame;
- if (super->constructor == NULL) {
- SWFDEC_FIXME ("figure out what happens when super doesn't have a constructor");
+ if (super-&g...
2007 Jul 07
0
Branch 'as' - 7 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h libswfdec/swfdec_as_super.c libswfdec/swfdec_as_super.h libswfdec/swfdec_as_with.c test/trace
...on_call (cx, n_args, use_super)) {
+ if (swfdec_action_call (cx, n_args)) {
+ /* setup super to point to the right prototype */
+ frame = cx->frame;
+ if (SWFDEC_IS_AS_SUPER (obj)) {
+ swfdec_as_super_replace (SWFDEC_AS_SUPER (obj), name);
+ } else if (frame->super) {
+ SwfdecAsSuper *super = SWFDEC_AS_SUPER (frame->super);
+ if (name &&
+ cx->version > 6 &&
+ swfdec_as_object_get_variable_and_flags (frame->thisp,
+ name, NULL, NULL, &super->object) &&
+ super->object == frame->thisp) {
+ super->object = sup...
2007 Aug 15
0
4 commits - libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h libswfdec/swfdec_as_super.c libswfdec/swfdec_as_with.c libswfdec/swfdec_movie.c libswfdec/swfdec_net_stream.c libswfdec/swfdec_sprite_movie.c test/trace
...c_as_super_call (SwfdecAsFunction *
}
static gboolean
-swfdec_as_super_get (SwfdecAsObject *object, const char *variable,
- SwfdecAsValue *val, guint *flags)
+swfdec_as_super_get (SwfdecAsObject *object, SwfdecAsObject *orig,
+ const char *variable, SwfdecAsValue *val, guint *flags)
{
SwfdecAsSuper *super = SWFDEC_AS_SUPER (object);
diff --git a/libswfdec/swfdec_as_with.c b/libswfdec/swfdec_as_with.c
index a000ca3..62af9b8 100644
--- a/libswfdec/swfdec_as_with.c
+++ b/libswfdec/swfdec_as_with.c
@@ -47,11 +47,14 @@ swfdec_as_with_resolve (SwfdecAsObject *
}
static gboolean
-swfdec_as_wit...
2007 Jul 04
0
Branch 'as' - 25 commits - libswfdec/Makefile.am libswfdec/swfdec_as_boolean.c libswfdec/swfdec_as_boolean.h libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.c
...ct->prototype->prototype, variable, val))
+ if (!swfdec_as_object_get_variable (super->object->prototype, variable, val))
return FALSE;
*flags = 0;
return TRUE;
@@ -136,22 +132,10 @@ swfdec_as_super_new (SwfdecAsFrame *fram
if (!swfdec_as_context_use_mem (context, sizeof (SwfdecAsSuper)))
return NULL;
ret = g_object_new (SWFDEC_TYPE_AS_SUPER, NULL);
- super = SWFDEC_AS_SUPER (ret);
- if (frame->thisp) {
- SwfdecAsValue val;
- super->object = frame->thisp;
- swfdec_as_object_get_variable (frame->thisp, SWFDEC_AS_STR___proto__, &val);
- if (SWF...
2007 Jul 18
0
12 commits - configure.ac doc/swfdec-sections.txt libswfdec-gtk/swfdec_playback_alsa.c libswfdec/jpeg libswfdec/Makefile.am libswfdec/swfdec_amf.c libswfdec/swfdec_as_array.c libswfdec/swfdec_as_boolean.h libswfdec/swfdec_as_context.c
configure.ac | 2
doc/swfdec-sections.txt | 5 -
libswfdec-gtk/swfdec_playback_alsa.c | 8 +-
libswfdec/Makefile.am | 1
libswfdec/jpeg/jpeg.c | 45 ++++++++--------
libswfdec/jpeg/jpeg.h | 2
libswfdec/swfdec_amf.c | 6 +-
libswfdec/swfdec_as_array.c
2007 Aug 16
0
Branch 'vivi' - 23 commits - libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h libswfdec/swfdec_as_super.c libswfdec/swfdec_as_with.c libswfdec/swfdec_movie.c libswfdec/swfdec_net_stream.c libswfdec/swfdec_sprite_movie.c test/trace vivified/core
...c_as_super_call (SwfdecAsFunction *
}
static gboolean
-swfdec_as_super_get (SwfdecAsObject *object, const char *variable,
- SwfdecAsValue *val, guint *flags)
+swfdec_as_super_get (SwfdecAsObject *object, SwfdecAsObject *orig,
+ const char *variable, SwfdecAsValue *val, guint *flags)
{
SwfdecAsSuper *super = SWFDEC_AS_SUPER (object);
diff --git a/libswfdec/swfdec_as_with.c b/libswfdec/swfdec_as_with.c
index a000ca3..62af9b8 100644
--- a/libswfdec/swfdec_as_with.c
+++ b/libswfdec/swfdec_as_with.c
@@ -47,11 +47,14 @@ swfdec_as_with_resolve (SwfdecAsObject *
}
static gboolean
-swfdec_as_wit...
2007 Jul 02
0
Branch 'as' - 24 commits - configure.ac doc/Makefile.am doc/swfdec-sections.txt libswfdec/Makefile.am libswfdec/swfdec_amf.c libswfdec/swfdec_as_array.c libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_frame.c
...bswfdec/swfdec_as_super.c
+++ b/libswfdec/swfdec_as_super.c
@@ -27,6 +27,7 @@
#include "swfdec_as_context.h"
#include "swfdec_as_frame.h"
#include "swfdec_as_function.h"
+#include "swfdec_as_strings.h"
#include "swfdec_debug.h"
G_DEFINE_TYPE (SwfdecAsSuper, swfdec_as_super, SWFDEC_TYPE_AS_FUNCTION)
diff --git a/libswfdec/swfdec_as_types.h b/libswfdec/swfdec_as_types.h
index 2a8cb79..a44d041 100644
--- a/libswfdec/swfdec_as_types.h
+++ b/libswfdec/swfdec_as_types.h
@@ -22,8 +22,6 @@
#include <glib.h>
-#include "swfdec_as_strings.h"...