#include "e.h"
#include "e_policy_wl.h"
#include <tzsh_server.h>
+#include <wayland-tbm-server.h>
#include "services/e_service_launcher.h"
typedef struct _E_Service_Launcher E_Service_Launcher;
}
}
+static void
+_launcher_target_ec_queue_flush(E_Service_Launcher *lc)
+{
+ struct wayland_tbm_client_queue *cqueue;
+
+ if (!e_comp_wl) return;
+ if (!lc) return;
+ if (!lc->target.ec) return;
+ if (!lc->target.ec->comp_data) return;
+ if (!lc->target.ec->comp_data->wl_surface) return;
+ if (e_object_is_del(E_OBJECT(lc->target.ec))) return;
+
+ cqueue = wayland_tbm_server_client_queue_get(e_comp_wl->tbm.server,
+ lc->target.ec->comp_data->wl_surface);
+ if (cqueue)
+ wayland_tbm_server_client_queue_flush(cqueue);
+}
+
static void
_launcher_cb_launch_done(struct wl_client *client EINA_UNUSED,
struct wl_resource *res_tws_lc,
}
else //normal launcher
{
+ _launcher_target_ec_queue_flush(lc);
if (lc->direction == TWS_SERVICE_LAUNCHER_DIRECTION_FORWARD)
_launcher_post_forward(lc, EINA_TRUE);
else if (lc->direction == TWS_SERVICE_LAUNCHER_DIRECTION_BACKWARD)