Changeset 10570


Ignore:
Timestamp:
02/07/10 03:28:33 (2 years ago)
Author:
tsee
Message:

init events later

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Padre/lib/Padre/Task.pm

    r10566 r10570  
    119119require Padre; 
    120120require Padre::Wx; 
     121require Wx; 
    121122 
    122123BEGIN { 
     
    132133}; 
    133134 
    134 # set up the stdout/stderr printing events 
     135# set up the stdout/stderr printing events => initialized during run time 
    135136our $STDOUT_EVENT : shared; 
    136 BEGIN { $STDOUT_EVENT = Wx::NewEventType(); } 
    137137our $STDERR_EVENT : shared; 
    138 BEGIN { $STDERR_EVENT = Wx::NewEventType(); } 
    139138 
    140139=pod 
     
    156155=cut 
    157156 
    158 SCOPE: { 
    159     my $events_initialized = 0; 
    160  
    161     sub schedule { 
    162         my $self = shift; 
    163         if ( !$events_initialized ) { 
    164             my $main = Padre->ide->wx->main; 
    165             Wx::Event::EVT_COMMAND( 
    166                 $main, 
    167                 -1, 
    168                 $STDOUT_EVENT, 
    169                 \&_on_stdout, 
    170             ); 
    171             Wx::Event::EVT_COMMAND( 
    172                 $main, 
    173                 -1, 
    174                 $STDERR_EVENT, 
    175                 \&_on_stderr, 
    176             ); 
    177             $events_initialized = 1; 
    178         } 
    179         Padre->ide->task_manager->schedule($self); 
    180     } 
     157sub schedule { 
     158    my $self = shift; 
     159    if ( not defined $STDOUT_EVENT ) { 
     160        $STDOUT_EVENT = Wx::NewEventType(); 
     161        $STDERR_EVENT = Wx::NewEventType(); 
     162        my $main = Padre->ide->wx->main; 
     163        Wx::Event::EVT_COMMAND( 
     164            $main, 
     165            -1, 
     166            $STDOUT_EVENT, 
     167            \&_on_stdout, 
     168        ); 
     169        Wx::Event::EVT_COMMAND( 
     170            $main, 
     171            -1, 
     172            $STDERR_EVENT, 
     173            \&_on_stderr, 
     174        ); 
     175    } 
     176    Padre->ide->task_manager->schedule($self); 
    181177} 
    182178 
Note: See TracChangeset for help on using the changeset viewer.