summaryrefslogtreecommitdiff
path: root/src/VBox/HostServices/SharedOpenGL/crserverlib/server_presenter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/VBox/HostServices/SharedOpenGL/crserverlib/server_presenter.cpp')
-rw-r--r--src/VBox/HostServices/SharedOpenGL/crserverlib/server_presenter.cpp5
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);
}