From e066b091da80364a84905c3d8fc37ebc6d7e849d Mon Sep 17 00:00:00 2001 From: Marcus Fritzsch Date: Fri, 23 Jun 2017 09:25:26 +0200 Subject: wayland: task names, delete surfaces using pending_tasks * Use the pending task list to delete surfaces * Added task names for debug output, simple pointers to const char for dirty and cheap storage. Signed-off-by: Marcus Fritzsch --- src/wayland.hpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src/wayland.hpp') diff --git a/src/wayland.hpp b/src/wayland.hpp index c3d4c2f..20e88c5 100644 --- a/src/wayland.hpp +++ b/src/wayland.hpp @@ -276,15 +276,20 @@ struct controller : public wayland_proxy { std::map> layers; std::map> screens; - std::vector> pending; + typedef std::pair> + name_task_pair; + std::vector pending; - void add_task(std::function &&f) { - this->pending.emplace_back(f); + void add_task(char const *name, + std::function &&f) { + this->pending.emplace_back(std::make_pair(name, f)); } + void execute_pending() { if (!this->pending.empty()) { for (auto &t : this->pending) { - t(this); + logdebug("executing task '%s'", t.first); + t.second(this); } this->pending.clear(); ivi_controller_commit_changes(this->proxy); -- cgit 1.2.3-korg