Hello everyone,
     I've been watching this mailing list for a few weeks now and
finally had the time to get the trunk of basket up and running on my
machine.  After poking around in the
BNPView::showPassiveDroppedDelayed() method I think I have an idea of
why we're getting the seg fault.  In the line

[2312]    m_passivePopup = new KPassivePopup(Settings::useSystray() ?
(QWidget*)Global::systemTray : this);

Settings::useSystray() evaluates to true and so we pass
(QWidget*)Global::systemTray to the constructor of KPassivePopup which
expects a QWidget* as a constructor argument.  But Global::systemTray
is a SystemTray which inherits from KSystemTrayIcon which inherits
from QSystemTrayIcon which inherits from QObject.  So as far as I can
see Global::systemTray is not a QWidget* and so the C style cast to
QWidget* will produce garbage, causing the seg fault somewhere inside
KPassivePopup.

Hope someone else can figure out what the intent was here, but in the
meantime chaging line 2312 to

m_passivePopup = new KPassivePopup(this);

doesn't seqfault (the popup just doesn't appear over the tray icon).

-Jon

------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Basket-devel mailing list
Basket-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/basket-devel

Reply via email to