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