vmx(1): fix non-vesa framebuffer mode
This commit is contained in:
parent
52a3502927
commit
21669c4c97
1 changed files with 4 additions and 2 deletions
|
@ -557,9 +557,9 @@ drawproc(void *)
|
||||||
|
|
||||||
threadsetname("draw");
|
threadsetname("draw");
|
||||||
sfb = emalloc(fbsz);
|
sfb = emalloc(fbsz);
|
||||||
|
event = 4;
|
||||||
for(;; sleep(20)){
|
for(;; sleep(20)){
|
||||||
qlock(&vga);
|
qlock(&vga);
|
||||||
event = 0;
|
|
||||||
m = nextmode;
|
m = nextmode;
|
||||||
if(m != curmode){
|
if(m != curmode){
|
||||||
event |= 1;
|
event |= 1;
|
||||||
|
@ -572,7 +572,7 @@ drawproc(void *)
|
||||||
}
|
}
|
||||||
while(nbrecv(mc->resizec, &ul) > 0)
|
while(nbrecv(mc->resizec, &ul) > 0)
|
||||||
event |= 2;
|
event |= 2;
|
||||||
if(event != 0){
|
if((event & 3) != 0){
|
||||||
if((event & 2) != 0 && getwindow(display, Refnone) < 0)
|
if((event & 2) != 0 && getwindow(display, Refnone) < 0)
|
||||||
sysfatal("resize failed: %r");
|
sysfatal("resize failed: %r");
|
||||||
screeninit((event & 2) != 0);
|
screeninit((event & 2) != 0);
|
||||||
|
@ -581,6 +581,7 @@ drawproc(void *)
|
||||||
drawtext();
|
drawtext();
|
||||||
else
|
else
|
||||||
drawfb(event != 0);
|
drawfb(event != 0);
|
||||||
|
event = 0;
|
||||||
qunlock(&vga);
|
qunlock(&vga);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -704,6 +705,7 @@ vgainit(void)
|
||||||
|
|
||||||
if(curmode == nil) return;
|
if(curmode == nil) return;
|
||||||
nextmode = curmode;
|
nextmode = curmode;
|
||||||
|
nexthbytes = curhbytes;
|
||||||
tfb = gptr(0xb8000, 0x8000);
|
tfb = gptr(0xb8000, 0x8000);
|
||||||
if(tfb == nil)
|
if(tfb == nil)
|
||||||
sysfatal("got nil ptr for text framebuffer");
|
sysfatal("got nil ptr for text framebuffer");
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue