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

List:       kde-bugs-dist
Subject:    [Bug 219105] KDevelop crashed at quit
From:       Milian Wolff <mail () milianw ! de>
Date:       2010-01-13 19:19:46
Message-ID: 20100113191946.6C87A2FA5C () immanuel ! kde ! org
[Download RAW message or body]

https://bugs.kde.org/show_bug.cgi?id=219105





--- Comment #13 from Milian Wolff <mail milianw de>  2010-01-13 20:19:18 ---
Hm let me rephrase to make my intention clearer:

If we'd use a QSharedPointer and let it decide when to delete the plugin and
when not, i.e. no manual qDeleteAll / deleteLater in any controllers, we should
be on the safe side, no? And I picked IProject just because it's the base
class, I dunno what would happen if I have:

class foobar : IProject, Iface1, Iface2 {};

class Controller1 { QList<QSharedPointer<IFace1> >; }
class Controller2 { QList<QSharedPointer<IFace2> >; }

The adresses should be the same for IFace1 and IFace2 afaik, but does
QSharedPointer differentiate between the class type? I think so, but this is
pure gutfeeling. If one would just store QSharedPointer<IProject> it should be
on the safe side.

Oh and to restress my point about deleting: Imo the deletion is simply wrong,
just because one controller says "ok, this iface is not needed anymore",
doesn't say that the given Object implementing this iface is not implementing
other ifaces, hence must _not_ be deleted (just like with the CmakeManager).

If we use QSharedPointer it would be deleted when it's not required anymore,
no?

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
[prev in list] [next in list] [prev in thread] [next in thread] 

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