diff options
Diffstat (limited to 'editor/vobj-editor.cpp')
-rw-r--r-- | editor/vobj-editor.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/editor/vobj-editor.cpp b/editor/vobj-editor.cpp index bfe88d71..0cfa64d6 100644 --- a/editor/vobj-editor.cpp +++ b/editor/vobj-editor.cpp @@ -22,7 +22,10 @@ void vobj_editor::clear_selection() { _selected = nullptr; } auto vobj_editor::get_selected() const -> const vobj_* { - return _selected; + if (_selected) + return _selected; + else + return {}; } auto vobj_editor::get_type(StringView name) -> const vobj_* @@ -91,13 +94,13 @@ std::shared_ptr<object> light_factory::make(world& w, object_id id, global_coord return ret; } -auto vobj_editor::make_vobj_type_map() -> std::map<StringView, vobj_> +auto vobj_editor::make_vobj_type_map() -> std::map<String, vobj_> { constexpr auto add = [](auto& m, std::unique_ptr<vobj_factory>&& x) { StringView name = x->name(), descr = x->descr(); m[name] = vobj_editor::vobj_{ name, descr, std::move(x) }; }; - std::map<StringView, vobj_editor::vobj_> map; + std::map<String, vobj_> map; add(map, std::make_unique<light_factory>()); return map; } |