Displaying 20 results from an estimated 23 matches for "swfdec_movie_remove".
2007 Nov 10
6
[Bug 13167] New: crash firefox if you close tab while playing flash files
...adfdbe0, 
    type=SWFDEC_EVENT_UNLOAD, importance=2) at swfdec_player.c:412
#7  0xb04ae6b8 in swfdec_movie_queue_script (movie=0xadfdbe0, 
    condition=SWFDEC_EVENT_UNLOAD) at swfdec_movie.c:469
#8  0xb04aeb16 in swfdec_movie_do_remove (movie=0xadfdbe0)
    at swfdec_movie.c:272
#9  0xb04aed57 in swfdec_movie_remove (movie=0xadfdbe0) at swfdec_movie.c:292
#10 0xb04aeb30 in swfdec_movie_do_remove (movie=0xe72c228)
    at swfdec_movie.c:262
#11 0xb04aed57 in swfdec_movie_remove (movie=0xe72c228) at swfdec_movie.c:292
#12 0xb04aeb30 in swfdec_movie_do_remove (movie=0xb007610)
    at swfdec_movie.c:262
#13 0xb04ae...
2007 Nov 08
0
libswfdec/swfdec_load_object.c libswfdec/swfdec_movie.c libswfdec/swfdec_player.c libswfdec/swfdec_player_internal.h libswfdec/swfdec_resource.c libswfdec/swfdec_resource.h
...= mov->original_name;
+    /* FIXME: are events copied? If so, wouldn't that be a security issue? */
+    swfdec_movie_set_static_properties (copy, &mov->original_transform,
+	&mov->original_ctrans, mov->original_ratio, mov->clip_depth, 
+	mov->blend_mode, NULL);
+    swfdec_movie_remove (mov);
+    movie = SWFDEC_SPRITE_MOVIE (copy);
+  }
+  swfdec_player_unroot_object (player, G_OBJECT (resource));
+  return TRUE;
+}
+
 static void
 swfdec_resource_loader_target_open (SwfdecLoaderTarget *target, SwfdecLoader *loader)
 {
   SwfdecResource *instance = SWFDEC_RESOURCE (target);
   c...
2007 Nov 22
0
5 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_bits.c libswfdec/swfdec_bits.h libswfdec/swfdec_debugger.c libswfdec/swfdec_movie.c libswfdec/swfdec_script.c libswfdec/swfdec_sprite_movie.c libswfdec/swfdec_tag.c libswfdec/swfdec_text_field.c
...b8dd6afb96f0cec4f3fb
Author: Benjamin Otte <otte at gnome.org>
Date:   Tue Nov 20 23:38:38 2007 +0100
    fix typo
diff --git a/libswfdec/swfdec_movie.c b/libswfdec/swfdec_movie.c
index 0fbf8a2..69a265b 100644
--- a/libswfdec/swfdec_movie.c
+++ b/libswfdec/swfdec_movie.c
@@ -308,7 +308,7 @@ swfdec_movie_remove (SwfdecMovie *movie)
  *
  * Removes this movie from its parent. After this it will no longer be present,
  * neither visually nor via ActionScript. This function will not cause an 
- * unload event. Compare with swfdec_movie_destroy ().
+ * unload event. Compare with swfdec_movie_remove ().
  **/...
2007 Jun 15
0
Branch 'as' - 2 commits - libswfdec/swfdec_as_strings.c libswfdec/swfdec_sprite_movie_as.c test/trace
...decAsValue *rval)
+{
+  SwfdecMovie *movie, *parent;
+  int depth;
+  const char *name;
+
+  parent = SWFDEC_MOVIE (obj);
+  name = swfdec_as_value_to_string (cx, &argv[0]);
+  depth = swfdec_as_value_to_number (cx, &argv[1]);
+  movie = swfdec_movie_find (parent, depth);
+  if (movie)
+    swfdec_movie_remove (movie);
+  movie = swfdec_movie_new (SWFDEC_PLAYER (cx), depth, parent, NULL, name);
+  SWFDEC_AS_VALUE_SET_OBJECT (rval, SWFDEC_AS_OBJECT (movie));
+}
+
+static void
 swfdec_sprite_movie_copy_props (SwfdecMovie *target, SwfdecMovie *src)
 {
   target->matrix = src->matrix;
@@ -421,6 +439,10...
2007 Nov 28
0
7 commits - configure.ac libswfdec/swfdec_movie.c libswfdec/swfdec_movie.h libswfdec/swfdec_sprite_movie.c test/trace
...pth)
 }
 
 static gboolean
