Stefan Dirsch
7c05ab8d26
cherry pick of http://cgit.freedesktop.org/mesa/mesa/commit/?id=fbc2fcf685d22ec9bc9465e1f731529979497eaa patch is in Master, but not (yet) in 7.11 branch OBS-URL: https://build.opensuse.org/request/show/78404 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=167
38 lines
1.3 KiB
Diff
38 lines
1.3 KiB
Diff
From fbc2fcf685d22ec9bc9465e1f731529979497eaa Mon Sep 17 00:00:00 2001
|
|
From: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
|
|
Date: Thu, 04 Aug 2011 02:06:13 +0000
|
|
Subject: glx/dri2: Paper over errors in DRI2Connect when indirect
|
|
|
|
DRI2 will throw BadRequest for this when the client is not local, but
|
|
DRI2 is an implementation detail and not something callers should have
|
|
to know about. Silently swallow errors in this case, and just propagate
|
|
the failure through DRI2Connect's return code.
|
|
|
|
Note: This is a candidate for the stable release branches.
|
|
|
|
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=28125
|
|
Signed-off-by: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
|
|
---
|
|
diff --git a/src/glx/dri2.c b/src/glx/dri2.c
|
|
index 229840d..b1b5013 100644
|
|
--- a/src/glx/dri2.c
|
|
+++ b/src/glx/dri2.c
|
|
@@ -190,6 +190,15 @@ DRI2Error(Display *display, xError *err, XExtCodes *codes, int *ret_code)
|
|
err->minorCode == X_DRI2DestroyDrawable)
|
|
return True;
|
|
|
|
+ /* If the server is non-local DRI2Connect will raise BadRequest.
|
|
+ * Swallow this so that DRI2Connect can signal this in its return code */
|
|
+ if (err->majorCode == codes->major_opcode &&
|
|
+ err->minorCode == X_DRI2Connect &&
|
|
+ err->errorCode == BadRequest) {
|
|
+ *ret_code = False;
|
|
+ return True;
|
|
+ }
|
|
+
|
|
return False;
|
|
}
|
|
|
|
--
|
|
cgit v0.8.3-6-g21f6
|