Summary: | Plasma crashes on opening a chat from contact list | ||
---|---|---|---|
Product: | [Unmaintained] telepathy | Reporter: | Martin Klapetek <mklapetek> |
Component: | text-ui | Assignee: | Telepathy Bugs <kde-telepathy-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | kde, kde |
Priority: | NOR | ||
Version: | git-latest | ||
Target Milestone: | 0.4.0 | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | Move registrar from ConversationClientObserver to TelepathyTextObserver |
Description
Martin Klapetek
2012-02-01 17:56:53 UTC
The weird thing is, that I removed the chat plasmoid from my panel few hours ago. Now when I started chat with someone who was in the plasmoid, plasma went down. I think that's actually key to this. If this plasmoid is started, you'll create all the telepathy objects I think ConversationClientObserver is "leaked", as the observer hold a reference to the clientRegistrar which holds a refernece ot the observer. So when you close the plasmoid these both stick around. When you delete the plasmoid TelepathyTextObserver is null, and the ConversationClientObserver::m_parent is now a dead pointer. Fixes needed: 1) fix the circular dependency in the ConversationClientObserver (move registrar to TelepathyTextObserver) 2) use a QWeakPointer on m_parent (and check before using) 3) rename one of these classes so it's not really really confusing. Damn, I didn't notice this bug was for the plasmoid till now. I did recall it had an issue where if you add the plasmoid to the desktop, then delete and re-add, it complains that KDE.TextUi.ConversationWatcher is already registered. So I suspected that they might not be getting deleted properly, but I didn't peruse at the time because that class was going to get completely overhauled soon anyway. Plus I tested this mostly in plasmoidviewer so it didn't really come up much. Created attachment 68509 [details]
Move registrar from ConversationClientObserver to TelepathyTextObserver
Right, I did as David suggested. Martin, can you please check if this patch fixes it?
Right, that seemed to do it. I'm closing this bug. |