winemenubuilder: only generate associations for the "open" verb
Damjan Jovanovic
damjan.jov at gmail.com
Sat Jun 27 08:28:34 CDT 2009
Changelog:
* only generate associations for the "open" verb
Without this patch, we miss extensions that have the wrong default
value data of the HKCR\ProgID\shell key which Windows does not miss,
and generate wrong and risky associations like the "install" verb when
double-clicking an .inf file. Proper support for verbs other than
"open" requires the freedesktop.org MIME actions spec.
Damjan Jovanovic
-------------- next part --------------
diff --git a/programs/winemenubuilder/winemenubuilder.c b/programs/winemenubuilder/winemenubuilder.c
index 0549eb5..27a9e5e 100644
--- a/programs/winemenubuilder/winemenubuilder.c
+++ b/programs/winemenubuilder/winemenubuilder.c
@@ -1692,6 +1692,7 @@ static void update_association(LPCWSTR extension, LPCSTR mimeType, LPCWSTR progI
static BOOL cleanup_associations(void)
{
+ static const WCHAR openW[] = {'o','p','e','n',0};
HKEY assocKey;
BOOL hasChanged = FALSE;
if ((assocKey = open_associations_reg_key()))
@@ -1729,7 +1730,7 @@ static BOOL cleanup_associations(void)
done = TRUE;
goto end;
}
- command = assoc_query(ASSOCSTR_COMMAND, extensionW, NULL);
+ command = assoc_query(ASSOCSTR_COMMAND, extensionW, openW);
if (command == NULL)
{
char *desktopFile = reg_get_valA(assocKey, extensionA, "DesktopFile");
@@ -1841,6 +1842,7 @@ static BOOL write_freedesktop_association_entry(const char *desktopPath, const c
static BOOL generate_associations(const char *xdg_data_home, const char *packages_dir, const char *applications_dir)
{
+ static const WCHAR openW[] = {'o','p','e','n',0};
struct list *nativeMimeTypes = NULL;
LSTATUS ret = 0;
int i;
@@ -1960,7 +1962,7 @@ static BOOL generate_associations(const char *xdg_data_home, const char *package
}
}
- commandW = assoc_query(ASSOCSTR_COMMAND, extensionW, NULL);
+ commandW = assoc_query(ASSOCSTR_COMMAND, extensionW, openW);
if (commandW == NULL)
/* no command => no application is associated */
goto end;
More information about the wine-patches
mailing list