From 145662ff35b0909ff9e48c8bfe71f636436de229 Mon Sep 17 00:00:00 2001 From: Len Trigg Date: Thu, 5 Dec 2013 13:11:59 +1300 Subject: [PATCH] Fix two bugs related to command execution: - When executing a command, control flow would fall through to the display cycle code, changing the display. - When display cycling was prevented by the user (via -l), command execution was also disabled. --- wmmon/wmmon/wmmon.c | 45 ++++++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/wmmon/wmmon/wmmon.c b/wmmon/wmmon/wmmon.c index 10750d6..48f1041 100644 --- a/wmmon/wmmon/wmmon.c +++ b/wmmon/wmmon/wmmon.c @@ -522,7 +522,7 @@ void wmmon_routine(int argc, char **argv) break; case ButtonRelease: i = CheckMouseRegion(Event.xbutton.x, Event.xbutton.y); - if (but_stat == i && but_stat >= 0 && mode_cycling) { + if (but_stat == i && but_stat >= 0) { switch (but_stat) { case 0: switch (Event.xbutton.button) { @@ -539,28 +539,31 @@ void wmmon_routine(int argc, char **argv) execCommand(right_action); break; } + break; case 1: - stat_current++; - if (stat_current == stat_online) - stat_current = 0; - - DrawActive(stat_device[stat_current].name); - if (stat_current == 0) - DrawStats(stat_device[stat_current].his, - HISTORY_ENTRIES-1, 40, 5, 58); - - if (stat_current == 1) - DrawStats_io(stat_device[stat_current].his, - HISTORY_ENTRIES-1, 40, 5, 58); - - if (stat_current == 2) { - xpm_X = 64; - setMaskXY(-64, 0); - } else { - xpm_X = 0; - setMaskXY(0, 0); + if (mode_cycling) { + stat_current++; + if (stat_current == stat_online) + stat_current = 0; + + DrawActive(stat_device[stat_current].name); + if (stat_current == 0) + DrawStats(stat_device[stat_current].his, + HISTORY_ENTRIES-1, 40, 5, 58); + + if (stat_current == 1) + DrawStats_io(stat_device[stat_current].his, + HISTORY_ENTRIES-1, 40, 5, 58); + + if (stat_current == 2) { + xpm_X = 64; + setMaskXY(-64, 0); + } else { + xpm_X = 0; + setMaskXY(0, 0); + } + RedrawWindowXY(xpm_X, xpm_Y); } - RedrawWindowXY(xpm_X, xpm_Y); break; } } -- 2.11.4.GIT