Revision f81bdefb console.c

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