X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=main.c;h=3ea9d89ade12df95f4b5e76075ef752bb127ef94;hb=225cd764c321b3c33f6da892a7599e4e8d86ab85;hp=964fad6ba193410843c90e0c626f30041dd33af8;hpb=65912f2a96d32600a07b963e9149f70ca22e73bb;p=dmenu.git diff --git a/main.c b/main.c index 964fad6..3ea9d89 100644 --- a/main.c +++ b/main.c @@ -200,11 +200,13 @@ kpress(XKeyEvent * e) { } break; case XK_End: + if(!sel) + return; while(next) { sel = curr = next; calcoffsets(); } - while(sel->right) + while(sel && sel->right) sel = sel->right; break; case XK_Escape: @@ -212,6 +214,8 @@ kpress(XKeyEvent * e) { running = False; break; case XK_Home: + if(!item) + return; sel = curr = item; calcoffsets(); break; @@ -225,16 +229,16 @@ kpress(XKeyEvent * e) { } break; case XK_Next: - if(next) { - sel = curr = next; - calcoffsets(); - } + if(!next) + return; + sel = curr = next; + calcoffsets(); break; case XK_Prior: - if(prev) { - sel = curr = prev; - calcoffsets(); - } + if(!prev) + return; + sel = curr = prev; + calcoffsets(); break; case XK_Return: if((e->state & ShiftMask) && text)