From 148969c4578c4016d8baa0b659923e6d48a8cb03 Mon Sep 17 00:00:00 2001 From: Razmoth <32140579+Razmoth@users.noreply.github.com> Date: Sat, 25 Nov 2023 15:29:15 +0400 Subject: [PATCH] - [GUI] bug fixes --- AssetStudio.GUI/AssetBrowser.cs | 4 +++- AssetStudio.GUI/MainForm.cs | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/AssetStudio.GUI/AssetBrowser.cs b/AssetStudio.GUI/AssetBrowser.cs index 5678da6..4310aca 100644 --- a/AssetStudio.GUI/AssetBrowser.cs +++ b/AssetStudio.GUI/AssetBrowser.cs @@ -57,7 +57,7 @@ private void clear_Click(object sender, EventArgs e) } private void loadSelected_Click(object sender, EventArgs e) { - var files = assetDataGridView.SelectedRows.Cast().Select(x => x.DataBoundItem as AssetEntry).Select(x => x.Source).ToHashSet(); + var files = assetDataGridView.SelectedRows.Cast().Select(x => _assetEntries[x.Index]).Select(x => x.Source).ToHashSet(); var missingFiles = files.Where(x => !File.Exists(x)); foreach (var file in missingFiles) { @@ -98,6 +98,7 @@ private void searchTextBox_KeyPress(object sender, KeyPressEventArgs e) _assetEntries = ResourceMap.GetEntries().FindAll(x => x.Matches(filters)); + assetDataGridView.CurrentCell = assetDataGridView[0, 0]; assetDataGridView.Rows.Clear(); assetDataGridView.RowCount = _assetEntries.Count; assetDataGridView.Refresh(); @@ -159,6 +160,7 @@ private void AssetListView_ColumnHeaderMouseClick(object sender, DataGridViewCel _assetEntries = direction == ListSortDirection.Ascending ? _assetEntries.OrderBy(keySelector).ToList() : _assetEntries.OrderByDescending(keySelector).ToList(); + assetDataGridView.CurrentCell = assetDataGridView[0, 0]; assetDataGridView.Rows.Clear(); assetDataGridView.RowCount = _assetEntries.Count; assetDataGridView.Refresh(); diff --git a/AssetStudio.GUI/MainForm.cs b/AssetStudio.GUI/MainForm.cs index be1ba93..a4b817f 100644 --- a/AssetStudio.GUI/MainForm.cs +++ b/AssetStudio.GUI/MainForm.cs @@ -1437,7 +1437,8 @@ private void StatusStripUpdate(string statusText) { if (InvokeRequired) { - BeginInvoke(new Action(() => { toolStripStatusLabel1.Text = statusText; })); + var result = BeginInvoke(() => { toolStripStatusLabel1.Text = statusText; }); + result.AsyncWaitHandle.WaitOne(); } else {