summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancis Rammeloo <francis.rammeloo@gmail.com>2010-12-13 23:15:05 +0000
committerTim-Philipp Müller <tim.muller@collabora.co.uk>2010-12-13 23:17:56 +0000
commit6792b0fb1661fb85ccb69cc2a3233cd38bfe69c2 (patch)
treedeb1245364c1e6626ef101653bcba266462fd2b9
parentaae382bcc6fe579a3df3315024016d2708423624 (diff)
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
-rw-r--r--sys/winscreencap/gstgdiscreencapsrc.c4
1 files changed, 4 insertions, 0 deletions
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);
}
}