summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrank Neumann <fnu@yavdr.org>2017-05-21 21:05:19 +0200
committerFrank Neumann <fnu@yavdr.org>2017-05-21 21:05:19 +0200
commit9884f8d092d846605ebb9359a68317437b42f7b1 (patch)
tree9ed5df97a936533a9764fed2aba9c015804187fd
parente53424ba0ba5f75015bddf1fbaf2dadc5623fa7e (diff)
downloadvdr-plugin-text2skin-9884f8d092d846605ebb9359a68317437b42f7b1.tar.gz
vdr-plugin-text2skin-9884f8d092d846605ebb9359a68317437b42f7b1.tar.bz2
Commit static-std-string.diff (thx mini73)
-rw-r--r--HISTORY1
-rw-r--r--common.c8
-rw-r--r--common.h2
-rw-r--r--display.c12
-rw-r--r--display.h2
-rw-r--r--render.c2
6 files changed, 17 insertions, 10 deletions
diff --git a/HISTORY b/HISTORY
index 1a4a2f0..18ecee4 100644
--- a/HISTORY
+++ b/HISTORY
@@ -10,6 +10,7 @@ VDR Plugin 'text2skin' Revision History
http://www.vdr-portal.de/board17-developer/board25-patches/p914968-patch-f%C3%BCr-text2skin-channelnames4reruns/#post914968
- Commit common_c.diff most probably by Christian Winninger (unknown source)
- Commit status_c.diff most probably by Gerald Dachs (unknown source)
+- Commit static-std-string.diff by Lars Hanisch (unknown source)
2011-11-06: Version 1.3.2
diff --git a/common.c b/common.c
index 5d1c058..b078e14 100644
--- a/common.c
+++ b/common.c
@@ -9,11 +9,13 @@
#define FRONTEND_DEVICE "/dev/dvb/adapter%d/frontend%d"
-const std::string &SkinPath(void)
+const std::string SkinPath(void)
{
// should never change
- static std::string path = cPlugin::ConfigDirectory(PLUGIN_NAME_I18N);
- return path;
+ static cString path;
+ if ((*path == NULL) || (strlen(*path) == 0))
+ path = cPlugin::ConfigDirectory(PLUGIN_NAME_I18N);
+ return std::string(*path);
}
const char *ChannelNumber(const cChannel *Channel, int Number)
diff --git a/common.h b/common.h
index f690776..2d91e16 100644
--- a/common.h
+++ b/common.h
@@ -35,7 +35,7 @@ class cRecording;
// helper functions
-const std::string &SkinPath(void);
+const std::string SkinPath(void);
const char *ChannelNumber(const cChannel *Channel, int Number);
const char *ChannelName(const cChannel *Channel, int Number);
const char *ChannelShortName(const cChannel *Channel, int Number);
diff --git a/display.c b/display.c
index 0f001a5..d29e36a 100644
--- a/display.c
+++ b/display.c
@@ -1393,8 +1393,6 @@ cxType cText2SkinDisplayMenu::GetTokenData(const txToken &Token)
// --- cText2SkinDisplayTracks ------------------------------------------------
-const std::string ChannelNames[] = { "", "stereo", "left", "right" };
-
cText2SkinDisplayTracks::cText2SkinDisplayTracks(cText2SkinLoader *Loader, const char *Title,
int NumTracks, const char * const *Tracks):
cText2SkinRender(Loader, cxDisplay::audioTracks),
@@ -1414,9 +1412,15 @@ cText2SkinDisplayTracks::~cText2SkinDisplayTracks()
{
}
-const std::string &cText2SkinDisplayTracks::ChannelName(int AudioChannel)
+const char *cText2SkinDisplayTracks::ChannelName(int AudioChannel)
{
- return ChannelNames[AudioChannel + 1];
+ switch (AudioChannel)
+ {
+ case 0: return "stereo";
+ case 1: return "left";
+ case 2: return "right";
+ }
+ return "";
}
void cText2SkinDisplayTracks::SetTrack(int Index, const char * const *Tracks)
diff --git a/display.h b/display.h
index b5884ec..df59c7e 100644
--- a/display.h
+++ b/display.h
@@ -225,7 +225,7 @@ protected:
virtual void SetMaxItems(int MaxItems) { mMaxItems = MaxItems; }
public:
- static const std::string &ChannelName(int AudioChannel);
+ static const char *ChannelName(int AudioChannel);
cText2SkinDisplayTracks(cText2SkinLoader *Loader, const char *Title, int NumTracks,
const char * const *Tracks);
diff --git a/render.c b/render.c
index 6e271a4..713a99e 100644
--- a/render.c
+++ b/render.c
@@ -900,7 +900,7 @@ cxType cText2SkinRender::GetTokenData(const txToken &Token)
}
case tAudioChannel:
- return cText2SkinDisplayTracks::ChannelName(cDevice::PrimaryDevice()->GetAudioChannel());
+ return cxType(cText2SkinDisplayTracks::ChannelName(cDevice::PrimaryDevice()->GetAudioChannel()));
default: return Text2SkinStatus.GetTokenData(Token);
}