summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Schwarzott <zzam@gentoo.org>2008-04-22 10:41:50 +0000
committerMatthias Schwarzott <zzam@gentoo.org>2008-04-22 10:41:50 +0000
commit3e65a8c1cd97687ffbbab73cbc21c60463ebc277 (patch)
treea6eaf54e155dcb367990ff0d4533ccb4db4d727f /media-plugins/vdr-tvonscreen
parentNo longer require a patched vdr. Patch is from e-tobi. (diff)
downloadgentoo-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)
Diffstat (limited to 'media-plugins/vdr-tvonscreen')
-rw-r--r--media-plugins/vdr-tvonscreen/ChangeLog13
-rw-r--r--media-plugins/vdr-tvonscreen/files/vdr-tvonscreen-1.0.141-fixes.diff151
-rw-r--r--media-plugins/vdr-tvonscreen/files/vdr-tvonscreen-1.0.141-vdr-1.5.3.diff173
-rw-r--r--media-plugins/vdr-tvonscreen/vdr-tvonscreen-0.7.1.ebuild7
-rw-r--r--media-plugins/vdr-tvonscreen/vdr-tvonscreen-1.0.141-r1.ebuild21
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
+