Ticket #1289 (assigned defect)

Opened 3 years ago

Last modified 2 years ago

Default Project Folder option non-operational on Windows 7

Reported by: ravenhall Owned by: szabgab
Priority: minor Milestone:
Component: Preference System Version: 0.88
Keywords: Cc:

Description

The Default Project Folder under Tools->Preferences, Behavior appears to be non-operational in the following ways:

Using either the Browse button or manually inputting the path to the chosen folder and selecting Save does not appear to save the value of the chosen path. When re-opening the dialog it appears blank, and closing and re-opening the Project Browser does not change the view to the chosen folder. It remains at the default view.

Using the 'Advanced' button allows the value to be changed, and exiting the Preferences dialog and re-opening it retains the value in the advanced dialog, but the view of the Project Browser does not change, even if Padre is restarted or the Project Browser is opened and closed.

This is on version 0.88 of Padre on Windows 7 with Perl 5.12.3 and Wx Version=(0.9901) wxWidgets 2.8.12 unicode=(1).

Change History

comment:1 Changed 3 years ago by vrobin

I've seen several problems with Project browser on Linux and Windows 7, recently seen on Padre versions 0.86, 0.88, 0.90.

Problems:

  • Whatever file is opened in Padre, Project browser doesn't change and remains on default folder (tried to change it in advanced preferences, but behavior was rather the same)
  • Clicking "Refresh" in project browser refresh the view as expected, but opening a file from the refreshed view (by double clicking on a file or by right-clicking->open on it) doesn't work

comment:2 Changed 3 years ago by vrobin

Here's the output of a padre running dev --fultrace when you right-click "open file" on an element of the project borwser (after a forced "refresh"):

