# fix: guard panel-default smoke null derefs, restore loading fallback \(\#159\) · lucenx/codexbar-plasma

[View on GitCafe](https://git.cafe/lucenx/codexbar-plasma/commit/8a064eaf92c72cb4a37b4c816e3bc1179bcf3c02)

Repository: [lucenx/codexbar-plasma](https://git.cafe/lucenx/codexbar-plasma)

Visibility: public

Requested revision: 8a064eaf92c72cb4a37b4c816e3bc1179bcf3c02

Requested commit: 8a064eaf92c72cb4a37b4c816e3bc1179bcf3c02

Commit: 8a064eaf92c72cb4a37b4c816e3bc1179bcf3c02

Tree: 7017e190b27c7d5c488db0907d0f41e94f30f200

Author: Simone

Committer: GitHub

## Message

```
fix: guard panel-default smoke null derefs, restore loading fallback (#159)

* fix: guard panel-default smoke null derefs, restore loading fallback

- Capture.qml: null-guard compactPanelItem before reading
  showPrimaryIdentity/implicitWidth (inner Loader loads async)
- Capture.qml: null-guard selectedCompactProvider() before .title
- main.qml compactText(): restore Loading/CodexBar fallback before
  the PanelRules text gate so a restrictive rule cannot blank the
  loading indicator

* fix: fail panel-default capture when usage reloads mid-scenario

scenarioReady() polled the panel-default branch without the
providers===panelUsageSnapshot reload guard the other panel
branches use, so a usage refresh between verify and settle could
be captured silently. Assert the snapshot before reporting ready.

* fix: address Codex review on panel-default smoke guards

- main.qml compactText(): keep the Loading/CodexBar fallback behind
  the PanelRules text gate (revert of earlier reorder). The whole-
  panel-text condition intentionally gates all text, loading
  included; verifyEmptyPanelRules() asserts exactly that.
- Capture.qml Timer: wait for compactPanelItem (inner Loader) before
  calling verifyPanelDefaults(), instead of failing mid-verify on a
  mutated config. The in-verify guards stay as a safety net.
```

## Parents

- [5269cbfe9ec5c448c03caf9f9495dc12efb80305](https://git.cafe/lucenx/codexbar-plasma/commit/5269cbfe9ec5c448c03caf9f9495dc12efb80305?format=markdown)

[Source at this commit](https://git.cafe/lucenx/codexbar-plasma/tree/8a064eaf92c72cb4a37b4c816e3bc1179bcf3c02?format=markdown)
