k3b/k3b-2.0.1-qt47_settings_crash.patch

38 lines
1.5 KiB
Diff

Index: src/option/k3bpluginoptiontab.cpp
===================================================================
--- src/option/k3bpluginoptiontab.cpp (revision 1168967)
+++ src/option/k3bpluginoptiontab.cpp (working copy)
@@ -43,12 +43,28 @@
layout->addWidget( label );
layout->addWidget( pluginSelector );
+ // find all categories
+ QHash<QString, QString> categoryNames;
+
foreach( K3b::Plugin* plugin, k3bcore->pluginManager()->plugins() ) {
- kDebug() << "Adding plugin" << plugin->pluginInfo().name();
- pluginSelector->addPlugins( QList<KPluginInfo>() << plugin->pluginInfo(),
+ categoryNames[ plugin->category() ] = plugin->categoryName();
+ }
+
+ // add all plugins in each category
+ foreach( const QString &category, categoryNames.keys() ) {
+ QList<KPluginInfo> plugins;
+
+ foreach( K3b::Plugin* plugin, k3bcore->pluginManager()->plugins() ) {
+ if ( plugin->category() == category ) {
+ plugins << plugin->pluginInfo();
+ kDebug() << "Adding plugin" << plugin->pluginInfo().name();
+ }
+ }
+ pluginSelector->addPlugins( plugins,
KPluginSelector::ReadConfigFile,
- plugin->categoryName(),
- plugin->category() );
+ categoryNames[ category ],
+ category
+ );
}
}