- Timestamp:
- Oct 27, 2010 3:07:55 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Graphics/DevVGA.cpp
r33511 r33519 1596 1596 * - flashing 1597 1597 */ 1598 static int vga_draw_text(VGAState *s, int full_update, bool fFailOnResize )1598 static int vga_draw_text(VGAState *s, int full_update, bool fFailOnResize, bool reset_dirty) 1599 1599 { 1600 1600 int cx, cy, cheight, cw, ch, cattr, height, width, ch_attr; … … 1723 1723 if (cx > cx_max) 1724 1724 cx_max = cx; 1725 *ch_attr_ptr = ch_attr; 1725 if (reset_dirty) 1726 *ch_attr_ptr = ch_attr; 1726 1727 #ifdef WORDS_BIGENDIAN 1727 1728 ch = ch_attr >> 8; … … 1962 1963 * graphic modes 1963 1964 */ 1964 static int vga_draw_graphic(VGAState *s, int full_update, bool fFailOnResize )1965 static int vga_draw_graphic(VGAState *s, int full_update, bool fFailOnResize, bool reset_dirty) 1965 1966 { 1966 1967 int y1, y2, y, update, page_min, page_max, linesize, y_start, double_scan; … … 2134 2135 } 2135 2136 /* reset modified pages */ 2136 if (page_max != -1 ) {2137 if (page_max != -1 && reset_dirty) { 2137 2138 vga_reset_dirty(s, page_min, page_max + TARGET_PAGE_SIZE); 2138 2139 } … … 2175 2176 #define GMODE_BLANK 2 2176 2177 2177 static int vga_update_display(PVGASTATE s, bool fUpdateAll, bool fFailOnResize )2178 static int vga_update_display(PVGASTATE s, bool fUpdateAll, bool fFailOnResize, bool reset_dirty) 2178 2179 { 2179 2180 int rc = VINF_SUCCESS; … … 2229 2230 if (s->gr[6] & 1) { 2230 2231 s->graphic_mode = GMODE_GRAPH; 2231 rc = vga_draw_graphic(s, 1, false );2232 rc = vga_draw_graphic(s, 1, false, reset_dirty); 2232 2233 } else { 2233 2234 s->graphic_mode = GMODE_TEXT; 2234 rc = vga_draw_text(s, 1, false );2235 rc = vga_draw_text(s, 1, false, reset_dirty); 2235 2236 } 2236 2237 … … 2257 2258 switch(graphic_mode) { 2258 2259 case GMODE_TEXT: 2259 rc = vga_draw_text(s, full_update, fFailOnResize );2260 rc = vga_draw_text(s, full_update, fFailOnResize, reset_dirty); 2260 2261 break; 2261 2262 case GMODE_GRAPH: 2262 rc = vga_draw_graphic(s, full_update, fFailOnResize );2263 rc = vga_draw_graphic(s, full_update, fFailOnResize, reset_dirty); 2263 2264 break; 2264 2265 case GMODE_BLANK: … … 4339 4340 } 4340 4341 4341 rc = vga_update_display(pThis, false, false );4342 rc = vga_update_display(pThis, false, false, true); 4342 4343 if (rc != VINF_SUCCESS) 4343 4344 { … … 4367 4368 pThis->graphic_mode = -1; /* force full update */ 4368 4369 4369 return vga_update_display(pThis, true, false );4370 return vga_update_display(pThis, true, false, true); 4370 4371 } 4371 4372 … … 4511 4512 * If there is a pending resize, the function will fail. 4512 4513 */ 4513 rc = vga_update_display(pThis, false, true );4514 rc = vga_update_display(pThis, false, true, false); 4514 4515 4515 4516 /* Restore. */
Note:
See TracChangeset
for help on using the changeset viewer.