Commit Graph

7256 Commits

Author SHA1 Message Date
Mikkel Krautz
29ebd2beff Build PlatformCheck into all test binaries. 2018-01-04 11:21:43 +01:00
Mikkel Krautz
3c400f4f02 Add PlatformCheck class, for runtime platform detection. 2018-01-04 11:21:23 +01:00
Mikkel Krautz
3ffd9ad3ed
Merge PR #3291: 2018: Happy New Year 2018-01-02 00:07:26 +01:00
Mikkel Krautz
d007191a57 Re-generate MurmurIceWrapper.cpp via scripts/mkwrapper.pl. 2018-01-01 23:30:18 +01:00
Mikkel Krautz
acb43a24c8 Update copyright years in about dialogs for Mumble and Murmur. 2018-01-01 23:10:54 +01:00
Mikkel Krautz
cc88443d6c Update src/licenses.h via scripts/mklic.pl. 2018-01-01 23:10:04 +01:00
Mikkel Krautz
23261e2959 Update copyright years in .plist and .rc files. 2018-01-01 23:09:16 +01:00
Mikkel Krautz
f6ba3a52bf Auto-update LICENSE.header in source files. 2018-01-01 23:05:37 +01:00
Mikkel Krautz
4c69e1df62 LICENSE, LICENSE.header: add 2018 to the copyright range. 2018-01-01 22:00:59 +01:00
Mikkel Krautz
caa187373e
Merge PR #3287: AudioOutput: do not use non-existant template version of std::abs. 2017-12-31 16:46:03 +01:00
Mikkel Krautz
6ca110a222 src/tests: add TestStdAbs test.
This adds a 'just-in-case' test for correct runtime behavior of std::abs's
float overload.
2017-12-31 13:19:59 +01:00
Mikkel Krautz
a221fedfd3 mumble_pch.hpp: explicitly include <cmath>.
Previously, we implicitly relied on <cmath> being included
by some other header.

Make it explicit.
2017-12-31 13:19:59 +01:00
Mikkel Krautz
ea861fe867 AudioOutput: do not use non-existant template version of std::abs.
This change fixes AudioOutput to use the float overload of std::abs:

    float std::abs(float);

instead of a non-existant template version.

Fixes mumble-voip/mumble#3281

Needs-Backport: 1.2.x
2017-12-31 13:19:59 +01:00
Mikkel Krautz
ab5ecba0a1
Merge PR #3289: qmake/compiler.pri: target macOS 10.8 when building against Qt 5.10 or above.
Qt 5.10 uses features available only on macOS 10.8, such as
std::future.

See the referenced issue for more information.

Fixes mumble-voip/mumble#3288
2017-12-31 13:19:11 +01:00
Mikkel Krautz
7ed03e686f OSInfo: ignore deprecation warnings for Gestalt.
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.
2017-12-31 11:43:57 +01:00
Mikkel Krautz
da3222d721 qmake/compiler.pri: target macOS 10.8 when building against Qt 5.10 or above.
Qt 5.10 uses features available only on macOS 10.8, such as
std::future<void>.

See the referenced issue for more information.

Fixes mumble-voip/mumble#3288
2017-12-31 01:39:49 +01:00
Davide Beatrici
742a5d98b5
Merge PR #3276: GlobalShortcut_win: fix std::/boost:: confusion in comment. 2017-12-02 22:58:53 +01:00
Mikkel Krautz
53912f6d56 GlobalShortcut_win: fix std::/boost:: confusion in comment.
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.
2017-12-02 21:40:44 +01:00
Davide Beatrici
6bfd039250
Merge PR #3272: ManualPlugin.cpp: "MublePluginQt" -> "MumblePluginQt" 2017-11-30 21:05:13 +01:00
davidebeatrici
60d18cde32 ManualPlugin.cpp: "MublePluginQt" -> "MumblePluginQt" 2017-11-29 17:47:29 +01:00
Mikkel Krautz
3125439740
Merge PR #3168: Log: remove support for external images.
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.
2017-11-26 23:46:47 +01:00
Mikkel Krautz
24e437c68a
Merge PR #3230: overlay_gl: linux: only assume absolute dynamic entries on glibc. 2017-11-26 23:45:45 +01:00
Mikkel Krautz
2d895067a5
Merge PR #3270: Assorted MinGW fixes 2017-11-26 23:13:30 +01:00
Mikkel Krautz
b65b55c659 mumble.pro: add correct Boost libraries to LIBS, now that we use boost_thread in GlobalShortcut_win. 2017-11-26 22:29:00 +01:00
Mikkel Krautz
fa981e52ab os_early_win: make compat_layer_env const to avoid GCC writable strings error.
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.
2017-11-26 21:33:13 +01:00
Mikkel Krautz
ba2a2023a0 os_early_win: use 0 instead of NULL for ulOptions DWORD parameter in RegOpenKeyEx. 2017-11-26 21:31:45 +01:00
Mikkel Krautz
e91f282aeb GlobalShortcut_win: use boost::future/boost::promise instead of std:: variants for better MinGW compatibility.
Fixes mumble-voip/mumble#3239
2017-11-26 21:29:32 +01:00
Mikkel Krautz
48f3eb94ee
Merge PR #3268: Fix SRV port bugs in ServerResolver and ConnectDialog
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).

