Hunting seffaults

This commit is contained in:
Olivier Keshavjee 2015-06-21 19:37:13 +02:00
parent 1be5165291
commit 830e39bd34
3 changed files with 16 additions and 7 deletions

View file

@ -5,6 +5,9 @@ from qt import *
_version = "0.1"
import faulthandler
faulthandler.enable()
def run():
app = QApplication(sys.argv)
app.setOrganizationName("manuskript")
@ -33,7 +36,8 @@ def run():
style = settings.value("applicationStyle")
app.setStyle(style)
launch()
launch() # Seperating launch to avoid segfault, so it seem.
# Cf. http://stackoverflow.com/questions/12433491/is-this-pyqt-4-python-bug-or-wrongly-behaving-code
def launch():
from mainWindow import MainWindow

View file

@ -230,6 +230,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.treePlanOutline.setModelPersos(self.mdlPersos)
self.treePlanOutline.setModelLabels(self.mdlLabels)
self.treePlanOutline.setModelStatus(self.mdlStatus)
self.redacMetadata.setModels(self.mdlOutline, self.mdlPersos, self.mdlLabels, self.mdlStatus)
self.outlineItemEditor.setModels(self.mdlOutline, self.mdlPersos, self.mdlLabels, self.mdlStatus)

View file

@ -28,9 +28,11 @@ class cmbOutlinePersoChoser(QComboBox):
self.addItem(QIcon.fromTheme("edit-delete"), self.tr("None"))
l = [self.tr("Main"), self.tr("Secondary"), self.tr("Minor")]
for importance in range(3):
self.addItem(l[importance])
self.setItemData(self.count()-1, QBrush(Qt.darkBlue), Qt.ForegroundRole)
# FIXME: segfault sometimes on QBrush next line
self.setItemData(self.count()-1, QBrush(QColor(Qt.darkBlue)), Qt.ForegroundRole)
self.setItemData(self.count()-1, QBrush(QColor(Qt.blue).lighter(190)), Qt.BackgroundRole)
item = self.model().item(self.count()-1)
item.setFlags(Qt.ItemIsEnabled)
@ -41,12 +43,14 @@ class cmbOutlinePersoChoser(QComboBox):
else:
imp = 0
if not 2-imp == importance: continue
item = self.mdlPersos.item(i, Perso.name.value)
item2 = self.mdlPersos.item(i, Perso.ID.value)
if item and item2: # Otherwise error while loading
self.addItem(item.icon(), item.text(), item2.text())
self.setItemData(i+1, item.text(), Qt.ToolTipRole)
try:
self.addItem(self.mdlPersos.item(i, Perso.name.value).icon(), self.mdlPersos.item(i, Perso.name.value).text(), self.mdlPersos.item(i, Perso.ID.value).text())
self.setItemData(i+1, self.mdlPersos.item(i, Perso.name.value).text(), Qt.ToolTipRole)
except:
pass
self._various = False