Przeglądaj źródła

Crash on compilation fail

Daniele Bartolini 11 lat temu
rodzic
commit
9fbbacd62f
2 zmienionych plików z 11 dodań i 3 usunięć
  1. 8 2
      engine/renderers/shader.cpp
  2. 3 1
      engine/resource/lua_resource.cpp

+ 8 - 2
engine/renderers/shader.cpp

@@ -81,7 +81,8 @@ namespace shader_resource
 #endif
 			NULL
 		};
-		os::execute_process(compile_vs);
+		int exitcode = os::execute_process(compile_vs);
+		CE_ASSERT(exitcode == 0, "Failed to compile vertex shader");
 
 		const char* compile_fs[] =
 		{
@@ -96,7 +97,12 @@ namespace shader_resource
 #endif
 			NULL
 		};
-		os::execute_process(compile_fs);
+		exitcode = os::execute_process(compile_fs);
+		if (exitcode)
+		{
+			opts.delete_file(tmpvs_path.c_str());
+			CE_ASSERT(exitcode == 0, "Failed to compile fragment shader");
+		}
 
 		Buffer tmpvs = opts.read(tmpvs_path.c_str());
 		Buffer tmpfs = opts.read(tmpfs_path.c_str());

+ 3 - 1
engine/resource/lua_resource.cpp

@@ -70,7 +70,9 @@ namespace lua_resource
 			NULL
 		};
 
-		os::execute_process(luajit);
+		int exitcode = os::execute_process(luajit);
+		CE_ASSERT(exitcode == 0, "Failed to compile lua");
+		
 		Buffer blob = opts.read(bc_abs_path.c_str());
 		opts.delete_file(bc_abs_path.c_str());