git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix frequently segfault on clean shutdown
[enigma2.git]
/
lib
/
python
/
Components
/
config.py
diff --git
a/lib/python/Components/config.py
b/lib/python/Components/config.py
index 7df6e762f7c3df5d0fa86e54d3b31c91acfb253e..de06871a59dff3936f14cf4b1dac388dba81a6ec 100644
(file)
--- a/
lib/python/Components/config.py
+++ b/
lib/python/Components/config.py
@@
-328,6
+328,8
@@
class ConfigSequence(ConfigElement):
self.default = default
self.value = copy.copy(default)
self.default = default
self.value = copy.copy(default)
+
+ self.endNotifier = []
def validate(self):
max_pos = 0
def validate(self):
max_pos = 0
@@
-344,6
+346,8
@@
class ConfigSequence(ConfigElement):
num += 1
if self.marked_pos >= max_pos:
num += 1
if self.marked_pos >= max_pos:
+ for x in self.endNotifier:
+ x(self)
self.marked_pos = max_pos - 1
if self.marked_pos < 0:
self.marked_pos = max_pos - 1
if self.marked_pos < 0:
@@
-357,6
+361,9
@@
class ConfigSequence(ConfigElement):
if self.marked_pos >= total_len:
self.marked_pos = total_len - 1
if self.marked_pos >= total_len:
self.marked_pos = total_len - 1
+
+ def addEndNotifier(self, notifier):
+ self.endNotifier.append(notifier)
def handleKey(self, key):
if key == KEY_LEFT:
def handleKey(self, key):
if key == KEY_LEFT:
@@
-626,7
+633,7
@@
class ConfigSatlist(ConfigSelection):
def __init__(self, list, default = None):
if default is not None:
default = str(default)
def __init__(self, list, default = None):
if default is not None:
default = str(default)
- ConfigSelection.__init__(self, choices = [(str(orbpos), desc) for (orbpos, desc) in list], default = default)
+ ConfigSelection.__init__(self, choices = [(str(orbpos), desc) for (orbpos, desc
, flags
) in list], default = default)
def getOrbitalPosition(self):
if self.value == "":
def getOrbitalPosition(self):
if self.value == "":