aboutsummaryrefslogtreecommitdiffstats
path: root/src/runtimerender/rendererimpl
diff options
context:
space:
mode:
authorChristian Strømme <[email protected]>2025-06-06 12:40:58 +0200
committerChristian Strømme <[email protected]>2025-06-06 13:45:17 +0200
commit2fe942c1974927f7cd424eeba454ca9985fa2355 (patch)
tree39bf55409bb16a7ec5dfc3dd076a6d7979862253 /src/runtimerender/rendererimpl
parent811c9d65fae15c0399caca53f4b6443f159df878 (diff)
Fix global picking state logicHEADdev
After f525940cd5432e4e40d6767a22ca881a175a4b91 picking was accidentally enabled for any node that didn't have a parent. Pick-to: 6.10 Change-Id: I8b61fc0766e447b2374907a29724a7ffdfc96d1c Reviewed-by: Jonas Karlsson <[email protected]>
Diffstat (limited to 'src/runtimerender/rendererimpl')
-rw-r--r--src/runtimerender/rendererimpl/qssgrenderdata.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/runtimerender/rendererimpl/qssgrenderdata.cpp b/src/runtimerender/rendererimpl/qssgrenderdata.cpp
index 6d994f24..310de5a1 100644
--- a/src/runtimerender/rendererimpl/qssgrenderdata.cpp
+++ b/src/runtimerender/rendererimpl/qssgrenderdata.cpp
@@ -159,7 +159,7 @@ QSSGRenderDataHelpers::GlobalStateResult QSSGRenderDataHelpers::updateGlobalNode
const bool hasParent = (parent != nullptr);
const bool globallyActive = node->getLocalState(LocalState::Active) && (!hasParent || parent->getGlobalState(GlobalState::Active));
node->flags = globallyActive ? (node->flags | FlagT(GlobalState::Active)) : (node->flags & ~FlagT(GlobalState::Active));
- const bool globallyPickable = node->getLocalState(LocalState::Pickable) || (!hasParent || parent->getGlobalState(GlobalState::Pickable));
+ const bool globallyPickable = node->getLocalState(LocalState::Pickable) || (hasParent && parent->getGlobalState(GlobalState::Pickable));
node->flags = globallyPickable ? (node->flags | FlagT(GlobalState::Pickable)) : (node->flags & ~FlagT(GlobalState::Pickable));
// Clear dirty flags (Transform, Opacity, Active, Pickable)