From 39eb6571be1ed94fac03c318fe807973b2cb2061 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Fri, 8 Oct 2010 20:06:51 +0000 Subject: [PATCH] registrar: Actually checks if the app is running before asking it to quit, iterates until finding a valid app. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38899 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/registrar/ShutdownProcess.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/servers/registrar/ShutdownProcess.cpp b/src/servers/registrar/ShutdownProcess.cpp index c83b35014e..62eef2b646 100644 --- a/src/servers/registrar/ShutdownProcess.cpp +++ b/src/servers/registrar/ShutdownProcess.cpp @@ -1456,11 +1456,16 @@ ShutdownProcess::_QuitApps(AppInfoList& list, bool systemApps) char appName[B_FILE_NAME_LENGTH]; { BAutolock _(fWorkerLock); - if (!list.IsEmpty()) { + while (!list.IsEmpty()) { RosterAppInfo* info = *list.It(); team = info->team; port = info->port; strcpy(appName, info->ref.name); + + if (info->IsRunning()) + break; + list.RemoveInfo(info); + delete info; } }