>> J:/programmes/padre/Padre/lib/Padre/File.pm:544:     my $self = shift;
>> J:/programmes/padre/Padre/lib/Padre/File.pm:545:     return $self->{filename};
>> J:/programmes/padre/Padre/lib/Padre/Document.pm:324:         if ( not $module ) {
>> J:/programmes/padre/Padre/lib/Padre/Document.pm:332:         $self->set_highlighter($module);
>> J:/programmes/padre/Padre/lib/Padre/Document/Perl.pm:143:    my $self   = shift;
>> J:/programmes/padre/Padre/lib/Padre/Document/Perl.pm:144:    my $module = shift;
>> J:/programmes/padre/Padre/lib/Padre/Document/Perl.pm:149:    my $limit;
>> J:/programmes/padre/Padre/lib/Padre/Document/Perl.pm:150:    if ( $module eq 'Padre::Document::Perl::PPILexer' ) {
>> J:/programmes/padre/Padre/lib/Padre/Document/Perl.pm:158:    my $length = $self->{original_content} ? length $self->{original_content} : 0;
>> J:/programmes/padre/Padre/lib/Padre/Document/Perl.pm:159:    my $editor = $self->editor;
>> J:/programmes/padre/Padre/lib/Padre/Document/Perl.pm:160:    if ($editor) {
>> J:/programmes/padre/Padre/lib/Padre/Document/Perl.pm:164:    TRACE( "Setting highlighter for Perl 5 code. length: $length" . ( $limit ? " limit is $limit" :
'' ) ) if DEBUG;
>> J:/programmes/padre/Padre/lib/Padre/Document/Perl.pm:166:    if ( defined $limit and $length > $limit ) {
>> J:/programmes/padre/Padre/lib/Padre/Document/Perl.pm:171:    return $self->SUPER::set_highlighter($module);
>> J:/programmes/padre/Padre/lib/Padre/Document.pm:334:         return;
>> J:/programmes/padre/Padre/lib/Padre/Document.pm:293:         unless ( defined $ENV{PADRE_IS_TEST} ) {
>> J:/programmes/padre/Padre/lib/Padre/Document.pm:294:                 my $popcon = $self->current->ide->{_popularity_contest};
>> J:/programmes/padre/Padre/lib/Padre/Document.pm:338:         Padre::Current->new( document => $_[0] );
>> J:/programmes/padre/Padre/lib/Padre/Current.pm:128:  my $class = shift;
>> J:/programmes/padre/Padre/lib/Padre/Current.pm:129:  bless {@_}, $class;
>> J:/programmes/padre/Padre/lib/Padre/Current.pm:291:  my $self = ref( $_[0] ) ? $_[0] : $_[0]->new;
>> J:/programmes/padre/Padre/lib/Padre/Current.pm:293:  if ( defined $self->{ide} ) {
>> J:/programmes/padre/Padre/lib/Padre/Current.pm:296:  if ( defined $self->{main} ) {
>> J:/programmes/padre/Padre/lib/Padre/Current.pm:299:  if (   defined $self->{document}
>> J:/programmes/padre/Padre/lib/Padre/Current.pm:302:          return $self->{ide} = $self->main->ide;
>> J:/programmes/padre/Padre/lib/Padre/Current.pm:251:  my $self = ref( $_[0] ) ? $_[0] : $_[0]->new;
>> J:/programmes/padre/Padre/lib/Padre/Current.pm:256:  if ( $_[1] ) {
>> J:/programmes/padre/Padre/lib/Padre/Current.pm:260:  if ( defined $self->{main} ) {
>> J:/programmes/padre/Padre/lib/Padre/Current.pm:263:  if ( defined $self->{ide} ) {
>> J:/programmes/padre/Padre/lib/Padre/Current.pm:267:  if ( defined $self->{editor} ) {
>> J:/programmes/padre/Padre/lib/Padre/Current.pm:270:  if ( defined $self->{document} ) {
>> J:/programmes/padre/Padre/lib/Padre/Current.pm:271:          my $editor = $self->{document}->{editor};
>> J:/programmes/padre/Padre/lib/Padre/Current.pm:272:          if ($editor) {
>> J:/programmes/padre/Padre/lib/Padre/Current.pm:279:  require Padre;
>> J:/programmes/padre/Padre/lib/Padre/Current.pm:284:  $self->{ide} = Padre->ide;
>> J:/programmes/padre/Padre/lib/Padre.pm:103:  $SINGLETON or Carp::croak('Padre->new has not been called yet');
>> J:/programmes/padre/Padre/lib/Padre/Current.pm:285:  return unless defined( $self->{ide}->wx );
>> J:/programmes/padre/Padre/lib/Padre/Current.pm:286:  return $self->{main} = $self->{ide}->wx->main;
>> J:/programmes/padre/Padre/lib/Padre/Wx/App.pm:107:   $_[0]->{main};
>> J:/programmes/padre/Padre/lib/Padre/Document.pm:295:                 $popcon->count( 'mime.' . $self->mimetype ) if $popcon;
>> J:/programmes/padre/Padre/lib/Padre/Document.pm:298:         return $self;
>> J:/programmes/padre/Padre/lib/Padre/Wx/Main.pm:3886:         $file ||= ''; # to avoid warnings
>> J:/programmes/padre/Padre/lib/Padre/Wx/Main.pm:3887:         if ( $document->errstr ) {
>> J:/programmes/padre/Padre/lib/Padre/Wx/Main.pm:3888:                 warn $document->errstr . " when trying to open '$file'";
No such file or directory when trying to open 'C:\Users\Robin\Documents\Schema\Result\Reseau.pm' at J:/programmes/padre/Padre/lib/Padre/Wx/Main.pm line 3888.
>> J:/programmes/padre/Padre/lib/Padre/Wx/Main.pm:3889:                 return;
>> J:/programmes/padre/Padre/lib/Padre/Wx/Directory/TreeCtrl.pm:121:    return;
>> J:/programmes/padre/Padre/lib/Padre/Wx/Directory/TreeCtrl.pm:356:    return;
>> J:/programmes/padre/Padre/lib/Padre/Wx/Main.pm:305:                  my $self = shift;
>> J:/programmes/padre/Padre/lib/Padre/Wx/Main.pm:306:                  if ( $self->{_do_update_ui} ) {
>> J:/programmes/padre/Padre/lib/Padre/Wx/Main.pm:305:                  my $self = shift;
>> J:/programmes/padre/Padre/lib/Padre/Wx/Main.pm:306:                  if ( $self->{_do_update_ui} ) {
>> J:/programmes/padre/Padre/lib/Padre/Wx/Main.pm:305:                  my $self = shift;
>> J:/programmes/padre/Padre/lib/Padre/Wx/Main.pm:306:                  if ( $self->{_do_update_ui} ) {
>> J:/programmes/padre/Padre/lib/Padre/Wx/Main.pm:305:                  my $self = shift;
>> J:/programmes/padre/Padre/lib/Padre/Wx/Main.pm:306:                  if ( $self->{_do_update_ui} ) {
>> J:/programmes/padre/Padre/lib/Padre/Wx/Main.pm:305:                  my $self = shift;
>> J:/programmes/padre/Padre/lib/Padre/Wx/Main.pm:306:                  if ( $self->{_do_update_ui} ) {
>> J:/programmes/padre/Padre/lib/Padre/Wx/Main.pm:305:                  my $self = shift;

comment:3 Changed 2 years ago by bowtie

  • Owner set to szabgab
  • Status changed from new to assigned
Note: See TracTickets for help on using tickets.