Changeset 2281


Ignore:
Timestamp:
12/30/08 08:29:50 (3 years ago)
Author:
azawawi
Message:

Fixed ticket #190: Massive GDI object leakages.
Please remember to call SetPageText? once per the same text.
This still leaks but far less slowly (just on undo).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Padre/lib/Padre/Wx/StatusBar.pm

    r2257 r2281  
    5757    my $modified     = $editor->GetModify ? '*' : ' '; 
    5858 
    59     if ( $filename ) { 
    60         $main->nb->SetPageText( 
    61             $pageid, 
    62             $modified . File::Basename::basename($filename) 
    63         ); 
    64     } else { 
    65         my $text = substr($main->nb->GetPageText($pageid), 1); 
    66         $main->nb->SetPageText( 
    67             $pageid, 
    68             $modified . $text 
    69         ); 
    70     } 
     59    #Fixed ticket #190: Massive GDI object leakages  
     60    #http://padre.perlide.org/ticket/190 
     61    #Please remember to call SetPageText once per the same text 
     62    #This still leaks but far less slowly (just on undo) 
     63    my $old_text = $main->nb->GetPageText($pageid); 
     64    my $text = ($filename) ?  
     65        File::Basename::basename($filename) :  
     66        substr($old_text, 1); 
     67    my $page_text = $modified . $text; 
     68    if($old_text ne $page_text) { 
     69        $main->nb->SetPageText( 
     70            $pageid, 
     71            $page_text 
     72        ); 
     73    } 
    7174 
    7275    my $current = $editor->GetCurrentPos; 
Note: See TracChangeset for help on using the changeset viewer.