Module: wine Branch: master Commit: 3603478b1bf667f4185d4b8b7e8accfe7a46eca4 URL: https://source.winehq.org/git/wine.git/?a=commit;h=3603478b1bf667f4185d4b8b7...
Author: Rémi Bernon rbernon@codeweavers.com Date: Fri Nov 13 10:30:56 2020 +0100
winemenubuilder: Only extract icons when association changed.
Signed-off-by: Rémi Bernon rbernon@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
programs/winemenubuilder/winemenubuilder.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/programs/winemenubuilder/winemenubuilder.c b/programs/winemenubuilder/winemenubuilder.c index ee53619bb9e..0ae1383d4bf 100644 --- a/programs/winemenubuilder/winemenubuilder.c +++ b/programs/winemenubuilder/winemenubuilder.c @@ -2657,7 +2657,7 @@ static BOOL generate_associations(const char *xdg_data_home, const char *package
executableW = assoc_query(ASSOCSTR_EXECUTABLE, extensionW, openW); if (executableW) - openWithIconA = extract_icon(executableW, 0, NULL, FALSE); + openWithIconA = compute_native_identifier(0, executableW);
friendlyAppNameW = assoc_query(ASSOCSTR_FRIENDLYAPPNAME, extensionW, openW); if (friendlyAppNameW) @@ -2730,6 +2730,12 @@ static BOOL generate_associations(const char *xdg_data_home, const char *package } }
+ if (hasChanged && openWithIconA) + { + char *outputIconA = extract_icon(executableW, 0, openWithIconA, FALSE); + HeapFree(GetProcessHeap(), 0, outputIconA); + } + end: HeapFree(GetProcessHeap(), 0, extensionA); HeapFree(GetProcessHeap(), 0, commandW);