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) { | 
