Fix a bug on mingw

This commit is contained in:
Hamish Milne 2019-12-28 13:53:12 +00:00 committed by zhupengfei
parent d6862c2fca
commit c7106e232f
3 changed files with 8 additions and 10 deletions

2
externals/boost vendored

@ -1 +1 @@
Subproject commit 55725b7796c7faa0a4af869e412d0410bd47612d
Subproject commit 1c857c04195db89c66c347ddfad93a7f3666f2d3

View file

@ -10,6 +10,8 @@
#include "core/hle/service/apt/ns.h"
#include "core/hle/service/cfg/cfg.h"
SERVICE_CONSTRUCT_IMPL(Service::APT::AppletManager)
namespace Service::APT {
enum class AppletPos { Application = 0, Library = 1, System = 2, SysLibrary = 3, Resident = 4 };

View file

@ -6,10 +6,10 @@
#include <array>
#include <memory>
#include <optional>
#include <vector>
#include <boost/serialization/array.hpp>
#include "common/serialization/optional.h"
#include <boost/serialization/shared_ptr.hpp>
#include <boost/serialization/optional.hpp>
#include "core/global.h"
#include "core/hle/kernel/event.h"
#include "core/hle/result.h"
@ -193,7 +193,8 @@ public:
private:
/// Parameter data to be returned in the next call to Glance/ReceiveParameter.
std::optional<MessageParameter> next_parameter;
// NOTE: A bug in gcc prevents serializing std::optional
boost::optional<MessageParameter> next_parameter;
static constexpr std::size_t NumAppletSlot = 4;
@ -268,9 +269,4 @@ private:
} // namespace Service::APT
namespace boost::serialization {
template <class Archive>
inline void load_construct_data(Archive& ar, Service::APT::AppletManager* t, const unsigned int) {
::new (t) Service::APT::AppletManager(Core::Global<Core::System>());
}
} // namespace boost::serialization
SERVICE_CONSTRUCT(Service::APT::AppletManager)