From 6792b0fb1661fb85ccb69cc2a3233cd38bfe69c2 Mon Sep 17 00:00:00 2001 From: Francis Rammeloo Date: Mon, 13 Dec 2010 23:15:05 +0000 Subject: gdiscreencapsrc: fix memory leak Structure members of ICONINFO struct filled by GetIconInfo() must be deleted when no longer needed according to the API reference. https://bugzilla.gnome.org/show_bug.cgi?id=611428 --- sys/winscreencap/gstgdiscreencapsrc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sys/winscreencap/gstgdiscreencapsrc.c b/sys/winscreencap/gstgdiscreencapsrc.c index 3ead8a9a4..ff9ea7b72 100644 --- a/sys/winscreencap/gstgdiscreencapsrc.c +++ b/sys/winscreencap/gstgdiscreencapsrc.c @@ -541,12 +541,16 @@ gst_gdiscreencapsrc_screen_capture (GstGDIScreenCapSrc * src, GstBuffer * buf) GetCursorInfo (&ci); if (ci.flags & CURSOR_SHOWING) { ICONINFO ii; + GetIconInfo (ci.hCursor, &ii); DrawIconEx (src->memDC, ci.ptScreenPos.x - src->src_rect.left - ii.xHotspot, ci.ptScreenPos.y - src->src_rect.top - ii.yHotspot, ci.hCursor, 0, 0, 0, NULL, DI_DEFAULTSIZE | DI_NORMAL | DI_COMPAT); + + DeleteObject (ii.hbmColor); + DeleteObject (ii.hbmMask); } } -- cgit v1.2.3