Blob Blame History Raw
diff -ur phonon-4.2.0/phonon/globalconfig.cpp phonon-4.2.0-pulseaudio/phonon/globalconfig.cpp
--- phonon-4.2.0/phonon/globalconfig.cpp	2008-07-22 18:31:58.000000000 +0200
+++ phonon-4.2.0-pulseaudio/phonon/globalconfig.cpp	2008-08-10 20:04:22.000000000 +0200
@@ -28,6 +28,7 @@
 #include "phononnamespace_p.h"
 
 #include <QtCore/QList>
+#include <QtCore/QHash>
 #include <QtCore/QVariant>
 
 QT_BEGIN_NAMESPACE
@@ -158,6 +159,15 @@
                     | (defaultList.isEmpty() ? 0 : FilterHardwareDevices)
                     );
         }
+        // make PulseAudio the global default (assume it is already default in this list)
+        if (!list.isEmpty()) {
+            int firstIndex = list.first();
+            if (backendIface->objectDescriptionProperties(Phonon::AudioOutputDeviceType,
+                  firstIndex)["name"].toString() == "PulseAudio") {
+                list.removeFirst();
+                defaultList.prepend(firstIndex);
+            }
+        }
         defaultList += list;
     }
 
@@ -212,6 +222,15 @@
                     | (defaultList.isEmpty() ? 0 : FilterHardwareDevices)
                   );
         }
+        // make PulseAudio the global default (assume it is already default in this list)
+        if (!list.isEmpty()) {
+            int firstIndex = list.first();
+            if (backendIface->objectDescriptionProperties(Phonon::AudioCaptureDeviceType,
+                  firstIndex)["name"].toString() == "PulseAudio") {
+                list.removeFirst();
+                defaultList.prepend(firstIndex);
+            }
+        }
         defaultList += list;
     }