我使用下一个代码分配一个颜色条目,然后我用它来正确绘制:
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
我有什么问题吗?我怎样才能释放那个颜色?那个颜色条目应该被释放?
答案 0 :(得分:1)
解决:我正在两次调用XFreeColors:
XFreeColors(display, colormap, &color.pixel, 1, 0);
XFreeColors(display, colormap, &exact.pixel, 1, 0);
不能进行第二次精确调用,这是没有必要的。