c - 无法使用 XFreeColors() 释放 Xlib 中的颜色图条目

标签 c x11 xlib

我使用下一个代码分配一个颜色条目,然后用它来正确绘制:

char *color_name = "red";
XColor color, exact;

XAllocNamedColor(display, colormap, color_name, &color, &exact);

然后,当我不再需要颜色条目时,我尝试释放它:

XFreeColors(display, colormap, &color.pixel, 1, 0);

此调用会生成下一个错误:

 Error of failed request:  BadAccess (attempt to access private resource denied)
 Major opcode of failed request:  88 (X_FreeColors)
 Serial number of failed request:  17
 Current serial number in output stream:  19

我是不是做错了什么?我怎样才能释放该颜色条目?该颜色条目应该被释放吗?

最佳答案

已解决:我对 XFreeColors 进行了两次调用:

XFreeColors(display, colormap, &color.pixel, 1, 0);
XFreeColors(display, colormap, &exact.pixel, 1, 0);

不能进行第二次精确调用,这是没有必要的。

关于c - 无法使用 XFreeColors() 释放 Xlib 中的颜色图条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1093295/

相关文章:

无法弄清楚如何使用 if 语句返回除一个选项之外的任何内容

c - lwIP echo 服务器发送数据时出错

gtk - X11:绘制叠加层/从叠加层中删除图纸

java - 如何停止 BufferedImage.getGraphics() 打开 X11 设备?

linux - No Machine的Nxserver可以在没有桌面、只有X11的ubuntu上运行吗?

linux - 如何使用 GTK、XLib 或类似工具将一个程序嵌入到另一个程序中?

python - 使用 python xlib 进行选择性记录?

c++ - eclipse c/c++ 不编译子文件夹中的源代码

用 C 创建共享库

c++ - X11:获取伪造的窗口大小和位置