diff --git a/src/Session.cpp b/src/Session.cpp index 81da22520..3b537c052 100644 --- a/src/Session.cpp +++ b/src/Session.cpp @@ -961,26 +961,25 @@ void Session::updateSessionProcessInfo() bool Session::updateForegroundProcessInfo() { - bool valid = (_foregroundProcessInfo != 0); - - // has foreground process changed? Q_ASSERT(_shellProcess); + int pid = _shellProcess->foregroundProcessGroup(); if (pid != _foregroundPid) { delete _foregroundProcessInfo; _foregroundProcessInfo = ProcessInfo::newInstance(pid); _foregroundPid = pid; - valid = true; } - if (valid) + if (_foregroundProcessInfo) { _foregroundProcessInfo->update(); - valid = _foregroundProcessInfo->isValid(); + return _foregroundProcessInfo->isValid(); + } + else + { + return false; } - - return valid; } bool Session::isRemote()