diff options
-rw-r--r-- | src/app.cpp | 6 | ||||
-rw-r--r-- | src/app.hpp | 1 |
2 files changed, 4 insertions, 3 deletions
diff --git a/src/app.cpp b/src/app.cpp index 89b3f29..527fe01 100644 --- a/src/app.cpp +++ b/src/app.cpp @@ -515,17 +515,17 @@ result<int> App::request_surface(char const *drawing_name) { 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); } diff --git a/src/app.hpp b/src/app.hpp index 370c65d..79498c2 100644 --- a/src/app.hpp +++ b/src/app.hpp @@ -113,6 +113,7 @@ struct App { 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)); |