git://git.onelab.eu
/
sface.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
3439851
)
isolate faults in screens during class creation
author
smbaker
<smbaker@fc8clean.lan>
Wed, 15 Jun 2011 00:46:18 +0000
(17:46 -0700)
committer
smbaker
<smbaker@fc8clean.lan>
Wed, 15 Jun 2011 00:46:18 +0000
(17:46 -0700)
sface/mainwindow.py
patch
|
blob
|
history
diff --git
a/sface/mainwindow.py
b/sface/mainwindow.py
index
cefec17
..
153336f
100644
(file)
--- a/
sface/mainwindow.py
+++ b/
sface/mainwindow.py
@@
-131,15
+131,23
@@
class MainWindow(QWidget):
self.screens = QStackedWidget(self)
for screen in screenClasses:
self.screens = QStackedWidget(self)
for screen in screenClasses:
- screenWidget = screen(self)
- self.screenWidgets.append(screenWidget)
- self.screens.addWidget(screenWidget)
+ # use a try/catch block to isolate the screen. Third-party plugins
+ # could be buggy.
+ try:
+ screenWidget = screen(self)
+ self.screenWidgets.append(screenWidget)
+ self.screens.addWidget(screenWidget)
+ except:
+ print "Exception while creating screen", screen.__name__
+ traceback.print_exc()
self.screens.addWidget(self.pix)
self.next_screen = None
self.nav = Nav(self.screenWidgets, self)
self.screens.addWidget(self.pix)
self.next_screen = None
self.nav = Nav(self.screenWidgets, self)
- self.nav.setTitle(self.screenWidgets[0].getTitleText())
+
+ if self.screenWidgets:
+ self.nav.setTitle(self.screenWidgets[0].getTitleText())
self.status = Status(self)
self.log = QLabel("<a href='showlog'>Show Log</a>", self)
self.status = Status(self)
self.log = QLabel("<a href='showlog'>Show Log</a>", self)