diff options
Diffstat (limited to 'app-cdr/k3b/files/2.0.1-fix-crash-with-qt-4.7.0.patch')
-rw-r--r-- | app-cdr/k3b/files/2.0.1-fix-crash-with-qt-4.7.0.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/app-cdr/k3b/files/2.0.1-fix-crash-with-qt-4.7.0.patch b/app-cdr/k3b/files/2.0.1-fix-crash-with-qt-4.7.0.patch new file mode 100644 index 000000000000..a99b5c639cae --- /dev/null +++ b/app-cdr/k3b/files/2.0.1-fix-crash-with-qt-4.7.0.patch @@ -0,0 +1,37 @@ +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 ++ ); + } + } + |