Browse Source

texturev: Fixed crash when selected image is invalid.

Branimir Karadžić 7 years ago
parent
commit
b0a7c13473
1 changed files with 16 additions and 11 deletions
  1. 16 11
      tools/texturev/texturev.cpp

+ 16 - 11
tools/texturev/texturev.cpp

@@ -1670,19 +1670,24 @@ int _main_(int _argc, char** _argv)
 					, &orientation
 					);
 
-				view.m_inLinear = bimg::isFloat(bimg::TextureFormat::Enum(view.m_textureInfo.format) );
+				bimg::TextureFormat::Enum format = bimg::TextureFormat::Enum(view.m_textureInfo.format);
 
-				switch (orientation)
+				if (format < bimg::TextureFormat::Count)
 				{
-				default:
-				case bimg::Orientation::R0:        cmdExec("view orientation\nview orientation z    0"); break;
-				case bimg::Orientation::R90:       cmdExec("view orientation\nview orientation z  -90"); break;
-				case bimg::Orientation::R180:      cmdExec("view orientation\nview orientation z -180"); break;
-				case bimg::Orientation::R270:      cmdExec("view orientation\nview orientation z -270"); break;
-				case bimg::Orientation::HFlip:     cmdExec("view orientation\nview orientation x -180"); break;
-				case bimg::Orientation::HFlipR90:  cmdExec("view orientation\nview orientation z  -90\nview orientation x -180");  break;
-				case bimg::Orientation::HFlipR270: cmdExec("view orientation\nview orientation z -270\nview orientation x -180"); break;
-				case bimg::Orientation::VFlip:     cmdExec("view orientation\nview orientation y -180"); break;
+					view.m_inLinear = bimg::isFloat(format);
+
+					switch (orientation)
+					{
+					default:
+					case bimg::Orientation::R0:        cmdExec("view orientation\nview orientation z    0"); break;
+					case bimg::Orientation::R90:       cmdExec("view orientation\nview orientation z  -90"); break;
+					case bimg::Orientation::R180:      cmdExec("view orientation\nview orientation z -180"); break;
+					case bimg::Orientation::R270:      cmdExec("view orientation\nview orientation z -270"); break;
+					case bimg::Orientation::HFlip:     cmdExec("view orientation\nview orientation x -180"); break;
+					case bimg::Orientation::HFlipR90:  cmdExec("view orientation\nview orientation z  -90\nview orientation x -180");  break;
+					case bimg::Orientation::HFlipR270: cmdExec("view orientation\nview orientation z -270\nview orientation x -180"); break;
+					case bimg::Orientation::VFlip:     cmdExec("view orientation\nview orientation y -180"); break;
+					}
 				}
 
 				std::string title;