summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2004-07-17 13:46:15 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2004-07-17 13:46:15 +0200
commita7a2bc6b0614eecbf37031fd9c6475d5bec5b2c5 (patch)
tree5683722df87fad1d378aef9e2b36c78b9f881044
parentec3f722a4fc764008bb1e8f3ed2b0181daf6846c (diff)
downloadvdr-a7a2bc6b0614eecbf37031fd9c6475d5bec5b2c5.tar.gz
vdr-a7a2bc6b0614eecbf37031fd9c6475d5bec5b2c5.tar.bz2
Fixed checking the last area for misalignment in cOsd::CanHandleAreas()
-rw-r--r--CONTRIBUTORS1
-rw-r--r--HISTORY2
-rw-r--r--osd.c6
3 files changed, 6 insertions, 3 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 5b6f53db..d7034f90 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -859,6 +859,7 @@ Reinhard Nissl <rnissl@gmx.de>
channels.conf
for adding cDevice::Flush() to make sure that all data in the video card's buffers
has been processed
+ for reporting a bug in checking the last area for misalignment in cOsd::CanHandleAreas()
Richard Robson <richard_robson@beeb.net>
for reporting freezing replay if a timer starts while in Transfer Mode from the
diff --git a/HISTORY b/HISTORY
index fdc73496..f516497f 100644
--- a/HISTORY
+++ b/HISTORY
@@ -2945,3 +2945,5 @@ Video Disk Recorder Revision History
input.
- Fixed handling menu status messages when the list contents is scrolled (thanks
Alfred Zastrow for reporting this one).
+- Fixed checking the last area for misalignment in cOsd::CanHandleAreas() (thanks
+ to Reinhard Nissl for reporting this one).
diff --git a/osd.c b/osd.c
index d87bee3e..c7ec8b89 100644
--- a/osd.c
+++ b/osd.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: osd.c 1.55 2004/06/15 20:29:42 kls Exp $
+ * $Id: osd.c 1.56 2004/07/17 13:39:30 kls Exp $
*/
#include "osd.h"
@@ -603,11 +603,11 @@ cBitmap *cOsd::GetBitmap(int Area)
eOsdError cOsd::CanHandleAreas(const tArea *Areas, int NumAreas)
{
for (int i = 0; i < NumAreas; i++) {
+ if (Areas[i].x1 > Areas[i].x2 || Areas[i].y1 > Areas[i].y2 || Areas[i].x1 < 0 || Areas[i].y1 < 0)
+ return oeWrongAlignment;
for (int j = i + 1; j < NumAreas; j++) {
if (Areas[i].Intersects(Areas[j]))
return oeAreasOverlap;
- if (Areas[i].x1 > Areas[i].x2 || Areas[i].y1 > Areas[i].y2 || Areas[i].x1 < 0 || Areas[i].y1 < 0)
- return oeWrongAlignment;
}
}
return oeOk;