summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'main.c')
-rw-r--r--main.c22
1 files changed, 13 insertions, 9 deletions
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)