return MRP_HTBL_ITER_STOP;
}
}
-
+
return MRP_HTBL_ITER_MORE;
}
if (output_name && strcmp(output_name, "*")) {
memset(&oit, 0, sizeof(oit));
oit.name = output_name;
-
+
mrp_wayland_foreach(w, i) {
mrp_htbl_foreach(w->outputs, output_find_cb, &oit);
dit.type = type;
dit.zones = 0;
dit.counter = 0;
-
+
switch (type) {
case MRP_RESMGR_DISABLE_REQUISITE:
dit.req = *(mrp_application_requisite_t *)data;
mrp_htbl_foreach(screen->resources, screen_disable_cb, &dit);
break;
-
+
case MRP_RESMGR_DISABLE_APPID:
dit.mask = BIT(MRP_RESMGR_DISABLE_APPID - 1);
dit.appid = (const char *)data;
if (recalc_owner) {
for (z = 0; dit.zones && z < MRP_ZONE_MAX; z++) {
mask = (((uint32_t)1) << z);
-
+
if ((mask & dit.zones)) {
dit.zones &= ~mask;
mrp_resource_owner_recalc(z);
e = (p = buf) + len;
*p = 0;
-
+
if (zoneid < MRP_ZONE_MAX) {
areas = screen->zones + zoneid;
grantid = screen->grantids[zoneid];
static int area_resolution_cb(void *key, void *object, void *user_data)
{
-
+
screen_resource_t *sr = (screen_resource_t *)object;
area_iterator_t *ait = (area_iterator_t *)user_data;
const char *areaname;
appid = get_appid_for_resource(sr->res);
surfaceid = get_surfaceid_for_resource(sr->res);
layerid = -1;
-
+
mrp_debug(" resolving screen resource for '%s'",
appid ? appid : "<unknown appid>");
for (z = 0; ait.zone.mask && z < MRP_ZONE_MAX; z++) {
mask = (((uint32_t)1) << z);
-
+
if ((mask & ait.zone.mask)) {
ait.zone.mask &= ~mask;
mrp_resource_owner_recalc(z);
zmin = MRP_ZONE_MAX-1;
for (i = cnt = 0; i < screen->narea; i++) {
- area = screen->areas[i];
+ if (!(area = screen->areas[i]))
+ continue;
+
resources = &area->resources;
mrp_list_foreach(resources, entry, n) {
"can't find app");
return NULL;
}
-
+
layerid = get_layerid_for_resource(sr->res);
if ((id = get_area_for_resource(res)) >= 0 &&
MRP_ASSERT(res && screen && screen->resources, "invalid argument");
MRP_ASSERT(screen->resmgr, "confused with data structures");
-
+
if ((sr = mrp_resmgr_remove_resource(screen->resmgr, zone, res))) {
zonename = mrp_zone_get_name(zone);
appid = get_appid_for_resource(res);
else {
sr->key &= ~(ZORDER_MASK << ZORDER_POSITION);
sr->key |= zorder_new_top_value(area);
-
+
area_insert_resource(area, sr);
}
if (!zonename)
zonename = "<unknown>";
-
+
mrp_list_foreach(areas, aentry, an) {
area = mrp_list_entry(aentry, mrp_resmgr_screen_area_t, link);
resources = &area->resources;
zonename = mrp_zone_get_name(zone);
areas = screen->zones + zoneid;
grantid = screen->grantids[zoneid];
-
+
mrp_list_foreach(areas, aentry, an) {
area = mrp_list_entry(aentry, mrp_resmgr_screen_area_t, link);
resources = &area->resources;