On Mon, 30 Jan 2012 17:43:30 +0530, Kovid Goyal <ko...@kovidgoyal.net> wrote: > I was able to trace the python code that is triggering the assert. > > Basically, it is the following sequence: > > view = self.parent() > At this point view is a subclass of QMainWindow and view.parent() returns > None > Calling view.size() causes the assert to be triggered. Interestingly the > assert > is only triggered the second time this code is run, which tells me that > probably the underlying Qt object corresponding to view has been deleted. > view > is the main window of the application, there is reference to it kept at the > python level. > > Note that this is only one instance where the assert is triggered, I am > fairly > certain that there will be several unrelated code paths throughout calibre > that > will trigger it, given the various crashes I have experienced. > > Reading the SIP changelog, one thing of note: The QMainWindow subclass has > multiple inheritance. It is defined as > > class EbookViewer(MainWindow, Ui_EbookViewer): > > where Ui_EbookViewer comes from a compiled .ui file and MainWindow is a > simple > subclass of QMainWindow. The definition of EbookViewer is here: > http://bazaar.launchpad.net/~kovid/calibre/trunk/view/head:/src/calibre/gui2/viewer/main.py#L171 > and the MainWindow class is: > http://bazaar.launchpad.net/~kovid/calibre/trunk/view/head:/src/calibre/gui2/main_window.py#L90 > > Let me know if there's anything else I can do.
Try the current tip of the 4.13-maint branch without any additional changes... hg pull -u Phil _______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt