VirtualBox

Changeset 107630 in vbox for trunk/src/VBox/Devices


Ignore:
Timestamp:
Jan 10, 2025 10:35:52 AM (4 weeks ago)
Author:
vboxsync
Message:

Devices/Graphics/DevVGA_VBVA.cpp: Remove redundant if condition, cbCmd is always >= sizeof(VBVACMDHDR) at this point due to the check before, bugref:3409

File:
1 edited

Legend:

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

    r106061 r107630  
    437437        }
    438438
    439         if (cbCmd != 0)
    440         {
    441             if (!fUpdate)
    442             {
    443                 pThisCC->pDrv->pfnVBVAUpdateBegin(pThisCC->pDrv, uScreenId);
    444                 fUpdate = true;
    445             }
    446 
    447             /* Updates the rectangle and sends the command to the VRDP server. */
    448             pThisCC->pDrv->pfnVBVAUpdateProcess(pThisCC->pDrv, uScreenId, pHdr, cbCmd);
    449 
    450             int32_t xRight  = pHdr->x + pHdr->w;
    451             int32_t yBottom = pHdr->y + pHdr->h;
    452 
    453             /* These are global coords, relative to the primary screen. */
    454 
    455             LOGVBVABUFFER(("cbCmd = %d, x=%d, y=%d, w=%d, h=%d\n", cbCmd, pHdr->x, pHdr->y, pHdr->w, pHdr->h));
    456             LogRel3(("%s: update command cbCmd = %d, x=%d, y=%d, w=%d, h=%d\n",
    457                      __FUNCTION__, cbCmd, pHdr->x, pHdr->y, pHdr->w, pHdr->h));
    458 
    459             /* Collect all rects into one. */
    460             if (fDirtyEmpty)
    461             {
    462                 /* This is the first rectangle to be added. */
    463                 dirtyRect.xLeft   = pHdr->x;
    464                 dirtyRect.yTop    = pHdr->y;
    465                 dirtyRect.xRight  = xRight;
     439        if (!fUpdate)
     440        {
     441            pThisCC->pDrv->pfnVBVAUpdateBegin(pThisCC->pDrv, uScreenId);
     442            fUpdate = true;
     443        }
     444
     445        /* Updates the rectangle and sends the command to the VRDP server. */
     446        pThisCC->pDrv->pfnVBVAUpdateProcess(pThisCC->pDrv, uScreenId, pHdr, cbCmd);
     447
     448        int32_t xRight  = pHdr->x + pHdr->w;
     449        int32_t yBottom = pHdr->y + pHdr->h;
     450
     451        /* These are global coords, relative to the primary screen. */
     452
     453        LOGVBVABUFFER(("cbCmd = %d, x=%d, y=%d, w=%d, h=%d\n", cbCmd, pHdr->x, pHdr->y, pHdr->w, pHdr->h));
     454        LogRel3(("%s: update command cbCmd = %d, x=%d, y=%d, w=%d, h=%d\n",
     455                 __FUNCTION__, cbCmd, pHdr->x, pHdr->y, pHdr->w, pHdr->h));
     456
     457        /* Collect all rects into one. */
     458        if (fDirtyEmpty)
     459        {
     460            /* This is the first rectangle to be added. */
     461            dirtyRect.xLeft   = pHdr->x;
     462            dirtyRect.yTop    = pHdr->y;
     463            dirtyRect.xRight  = xRight;
     464            dirtyRect.yBottom = yBottom;
     465            fDirtyEmpty       = false;
     466        }
     467        else
     468        {
     469            /* Adjust region coordinates. */
     470            if (dirtyRect.xLeft > pHdr->x)
     471            {
     472                dirtyRect.xLeft = pHdr->x;
     473            }
     474
     475            if (dirtyRect.yTop > pHdr->y)
     476            {
     477                dirtyRect.yTop = pHdr->y;
     478            }
     479
     480            if (dirtyRect.xRight < xRight)
     481            {
     482                dirtyRect.xRight = xRight;
     483            }
     484
     485            if (dirtyRect.yBottom < yBottom)
     486            {
    466487                dirtyRect.yBottom = yBottom;
    467                 fDirtyEmpty       = false;
    468             }
    469             else
    470             {
    471                 /* Adjust region coordinates. */
    472                 if (dirtyRect.xLeft > pHdr->x)
    473                 {
    474                     dirtyRect.xLeft = pHdr->x;
    475                 }
    476 
    477                 if (dirtyRect.yTop > pHdr->y)
    478                 {
    479                     dirtyRect.yTop = pHdr->y;
    480                 }
    481 
    482                 if (dirtyRect.xRight < xRight)
    483                 {
    484                     dirtyRect.xRight = xRight;
    485                 }
    486 
    487                 if (dirtyRect.yBottom < yBottom)
    488                 {
    489                     dirtyRect.yBottom = yBottom;
    490                 }
    491488            }
    492489        }
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