diff options
Diffstat (limited to 'src/VBox/HostServices/SharedOpenGL/crserverlib/server_presenter.cpp')
-rw-r--r-- | src/VBox/HostServices/SharedOpenGL/crserverlib/server_presenter.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/VBox/HostServices/SharedOpenGL/crserverlib/server_presenter.cpp b/src/VBox/HostServices/SharedOpenGL/crserverlib/server_presenter.cpp index a3806a91e..0c9354cca 100644 --- a/src/VBox/HostServices/SharedOpenGL/crserverlib/server_presenter.cpp +++ b/src/VBox/HostServices/SharedOpenGL/crserverlib/server_presenter.cpp @@ -940,6 +940,7 @@ crServerDispatchVBoxTexPresent(GLuint texture, GLuint cfg, GLint xPos, GLint yPo if (!pDisplay) { crWarning("crServerDisplayGet Failed"); + CrDemEntryRelease(pEntry); return; } } @@ -967,13 +968,15 @@ crServerDispatchVBoxTexPresent(GLuint texture, GLuint cfg, GLint xPos, GLint yPo if (!RT_SUCCESS(rc)) { crWarning("CrDpEntryRegionsAdd Failed rc %d", rc); + /* no need to release anything, as CrDpEntryRegionsAdd would do everything for us as needed */ // if (pEntry) // CrDemEntryRelease(pEntry); - return; } } else { + if (pEntry) + CrDemEntryRelease(pEntry); CrDpRegionsClear(pDisplay); } |