Displaying 14 results from an estimated 14 matches for "swfdec_as_frame_return".
2007 Dec 02
2
[Bug 13491] New: 5min.com player causes assertion
...AssignedTo: swfdec at lists.freedesktop.org
ReportedBy: amd at store20.com
QAContact: swfdec at lists.freedesktop.org
Getting following assertion with all the 5min.com videos:
SWFDEC: ERROR: swfdec_as_context.c(171): swfdec_as_context_abort: Stack
overflow
Swfdec-CRITICAL **: swfdec_as_frame_return: assertion `frame == context->frame'
failed
aborting...
Program received signal SIGABRT, Aborted.
[Switching to Thread 0x2af7f6a238b0 (LWP 21161)]
0x00002af7ef7a0185 in *__GI_raise (sig=<value optimized out>)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
(gdb) bt full
#0 0x00002a...
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
...| context->state == SWFDEC_AS_CONTEXT_ABORTED)
return;
klass = SWFDEC_AS_CONTEXT_GET_CLASS (context);
@@ -627,7 +627,7 @@ start:
pc = frame->pc;
check_scope = TRUE;
- while (TRUE) {
+ while (context->state < SWFDEC_AS_CONTEXT_ABORTED) {
if (pc == endpc) {
swfdec_as_frame_return (frame);
goto start;
diff-tree ac1343606dba8169ab163a97a564cde0bbe22a7a (from 2e1af44affe8e070f1f649c5f36fb922015a003f)
Author: Benjamin Otte <otte at gnome.org>
Date: Sun Jul 1 00:31:34 2007 +0100
the frame can be NULL, too
diff --git a/libswfdec/swfdec_as_script_function.c b/...
2007 Jul 25
0
2 commits - libswfdec/swfdec_as_context.c
...dec_as_context.c b/libswfdec/swfdec_as_context.c
index 227444e..2dab0be 100644
--- a/libswfdec/swfdec_as_context.c
+++ b/libswfdec/swfdec_as_context.c
@@ -809,7 +809,8 @@ start:
}
error:
- context->frame = context->last_frame;
+ while (context->frame != context->last_frame)
+ swfdec_as_frame_return (context->frame, NULL);
out:
context->last_frame = last_frame;
return;
2007 Sep 13
0
5 commits - libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame_internal.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_scope.c libswfdec/swfdec_as_scope.h libswfdec/swfdec_as_script_function.c
...diff --git a/libswfdec/swfdec_as_context.c b/libswfdec/swfdec_as_context.c
index e332c5b..035e1fd 100644
--- a/libswfdec/swfdec_as_context.c
+++ b/libswfdec/swfdec_as_context.c
@@ -797,6 +797,10 @@ start:
goto start;
}
if (pc < startpc || pc >= endpc) {
+ if (pc == endpc) {
+ swfdec_as_frame_return (frame, NULL);
+ goto start;
+ }
SWFDEC_ERROR ("pc %p not in valid range [%p, %p) anymore", pc, startpc, endpc);
goto error;
}
diff-tree c4ba717de9a7bcabb49dcf5efd94c0dfd4a1fea5 (from parents)
Merge: f5f3a3978cf4b5ce623f2d0118f5936c9d1608a6 8fcb6912a4fb328bc33fea63...
2007 Jul 13
0
3 commits - doc/Makefile.am doc/swfdec-docs.sgml doc/swfdec-sections.txt libswfdec/Makefile.am libswfdec/swfdec_as_array.c libswfdec/swfdec_as_boolean.c libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_frame.c
...-};
-
-struct _SwfdecAsFrameClass {
- SwfdecAsScopeClass scope_class;
-};
-
GType swfdec_as_frame_get_type (void);
-SwfdecAsFrame * swfdec_as_frame_new (SwfdecAsContext * context,
- SwfdecScript * script);
-SwfdecAsFrame * swfdec_as_frame_new_native (SwfdecAsContext * context);
-void swfdec_as_frame_return (SwfdecAsFrame * frame,
- SwfdecAsValue * return_value);
-
-void swfdec_as_frame_set_this (SwfdecAsFrame * frame,
- SwfdecAsObject * thisp);
-void swfdec_as_frame_preload (SwfdecAsFrame * frame);
-
-SwfdecAsObject *swfdec_as_frame_find_variable (SwfdecAsFrame * frame,
- const...
2007 Oct 28
0
9 commits - configure.ac libswfdec/swfdec_as_context.c libswfdec/swfdec_audio_internal.h libswfdec/swfdec_codec_audio.c libswfdec/swfdec_codec_gst.c libswfdec/swfdec_sound.c
...heck_block && (pc < frame->block_start || pc >= frame->block_end)) {
- SWFDEC_LOG ("code exited block");
- swfdec_as_frame_pop_block (frame);
- pc = frame->pc;
- if (frame != context->frame)
- goto start;
- }
if (pc == exitpc) {
swfdec_as_frame_return (frame, NULL);
goto start;
@@ -878,6 +871,13 @@ start:
SWFDEC_ERROR ("pc %p not in valid range [%p, %p) anymore", pc, startpc, endpc);
goto error;
}
+ if (check_block && (pc < frame->block_start || pc >= frame->block_end)) {
+ SWFDEC_L...
2007 Oct 28
0
4 commits - libswfdec-gtk/swfdec_gtk_loader.c libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame_internal.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_loader.c libswfdec/swfdec_loader.h libswfdec/swfdec_load_object.c
...side a Try block */
while (cx->exception && frame->blocks->len) {
- swfdec_as_frame_check_block (frame);
+ swfdec_as_frame_pop_block (frame);
}
- /* exit frame, nothing caught the exception */
+ /* no Try blocks caught it, exit frame */
if (cx->exception) {
swfdec_as_frame_return (frame, NULL);
}
diff --git a/libswfdec/swfdec_as_frame_internal.h b/libswfdec/swfdec_as_frame_internal.h
index 1e2075d..d50a9ce 100644
--- a/libswfdec/swfdec_as_frame_internal.h
+++ b/libswfdec/swfdec_as_frame_internal.h
@@ -101,10 +101,8 @@ void swfdec_as_frame_push_block (SwfdecAsFrame * fra...
2007 Sep 08
0
9 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_internal.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_movie.c libswfdec/swfdec_player.c libswfdec/swfdec_video_movie_as.c
...ck */
@@ -727,6 +728,7 @@ swfdec_as_context_run (SwfdecAsContext *
last_frame = context->last_frame;
context->last_frame = context->frame->next;
+ original_version = context->version;
start:
/* setup data */
frame = context->frame;
@@ -899,6 +901,7 @@ error:
swfdec_as_frame_return (context->frame, NULL);
out:
context->last_frame = last_frame;
+ context->version = original_version;
return;
}
diff-tree ddbf2fc319736342e5c3888a83b827a4276ea637 (from b4a71766918c51dec8be9a0b8fae6e6766bad8c9)
Author: Benjamin Otte <otte at gnome.org>
Date: Sat Sep 8 20...
2007 Oct 28
1
9 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame_internal.h libswfdec/swfdec_as_object.c libswfdec/swfdec_codec_gst.c test/trace
...;
+ g_return_if_fail (cx->exception);
+
+ /* pop blocks in the hope that we are inside a Try block */
+ while (cx->exception && frame->blocks->len) {
+ swfdec_as_frame_pop_block (frame);
+ }
+ /* exit frame, nothing caught the exception */
+ if (cx->exception) {
+ swfdec_as_frame_return (frame, NULL);
+ }
+}
+
/**
* swfdec_as_frame_get_next:
* @frame: a #SwfdecAsFrame
diff --git a/libswfdec/swfdec_as_frame_internal.h b/libswfdec/swfdec_as_frame_internal.h
index b09fb9c..1e2075d 100644
--- a/libswfdec/swfdec_as_frame_internal.h
+++ b/libswfdec/swfdec_as_frame_internal.h
@@ -1...
2007 Aug 15
0
Branch 'vivi' - 13 commits - doc/swfdec-sections.txt libswfdec/swfdec_as_debugger.h libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_types.h vivified/core vivified/ui
...wfdecAsFrame * frame,
+ SwfdecAsValue * return_value);
};
GType swfdec_as_debugger_get_type (void);
diff --git a/libswfdec/swfdec_as_frame.c b/libswfdec/swfdec_as_frame.c
index 4608b0a..3a08819 100644
--- a/libswfdec/swfdec_as_frame.c
+++ b/libswfdec/swfdec_as_frame.c
@@ -419,6 +419,12 @@ swfdec_as_frame_return (SwfdecAsFrame *f
swfdec_as_stack_pop_segment (context);
}
}
+ if (context->debugger) {
+ SwfdecAsDebuggerClass *klass = SWFDEC_AS_DEBUGGER_GET_CLASS (context->debugger);
+
+ if (klass->finish_frame)
+ klass->finish_frame (context->debugger, context, frame,...
2007 Oct 17
0
28 commits - configure.ac debian/changelog debian/control debian/copyright debian/.gitignore debian/libswfdec0.dirs debian/libswfdec0.files debian/libswfdec0.shlibs debian/libswfdec-dev.dirs debian/libswfdec-dev.files debian/rules debian/swf-player.dirs
...ff --git a/libswfdec/swfdec_as_frame_internal.h b/libswfdec/swfdec_as_frame_internal.h
index 4088f3d..b09fb9c 100644
--- a/libswfdec/swfdec_as_frame_internal.h
+++ b/libswfdec/swfdec_as_frame_internal.h
@@ -70,6 +70,8 @@ SwfdecAsFrame * swfdec_as_frame_new_native (SwfdecAsContext * context);
void swfdec_as_frame_return (SwfdecAsFrame * frame,
SwfdecAsValue * return_value);
+void swfdec_as_frame_set_security (SwfdecAsFrame * frame,
+ SwfdecSecurity * guard);
void swfdec_as_frame_set_this (SwfdecAsFrame * frame,
SwfdecAsObject * thisp);
void swfdec_as_frame_preload (SwfdecAsFrame * fr...
2007 Aug 23
0
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
...ject 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)
+ klas...
2008 Jan 21
0
70 commits - configure.ac libswfdec-gtk/Makefile.am libswfdec-gtk/swfdec-gtk.h libswfdec-gtk/swfdec_gtk_loader.c libswfdec-gtk/swfdec_gtk_player.c libswfdec-gtk/swfdec_gtk_socket.c libswfdec-gtk/swfdec_gtk_socket.h libswfdec-gtk/swfdec_playback_alsa.c
...+805,6 @@ start:
swfdec_as_context_abort (context, "Stack overflow");
goto error;
}
- /* if security is NULL, the function may not be called */
- if (frame->security == NULL) {
- SWFDEC_WARNING ("insufficient right to call %s", frame->function_name);
- swfdec_as_frame_return (frame, NULL);
- goto start;
- }
if (SWFDEC_IS_AS_NATIVE_FUNCTION (frame->function)) {
SwfdecAsNativeFunction *native = SWFDEC_AS_NATIVE_FUNCTION (frame->function);
SwfdecAsValue rval = { 0, };
@@ -1344,7 +1339,7 @@ swfdec_as_context_parseFloat (SwfdecAsContext *cx, SwfdecAsO...
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
...wfdecAsFrame * frame,
+ SwfdecAsValue * return_value);
};
GType swfdec_as_debugger_get_type (void);
diff --git a/libswfdec/swfdec_as_frame.c b/libswfdec/swfdec_as_frame.c
index 4608b0a..3a08819 100644
--- a/libswfdec/swfdec_as_frame.c
+++ b/libswfdec/swfdec_as_frame.c
@@ -419,6 +419,12 @@ swfdec_as_frame_return (SwfdecAsFrame *f
swfdec_as_stack_pop_segment (context);
}
}
+ if (context->debugger) {
+ SwfdecAsDebuggerClass *klass = SWFDEC_AS_DEBUGGER_GET_CLASS (context->debugger);
+
+ if (klass->finish_frame)
+ klass->finish_frame (context->debugger, context, frame,...