[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/sprite_instance.cpp
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/sprite_instance.cpp |
Date: |
Thu, 08 Mar 2007 13:00:26 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 07/03/08 13:00:24
Modified files:
. : ChangeLog
server : sprite_instance.cpp
Log message:
* server/sprite_instance.cpp (construct):
Ensure first frame is loaded, to eventually not waiting for
::advance to call ::construct and finally remove the startup
lateny we're currently experiencing;
(restart): call construct() directly, rather then postponing
the call to ::adnvace and relying on the crappy
m_onload_event_called flag.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.2578&r2=1.2579
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.189&r2=1.190
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.2578
retrieving revision 1.2579
diff -u -b -r1.2578 -r1.2579
--- ChangeLog 8 Mar 2007 11:35:50 -0000 1.2578
+++ ChangeLog 8 Mar 2007 13:00:19 -0000 1.2579
@@ -1,5 +1,15 @@
2007-03-07 Sandro Santilli <address@hidden>
+ * server/sprite_instance.cpp (construct):
+ Ensure first frame is loaded, to eventually not waiting for
+ ::advance to call ::construct and finally remove the startup
+ lateny we're currently experiencing;
+ (restart): call construct() directly, rather then postponing
+ the call to ::adnvace and relying on the crappy
+ m_onload_event_called flag.
+
+2007-03-07 Sandro Santilli <address@hidden>
+
* server/character.h: document set_event_hanlder,
get_event_handler (as we're getting it wrong).
* testsuite/actionscript.all/MovieClip.as:
Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.189
retrieving revision 1.190
diff -u -b -r1.189 -r1.190
--- server/sprite_instance.cpp 8 Mar 2007 09:33:40 -0000 1.189
+++ server/sprite_instance.cpp 8 Mar 2007 13:00:21 -0000 1.190
@@ -3385,9 +3385,10 @@
m_display_list.clear();
oldDisplayList.clear();
- // setting on_event_load_called will trigger
- // a call to ::construct next time we advance
- m_on_event_load_called = false;
+ // TODO: wipe out all members !!
+
+ // Construct the sprite again
+ construct();
}
@@ -3632,21 +3633,30 @@
log_msg("Constructing sprite '%s'", getTargetPath().c_str());
#endif
+ // We *might* avoid this, but better safe then sorry
+ m_def->ensure_frame_loaded(0);
+
// Backup the DisplayList *before* manipulating it !
assert( oldDisplayList.empty() );
on_event(event_id::CONSTRUCT);
execute_frame_tags(0, TAG_DLIST|TAG_ACTION);
+ if ( _name.empty() )
+ {
+ // instance name will be needed for properly setting up
+ // a reference to 'this' object for ActionScript actions.
+ // If the instance doesn't have a name, it will NOT be
+ // an ActionScript referenciable object so we don't have
+ // anything more to do.
+ return;
+ }
+
sprite_definition* def = dynamic_cast<sprite_definition*>(m_def.get());
// We won't "construct" top-level movies
if ( ! def ) return;
- // instance name will be needed for properly setting up
- // a reference to 'this' object.
- assert(!_name.empty());
-
as_function* ctor = def->getRegisteredClass();
//log_msg("Attached sprite's registered class is %p", (void*)ctor);