GTK Anwendung schön schliessen (Segmentation fault)



  • Ich habe ein kleines GUI Tool das mit c++ und libGlademm gestrickt ist. Es übersetzt & läuft. Aber wenn ich es beende bekomme ich amschluss einen "Segmentation fault".
    Das ist nicht weiters schlimm aber schön ist es auf jeden fall nicht.

    Was ich beim Beenden mach:

    ...
    buttonExit->signal_clicked().connect( sigc::mem_fun(*this, &ConOverview::hide) );
    buttonExit->signal_clicked().connect( sigc::mem_fun(*this,&ConOverview::onButtonExit_click) );
    buttonExit->signal_clicked().connect( sigc::mem_fun(*buttonExit, &Gtk::Widget::grab_focus) );
    ...
    
    void ConOverview::onButtonExit_click(){
    	cout << "EXIT   --> clicked" << endl;
    }
    

    und im main:

    ...
    Gtk::Main kit(argc, argv); // Initialise GTK+.
    ConOverview window(cMgt);   // Create an ogcalc object.
    kit.run(window);
    return 0;
    

    fehlt da was?



  • Ne, aber du schließt falsch.

    So geht's z.B. :

    buttonExit->signal_clicked().connect( sigc::mem_fun(*this,&ConOverview::onButtonExit_click) );
    
    void ConOverview::onButtonExit_click() {
        hide();
    }
    

    Dein hide killt halt dein Fenster und dann noch darauf zuzugreifen ist, na ja, eher suboptimal 😉


Log in to reply