]> git.lizzy.rs Git - irrlicht.git/commitdiff
Fix various GCC warnings
authorJosiahWI <josiah_vanderzee@mediacombb.net>
Thu, 11 Nov 2021 21:53:46 +0000 (15:53 -0600)
committersfan5 <sfan5@live.de>
Wed, 24 Nov 2021 21:07:26 +0000 (22:07 +0100)
- fix overload hiding
- handle missing enumeration values in switch
- remove extraenous semicolons
- always have defaults in color converter switch
- fix root cause of stringop warning

include/irrString.h
source/Irrlicht/CColorConverter.cpp
source/Irrlicht/CIrrDeviceLinux.cpp
source/Irrlicht/COpenGLDriver.h
source/Irrlicht/CSceneManager.cpp
source/Irrlicht/CSkinnedMesh.cpp

index 3178c3969455647320e36b83a7548d5502a9afe8..f454aed483f2a31598c3fa1c3415303f5cc2c189 100644 (file)
@@ -920,8 +920,10 @@ public:
                if ((length+begin) > size())\r
                        length = size()-begin;\r
 \r
+               // accounting for null terminator.\r
+               s32 substrAllocLength = length + 1;\r
                string<T> o;\r
-               o.reserve(length+1);\r
+               o.reserve(substrAllocLength);\r
 \r
                if ( !make_lower )\r
                {\r
@@ -934,7 +936,7 @@ public:
                                o.array[i] = locale_lower ( array[i+begin] );\r
                }\r
 \r
-               o.array[length] = 0;\r
+               o.array[substrAllocLength - 1] = 0;\r
                o.used = length + 1;\r
 \r
                return o;\r
index f1e541172d7ca7a1499fcf4a752ab4f2fa358f16..9f9b48e3474c25c3fea39b477d1a1732b63a82f0 100644 (file)
@@ -760,10 +760,9 @@ void CColorConverter::convert_viaFormat(const void* sP, ECOLOR_FORMAT sF, s32 sN
                                IRR_CASE_IIMAGE_COMPRESSED_FORMAT\r
                                        os::Printer::log("CColorConverter::convert_viaFormat method doesn't support compressed images.", ELL_WARNING);\r
                                break;\r
-#ifndef _DEBUG\r
+\r
                                default:\r
                                        break;\r
-#endif\r
                        }\r
                break;\r
                case ECF_R5G6B5:\r
@@ -784,10 +783,9 @@ void CColorConverter::convert_viaFormat(const void* sP, ECOLOR_FORMAT sF, s32 sN
                                IRR_CASE_IIMAGE_COMPRESSED_FORMAT\r
                                        os::Printer::log("CColorConverter::convert_viaFormat method doesn't support compressed images.", ELL_WARNING);\r
                                break;\r
-#ifndef _DEBUG\r
+\r
                                default:\r
                                        break;\r
-#endif\r
                        }\r
                break;\r
                case ECF_A8R8G8B8:\r
@@ -808,10 +806,9 @@ void CColorConverter::convert_viaFormat(const void* sP, ECOLOR_FORMAT sF, s32 sN
                                IRR_CASE_IIMAGE_COMPRESSED_FORMAT\r
                                        os::Printer::log("CColorConverter::convert_viaFormat method doesn't support compressed images.", ELL_WARNING);\r
                                break;\r
-#ifndef _DEBUG\r
+\r
                                default:\r
                                        break;\r
-#endif\r
                        }\r
                break;\r
                case ECF_R8G8B8:\r
@@ -832,19 +829,17 @@ void CColorConverter::convert_viaFormat(const void* sP, ECOLOR_FORMAT sF, s32 sN
                                IRR_CASE_IIMAGE_COMPRESSED_FORMAT\r
                                        os::Printer::log("CColorConverter::convert_viaFormat method doesn't support compressed images.", ELL_WARNING);\r
                                break;\r
-#ifndef _DEBUG\r
+\r
                                default:\r
                                        break;\r
-#endif\r
                        }\r
                break;\r
                IRR_CASE_IIMAGE_COMPRESSED_FORMAT\r
                        os::Printer::log("CColorConverter::convert_viaFormat method doesn't support compressed images.", ELL_WARNING);\r
                        break;\r
-#ifndef _DEBUG\r
+\r
                default:\r
-               break;\r
-#endif\r
+                       break;\r
        }\r
 }\r
 \r
index c23a02b716e9c787c0e17626026d99b55e879bba..c4f8d4e70259ceb9d45fed4df4c0083f4362dbaa 100644 (file)
@@ -102,7 +102,7 @@ namespace
 #if defined(_IRR_LINUX_X11_XINPUT2_)\r
        int XI_EXTENSIONS_OPCODE;\r
 #endif\r
-};\r
+}\r
 \r
 namespace irr\r
 {\r
index 8b2616e141363058a622601f6018481cc672063f..281605fb9103145e475e56d907b1cf3ed9fa397e 100644 (file)
@@ -148,6 +148,9 @@ namespace video
                        const core::rect<s32>& sourceRect, const core::rect<s32>* clipRect = 0,\r
                        const video::SColor* const colors = 0, bool useAlphaChannelOfTexture = false) _IRR_OVERRIDE_;\r
 \r
+               // Explicitly bring in base class methods, otherwise\r
+               // this overload would hide them.\r
+               using CNullDriver::draw2DImage;\r
                virtual void draw2DImage(const video::ITexture* texture, u32 layer, bool flip);\r
 \r
                //! draws a set of 2d images, using a color and the alpha channel of the\r
index 849b4e33c6933ea450b0cb85cd5d2d5046e2d014..3223f4e09d7e67b70124181a5e2a4e12ef94dcb3 100644 (file)
@@ -607,6 +607,9 @@ u32 CSceneManager::registerNodeForRendering(ISceneNode* node, E_SCENE_NODE_RENDE
                        taken = 1;\r
                }\r
 \r
+       // as of yet unused\r
+       case ESNRP_LIGHT:\r
+       case ESNRP_SHADOW:\r
        case ESNRP_NONE: // ignore this one\r
                break;\r
        }\r
index 31b845089db6d5855504cad6dd6907672de89e84..eb9fb2724e42c09bd937385c1c1d1a48c55b7679 100644 (file)
@@ -82,7 +82,7 @@ namespace
        {\r
                return a.rotation == b.rotation;\r
        }\r
-};\r
+}\r
 \r
 namespace irr\r
 {\r