diff --git a/libs/gtkmm2ext/fastmeter.cc b/libs/gtkmm2ext/fastmeter.cc index 5c76c98e12..60fb35b969 100644 --- a/libs/gtkmm2ext/fastmeter.cc +++ b/libs/gtkmm2ext/fastmeter.cc @@ -351,7 +351,12 @@ FastMeter::vertical_expose (GdkEventExpose* ev) GdkRectangle background; top_of_meter = (gint) floor (pixheight * current_level); + + /* reset the height & origin of the rect that needs to show the pixbuf + */ + pixrect.height = top_of_meter; + pixrect.y = pixheight - top_of_meter; background.x = 0; background.y = 0; @@ -363,12 +368,12 @@ FastMeter::vertical_expose (GdkEventExpose* ev) intersection.x, intersection.y, intersection.width, intersection.height); } - + if (gdk_rectangle_intersect (&pixrect, &ev->area, &intersection)) { // draw the part of the meter image that we need. the area we draw is bounded "in reverse" (top->bottom) get_window()->draw_pixbuf(get_style()->get_fg_gc(get_state()), pixbuf, - intersection.x, pixheight - top_of_meter, - intersection.x, pixheight - top_of_meter, + intersection.x, intersection.y, + intersection.x, intersection.y, intersection.width, intersection.height, Gdk::RGB_DITHER_NONE, 0, 0); } diff --git a/svn_revision.h b/svn_revision.h index 4bfd4f2ac0..cb5597281d 100644 --- a/svn_revision.h +++ b/svn_revision.h @@ -1,4 +1,4 @@ #ifndef __ardour_svn_revision_h__ #define __ardour_svn_revision_h__ -static const char* ardour_svn_revision = "1801"; +static const char* ardour_svn_revision = "2885"; #endif