VirtualBox

Ignore:
Timestamp:
Dec 19, 2008 6:16:40 PM (16 years ago)
Author:
vboxsync
Message:

crOpenGL: make host buffer dynamic in size, fix for 3443

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostServices/SharedOpenGL/crserver/crservice.cpp

    r15532 r15707  
    297297                /* Update parameters.*/
    298298                paParms[0].u.pointer.size = cbBuffer; //@todo guest doesn't see this change somehow?
    299                 paParms[1].u.uint32 = cbBuffer;
    300             }
     299            }
     300
     301            /* Return the required buffer size always */
     302            paParms[1].u.uint32 = cbBuffer;
    301303
    302304            break;
     
    337339                    /* Update parameters.*/
    338340                    paParms[1].u.pointer.size = cbWriteback;
    339                     paParms[2].u.uint32 = cbWriteback;
    340341                }
     342                /* Return the required buffer size always */
     343                paParms[2].u.uint32 = cbWriteback;
    341344            }
    342345            break;
  • trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_main.c

    r15532 r15707  
    460460        crWarning("crServer: [%lx] ClientRead u32ClientID=%d FAIL, host buffer too small %d of %d",
    461461                  crThreadID(), u32ClientID, *pcbBuffer, pClient->conn->cbHostBuffer);
    462         return VERR_INVALID_PARAMETER;
     462
     463        /* Return the size of needed buffer */
     464        *pcbBuffer = pClient->conn->cbHostBuffer;
     465
     466        return VERR_BUFFER_OVERFLOW;
    463467    }
    464468
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