Skip to content

Block background pointer input behind modal surfaces - #34

Merged
42lizard merged 1 commit into
mainfrom
fix/readest-modal-input
Sep 26, 2026
Merged

42lizard merged 1 commit into
mainfrom
fix/readest-modal-input

Conversation

@42lizard

@42lizard 42lizard commented Sep 26, 2026 •

Copy link
Copy Markdown
Owner

Summary

Long-pressing a book during refresh could open the library context menu behind the operation display. Operation and decision surfaces now share a modal input shield, so background handlers cannot receive taps or long presses through their backdrops.

ModalSurface
├── dimmed backdrop + pointer shield
└── operation or decision controls (above the shield)

Existing Back/Close behavior and controller checks remain in place.

Evidence

  • Before: The real-input Qt UI test failed because contextOpen became true after a long press during refresh.
    After: The same regression passes. Tap/long-press checks cover operation, conflict and blocking states; real taps also verify Cancel and exit, both reading-position choices, Cancel and Acknowledge. Long pressing the library works again after dismissing the modal surface.
  • qt-ui, simulator and simulator-real tests passed.
  • PocketBook ARM build and loader/resource/ABI checks passed.
  • Standards and spec reviews: no findings.
  • The user approved the device test after installing commit 1487c77 on PB743G. Installed app SHA-256: c1f13ad4f9ca2c002eb54f314faa1bc461bdeaea958015065cfcfecb98eb97ed. The installer verified native databases remained unchanged. Decision-dialog controls were also covered by the automated UI test.

Merge Danger

Door: two-way

Revertible QML change; no stored-data changes.

Blast Radius: input

Pointer handling inside operation and decision surfaces. Header, keyboard routing and action authorization are unchanged.

@42lizard
42lizard merged commit cc6918c into main Sep 26, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant