]> Dogcows Code - chaz/openbox/blobdiff - src/buttonwidget.cc
dont use a const_iterator
[chaz/openbox] / src / buttonwidget.cc
index 4c1bd908d0d73958bdec7921efc91fd1e3559178..534bdc8409f84b35c8aabb091baedcaaa87c09ff 100644 (file)
@@ -80,6 +80,7 @@ void ButtonWidget::setStyle(otk::RenderStyle *style)
 void ButtonWidget::update()
 {
   printf("ButtonWidget::update()\n");
+  otk::Widget::update();
 }
 
 void ButtonWidget::renderForeground()
@@ -88,6 +89,7 @@ void ButtonWidget::renderForeground()
   int width;
   bool draw = _dirty;
 
+  printf("ButtonWidget::renderForeground()\n");
   otk::Widget::renderForeground();
 
   if (draw) {
@@ -111,6 +113,7 @@ void ButtonWidget::renderForeground()
       assert(false); // there's no other button widgets!
     }
 
+    assert(pm->mask);
     if (pm->mask == None) return; // no mask for the button, leave it empty
 
     width = _rect.width();
@@ -119,14 +122,13 @@ void ButtonWidget::renderForeground()
                                _style->buttonUnfocusColor());
 
     // set the clip region
+    int x = (width - pm->w) / 2, y = (width - pm->h) / 2;
     XSetClipMask(**otk::display, color->gc(), pm->mask);
-    XSetClipOrigin(**otk::display, color->gc(),
-                   (width - pm->w)/2, (width - pm->h)/2);
+    XSetClipOrigin(**otk::display, color->gc(), x, y);
 
     // fill in the clipped region
-    XFillRectangle(**otk::display, _window, color->gc(),
-                   (width - pm->w)/2, (width - pm->h)/2,
-                   (width + pm->w)/2, (width + pm->h)/2);
+    XFillRectangle(**otk::display, _surface->pixmap(), color->gc(), x, y,
+                   x + pm->w, y + pm->h);
 
     // unset the clip region
     XSetClipMask(**otk::display, color->gc(), None);
This page took 0.023492 seconds and 4 git commands to generate.