]> git.lizzy.rs Git - minetest.git/commitdiff
Fix build on Ubuntu 16.04 and macOS
authorsfan5 <sfan5@live.de>
Mon, 12 Jul 2021 09:53:05 +0000 (11:53 +0200)
committersfan5 <sfan5@live.de>
Mon, 12 Jul 2021 10:03:39 +0000 (12:03 +0200)
Apparently the C++ standard library is supposed to provide
specializations of std::hash for enums (even in C++11)
but those don't always work for whatever reason.

src/client/renderingengine.cpp

index 037ede07475bc48ee6f725d4332374405c2fb756..ead4c7e21e278ca328c28d4836679ad325ec7162 100644 (file)
@@ -557,13 +557,13 @@ void RenderingEngine::draw_scene(video::SColor skycolor, bool show_hud,
 
 const VideoDriverInfo &RenderingEngine::getVideoDriverInfo(irr::video::E_DRIVER_TYPE type)
 {
-       static const std::unordered_map<irr::video::E_DRIVER_TYPE,VideoDriverInfo> driver_info_map = {
-               {irr::video::EDT_NULL, {"null", "NULL Driver"}},
-               {irr::video::EDT_OPENGL, {"opengl", "OpenGL"}},
-               {irr::video::EDT_OGLES1, {"ogles1", "OpenGL ES1"}},
-               {irr::video::EDT_OGLES2, {"ogles2", "OpenGL ES2"}},
+       static const std::unordered_map<int, VideoDriverInfo> driver_info_map = {
+               {(int)video::EDT_NULL,   {"null",   "NULL Driver"}},
+               {(int)video::EDT_OPENGL, {"opengl", "OpenGL"}},
+               {(int)video::EDT_OGLES1, {"ogles1", "OpenGL ES1"}},
+               {(int)video::EDT_OGLES2, {"ogles2", "OpenGL ES2"}},
        };
-       return driver_info_map.at(type);
+       return driver_info_map.at((int)type);
 }
 
 #ifndef __ANDROID__