Skip to content

Fix Asset List rows vanishing after switching tabs - #8

Merged
Diphome merged 1 commit into
masterfrom
fix/asset-list-redraw-on-tab-switch
Sep 7, 2026
Merged

Fix Asset List rows vanishing after switching tabs#8
Diphome merged 1 commit into
masterfrom
fix/asset-list-redraw-on-tab-switch

Conversation

@Diphome

@Diphome Diphome commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Bug

Filter the Asset List by type (e.g. VideoClip), switch to the Asset Classes tab, then switch back to Asset List — the rows are gone. Moving the mouse makes them reappear, but offset toward the middle instead of at the top.

Cause

The Asset List (and Asset Classes) list is a double-buffered ListView (LVS_EX_DOUBLEBUFFER, added for smooth virtual scrolling). When its TabPage is hidden and later shown, WinForms blits the stale back buffer instead of repainting, so the rows look gone; only the regions the mouse later invalidates get painted (hence the partial, offset rows).

Fix

Force a full Invalidate() on the relevant list when its tab becomes active (tabControl1.Selected), for both the Asset List and Asset Classes tabs.

Verified

  • Compiles clean on net9 (the local copy error was just the running app locking DLLs). CI validates net472/net8/net9.
  • ⚠️ Not yet reproduced/confirmed fixed at runtime — worth a quick check: filter, hop to Asset Classes and back, rows should stay put at the top.

The asset and class lists are double-buffered (LVS_EX_DOUBLEBUFFER). When their
tab is hidden and shown again — e.g. filter the Asset List, switch to Asset
Classes, switch back — the stale back buffer is blitted, so the rows look gone
and only paint (offset) where the mouse later invalidates. Force a full
Invalidate() on the list when its tab becomes active.

Co-Authored-By: Clue Opus 4.8 <noreply@anthropic.com>
@Diphome
Diphome merged commit db7d623 into master Sep 7, 2026
1 check passed
@Diphome
Diphome deleted the fix/asset-list-redraw-on-tab-switch branch September 7, 2026 18:37
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