xr: Set and notify QQuick3DXrController::isActive


m_isActive was declared without an initialiser and never assigned, so
isActive() returned an indeterminate value, and isActiveChanged() was
declared but never emitted, so bindings on the property never updated.
The existing connection to QQuick3DXrHandInput::isActiveChanged only
drove visibility.

Initialise the member and route the hand input's active state through a
guarded setter that emits the notification.

Known shortcoming: handInput() returns null until the input manager is
valid, and setController() is the only caller that re-reads it, so a
controller assigned before XrView initialises the manager stays
inactive. Addressing that requires the input manager to re-notify its
registered controllers and is not done here.

Fixes: QTBUG-149278
Pick-to: 6.12 6.11 6.8
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Change-Id: I2495b0b62d7b18d3ecb500cde7096cbbf3a60e1f
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
commita8437f79dda2fdc3d42b6cd9261ea5525e62db81
parente711caa1140007b6cc3c78e51b52001935d9a019
authorNicholas Bennett <nicholas.bennett@qt.io>
committerNicholas Bennett <nicholas.bennett@qt.io>
commit timeMon, 12 Oct 2026 08:00:21 +0000