Ticket #1318 (closed defect: fixed)
Padre freeze(?)
| Reported by: | Sewi | Owned by: | |
|---|---|---|---|
| Priority: | blocker | Milestone: | |
| Component: | not classified yet | Version: | 0.90 |
| Keywords: | Cc: |
Description
Selecting a locally stored file as current tab freezes Padre. Only reproduceable with this one file, but I got a trace:
>> /usr/share/perl5/Module/Manifest.pm:256: foreach my $mask (@{ $self->{skiplist} }) {
>> /usr/share/perl5/Module/Manifest.pm:257: return 1 if ($file =~ /$mask/i);
>> /usr/share/perl5/Module/Manifest.pm:259: return 0;
>> /home/sewi/padre/Padre/lib/Padre/Wx/Directory/Browse.pm:165: push @objects,
>> /home/sewi/padre/Padre/lib/Padre/Wx/Directory/Path.pm:80: ( $_[0]->[0] == DIRECTORY ) ? 1 : 0;
>> /home/sewi/padre/Padre/lib/Padre/Wx/Directory/Path.pm:56: $_[0]->[-1];
>> /home/sewi/padre/Padre/lib/Padre/Wx/Directory/Browse.pm:172: if ( $descend >= 0 ) {
>> /home/sewi/padre/Padre/lib/Padre/Wx/Directory/Browse.pm:181: if ( $self->{order} eq 'first' ) {
>> /home/sewi/padre/Padre/lib/Padre/Wx/Directory/Browse.pm:183: sort { $b->[2] <=> $a->[2] or $a->[3] cmp $b->[3] } @objects;
>> /home/sewi/padre/Padre/lib/Padre/Wx/Directory/Browse.pm:182: @objects =
>> /home/sewi/padre/Padre/lib/Padre/Wx/Directory/Browse.pm:191: if ( $self->is_child and @objects ) {
>> /home/sewi/padre/Padre/lib/Padre/Task.pm:516: defined $_[0]->{handle};
>> /home/sewi/padre/Padre/lib/Padre/Wx/Directory/Browse.pm:192: $self->message( OWNER => $request, map { $_->[0] } @objects );
>> /home/sewi/padre/Padre/lib/Padre/Wx/Directory/Browse.pm:192: $self->message( OWNER => $request, map { $_->[0] } @objects );
>> /home/sewi/padre/Padre/lib/Padre/Wx/Directory/Browse.pm:192: $self->message( OWNER => $request, map { $_->[0] } @objects );
>> /home/sewi/padre/Padre/lib/Padre/Task.pm:589: return unless defined $_[0]->{handle};
>> /home/sewi/padre/Padre/lib/Padre/Task.pm:590: return shift->{handle}->message(@_);
>> /home/sewi/padre/Padre/lib/Padre/TaskHandle.pm:134: TRACE( $_[0] ) if DEBUG;
>> /home/sewi/padre/Padre/lib/Padre/TaskHandle.pm:135: if ( $_[0]->child ) {
>> /home/sewi/padre/Padre/lib/Padre/TaskHandle.pm:48: $_[0]->{child};
>> /home/sewi/padre/Padre/lib/Padre/TaskHandle.pm:136: Padre::Wx::Role::Conduit->signal( Storable::freeze( [ shift->hid, @_ ] ) );
>> /home/sewi/padre/Padre/lib/Padre/TaskHandle.pm:36: $_[0]->{hid};
>> /usr/local/lib/perl/5.10.1/Storable.pm:317: _freeze(\&mstore, @_);
>> /usr/local/lib/perl/5.10.1/Storable.pm:331: my $xsptr = shift;
>> /usr/local/lib/perl/5.10.1/Storable.pm:332: my $self = shift;
>> /usr/local/lib/perl/5.10.1/Storable.pm:33>> /home/sewi/padre/Padre/lib/Padre/Wx/TreeCtrl.pm:45: if ( $self->GetItemText($child) eq $text ) {
>> /home/sewi/padre/Padre/lib/Padre/Wx/TreeCtrl.pm:50: ( $child, $cookie ) = $self->GetNextChild( $item, $cookie );
>> /home/sewi/padre/Padre/lib/Padre/Wx/TreeCtrl.pm:45: if ( $self->GetItemText($child) eq $text ) {
>> /home/sewi/padre/Padre/lib/Padre/Wx/TreeCtrl.pm:50: ( $child, $cookie ) = $self->GetNextChild( $item, $cookie );
>> /home/sewi/padre/Padre/lib/Padre/Wx/TreeCtrl.pm:45: if ( $self->GetItemText($child) eq $text ) {
>> /home/sewi/padre/Padre/lib/Padre/Wx/TreeCtrl.pm:50: ( $child, $cookie ) = $self->GetNextChild( $item, $cookie );
>> /home/sewi/padre/Padre/lib/Padre/Wx/TreeCtrl.pm:45: if ( $self->GetItemText($child) eq $text ) {
>> /home/sewi/padre/Padre/lib/Padre/Wx/TreeCtrl.pm:50: ( $child, $cookie ) = $self->GetNextChild( $item, $cookie );
>> /home/sewi/padre/Padre/lib/Padre/Wx/TreeCtrl.pm:45: if ( $self->GetItemText($child) eq $text ) {
Padre freezes at this point and loops between lines 45 and 50.
Change History
Note: See
TracTickets for help on using
tickets.

while ( $cookie ) {Should be:
while ( $child->IsOk ) {What's the Wx version? I guess it is a Wx 0.9901 upgrade bug fix