From 070a24956dd883f7e7065f1dbc0e9bf40b1e8600 Mon Sep 17 00:00:00 2001 From: Norman Feske Date: Mon, 17 Jun 2019 13:00:40 +0200 Subject: [PATCH] themed_decorator: use Attached_rom_dataspace::xml This simplifies the code a bit. --- repos/gems/src/app/themed_decorator/main.cc | 37 ++++++--------------- 1 file changed, 10 insertions(+), 27 deletions(-) diff --git a/repos/gems/src/app/themed_decorator/main.cc b/repos/gems/src/app/themed_decorator/main.cc index 93881c57d..86ea3b369 100644 --- a/repos/gems/src/app/themed_decorator/main.cc +++ b/repos/gems/src/app/themed_decorator/main.cc @@ -261,33 +261,18 @@ void Decorator::Main::_handle_nitpicker_sync() auto flush_window_stack_changes = [&] () { _window_stack.update_nitpicker_views(); }; - if (_window_layout_update_needed && _window_layout.valid()) { + if (_window_layout_update_needed) { - try { - Xml_node xml(_window_layout.local_addr(), - _window_layout.size()); + _window_stack.update_model(_window_layout.xml(), flush_window_stack_changes); - _window_stack.update_model(xml, flush_window_stack_changes); + model_updated = true; - model_updated = true; - - /* - * A decorator element might have appeared or disappeared under - * the pointer. - */ - if (_pointer.constructed() && _pointer->valid()) - update_hover_report(Xml_node(_pointer->local_addr()), - _window_stack, _hover, _hover_reporter); - - } catch (Xml_node::Invalid_syntax) { - - /* - * An error occured with processing the XML model. Flush the - * internal representation. - */ - _window_stack.update_model(Xml_node(""), - flush_window_stack_changes); - } + /* + * A decorator element might have appeared or disappeared under + * the pointer. + */ + if (_pointer.constructed()) + update_hover_report(_pointer->xml(), _window_stack, _hover, _hover_reporter); _window_layout_update_needed = false; } @@ -317,9 +302,7 @@ void Decorator::Main::_handle_pointer_update() _pointer->update(); - if (_pointer->valid()) - update_hover_report(Xml_node(_pointer->local_addr()), - _window_stack, _hover, _hover_reporter); + update_hover_report(_pointer->xml(), _window_stack, _hover, _hover_reporter); }