summaryrefslogtreecommitdiff
path: root/src/fl_dnd_x.cxx
diff options
context:
space:
mode:
authorGreg Ercolano <erco@seriss.com>2013-09-20 03:36:02 +0000
committerGreg Ercolano <erco@seriss.com>2013-09-20 03:36:02 +0000
commit2fc6c3a39b6be6f8a6b9a9dd1d030b46d7ea71bf (patch)
tree0798c0c98a7be4b9cc0f7d2c18786f928e1c4af3 /src/fl_dnd_x.cxx
parent67ed1a8da999af762085a516833ba99523ccaf48 (diff)
Fixes STR #2985: prevent memory leaks with XGetWindowProperty()
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9979 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/fl_dnd_x.cxx')
-rw-r--r--src/fl_dnd_x.cxx6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/fl_dnd_x.cxx b/src/fl_dnd_x.cxx
index ac635e520..ca449cfa5 100644
--- a/src/fl_dnd_x.cxx
+++ b/src/fl_dnd_x.cxx
@@ -55,9 +55,11 @@ static int dnd_aware(Window& window) {
0, 4, False, XA_ATOM,
&actual, &format,
&count, &remaining, &data);
+ int ret = 0;
if (actual == XA_ATOM && format==32 && count && data)
- return int(*(Atom*)data);
- return 0;
+ ret = int(*(Atom*)data);
+ if (data) { XFree(data); data = 0; }
+ return ret;
}
static int grabfunc(int event) {