Page MenuHome

Fix T97575: Toggling fullscreen causes compositor recalc
ClosedPublic

Authored by Sergey Sharybin (sergey) on May 5 2022, 11:37 AM.

Details

Summary

The root of the issue is that compositor is using refresh mechanism
to handle recalc.

The safest fix which does not require deep refactor is to check to
whether node space was tagged for refresh from listener (currently
it is listeners which are responsible for tackling compositor tree
recalc).

Diff Detail

Repository
rB Blender

Event Timeline

Sergey Sharybin (sergey) requested review of this revision.May 5 2022, 11:37 AM
Sergey Sharybin (sergey) created this revision.
Julian Eisel (Severin) requested changes to this revision.May 5 2022, 12:40 PM

There are some unrelated changes in the patch. Plus, I fear non-compositor node trees would be broken by this :)

source/blender/editors/space_node/space_node.cc
327

Typo: compositinc

327–330

We use doxygen style comments for function descriptions in editor code, like:

/**
 * ...
 */
343–346

Same re doxygen style comments.

402–412

This seems wrong? Checks for ED_node_is_shader(snode) first, so node_area_tag_recalc_regular_compositing() will early-exit and do nothing. So won't the shader nodes miss a refresh here?

Generally I'm wondering, is this really limited to compositing only?

This revision now requires changes to proceed.May 5 2022, 12:40 PM
source/blender/editors/space_node/space_node.cc
327–330

Except this file, but ok ;)

402–412

This is a good catch. Guess this is partially a mess remained from the removal of BI nodes,
I'll make code more safe for 3.2 (by avoiding behavior change for non-compositor trees).

Sergey Sharybin (sergey) planned changes to this revision.May 5 2022, 1:03 PM

Address inlined comments.

This revision is now accepted and ready to land.May 5 2022, 2:13 PM