KConfigDialog crash and fix for it

Aaron J. Seigo aseigo at kde.org
Mon Oct 22 19:21:16 BST 2007


On Monday 22 October 2007, Joris Guisson wrote:
> Nobody interested ? I guess my patch must be fine then, shall I commit ?

having a second QMap seems ugly and a bit wasteful. can you do something like:

QMap<QWidget *, KConfigDialogManager *>::iterator it = 
d->managerForPage.begin();

while (it != d->managerForPage.end()) {
    if (it.value() == item->widget()) {
        delete it.value();
        d->managerForPage.erase(it);
    }
    ++it;
}

also, making removePage virtual isn't BC and seems a bit heavy handed. it uses 
a model internally, which does have a rowsRemoved signal ... though that's 
buried a few levels deep.

perhaps KPageWidget should have a pageRemoved(KPageWidgetItem*) signal, which 
reacts to the rowsRemoved signal, which can then be passed up via KPageDialog 
as well ... that way one doesn't have to subclass to do special things on 
page removal (and remember to call the parent class' method along the way) 
and it can be used externally as well ...

thoughts?

-- 
Aaron J. Seigo
humru othro a kohnu se
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43

KDE core developer sponsored by Trolltech
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20071022/490092a3/attachment.sig>


More information about the kde-core-devel mailing list