aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dmenu.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/dmenu.c b/dmenu.c
index 384def6..8384bc2 100644
--- a/dmenu.c
+++ b/dmenu.c
@@ -82,11 +82,12 @@ calcoffsets(void) {
82 else 82 else
83 n = mw - (promptw + inputw + textw(dc, "<") + textw(dc, ">")); 83 n = mw - (promptw + inputw + textw(dc, "<") + textw(dc, ">"));
84 84
85 for(i = 0, next = curr; i <= n && next; next = next->right) 85 for(i = 0, next = curr; next; next = next->right)
86 i += (lines > 0) ? LINEH : MIN(textw(dc, next->text), mw/3); 86 if((i += (lines > 0) ? LINEH : MIN(textw(dc, next->text), mw/3)) > n)
87 87 break;
88 for(i = 0, prev = curr; i <= n && prev && prev->left; prev = prev->left) 88 for(i = 0, prev = curr; prev && prev->left; prev = prev->left)
89 i += (lines > 0) ? LINEH : MIN(textw(dc, prev->left->text), mw/3); 89 if((i += (lines > 0) ? LINEH : MIN(textw(dc, prev->left->text), mw/3)) > n)
90 break;
90} 91}
91 92
92char * 93char *