diff options
author | 2017-06-28 16:33:53 +0200 | |
---|---|---|
committer | 2017-08-08 17:24:00 +0200 | |
commit | 4bfc9ea5a9a5598aceb4e3e43fd2ade99d789200 (patch) | |
tree | 6732fab50a59f421e96fc0a7cece5d6097435c2a /src | |
parent | 63c655fab3274e1319b3f52c236178e00452fe89 (diff) |
wayland: header order fixed, comment on controller member order
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/wayland.hpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/wayland.hpp b/src/wayland.hpp index 3516f5e..c47e218 100644 --- a/src/wayland.hpp +++ b/src/wayland.hpp @@ -6,8 +6,8 @@ #include "util.h" #include <functional> -#include <memory> #include <unordered_map> +#include <memory> #include <vector> // _ _ @@ -228,6 +228,13 @@ struct screen : public wayland_proxy<struct ivi_controller_screen>, // \___\___/|_| |_|\__|_| \___/|_|_|\___|_| // struct controller : public wayland_proxy<struct ivi_controller> { + // HACK: + // The order of these member is mandatory, as when objects are destroyed + // they will call their parent (that's us right here!) and remove their + // proxy-to-id mapping. I.e. the *_proxy_to_id members need to be valid + // when the surfaces/layers/screens maps are destroyed. This sucks, but + // I cannot see a better solution w/o globals or some other horrible + // call-our-parent construct. std::unordered_map<uintptr_t, uint32_t> surface_proxy_to_id; std::unordered_map<uintptr_t, uint32_t> layer_proxy_to_id; std::unordered_map<uintptr_t, uint32_t> screen_proxy_to_id; |