]> Dogcows Code - chaz/openbox/blobdiff - otk/rendercolor.cc
add mising ()s
[chaz/openbox] / otk / rendercolor.cc
index eb3ffdbc3e3cf3957621ec3fa1501a9df360d5aa..7a0b5fcc4fcbb0c0c32ae9338791e341709f8d51 100644 (file)
@@ -1,13 +1,13 @@
 // -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
 
-#ifdef    HAVE_CONFIG_H
-#  include "../config.h"
-#endif // HAVE_CONFIG_H
+#include "config.h"
 
 #include "rendercolor.hh"
 #include "display.hh"
 #include "screeninfo.hh"
 
+#include <cstdio>
+
 namespace otk {
 
 std::map<unsigned long, RenderColor::CacheItem*> *RenderColor::_cache = 0;
@@ -47,13 +47,12 @@ void RenderColor::create()
 {
   unsigned long color = _blue | _green << 8 | _red << 16;
   
-  printf("CREATE COLOR: %lx\n", color);
-  
   // try get a gc from the cache
   CacheItem *item = _cache[_screen][color];
 
   if (item) {
     _gc = item->gc;
+    _pixel = item->pixel;
     ++item->count;
   } else {
     XGCValues gcv;
@@ -62,9 +61,9 @@ void RenderColor::create()
     const ScreenInfo *info = display->screenInfo(_screen);
 
     XColor xcol;    // convert from 0-0xff to 0-0xffff
-    xcol.red = _red; xcol.red |= xcol.red << 8;
-    xcol.green = _green; xcol.green |= xcol.green << 8;
-    xcol.blue = _blue; xcol.blue |= xcol.blue << 8;
+    xcol.red = (_red << 8) | _red;
+    xcol.green = (_green << 8) | _green;
+    xcol.blue = (_blue << 8) | _blue;
     xcol.pixel = 0;
 
     if (! XAllocColor(**display, info->colormap(), &xcol)) {
@@ -81,7 +80,7 @@ void RenderColor::create()
     assert(_gc);
 
     // insert into the cache
-    item = new CacheItem(_gc);
+    item = new CacheItem(_gc, _pixel);
     _cache[_screen][color] = item;
     ++item->count;
   }
@@ -94,8 +93,6 @@ RenderColor::~RenderColor()
   CacheItem *item = _cache[_screen][color];
   assert(item); // it better be in the cache ...
 
-  printf("DESTROY COLOR: %lx %d\n", color, item->count);
-  
   if (--item->count <= 0) {
     // remove from the cache
     XFreeGC(**display, _gc);
This page took 0.023778 seconds and 4 git commands to generate.