summaryrefslogtreecommitdiffstats
path: root/video/out/vo_direct3d.c
diff options
context:
space:
mode:
Diffstat (limited to 'video/out/vo_direct3d.c')
-rw-r--r--video/out/vo_direct3d.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/video/out/vo_direct3d.c b/video/out/vo_direct3d.c
index c65620f1d2..927730d517 100644
--- a/video/out/vo_direct3d.c
+++ b/video/out/vo_direct3d.c
@@ -1397,11 +1397,11 @@ static void draw_image(struct vo *vo, mp_image_t *mpi)
{
d3d_priv *priv = vo->priv;
if (!priv->d3d_device)
- return;
+ goto done;
struct mp_image buffer;
if (!get_video_buffer(priv, &buffer))
- return;
+ goto done;
mp_image_copy(&buffer, mpi);
@@ -1417,6 +1417,9 @@ static void draw_image(struct vo *vo, mp_image_t *mpi)
priv->osd_pts = mpi->pts;
d3d_draw_frame(priv);
+
+done:
+ talloc_free(mpi);
}
static mp_image_t *get_screenshot(d3d_priv *priv)