X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fapp.cpp;h=7ff353f97d4cabee8bc0b40cbfc02d92b41834f6;hb=74826b4760a3946e3f196a00c6a9f292a810f855;hp=ff0c3f0ad318d4aa9000769481c0306f4bd17013;hpb=89685c1f1e603d9a45ce0f3407c73e712dd7ad5a;p=staging%2Fwindowmanager.git diff --git a/src/app.cpp b/src/app.cpp index ff0c3f0..7ff353f 100644 --- a/src/app.cpp +++ b/src/app.cpp @@ -128,7 +128,6 @@ App::App(wl::display *d) config(), layouts(), layers(), - pending(), name_mapping(), id_alloc{}, last_active() { @@ -212,7 +211,7 @@ int App::dispatch_events() { this->display->flush(); // execute pending tasks, that is layout changes etc. - this->execute_pending(); + //this->execute_pending(); return 0; } @@ -412,22 +411,6 @@ char const *App::deactivate_surface(uint32_t surface_id) { return nullptr; } -void App::add_task(char const *name, std::function &&f) { - this->pending.emplace_back(std::make_pair(name, f)); -} - -void App::execute_pending() { - if (!this->pending.empty()) { - for (auto &t : this->pending) { - logdebug("executing task '%s'", t.first); - t.second(); - } - this->pending.clear(); - this->controller->commit_changes(); - this->display->flush(); - } -} - // _ _ _____ _ // _ __ _ __ _____ _(_) ___ __| | | ____|_ _____ _ __ | |_ ___ // | '_ \| '__/ _ \ \/ / |/ _ \/ _` | | _| \ \ / / _ \ '_ \| __/ __| @@ -439,9 +422,7 @@ void App::surface_created(uint32_t surface_id) { logdebug("surface_id is %u", surface_id); - // We need to execute the surface setup after its creation. - this->add_task("surface_set_layout", - [surface_id, this] { this->surface_set_layout(surface_id); }); + this->surface_set_layout(surface_id); } void App::surface_removed(uint32_t surface_id) { @@ -449,17 +430,14 @@ void App::surface_removed(uint32_t surface_id) { logdebug("surface_id is %u", surface_id); - this->add_task("remove surface ID", - [surface_id, this] { - this->id_alloc.remove_id(surface_id); + this->id_alloc.remove_id(surface_id); - // Also remove from last_active, if found - auto i = std::find(this->last_active.begin(), - this->last_active.end(), surface_id); - if (i != this->last_active.end()) { - this->last_active.erase(i); - } - }); + // Also remove from last_active, if found + auto i = std::find(this->last_active.begin(), + this->last_active.end(), surface_id); + if (i != this->last_active.end()) { + this->last_active.erase(i); + } } void App::emit_activated(char const *label) { @@ -639,8 +617,4 @@ void controller_hooks::surface_removed(uint32_t surface_id) { this->app->surface_removed(surface_id); } -void controller_hooks::add_task(char const *name, std::function &&f) { - this->app->add_task(name, std::move(f)); -} - } // namespace wm