浏览代码

Merge pull request #7282 from Tugsav/linux_sound_crash_fix

fix for crash when no ALSA or Pulse installed on linux
Rémi Verschelde 8 年之前
父节点
当前提交
b59b37649a
共有 2 个文件被更改,包括 7 次插入0 次删除
  1. 5 0
      platform/x11/os_x11.cpp
  2. 2 0
      platform/x11/os_x11.h

+ 5 - 0
platform/x11/os_x11.cpp

@@ -1990,6 +1990,11 @@ OS_X11::OS_X11() {
 	AudioDriverManagerSW::add_driver(&driver_alsa);
 #endif
 
+	if(AudioDriverManagerSW::get_driver_count() == 0){
+		WARN_PRINT("No sound driver found... Defaulting to dummy driver");
+		AudioDriverManagerSW::add_driver(&driver_dummy);
+	}
+
 	minimized = false;
 	xim_style=0L;
 	mouse_mode=MOUSE_MODE_VISIBLE;

+ 2 - 0
platform/x11/os_x11.h

@@ -44,6 +44,7 @@
 #include "drivers/rtaudio/audio_driver_rtaudio.h"
 #include "drivers/alsa/audio_driver_alsa.h"
 #include "drivers/pulseaudio/audio_driver_pulseaudio.h"
+#include "servers/audio/audio_driver_dummy.h"
 #include "servers/physics_2d/physics_2d_server_sw.h"
 #include "servers/physics_2d/physics_2d_server_wrap_mt.h"
 #include "main/input_default.h"
@@ -168,6 +169,7 @@ class OS_X11 : public OS_Unix {
 #ifdef PULSEAUDIO_ENABLED
 	AudioDriverPulseAudio driver_pulseaudio;
 #endif
+	AudioDriverDummy driver_dummy;
 
 	Atom net_wm_icon;