[Xquartz-changes] [152] AppleSGLX/trunk

source_changes at macosforge.org source_changes at macosforge.org
Mon Feb 16 15:02:51 PST 2009


Revision: 152
          http://trac.macosforge.org/projects/xquartz/changeset/152
Author:   gstaplin at apple.com
Date:     2009-02-16 15:02:51 -0800 (Mon, 16 Feb 2009)
Log Message:
-----------
Finish the XAppleDRIDestroyPixmap code and X protocol data.

Modified Paths:
--------------
    AppleSGLX/trunk/appledri.c
    AppleSGLX/trunk/appledri.h
    AppleSGLX/trunk/appledristr.h

Modified: AppleSGLX/trunk/appledri.c
===================================================================
--- AppleSGLX/trunk/appledri.c	2009-02-16 22:51:15 UTC (rev 151)
+++ AppleSGLX/trunk/appledri.c	2009-02-16 23:02:51 UTC (rev 152)
@@ -386,14 +386,14 @@
     req->drawable = drawable;
 
     if(!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
-	puts("REPLY ERROR");
-
 	UnlockDisplay(dpy);
 	SyncHandle();
 	return False;
     }
 
+    /*
     printf("rep.stringLength %d\n", (int) rep.stringLength);
+    */
 
     if(rep.stringLength > 0 && rep.stringLength <= bufnamesize) {
 	_XReadPad(dpy, bufname, rep.stringLength);
@@ -417,6 +417,23 @@
     return True;
 }
 		   
-void XAppleDRIDestroyPixmap(Display *dpy, Pixmap pixmap) {
+/* 
+ * Call it a drawable, because we really don't know what it is
+ * until it reaches the server, and we should keep that in mind.
+ */
+Bool XAppleDRIDestroyPixmap(Display *dpy, Pixmap drawable) {
+    XExtDisplayInfo *info = find_display(dpy);
+    xAppleDRIDestroyPixmapReq *req;
     
+    AppleDRICheckExtension(dpy, info, False);
+
+    LockDisplay(dpy);
+    GetReq(AppleDRIDestroyPixmap, req);
+    req->reqType = info->codes->major_opcode;
+    req->driReqType = X_AppleDRIDestroyPixmap;
+    req->drawable = drawable;
+    UnlockDisplay(dpy);
+    SyncHandle();
+
+    return True;
 }

Modified: AppleSGLX/trunk/appledri.h
===================================================================
--- AppleSGLX/trunk/appledri.h	2009-02-16 22:51:15 UTC (rev 151)
+++ AppleSGLX/trunk/appledri.h	2009-02-16 23:02:51 UTC (rev 152)
@@ -50,8 +50,8 @@
 #define X_AppleDRICreateSharedBuffer            5
 #define X_AppleDRISwapBuffers                   6
 #define X_AppleDRICreatePixmap                  7
+#define X_AppleDRIDestroyPixmap                 8
 
-
 /* Requests up to and including 18 were used in a previous version */
 
 /* Events */
@@ -116,7 +116,7 @@
 			   int *width, int *height, size_t *size,
 			   char *bufname, size_t bufnamesize);
 
-void XAppleDRIDestroyPixmap(Display *dpy, Pixmap pixmap);
+Bool XAppleDRIDestroyPixmap(Display *dpy, Pixmap pixmap);
 
 _XFUNCPROTOEND
 

Modified: AppleSGLX/trunk/appledristr.h
===================================================================
--- AppleSGLX/trunk/appledristr.h	2009-02-16 22:51:15 UTC (rev 151)
+++ AppleSGLX/trunk/appledristr.h	2009-02-16 23:02:51 UTC (rev 152)
@@ -223,6 +223,15 @@
 
 #define sz_xAppleDRICreatePixmapReply 32
 
+typedef struct {
+    CARD8 reqType; /*1*/
+    CARD8 driReqType; /*2*/
+    CARD16 length; /*4*/
+    CARD32 drawable B32; /*8*/
+} xAppleDRIDestroyPixmapReq;
+
+#define sz_xAppleDRIDestroyPixmapReq 8
+
 #ifdef _APPLEDRI_SERVER_
 
 void AppleDRISendEvent (
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/xquartz-changes/attachments/20090216/fccce4bc/attachment-0001.html>


More information about the Xquartz-changes mailing list