summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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.patch37
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
++ );
+ }
+ }
+