diff --git a/.gitignore b/.gitignore index 0e24b9c..199c04d 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,10 @@ /vdr-plugin-tvguide-1.3.0.tar.bz2 /vdr-plugin-tvguide-1.3.1.tar.bz2 /vdr-plugin-tvguide-1.3.3.tar.bz2 +/tvguide-v1.3.4.tar.bz2 +/tvguide-v1.3.5.tar.bz2 +/tvguide-v1.3.6.tar.bz2 +/tvguide-v1.3.7.tar.bz2 +/tvguide-v1.3.8.tar.bz2 +/tvguide-v1.3.9.tar.bz2 +/tvguide-v1.3.11.tar.bz2 diff --git a/Fixed-possible-segfault-when-showing-scrollbar.patch b/Fixed-possible-segfault-when-showing-scrollbar.patch new file mode 100644 index 0000000..e3aaf42 --- /dev/null +++ b/Fixed-possible-segfault-when-showing-scrollbar.patch @@ -0,0 +1,76 @@ +From eb259fb96143dccf42f41523093987eb1fcdb739 Mon Sep 17 00:00:00 2001 +From: kamel5 +Date: Thu, 7 Apr 2022 13:31:15 +0200 +Subject: Fixed possible segfault when showing scrollbar in search result lists + +A segfault is possible if numSteps is greater than height in +"cRecMenu::createScrollbar()". + +diff --git a/recmenu.c b/recmenu.c +index 32650c1..3f2916f 100644 +--- a/recmenu.c ++++ b/recmenu.c +@@ -123,8 +123,7 @@ void cRecMenu::InitMenu(bool complete) { + width -= scrollbarWidth + border; + osdManager.releasePixmap(pixmapScrollBar); + pixmapScrollBar = NULL; +- delete imgScrollBar; +- imgScrollBar = NULL; ++ DELETENULL(imgScrollBar); + } + osdManager.releasePixmap(pixmap); + pixmap = NULL; +@@ -592,14 +591,14 @@ void cRecMenu::DrawScrollBar(void) { + if (!pixmapScrollBar) + return; + pixmapScrollBar->Fill(theme.Color(clrBorder)); +- pixmapScrollBar->DrawRectangle(cRect(2,2,pixmapScrollBar->ViewPort().Width()-4, pixmapScrollBar->ViewPort().Height() - 4), theme.Color(clrBackground)); ++ pixmapScrollBar->DrawRectangle(cRect(2, 2, pixmapScrollBar->ViewPort().Width() - 4, pixmapScrollBar->ViewPort().Height() - 4), theme.Color(clrBackground)); + + int totalNumItems = GetTotalNumMenuItems(); + if (!totalNumItems) + return; +- if (imgScrollBar == NULL) { ++ if (!imgScrollBar) { + int scrollBarImgHeight = (pixmapScrollBar->ViewPort().Height() - 8) * numItems / totalNumItems; +- imgScrollBar = createScrollbar(pixmapScrollBar->ViewPort().Width()-8, scrollBarImgHeight, theme.Color(clrHighlight), theme.Color(clrHighlightBlending)); ++ imgScrollBar = createScrollbar(pixmapScrollBar->ViewPort().Width() - 8, scrollBarImgHeight, theme.Color(clrHighlight), theme.Color(clrHighlightBlending)); + } + int offset = (pixmapScrollBar->ViewPort().Height() - 8) * startIndex / totalNumItems; + pixmapScrollBar->DrawImage(cPoint(4, 2 + offset), *imgScrollBar); +@@ -678,25 +677,21 @@ eRecMenuState cRecMenu::ProcessKey(eKeys Key) { + cImage *cRecMenu::createScrollbar(int width, int height, tColor clrBgr, tColor clrBlend) { + cImage *image = new cImage(cSize(width, height)); + image->Fill(clrBgr); +- if (config.style != eStyleFlat) { ++ if (height >= 32 && config.style != eStyleFlat) { + int numSteps = 64; + int alphaStep = 0x03; +- if (height < 30) +- return image; +- else if (height < 100) { ++ if (height < 100) { + numSteps = 32; + alphaStep = 0x06; + } +- int stepY = 0.5*height / numSteps; +- if (stepY == 0) +- stepY = 1; ++ int stepY = std::max(1, (int)(0.5 * height / numSteps)); + int alpha = 0x40; + tColor clr; +- for (int i = 0; iSetPixel(cPoint(x,y), clr); ++ for (int y = i * stepY; y < (i + 1) * stepY; y++) { ++ for (int x = 0; x < width; x++) { ++ image->SetPixel(cPoint(x, y), clr); + } + } + alpha += alphaStep; +-- +cgit v0.10.2 + diff --git a/sources b/sources index 8999d4d..ede51e5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (vdr-plugin-tvguide-1.3.3.tar.bz2) = be4b1d4fbffac3856a01e0c127e26b30b886766f845619b170659bd170898c83b940f2de44ee378e3e28ac48928b06615656994341d272c6e61e2bf739497a11 +SHA512 (tvguide-v1.3.11.tar.bz2) = 2ba24c92c64eb9e3aacb890419235c0fb53b9c8ccb3a71f6c40e1474055ee5067ba64ae2223958045a6bb2523f7e7b319e2ffec28f03b3bbc78897d4850d4318 diff --git a/vdr-tvguide.spec b/vdr-tvguide.spec index 4c0c2fd..60a29a3 100644 --- a/vdr-tvguide.spec +++ b/vdr-tvguide.spec @@ -1,27 +1,41 @@ +%global pname tvguide + +# Set vdr_version based on Fedora version +%if 0%{?fedora} >= 43 +%global vdr_version 2.7.7 +%elif 0%{?fedora} == 42 +%global vdr_version 2.7.4 +%else +%global vdr_version 2.6.9 +%endif + Name: vdr-tvguide -Version: 1.3.3 -Release: 1%{?dist} +Version: 1.3.11 +Release: 3%{?dist} Summary: TvGuide is a highly customizable 2D EPG viewer plugin -License: GPLv2+ -URL: http://projects.vdr-developer.org/projects/plg-tvguide -Source0: https://projects.vdr-developer.org/git/vdr-plugin-tvguide.git/snapshot/vdr-plugin-tvguide-%{version}.tar.bz2 +License: GPL-2.0-or-later +URL: https://gitlab.com/kamel5/tvguide +Source0: https://gitlab.com/kamel5/%{pname}/-/archive/v%{version}/%{pname}-v%{version}.tar.bz2 # Configuration files for plugin parameters. These are Fedora specific and not in upstream. Source1: %{name}.conf + +BuildRequires: make BuildRequires: gcc BuildRequires: gcc-c++ -BuildRequires: GraphicsMagick-c++-devel -BuildRequires: vdr-devel >= 2.0.0 +BuildRequires: gettext +BuildRequires: pkgconfig(GraphicsMagick++) +BuildRequires: vdr-devel >= %{vdr_version} Requires: vdr(abi)%{?_isa} = %{vdr_apiversion} %description VDR plugin: tvguide - %{summary} %prep -%autosetup -p1 -n vdr-plugin-tvguide-%{version} +%autosetup -p1 -n %{pname}-v%{version} iconv -f iso-8859-1 -t utf-8 README > README.utf8 ; mv README.utf8 README %build -make CFLAGS="%{optflags} -fPIC" CXXFLAGS="%{optflags} -fPIC" IMAGELIB=graphicsmagick %{?_smp_mflags} all +%make_build CFLAGS="%{optflags} -fPIC" CXXFLAGS="%{optflags} -fPIC" IMAGELIB=graphicsmagick %install # make install would install the themes under /etc, let's not use that @@ -44,6 +58,125 @@ install -Dpm 644 %{SOURCE1} \ %{vdr_resdir}/plugins/tvguide/ %changelog +* Fri Jul 25 2025 Martin Gansser - 1.3.11-3 +- Rebuilt for new VDR API version 2.7.7 + +* Fri Jul 25 2025 Fedora Release Engineering - 1.3.11-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sat Jul 19 2025 Martin Gansser - 1.3.11-1 +- Update to 1.3.11 + +* Sat Jun 21 2025 Martin Gansser - 1.3.9-5 +- Rebuilt for new VDR API version 2.7.6 + +* Tue May 27 2025 Martin Gansser - 1.3.9-4 +- Rebuilt for new VDR API version 2.7.5 + +* Fri Feb 28 2025 Martin Gansser - 1.3.9-3 +- Rebuilt for new VDR API version 2.7.4 + +* Sun Jan 19 2025 Fedora Release Engineering - 1.3.9-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Wed Oct 09 2024 Martin Gansser - 1.3.9-1 +- Rebuilt for new VDR API version 2.7.2 +- Update to 1.3.9 + +* Fri Jul 26 2024 Miroslav Suchý - 1.3.8-8 +- convert license to SPDX + +* Sat Jul 20 2024 Fedora Release Engineering - 1.3.8-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Mon Jul 15 2024 Martin Gansser - 1.3.8-6 +- Rebuilt for new VDR API version 2.6.9 + +* Thu Jul 11 2024 Martin Gansser - 1.3.8-5 +- Rebuilt for new VDR API version 2.6.8 + +* Fri Apr 12 2024 Martin Gansser - 1.3.8-4 +- Rebuilt for new VDR API version + +* Fri Jan 26 2024 Martin Gansser - 1.3.8-3 +- Rebuilt for new VDR API version + +* Fri Jan 05 2024 Martin Gansser - 1.3.8-2 +- Rebuilt for new VDR API version +- Add BR gettext for rawhide + +* Wed Nov 22 2023 Martin Gansser - 1.3.8-1 +- Update to 1.3.8 + +* Sat Aug 26 2023 Martin Gansser - 1.3.7-1 +- Update to 1.3.7 + +* Sat Jul 22 2023 Fedora Release Engineering - 1.3.6-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jan 21 2023 Fedora Release Engineering - 1.3.6-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jan 07 2023 Martin Gansser - 1.3.6-5 +- Rebuilt against graphicsmagick due new ImageMagick 7 + +* Wed Dec 14 2022 Martin Gansser - 1.3.6-4 +- Rebuilt for new VDR API version + +* Thu Dec 01 2022 Martin Gansser - 1.3.6-3 +- Rebuilt for new VDR API version + +* Sat Jul 23 2022 Fedora Release Engineering - 1.3.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sun Jun 26 2022 Martin Gansser - 1.3.6-1 +- Update to 1.3.6 + +* Mon May 02 2022 Martin Gansser - 1.3.5-7 +- Add Fixed-possible-segfault-when-showing-scrollbar.patch + +* Sat Feb 05 2022 Martin Gansser - 1.3.5-6 +- Rebuilt for new VDR API version + +* Sat Jan 22 2022 Fedora Release Engineering - 1.3.5-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Dec 30 2021 Martin Gansser - 1.3.5-4 +- Rebuilt for new VDR API version + +* Fri Nov 26 2021 Mamoru TASAKA - 1.3.5-1.1 +- rebuild for new ImageMagick + +* Sat Oct 16 2021 Martin Gansser - 1.3.5-3 +- Rebuilt due FTI in rawhide + +* Fri Jul 23 2021 Fedora Release Engineering - 1.3.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Sat May 22 2021 Martin Gansser - 1.3.5-1 +- Update to 1.3.5 + +* Wed Apr 28 2021 Martin Gansser - 1.3.4-3 +- Rebuilt for new VDR API version + +* Wed Jan 27 2021 Fedora Release Engineering - 1.3.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Jan 11 2021 Martin Gansser - 1.3.4-1 +- Update to 1.3.4 + +* Sun Jan 03 2021 Martin Gansser - 1.3.3-5 +- Rebuilt for new VDR API version + +* Sat Nov 14 2020 Martin Gansser - 1.3.3-4 +- Use Imagemagick due segfault with Graphicsmagick fix (BZ#1897776) + +* Fri Aug 28 2020 Martin Gansser - 1.3.3-3 +- Rebuilt for new VDR API version + +* Tue Aug 18 2020 Jeff Law - 1.3.3-2 +- Force C++14 as this code is not C++17 ready + * Fri Aug 07 2020 Martin Gansser - 1.3.3-1 - Update to 1.3.3