Damjan Jovanovic : winemenubuilder: associate .lnk files with wine.

Alexandre Julliard julliard at winehq.org
Wed May 19 10:34:16 CDT 2010


Module: wine
Branch: master
Commit: 0666c0da00ea3ddebc7baecefcb987e238b00330
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=0666c0da00ea3ddebc7baecefcb987e238b00330

Author: Damjan Jovanovic <damjan.jov at gmail.com>
Date:   Tue May 18 21:33:03 2010 +0200

winemenubuilder: associate .lnk files with wine.

---

 programs/winemenubuilder/winemenubuilder.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/programs/winemenubuilder/winemenubuilder.c b/programs/winemenubuilder/winemenubuilder.c
index 4dc08d5..9f10fdb 100644
--- a/programs/winemenubuilder/winemenubuilder.c
+++ b/programs/winemenubuilder/winemenubuilder.c
@@ -1994,6 +1994,14 @@ static BOOL is_extension_blacklisted(LPCWSTR extension)
     return FALSE;
 }
 
+static const char* get_special_mime_type(LPCWSTR extension)
+{
+    static const WCHAR lnkW[] = {'.','l','n','k',0};
+    if (!strcmpiW(extension, lnkW))
+        return "application/x-ms-shortcut";
+    return NULL;
+}
+
 static BOOL write_freedesktop_association_entry(const char *desktopPath, const char *dot_extension,
                                                 const char *friendlyAppName, const char *mimeType,
                                                 const char *progId)
@@ -2102,6 +2110,8 @@ static BOOL generate_associations(const char *xdg_data_home, const char *package
             {
                 if (contentTypeW != NULL && strchrW(contentTypeW, '/'))
                     mimeTypeA = wchars_to_utf8_chars(contentTypeW);
+                else if ((get_special_mime_type(extensionW)))
+                    mimeTypeA = strdupA(get_special_mime_type(extensionW));
                 else
                     mimeTypeA = heap_printf("application/x-wine-extension-%s", &extensionA[1]);
 




More information about the wine-cvs mailing list