fix error flagging

This commit is contained in:
Brian
2007-02-26 15:06:56 -07:00
parent 365f8fb0dd
commit 6817407d49
3 changed files with 9 additions and 12 deletions
+2 -9
View File
@@ -2070,16 +2070,9 @@ _slang_compile(GLcontext *ctx, struct gl_shader *shader)
success = compile_shader(ctx, &obj, type, &info_log, shader);
if (success && !info_log.text) {
#if 0
slang_create_uniforms(&object->expdata, shader);
_mesa_print_program(program);
_mesa_print_program_parameters(ctx, program);
#endif
}
else {
if (!success || info_log.error_flag) {
success = GL_FALSE;
/* XXX more work on info log needed here */
/* copy info-log string to shader object */
if (info_log.text) {
if (shader->InfoLog) {
free(shader->InfoLog);
+5 -2
View File
@@ -34,7 +34,8 @@ void
slang_info_log_construct(slang_info_log * log)
{
log->text = NULL;
log->dont_free_text = 0;
log->dont_free_text = GL_FALSE;
log->error_flag = GL_FALSE;
}
void
@@ -97,6 +98,7 @@ slang_info_log_error(slang_info_log * log, const char *msg, ...)
va_start(va, msg);
_mesa_vsprintf(buf, msg, va);
va_end(va);
log->error_flag = GL_TRUE;
if (slang_info_log_message(log, "Error", buf))
return 1;
slang_info_log_memory(log);
@@ -122,7 +124,8 @@ void
slang_info_log_memory(slang_info_log * log)
{
if (!slang_info_log_message(log, "Error", "Out of memory.")) {
log->dont_free_text = 1;
log->dont_free_text = GL_TRUE;
log->error_flag = GL_TRUE;
log->text = out_of_memory;
}
}
+2 -1
View File
@@ -30,7 +30,8 @@
typedef struct slang_info_log_
{
char *text;
int dont_free_text;
GLboolean dont_free_text;
GLboolean error_flag;
} slang_info_log;