Laatste documenttabblad sluiten crasht: closeTab kent alleen presentaties #1636

Closed
opened 2026-08-21 11:58:58 +00:00 by brenno · 0 comments
Owner

Wat er misgaat

Een documenttabblad sluiten terwijl het het enige tabblad is, gooit StateError: deckNotifier opgevraagd op een documenttabblad. Het kruisje, Opslaan-en-sluiten na #1614, en een schoon tabblad lopen allemaal naar dezelfde functie.

Waar het zit

_closeTab in lib/state/tabs_provider.dart behandelt één overblijvend tabblad als een presentatie:

current.tabs.first.deckNotifier.closeDeck();

TabInfo.deckNotifier gooit bewust op een documenttabblad. #1614 repareerde het opslaan in requestCloseTab, niet dit sluitpad. Bij meer dan één tabblad wordt _disposeTab gebruikt en crasht het niet — alleen het laatste tabblad.

Stappen

  1. Start OciDeck, open of maak één document, sluit eventuele presentatietabbladen.
  2. Klik het kruisje op het documenttabblad (schoon of na Opslaan en sluiten).

Wat het met het formaat doet

Niets op schijf. Het is een crash in de schil.

Regressie

Een widgettest die closeTab(0) aanroept op een staat met alleen een DocumentTabContent.

## Wat er misgaat Een documenttabblad sluiten terwijl het het **enige** tabblad is, gooit `StateError: deckNotifier opgevraagd op een documenttabblad`. Het kruisje, Opslaan-en-sluiten na #1614, en een schoon tabblad lopen allemaal naar dezelfde functie. ## Waar het zit `_closeTab` in `lib/state/tabs_provider.dart` behandelt één overblijvend tabblad als een presentatie: ``` current.tabs.first.deckNotifier.closeDeck(); ``` `TabInfo.deckNotifier` gooit bewust op een documenttabblad. #1614 repareerde het **opslaan** in `requestCloseTab`, niet dit sluitpad. Bij meer dan één tabblad wordt `_disposeTab` gebruikt en crasht het niet — alleen het laatste tabblad. ## Stappen 1. Start OciDeck, open of maak één document, sluit eventuele presentatietabbladen. 2. Klik het kruisje op het documenttabblad (schoon of na Opslaan en sluiten). ## Wat het met het formaat doet Niets op schijf. Het is een crash in de schil. ## Regressie Een widgettest die `closeTab(0)` aanroept op een staat met alleen een `DocumentTabContent`.
brenno 2026-08-21 22:34:05 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
LibreKAT/Ocideck#1636
No description provided.