[cogl/wip/rib/master-next: 32/44] matrix: check DIRTY_TYPE flag in _cogl_matrix_print
- From: Robert Bragg <rbragg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [cogl/wip/rib/master-next: 32/44] matrix: check DIRTY_TYPE flag in _cogl_matrix_print
- Date: Fri, 28 Oct 2011 15:45:11 +0000 (UTC)
commit fc1b688f777e649b20b188af8aea54daf87b87b5
Author: Robert Bragg <robert linux intel com>
Date: Mon Oct 17 10:19:10 2011 +0100
matrix: check DIRTY_TYPE flag in _cogl_matrix_print
when printing a matrix we aim to print out the matrix type but we
weren't checking the flags first to see if the type is valid. We now
check for the DIRTY_TYPE flag and if not set we also validate the matrix
type isn't out of range.
cogl/cogl-matrix.c | 14 +++++++++++---
1 files changed, 11 insertions(+), 3 deletions(-)
---
diff --git a/cogl/cogl-matrix.c b/cogl/cogl-matrix.c
index f0bcdb7..19e6589 100644
--- a/cogl/cogl-matrix.c
+++ b/cogl/cogl-matrix.c
@@ -107,7 +107,8 @@ enum CoglMatrixType {
COGL_MATRIX_TYPE_PERSPECTIVE, /**< perspective projection matrix */
COGL_MATRIX_TYPE_2D, /**< 2-D transformation */
COGL_MATRIX_TYPE_2D_NO_ROT, /**< 2-D scale & translate only */
- COGL_MATRIX_TYPE_3D /**< 3-D transformation */
+ COGL_MATRIX_TYPE_3D, /**< 3-D transformation */
+ COGL_MATRIX_N_TYPES
} ;
#define DEG2RAD (G_PI/180.0)
@@ -372,8 +373,15 @@ print_matrix_floats (const float m[16])
void
_cogl_matrix_print (const CoglMatrix *matrix)
{
- g_print ("Matrix type: %s, flags: %x\n",
- types[matrix->type], (int)matrix->flags);
+ if (!(matrix->flags & MAT_DIRTY_TYPE))
+ {
+ g_return_if_fail (matrix->type < COGL_MATRIX_N_TYPES);
+ g_print ("Matrix type: %s, flags: %x\n",
+ types[matrix->type], (int)matrix->flags);
+ }
+ else
+ g_print ("Matrix type: DIRTY, flags: %x\n", (int)matrix->flags);
+
print_matrix_floats ((float *)matrix);
g_print ("Inverse: \n");
if (!(matrix->flags & MAT_DIRTY_INVERSE))
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]