Fix connections not drawn when second port arrives after connection registered - #28
Fix connections not drawn when second port arrives after connection registered#28ycollet wants to merge 1 commit into
Conversation
…egistered When add_connection() fires before one port is in the canvas, the connection is stored as hidden on both ports. When the late port is finally added to the canvas, visible_conns were correctly cleared from the hidden sets but conn.add_to_canvas() was never called, leaving the line undrawn until a manual canvas refresh. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Hi. Sorry for the late answer. I must say no, this is not a correct way to fix your problem, I really don't want that the method
why does a such inconsistent thing happens ??? |
|
OK for me. We can abandon this PR. The problem was: from time to time, I need to do a refresh because no connexions shows up, but the refresh step redraw them. So, there is a redraw problem somewhere :) |
|
mmmh, yes why not. However it is interesting for me to understand what can happen. Are you sure (or pretty sure) that the problem happens when connection is added before the port ? If it is the case, there is a problem somewhere before (in RaySession, it could come from a problem of order of OSC messages between the patchbay daemon and the GUI, but I never met this problem, a problem with PipeWire directly or with python JACK module). Not easy to catch it, it would be interesting to make a script that creates the problem regularly when raysession is started with some logs with |
|
OK, I leave this open util I've got a dbg log. Then I will close the PR and open a ticket with all the information. |
When add_connection() fires before one port is in the canvas, the connection is stored as hidden on both ports.
When the late port is finally added to the canvas, visible_conns were correctly cleared from the hidden sets but conn.add_to_canvas() was never called, leaving the line undrawn until a manual canvas refresh.
Tested on Fedora 44.