rrdtool/rrdtool-1.3beta4-fix-cairo.patch
Jarod Wilson d91dc13ba2 - Fix problem with cairo_save/cairo_restore (#444827)
- Fix python bindings rrdtool info implementation (#435468)
2008-05-01 01:44:24 +00:00

66 lines
2.9 KiB
Diff

diff -Naurp rrdtool-1.2.99908020600/src/rrd_graph.c rrdtool-1.2.99908020600.fix/src/rrd_graph.c
--- rrdtool-1.2.99908020600/src/rrd_graph.c 2008-02-05 19:14:25.000000000 -0500
+++ rrdtool-1.2.99908020600.fix/src/rrd_graph.c 2008-04-30 21:12:13.000000000 -0400
@@ -3345,34 +3345,36 @@ int graph_paint(
switch (im->gdes[i].gf) {
case GF_HRULE:
if (im->gdes[i].yrule >= im->minval
- && im->gdes[i].yrule <= im->maxval)
- cairo_save(im->cr);
- if (im->gdes[i].dash) {
- cairo_set_dash(im->cr, im->gdes[i].p_dashes,
- im->gdes[i].ndash, im->gdes[i].offset);
- }
- gfx_line(im,
- im->xorigin, ytr(im, im->gdes[i].yrule),
- im->xorigin + im->xsize, ytr(im,
- im->gdes[i].yrule),
- 1.0, im->gdes[i].col);
- cairo_stroke(im->cr);
- cairo_restore(im->cr);
+ && im->gdes[i].yrule <= im->maxval) {
+ cairo_save(im->cr);
+ if (im->gdes[i].dash) {
+ cairo_set_dash(im->cr, im->gdes[i].p_dashes,
+ im->gdes[i].ndash, im->gdes[i].offset);
+ }
+ gfx_line(im,
+ im->xorigin, ytr(im, im->gdes[i].yrule),
+ im->xorigin + im->xsize, ytr(im,
+ im->gdes[i].yrule),
+ 1.0, im->gdes[i].col);
+ cairo_stroke(im->cr);
+ cairo_restore(im->cr);
+ }
break;
case GF_VRULE:
if (im->gdes[i].xrule >= im->start
- && im->gdes[i].xrule <= im->end)
- cairo_save(im->cr);
- if (im->gdes[i].dash) {
- cairo_set_dash(im->cr, im->gdes[i].p_dashes,
- im->gdes[i].ndash, im->gdes[i].offset);
- }
- gfx_line(im,
- xtr(im, im->gdes[i].xrule), im->yorigin,
- xtr(im, im->gdes[i].xrule),
- im->yorigin - im->ysize, 1.0, im->gdes[i].col);
- cairo_stroke(im->cr);
- cairo_restore(im->cr);
+ && im->gdes[i].xrule <= im->end) {
+ cairo_save(im->cr);
+ if (im->gdes[i].dash) {
+ cairo_set_dash(im->cr, im->gdes[i].p_dashes,
+ im->gdes[i].ndash, im->gdes[i].offset);
+ }
+ gfx_line(im,
+ xtr(im, im->gdes[i].xrule), im->yorigin,
+ xtr(im, im->gdes[i].xrule),
+ im->yorigin - im->ysize, 1.0, im->gdes[i].col);
+ cairo_stroke(im->cr);
+ cairo_restore(im->cr);
+ }
break;
default:
break;