return Err<int>("Drawing name does not match any role");
}
- auto rname = this->id_alloc.lookup(drawing_name);
+ auto rname = this->lookup_id(drawing_name);
if (!rname) {
// name does not exist yet, allocate surface id...
auto id = int(this->id_alloc.generate_id(drawing_name));
this->layers.add_surface(id, lid.value());
- // XXX: you should fix this!
+ // XXX: we set the main_surface[_name] here and now,
+ // not sure if we want this, but it worked so far.
if (!this->layers.main_surface_name.empty() &&
this->layers.main_surface_name == drawing_name) {
this->layers.main_surface = id;
- this->activate_surface(drawing_name);
logdebug("Set main_surface id to %u", id);
}
layouts_type layouts;
layer_map layers;
+ // ID allocation and proxy methods for lookup
struct id_allocator id_alloc;
optional<unsigned> lookup_id(char const *name) {
return this->id_alloc.lookup(std::string(name));