浏览代码

Merge pull request #61757 from lawnjelly/unsigned_enums_fix

Rémi Verschelde 3 年之前
父节点
当前提交
821f484ad4
共有 2 个文件被更改,包括 7 次插入3 次删除
  1. 1 1
      core/math/transform_interpolator.h
  2. 6 2
      scene/main/node.h

+ 1 - 1
core/math/transform_interpolator.h

@@ -50,7 +50,7 @@ class Transform;
 
 class TransformInterpolator {
 public:
-	enum Method {
+	enum Method : unsigned int {
 		INTERP_LERP,
 		INTERP_SLERP,
 		INTERP_SCALED_SLERP,

+ 6 - 2
scene/main/node.h

@@ -48,14 +48,18 @@ class Node : public Object {
 	OBJ_CATEGORY("Nodes");
 
 public:
-	enum PauseMode {
+	// N.B. Any enum stored as a bitfield should
+	// be specified as UNSIGNED to work around
+	// some compilers trying to store it as signed,
+	// and requiring 1 more bit than necessary.
+	enum PauseMode : unsigned int {
 
 		PAUSE_MODE_INHERIT,
 		PAUSE_MODE_STOP,
 		PAUSE_MODE_PROCESS
 	};
 
-	enum PhysicsInterpolationMode {
+	enum PhysicsInterpolationMode : unsigned int {
 
 		PHYSICS_INTERPOLATION_MODE_INHERIT,
 		PHYSICS_INTERPOLATION_MODE_OFF,