reverted calcoffsets
authorConnor Lane Smith <cls@lubutu.com>
Tue, 10 Aug 2010 13:14:37 +0000 (14:14 +0100)
committerConnor Lane Smith <cls@lubutu.com>
Tue, 10 Aug 2010 13:14:37 +0000 (14:14 +0100)
dmenu.c

diff --git a/dmenu.c b/dmenu.c
index 384def6..8384bc2 100644 (file)
--- a/dmenu.c
+++ b/dmenu.c
@@ -82,11 +82,12 @@ calcoffsets(void) {
        else
                n = mw - (promptw + inputw + textw(dc, "<") + textw(dc, ">"));
 
-       for(i = 0, next = curr; i <= n && next; next = next->right)
-               i += (lines > 0) ? LINEH : MIN(textw(dc, next->text), mw/3);
-
-       for(i = 0, prev = curr; i <= n && prev && prev->left; prev = prev->left)
-               i += (lines > 0) ? LINEH : MIN(textw(dc, prev->left->text), mw/3);
+       for(i = 0, next = curr; next; next = next->right)
+               if((i += (lines > 0) ? LINEH : MIN(textw(dc, next->text), mw/3)) > n)
+                       break;
+       for(i = 0, prev = curr; prev && prev->left; prev = prev->left)
+               if((i += (lines > 0) ? LINEH : MIN(textw(dc, prev->left->text), mw/3)) > n)
+                       break;
 }
 
 char *