~andreas-pokorny/unity-mir/just_fix_1281075

« back to all changes in this revision

Viewing changes to src/modules/Unity/Application/taskcontroller.cpp

Implement preStart callback added to upstart-app-launch-2. Fixes: https://bugs.launchpad.net/bugs/1243665.

Approved by PS Jenkins bot, Michał Sawicz.

Show diffs side-by-side

added added

removed removed

Lines of Context:
305
305
TaskController::TaskController(QObject *parent) :
306
306
    QObject(parent)
307
307
{
308
 
    startCallback = [](const gchar * appId, gpointer userData) {
 
308
    preStartCallback = [](const gchar * appId, gpointer userData) {
309
309
        Q_UNUSED(userData)
310
 
        pid_t pid = upstart_app_launch_get_primary_pid(appId);
311
 
        ensureProcessIsUnlikelyToBeKilled(pid);
312
310
        Q_EMIT TaskController::singleton()->processStartReport(QString(appId), false);
313
311
    };
314
312
 
 
313
    startedCallback = [](const gchar * appId, gpointer userData) {
 
314
        Q_UNUSED(userData)
 
315
        pid_t pid = upstart_app_launch_get_primary_pid(appId);
 
316
        ensureProcessIsUnlikelyToBeKilled(pid);
 
317
    };
 
318
 
315
319
    stopCallback = [](const gchar * appId, gpointer userData) {
316
320
        Q_UNUSED(userData)
317
321
        Q_EMIT TaskController::singleton()->processStopped(QString(appId), false);
341
345
        Q_EMIT TaskController::singleton()->requestResume(QString(appId));
342
346
    };
343
347
 
344
 
    upstart_app_launch_observer_add_app_start(startCallback, nullptr);
 
348
    upstart_app_launch_observer_add_app_starting(preStartCallback, nullptr);
 
349
    upstart_app_launch_observer_add_app_started(startedCallback, nullptr);
345
350
    upstart_app_launch_observer_add_app_stop(stopCallback, nullptr);
346
351
    upstart_app_launch_observer_add_app_focus(focusCallback, nullptr);
347
352
    upstart_app_launch_observer_add_app_resume(resumeCallback, nullptr);
350
355
 
351
356
TaskController::~TaskController()
352
357
{
353
 
    upstart_app_launch_observer_delete_app_start(startCallback, nullptr);
 
358
    upstart_app_launch_observer_delete_app_starting(preStartCallback, nullptr);
 
359
    upstart_app_launch_observer_delete_app_started(startedCallback, nullptr);
354
360
    upstart_app_launch_observer_delete_app_stop(stopCallback, nullptr);
355
361
    upstart_app_launch_observer_delete_app_focus(focusCallback, nullptr);
356
362
    upstart_app_launch_observer_delete_app_resume(resumeCallback, nullptr);