Ticket #162: diff.patch

File diff.patch, 1.1 KB (added by tome, 3 years ago)

Patch to defer on_stc_update_ui to the idle after the event

  • lib/Padre/Wx/Main.pm

     
    288288    ); 
    289289 
    290290    # Scintilla Event Hooks 
    291     Wx::Event::EVT_STC_UPDATEUI( $self, -1, \&on_stc_update_ui ); 
     291        # We delay per-stc-update processing until idle. 
     292        # This is primarily due to a defect http://trac.wxwidgets.org/ticket/4272: 
     293        # No status bar updates during STC_UPDATEUI. 
     294    Wx::Event::EVT_STC_UPDATEUI(  
     295                $self, -1, sub {  
     296                  shift->{_do_update_ui} = 1; 
     297                } ); 
     298        Wx::Event::EVT_IDLE( 
     299                $self, sub {  
     300                  my $self = shift; 
     301                  if($self->{_do_update_ui}) { 
     302                    $self->{_do_update_ui} = undef; 
     303                    $self->on_stc_update_ui(); 
     304                  } 
     305                }); 
     306 
    292307    Wx::Event::EVT_STC_CHANGE( $self, -1, \&on_stc_change ); 
    293308    Wx::Event::EVT_STC_STYLENEEDED( $self, -1, \&on_stc_style_needed ); 
    294309    Wx::Event::EVT_STC_CHARADDED( $self, -1, \&on_stc_char_added );