diff --git a/src/actions.c b/src/actions.c index effac29e..6e0e67ff 100644 --- a/src/actions.c +++ b/src/actions.c @@ -713,12 +713,14 @@ int connect_by_kissing(void) } if(kissing) { - dbg(0, "connect_by_kissing(): adding wire in %g %g, wires before = %d\n", pinx0, piny0, xctx->wires); + dbg(1, "connect_by_kissing(): adding wire in %g %g, wires before = %d\n", pinx0, piny0, xctx->wires); if(!done_undo) { xctx->push_undo(); done_undo = 1; } storeobject(-1, pinx0, piny0, pinx0, piny0, WIRE, 0, SELECTED1, NULL); + /* storeobject sets modify, but we clear it here, will be set if move operation completes */ + set_modify(0); changed = 1; xctx->need_reb_sel_arr = 1; } diff --git a/src/move.c b/src/move.c index 84452397..159794ce 100644 --- a/src/move.c +++ b/src/move.c @@ -1052,6 +1052,7 @@ void move_objects(int what, int merge, double dx, double dy) } if(what & ABORT) /* draw objects while moving */ { + if(xctx->kissing) pop_undo(0, 0); draw_selection(xctx->gctiled,0); xctx->move_rot=xctx->move_flip=xctx->deltax=xctx->deltay=0; xctx->ui_state &= ~STARTMOVE;