Don't call Driver->Bitmap() if no image to render
authorBrian Paul <brian.paul@tungstengraphics.com>
Sat, 18 Mar 2006 21:46:17 +0000 (21:46 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Sat, 18 Mar 2006 21:46:17 +0000 (21:46 +0000)
src/mesa/main/drawpix.c

index 638679e8455c96bb0fac2c451a7afd7fa121ce46..6d855b580068aa299a8e3f9f3ebc8ebc374bc597 100644 (file)
@@ -2,7 +2,7 @@
  * Mesa 3-D graphics library
  * Version:  6.5
  *
- * Copyright (C) 1999-2005  Brian Paul   All Rights Reserved.
+ * Copyright (C) 1999-2006  Brian Paul   All Rights Reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
@@ -363,10 +363,12 @@ _mesa_Bitmap( GLsizei width, GLsizei height,
    }
 
    if (ctx->RenderMode == GL_RENDER) {
-      /* Truncate, to satisfy conformance tests (matches SGI's OpenGL). */
-      GLint x = IFLOOR(ctx->Current.RasterPos[0] - xorig);
-      GLint y = IFLOOR(ctx->Current.RasterPos[1] - yorig);
-      ctx->Driver.Bitmap( ctx, x, y, width, height, &ctx->Unpack, bitmap );
+      if (bitmap) {
+         /* Truncate, to satisfy conformance tests (matches SGI's OpenGL). */
+         GLint x = IFLOOR(ctx->Current.RasterPos[0] - xorig);
+         GLint y = IFLOOR(ctx->Current.RasterPos[1] - yorig);
+         ctx->Driver.Bitmap( ctx, x, y, width, height, &ctx->Unpack, bitmap );
+      }
    }
 #if _HAVE_FULL_GL
    else if (ctx->RenderMode == GL_FEEDBACK) {