Mesa (9.2): glx: Generate GLXBadDrawable when drawable is zero
Ian Romanick
idr at kemper.freedesktop.org
Wed Aug 14 01:10:00 UTC 2013
Module: Mesa
Branch: 9.2
Commit: 31f582abd479a82a2beb5f2b8fe6a79211e1519f
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=31f582abd479a82a2beb5f2b8fe6a79211e1519f
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Thu Aug 8 18:17:24 2013 -0700
glx: Generate GLXBadDrawable when drawable is zero
Fixes piglit glx-query-drawable-GLXBadDrawable.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
Cc: "9.2" <mesa-stable at lists.freedesktop.org>
(cherry picked from commit d5aee174b88878e6d47dc1fadd3935f535fd85f0)
---
src/glx/glx_pbuffer.c | 14 ++++++++++++--
1 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/src/glx/glx_pbuffer.c b/src/glx/glx_pbuffer.c
index f11305a..183fbaa 100644
--- a/src/glx/glx_pbuffer.c
+++ b/src/glx/glx_pbuffer.c
@@ -40,9 +40,10 @@
#ifdef GLX_USE_APPLEGL
#include <pthread.h>
#include "apple_glx_drawable.h"
-#include "glx_error.h"
#endif
+#include "glx_error.h"
+
#define WARN_ONCE_GLX_1_3(a, b) { \
static int warned=1; \
if(warned) { \
@@ -279,7 +280,16 @@ GetDrawableAttribute(Display * dpy, GLXDrawable drawable,
unsigned int num_attributes;
GLboolean use_glx_1_3;
- if ((dpy == NULL) || (drawable == 0)) {
+ if (dpy == NULL)
+ return 0;
+
+ /* Page 38 (page 52 of the PDF) of glxencode1.3.pdf says:
+ *
+ * "If drawable is not a valid GLX drawable, a GLXBadDrawable error is
+ * generated."
+ */
+ if (drawable == 0) {
+ __glXSendError(dpy, GLXBadDrawable, 0, X_GLXGetDrawableAttributes, false);
return 0;
}
More information about the mesa-commit
mailing list