summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-10-25 16:15:54 +0200
committerRobin Gareus <robin@gareus.org>2014-10-25 17:28:14 +0200
commite02efddb219df379869a4362fa939be36b2aa1f1 (patch)
tree0add54080217a17a547693be299b0f02ed574e58 /libs
parenta6ceff61dd3cb05bf28caa5b53562201dae56eaa (diff)
skip meter re-draw when no pixels are changed.
Diffstat (limited to 'libs')
-rw-r--r--libs/gtkmm2ext/fastmeter.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/libs/gtkmm2ext/fastmeter.cc b/libs/gtkmm2ext/fastmeter.cc
index 15f38db20a..3d28253c41 100644
--- a/libs/gtkmm2ext/fastmeter.cc
+++ b/libs/gtkmm2ext/fastmeter.cc
@@ -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;
}