From 911ef9c36581728faf2b95d098a239e52a06e2da Mon Sep 17 00:00:00 2001 From: "Enrico Weigelt, metux IT consult" Date: Wed, 31 Jul 2024 20:48:17 +0200 Subject: [PATCH] Xnest: replace XCreateColormap() / XFreeColormap() by xcb Use xcb_create_colormap() and XFreeColormap() instead of XCreateColormap() and XFreeColormap(). Signed-off-by: Enrico Weigelt, metux IT consult --- hw/xnest/Color.c | 14 +++++++++----- hw/xnest/Display.c | 17 ++++++++++------- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/hw/xnest/Color.c b/hw/xnest/Color.c index d2f3fab92..6c1d7a582 100644 --- a/hw/xnest/Color.c +++ b/hw/xnest/Color.c @@ -25,6 +25,7 @@ is" without express or implied warranty. #include "resource.h" #include "Xnest.h" +#include "xnest-xcb.h" #include "Display.h" #include "Screen.h" @@ -54,11 +55,14 @@ xnestCreateColormap(ColormapPtr pCmap) pVisual = pCmap->pVisual; ncolors = pVisual->ColormapEntries; - xnestColormapPriv(pCmap)->colormap = - XCreateColormap(xnestDisplay, + uint32_t const cmap = xcb_generate_id(xnestUpstreamInfo.conn); + xnestColormapPriv(pCmap)->colormap = cmap; + + xcb_create_colormap(xnestUpstreamInfo.conn, + (pVisual->class & DynamicClass) ? XCB_COLORMAP_ALLOC_ALL : XCB_COLORMAP_ALLOC_NONE, + cmap, xnestDefaultWindows[pCmap->pScreen->myNum], - xnestVisual(pVisual), - (pVisual->class & DynamicClass) ? AllocAll : AllocNone); + xnestVisual(pVisual)->visualid); switch (pVisual->class) { case StaticGray: /* read only */ @@ -133,7 +137,7 @@ xnestCreateColormap(ColormapPtr pCmap) void xnestDestroyColormap(ColormapPtr pCmap) { - XFreeColormap(xnestDisplay, xnestColormap(pCmap)); + xcb_free_colormap(xnestUpstreamInfo.conn, xnestColormap(pCmap)); } #define SEARCH_PREDICATE \ diff --git a/hw/xnest/Display.c b/hw/xnest/Display.c index 0ddeeb3d7..44e3b52dc 100644 --- a/hw/xnest/Display.c +++ b/hw/xnest/Display.c @@ -117,13 +117,16 @@ xnestOpenDisplay(int argc, char *argv[]) } xnestNumDefaultColormaps = xnestNumVisuals; - if (!(xnestDefaultColormaps = calloc(xnestNumDefaultColormaps, sizeof(Colormap)))) - return; - for (i = 0; i < xnestNumDefaultColormaps; i++) - xnestDefaultColormaps[i] = XCreateColormap(xnestDisplay, - xnestUpstreamInfo.screenInfo->root, - xnestVisuals[i].visual, - AllocNone); + xnestDefaultColormaps = calloc(xnestNumDefaultColormaps, + sizeof(Colormap)); + for (i = 0; i < xnestNumDefaultColormaps; i++) { + xnestDefaultColormaps[i] = xcb_generate_id(xnestUpstreamInfo.conn); + xcb_create_colormap(xnestUpstreamInfo.conn, + XCB_COLORMAP_ALLOC_NONE, + xnestDefaultColormaps[i], + xnestUpstreamInfo.screenInfo->root, + xnestVisuals[i].visual->visualid); + } xnestDepths = XListDepths(xnestDisplay, xnestUpstreamInfo.screenId, &xnestNumDepths);