wmii

git clone git://oldgit.suckless.org/wmii/
Log | Files | Refs | README | LICENSE

commit 7d342c424f732f21479c23bd56f1cb1573f18f48
parent 95dffe3f1acced721fbfc1bc5b40eff3d462ab7d
Author: garbeam <garbeam@mmv.wmii.de>
Date:   Sat, 17 Dec 2005 13:10:47 +0200

fixed wmiibar and wmiimenu


Diffstat:
cmd/wmiibar.c | 4++--
cmd/wmiimenu.c | 13+++++++------
2 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/cmd/wmiibar.c b/cmd/wmiibar.c @@ -205,7 +205,7 @@ static void draw() if (!nitems) return; - expandable = blitz_strtonum(file[B_EXPANDABLE]->content, 0, expandable); + expandable = blitz_strtonum(file[B_EXPANDABLE]->content, 0, nitems); snprintf(buf, sizeof(buf), "/%d", expandable); if (!ixp_walk(ixps, buf)) expandable = 0; @@ -235,7 +235,7 @@ static void draw() } else { idx = 0; - for (i = items; i && idx != expandable; i = i->next); + for (i = items; i && idx != expandable; i = i->next) idx++; i->d.rect.width = brect.width - w; } for (i = items; i; i = i->next) { diff --git a/cmd/wmiimenu.c b/cmd/wmiimenu.c @@ -190,11 +190,11 @@ static void update_offsets() Item *i; unsigned int w = cmdw + 2 * seek; - if (!sel) + if (!i) return; /* calc next offset */ - for (i = offset[OFF_CURR]; i; i = i->next) { + for (i = offset[OFF_CURR]; i && i->next; i = i->next) { w += XTextWidth(font, i->file->content, strlen(i->file->content)) + mrect.height; if (w > mrect.width) break; @@ -202,12 +202,13 @@ static void update_offsets() offset[OFF_NEXT] = i; w = cmdw + 2 * seek; - for (i = offset[OFF_CURR]->prev; i; i = i->prev) { + for (i = offset[OFF_CURR]->prev; i && i->prev; i = i->prev) { w += XTextWidth(font, i->file->content, strlen(i->file->content)) + mrect.height; if (w > mrect.width) break; } - offset[OFF_PREV] = i->next; + if (i) + offset[OFF_PREV] = i->next; } static size_t update_items(char *pattern) @@ -251,7 +252,7 @@ static size_t update_items(char *pattern) new->file = p; nitems++; if (!items) - items = i = new; + offset[OFF_CURR] = sel = items = i = new; else { i->next = new; new->prev = i; @@ -267,7 +268,7 @@ static size_t update_items(char *pattern) new->file = p; nitems++; if (!items) - items = i = new; + offset[OFF_CURR] = sel = items = i = new; else { i->next = new; new->prev = i;