summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--otk/pseudorendercontrol.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/otk/pseudorendercontrol.cc b/otk/pseudorendercontrol.cc
index 4e2691a2..2b878200 100644
--- a/otk/pseudorendercontrol.cc
+++ b/otk/pseudorendercontrol.cc
@@ -101,7 +101,12 @@ PseudoRenderControl::~PseudoRenderControl()
{
printf("Destroying PseudoColor RenderControl\n");
- delete _colors;
+ unsigned long *pixels = new unsigned long [ncolors], *p = pixels;
+ for (int i = 0; i < _ncolors; ++i, ++p)
+ *p = _colors[i].pixel;
+ XFreeColors(**display, display->screenInfo(_screen)->colormap(), pixels,
+ _ncolors, 0);
+ delete [] colors;
}
void PseudoRenderControl::reduceDepth(Surface &sf, XImage *im) const