diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ui/RoutedEventDispatch.hpp | 4 | ||||
-rw-r--r-- | src/ui/Window.cpp | 1 | ||||
-rw-r--r-- | src/ui/WindowHost.cpp | 3 |
3 files changed, 5 insertions, 3 deletions
diff --git a/src/ui/RoutedEventDispatch.hpp b/src/ui/RoutedEventDispatch.hpp index b6e0999b..de94a598 100644 --- a/src/ui/RoutedEventDispatch.hpp +++ b/src/ui/RoutedEventDispatch.hpp @@ -4,7 +4,7 @@ #include "cru/common/Logger.hpp" #include "cru/ui/DebugFlags.hpp" -#include <list> +#include <vector> namespace cru::ui { // Dispatch the event. @@ -36,7 +36,7 @@ void DispatchEvent(const std::u16string_view& event_name, return; } - std::list<Control*> receive_list; + std::vector<Control*> receive_list; auto parent = original_sender; while (parent != last_receiver) { diff --git a/src/ui/Window.cpp b/src/ui/Window.cpp index 6d507858..051e67ef 100644 --- a/src/ui/Window.cpp +++ b/src/ui/Window.cpp @@ -9,6 +9,7 @@ namespace cru::ui { Window* Window::CreateOverlapped() { return new Window(); } Window::Window() : render_object_(new render::StackLayoutRenderObject()) { + render_object_->SetAttachedControl(this); window_host_ = std::make_unique<WindowHost>(this); } diff --git a/src/ui/WindowHost.cpp b/src/ui/WindowHost.cpp index 1dba4404..12eb746a 100644 --- a/src/ui/WindowHost.cpp +++ b/src/ui/WindowHost.cpp @@ -99,7 +99,8 @@ inline void BindNativeEvent( } } // namespace -WindowHost::WindowHost(Control* root_control) : root_control_(root_control) { +WindowHost::WindowHost(Control* root_control) + : root_control_(root_control), focus_control_(root_control) { const auto ui_application = IUiApplication::GetInstance(); auto native_window = ui_application->CreateWindow(nullptr); native_window_ = native_window; |