Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mumble-voip/mumble.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Adam <dev@robert-adam.de>2022-09-16 13:13:09 +0300
committerGitHub <noreply@github.com>2022-09-16 13:13:09 +0300
commitd7baeb2f2a1b5346d1af0299e95923dbb3466937 (patch)
treeb38e1eb5a01496f014de15cc7f6a08e5cf329416
parenteae16581d79974c45c187269c7fc217447b2f6bd (diff)
parent74979d0f0b798031981c67d66d28dcec56e04ca4 (diff)
Merge PR #5889: Backport "BUILD: BSD fixes"1.4.x
-rw-r--r--docs/dev/build-instructions/cmake_options.md2
-rw-r--r--src/ProcessResolver.cpp12
-rw-r--r--src/mumble/AudioWizard.cpp10
-rw-r--r--src/mumble/CMakeLists.txt9
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()