-swfdec_movie_do_remove (SwfdecMovie *movie)
+swfdec_movie_do_remove (SwfdecMovie *movie, gboolean destroy)
 {
   SwfdecPlayer *player;
 
@@ -267,7 +267,7 @@ swfdec_movie_do_remove (SwfdecMovie *movie)
       walk = walk->next;
     if (walk == NULL)
       break;
-    swfdec_movie_remove (walk->data);
+    destroy &= swfdec_movie_do_remove (walk->data, destroy);
   }
   /* FIXME: all of this here or in destroy callback? */
   if (player->mouse_grab == movie)
@@ -275,16 +275,17 @@ swfdec_movie_do_remove (SwfdecMovie *movie)
   if (player->mouse_drag == movie)
     pl...
2007 Jun 13
0
Branch 'as' - 6 commits - libswfdec/swfdec_as_array.c libswfdec/swfdec_button_movie.c libswfdec/swfdec_morph_movie.c libswfdec/swfdec_movie_asprops.c libswfdec/swfdec_movie.c libswfdec/swfdec_movie.h libswfdec/swfdec_player.c libswfdec/swfdec_sprite.c
...(SwfdecMovie *		parent,
 						 const SwfdecContent *	content);
-SwfdecMovie *	swfdec_movie_new_for_player	(SwfdecPlayer *		player,
-						 guint			depth);
 void		swfdec_movie_initialize		(SwfdecMovie *		movie);
 SwfdecMovie *	swfdec_movie_find		(SwfdecMovie *		movie,
 						 int			depth);
 void		swfdec_movie_remove		(SwfdecMovie *		movie);
 void		swfdec_movie_destroy		(SwfdecMovie *		movie);
-void		swfdec_movie_set_content	(SwfdecMovie *		movie,
-						 const SwfdecContent *	content);
+void		swfdec_movie_set_static_properties 
+						(SwfdecMovie *		movie,
+						 const cairo_matrix_t *	transform,
+						 con...
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
...ables (SWFDEC_SCRIPTABLE (movie), variables);
   swfdec_loader_set_target (root->loader, SWFDEC_LOADER_TARGET (root));
-  found = g_list_find_custom (player->roots, movie, swfdec_movie_compare_depths);
-  if (found) {
-    SWFDEC_DEBUG ("remove existing movie _level%u", depth);
-    swfdec_movie_remove (found->data);
-    player->roots = g_list_delete_link (player->roots, found);
-  }
-  player->roots = g_list_insert_sorted (player->roots, movie, swfdec_movie_compare_depths);
   return root;
 }
 
