Bug-AGL: SPEC-3269
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I7260626819b78ff7e2a245dc0a5ef566919220f7
{
struct ivi_surface *surf;
struct ivi_output *ivi_output;
+ struct ivi_policy *policy = ivi->policy;
surf = ivi_find_app(ivi, app_id);
if (!surf)
return;
+ if (policy && policy->api.surface_deactivate &&
+ !policy->api.surface_deactivate(surf, surf->ivi)) {
+ return;
+ }
+
ivi_output = ivi_layout_get_output_from_surface(surf);
weston_log("deactiving %s\n", app_id);
bool (*surface_create)(struct ivi_surface *surf, void *user_data);
bool (*surface_commited)(struct ivi_surface *surf, void *user_data);
bool (*surface_activate)(struct ivi_surface *surf, void *user_data);
+ bool (*surface_deactivate)(struct ivi_surface *surf, void *user_data);
bool (*surface_activate_by_default)(struct ivi_surface *surf, void *user_data);