Displaying 10 results from an estimated 10 matches for "swfdec_as_object_hash_create".
2007 Aug 19
0
2 commits - libswfdec/swfdec_as_array.c 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_player.c libswfdec/swfdec_sprite_movie.c
...length
if (indexvar) {
diff --git a/libswfdec/swfdec_as_object.c b/libswfdec/swfdec_as_object.c
index 2150244..811be98 100644
--- a/libswfdec/swfdec_as_object.c
+++ b/libswfdec/swfdec_as_object.c
@@ -157,7 +157,7 @@ swfdec_as_object_hash_lookup (SwfdecAsOb
}
static inline SwfdecAsVariable *
-swfdec_as_object_hash_create (SwfdecAsObject *object, const char *variable)
+swfdec_as_object_hash_create (SwfdecAsObject *object, const char *variable, guint flags)
{
SwfdecAsVariable *var;
@@ -166,6 +166,7 @@ swfdec_as_object_hash_create (SwfdecAsOb
if (!swfdec_as_variable_name_is_valid (variable))
return NULL;...
2007 Aug 15
3
2 commits - libswfdec/swfdec_as_object.c test/trace
...id (const char *name)
+{
+ return name != SWFDEC_AS_STR_EMPTY;
+}
+
static inline SwfdecAsVariable *
swfdec_as_object_hash_lookup (SwfdecAsObject *object, const char *variable)
{
@@ -150,6 +156,21 @@ swfdec_as_object_hash_lookup (SwfdecAsOb
return var;
}
+static inline SwfdecAsVariable *
+swfdec_as_object_hash_create (SwfdecAsObject *object, const char *variable)
+{
+ SwfdecAsVariable *var;
+
+ if (!swfdec_as_context_use_mem (object->context, sizeof (SwfdecAsVariable)))
+ return NULL;
+ if (!swfdec_as_variable_name_is_valid (variable))
+ return NULL;
+ var = g_slice_new0 (SwfdecAsVariable);
+ g_ha...
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
...We need access to the original object, so we can call the getter function
with that object.
diff --git a/libswfdec/swfdec_as_object.c b/libswfdec/swfdec_as_object.c
index b1d06e5..8999597 100644
--- a/libswfdec/swfdec_as_object.c
+++ b/libswfdec/swfdec_as_object.c
@@ -172,8 +172,8 @@ swfdec_as_object_hash_create (SwfdecAsOb
}
static gboolean
-swfdec_as_object_do_get (SwfdecAsObject *object, const char *variable,
- SwfdecAsValue *val, guint *flags)
+swfdec_as_object_do_get (SwfdecAsObject *object, SwfdecAsObject *orig,
+ const char *variable, SwfdecAsValue *val, guint *flags)
{
SwfdecAsVariab...
2007 Sep 10
0
3 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h
...f (watch);
+ swfdec_as_function_call (watch->watch, object, 4, args, &ret);
swfdec_as_context_run (object->context);
- var->value = ret;
- var->watch_recurse--;
+ swfdec_as_watch_unref (watch);
+ var = swfdec_as_object_hash_lookup (object, variable);
+ if (var == NULL) {
+ var = swfdec_as_object_hash_create (object, variable, flags);
+ if (var == NULL)
+ return;
+ }
}
+ var->value = ret;
} else {
var->value = *val;
}
@@ -329,12 +390,8 @@ swfdec_as_object_do_set_flags (SwfdecAsO
static void
swfdec_as_object_free_property (gpointer key, gpointer value, gpointer...
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
...We need access to the original object, so we can call the getter function
with that object.
diff --git a/libswfdec/swfdec_as_object.c b/libswfdec/swfdec_as_object.c
index b1d06e5..8999597 100644
--- a/libswfdec/swfdec_as_object.c
+++ b/libswfdec/swfdec_as_object.c
@@ -172,8 +172,8 @@ swfdec_as_object_hash_create (SwfdecAsOb
}
static gboolean
-swfdec_as_object_do_get (SwfdecAsObject *object, const char *variable,
- SwfdecAsValue *val, guint *flags)
+swfdec_as_object_do_get (SwfdecAsObject *object, SwfdecAsObject *orig,
+ const char *variable, SwfdecAsValue *val, guint *flags)
{
SwfdecAsVariab...
2007 Aug 20
0
Branch 'vivi' - 60 commits - libswfdec-gtk/swfdec_gtk_loader.c libswfdec/Makefile.am libswfdec/swfdec_as_array.c libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame_internal.h libswfdec/swfdec_as_interpret.c
...length
if (indexvar) {
diff --git a/libswfdec/swfdec_as_object.c b/libswfdec/swfdec_as_object.c
index 2150244..811be98 100644
--- a/libswfdec/swfdec_as_object.c
+++ b/libswfdec/swfdec_as_object.c
@@ -157,7 +157,7 @@ swfdec_as_object_hash_lookup (SwfdecAsOb
}
static inline SwfdecAsVariable *
-swfdec_as_object_hash_create (SwfdecAsObject *object, const char *variable)
+swfdec_as_object_hash_create (SwfdecAsObject *object, const char *variable, guint flags)
{
SwfdecAsVariable *var;
@@ -166,6 +166,7 @@ swfdec_as_object_hash_create (SwfdecAsOb
if (!swfdec_as_variable_name_is_valid (variable))
return NULL;...
2007 Nov 02
0
5 commits - libswfdec/swfdec_as_array.c libswfdec/swfdec_as_array.h libswfdec/swfdec_as_date.c libswfdec/swfdec_as_date.h libswfdec/swfdec_as_initialize.as libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_filter.c
...+ SwfdecAsVariable *var;
+ SwfdecAsWatch *watch;
+
+ if (!swfdec_as_variable_name_is_valid (variable))
+ return;
+
+ var = swfdec_as_object_hash_lookup_with_prototype (object, variable);
+ if (swfdec_as_context_is_aborted (object->context))
+ return;
+
if (var == NULL) {
var = swfdec_as_object_hash_create (object, variable, flags);
if (var == NULL)
@@ -417,9 +433,13 @@ swfdec_as_object_do_set (SwfdecAsObject *object, const char *variable,
swfdec_as_function_call (watch->watch, object, 4, args, &ret);
swfdec_as_context_run (object->context);
swfdec_as_watch_unref (...
2007 Sep 11
0
8 commits - libswfdec/swfdec_as_function.c libswfdec/swfdec_as_initialize.as libswfdec/swfdec_as_initialize.h libswfdec/swfdec_as_object.c libswfdec/swfdec_as_strings.c test/trace
...gs[3] = watch->watch_data;
- swfdec_as_watch_ref (watch);
- swfdec_as_function_call (watch->watch, object, 4, args, &ret);
- swfdec_as_context_run (object->context);
- swfdec_as_watch_unref (watch);
- var = swfdec_as_object_hash_lookup (object, variable);
- if (var == NULL) {
- var = swfdec_as_object_hash_create (object, variable, flags);
- if (var == NULL)
- return;
- }
- }
- var->value = ret;
- } else {
- var->value = *val;
- }
+ } else if (!object->watches) {
+ var->value = *val;
}
if (variable == SWFDEC_AS_STR___proto__) {
if (SWFDEC_AS_VALUE_IS_OBJ...
2007 Nov 26
0
14 commits - libswfdec/swfdec_as_object.c libswfdec/swfdec_file_reference.c libswfdec/swfdec_load_object.c libswfdec/swfdec_sprite_movie_as.c libswfdec/swfdec_system_security.c test/trace
...iki.fi>
Date: Mon Nov 26 14:47:53 2007 +0200
Fix handling of propflags when setting variables
diff --git a/libswfdec/swfdec_as_object.c b/libswfdec/swfdec_as_object.c
index 09c073f..8414e6a 100644
--- a/libswfdec/swfdec_as_object.c
+++ b/libswfdec/swfdec_as_object.c
@@ -214,6 +214,22 @@ swfdec_as_object_hash_create (SwfdecAsObject *object, const char *variable, guin
}
static gboolean
+swfdec_as_object_variable_enabled_in_version (SwfdecAsVariable *var,
+ guint version)
+{
+ if (var->flags & SWFDEC_AS_VARIABLE_VERSION_6_UP && version < 6)
+ return FALSE;
+ if (var->flags &...
2007 Aug 22
0
163 commits - autogen.sh configure.ac doc/swfdec-sections.txt libswfdec-gtk/swfdec_gtk_player.c libswfdec-gtk/swfdec_gtk_player.h libswfdec-gtk/swfdec_gtk_widget.c libswfdec-gtk/swfdec_source.c libswfdec/Makefile.am libswfdec/swfdec_as_array.c
...gs if the variable existed, not on newly created one
diff --git a/libswfdec/swfdec_as_object.c b/libswfdec/swfdec_as_object.c
index edd8258..7d7062f 100644
--- a/libswfdec/swfdec_as_object.c
+++ b/libswfdec/swfdec_as_object.c
@@ -246,9 +246,10 @@ swfdec_as_object_do_set (SwfdecAsObject
var = swfdec_as_object_hash_create (object, variable, flags);
if (var == NULL)
return;
+ } else {
+ if (var->flags & SWFDEC_AS_VARIABLE_CONSTANT)
+ return;
}
- if (var->flags & SWFDEC_AS_VARIABLE_CONSTANT)
- return;
if (var->get) {
if (var->set) {
SwfdecAsValue tmp;
diff...