skip meter re-draw when no pixels are changed.
[ardour.git] / libs / gtkmm2ext / fastmeter.cc
index 15f38db20a492921ca9049bf0bc9c16d3d5acee2..3d28253c41f33fb91b4e7b819eb00716c9eddad3 100644 (file)
@@ -730,7 +730,9 @@ FastMeter::set (float lvl, float peak)
 
        current_level = lvl;
 
-       if (current_level == old_level && current_peak == old_peak && (hold_state == 0 || peak != -1)) {
+       const float pixscale = (orientation == Vertical) ? pixheight : pixwidth;
+#define PIX(X) floor(pixscale * (X))
+       if (PIX(current_level) == PIX(old_level) && PIX(current_peak) == PIX(old_peak) && (hold_state == 0 || peak != -1)) {
                return;
        }