Fix to build with GCC 4.9
This commit is contained in:
parent
ea0088ddd4
commit
c50906d16b
@ -67,6 +67,8 @@ namespace spades {
|
||||
|
||||
template <class S> Handle(Handle<S> &&h) : ptr(h.MaybeUnmanage()) {}
|
||||
|
||||
template <class S> operator Handle<S>() && { return {std::move(*this)}; }
|
||||
|
||||
~Handle() {
|
||||
if (ptr)
|
||||
ptr->Release();
|
||||
|
@ -409,11 +409,15 @@ namespace spades {
|
||||
case RendererType::GL: {
|
||||
auto glDevice = Handle<SDLGLDevice>::New(wnd);
|
||||
auto dummy = Handle<Disposable>::New(); // FIXME
|
||||
return {Handle<draw::GLRenderer>::New(glDevice), std::move(dummy)};
|
||||
return std::make_tuple(
|
||||
Handle<draw::GLRenderer>::New(glDevice).Cast<client::IRenderer>(),
|
||||
std::move(dummy));
|
||||
}
|
||||
case RendererType::SW: {
|
||||
auto port = Handle<SDLSWPort>::New(wnd);
|
||||
return {Handle<draw::SWRenderer>::New(port), std::move(port)};
|
||||
return std::make_tuple(
|
||||
Handle<draw::SWRenderer>::New(port).Cast<client::IRenderer>(),
|
||||
std::move(port).Cast<Disposable>());
|
||||
}
|
||||
default: SPRaise("Invalid renderer type");
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user