]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blobdiff - Client/src/principal.cpp
Varios cambios:
[z.facultad/75.42/plaqui.git] / Client / src / principal.cpp
index 0b59c0b8040470fa36ec54d6cd17b0ef14e9112d..1b42b2b8a6742b158dc5362f0ea6329042f3db3c 100644 (file)
@@ -62,8 +62,13 @@ Principal::Principal(BaseObjectType *co, const Glib::RefPtr<Gnome::Glade::Xml> &
 
 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()
@@ -75,8 +80,9 @@ 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;
                }
 
@@ -122,7 +128,7 @@ void Principal::on_mnu_file_disconnect()
 
        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);
 }