diff --git a/src/compositor.c b/src/compositor.c index e5ee6ac..167d842 100644 --- a/src/compositor.c +++ b/src/compositor.c @@ -220,7 +220,9 @@ internal void draw_node_graph(compositor *comp, const window *wnd) { ndl->ln.p0.x += comp->ctx.rel_x; ndl->ln.p0.y += comp->ctx.rel_y; break; - case NOODLE_ACTION_RELEASED: + case NOODLE_ACTION_RELEASED: { + bool connected = false; + for (u64 k = NODE_START; k <= comp->count; ++k) { if (k == i) { continue; @@ -234,12 +236,19 @@ internal void draw_node_graph(compositor *comp, const window *wnd) { ndl->ln.p0 = p0; ndl->connected_node = k; - } else { - ndl->ln.p0 = ndl->ln.p1; - ndl->connected_node = EMPTY_NODE; + + connected = true; + break; } } + + if (!connected) { + ndl->ln.p0 = ndl->ln.p1; + ndl->connected_node = EMPTY_NODE; + } + break; + } default: break; }