diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2004-07-18 09:28:38 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2004-07-18 09:28:38 +0200 |
commit | 35724f07bd27020882b59cbc3e5c157d52b9cfda (patch) | |
tree | 25ad681b330cc31fbc2e51818c039223339b95a1 /osd.c | |
parent | d32f0008618b36d8db92e558b9f8413d0c812222 (diff) | |
download | vdr-35724f07bd27020882b59cbc3e5c157d52b9cfda.tar.gz vdr-35724f07bd27020882b59cbc3e5c157d52b9cfda.tar.bz2 |
Making sure the OSD reports oeWrongAlignment errors before any oeAreasOverlap error
Diffstat (limited to 'osd.c')
-rw-r--r-- | osd.c | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: osd.c 1.56 2004/07/17 13:39:30 kls Exp $ + * $Id: osd.c 1.57 2004/07/18 09:23:03 kls Exp $ */ #include "osd.h" @@ -602,15 +602,18 @@ cBitmap *cOsd::GetBitmap(int Area) eOsdError cOsd::CanHandleAreas(const tArea *Areas, int NumAreas) { + eOsdError Result = oeOk; 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].Intersects(Areas[j])) { + Result = oeAreasOverlap; + break; + } } } - return oeOk; + return Result; } eOsdError cOsd::SetAreas(const tArea *Areas, int NumAreas) |