gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog gui/gtk.cpp server/sprite_insta...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog gui/gtk.cpp server/sprite_insta...
Date: Thu, 08 Mar 2007 00:11:13 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  07/03/08 00:11:13

Modified files:
        .              : ChangeLog 
        gui            : gtk.cpp 
        server         : sprite_instance.cpp 

Log message:
                * gui/gtk.cpp: hook restart menu
                * server/sprite_instance.cpp (restart): properly
                  clear the displaylist. Invalidated bounds could
                  likely be more fine-tuned.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.2573&r2=1.2574
http://cvs.savannah.gnu.org/viewcvs/gnash/gui/gtk.cpp?cvsroot=gnash&r1=1.75&r2=1.76
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.187&r2=1.188

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.2573
retrieving revision 1.2574
diff -u -b -r1.2573 -r1.2574
--- ChangeLog   7 Mar 2007 23:52:13 -0000       1.2573
+++ ChangeLog   8 Mar 2007 00:11:13 -0000       1.2574
@@ -1,5 +1,12 @@
 2007-03-07 Sandro Santilli <address@hidden>
 
+       * gui/gtk.cpp: hook restart menu
+       * server/sprite_instance.cpp (restart): properly
+         clear the displaylist. Invalidated bounds could
+         likely be more fine-tuned.
+
+2007-03-07 Sandro Santilli <address@hidden>
+
        * gui/gui.{h,cpp}: add play(), pause() and stop() methods,
          change implementation to be semantically correct and not
          mess with sprites playstate; Changed menu_* to non-statics

Index: gui/gtk.cpp
===================================================================
RCS file: /sources/gnash/gnash/gui/gtk.cpp,v
retrieving revision 1.75
retrieving revision 1.76
diff -u -b -r1.75 -r1.76
--- gui/gtk.cpp 7 Mar 2007 23:52:13 -0000       1.75
+++ gui/gtk.cpp 8 Mar 2007 00:11:13 -0000       1.76
@@ -14,7 +14,7 @@
 // along with this program; if not, write to the Free Software
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
-/* $Id: gtk.cpp,v 1.75 2007/03/07 23:52:13 strk Exp $ */
+/* $Id: gtk.cpp,v 1.76 2007/03/08 00:11:13 strk Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -916,7 +916,7 @@
 void
 GtkGui::menuitem_restart_callback(GtkMenuItem* /*menuitem*/, gpointer data)
 {
-//    GNASH_REPORT_FUNCTION;
+    //GNASH_REPORT_FUNCTION;
     Gui* gui = static_cast<Gui*>(data);
     gui->menu_restart();
 }
@@ -1395,6 +1395,9 @@
        GTK_MENU_ITEM(gtk_menu_item_new_with_label("Restart Movie"));
     gtk_menu_append(menu, GTK_WIDGET(menuitem_restart));
     gtk_widget_show(GTK_WIDGET(menuitem_restart));
+    g_signal_connect ((gpointer) menuitem_restart, "activate",
+        G_CALLBACK (&menuitem_restart_callback), this);
+
     GtkMenuItem *menuitem_step_forward =
        GTK_MENU_ITEM(gtk_menu_item_new_with_label("Step Forward Frame"));
     gtk_menu_append(menu, GTK_WIDGET(menuitem_step_forward));

Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.187
retrieving revision 1.188
diff -u -b -r1.187 -r1.188
--- server/sprite_instance.cpp  7 Mar 2007 17:34:23 -0000       1.187
+++ server/sprite_instance.cpp  8 Mar 2007 00:11:13 -0000       1.188
@@ -3368,14 +3368,27 @@
                
 void sprite_instance::restart()
 {
+       GNASH_REPORT_FUNCTION;
+
+    // forgive me udo, I'll leave correct thing to you
+    set_invalidated();
     m_current_frame = 0;
     m_update_frame = true;
     m_has_looped = false;
     m_play_state = PLAY;
 
+    // DisplayList::clear is bogus in that
+    // id won't recursively call character::unload
+    // unless we pass 'true' as the second argument.
+    // But passing 'true' will also call the onLoad
+    // method, which is wrong.
+    // This will likely be fixed as soon as we get
+    // the action execution list correctly implemented.
+    m_display_list.clear(true);
+
+    // Not sure we should re-execute this, anyway
+    // elvis.swf restarts fine...
     execute_frame_tags(m_current_frame);
-    //we don't have the concept of a DisplayList update anymore
-    //m_display_list.update();
 }
 
 float sprite_instance::get_height() const




reply via email to

[Prev in Thread] Current Thread [Next in Thread]