17 |
|
|
18 |
|
int imm_mode = 0; /* bundles are being delivered immediately */ |
19 |
|
|
20 |
– |
VIEW dvw; /* our current display view */ |
21 |
– |
|
20 |
|
char *progname; /* global argv[0] */ |
21 |
|
|
22 |
|
#define RDY_SRV 01 |
148 |
|
hdray(ro, rd, hdlist[p->hd], gc, packra(p)[i].r); |
149 |
|
d = hddepth(hdlist[p->hd], packra(p)[i].d); |
150 |
|
VSUM(wp, ro, rd, d); /* might be behind viewpoint */ |
151 |
< |
dev_value(packra(p)[i].v, wp); |
151 |
> |
dev_value(packra(p)[i].v, wp, rd); |
152 |
|
} |
153 |
|
} |
154 |
|
|
158 |
|
{ |
159 |
|
char *err; |
160 |
|
|
161 |
< |
if ((err = setview(v)) != NULL) |
162 |
< |
error(INTERNAL, err); |
163 |
< |
dev_view(v); /* update display driver */ |
164 |
< |
beam_view(&dvw, v); /* update beam list */ |
165 |
< |
copystruct(&dvw, v); /* record new view */ |
161 |
> |
do { |
162 |
> |
if ((err = setview(v)) != NULL) |
163 |
> |
error(INTERNAL, err); |
164 |
> |
dev_view(v); /* update display driver */ |
165 |
> |
dev_flush(); /* update screen */ |
166 |
> |
} while (!beam_view(v)); /* update beam list */ |
167 |
|
} |
168 |
|
|
169 |
|
|
204 |
|
case DS_STARTIMM: |
205 |
|
case DS_ENDIMM: |
206 |
|
imm_mode = msg.type==DS_STARTIMM; |
207 |
+ |
if (msg.type == DS_ENDIMM) |
208 |
+ |
dev_flush(); /* update display NOW */ |
209 |
|
/* fall through */ |
210 |
|
case DS_ACKNOW: |
211 |
|
case DS_SHUTDOWN: |