Fixes mumble-voip/mumble#3267
2017-11-26 16:52:54 +01:00
Mikkel Krautz
7acf687b24 ConnectDialog: use port from ServerResolverRecord instead of original port from ServerResolver::port().
This caused the ConnectDialog to show the wrong resolved port
for servers resolved using SRV records.
2017-11-26 15:51:37 +01:00
Mikkel Krautz
04a8a5db81 ServerResolver: fix bug where ServerResolver_qt5 would always pass on the original port given to the resolver.
Instead of using the port from the QDnsServiceRecord, the
srvResolved() slot used m_origPort. Oops.

Fixes mumble-voip/mumble#3267
2017-11-26 12:33:38 +01:00
Davide Beatrici
fba1d65b3e
Merge PR #3262: Plugins: Determine correct pointer size automatically, without the need of specific headers and variables 2017-11-19 23:01:06 +01:00
davidebeatrici
2a51c7bff6 Accomplish changes in all the plugins 2017-11-19 21:48:55 +01:00
davidebeatrici
f397c40982 Replace legacy header with the new one
This commit removes the legacy header, with the new one taking its name.
2017-11-19 21:48:55 +01:00
davidebeatrici
7286fb0f68 Determine correct pointer size automatically, without the need of specific headers and variables
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.
2017-11-19 21:48:49 +01:00
Davide Beatrici
8bf71ba16d
Merge PR #3264: Ignore "target_wrapper.sh", ".directory" and all files with ".Debug" and ".Release" extensions 2017-11-13 20:00:53 +01:00
Davide Beatrici
ea08127785 Ignore "target_wrapper.sh", ".directory" and all files with ".Debug" and ".Release" extensions 2017-11-12 23:14:15 +01:00
Jan Klass
d25feb70ff Update theme submodule for changes of PR #3182 2017-11-11 20:35:43 +01:00
Davide Beatrici
3eae0dc667
Merge PR #3182: Allow Prefilling Add Server Dialog With HTTP URLs 2017-11-11 18:40:55 +01:00
Jan Klass
2a4413ea0c Do not update fill suggestion on clipboard changes
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.
2017-11-11 17:26:24 +01:00
Davide Beatrici
894ade2a33
Merge PR #3257: ServerHandler.cpp: Remove "Qt::QueuedConnection" attribute for connection between "readyRead()" and "udpReady()" 2017-10-28 03:02:31 +02:00
davidebeatrici
1121ef91d1 ServerHandler.cpp: Remove "Qt::QueuedConnection" attribute for connection between "readyRead()" and "udpReady()"
It causes Mumble's UDP system to not work properly on Linux, for a currently unknown reason.

Fixes issue #3256.
2017-10-28 02:05:59 +02:00
Stefan Hacker
53c5a91725 Merge pull request #3255 from hacst/clientdbdurability
Switch client DB to sqlite synchronization mode NORMAL
2017-10-22 22:56:51 +02:00
Stefan Hacker
12de49ebb4 Switch client DB to sqlite synchronization mode NORMAL
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.
2017-10-22 22:37:31 +02:00
Davide Beatrici
d2943a5f01 Merge PR #3250: Fixed crashing on disconnect 2017-10-17 20:22:38 +02:00
Davide Beatrici
04c05785ca Merge PR #3252: Check ClientUser pointer before dereference 2017-10-17 20:17:06 +02:00
pchk
c45957d340 Fixed crashing on disconnect 2017-10-17 21:10:47 +03:00
pchk
86f7815471 Check ClientUser pointer before dereference 2017-10-17 21:00:45 +03:00
Jan Klass
a8d8c136b6 Merge PR #3249: Fix travis OSX build 2017-10-15 21:44:42 +02:00
Jan Klass
ed06886632 Fix travis OSX build
Using brew to install now fails because of an incompatible ruby version.

Update brew before installing a package to work around this.

https://github.com/travis-ci/travis-ci/issues/8552
2017-10-15 20:05:45 +02:00
Jan Klass
e03989ec0b Merge PR #3240: Fix travis osx build; Add Ice 3.7 support
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.
2017-10-15 16:37:43 +02:00