xserver: Branch 'master'
Michel Daenzer
daenzer at kemper.freedesktop.org
Fri Jan 19 18:56:43 EET 2007
GL/glx/glxdri.c | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
New commits:
diff-tree 65f4690ecb4576f60396fcccff8e5bd5d4b6645f (from 8b3a591cd39f2d51209dc71b641cac79663e1b16)
Author: Michel Dänzer <michel at tungstengraphics.com>
Date: Fri Jan 19 17:54:03 2007 +0100
__glXDRIscreenProbe: Use drmOpen/CloseOnce.
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=9275 . Based on patch from
Alan Swanson.
diff --git a/GL/glx/glxdri.c b/GL/glx/glxdri.c
index 170662c..e035704 100644
--- a/GL/glx/glxdri.c
+++ b/GL/glx/glxdri.c
@@ -864,6 +864,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
int api_ver = COPY_SUB_BUFFER_INTERNAL_VERSION;
drm_magic_t magic;
drmVersionPtr version;
+ int newlyopened;
char *driverName;
drm_handle_t hFB;
int junk;
@@ -914,10 +915,10 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
goto handle_error;
}
- fd = drmOpen(NULL, BusID);
+ fd = drmOpenOnce(NULL, BusID, &newlyopened);
if (fd < 0) {
- LogMessage(X_ERROR, "AIGLX error: drmOpen failed (%s)\n",
+ LogMessage(X_ERROR, "AIGLX error: drmOpenOnce failed (%s)\n",
strerror(-fd));
goto handle_error;
}
@@ -940,7 +941,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
drm_version.patch = -1;
}
- if (!DRIAuthConnection(pScreen, magic)) {
+ if (newlyopened && !DRIAuthConnection(pScreen, magic)) {
LogMessage(X_ERROR, "AIGLX error: DRIAuthConnection failed\n");
goto handle_error;
}
@@ -1082,7 +1083,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
xfree(dev_priv);
if (fd >= 0)
- drmClose(fd);
+ drmCloseOnce(fd);
DRICloseConnection(pScreen);
More information about the xorg-commit
mailing list