[PATCH xserver 2/4] dri1: DRI1 clients are VT clients

Adam Jackson ajax at redhat.com
Thu Jun 29 14:24:34 UTC 2017


Signed-off-by: Adam Jackson <ajax at redhat.com>
---
 hw/xfree86/dri/dri.c     | 3 +++
 hw/xfree86/dri/xf86dri.c | 4 ++++
 2 files changed, 7 insertions(+)

diff --git a/hw/xfree86/dri/dri.c b/hw/xfree86/dri/dri.c
index 9f7075996..637d30eb4 100644
--- a/hw/xfree86/dri/dri.c
+++ b/hw/xfree86/dri/dri.c
@@ -825,6 +825,9 @@ DRIExtensionInit(void)
     if (!DRIDrawablePrivResType || !DRIContextPrivResType)
         return FALSE;
 
+    if (!xf86SetupVTClients())
+        return FALSE;
+
     RegisterBlockAndWakeupHandlers(DRIBlockHandler, DRIWakeupHandler, NULL);
 
     return TRUE;
diff --git a/hw/xfree86/dri/xf86dri.c b/hw/xfree86/dri/xf86dri.c
index 8f3c2d602..731c228d8 100644
--- a/hw/xfree86/dri/xf86dri.c
+++ b/hw/xfree86/dri/xf86dri.c
@@ -178,6 +178,7 @@ ProcXF86DRIOpenConnection(register ClientPtr client)
 #endif
     };
 
+    xf86SetVTClient(client);
     WriteToClient(client, sizeof(xXF86DRIOpenConnectionReply), &rep);
     if (busIdStringLength)
         WriteToClient(client, busIdStringLength, busIdString);
@@ -521,6 +522,9 @@ ProcXF86DRIDispatch(register ClientPtr client)
 {
     REQUEST(xReq);
 
+    if (!xf86VTOwner())
+        return xf86SetAndSleepVTClient(client);
+
     switch (stuff->data) {
     case X_XF86DRIQueryVersion:
         return ProcXF86DRIQueryVersion(client);
-- 
2.13.0



More information about the xorg-devel mailing list