Fix two bugs related to command execution:
authorLen Trigg <lenbok@gmail.com>
Thu, 5 Dec 2013 00:11:59 +0000 (5 13:11 +1300)
committerCarlos R. Mafra <crmafra@gmail.com>
Thu, 5 Dec 2013 10:00:25 +0000 (5 10:00 +0000)
- 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

index 10750d6..48f1041 100644 (file)
@@ -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;
                                        }
                                }