summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--recording.c9
-rw-r--r--recording.h4
2 files changed, 7 insertions, 6 deletions
diff --git a/recording.c b/recording.c
index b91a3cb3..af73563a 100644
--- a/recording.c
+++ b/recording.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: recording.c 3.10 2013/12/27 08:46:17 kls Exp $
+ * $Id: recording.c 3.11 2013/12/27 11:06:01 kls Exp $
*/
#include "recording.h"
@@ -1390,7 +1390,7 @@ void cRecordings::Refresh(bool Foreground)
ScanVideoDir(cVideoDirectory::Name(), Foreground);
}
-void cRecordings::ScanVideoDir(const char *DirName, bool Foreground, int LinkLevel, int DirLevel)
+bool cRecordings::ScanVideoDir(const char *DirName, bool Foreground, int LinkLevel, int DirLevel)
{
bool DoChangeState = false;
// Find any new recordings:
@@ -1432,7 +1432,7 @@ void cRecordings::ScanVideoDir(const char *DirName, bool Foreground, int LinkLev
}
}
else
- ScanVideoDir(buffer, Foreground, LinkLevel + Link, DirLevel + 1);
+ DoChangeState |= ScanVideoDir(buffer, Foreground, LinkLevel + Link, DirLevel + 1);
}
}
}
@@ -1450,8 +1450,9 @@ void cRecordings::ScanVideoDir(const char *DirName, bool Foreground, int LinkLev
}
}
}
- if (DoChangeState)
+ if (DoChangeState && DirLevel == 0)
ChangeState();
+ return DoChangeState;
}
bool cRecordings::StateChanged(int &State)
diff --git a/recording.h b/recording.h
index 9baed31d..c7feae03 100644
--- a/recording.h
+++ b/recording.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: recording.h 3.2 2013/12/24 13:32:18 kls Exp $
+ * $Id: recording.h 3.3 2013/12/27 11:05:07 kls Exp $
*/
#ifndef __RECORDING_H
@@ -223,7 +223,7 @@ private:
int state;
const char *UpdateFileName(void);
void Refresh(bool Foreground = false);
- void ScanVideoDir(const char *DirName, bool Foreground = false, int LinkLevel = 0, int DirLevel = 0);
+ bool ScanVideoDir(const char *DirName, bool Foreground = false, int LinkLevel = 0, int DirLevel = 0);
protected:
void Action(void);
public: