[prev in list] [next in list] [prev in thread] [next in thread] 

List:       pykde
Subject:    [PyKDE] ListViewItem/setStyle segfault
From:       Jason Lai <jmlai () uci ! edu>
Date:       2004-04-19 5:43:37
Message-ID: 40836709.3010206 () uci ! edu
[Download RAW message or body]

This only seems to occur when trying to switch styles to "plastik", but 
not in the C++ Qt.

Crashing/segfaulting code (requires plastik):
--------
import sys
from qt import *

def main(args):
     app = QApplication(args)

     listview  = QListView()
     app.setMainWidget(listview)

     listview.addColumn("A column")
     item    = QListViewItem(listview, "An item")
     subitem = QListViewItem(item, "A subitem")
     item.setOpen(True)

     listview.show()

     app.setStyle("plastik")

     app.exec_loop()

main(sys.argv)
--------
Part of the GDB output for "python crash.py"
--------
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 17486)]
0x4114b251 in QGList::find(void*, bool) (this=0x81bfe60, d=0x41736204,
     fromStart=true) at tools/qglist.cpp:751
751     tools/qglist.cpp: No such file or directory.
         in tools/qglist.cpp
--------
Non-crashing C++ code (is this equivalent?):
--------
#include <qapplication.h>
#include <qlistview.h>

int main(int argc, char **argv)
{
     QApplication *a = new QApplication(argc, argv);
     QListView *listview = new QListView();
     a->setMainWidget(listview);

     qlv->addColumn("A column");
     QListViewItem *item = new QListViewItem(listview,"An item");
     QListViewItem *subitem = new QListViewItem(item, "A subitem");
     item->setOpen(TRUE);

     listview->show();
     a->setStyle("plastik");
     return a->exec();
}
--------

Environment:
PyQt: 3.11
PyKDE: not installed
SIP: 4.0_rc3
KDE: 3.2.1
Qt:  3.3.0

Moving the app.setStyle to the top avoids the crash. So does changing 
the argument to something other than "plastik". The crash only occurs 
when the program exits. Removing setOpen() avoids the crash, so does 
calling setOpen(False) before setStyle is called.

Does this look like a PyQt problem or a Qt/KDE/Plastik problem?

-- 
Jason Lai

["smime.p7s" (application/x-pkcs7-signature)]
_______________________________________________
PyKDE mailing list    PyKDE@mats.imk.fraunhofer.de
http://mats.imk.fraunhofer.de/mailman/listinfo/pykde

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic