diff options
author | Matthias Schwarzott <zzam@gentoo.org> | 2008-04-22 10:41:50 +0000 |
---|---|---|
committer | Matthias Schwarzott <zzam@gentoo.org> | 2008-04-22 10:41:50 +0000 |
commit | 3e65a8c1cd97687ffbbab73cbc21c60463ebc277 (patch) | |
tree | a6eaf54e155dcb367990ff0d4533ccb4db4d727f | |
parent | No longer require a patched vdr. Patch is from e-tobi. (diff) | |
download | gentoo-2-3e65a8c1cd97687ffbbab73cbc21c60463ebc277.tar.gz gentoo-2-3e65a8c1cd97687ffbbab73cbc21c60463ebc277.tar.bz2 gentoo-2-3e65a8c1cd97687ffbbab73cbc21c60463ebc277.zip |
Added two patches from e-tobi. This should fix some segfaults, and add vdr-1.6 compatibility.
(Portage version: 2.1.5_rc6)
5 files changed, 360 insertions, 5 deletions
diff --git a/media-plugins/vdr-tvonscreen/ChangeLog b/media-plugins/vdr-tvonscreen/ChangeLog index 71efe05fc8b8..bfc238c8c4e3 100644 --- a/media-plugins/vdr-tvonscreen/ChangeLog +++ b/media-plugins/vdr-tvonscreen/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for media-plugins/vdr-tvonscreen -# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-plugins/vdr-tvonscreen/ChangeLog,v 1.6 2007/03/13 12:21:51 zzam Exp $ +# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/media-plugins/vdr-tvonscreen/ChangeLog,v 1.7 2008/04/22 10:41:49 zzam Exp $ + +*vdr-tvonscreen-1.0.141-r1 (22 Apr 2008) + + 22 Apr 2008; Matthias Schwarzott <zzam@gentoo.org> + +files/vdr-tvonscreen-1.0.141-fixes.diff, + +files/vdr-tvonscreen-1.0.141-vdr-1.5.3.diff, vdr-tvonscreen-0.7.1.ebuild, + +vdr-tvonscreen-1.0.141-r1.ebuild: + Added two patches from e-tobi. This should fix some segfaults, and add + vdr-1.6 compatibility. 13 Mar 2007; Matthias Schwarzott <zzam@gentoo.org> vdr-tvonscreen-1.0.141.ebuild: diff --git a/media-plugins/vdr-tvonscreen/files/vdr-tvonscreen-1.0.141-fixes.diff b/media-plugins/vdr-tvonscreen/files/vdr-tvonscreen-1.0.141-fixes.diff new file mode 100644 index 000000000000..43f1bc6e4992 --- /dev/null +++ b/media-plugins/vdr-tvonscreen/files/vdr-tvonscreen-1.0.141-fixes.diff @@ -0,0 +1,151 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 02_tvonscreen-1.0-fixes.dpatch by apex at vdrportal.de +## http://vdrportal.de/board/thread.php?postid=517272#post517272 +## +## Contains following patches: +## - http://toms-cafe.de/vdr/download/tvonscreen-0.7.0-fix-noepg.diff +## (fixes segmentation fault without any epg data) +## - http://vdrportal.de/board/thread.php?postid=401733#post401733 +## (fixes segmentation fault with empty columns) +## - http://www.vdr-portal.de/board/thread.php?postid=681720#post681720 +## (fixes segfault when switching to edit mode) +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Fixes segmentation faults. + +@DPATCH@ +diff -urNad vdr-plugin-tvonscreen-1.0.141~/magazine.c vdr-plugin-tvonscreen-1.0.141/magazine.c +--- vdr-plugin-tvonscreen-1.0.141~/magazine.c 2006-06-18 15:59:36.000000000 +0200 ++++ vdr-plugin-tvonscreen-1.0.141/magazine.c 2008-04-13 18:11:49.000000000 +0200 +@@ -458,6 +458,9 @@ + } + const cEvent *magazine::getNext(const cSchedule *s,const cEvent *e) + { ++ if (e == NULL) ++ return NULL; ++ + const cEvent *pe = NULL; + time_t ref = e->StartTime(); + +@@ -480,6 +483,9 @@ + } + const cEvent *magazine::getPrev(const cSchedule *s,const cEvent *e) + { ++ if (e == NULL) ++ return NULL; ++ + const cEvent *pe = NULL; + time_t ref = e->StartTime(); + time_t delta = INT_MAX; +@@ -1077,9 +1083,9 @@ + { + state = cOsdObject::ProcessKey(Key); + +- if (state == osUnknown) ++ if (state == osUnknown && schedArrayNum>currentFirst) + { +- if (curmode==SHOW && schedArrayNum>currentFirst) ++ if (curmode==SHOW) + { + switch (Key & ~k_Repeat) + { +@@ -1111,6 +1117,8 @@ + currentFirst++; + if (currentFirst>schedArrayNum-3) + currentFirst=schedArrayNum-3; ++ if (currentFirst<0) ++ currentFirst=0; + output(); + break; + case kUp: +@@ -1145,6 +1153,8 @@ + currentFirst+=3; + if (currentFirst>schedArrayNum-3) + currentFirst=schedArrayNum-3; ++ if (currentFirst<0) ++ currentFirst=0; + output(); + break; + case k8: // zum aktuellen Sender +@@ -1206,14 +1216,17 @@ + { + case kOk: + { +- delete osd; +- osd=NULL; + cEvent **ev=ev4ch(EDIT_curChannel); +- me=new tvOcMenuEvent(ev[EDIT_curEVI]); +- me->Display(); +- curmode=SHOW; +- EDIT_curEvent=0; +- return osContinue; ++ if (ev[EDIT_curEVI] != NULL) ++ { ++ delete osd; ++ osd=NULL; ++ me=new tvOcMenuEvent(ev[EDIT_curEVI]); ++ me->Display(); ++ curmode=SHOW; ++ EDIT_curEvent=0; ++ return osContinue; ++ } + } + break; + case kBack: +@@ -1238,11 +1251,15 @@ + EDIT_curChannel++; + if (EDIT_curChannel>schedArrayNum-1) + EDIT_curChannel=schedArrayNum-1; ++ if (EDIT_curChannel<0) ++ EDIT_curChannel=0; + if (EDIT_curChannel>currentFirst+2) + { + currentFirst++; + if (currentFirst>schedArrayNum-3) + currentFirst=schedArrayNum-3; ++ if (currentFirst<0) ++ currentFirst=0; + EDIT_curChannel=currentFirst+2; + } + outputLR(); +@@ -1343,17 +1360,20 @@ + break; */ + case kRecord: + { +- delete osd; +- osd=NULL; + cEvent **ev=ev4ch(EDIT_curChannel); +- cTimer *timer = new cTimer(ev[EDIT_curEVI]); +- cTimer *t = Timers.GetTimer(timer); +- if (t) ++ if (ev[EDIT_curEVI] != NULL) + { +- delete timer; +- timer = t; ++ delete osd; ++ osd=NULL; ++ cTimer *timer = new cTimer(ev[EDIT_curEVI]); ++ cTimer *t = Timers.GetTimer(timer); ++ if (t) ++ { ++ delete timer; ++ timer = t; ++ } ++ met=new cMenuEditTimer(timer, !t); + } +- met=new cMenuEditTimer(timer, !t); + } + break; + default: +diff -urNad vdr-plugin-tvonscreen-1.0.141~/magazine.h vdr-plugin-tvonscreen-1.0.141/magazine.h +--- vdr-plugin-tvonscreen-1.0.141~/magazine.h 2006-06-18 15:59:36.000000000 +0200 ++++ vdr-plugin-tvonscreen-1.0.141/magazine.h 2008-04-13 18:12:15.000000000 +0200 +@@ -70,7 +70,7 @@ + enum modes {SHOW,EDIT}; + enum modes curmode; + +- unsigned short EDIT_curEvent; ++ int EDIT_curEvent; + int EDIT_curChannel; + int EDIT_curEVI; + diff --git a/media-plugins/vdr-tvonscreen/files/vdr-tvonscreen-1.0.141-vdr-1.5.3.diff b/media-plugins/vdr-tvonscreen/files/vdr-tvonscreen-1.0.141-vdr-1.5.3.diff new file mode 100644 index 000000000000..64e512b09445 --- /dev/null +++ b/media-plugins/vdr-tvonscreen/files/vdr-tvonscreen-1.0.141-vdr-1.5.3.diff @@ -0,0 +1,173 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 90_tvonscreen-1.0.141-1.5.3.dpatch by Thomas Günther <tom@toms-cafe.de> +## http://toms-cafe.de/vdr/download/tvonscreen-1.0.141-1.5.3.diff +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Changes for VDR >= 1.5.3. + +@DPATCH@ +diff -Naurp tvonscreen-1.0.141/anyfont.c tvonscreen-1.0.141-vdr153/anyfont.c +--- tvonscreen-1.0.141/anyfont.c 2004-07-08 13:54:56.000000000 +0000 ++++ tvonscreen-1.0.141-vdr153/anyfont.c 2007-09-14 12:46:58.000000000 +0000 +@@ -10,20 +10,36 @@ + #include "anyfont.h" + #include "magazine.h" + +-#if VDRVERSNUM >= 10307 ++#if VDRVERSNUM >= 10503 ++anyFont::anyFont(cOsd *_osd,int fheight,int transparent) ++#elif VDRVERSNUM >= 10307 + anyFont::anyFont(cOsd *_osd,const cFont::tPixelData *fd,int fheight,int transparent) + #else + anyFont::anyFont(cOsdBase *_osd,const cFont::tPixelData *fd,int fheight,int transparent) + #endif + { + osd=_osd; ++#if VDRVERSNUM >= 10503 ++#if VDRVERSNUM >= 10504 ++ Font = cFont::CreateFont(Setup.FontOsd, fheight); ++#else ++ Font = new cFreetypeFont(*AddDirectory(FONTDIR, Setup.FontOsd, fheight); ++#endif ++ if (!Font || !Font->Height()) ++ Font = cFont::GetFont(fontSml); ++#else + FontData=fd; + FontHeight=fheight; ++#endif + trans=transparent; + } + int anyFont::Height(void) + { ++#if VDRVERSNUM >= 10503 ++ return Font->Height(); ++#else + return FontHeight-2-2; ++#endif + } + int anyFont::Width(const char *txt) + { +@@ -39,21 +55,29 @@ int anyFont::LargeWidth(const char *txt) + } + int anyFont::Width(char c) + { ++#if VDRVERSNUM >= 10503 ++ return Font->Width(c); ++#else + if ((int)FontData[(((unsigned char)c)-32)*(FontHeight)]>100) + { + mzlog(1," big letter error %c: %d",c,(int)FontData[(((unsigned char)c)-32)*(FontHeight)]); + return 100; + } + return (int)FontData[(((unsigned char)c)-32)*(FontHeight)]; ++#endif + } + int anyFont::LargeWidth(char c) + { ++#if VDRVERSNUM >= 10503 ++ return Font->Width(c); ++#else + if ((int)FontData[(((unsigned char)c)-32)*(FontHeight)]>100) + { + mzlog(1," big letter error %c: %d",c,(int)FontData[(((unsigned char)c)-32)*(FontHeight)]); + return 100; + } + return (int)FontData[(((unsigned char)c)-32)*(FontHeight)]*2; ++#endif + } + #if VDRVERSNUM >= 10307 + int anyFont::Text(int x, int y, const char *txt, tColor fg, tColor bg) +@@ -61,6 +85,10 @@ int anyFont::Text(int x, int y, const ch + int anyFont::Text(int x, int y, const char *txt, eDvbColor fg, eDvbColor bg, tWindowHandle wh) + #endif + { ++#if VDRVERSNUM >= 10503 ++ osd->DrawText(x, y, txt, fg, trans ? clrTransparent : bg, Font); ++ return x += Font->Width(txt); ++#else + unsigned int pxl; + int row,col; + +@@ -85,6 +113,7 @@ int anyFont::Text(int x, int y, const ch + x += Width(*txt++); + } + return x; ++#endif + } + #if VDRVERSNUM >= 10307 + int anyFont::LargeText(int x, int y, const char *txt, tColor fg, tColor bg) +@@ -92,6 +121,10 @@ int anyFont::LargeText(int x, int y, con + int anyFont::LargeText(int x, int y, const char *txt, eDvbColor fg, eDvbColor bg, tWindowHandle wh) + #endif + { ++#if VDRVERSNUM >= 10503 ++ osd->DrawText(x, y, txt, fg, trans ? clrTransparent : bg, Font); ++ return x + Font->Width(txt); ++#else + unsigned int pxl; + int row,col; + +@@ -116,6 +149,7 @@ int anyFont::LargeText(int x, int y, con + x += LargeWidth(*txt++); + } + return x; ++#endif + } + #if VDRVERSNUM >= 10307 + int anyFont::Text(int x, int y, int w, int h, const char *txt, tColor fg, tColor bg) +diff -Naurp tvonscreen-1.0.141/anyfont.h tvonscreen-1.0.141-vdr153/anyfont.h +--- tvonscreen-1.0.141/anyfont.h 2004-07-08 13:54:56.000000000 +0000 ++++ tvonscreen-1.0.141-vdr153/anyfont.h 2007-09-14 12:47:38.000000000 +0000 +@@ -19,11 +19,17 @@ class anyFont + #else + cOsdBase *osd; + #endif ++#if VDRVERSNUM >= 10503 ++ const cFont *Font; ++#else + const cFont::tPixelData *FontData; + int FontHeight; ++#endif + int trans; + public: +-#if VDRVERSNUM >= 10307 ++#if VDRVERSNUM >= 10503 ++ anyFont(cOsd *o,int fheight,int transparent=0); ++#elif VDRVERSNUM >= 10307 + anyFont(cOsd *o,const cFont::tPixelData *fd,int fheight,int transparent=0); + #else + anyFont(cOsdBase *o,const cFont::tPixelData *fd,int fheight,int transparent=0); +diff -Naurp tvonscreen-1.0.141/magazine.c tvonscreen-1.0.141-vdr153/magazine.c +--- tvonscreen-1.0.141/magazine.c 2006-06-18 13:59:36.000000000 +0000 ++++ tvonscreen-1.0.141-vdr153/magazine.c 2007-09-13 20:04:34.000000000 +0000 +@@ -812,10 +812,12 @@ void magazine::autoTimer(const class cEv + } + } + ++#if VDRVERSNUM < 10503 + #include "fontosd/fontosd-arial18.c" + #include "fontosd/fontosd-verdana16.c" + #include "fontosd/fontosd-tahoma16.c" + #include "fontosd/fontosd-timesNewRoman16.c" ++#endif + + void magazine::Show(void) + { +@@ -850,10 +852,17 @@ void magazine::Show(void) + delete f3; + delete f4; + ++#if VDRVERSNUM >= 10503 ++ f1=new anyFont(osd,18,1); // Sendung ++ f2=new anyFont(osd,16,1); // Extra-Info ++ f3=new anyFont(osd,20,1); // Sender ++ f4=new anyFont(osd,16); // Tasten ++#else + f1=new anyFont(osd,(cFont::tPixelData *)fontosd_arial18,FONTOSD_ARIAL18,1); // Sendung + f2=new anyFont(osd,(cFont::tPixelData *)fontosd_verdana16,FONTOSD_VERDANA16,1); // Extra-Info + f3=new anyFont(osd,(cFont::tPixelData *)fontosd_tahoma16,FONTOSD_TAHOMA16,1); // Sender + f4=new anyFont(osd,(cFont::tPixelData *)fontosd_newroman16,FONTOSD_NEWROMAN16); // Tasten ++#endif + for (int i=0; i < (int)(sizeof(Areas)/sizeof(tArea)); i++) + { + // cBitmap *b=osd->GetBitmap(i); diff --git a/media-plugins/vdr-tvonscreen/vdr-tvonscreen-0.7.1.ebuild b/media-plugins/vdr-tvonscreen/vdr-tvonscreen-0.7.1.ebuild index aa160f673ba4..70bbe623a5a0 100644 --- a/media-plugins/vdr-tvonscreen/vdr-tvonscreen-0.7.1.ebuild +++ b/media-plugins/vdr-tvonscreen/vdr-tvonscreen-0.7.1.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2006 Gentoo Foundation +# Copyright 1999-2008 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-plugins/vdr-tvonscreen/vdr-tvonscreen-0.7.1.ebuild,v 1.4 2007/07/10 23:08:59 mr_bones_ Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-plugins/vdr-tvonscreen/vdr-tvonscreen-0.7.1.ebuild,v 1.5 2008/04/22 10:41:49 zzam Exp $ IUSE="" inherit vdr-plugin @@ -14,4 +14,5 @@ LICENSE="GPL-2" DEPEND=">=media-video/vdr-1.3.18" -PATCHES="${FILESDIR}/${P}-includes.diff ${FILESDIR}/${P}.diff" +PATCHES=("${FILESDIR}/${P}-includes.diff" + "${FILESDIR}/${P}.diff") diff --git a/media-plugins/vdr-tvonscreen/vdr-tvonscreen-1.0.141-r1.ebuild b/media-plugins/vdr-tvonscreen/vdr-tvonscreen-1.0.141-r1.ebuild new file mode 100644 index 000000000000..e096d3fe11aa --- /dev/null +++ b/media-plugins/vdr-tvonscreen/vdr-tvonscreen-1.0.141-r1.ebuild @@ -0,0 +1,21 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-plugins/vdr-tvonscreen/vdr-tvonscreen-1.0.141-r1.ebuild,v 1.1 2008/04/22 10:41:49 zzam Exp $ + +IUSE="" +inherit vdr-plugin + +DESCRIPTION="VDR plugin: Show EPG like a TV guide" +HOMEPAGE="http://www.js-home.org/vdr/tvonscreen" +SRC_URI="http://www.js-home.org/vdr/tvonscreen/${P}.tar.gz" +KEYWORDS="~amd64 ~x86" +SLOT="0" +LICENSE="GPL-2" + +DEPEND=">=media-video/vdr-1.4.1" + +PATCHES=("${FILESDIR}/${P}-fixes.diff" + "${FILESDIR}/${P}-vdr-1.5.3.diff") + +NO_GETTEXT_HACK=1 + |