@@ -981,7 +974,6 @@ swfdec_player_remove_level (SwfdecPlayer
     if (movie->depth...
2007 Nov 09
0
10 commits - doc/swfdec-sections.txt libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h libswfdec/swfdec_loader.c libswfdec/swfdec_movie.c libswfdec/swfdec_movie_clip_loader.c libswfdec/swfdec_movie.h
...swfdec_sprite_movie.c b/libswfdec/swfdec_sprite_movie.c
index 1ae7480..888c160 100644
--- a/libswfdec/swfdec_sprite_movie.c
+++ b/libswfdec/swfdec_sprite_movie.c
@@ -816,7 +816,7 @@ swfdec_sprite_movie_unload (SwfdecSpriteMovie *movie)
   /* FIXME: destroy or unload? */
   while (mov->list)
     swfdec_movie_remove (mov->list->data);
-  swfdec_as_object_clear_variables (SWFDEC_AS_OBJECT (movie));
+  swfdec_as_object_delete_all_variables (SWFDEC_AS_OBJECT (movie));
   movie->frame = (guint) -1;
   movie->n_frames = 0;
   movie->next_action = 0;
commit 525f27cdaa0c2407c8662fa686a5a49005471dae
Aut...
2007 Jun 28
0
Branch 'as' - 5 commits - libswfdec-gtk/swfdec_playback_alsa.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_movie.c test/trace
...(!SWFDEC_IS_MOVIE (sprite)) {
+    SWFDEC_FIXME ("cannot remove non movieclip objects");
+    return;
+  }
+  movie = SWFDEC_MOVIE (sprite);
+  if (swfdec_depth_classify (movie->depth) == SWFDEC_DEPTH_CLASS_DYNAMIC) {
+    SWFDEC_LOG ("removing clip %s", movie->name);
+    swfdec_movie_remove (movie);
+  }
+}
+
 /*** PRINT FUNCTIONS ***/
 
 static char *
@@ -2336,7 +2365,7 @@ const SwfdecActionSpec swfdec_as_actions
   [SWFDEC_AS_ACTION_GET_PROPERTY] = { "GetProperty", NULL, 2, 1, { NULL, swfdec_action_get_property, swfdec_action_get_property, swfdec_action_get_property, swfde...
2007 Sep 06
0
3 commits - libswfdec/swfdec_as_date.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_movie.c libswfdec/swfdec_movie.h libswfdec/swfdec_sprite_movie.c
...ie.h
@@ -174,6 +174,8 @@ SwfdecMovie *	swfdec_movie_duplicate		(S
 void		swfdec_movie_initialize		(SwfdecMovie *		movie);
 SwfdecMovie *	swfdec_movie_find		(SwfdecMovie *		movie,
 						 int			depth);
+SwfdecMovie *	swfdec_movie_get_by_name	(SwfdecMovie *		movie,
+						 const char *		name);
 void		swfdec_movie_remove		(SwfdecMovie *		movie);
 void		swfdec_movie_destroy		(SwfdecMovie *		movie);
 void		swfdec_movie_set_static_properties 
diff --git a/libswfdec/swfdec_sprite_movie.c b/libswfdec/swfdec_sprite_movie.c
index 8658bd3..31d8cf7 100644
--- a/libswfdec/swfdec_sprite_movie.c
+++ b/libswfdec/swfdec_sprite_m...
2007 Oct 18
0
18 commits - doc/swfdec-sections.txt libswfdec/Makefile.am libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_strings.c libswfdec/swfdec_button_movie.c libswfdec/swfdec_event.c libswfdec/swfdec_event.h libswfdec/swfdec_flash_security.c
...ia the movie */
+  if (resource->movie == NULL) {
+    g_assert (SWFDEC_IS_SPRITE_MOVIE (movie));
+    swfdec_resource_set_movie (resource, SWFDEC_SPRITE_MOVIE (movie));
+  }
   return movie;
 }
 
@@ -1372,7 +1380,7 @@ swfdec_movie_duplicate (SwfdecMovie *movie, const char *name, int depth)
     swfdec_movie_remove (copy);
   }
   copy = swfdec_movie_new (SWFDEC_PLAYER (SWFDEC_AS_OBJECT (movie)->context), depth, 
-      parent, movie->graphic, name);
+      parent, movie->resource, movie->graphic, name);
   if (copy == NULL)
     return NULL;
   swfdec_movie_set_static_properties (copy, &movie...
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
...;
Date:   Tue Feb 20 11:58:34 2007 +0100
    make the actions take any gpointer instead of just SwfdecMovies for actions
diff --git a/libswfdec/swfdec_movie.c b/libswfdec/swfdec_movie.c
index cbb787c..a1df353 100644
--- a/libswfdec/swfdec_movie.c
+++ b/libswfdec/swfdec_movie.c
@@ -334,8 +334,9 @@ swfdec_movie_remove (SwfdecMovie *movie)
 }
 
 static void
-swfdec_movie_execute_script (SwfdecMovie *movie, gpointer data)
+swfdec_movie_execute_script (gpointer moviep, gpointer data)
 {
+  SwfdecMovie *movie = moviep;
   guint condition = GPOINTER_TO_UINT (data);
 
   g_assert (movie->content->events);
diff -...
2007 Mar 07
0
13 commits - libswfdec/Makefile.am libswfdec/swfdec_js_global.c libswfdec/swfdec_js_movie.c libswfdec/swfdec_root_movie.c libswfdec/swfdec_root_movie.h libswfdec/swfdec_script.c libswfdec/swfdec_sprite.h libswfdec/swfdec_sprite_movie.c
...only use attachMovie with sprites");
+    }
+    return JS_TRUE;
+  }
+  if (!JS_ValueToECMAInt32 (cx, argv[1], &depth))
+    return JS_FALSE;
+  if (swfdec_depth_classify (depth) == SWFDEC_DEPTH_CLASS_EMPTY)
+    return JS_TRUE;
+  ret = swfdec_movie_find (movie, depth);
+  if (ret)
+    swfdec_movie_remove (ret);
+  content = swfdec_content_new (depth);
+  content->graphic = sprite;
+  content->depth = depth;
+  content->clip_depth = 0; /* FIXME: check this */
+  content->name = g_strdup (name);
+  content->sequence = content;
+  content->start = 0;
+  content->end = G_MAXUINT;
+...
2007 Nov 12
0
13 commits - libswfdec/Makefile.am libswfdec/swfdec_decoder.c libswfdec/swfdec_decoder.h libswfdec/swfdec_flv_decoder.c libswfdec/swfdec_flv_decoder.h libswfdec/swfdec_image.c libswfdec/swfdec_image_decoder.c libswfdec/swfdec_image_decoder.h
...n = mov->rotation;
   /* FIXME: are events copied? If so, wouldn't that be a security issue? */
   swfdec_movie_set_static_properties (copy, &mov->original_transform,
       &mov->original_ctrans, mov->original_ratio, mov->clip_depth, 
       mov->blend_mode, NULL);
   swfdec_movie_remove (mov);
