Tue 27 Nov 2007 10:25:39 AM UTC, comment #5:
The code for the HelloWorld7.swf is this:
--
import arctic.Arctic;
import arctic.ArcticView;
import arctic.ArcticBlock;
class HelloWorld {
static public function main() {
new HelloWorld(flash.Lib.current);
}
public function new(parent : ArcticMovieClip) {
// To make a screen, first build the data structure representing the
contents
var helloWorld = Arctic.makeSimpleButton("Hello world", remove,
50);
// Then construct the arctic view object
arcticView = new ArcticView( helloWorld, parent );
// And finally display on the given movieclip
var root = arcticView.display(true);
}
public function remove() {
// Clear out the screen
arcticView.destroy();
}
public var arcticView : ArcticView;
}
--
Install haXe, and do "haxelib install arctic" and then go to
/usr/lib/haxe/lib/arctic/0.9.7/examples and use DevArcticExamples.hxml to
compile the program.
You can see the code that does the construction and destruction of the
MovieClips in the arctic/ArcticView.hx file.
The destruction is code like this:
for (m in movieClips) {
m.removeMovieClip();
}
All clips are thus removed, from parent first to the children afterwards
(which might not be the best to do this, but that's what it does.)
|
Mon 26 Nov 2007 08:09:55 AM UTC, comment #1:
Looks like an infinite recursion:
#0 0x00002b8026b2f270 in malloc () from /lib64/libc.so.6
#1 0x00002b80263eb51d in operator new () from /usr/lib64/libstdc++.so.6
#2 0x00002b8024421e04 in std::_Rb_tree<gnash::as_object, gnash::as_object, std::_Identity<gnash::as_object>, std::less<gnash::as_object>, std::allocator<gnash::as_object*> >::_M_insert (this=0x7fff8633d0e0, __x=0x0, __p=0x7fff8633d0e8,
__v=@0x7fff8633d140)
at /usr/lib/gcc/x86_64-mandriva-linux-gnu/4.2.2/../../../../include/c++/4.2.2/ext/new_allocator.h:91
#3 0x00002b8024421eed in std::_Rb_tree<gnash::as_object, gnash::as_object, std::_Identity<gnash::as_object>, std::less<gnash::as_object>, std::allocator<gnash::as_object*> >::_M_insert_unique (this=0x7fff8633d0e0, __v=@0x7fff8633d140)
at /usr/lib/gcc/x86_64-mandriva-linux-gnu/4.2.2/../../../../include/c++/4.2.2/bits/stl_tree.h:990
#4 0x00002b802442104b in gnash::as_object::findProperty (
this=<value optimized out>, key=712, nsname=<value optimized out>, owner=0x0)
at /usr/lib/gcc/x86_64-mandriva-linux-gnu/4.2.2/../../../../include/c++/4.2.2/bits/stl_set.h:307
#5 0x00002b80244216e6 in gnash::as_object::get_member_default (this=dwarf2_read_address: Corrupted DWARF expression.
)
at as_object.cpp:104
#6 0x00002b8024456382 in gnash::sprite_instance::get_path_element (this=0x954bb0,
key=712) at sprite_instance.cpp:2340
#7 0x00002b80244224ea in gnash::as_value::SpriteProxy::find_sprite_by_target (
tgtstr=@0x7fff8633d2e8) at as_value.cpp:1440
#8 0x00002b802442363c in gnash::as_value::to_object (this=0x0) at as_value.cpp:580
#9 0x00002b80244563a5 in gnash::sprite_instance::get_path_element (this=0x954bb0,
key=712) at sprite_instance.cpp:2348
#10 0x00002b80244224ea in gnash::as_value::SpriteProxy::find_sprite_by_target (
tgtstr=@0x7fff8633d3e8) at as_value.cpp:1440
#11 0x00002b802442363c in gnash::as_value::to_object (this=0x0) at as_value.cpp:580
#12 0x00002b80244563a5 in gnash::sprite_instance::get_path_element (this=0x954bb0,
key=712) at sprite_instance.cpp:2348
#13 0x00002b80244224ea in gnash::as_value::SpriteProxy::find_sprite_by_target (
tgtstr=@0x7fff8633d4e8) at as_value.cpp:1440
#14 0x00002b802442363c in gnash::as_value::to_object (this=0x0) at as_value.cpp:580
#15 0x00002b80244563a5 in gnash::sprite_instance::get_path_element (this=0x954bb0,
key=712) at sprite_instance.cpp:2348
#16 0x00002b80244224ea in gnash::as_value::SpriteProxy::find_sprite_by_target (
tgtstr=@0x7fff8633d5e8) at as_value.cpp:1440
#17 0x00002b802442363c in gnash::as_value::to_object (this=0x0) at as_value.cpp:580
#18 0x00002b80244563a5 in gnash::sprite_instance::get_path_element (this=0x954bb0,
key=712) at sprite_instance.cpp:2348
#19 0x00002b80244224ea in gnash::as_value::SpriteProxy::find_sprite_by_target (
tgtstr=@0x7fff8633d6e8) at as_value.cpp:1440
#20 0x00002b802442363c in gnash::as_value::to_object (this=0x0) at as_value.cpp:580
#21 0x00002b80244563a5 in gnash::sprite_instance::get_path_element (this=0x954bb0,
key=712) at sprite_instance.cpp:2348
(etc)
|