aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Screens/ChannelSelection.py
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-04-19 20:34:38 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2006-04-19 20:34:38 +0000
commit0f1d2fd66b8a00440370f2c55aecb7819a4fa35a (patch)
tree4fffc567d493c159a89450a5962617cef83a5c47 /lib/python/Screens/ChannelSelection.py
parent2b76c5fd83d27c2485609413f4392eb35af10912 (diff)
downloadenigma2-0f1d2fd66b8a00440370f2c55aecb7819a4fa35a.tar.gz
enigma2-0f1d2fd66b8a00440370f2c55aecb7819a4fa35a.zip
fix recursive close crashes
Diffstat (limited to 'lib/python/Screens/ChannelSelection.py')
-rw-r--r--lib/python/Screens/ChannelSelection.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/python/Screens/ChannelSelection.py b/lib/python/Screens/ChannelSelection.py
index 7db3a1c8..0e3ee2fc 100644
--- a/lib/python/Screens/ChannelSelection.py
+++ b/lib/python/Screens/ChannelSelection.py
@@ -43,9 +43,11 @@ class BouquetSelector(Screen):
self.close(False)
class ChannelContextMenu(Screen):
+
def __init__(self, session, csel):
Screen.__init__(self, session)
self.csel = csel
+ self.bsel = None
self["actions"] = ActionMap(["OkCancelActions"],
{
@@ -117,13 +119,14 @@ class ChannelContextMenu(Screen):
else:
cnt = len(bouquets)
if cnt > 1: # show bouquet list
- self.session.openWithCallback(self.bouquetSelClosed, BouquetSelector, bouquets, self.addCurrentServiceToBouquet)
+ self.bsel = self.session.openWithCallback(self.bouquetSelClosed, BouquetSelector, bouquets, self.addCurrentServiceToBouquet)
elif cnt == 1: # add to only one existing bouquet
self.addCurrentServiceToBouquet(bouquets[0][1])
else: #no bouquets in root.. so assume only one favourite list is used
self.addCurrentServiceToBouquet(self.csel.bouquet_root)
def bouquetSelClosed(self, recursive):
+ self.bsel = None
if recursive:
self.close(False)
@@ -137,7 +140,10 @@ class ChannelContextMenu(Screen):
def addCurrentServiceToBouquet(self, dest):
self.csel.addCurrentServiceToBouquet(dest)
- self.close(True) # close bouquet selection
+ if self.bsel is not None:
+ self.bsel.close(True)
+ else:
+ self.close(True) # close bouquet selection
def removeCurrentService(self):
self.csel.removeCurrentService()