5 use if !$Config{useithreads} => 'Test::More' => skip_all => 'no threads';
10 use if !Wx::wxTHREADS(), 'Test::More' => skip_all => 'No thread support';
11 use if Wx::wxVERSION < 2.006, 'Test::More' => skip_all => 'Hangs under 2.5';
12 use Test::More tests => 2;
20 my $app = Wx::App->new( sub { 1 } );
21 my $frame = MyFrame->new( undef, -1, 'Test' );
22 my $timer = Wx::Timer->new( $frame );
24 my $TEST_DONE_EVENT : shared = Wx::NewEventType;
26 # avoid use()ing Wx::Event on purpose
27 Wx::Event::EVT_COMMAND( $frame, -1, $TEST_DONE_EVENT, \&got_thread_event );
28 Wx::Event::EVT_TIMER( $frame, -1, \&got_timer_event );
30 $timer->Start( 800, 1 );
33 pass; # ended successfully
36 my( $frame, $event ) = @_; @_ = (); # hack to avoid "Scalars leaked"
38 start_thread( $frame );
44 my $thread = threads->new( \&send_thread_event, $frame );
48 sub send_thread_event {
51 my $threvent = new Wx::PlThreadEvent( -1, $TEST_DONE_EVENT, 123 );
52 Wx::PostEvent( $frame, $threvent );
55 sub got_thread_event {