+  swfdec_movie_queue_update (copy, SWFDEC_MOVIE_INVALID_MATRIX);
   return SWFDEC_SPRITE_MOVIE (copy);
 }
 
commit 74c1e34359f4ecfbe78896a42ff6bf3f79b27d14
Author: Benjamin Otte <otte at gnome.org>
Date:   Mon Nov 12 17:23:56 2007 +0100
    set loader size on decoder
    
    This is...
2007 Nov 01
0
3 commits - libswfdec/Makefile.am libswfdec/swfdec_as_interpret.c libswfdec/swfdec_loader.c libswfdec/swfdec_loader_internal.h libswfdec/swfdec_load_object_as.c libswfdec/swfdec_load_object.c libswfdec/swfdec_net_stream.c libswfdec/swfdec_player.c
...- 16384;
-
-  for (walk = player->roots; walk; walk = walk->next) {
-    SwfdecMovie *movie = walk->data;
-
-    if (movie->depth < real_depth)
-      continue;
-
-    if (movie->depth == real_depth) {
-      SWFDEC_DEBUG ("remove existing movie _level%u", depth);
-      swfdec_movie_remove (movie);
-      return;
-    }
-    break;
-  }
-  SWFDEC_LOG ("no movie to remove at level %u", depth);
-}
-
 static gboolean
 is_ascii (const char *s)
 {
diff --git a/libswfdec/swfdec_player_internal.h b/libswfdec/swfdec_player_internal.h
index e0c480a..91f48f9 100644
--- a/libswfdec/sw...
2007 Jun 27
0
Branch 'as' - 6 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_movie_asprops.c libswfdec/swfdec_movie.c libswfdec/swfdec_movie.h libswfdec/swfdec_sprite.c libswfdec/swfdec_sprite.h libswfdec/swfdec_sprite_movie_as.c
...l any function on it.
diff --git a/libswfdec/swfdec_sprite_movie_as.c b/libswfdec/swfdec_sprite_movie_as.c
index 7cd80ec..fd3a601 100644
--- a/libswfdec/swfdec_sprite_movie_as.c
+++ b/libswfdec/swfdec_sprite_movie_as.c
@@ -286,6 +286,7 @@ swfdec_sprite_movie_createEmptyMovieClip
   if (movie)
     swfdec_movie_remove (movie);
   movie = swfdec_movie_new (SWFDEC_PLAYER (cx), depth, parent, NULL, name);
+  swfdec_movie_initialize (movie);
   SWFDEC_AS_VALUE_SET_OBJECT (rval, SWFDEC_AS_OBJECT (movie));
 }
 
