fix: crash parsing CLSID in shell.readShortcutLink()
(#45195)
* fix: crash parsing CLSID in shell.readShortcutLink * fix: ignore clsid if it could not be set
This commit is contained in:
parent
4629e449a9
commit
ae56a03e33
3 changed files with 43 additions and 1 deletions
|
@ -139,3 +139,4 @@ build_disable_thin_lto_mac.patch
|
||||||
build_add_public_config_simdutf_config.patch
|
build_add_public_config_simdutf_config.patch
|
||||||
revert_code_health_clean_up_stale_macwebcontentsocclusion.patch
|
revert_code_health_clean_up_stale_macwebcontentsocclusion.patch
|
||||||
build_remove_vr_directx_helpers_dependency.patch
|
build_remove_vr_directx_helpers_dependency.patch
|
||||||
|
ignore_parse_errors_for_pkey_appusermodel_toastactivatorclsid.patch
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?David=20L=C3=B6nnhager?= <dv.lnh.d@gmail.com>
|
||||||
|
Date: Fri, 17 Jan 2025 14:30:48 +0100
|
||||||
|
Subject: Ignore parse errors for PKEY_AppUserModel_ToastActivatorCLSID
|
||||||
|
|
||||||
|
Some shortcuts store this as a string UUID as opposed to VT_CLSID,
|
||||||
|
hitting NOTREACHED() and sometimes breaking parsing in Electron.
|
||||||
|
Ignore this error instead.
|
||||||
|
|
||||||
|
Bug: N/A
|
||||||
|
Change-Id: I9fc472212b2d3afac2c8e18a2159bc2d50bbdf98
|
||||||
|
|
||||||
|
diff --git a/AUTHORS b/AUTHORS
|
||||||
|
index 55dc38c1448c1960b802c136018c8be22ed61c18..5cd195df3650331fbfd62b2f964368b5f3217f3c 100644
|
||||||
|
--- a/AUTHORS
|
||||||
|
+++ b/AUTHORS
|
||||||
|
@@ -337,6 +337,7 @@ David Futcher <david.mike.futcher@gmail.com>
|
||||||
|
David Jin <davidjin@amazon.com>
|
||||||
|
David Lechner <david@pybricks.com>
|
||||||
|
David Leen <davileen@amazon.com>
|
||||||
|
+David Lönnhager <dv.lnh.d@gmail.com>
|
||||||
|
David Manouchehri <david@davidmanouchehri.com>
|
||||||
|
David McAllister <mcdavid@amazon.com>
|
||||||
|
David Michael Barr <david.barr@samsung.com>
|
||||||
|
diff --git a/base/win/shortcut.cc b/base/win/shortcut.cc
|
||||||
|
index e790adb2f1d6529ac0dd77145f5da2796264c7ae..8a7edcfaf9af963468b4b42fe55a771fb31f13a2 100644
|
||||||
|
--- a/base/win/shortcut.cc
|
||||||
|
+++ b/base/win/shortcut.cc
|
||||||
|
@@ -342,8 +342,9 @@ bool ResolveShortcutProperties(const FilePath& shortcut_path,
|
||||||
|
*(pv_toast_activator_clsid.get().puuid));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
- NOTREACHED() << "Unexpected variant type: "
|
||||||
|
- << pv_toast_activator_clsid.get().vt;
|
||||||
|
+ // Shortcuts may use strings to represent the CLSID. This case is
|
||||||
|
+ // ignored.
|
||||||
|
+ break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -163,7 +163,8 @@ v8::Local<v8::Value> ReadShortcutLink(gin_helper::ErrorThrower thrower,
|
||||||
options.Set("icon", properties.icon);
|
options.Set("icon", properties.icon);
|
||||||
options.Set("iconIndex", properties.icon_index);
|
options.Set("iconIndex", properties.icon_index);
|
||||||
options.Set("appUserModelId", properties.app_id);
|
options.Set("appUserModelId", properties.app_id);
|
||||||
options.Set("toastActivatorClsid", properties.toast_activator_clsid);
|
if (properties.options & ShortcutProperties::PROPERTIES_TOAST_ACTIVATOR_CLSID)
|
||||||
|
options.Set("toastActivatorClsid", properties.toast_activator_clsid);
|
||||||
return gin::ConvertToV8(thrower.isolate(), options);
|
return gin::ConvertToV8(thrower.isolate(), options);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue