VirtualBox

Changeset 26426 in vbox


Ignore:
Timestamp:
Feb 11, 2010 12:45:34 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
57545
Message:

Fixed loading DisplayScreenshot from saved state.

Location:
trunk/src/VBox/Main
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/DisplayImpl.cpp

    r26235 r26426  
    454454     *
    455455     *  Each block is:
    456      *    uint32_t cbBlock;        if 0 - no 'block data'.
    457      *    uint32_t typeOfBlock;    0 - 32bpp RGB bitmap, 1 - PNG, ignored if 'cbBlock' is 0.
     456     *    uint32_t cbBlock;        size of the block in bytes including 'cbBlock' and 'typeOfBlock' fields.
     457     *    uint32_t typeOfBlock;    0 - 32bpp RGB bitmap, 1 - PNG, ignored if no block data.
    458458     *    [block data]
    459459     *
     
    517517        LogFlowFunc(("[%d] type %d, size %d bytes\n", i, typeOfBlock, cbBlock));
    518518
    519         if (cbBlock != 0)
    520         {
    521             rc = SSMR3Skip(pSSM, cbBlock);
     519        if (cbBlock > 2 * sizeof (uint32_t))
     520        {
     521            rc = SSMR3Skip(pSSM, cbBlock - 2 * sizeof (uint32_t));
    522522            AssertRCBreak(rc);
    523523        }
  • trunk/src/VBox/Main/MachineImpl.cpp

    r26323 r26426  
    40824082                    else
    40834083                    {
    4084                         if (cbBlock != 0)
     4084                        if (cbBlock > 2 * sizeof (uint32_t))
    40854085                        {
    4086                             rc = SSMR3Skip(pSSM, cbBlock);
     4086                            rc = SSMR3Skip(pSSM, cbBlock - 2 * sizeof (uint32_t));
    40874087                            AssertRCBreak(rc);
    40884088                        }
Note: See TracChangeset for help on using the changeset viewer.

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