diff options
| author | aiju <devnull@localhost> | 2017-06-17 22:52:13 +0000 |
|---|---|---|
| committer | aiju <devnull@localhost> | 2017-06-17 22:52:13 +0000 |
| commit | 21669c4c9734c948eb3be971db7a345b5349469a (patch) | |
| tree | 7b03964f3a6567e9b5ffbeb8bcfc3d45aac094c6 | |
| parent | 52a3502927870a330f02a9b71cf9710f65f1a58a (diff) | |
| download | plan9front-21669c4c9734c948eb3be971db7a345b5349469a.tar.xz | |
vmx(1): fix non-vesa framebuffer mode
| -rw-r--r-- | sys/src/cmd/vmx/vga.c | 6 |
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"); |
