VirtualBox

Changeset 35002 in vbox for trunk/src/VBox/Devices/Graphics


Ignore:
Timestamp:
Dec 13, 2010 1:05:49 PM (14 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
68825
Message:

DevVGA: do not use invalid VBE values when resizing (fixes crash while booting Ubuntu, r68662 regression.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Graphics/DevVGA.cpp

    r34849 r35002  
    20262026#endif
    20272027    {
    2028         /* Silently skip the resize and if the values are not valid, and
    2029          * forceably disable VBE and blank the screen. */
     2028        /* Skip the resize if the values are not valid. */
    20302029        if (s->start_addr * 4 + s->line_offset * cy < s->vram_size)
    2031         /* Take into account the programmed start address (in DWORDs) of the visible screen. */
     2030            /* Take into account the programmed start address (in DWORDs) of the visible screen. */
    20322031            rc = s->pDrv->pfnResize(s->pDrv, cBits, s->CTX_SUFF(vram_ptr) + s->start_addr * 4, s->line_offset, cx, cy);
    20332032        else
    20342033        {
    2035             s->vbe_regs[VBE_DISPI_INDEX_ENABLE] &= ~VBE_DISPI_ENABLED;
    2036             s->ar_index &= ~0x20;
    2037             s->pDrv->pfnLFBModeChange(s->pDrv, false);
    2038             /* Try again with the changes we have just made, but still set
    2039              * s->last_* to avoid a loop. */
    2040             rc = VERR_TRY_AGAIN;
     2034            /* Change nothing in the VGA state. Lets hope the guest will eventually programm correct values. */
     2035            return VERR_TRY_AGAIN;
    20412036        }
    20422037    }
     
    20492044    s->last_height = cy;
    20502045
    2051     if (rc == VINF_VGA_RESIZE_IN_PROGRESS || rc == VERR_TRY_AGAIN)
     2046    if (rc == VINF_VGA_RESIZE_IN_PROGRESS)
    20522047        return rc;
    20532048    AssertRC(rc);
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette