shell/source/win32/SysShExec.cxx |   22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

New commits:
commit 45b2e11a6756ed322cda932142c31366fc2b6da6
Author: Thomas Beck <thomas.b...@cib.de>
Date:   Wed May 3 12:57:11 2017 +0200

    tdf#107587 Opening Hyperlink opens Browser in Background.
    
    Added neccessary WinAPI calls to bring called window into the
    Foreground.
    
    Change-Id: I080968f655e2230d1a514b3ef91bf916d904d844
    Reviewed-on: https://gerrit.libreoffice.org/37196
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de>
    (cherry picked from commit ad711bc6e2cc35c2ed114fff15008d5bbcfcf21c)
    Reviewed-on: https://gerrit.libreoffice.org/37266
    Reviewed-by: Miklos Vajna <vmik...@collabora.co.uk>

diff --git a/shell/source/win32/SysShExec.cxx b/shell/source/win32/SysShExec.cxx
index c69d3f2a0c59..6cb31942ba02 100644
--- a/shell/source/win32/SysShExec.cxx
+++ b/shell/source/win32/SysShExec.cxx
@@ -323,6 +323,28 @@ void SAL_CALL CSysShExec::execute( const OUString& 
aCommand, const OUString& aPa
             static_cast< XSystemShellExecute* >(this),
             psxErr);
     }
+    else
+    {
+        // Get Permission make changes to the Window of the created Process
+        HWND procHandle = 0;
+        DWORD procId = GetProcessId(sei.hProcess);
+        AllowSetForegroundWindow(procId);
+
+        // Get the handle of the created Window
+        DWORD check = 0;
+        GetWindowThreadProcessId(procHandle, &check);
+        SAL_WARN_IF(check != procId, "shell", "Could not get handle of process 
called by shell.");
+
+        // Move created Window into the foreground
+        if(procHandle != 0)
+        {
+            SetForegroundWindow(procHandle);
+            SetActiveWindow(procHandle);
+        }
+    }
+
+    // Close the handle for the created childprocess when we are done
+    CloseHandle(sei.hProcess);
 }
 
 // XServiceInfo
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to