]> granicus.if.org Git - imagemagick/commitdiff
Fixed launch: show: win:
authordirk <dirk@git.imagemagick.org>
Sat, 11 Jan 2014 23:01:23 +0000 (23:01 +0000)
committerdirk <dirk@git.imagemagick.org>
Sat, 11 Jan 2014 23:01:23 +0000 (23:01 +0000)
MagickCore/nt-base.c

index 6a21158911ea6b88cc6d18d325b203006c2519cd..e76952235f64789eabfc22f63d78caae87a816c1 100644 (file)
@@ -2053,7 +2053,7 @@ MagickPrivate int NTSystemCommand(const char *command)
     status;
 
   MagickBooleanType
-    background_process;
+    asynchronous;
 
   PROCESS_INFORMATION
     process_info;
@@ -2067,21 +2067,24 @@ MagickPrivate int NTSystemCommand(const char *command)
   startup_info.dwFlags=STARTF_USESHOWWINDOW;
   startup_info.wShowWindow=SW_SHOWMINNOACTIVE;
   (void) CopyMagickString(local_command,command,MaxTextExtent);
-  background_process=command[strlen(command)-1] == '&' ? MagickTrue :
-    MagickFalse;
-  if (background_process != MagickFalse)
-    local_command[strlen(command)-1]='\0';
-  if (command[strlen(command)-1] == '|')
-    local_command[strlen(command)-1]='\0';
+  asynchronous=command[strlen(command)-1] == '&' ? MagickTrue : MagickFalse;
+  if (asynchronous)
+    {
+      local_command[strlen(command)-1]='\0';
+      startup_info.wShowWindow=SW_SHOWDEFAULT;
+    }
   else
-    startup_info.wShowWindow=SW_HIDE;
+    if (command[strlen(command)-1] == '|')
+      local_command[strlen(command)-1]='\0';
+    else
+      startup_info.wShowWindow=SW_HIDE;
   status=CreateProcess((LPCTSTR) NULL,local_command,(LPSECURITY_ATTRIBUTES)
     NULL,(LPSECURITY_ATTRIBUTES) NULL,(BOOL) FALSE,(DWORD)
     NORMAL_PRIORITY_CLASS,(LPVOID) NULL,(LPCSTR) NULL,&startup_info,
     &process_info);
   if (status == 0)
     return(-1);
-  if (background_process != MagickFalse)
+  if (asynchronous != MagickFalse)
     return(status == 0);
   status=WaitForSingleObject(process_info.hProcess,INFINITE);
   if (status != WAIT_OBJECT_0)