diff options
author | Robert Adam <dev@robert-adam.de> | 2022-09-16 13:13:09 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-16 13:13:09 +0300 |
commit | d7baeb2f2a1b5346d1af0299e95923dbb3466937 (patch) | |
tree | b38e1eb5a01496f014de15cc7f6a08e5cf329416 | |
parent | eae16581d79974c45c187269c7fc217447b2f6bd (diff) | |
parent | 74979d0f0b798031981c67d66d28dcec56e04ca4 (diff) |
Merge PR #5889: Backport "BUILD: BSD fixes"1.4.x
-rw-r--r-- | docs/dev/build-instructions/cmake_options.md | 2 | ||||
-rw-r--r-- | src/ProcessResolver.cpp | 12 | ||||
-rw-r--r-- | src/mumble/AudioWizard.cpp | 10 | ||||
-rw-r--r-- | src/mumble/CMakeLists.txt | 9 |
4 files changed, 25 insertions, 8 deletions
diff --git a/docs/dev/build-instructions/cmake_options.md b/docs/dev/build-instructions/cmake_options.md index ae2d7f689..a64038493 100644 --- a/docs/dev/build-instructions/cmake_options.md +++ b/docs/dev/build-instructions/cmake_options.md @@ -256,7 +256,7 @@ Build support for global shortcuts from Xbox controllers via the XInput DLL. ### xinput2 -Build support for XI2 +Build support for XI2. (Default: ON) ### zeroconf diff --git a/src/ProcessResolver.cpp b/src/ProcessResolver.cpp index 8e4153f9c..f1bf90379 100644 --- a/src/ProcessResolver.cpp +++ b/src/ProcessResolver.cpp @@ -239,7 +239,7 @@ void ProcessResolver::doResolve() { # ifdef KVM_NO_FILES kvm_t *kd = kvm_openfiles(NULL, NULL, NULL, KVM_NO_FILES, error); # else - kvm_t *kd = kvm_openfiles(NULL, _PATH_DEVNULL, NULL, O_RDONLY, error); + kvm_t *kd = kvm_openfiles(NULL, _PATH_DEVNULL, NULL, O_RDONLY, error); # endif if (!kd) { @@ -250,7 +250,13 @@ void ProcessResolver::doResolve() { } int n_procs; +# if defined(__NetBSD__) + struct kinfo_proc *procs_info = kvm_getprocs(kd, KERN_PROC_ALL, 0, &n_procs); +# elif defined(__OpenBSD__) + struct kinfo_proc *procs_info = kvm_getprocs(kd, KERN_PROC_ALL, 0, sizeof(*procs_info), &n_procs); +# else struct kinfo_proc *procs_info = kvm_getprocs(kd, KERN_PROC_PROC, 0, &n_procs); +# endif if (!procs_info) { # ifndef QT_NO_DEBUG qCritical("ProcessResolver: kvm_getprocs() failed\n"); @@ -261,7 +267,11 @@ void ProcessResolver::doResolve() { } for (int i = 0; i < n_procs; ++i) { +# if defined(__NetBSD__) || defined(__OpenBSD__) + addEntry(procs_info[i].p_pid, procs_info[i].p_comm, m_processMap); +# else addEntry(procs_info[i].ki_pid, procs_info[i].ki_comm, m_processMap); +# endif } kvm_cleanup(kd); diff --git a/src/mumble/AudioWizard.cpp b/src/mumble/AudioWizard.cpp index 3c1e18d7e..d40e1fd7e 100644 --- a/src/mumble/AudioWizard.cpp +++ b/src/mumble/AudioWizard.cpp @@ -92,11 +92,6 @@ AudioWizard::AudioWizard(QWidget *p) : QWizard(p) { else qrbQualityCustom->setChecked(true); - quint32 iMessage = Settings::LogNone; - for (int i = Log::firstMsgType; i <= Log::lastMsgType; ++i) { - iMessage |= (Global::get().s.qmMessages[i] & (Settings::LogSoundfile | Settings::LogTTS)); - } - #ifdef USE_NO_TTS qrbNotificationCustom->setChecked(false); qrbNotificationCustom->setDisabled(true); @@ -104,6 +99,11 @@ AudioWizard::AudioWizard(QWidget *p) : QWizard(p) { qrbNotificationTTS->setDisabled(true); qrbNotificationSounds->setChecked(true); #else + quint32 iMessage = Settings::LogNone; + for (int i = Log::firstMsgType; i <= Log::lastMsgType; ++i) { + iMessage |= (Global::get().s.qmMessages[i] & (Settings::LogSoundfile | Settings::LogTTS)); + } + if (iMessage == Settings::LogTTS && Global::get().s.bTTS) qrbNotificationTTS->setChecked(true); else if (iMessage == Settings::LogSoundfile) diff --git a/src/mumble/CMakeLists.txt b/src/mumble/CMakeLists.txt index fbeb75dd8..48418cf5d 100644 --- a/src/mumble/CMakeLists.txt +++ b/src/mumble/CMakeLists.txt @@ -53,7 +53,14 @@ elseif(UNIX) option(pipewire "Build support for PipeWire." ON) option(pulseaudio "Build support for PulseAudio." ON) option(speechd "Build support for Speech Dispatcher." ON) - option(xinput2 "Build support for XI2" ON) + endif() + + # scripts/generate_cmake_options_docs.py does not cope with duplicate option() lines, + # so single out common options into combined conditions. + # https://github.com/mumble-voip/mumble/issues/5488 + if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR + ${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD") + option(xinput2 "Build support for XI2." ON) endif() endif() |