Alexandre Julliard : explorer: Support a quoted /desktop option.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Feb 3 07:40:00 CST 2016


Module: wine
Branch: stable
Commit: 20818f8888bcb2a2f0bb6d8c9a3847f9fcda2207
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=20818f8888bcb2a2f0bb6d8c9a3847f9fcda2207

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Thu Jan 14 19:41:49 2016 +0900

explorer: Support a quoted /desktop option.

Workaround for Worms Armageddon which uses an invalid but previously
supported syntax.

Signed-off-by: Alexandre Julliard <julliard at winehq.org>
(cherry picked from commit 91a394a616e5d44db5100d24768ed037a6ae93be)
Signed-off-by: Michael Stefaniuc <mstefani at winehq.org>

---

 programs/explorer/explorer.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/programs/explorer/explorer.c b/programs/explorer/explorer.c
index c178017..8bfb826 100644
--- a/programs/explorer/explorer.c
+++ b/programs/explorer/explorer.c
@@ -682,6 +682,7 @@ static void parse_command_line(LPWSTR commandline,parameters_struct *parameters)
     static const WCHAR arg_root[] = {'/','r','o','o','t',','};
     static const WCHAR arg_select[] = {'/','s','e','l','e','c','t',','};
     static const WCHAR arg_desktop[] = {'/','d','e','s','k','t','o','p'};
+    static const WCHAR arg_desktop_quotes[] = {'"','/','d','e','s','k','t','o','p'};
 
     LPWSTR p = commandline;
 
@@ -716,6 +717,12 @@ static void parse_command_line(LPWSTR commandline,parameters_struct *parameters)
             p += sizeof(arg_desktop)/sizeof(WCHAR);
             manage_desktop( p );  /* the rest of the command line is handled by desktop mode */
         }
+        /* workaround for Worms Armageddon that hardcodes a /desktop option with quotes */
+        else if (strncmpW(p, arg_desktop_quotes, sizeof(arg_desktop_quotes)/sizeof(WCHAR))==0)
+        {
+            p += sizeof(arg_desktop_quotes)/sizeof(WCHAR);
+            manage_desktop( p );  /* the rest of the command line is handled by desktop mode */
+        }
         else
         {
             /* left over command line is generally the path to be opened */




More information about the wine-cvs mailing list