diff-tree 055c7160ab34b2062c1ca1da5141ac02b25a7062 (from 3f21f4a288e09a03206ff52f1e3fd5496233a7f1)
Author: B...
2007 Jun 05
0
Branch 'as' - 8 commits - libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_number.c libswfdec/swfdec_as_scope.h
...oving %s %s", G_OBJECT_TYPE_NAME (movie), movie->name);
 
+  player = SWFDEC_PLAYER (SWFDEC_AS_OBJECT (movie)->context);
   movie->will_be_removed = TRUE;
   while (movie->list) {
     GList *walk = movie->list;
@@ -283,10 +286,10 @@ swfdec_movie_do_remove (SwfdecMovie *mov
     swfdec_movie_remove (walk->data);
   }
   /* FIXME: all of this here or in destroy callback? */
-  if (SWFDEC_ROOT_MOVIE (movie->root)->player->mouse_grab == movie)
-    SWFDEC_ROOT_MOVIE (movie->root)->player->mouse_grab = NULL;
-  if (SWFDEC_ROOT_MOVIE (movie->root)->player->mouse_drag...
2007 Nov 07
0
36 commits - doc/swfdec-sections.txt libswfdec/Makefile.am libswfdec/swfdec_amf.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h libswfdec/swfdec_as_strings.c libswfdec/swfdec_buffer.c libswfdec/swfdec_buffer.h
...swfdec_url_get_url (swfdec_loader_get_url (loader)));
+      swfdec_loader_close (loader);
+    }
     movie = swfdec_player_get_movie_at_level (player, level);
   }
   if (movie == NULL) {
@@ -340,14 +353,6 @@ swfdec_resource_do_load (SwfdecPlayer *player, SwfdecLoader *loader, gpointer ta
     swfdec_movie_remove (mov);
     movie = SWFDEC_SPRITE_MOVIE (copy);
   }
-  g_object_unref (resource);
-  g_object_unref (loader);
-  return;
-
-fail:
-  SWFDEC_WARNING ("%s does not reference a movie, not loading %s", target,
-      swfdec_url_get_url (swfdec_loader_get_url (loader)));
-  swfdec_loader_clos...
2007 Nov 10
0
10 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_types.c libswfdec/swfdec_initialize.as libswfdec/swfdec_initialize.h libswfdec/swfdec_movie.c libswfdec/swfdec_movie_clip_loader.c libswfdec/swfdec_movie.h libswfdec/swfdec_resource.c
...ov->original_name;
+  /* FIXME: are events copied? If so, wouldn't that be a security issue? */
+  swfdec_movie_set_static_properties (copy, &mov->original_transform,
+      &mov->original_ctrans, mov->original_ratio, mov->clip_depth, 
+      mov->blend_mode, NULL);
+  swfdec_movie_remove (mov);
+  return SWFDEC_SPRITE_MOVIE (copy);
+}
+
 static gboolean
 swfdec_resource_create_movie (SwfdecResource *resource)
 {
@@ -186,21 +206,7 @@ swfdec_resource_create_movie (SwfdecResource *resource)
   if (movie == NULL) {
     movie = swfdec_player_create_movie_at_level (player, resource, lev...
2007 Dec 13
0
libswfdec-gtk/swfdec_gtk_player.c libswfdec/swfdec_as_date.c libswfdec/swfdec_audio.c libswfdec/swfdec_audio_event.c libswfdec/swfdec_button_movie.c libswfdec/swfdec_interval.c libswfdec/swfdec_key_as.c libswfdec/swfdec_mouse_as.c libswfdec/swfdec_movie.c
...object) {
       SWFDEC_LOG ("removing external action %p %p %p", 
@@ -612,8 +628,10 @@ G_DEFINE_TYPE (SwfdecPlayer, swfdec_player, SWFDEC_TYPE_AS_CONTEXT)
 void
 swfdec_player_remove_movie (SwfdecPlayer *player, SwfdecMovie *movie)
 {
+  SwfdecPlayerPrivate *priv = player->priv;
+
   swfdec_movie_remove (movie);
-  player->movies = g_list_remove (player->movies, movie);
+  priv->movies = g_list_remove (priv->movies, movie);
 }
 
 static guint
@@ -668,49 +686,50 @@ swfdec_player_get_property (GObject *object, guint param_id, GValue *value,
     GParamSpec * pspec)
 {
   SwfdecPlayer *pl...