Index: trunk/src/gl/gl_enum.cc
===================================================================
--- trunk/src/gl/gl_enum.cc	(revision 39)
+++ trunk/src/gl/gl_enum.cc	(revision 40)
@@ -9,5 +9,5 @@
 using namespace nv;
 
-unsigned int clear_state_buffers_to_mask( clear_state::buffers_type type )
+unsigned int nv::clear_state_buffers_to_mask( clear_state::buffers_type type )
 {
 	unsigned int mask = 0;
@@ -18,5 +18,5 @@
 }
 
-unsigned int depth_state_function_to_enum( depth_test::function_type type )
+unsigned int nv::depth_state_function_to_enum( depth_test::function_type type )
 {
 	switch( type )
@@ -34,5 +34,5 @@
 }
 
-unsigned int blending_factor_to_enum( blending::factor type )
+unsigned int nv::blending_factor_to_enum( blending::factor type )
 {
 	switch( type )
@@ -57,5 +57,5 @@
 }
 
-unsigned int blending_equation_to_enum( blending::equation type )
+unsigned int nv::blending_equation_to_enum( blending::equation type )
 {
 	switch( type )
@@ -70,5 +70,5 @@
 }
 
-unsigned int culling_face_type_to_enum( culling::face_type type )
+unsigned int nv::culling_face_type_to_enum( culling::face_type type )
 {
 	switch( type )
@@ -81,5 +81,5 @@
 }
 
-unsigned int culling_order_type_to_enum( culling::order_type type )
+unsigned int nv::culling_order_type_to_enum( culling::order_type type )
 {
 	switch( type )
@@ -91,5 +91,5 @@
 }
 
-unsigned int stencil_function_to_enum( stencil_test_face::function_type type )
+unsigned int nv::stencil_function_to_enum( stencil_test_face::function_type type )
 {
 	switch( type )
@@ -107,5 +107,5 @@
 }
 
-unsigned int stencil_operation_to_enum( stencil_test_face::operation type )
+unsigned int nv::stencil_operation_to_enum( stencil_test_face::operation type )
 {
 	switch( type )
@@ -123,5 +123,5 @@
 }
 
-unsigned int type_to_gl_enum( type type )
+unsigned int nv::type_to_gl_enum( type type )
 {
 	switch( type )
@@ -142,5 +142,5 @@
 }
 
-nv::type gl_enum_to_type( unsigned int gl_enum )
+nv::type nv::gl_enum_to_type( unsigned int gl_enum )
 {
 	switch( gl_enum )
Index: trunk/src/gl/gl_program.cc
===================================================================
--- trunk/src/gl/gl_program.cc	(revision 39)
+++ trunk/src/gl/gl_program.cc	(revision 40)
@@ -60,9 +60,18 @@
 	char buffer[ buffer_size ] = { 0 };
 	int length;
+	int compile_ok = GL_FALSE;
+	glGetShaderiv(object_id, GL_COMPILE_STATUS, &compile_ok);
 	glGetShaderInfoLog( object_id, buffer_size, &length, buffer );
 
 	if ( length > 0 )
 	{
-		NV_LOG( LOG_INFO, "Shader #" << object_id << " compiled: " << buffer );
+		if ( compile_ok == 0 )
+		{
+			NV_LOG( LOG_ERROR, "Shader #" << object_id << " error: " << buffer );
+		}
+		else
+		{
+			NV_LOG( LOG_INFO, "Shader #" << object_id << " compiled successfully: " << buffer );
+		}
 	}
 	else
@@ -70,5 +79,5 @@
 		NV_LOG( LOG_INFO, "Shader #" << object_id << " compiled successfully." );
 	}
-	return true;
+	return compile_ok != 0;
 }
 
@@ -182,5 +191,5 @@
 	glGetProgramInfoLog( m_name.get_value(), buffer_size, &length, buffer );
 
-	NV_LOG( LOG_INFO, "Program #" << m_name.get_value() << (status == GL_FALSE ? "failed to compile!" : "compiled successfuly.") );
+	NV_LOG( LOG_INFO, "Program #" << m_name.get_value() << (status == GL_FALSE ? " failed to compile!" : " compiled successfully.") );
 
 	if ( length > 0 )
