diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2005-05-14 11:22:56 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2005-05-14 11:22:56 +0200 |
commit | 3688b801c728934db95dc2f2d2738696f248c919 (patch) | |
tree | f5c49dd9d91d29f08ef6d4800331451c56b54d25 | |
parent | e096b86ef698a2121b528816d3d22a0b056cbe5d (diff) | |
download | vdr-3688b801c728934db95dc2f2d2738696f248c919.tar.gz vdr-3688b801c728934db95dc2f2d2738696f248c919.tar.bz2 |
Made cOsd::isOpen an integer counter to avoid problems with messages when a cOsdObject uses the raw OSD
-rw-r--r-- | CONTRIBUTORS | 1 | ||||
-rw-r--r-- | HISTORY | 2 | ||||
-rw-r--r-- | osd.c | 8 | ||||
-rw-r--r-- | osd.h | 6 |
4 files changed, 10 insertions, 7 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS index f286fbe6..39d70776 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1064,6 +1064,7 @@ Andreas Regel <andreas.regel@gmx.de> for pointing out a missing call to cStatus::MsgOsdtatusMessage(NULL) in cSkins::Message() for reporting a problem in handling Transfer Mode for radio channels + for reporting a problem with messages when a cOsdObject uses the raw OSD Thomas Bergwinkl <Thomas.Bergwinkl@t-online.de> for fixing the validity check for channel IDs, because some providers use TIDs @@ -3523,3 +3523,5 @@ Video Disk Recorder Revision History the EPG scan didn't work on systems that don't use DiSEqC (thanks to Michael Reinelt for reporting this one). - Made the Makefile patch friendlier (thanks to Ludwig Nussel). +- Made cOsd::isOpen an integer counter to avoid problems with messages when a + cOsdObject uses the raw OSD (thanks to Andreas Regel for reporting this one). @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: osd.c 1.59 2004/12/19 12:27:38 kls Exp $ + * $Id: osd.c 1.60 2005/05/14 11:16:30 kls Exp $ */ #include "osd.h" @@ -574,7 +574,7 @@ const tIndex *cBitmap::Data(int x, int y) // --- cOsd ------------------------------------------------------------------ -bool cOsd::isOpen = false; +int cOsd::isOpen = 0; cOsd::cOsd(int Left, int Top) { @@ -585,7 +585,7 @@ cOsd::cOsd(int Left, int Top) left = Left; top = Top; width = height = 0; - isOpen = true; + isOpen++; } cOsd::~cOsd() @@ -593,7 +593,7 @@ cOsd::~cOsd() for (int i = 0; i < numBitmaps; i++) delete bitmaps[i]; delete savedRegion; - isOpen = false; + isOpen--; } cBitmap *cOsd::GetBitmap(int Area) @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: osd.h 1.47 2004/10/16 10:33:44 kls Exp $ + * $Id: osd.h 1.48 2005/05/14 11:15:55 kls Exp $ */ #ifndef __OSD_H @@ -210,7 +210,7 @@ struct tArea { class cOsd { friend class cOsdProvider; private: - static bool isOpen; + static int isOpen; cBitmap *savedRegion; cBitmap *bitmaps[MAXOSDAREAS]; int numBitmaps; @@ -235,7 +235,7 @@ protected: public: virtual ~cOsd(); ///< Shuts down the OSD. - static bool IsOpen(void) { return isOpen; } + static int IsOpen(void) { return isOpen; } int Left(void) { return left; } int Top(void) { return top; } int Width(void) { return width; } |