From 5aee32e9d8db69fa0ce372e7b2b08696224e48ec Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Sun, 1 Sep 2019 21:22:17 +0200 Subject: nxagent: drop nxagentRenderTrap nxagentRenderTrap is rather old. This flag is set when internal pixmap creation returns a pixmap with depth 0. Following that the RENDER extension is effectively disabled. However: there's no code that could create a pixmap with depth 0, so let's simplify our code by removing nxagentRenderTrap altogether. Fixes ArcticaProject/nx-libs#841 --- nx-X11/programs/Xserver/hw/nxagent/NXextension.c | 15 ---------- nx-X11/programs/Xserver/hw/nxagent/NXrender.c | 20 -------------- nx-X11/programs/Xserver/hw/nxagent/Pixmap.c | 35 ------------------------ nx-X11/programs/Xserver/hw/nxagent/Trap.c | 7 ----- nx-X11/programs/Xserver/hw/nxagent/Trap.h | 7 ----- 5 files changed, 84 deletions(-) (limited to 'nx-X11/programs/Xserver/hw') diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXextension.c b/nx-X11/programs/Xserver/hw/nxagent/NXextension.c index 9ec6be8ef..0b832cc7d 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/NXextension.c +++ b/nx-X11/programs/Xserver/hw/nxagent/NXextension.c @@ -95,13 +95,6 @@ ProcQueryExtension(ClientPtr client) { i = FindExtension((char *)&stuff[1], stuff->nbytes); if (i < 0 - - /* - * Hide RENDER if our implementation - * is faulty. - */ - - || (nxagentRenderTrap && strcmp(extensions[i]->name, "RENDER") == 0) #ifdef XCSECURITY /* don't show insecure extensions to untrusted clients */ || (client->trustLevel == XSecurityClientUntrusted && @@ -149,14 +142,6 @@ ProcListExtensions(ClientPtr client) !extensions[i]->secure) continue; #endif - /* - * Hide RENDER if our implementation - * is faulty. - */ - - if (nxagentRenderTrap && strcmp(extensions[i]->name, "RENDER") == 0) - continue; - total_length += strlen(extensions[i]->name) + 1; reply.nExtensions += 1 + extensions[i]->num_aliases; for (j = extensions[i]->num_aliases; --j >= 0;) diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXrender.c b/nx-X11/programs/Xserver/hw/nxagent/NXrender.c index 190f746a4..7456bd3a5 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/NXrender.c +++ b/nx-X11/programs/Xserver/hw/nxagent/NXrender.c @@ -1665,16 +1665,6 @@ ProcRenderDispatch (ClientPtr client) REQUEST(xReq); - /* - * Let the client fail if we are - * hiding the RENDER extension. - */ - - if (nxagentRenderTrap) - { - return BadRequest; - } - if (stuff->data < RenderNumberRequests) { #ifdef TEST @@ -1707,16 +1697,6 @@ SProcRenderDispatch (ClientPtr client) REQUEST(xReq); - /* - * Let the client fail if we are - * hiding the RENDER extension. - */ - - if (nxagentRenderTrap) - { - return BadRequest; - } - if (stuff->data < RenderNumberRequests) { /* diff --git a/nx-X11/programs/Xserver/hw/nxagent/Pixmap.c b/nx-X11/programs/Xserver/hw/nxagent/Pixmap.c index 58fea6c05..7a0fcd535 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Pixmap.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Pixmap.c @@ -322,41 +322,6 @@ PixmapPtr nxagentCreatePixmap(ScreenPtr pScreen, int width, int height, pVirtualPriv -> pVirtualPixmap = NULL; pVirtualPriv -> pPicture = NULL; - /* - * Check that the virtual pixmap is created with - * the appropriate bits-per-plane, otherwise free - * everything and return. - */ - - if (pVirtual -> drawable.bitsPerPixel == 0) - { - #ifdef WARNING - - fprintf(stderr, "nxagentCreatePixmap: WARNING! Virtual pixmap at [%p] has invalid " - "bits per pixel.\n", (void *) pVirtual); - - fprintf(stderr, "nxagentCreatePixmap: WARNING! Real pixmap created with width [%d] " - "height [%d] depth [%d] bits per pixel [%d] and allocation hint [%d].\n", - pPixmap -> drawable.width, - pPixmap -> drawable.height = height, pPixmap -> drawable.depth, - pPixmap -> drawable.bitsPerPixel, - usage_hint); - #endif - - if (!nxagentRenderTrap) - { - #ifdef WARNING - fprintf(stderr, "Warning: Disabling render extension due to missing pixmap format.\n"); - #endif - - nxagentRenderTrap = 1; - } - - nxagentDestroyPixmap(pPixmap); - - return NullPixmap; - } - #ifdef TEST fprintf(stderr, "nxagentCreatePixmap: Created pixmap at [%p] virtual at [%p] with width [%d] " "height [%d] depth [%d] and allocation hint [%d].\n", diff --git a/nx-X11/programs/Xserver/hw/nxagent/Trap.c b/nx-X11/programs/Xserver/hw/nxagent/Trap.c index f219bb43c..4fe12bede 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Trap.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Trap.c @@ -41,13 +41,6 @@ int nxagentGCTrap = 0; int nxagentScreenTrap = 0; -/* - * Set if we detected that our RENDER - * implementation is faulty. - */ - -int nxagentRenderTrap = 0; - /* * Set if we are executing a GC operation * only on the X side. Used to avoid diff --git a/nx-X11/programs/Xserver/hw/nxagent/Trap.h b/nx-X11/programs/Xserver/hw/nxagent/Trap.h index 9f0c055c8..3d4bd11f9 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Trap.h +++ b/nx-X11/programs/Xserver/hw/nxagent/Trap.h @@ -42,13 +42,6 @@ extern int nxagentGCTrap; extern int nxagentScreenTrap; -/* - * Set if we detected that our RENDER - * implementation is faulty. - */ - -extern int nxagentRenderTrap; - /* * Set if we are executing a GC operation * only on the X side. Used to avoid -- cgit v1.2.3