Skip to content

Commit 4d7691a

Browse files
moooyoYu Leng (from Dev Box)
and
Yu Leng (from Dev Box)
authored
[cmdpal] Fix winget extension crash issue (#38074)
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request I don't know why defaultInstalledVersion becomes null. But, at least we need to fix it... Test case: vscode. ![image](https://github.com/user-attachments/assets/17d14d62-066d-4032-b40c-f7339c25f899) Closes zadjii-msft#572 Co-authored-by: Yu Leng (from Dev Box) <[email protected]>
1 parent 2f9fea2 commit 4d7691a

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

src/modules/cmdpal/exts/Microsoft.CmdPal.Ext.WinGet/Pages/InstallPackageListItem.cs

+10-7
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,11 @@ public InstallPackageListItem(CatalogPackage package)
3232
_package = package;
3333

3434
PackageVersionInfo version = _package.DefaultInstallVersion;
35-
string versionText = version.Version;
36-
string versionTagText = versionText == "Unknown" && version.PackageCatalog.Info.Id == "StoreEdgeFD" ? "msstore" : versionText;
35+
var versionTagText = "Unknown";
36+
if (version != null)
37+
{
38+
versionTagText = version.Version == "Unknown" && version.PackageCatalog.Info.Id == "StoreEdgeFD" ? "msstore" : version.Version;
39+
}
3740

3841
Title = _package.Name;
3942
Subtitle = _package.Id;
@@ -49,8 +52,8 @@ public InstallPackageListItem(CatalogPackage package)
4952
CatalogPackageMetadata? metadata = version?.GetCatalogPackageMetadata();
5053
if (metadata != null)
5154
{
52-
string description = string.IsNullOrEmpty(metadata.Description) ? metadata.ShortDescription : metadata.Description;
53-
string detailsBody = $"""
55+
var description = string.IsNullOrEmpty(metadata.Description) ? metadata.ShortDescription : metadata.Description;
56+
var detailsBody = $"""
5457
5558
{description}
5659
""";
@@ -102,8 +105,8 @@ private List<IDetailsElement> GetDetailsMetadata(CatalogPackageMetadata metadata
102105
UriCreationOptions options = default;
103106
foreach (KeyValuePair<string, (string, string)> kv in simpleData)
104107
{
105-
string text = string.IsNullOrEmpty(kv.Value.Item1) ? kv.Value.Item2 : kv.Value.Item1;
106-
string target = kv.Value.Item2;
108+
var text = string.IsNullOrEmpty(kv.Value.Item1) ? kv.Value.Item2 : kv.Value.Item1;
109+
var target = kv.Value.Item2;
107110
if (!string.IsNullOrEmpty(text))
108111
{
109112
Uri? uri = null;
@@ -153,7 +156,7 @@ private async void UpdatedInstalledStatus()
153156
if (WinGetStatics.AppSearchCallback != null)
154157
{
155158
Func<string, ICommandItem?> callback = WinGetStatics.AppSearchCallback;
156-
ICommandItem? installedApp = callback(_package.DefaultInstallVersion.DisplayName);
159+
ICommandItem? installedApp = callback(_package.DefaultInstallVersion == null ? _package.Name : _package.DefaultInstallVersion.DisplayName);
157160
if (installedApp != null)
158161
{
159162
this.Command = installedApp.Command;

0 commit comments

Comments
 (0)