ref: a181ee128269e39cf6f4b753799ae013d084cffd
parent: b150f17c3d1dd88e6c0634e2957f3c6c99ac274f
author: cinap_lenrek <cinap_lenrek@centraldogma>
date: Tue Oct 18 06:02:06 EDT 2011
page: nested browsing
--- a/sys/src/cmd/page.c
+++ b/sys/src/cmd/page.c
@@ -721,13 +721,12 @@
Page*
nextpage(Page *p)
{- if(p){- if(p->down)
- return p->down;
+ if(p && p->down)
+ return p->down;
+ while(p){if(p->next)
return p->next;
- if(p->up)
- return p->up->next;
+ p = p->up;
}
return nil;
}
@@ -1336,13 +1335,16 @@
continue;
}
if(m.buttons & 4){+ Page *x;
+
if(root->down == nil)
goto Unlock;
+ qlock(&pagelock);
pagemenu.lasthit = pageindex(current);
- i = emenuhit(3, &m, &pagemenu);
+ x = pageat(emenuhit(3, &m, &pagemenu));
+ qunlock(&pagelock);
unlockdisplay(display);
- if(i != -1)
- showpage(pageat(i));
+ showpage(x);
continue;
}
Unlock:
--
⑨