Fix what happens when a noodle gets released
This commit is contained in:
parent
b447e9d5a1
commit
4ed86611b5
@ -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.x += comp->ctx.rel_x;
|
||||||
ndl->ln.p0.y += comp->ctx.rel_y;
|
ndl->ln.p0.y += comp->ctx.rel_y;
|
||||||
break;
|
break;
|
||||||
case NOODLE_ACTION_RELEASED:
|
case NOODLE_ACTION_RELEASED: {
|
||||||
|
bool connected = false;
|
||||||
|
|
||||||
for (u64 k = NODE_START; k <= comp->count; ++k) {
|
for (u64 k = NODE_START; k <= comp->count; ++k) {
|
||||||
if (k == i) {
|
if (k == i) {
|
||||||
continue;
|
continue;
|
||||||
@ -234,12 +236,19 @@ internal void draw_node_graph(compositor *comp, const window *wnd) {
|
|||||||
|
|
||||||
ndl->ln.p0 = p0;
|
ndl->ln.p0 = p0;
|
||||||
ndl->connected_node = k;
|
ndl->connected_node = k;
|
||||||
} else {
|
|
||||||
|
connected = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!connected) {
|
||||||
ndl->ln.p0 = ndl->ln.p1;
|
ndl->ln.p0 = ndl->ln.p1;
|
||||||
ndl->connected_node = EMPTY_NODE;
|
ndl->connected_node = EMPTY_NODE;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user