Changeset View
Changeset View
Standalone View
Standalone View
src/klauncher/klauncher.cpp
Show First 20 Lines • Show All 314 Lines • ▼ Show 20 Line(s) | 278 | { | |||
---|---|---|---|---|---|
315 | 315 | | |||
316 | qWarning() << "Unexpected request return" << (unsigned int) status; | 316 | qWarning() << "Unexpected request return" << (unsigned int) status; | ||
317 | } | 317 | } | ||
318 | 318 | | |||
319 | void | 319 | void | ||
320 | KLauncher::processDied(pid_t pid, long exitStatus) | 320 | KLauncher::processDied(pid_t pid, long exitStatus) | ||
321 | { | 321 | { | ||
322 | qCDebug(KLAUNCHER) << pid << "exitStatus=" << exitStatus; | 322 | qCDebug(KLAUNCHER) << pid << "exitStatus=" << exitStatus; | ||
323 | // We should probably check the exitStatus for the uniqueapp case? | | |||
324 | foreach (KLaunchRequest *request, requestList) { | 323 | foreach (KLaunchRequest *request, requestList) { | ||
325 | qCDebug(KLAUNCHER) << " had pending request" << request->pid; | 324 | qCDebug(KLAUNCHER) << " had pending request" << request->pid; | ||
326 | if (request->pid == pid) { | 325 | if (request->pid == pid) { | ||
327 | if ((request->dbus_startup_type == KService::DBusUnique) | 326 | if ((request->dbus_startup_type == KService::DBusUnique) | ||
328 | && QDBusConnection::sessionBus().interface()->isServiceRegistered(request->dbus_name)) { | 327 | && QDBusConnection::sessionBus().interface()->isServiceRegistered(request->dbus_name)) { | ||
329 | request->status = KLaunchRequest::Running; | 328 | request->status = KLaunchRequest::Running; | ||
330 | qCDebug(KLAUNCHER) << pid << "running as a unique app"; | 329 | qCDebug(KLAUNCHER) << pid << "running as a unique app"; | ||
331 | } else if(request->dbus_startup_type == KService::DBusNone && request->wait) { | 330 | } else if(request->dbus_startup_type == KService::DBusNone && request->wait) { | ||
332 | request->status = KLaunchRequest::Running; | 331 | request->status = KLaunchRequest::Running; | ||
333 | qCDebug(KLAUNCHER) << pid << "running as DBusNone with wait to true"; | 332 | qCDebug(KLAUNCHER) << pid << "running as DBusNone with wait to true"; | ||
333 | } else if (exitStatus == 0 && | ||||
334 | (request->dbus_startup_type == KService::DBusUnique || | ||||
335 | request->dbus_startup_type == KService::DBusMulti)) { | ||||
336 | // e.g. opening kate from a widget on the panel/desktop, where it | ||||
337 | // shows the session chooser dialog before ever entering the main | ||||
338 | // app event loop, then quitting/closing the dialog without starting kate | ||||
339 | request->status = KLaunchRequest::Done; | ||||
340 | qCDebug(KLAUNCHER) << pid << "exited without error, requestDone. status=" << request->status ; | ||||
dfaure: To make this less scary (since it's not an error) I would suggest
<< "exited without error… | |||||
ahmadsamir: Good point. Done. | |||||
334 | } else { | 341 | } else { | ||
335 | request->status = KLaunchRequest::Error; | 342 | request->status = KLaunchRequest::Error; | ||
336 | qCDebug(KLAUNCHER) << pid << "died, requestDone. status=" << request->status; | 343 | qCDebug(KLAUNCHER) << pid << "died, requestDone. status=" << request->status; | ||
337 | } | 344 | } | ||
338 | requestDone(request); | 345 | requestDone(request); | ||
339 | return; | 346 | return; | ||
340 | } | 347 | } | ||
341 | } | 348 | } | ||
▲ Show 20 Lines • Show All 889 Lines • Show Last 20 Lines |
To make this less scary (since it's not an error) I would suggest