Fix 1-pixel offset of grid lines on some cairo implementations
[xboard.git] / xoptions.c
index 70ab431..979399a 100644 (file)
@@ -565,9 +565,11 @@ GraphEventProc(Widget widget, caddr_t client_data, XEvent *event)
                         // so only change when size is no longer good
                if(graph->choice) cairo_surface_destroy((cairo_surface_t *) graph->choice);
                graph->choice = (char**) cairo_image_surface_create (CAIRO_FORMAT_ARGB32, w, h);
+               break;
            }
            cr = cairo_create((cairo_surface_t *) graph->textValue);
            cairo_set_source_surface(cr, (cairo_surface_t *) graph->choice, 0, 0);
+           cairo_set_antialias(cr, CAIRO_ANTIALIAS_NONE);
            cairo_rectangle(cr, ((XExposeEvent*)event)->x, ((XExposeEvent*)event)->y, ((XExposeEvent*)event)->width, ((XExposeEvent*)event)->height);
            cairo_fill(cr);
            cairo_destroy(cr);
@@ -599,10 +601,9 @@ GraphEventProc(Widget widget, caddr_t client_data, XEvent *event)
 }
 
 void
-DrawExpose (Option *opt, int x, int y, int w, int h)
+GraphExpose (Option *opt, int x, int y, int w, int h)
 {
   XExposeEvent e;
-  opt = &mainOptions[W_BOARD];
   if(!opt->handle) return;
   e.x = x; e.y = y; e.width = w; e.height = h; e.count = -1; e.type = Expose; // count = -1: kludge to suppress sizing
   GraphEventProc(opt->handle, (caddr_t) opt, (XEvent *) &e); // fake expose event