Explorar el Código

Merge pull request #348 from mcclure/materialcrash

When materials file contains an incorrect path to a shader, Polycode crashes
Ivan Safrin hace 12 años
padre
commit
8f7182db25
Se han modificado 1 ficheros con 5 adiciones y 0 borrados
  1. 5 0
      Core/Contents/Source/PolyGLSLProgram.cpp

+ 5 - 0
Core/Contents/Source/PolyGLSLProgram.cpp

@@ -78,6 +78,11 @@ void GLSLProgram::reloadProgram() {
 		glDeleteShader(program);
 		glDeleteShader(program);
 		
 		
 	OSFILE *file = OSBasics::open(fileName, "r");
 	OSFILE *file = OSBasics::open(fileName, "r");
+	if (!file) {
+		Logger::log("Error: shader file %s not found\n", fileName.c_str());
+		program = -1;
+		return;
+	}
 	OSBasics::seek(file, 0, SEEK_END);	
 	OSBasics::seek(file, 0, SEEK_END);	
 	long progsize = OSBasics::tell(file);
 	long progsize = OSBasics::tell(file);
 	OSBasics::seek(file, 0, SEEK_SET);
 	OSBasics::seek(file, 0, SEEK_SET);