Defining the following function in FormPreferences resolves the 

        BadDrawable (invalid Pixmap or Window parameter)                             
 
crash when closing the popup although it does result in the messages

        In fl_hide_form [forms.c 835] Hiding invisible/freeed form
        In fl_hide_form [forms.c 835] Hiding invisible/freeed form
        In fl_hide_form [forms.c 835] Hiding invisible/freeed form
        In fl_hide_form [forms.c 835] Hiding invisible/freeed form
        In fl_hide_form [forms.c 835] Hiding invisible/freeed form
        In fl_hide_form [forms.c 835] Hiding invisible/freeed form
        In fl_hide_form [forms.c 835] Hiding invisible/freeed form

Note that there are 7 messages but 9 calls to fl_hide_form(). Something odd 
is going on. Perhaps.

void FormPreferences::hide()
{
        if (form() && form()->visible) {
                fl_hide_form( outputs_tab_->form );
                fl_hide_form( look_n_feel_tab_->form );
                fl_hide_form( inputs_tab_->form );
                fl_hide_form( lnf_general_->form );
                fl_hide_form( screen_fonts_->form );
                fl_hide_form( interface_fonts_->form );
                fl_hide_form( printer_->form );
                fl_hide_form( paths_->form );
                fl_hide_form( dialog_->form );
        }
        
        FormBase::hide();
}


Incidentally, I get another crash when "Save"ing my changes to this popup 
that is "resolved" by commenting out the call

                // lv_->getLyXFunc()->Dispatch(LFUN_SCREEN_FONT_UPDATE);

in FormPreferences::apply()

Hope that your weekend far away from the computer has done your back a power 
of good!

Angus



Reply via email to