diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2013-02-13 12:55:26 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2013-02-13 12:55:26 +0100 |
commit | b6b9a148c6f41736071104f66cbf523963f617cd (patch) | |
tree | 2a713c2e629f8aafa49ffcfd70b4fc156e03f50a | |
parent | 8ef71dbbdf87b836c915b1230a66e230408e2868 (diff) | |
download | vdr-b6b9a148c6f41736071104f66cbf523963f617cd.tar.gz vdr-b6b9a148c6f41736071104f66cbf523963f617cd.tar.bz2 |
Now deleting any previously allocated pixmaps in cOsd::SetAreas()
-rw-r--r-- | HISTORY | 1 | ||||
-rw-r--r-- | osd.c | 6 |
2 files changed, 6 insertions, 1 deletions
@@ -7606,3 +7606,4 @@ Video Disk Recorder Revision History - Fixed the description of the OSD drawing functions DrawEllipse() (the values -5...-8 for the Quadrants parameter are not implemented). - Made cOsd::DestroyPixmap() "NULL proof". +- Now deleting any previously allocated pixmaps in cOsd::SetAreas(). @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: osd.c 2.36 2013/02/13 12:52:07 kls Exp $ + * $Id: osd.c 2.37 2013/02/13 12:55:26 kls Exp $ */ #include "osd.h" @@ -1803,6 +1803,10 @@ eOsdError cOsd::SetAreas(const tArea *Areas, int NumAreas) if (Result == oeOk) { while (numBitmaps) delete bitmaps[--numBitmaps]; + for (int i = 0; i < pixmaps.Size(); i++) { + delete pixmaps[i]; + pixmaps[i] = NULL; + } width = height = 0; isTrueColor = NumAreas == 1 && Areas[0].bpp == 32; if (isTrueColor) { |