summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraiju <devnull@localhost>2017-06-17 22:52:13 +0000
committeraiju <devnull@localhost>2017-06-17 22:52:13 +0000
commit21669c4c9734c948eb3be971db7a345b5349469a (patch)
tree7b03964f3a6567e9b5ffbeb8bcfc3d45aac094c6
parent52a3502927870a330f02a9b71cf9710f65f1a58a (diff)
downloadplan9front-21669c4c9734c948eb3be971db7a345b5349469a.tar.xz
vmx(1): fix non-vesa framebuffer mode
-rw-r--r--sys/src/cmd/vmx/vga.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/src/cmd/vmx/vga.c b/sys/src/cmd/vmx/vga.c
index 8f11c4344..8877b79a5 100644
--- a/sys/src/cmd/vmx/vga.c
+++ b/sys/src/cmd/vmx/vga.c
@@ -557,9 +557,9 @@ drawproc(void *)
threadsetname("draw");
sfb = emalloc(fbsz);
+ event = 4;
for(;; sleep(20)){
qlock(&vga);
- event = 0;
m = nextmode;
if(m != curmode){
event |= 1;
@@ -572,7 +572,7 @@ drawproc(void *)
}
while(nbrecv(mc->resizec, &ul) > 0)
event |= 2;
- if(event != 0){
+ if((event & 3) != 0){
if((event & 2) != 0 && getwindow(display, Refnone) < 0)
sysfatal("resize failed: %r");
screeninit((event & 2) != 0);
@@ -581,6 +581,7 @@ drawproc(void *)
drawtext();
else
drawfb(event != 0);
+ event = 0;
qunlock(&vga);
}
}
@@ -704,6 +705,7 @@ vgainit(void)
if(curmode == nil) return;
nextmode = curmode;
+ nexthbytes = curhbytes;
tfb = gptr(0xb8000, 0x8000);
if(tfb == nil)
sysfatal("got nil ptr for text framebuffer");