Handle cases when std::optional does not contain a value

This commit is contained in:
B3n30 2018-10-05 16:51:33 +02:00
parent d37a2270d6
commit 2306af3600
9 changed files with 15 additions and 7 deletions

View file

@ -142,7 +142,6 @@ public:
private:
/// Parameter data to be returned in the next call to Glance/ReceiveParameter.
/// TODO(Subv): Use std::optional once we migrate to C++17.
std::optional<MessageParameter> next_parameter;
static constexpr std::size_t NumAppletSlot = 4;

View file

@ -205,8 +205,10 @@ void Module::Interface::GetSharedFont(Kernel::HLERequestContext& ctx) {
// The shared font has to be relocated to the new address before being passed to the
// application.
VAddr target_address =
*Memory::PhysicalToVirtualAddress(apt->shared_font_mem->linear_heap_phys_address);
auto maybe_vaddr =
Memory::PhysicalToVirtualAddress(apt->shared_font_mem->linear_heap_phys_address);
ASSERT(maybe_vaddr);
VAddr target_address = *maybe_vaddr;
if (!apt->shared_font_relocated) {
BCFNT::RelocateSharedFont(apt->shared_font_mem, target_address);
apt->shared_font_relocated = true;