media-plugins/vdr-extrecmenu: fix usage of cControl::Control()

introduce subslot dependency on media-video/vdr

Closes: https://bugs.gentoo.org/963482
Signed-off-by: Martin Dummer <martin.dummer@gmx.net>
Part-of: https://github.com/gentoo/gentoo/pull/43960
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Martin Dummer 2025-09-27 16:13:02 +02:00 committed by Sam James
parent f10a6dcb44
commit 93ca9d5a05
No known key found for this signature in database
GPG Key ID: 738409F520DF9190
2 changed files with 70 additions and 0 deletions

View File

@ -0,0 +1,33 @@
diff '--color=auto' -Naur extrecmenung-v2.0.12.orig/mymenu.c extrecmenung-v2.0.12/mymenu.c
--- extrecmenung-v2.0.12.orig/mymenu.c 2024-03-16 12:06:32.000000000 +0100
+++ extrecmenung-v2.0.12/mymenu.c 2025-09-27 16:08:59.981088185 +0200
@@ -1642,7 +1642,8 @@
Display(); // this keeps the higher level menus from showing up briefly when pressing 'Back' during replay
- if (wasdvd && !cControl::Control()) {
+ cMutexLock MutexLock;
+ if (wasdvd && !cControl::Control(MutexLock)) {
char *cmd = NULL;
if (-1 != asprintf(&cmd, "dvdarchive.sh umount \"%s\"", *strescape(myReplayControl::LastReplayed(), "'\\\"$"))) {
isyslog("[extrecmenu] calling %s to unmount dvd", cmd);
@@ -1658,7 +1659,8 @@
wasdvd = false;
}
- if (washdd &&! cControl::Control()) {
+ cMutexLock MutexLock2;
+ if (washdd &&! cControl::Control(MutexLock2)) {
char *cmd=NULL;
if (-1 != asprintf(&cmd, "hddarchive.sh umount \"%s\"", *strescape(myReplayControl::LastReplayed(), "'\\\"$"))) {
isyslog("[extrecmenu] calling %s to unmount Archive-HDD", cmd);
@@ -1982,7 +1984,8 @@
}
else if (CurrentRecording && strcmp(CurrentRecording, Recording->FileName()) == 0) {
SetCurrent(LastDir ? LastDir : LastItem);
- if (Item && !Item->IsDirectory() && (Item->IsDVD() || Item->IsHDD()) && !cControl::Control())
+ cMutexLock MutexLock;
+ if (Item && !Item->IsDirectory() && (Item->IsDVD() || Item->IsHDD()) && !cControl::Control(MutexLock))
cReplayControl::ClearLastReplayed(cReplayControl::LastReplayed());
}
}

View File

@ -0,0 +1,37 @@
# Copyright 2021-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit vdr-plugin-2
DESCRIPTION="VDR Plugin: Extended recordings menu (NG)"
HOMEPAGE="https://gitlab.com/kamel5/extrecmenung"
SRC_URI="https://gitlab.com/kamel5/extrecmenung/-/archive/v${PV}/extrecmenung-v${PV}.tar.bz2 -> ${P}.tbz2"
S="${WORKDIR}/extrecmenung-v${PV}"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~arm ~x86"
DEPEND="media-video/vdr:="
RDEPEND="${DEPEND}
media-fonts/vdrsymbols-ttf"
PATCHES=( "${FILESDIR}/${P}_cControl.patch" )
src_prepare() {
rm "${S}"/po/{ca_ES,da_DK,el_GR,et_EE,hr_HR,hu_HU,nl_NL,nn_NO,pl_PL,pt_PT,ro_RO,ru_RU,sl_SI,sv_SE,tr_TR}.po || die
vdr-plugin-2_src_prepare
}
src_install() {
vdr-plugin-2_src_install
cd "${S}/scripts"
dobin dvdarchive.sh hddarchive.sh
insinto /etc/vdr
doins "${FILESDIR}"/dvdarchive.conf
}