Mark Tucker

mtucker

About Me

EXPERTISE
Developer

Connect

LOCATION
Canada
WEBSITE

Houdini Skills

Availability

Not Specified

Recent Forum Posts

Solaris Help??? April 17, 2024, 6:18 p.m.

If you could submit a bug with a simplified hip file that shows this issue it would be much appreciated!

How to catch stage update in a python_panel in Solaris? April 17, 2024, 6:16 p.m.

My best advice would be to look at how the scene graph details pane is doing it... To describe it at a high level:
1. OnNodePathChanged triggers an update and sets up a bunch of node event callbacks.
2. Triggering of those callbacks checks if there are any unhandled updates outstanding. If so, do nothing and return. If not, set a flag indicating that there are outstanding unhandled updates, and use hdefereval to cause an "update" function to be called when control returns to the UI event queue.
3. The deferred update function updates the panel, and turns off the flag indicating that there are outstanding unhandled updates.

The use of hdefereval is critical for two reasons:
1. It prevents massive over-updating of the panel UI
2. It allows us to follow the rule (that I have been trying to publicize a lot recently): Do Not Cook Nodes in Node Event Callbacks!

My best guess for why your panel is "one cook behind" is because you are violating the rule in (2)?

Lightlinker broken April 17, 2024, 11:13 a.m.

Please submit a bug if you haven't done so already!