diff options
author | mathias <mathias> | 2007-10-14 17:11:38 (GMT) |
---|---|---|
committer | mathias <mathias> | 2007-10-14 17:11:38 (GMT) |
commit | 79cd21ce0fe56f4b38a96ecccc969f740b801cc8 (patch) | |
tree | 4861b4596a22998739e18fa73c1b985d1ea41271 /src/CurrentWindowCmd.cc | |
parent | a59428d67a95a9df16554962f0a6257d6378328a (diff) | |
download | fluxbox-79cd21ce0fe56f4b38a96ecccc969f740b801cc8.zip fluxbox-79cd21ce0fe56f4b38a96ecccc969f740b801cc8.tar.bz2 |
bugfix for SendToPrevWorkspace/TakeToPrevWorkspace, destination was calculated
wrong due to (wrong) implicit casting effects
Diffstat (limited to 'src/CurrentWindowCmd.cc')
-rw-r--r-- | src/CurrentWindowCmd.cc | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/src/CurrentWindowCmd.cc b/src/CurrentWindowCmd.cc index 4a60e63..58ec78c 100644 --- a/src/CurrentWindowCmd.cc +++ b/src/CurrentWindowCmd.cc | |||
@@ -61,16 +61,18 @@ void SendToWorkspaceCmd::real_execute() { | |||
61 | 61 | ||
62 | void SendToNextWorkspaceCmd::real_execute() { | 62 | void SendToNextWorkspaceCmd::real_execute() { |
63 | const int ws_nr = | 63 | const int ws_nr = |
64 | ( fbwindow().workspaceNumber() + m_workspace_num ) % | 64 | ( fbwindow().workspaceNumber() + m_delta ) % |
65 | fbwindow().screen().numberOfWorkspaces(); | 65 | fbwindow().screen().numberOfWorkspaces(); |
66 | fbwindow().screen().sendToWorkspace(ws_nr, &fbwindow(), false); | 66 | fbwindow().screen().sendToWorkspace(ws_nr, &fbwindow(), false); |
67 | } | 67 | } |
68 | 68 | ||
69 | void SendToPrevWorkspaceCmd::real_execute() { | 69 | void SendToPrevWorkspaceCmd::real_execute() { |
70 | int ws_nr = (fbwindow().workspaceNumber() - m_workspace_num) % | 70 | int ws_nr = (fbwindow().workspaceNumber() - m_delta ); |
71 | fbwindow().screen().numberOfWorkspaces(); | ||
72 | if ( ws_nr < 0 ) | 71 | if ( ws_nr < 0 ) |
73 | ws_nr += fbwindow().screen().numberOfWorkspaces(); | 72 | ws_nr += fbwindow().screen().numberOfWorkspaces(); |
73 | |||
74 | ws_nr = ws_nr % fbwindow().screen().numberOfWorkspaces(); | ||
75 | |||
74 | fbwindow().screen().sendToWorkspace(ws_nr, &fbwindow(), false); | 76 | fbwindow().screen().sendToWorkspace(ws_nr, &fbwindow(), false); |
75 | } | 77 | } |
76 | 78 | ||
@@ -79,18 +81,20 @@ void TakeToWorkspaceCmd::real_execute() { | |||
79 | } | 81 | } |
80 | 82 | ||
81 | void TakeToNextWorkspaceCmd::real_execute() { | 83 | void TakeToNextWorkspaceCmd::real_execute() { |
82 | unsigned int workspace_num= | 84 | unsigned int ws_nr = |
83 | ( fbwindow().workspaceNumber() + m_workspace_num ) % | 85 | ( fbwindow().workspaceNumber() + m_delta) % |
84 | fbwindow().screen().numberOfWorkspaces(); | 86 | fbwindow().screen().numberOfWorkspaces(); |
85 | fbwindow().screen().sendToWorkspace(workspace_num, &fbwindow()); | 87 | fbwindow().screen().sendToWorkspace(ws_nr, &fbwindow()); |
86 | } | 88 | } |
87 | 89 | ||
88 | void TakeToPrevWorkspaceCmd::real_execute() { | 90 | void TakeToPrevWorkspaceCmd::real_execute() { |
89 | int workspace_num = (fbwindow().workspaceNumber() - m_workspace_num) % | 91 | int ws_nr = (fbwindow().workspaceNumber() - m_delta); |
90 | fbwindow().screen().numberOfWorkspaces(); | 92 | if ( ws_nr < 0 ) |
91 | if ( workspace_num < 0 ) | 93 | ws_nr += fbwindow().screen().numberOfWorkspaces(); |
92 | workspace_num += fbwindow().screen().numberOfWorkspaces(); | 94 | |
93 | fbwindow().screen().sendToWorkspace(workspace_num, &fbwindow()); | 95 | ws_nr = ws_nr % fbwindow().screen().numberOfWorkspaces(); |
96 | |||
97 | fbwindow().screen().sendToWorkspace(ws_nr, &fbwindow()); | ||
94 | } | 98 | } |
95 | 99 | ||
96 | void GoToTabCmd::real_execute() { | 100 | void GoToTabCmd::real_execute() { |