Ticket #1337 (closed defect: fixed)

Opened 3 years ago

Last modified 3 years ago

Tools -> Preferences kills Padre

Reported by: bowtie Owned by: Alias azawawi
Priority: blocker Milestone:
Component: Preference System Version: 0.91
Keywords: Tools -> Preferences kills Cc: sewi

Description

since revision 16521/2 Padre dies when opening Preferences, Ubuntu Natty 11.04

                   Padre 0.91
Core...
                   linux i686-linux-thread-multi
                    Perl 5.14.1
                 Threads 2
                     Ram 0.0
Wx...
                      Wx 0.9901
               WxWidgets 2.8.11
                 unicode 1
        Alien::wxWidgets 0.52
 Wx::Perl::ProcessStream 0.30
           Wx::Scintilla 0.30
Other...
                     PPI 1.215
                 Config: /usr/src/Padre/Padre/.padre

tail from perl dev -t

# 1317374907.83265 Padre::Wx::Dialog::Preferences::BEGIN '::DEBUG enabled'
# 1317374907.83607 Padre::Wx::Dialog::Preferences::new 'Padre::Wx::Dialog::Preferences'
# 1317374908.19377 Padre::Document::rebless 'Reblessing to mimetype: \'Padre::Document::Perl\''
# 1317374908.19463 Padre::Document::Perl::BEGIN '::DEBUG enabled'
# 1317374908.21179 Padre::Document::Perl::set_highlighter 'Setting highlighter for Perl 5 code. length: 0'
# 1317374908.75191 Padre::Wx::Dialog::Preferences::config_load Padre::Wx::Dialog::Preferences=HASH(0xb7f36a8)

perl dev -t Padre::Wx::Dialog::Preferences

# 1317375032.30094 Padre::Wx::Dialog::Preferences::BEGIN '::DEBUG enabled'
# 1317375032.31058 Padre::Wx::Dialog::Preferences::new 'Padre::Wx::Dialog::Preferences'
# 1317375032.86315 Padre::Wx::Dialog::Preferences::config_load Padre::Wx::Dialog::Preferences=HASH(0xaee0eb8)

tail perl dev --fulltrace

>> /usr/src/Padre/Padre/lib/Padre/Wx/FBP/Preferences.pm:1372:   $_[0]->{editor_font};
>> /usr/src/Padre/Padre/lib/Padre/Wx/Role/Config.pm:27:         if ( $ctrl->can('config_load') ) {
>> /usr/src/Padre/Padre/lib/Padre/Wx/Role/Config.pm:52:             $ctrl->SetSelectedFont(
>> /usr/src/Padre/Padre/lib/Padre/Wx.pm:117:    my $string = shift;
>> /usr/src/Padre/Padre/lib/Padre/Wx.pm:118:    unless ( defined Params::Util::_STRING($string) ) {
>> /usr/src/Padre/Padre/lib/Padre/Wx.pm:123:    local $@;
>> /usr/src/Padre/Padre/lib/Padre/Wx.pm:124:    eval {
>> /usr/src/Padre/Padre/lib/Padre/Wx.pm:125:        my $font = Wx::Font->new( Wx::NullFont );
>> /usr/src/Padre/Padre/lib/Padre/Wx.pm:126:        $font->SetNativeFontInfoUserDesc($string);
>> /usr/src/Padre/Padre/lib/Padre/Wx.pm:127:        return $font if $font->IsOk;
>> /usr/src/Padre/Padre/lib/Padre/Wx.pm:130:    return NULL_FONT;

Now just for good fun, I downloaded a clean copy of Padre from SVN trunk revision 16575, and guess what I dies just like my previous install did. :(

Change History

comment:1 Changed 3 years ago by submersible_toaster

Padre::Wx::native_font was only ever returning NULL_FONT due to eval {} wrapping of a return statement.

Fixed in Padre::Wx - question being should things needing native_font SEGV when getting and using a NULL_FONT ?

comment:2 Changed 3 years ago by bowtie

  • Status changed from new to closed
  • Resolution set to fixed

Fixed in r16577

thanks submersible_toaster

Note: See TracTickets for help on using tickets.