mirror of
https://github.com/hyprwm/Hyprland.git
synced 2025-08-01 20:51:58 -07:00
helpers: fix: revert to signed arithmetic for cycling through workspaces (#7339)
The code clearly expects signed types there. Fixes #7329
This commit is contained in:
@@ -472,7 +472,7 @@ SWorkspaceIDName getWorkspaceIDNameFromString(const std::string& in) {
|
|||||||
|
|
||||||
std::sort(validWSes.begin(), validWSes.end());
|
std::sort(validWSes.begin(), validWSes.end());
|
||||||
|
|
||||||
size_t currentItem = -1;
|
ssize_t currentItem = -1;
|
||||||
|
|
||||||
if (absolute) {
|
if (absolute) {
|
||||||
// 1-index
|
// 1-index
|
||||||
@@ -481,7 +481,7 @@ SWorkspaceIDName getWorkspaceIDNameFromString(const std::string& in) {
|
|||||||
// clamp
|
// clamp
|
||||||
if (currentItem < 0) {
|
if (currentItem < 0) {
|
||||||
currentItem = 0;
|
currentItem = 0;
|
||||||
} else if (currentItem >= validWSes.size()) {
|
} else if (currentItem >= (ssize_t)validWSes.size()) {
|
||||||
currentItem = validWSes.size() - 1;
|
currentItem = validWSes.size() - 1;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -490,7 +490,7 @@ SWorkspaceIDName getWorkspaceIDNameFromString(const std::string& in) {
|
|||||||
|
|
||||||
// get the current item
|
// get the current item
|
||||||
WORKSPACEID activeWSID = g_pCompositor->m_pLastMonitor->activeWorkspace ? g_pCompositor->m_pLastMonitor->activeWorkspace->m_iID : 1;
|
WORKSPACEID activeWSID = g_pCompositor->m_pLastMonitor->activeWorkspace ? g_pCompositor->m_pLastMonitor->activeWorkspace->m_iID : 1;
|
||||||
for (size_t i = 0; i < validWSes.size(); i++) {
|
for (ssize_t i = 0; i < (ssize_t)validWSes.size(); i++) {
|
||||||
if (validWSes[i] == activeWSID) {
|
if (validWSes[i] == activeWSID) {
|
||||||
currentItem = i;
|
currentItem = i;
|
||||||
break;
|
break;
|
||||||
@@ -501,7 +501,7 @@ SWorkspaceIDName getWorkspaceIDNameFromString(const std::string& in) {
|
|||||||
currentItem += remains;
|
currentItem += remains;
|
||||||
|
|
||||||
// sanitize
|
// sanitize
|
||||||
if (currentItem >= validWSes.size()) {
|
if (currentItem >= (ssize_t)validWSes.size()) {
|
||||||
currentItem = currentItem % validWSes.size();
|
currentItem = currentItem % validWSes.size();
|
||||||
} else if (currentItem < 0) {
|
} else if (currentItem < 0) {
|
||||||
currentItem = validWSes.size() + currentItem;
|
currentItem = validWSes.size() + currentItem;
|
||||||
|
Reference in New Issue
Block a user