Principal::~Principal()
{
- if (conexion != NULL)
- delete conexion;
+ if (conexion) {
+ conexion->finish();
+ }
+ // Espera a que termine realmente.
+ while (conexion) {
+ Glib::usleep(10000); // 10 milisegundos
+ }
}
void Principal::on_dlg_connect_ok()
}
catch (...) {
txt_view->get_buffer()->insert_at_cursor("NO SE PUDO CREAR OBJETO\n");
- delete conexion;
- conexion == NULL;
+ //delete conexion; XXX Si no me equivoco, si falla el
+ //constructor, no se reserva la memoria (el delete no va).
+ conexion = NULL;
return;
}
PlaQui::Server::Command c("connection", "stop");
c.add_arg(conexion->get_host());
- c.add_arg("7522");
+ c.add_arg(conexion->get_port());
conexion->send(c);
}