VirtualBox

Changeset 55831 in vbox


Ignore:
Timestamp:
May 12, 2015 4:18:04 PM (9 years ago)
Author:
vboxsync
Message:

SharedOpenGL: crServerRedirMuralFbClear must release textures.

Location:
trunk/src/VBox/HostServices/SharedOpenGL/crserverlib
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/presenter/server_presenter.cpp

    r55747 r55831  
    11821182int CrFbEntryCreateForTexData(CR_FRAMEBUFFER *pFb, struct CR_TEXDATA *pTex, uint32_t fFlags, HCR_FRAMEBUFFER_ENTRY *phEntry)
    11831183{
     1184    if (pTex == NULL)
     1185    {
     1186        WARN(("pTex is NULL"));
     1187        return VERR_INVALID_PARAMETER;
     1188    }
     1189
    11841190    RTRECT Rect;
    11851191    Rect.xLeft = 0;
  • trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_muralfbo.cpp

    r55761 r55831  
    126126        }
    127127
    128         for (j = 0; j < mural->cBuffers; ++j)
    129         {
    130             CrTdRelease(pData->apTexDatas[j]);
    131             pData->apTexDatas[j] = NULL;
     128        /* Release all valid texture data structures in the array.
     129         * Do not rely on mural->cBuffers because it might be already
     130         * set to zero in crServerDeleteMuralFBO.
     131         */
     132        for (j = 0; j < RT_ELEMENTS(pData->apTexDatas); ++j)
     133        {
     134            if (pData->apTexDatas[j] != NULL)
     135            {
     136                CrTdRelease(pData->apTexDatas[j]);
     137                pData->apTexDatas[j] = NULL;
     138            }
    132139        }
    133140
     
    203210        pData->hFb = hFb;
    204211
     212        RT_ZERO(pData->apTexDatas);
    205213        for (uint32_t i = 0; i < mural->cBuffers; ++i)
    206214        {
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