]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blobdiff - Constructor/src/exclusa.cpp
despues de estar como un pelotudo buscando el error, lo encontre, era un == ( yo...
[z.facultad/75.42/plaqui.git] / Constructor / src / exclusa.cpp
index 048dd6c4c8376a0a1078ca5ea91798a556c874f6..5eb4eadc90c5585bdb179aa5beda09cdfbdd37e5 100644 (file)
@@ -47,15 +47,15 @@ bool Exclusa::on_button_press_event(GdkEventButton *event)
                combo_entry->set_popdown_strings(*list_pointed);
                combo_entry->get_entry()->set_text (name);
                if (CItem::logic_connect && CItem::gate_id != -1) {
                combo_entry->set_popdown_strings(*list_pointed);
                combo_entry->get_entry()->set_text (name);
                if (CItem::logic_connect && CItem::gate_id != -1) {
-                       if ( detect_click_position((int)event->x, (int)event->y) == IN) {
-                               tmp_line.logic_id =  workplace->get_logic_item(CItem::gate_id)->get_id();
+                       if ( detect_click_position((int)event->x, (int)event->y) == IN && !workplace->get_logic_item(CItem::gate_id)->get_out_logic_connect()) {
+                               tmp_line.logic_id =  CItem::gate_id;
                                workplace->get_logic_item(CItem::gate_id)->set_out_connected(true);
                                tmp_line.store_id = ID;
                                workplace->lista_lineas_in.push_back(tmp_line);
                                workplace->queue_draw();        
                        } else if (detect_click_position((int)event->x, (int)event->y) == OUT )  { 
                                if (dynamic_cast<Not *>(workplace->get_logic_item(CItem::gate_id))) {
                                workplace->get_logic_item(CItem::gate_id)->set_out_connected(true);
                                tmp_line.store_id = ID;
                                workplace->lista_lineas_in.push_back(tmp_line);
                                workplace->queue_draw();        
                        } else if (detect_click_position((int)event->x, (int)event->y) == OUT )  { 
                                if (dynamic_cast<Not *>(workplace->get_logic_item(CItem::gate_id))) {
-                                       if (!dynamic_cast<Not *>(workplace->get_logic_item(CItem::gate_id))->get_out_logic_connect()) {
+                                       if (!dynamic_cast<Not *>(workplace->get_logic_item(CItem::gate_id))->get_in_logic_connect()) {
                                                workplace->get_logic_item(CItem::gate_id)->set_in_connected(true);
                                                tmp_line.logic_id =  CItem::gate_id;
                                                tmp_line.store_id = ID;
                                                workplace->get_logic_item(CItem::gate_id)->set_in_connected(true);
                                                tmp_line.logic_id =  CItem::gate_id;
                                                tmp_line.store_id = ID;