This change fixes AudioOutput to use the float overload of std::abs:
float std::abs(float);
instead of a non-existant template version.
Fixesmumble-voip/mumble#3281
Needs-Backport: 1.2.x
Since we now build with a macOS target of 10.8 when
building against Qt 5.10, we get deprecation warnings
when calling gestalt.
The fix, for now, is to ignore deprecation warnings in
OSInfo on macOS.
This should be addressed in a better way in the future.
For that, mumble-voip/mumble#3290 has been filed.
Qt 5.10 uses features available only on macOS 10.8, such as
std::future<void>.
See the referenced issue for more information.
Fixesmumble-voip/mumble#3288
The comment block that justifies the use of Boost in GlobalShortcut_win
accidently stated that MinGW "does not support
boost:future/boost::promise", which is incorrect.
Fix the comment to say what was intended: that MinGW doesn't
support std::future/std::promise.
This change remove support for loading external images.
That is, this change ensures Mumble doesn't load images from tags in text messages,
comments and channel descriptions via HTTP or HTTPS.
With this change in place, Mumble only supports images that are embedded
in the message via data URLs.
GCC is concerned that we'll be writing to the memory of compat_layer_env
after we've assigned a string literal to it.
We won't, but make compat_layer_env const to soothe the compiler.
This PR includes two fixes for SRV port issues.
The first fix is for ServerResolver. The Qt 5 (SRV) version had a bug where resolved ServerResolverRecords would be created with `m_origPort`. In practice, this meant that Mumble would *always* use the port specified in the ConnectDialog record for the server. Typically, this would be 64738, the default port.
The second fix is somewhat related to the first. The ConnectDialog had a bug where it would use `ServerResolver::port()` instead of `ServerResolverRecord::port()` when constructing the list of resolved addresses for a ConnectDialog entry. Unfortunately, `ServerResolver::port()` is the "original port". That is, the port specified in the ConnectDialog entry. Once again, this meant that Mumble would display the wrong port to user: the one from the ConnectDialog entry instead of the resolved port. Typically, this would be the default port (64738).
Fixesmumble-voip/mumble#3267
This commit removes the architecture-specific headers, by keeping only the OS-specific ones.
The different headers were needed to keep the legacy Windows header, after we created the "procptr32_t" (4 bytes) and "procptr64_t" (8 bytes) variables.
We created these variables because the "peekProc" functions read as many bytes as the variable can hold. A pointer is 4 bytes on 32 bit platforms and 8 bytes on 64 bit ones.
Now there's a new variable, called "procptr_t" and with a size of 8 bytes (unsigned long long).
We had a "peekProc" template function which returned the value stored at the specified memory address, but it has been used only to read pointers so far.
Since we needed a new function that checks the process architecture and sets the correct size of the memory to read, I decided to "recycle" it.
This means the user can not copy a Mumble URL while the dialog is open
and fill in the data from it. Instead, he will have to close and reopen
the dialog.
This change is to prevent potential confusion in case the user reads the
fill suggestion, (briefly) switches tasks, and then has different data
in their clipboard. This would also change the suggested fill data,
potentially without the user noticing the change, and then confusion
about the filled data.
In a userbase of primarily gamers system instabilities aren't
that uncommon. Without synchronization of the user-db this can
lead to corruption of our client database storing the
user-certificate. We have had various reports of such issues
over time.
The current mode was set in 2010 in commit 9fee66e8 to speed
up the client-db "even more" though it is unclear whether we
actually had performance problems that required this step.
This patch switches the client synchronization mode from OFF
to NORMAL which according to the sqlite documentation will
leave a "very small" chance for database corruption but is
than the default FULL sync mode.
This commit should partially address issue #3254 by making
database corruption much more unlikely but detecting
corruption and/or handling DB backups are further possible
approaches if this change turns out to have unacceptable
performance or we get further reports of durability issues
with the clientside DB.
The OSX build uses brew, which has Ice 3.7 now, which changed the slice path. Add the new include path.
Ice 3.7 deprecates two functions we use, which produces deprecation warnings. As we handle warnings as errors, this fails the build. Replace the deprecated functions with their replacements, guarded by a precompiler Ice version check.