| Summary: | Now Listening plugin crashes or behaves strangly because of inconsistent commenting | ||
|---|---|---|---|
| Product: | [Unmaintained] kopete | Reporter: | Erik van 't Wout <erik> |
| Component: | general | Assignee: | Kopete Developers <kopete-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | ||
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
SVN commit 902769 by skyphyr: BUG: 178889 Noatun support is deprecated so we should tidy up unneeded references. M +0 -1 CMakeLists.txt M +3 -3 DESIGN M +1 -1 README D nlnoatun.cpp D nlnoatun.h M +1 -1 nowlisteningguiclient.cpp M +0 -2 nowlisteningplugin.cpp M +0 -1 nowlisteningpreferences.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=902769 |
Version: 4.1.85 (4.2 beta 2) (using Devel) Compiler: gcc-4.1.2 OS: Linux Installed from: Compiled sources While hacking around in the now-listening plugin, I found the following inconsistency in the sources (4.1.85), which can cause a crash, or strange behaviour: kdenetwork-4.1.85/kopete/plugins/nowlistening/nowlisteningplugin.cpp, lines 111-114: // set up known media players d->m_mediaPlayerList.append( new NLKscd() ); //d->m_mediaPlayerList.append( new NLNoatun() ); d->m_mediaPlayerList.append( new NLJuk() ); kdenetwork-4.1.85/kopete/plugins/nowlistening/nowlisteningpreferences.cpp, lines 53-56: // Fill the media player listbox. preferencesDialog->kcfg_SelectedMediaPlayer->insertItem(QString::fromUtf8("Kscd")); preferencesDialog->kcfg_SelectedMediaPlayer->insertItem(QString::fromUtf8("Noatun")); preferencesDialog->kcfg_SelectedMediaPlayer->insertItem(QString::fromUtf8("Juk")); Since Noatun support is disabled in *plugin.cpp and enabled in *preferences.cpp (and the whole thing is QList and index based), this will (in certain circumstances) cause the wrong plugin being used and in the worst case cause a crash (if the last plugin is selected in the configuration dialog).