From 6707ec2ed356d77296f66ef3dcddf6a8ba6fba92 Mon Sep 17 00:00:00 2001 From: Diphome Date: Mon, 7 Sep 2026 20:25:23 +0200 Subject: [PATCH] GUI: repaint the Asset List / Asset Classes lists on tab re-entry MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- UnityRiftGUI/UnityRiftGUIForm.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/UnityRiftGUI/UnityRiftGUIForm.cs b/UnityRiftGUI/UnityRiftGUIForm.cs index 9a2e4de..76a5b20 100644 --- a/UnityRiftGUI/UnityRiftGUIForm.cs +++ b/UnityRiftGUI/UnityRiftGUIForm.cs @@ -783,6 +783,13 @@ private void tabPageSelected(object sender, TabControlEventArgs e) break; case 1: assetListView.Select(); + // The virtual list is double-buffered (LVS_EX_DOUBLEBUFFER); when its tab is + // hidden and shown again the stale back buffer is blitted and rows only paint + // where the mouse later invalidates. Force a full repaint on re-entry. + assetListView.Invalidate(); + break; + case 2: + classesListView.Invalidate(); // same double-buffer redraw fix for Asset Classes break; case 3: dotnetTreeView?.Select();