5 Commits

Author SHA1 Message Date
wouter burgers
1f41f6d3f5 SourceControl: Fixed crash in FSourceControlAssetDataCache::LaunchFetchAssetDataTasks().
The fix is theorycrafted by reasoning about the code - I was not able to actually reproduce this.

The callstack suggests a nullptr exception, indicating that the Find() in AssetDataCache failed. The AssetDataToFetch container is populated in two places:
- AddAssetInformationEntry()
- OnUpdateHistoryComplete()

The AddAssetInformationEntry() method populates the AssetDataCache and optionally the AssetDataToFetch container.
The OnUpdateHistoryComplete() assumes the entry in AssetDataCache exists and populates the AssetDataToFetch container.

The ClearPendingTasks() removes pending entries from the AssetDataCache container.
However, it doesn't wait for any pending FUpdateStatus task to be finished.

Thus, if the ClearPendingTasks() method is called after GetFileHistory() queues an FUpdateStatus operation but before that operation returns, the OnUpdateHistoryComplete() would queue an entry in AssetDataToFetch while there is no accompanying entry in AssetDataCache. This will result in the crash. The ClearPendingTasks() is called on shutdown, when the source control provider changes or when the source control dialog is shown - the latter being the most likely thing to have happened.

#rb luc.eygasier, manuel.lang

[CL 32496768 by wouter burgers in 5.4 branch]
2024-03-26 00:47:41 -04:00
wouter burgers
9698c005a2 SourceControl: Fixed actor label change not being reflected in the 'Submit Files' dialog because the cached FAssetData still contained the old label.
#rnx

[CL 26458136 by wouter burgers in ue5-main branch]
2023-07-19 08:48:34 -04:00
jonathan bard
4886c1a9f3 Fixed "SourceControl: Error: CommandMessage Command: UpdateStatus, Error: Usage: filelog" message being displayed when using GetFileHistory
#rb luc.eygasier

[CL 22271664 by jonathan bard in ue5-main branch]
2022-09-30 11:33:33 -04:00
Matt Peters
7ad238a806 AssetRegistry includes (Engine/Source): change #include "AssetData.h" -> #include "AssetRegistry/AssetData.h", and similar for the other moved AssetRegistry headers.
#rb Zousar.Shaker
#rnx
#preflight 6270509a220f89f0ad573030

[CL 20016982 by Matt Peters in ue5-main branch]
2022-05-02 18:06:48 -04:00
luc eygasier
6b7aa9e719 Rework Source Control Changelist Window?s Asset beautification:
* Adds Source Control Asset Data cache. Preventing Source Control Changelist Window to rebuild AssetData from scratch when UI refresh takes place
* Modifies Source Control beautification to async process, preventing crowded changelists to block the workflow. The filenames are now beautified when available.
* Parallelize AssetData information retrieval from SourceControl
* Updates message displayed when refreshing window's items

#rb Sebastien.Lussier, JeanFrancois.Dube
#jira UETOOL-3522
#robomerge Private-Frosty

#changelist validated

[CL 17375288 by luc eygasier in ue5-main branch]
2021-08-31 15:12:47 -04:00