Question on parenting plasma widgets
Armin Moradi
amoradi at fedoraproject.org
Wed Jun 24 19:58:27 BST 2009
Hi list,
I'm writing a plasmoid and I have trouble adding a Plasma.TabBar to
it. This is the code:
def setupUi(self):
self.mainLayout = QGraphicsLinearLayout(Qt.Vertical)
self.statusLayout = QGraphicsLinearLayout(Qt.Vertical)
self.tabBar = Plasma.TabBar(self.applet)
self.tabBar.addTab('status', self.statusLayout)
self.mainLayout.addItem(self.tabBar)
self.setLayout(self.mainLayout)
This code crashes when I close plasmoidviewer with the following
backtrace (the plasmoid runs, but crashes when I close it):
Application: Plasma Widget Viewer (plasmoidviewer), signal: Segmentation fault
[KCrash Handler]
#5 0x0000000000000031 in ?? ()
#6 0x00000036bdf89a4a in QGraphicsWidget::~QGraphicsWidget
(this=0x3102170, __in_chrg=<value optimized out>) at
graphicsview/qgraphicswidget.cpp:294
#7 0x00000036bdf45ec7 in QGraphicsItem::~QGraphicsItem (this=<value
optimized out>, __in_chrg=<value optimized out>) at
graphicsview/qgraphicsitem.cpp:865
#8 0x00000036bdf89795 in QGraphicsWidget::~QGraphicsWidget
(this=0x3037500, __in_chrg=<value optimized out>) at
graphicsview/qgraphicswidget.cpp:309
#9 0x00007fe0e98ab1b3 in sipPlasma_TabBar::~sipPlasma_TabBar() ()
from /usr/lib64/python2.6/site-packages/PyKDE4/plasma.so
#10 0x00000036bdf45ec7 in QGraphicsItem::~QGraphicsItem (this=<value
optimized out>, __in_chrg=<value optimized out>) at
graphicsview/qgraphicsitem.cpp:865
#11 0x00000036bdf89795 in QGraphicsWidget::~QGraphicsWidget
(this=0x2890f90, __in_chrg=<value optimized out>) at
graphicsview/qgraphicswidget.cpp:309
#12 0x00000039fc2c54ab in Plasma::Applet::~Applet (this=0x2890f90,
__in_chrg=<value optimized out>) at
/usr/src/debug/kdelibs-4.2.90/plasma/applet.cpp:187
#13 0x00000039fc2d5467 in
qDeleteAll<QList<Plasma::Applet*>::const_iterator> (end=<value
optimized out>, begin=<value optimized out>) at
/usr/include/QtCore/qalgorithms.h:350
#14 qDeleteAll<QList<Plasma::Applet*> > (end=<value optimized out>,
begin=<value optimized out>) at /usr/include/QtCore/qalgorithms.h:358
#15 ~ContainmentPrivate (end=<value optimized out>, begin=<value
optimized out>) at
/usr/src/debug/kdelibs-4.2.90/plasma/private/containment_p.h:57
#16 Plasma::Containment::~Containment (end=<value optimized out>,
begin=<value optimized out>) at
/usr/src/debug/kdelibs-4.2.90/plasma/containment.cpp:118
#17 0x00000039fc2e3a1f in
qDeleteAll<QList<Plasma::Containment*>::const_iterator> (end=<value
optimized out>, begin=<value optimized out>) at
/usr/include/QtCore/qalgorithms.h:350
#18 qDeleteAll<QList<Plasma::Containment*> > (end=<value optimized
out>, begin=<value optimized out>) at
/usr/include/QtCore/qalgorithms.h:358
#19 ~CoronaPrivate (end=<value optimized out>, begin=<value optimized
out>) at /usr/src/debug/kdelibs-4.2.90/plasma/corona.cpp:76
#20 Plasma::Corona::~Corona (end=<value optimized out>, begin=<value
optimized out>) at /usr/src/debug/kdelibs-4.2.90/plasma/corona.cpp:275
#21 0x00000000004084b2 in ~FullView (this=<value optimized out>,
__in_chrg=<value optimized out>) at
/usr/src/debug/kdebase-workspace-4.2.90/plasma/shells/plasmoidviewer/fullview.h:34
#22 main (this=<value optimized out>, __in_chrg=<value optimized out>)
at /usr/src/debug/kdebase-workspace-4.2.90/plasma/shells/plasmoidviewer/main.cpp:164
Warning: the current language does not match this frame.
I can't really understand this backtrace, but as much help as I could
get, I understood that the problem is my parenting style, but I have
no idea how to solve it. Could anyone shed some light on this code?
Thanks,
--
Armin Moradi
More information about the kde-core-devel
mailing list