• Mike Kaganski's avatar
    tdf#120703 PVS: V547 Fix activation of launched process' window · de26ed22
    Mike Kaganski yazdı
    V547 Expression 'procHandle != nullptr' is always false.
    
    The code was nonsensical overall. First, the launched process handle
    was never returned by ShellExecuteExW, because SEE_MASK_NOCLOSEPROCESS
    wasn't used, so GetProcessId couldn't succeed. Then, nullptr window
    handle was passed to GetWindowThreadProcessId, thus never returning a
    meaningful result.
    
    This reimplements this to find the launched process' main window by
    first waiting for process idle (up to 1-second delay is possible),
    then enumerating all the top-level windows and checking their process.
    
    Change-Id: I5fb4c04147b3f9414e27650a023f7844523c18bd
    Reviewed-on: https://gerrit.libreoffice.org/62478
    Tested-by: Jenkins
    Reviewed-by: 's avatarMike Kaganski <mike.kaganski@collabora.com>
    de26ed22
SysShExec.cxx 14 KB