main: Handle terminating event 98/29598/1
authorMarius Vlad <marius.vlad@collabora.com>
Mon, 15 Jan 2024 15:14:22 +0000 (17:14 +0200)
committerMarius Vlad <marius.vlad@collabora.com>
Mon, 15 Jan 2024 16:34:46 +0000 (18:34 +0200)
This breaks start/terminate/stop cycle when moving windows to another
output. Due to the way that dynamic movement of windows takes place we
also need to handle termination.

This was an oversight from when adding gRPC proxy.

Fixes: 5d6e250cf1175ede ("AglShellGrpcClient: Activate windows with gRPC")

Bugt-AGL: SPEC-5049
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: Ic19a13fce155e706fb1f9e9dac798667a592a48a

homescreen/src/main.cpp

index ec0e1c5..a98a15b 100644 (file)
@@ -118,8 +118,9 @@ agl_shell_app_on_output(void *data, struct agl_shell *agl_shell,
        homescreenHandler->pending_app_list.push_back(new_pending_app);
 
        if (homescreenHandler->apps_stack.contains(QString(app_id))) {
-               qDebug() << "Gove event to move " << app_id <<
+               qDebug() << "Got event to move " << app_id <<
                        " to another output " << output_name;
+
                homescreenHandler->processAppStatusEvent(app_id, "started");
        }
 }
@@ -371,7 +372,7 @@ app_status_callback(::agl_shell_ipc::AppStateResponse app_response, void *data)
                break;
        case AGL_SHELL_APP_STATE_TERMINATED:
                qDebug() << "Got AGL_SHELL_APP_STATE_TERMINATED for app_id " << app_id;
-               // handled by HomescreenHandler::processAppStatusEvent
+               homescreenHandler->processAppStatusEvent(app_id, "terminated");
                break;
        case AGL_SHELL_APP_STATE_ACTIVATED:
                qDebug() << "Got AGL_SHELL_APP_STATE_ACTIVATED for app_id " << app_id;