summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'kde-base/kmix/files/kmix-4.8.3-oss4.patch')
-rw-r--r--kde-base/kmix/files/kmix-4.8.3-oss4.patch112
1 files changed, 112 insertions, 0 deletions
diff --git a/kde-base/kmix/files/kmix-4.8.3-oss4.patch b/kde-base/kmix/files/kmix-4.8.3-oss4.patch
new file mode 100644
index 000000000000..da5e7ccf54dd
--- /dev/null
+++ b/kde-base/kmix/files/kmix-4.8.3-oss4.patch
@@ -0,0 +1,112 @@
+--- kmix/backends/mixer_oss4.cpp.org 2012-05-13 07:52:08.206663114 +0200
++++ kmix/backends/mixer_oss4.cpp 2012-05-13 09:08:36.277009292 +0200
+@@ -335,10 +335,13 @@
+ Volume vol (ext.maxvalue, ext.minvalue, false, isCapture);
+ vol.addVolumeChannels(chMask);
+
+- MixDevice* md = new MixDevice(_mixer,
++ MixDevice* md_ptr = new MixDevice(_mixer,
+ QString::number(i),
+ name,
+ cType);
++
++ shared_ptr<MixDevice> md = md_ptr->addToPool();
++ m_mixDevices.append(md);
+
+ if(isCapture)
+ {
+@@ -360,8 +363,6 @@
+ m_recommendedMaster = md;
+ masterChosen = true;
+ }
+-
+- m_mixDevices.append(md->addToPool());
+ }
+ else if ( ext.type == MIXT_HEXVALUE )
+ {
+@@ -369,10 +370,13 @@
+ Volume vol (ext.maxvalue, ext.minvalue, false, isCapture);
+ vol.addVolumeChannels(chMask);
+
+- MixDevice* md = new MixDevice(_mixer,
++ MixDevice* md_ptr = new MixDevice(_mixer,
+ QString::number(i),
+ name,
+ cType);
++
++ shared_ptr<MixDevice> md = md_ptr->addToPool();
++ m_mixDevices.append(md);
+
+ if(isCapture)
+ {
+@@ -388,8 +392,6 @@
+ m_recommendedMaster = md;
+ masterChosen = true;
+ }
+-
+- m_mixDevices.append(md->addToPool());
+ }
+ else if ( ext.type == MIXT_ONOFF
+ #ifdef MIXT_MUTE
+@@ -406,11 +408,15 @@
+ vol.setSwitchType (Volume::SpecialSwitch);
+ }
+
+- MixDevice* md = new MixDevice(_mixer,
++ MixDevice* md_ptr = new MixDevice(_mixer,
+ QString::number(i),
+ name,
+ cType);
+- if(isCapture)
++
++ shared_ptr<MixDevice> md = md_ptr->addToPool();
++ m_mixDevices.append(md);
++
++ if(isCapture)
+ {
+ md->addCaptureVolume(vol);
+ }
+@@ -418,8 +424,6 @@
+ {
+ md->addPlaybackVolume(vol);
+ }
+-
+- m_mixDevices.append(md->addToPool());
+ }
+ else if ( ext.type == MIXT_ENUM )
+ {
+@@ -431,9 +435,9 @@
+ {
+ Volume vol(ext.maxvalue, ext.minvalue,
+ false, isCapture);
+- vol.addVolumeChannel(VolumeChannel(Volume::MLEFT));
++ vol.addVolumeChannel(VolumeChannel(Volume::LEFT));
+
+- MixDevice* md = new MixDevice (_mixer,
++ MixDevice* md_ptr = new MixDevice (_mixer,
+ QString::number(i),
+ name,
+ cType);
+@@ -451,9 +455,10 @@
+ }
+ enumValuesRef.append( new QString(thisElement) );
+ }
+- md->addEnums(enumValuesRef);
+-
+- m_mixDevices.append(md->addToPool());
++ md_ptr->addEnums(enumValuesRef);
++
++ shared_ptr<MixDevice> md = md_ptr->addToPool();
++ m_mixDevices.append(md);
+ }
+ }
+
+@@ -477,7 +482,7 @@
+ m_isOpen = false;
+ int l_i_ret = ::close(m_fd);
+ m_mixDevices.clear();
+- m_recommendedMaster = NULL;
++ m_recommendedMaster.reset();
+ return l_i_ret;
+ }
+