Revision f81bdefb
b/console.c | ||
---|---|---|
115 | 115 |
/* ??? This is mis-named. |
116 | 116 |
It is used for both text and graphical consoles. */ |
117 | 117 |
struct TextConsole { |
118 |
int index; |
|
118 | 119 |
console_type_t console_type; |
119 | 120 |
DisplayState *ds; |
120 | 121 |
/* Graphic console state. */ |
... | ... | |
177 | 178 |
TextConsole *previous_active_console; |
178 | 179 |
|
179 | 180 |
previous_active_console = active_console; |
180 |
active_console = consoles[0]; |
|
181 |
|
|
181 | 182 |
/* There is currently no way of specifying which screen we want to dump, |
182 | 183 |
so always dump the first one. */ |
183 |
if (consoles[0] && consoles[0]->hw_screen_dump) |
|
184 |
console_select(0); |
|
185 |
if (consoles[0] && consoles[0]->hw_screen_dump) { |
|
184 | 186 |
consoles[0]->hw_screen_dump(consoles[0]->hw, filename); |
185 |
active_console = previous_active_console; |
|
187 |
} |
|
188 |
|
|
189 |
console_select(previous_active_console->index); |
|
186 | 190 |
} |
187 | 191 |
|
188 | 192 |
void vga_hw_text_update(console_ch_t *chardata) |
... | ... | |
1247 | 1251 |
s->ds = ds; |
1248 | 1252 |
s->console_type = console_type; |
1249 | 1253 |
if (console_type != GRAPHIC_CONSOLE) { |
1254 |
s->index = nb_consoles; |
|
1250 | 1255 |
consoles[nb_consoles++] = s; |
1251 | 1256 |
} else { |
1252 | 1257 |
/* HACK: Put graphical consoles before text consoles. */ |
... | ... | |
1254 | 1259 |
if (consoles[i - 1]->console_type == GRAPHIC_CONSOLE) |
1255 | 1260 |
break; |
1256 | 1261 |
consoles[i] = consoles[i - 1]; |
1262 |
consoles[i]->index = i; |
|
1257 | 1263 |
} |
1264 |
s->index = i; |
|
1258 | 1265 |
consoles[i] = s; |
1259 | 1266 |
nb_consoles++; |
1260 | 1267 |
} |
Also available in: Unified diff