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