summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/state_trackers/nine/iunknown.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/state_trackers/nine/iunknown.c b/src/gallium/state_trackers/nine/iunknown.c
index a28c8b2de8b..515ceaa263f 100644
--- a/src/gallium/state_trackers/nine/iunknown.c
+++ b/src/gallium/state_trackers/nine/iunknown.c
@@ -48,6 +48,8 @@ NineUnknown_ctor( struct NineUnknown *This,
void
NineUnknown_dtor( struct NineUnknown *This )
{
+ if (This->refs && This->device) /* Possible only if early exit after a ctor failed */
+ (void) NineUnknown_Release(NineUnknown(This->device));
FREE(This);
}