Age | Commit message (Collapse) | Author |
|
This was done by running scripts/updateLicenseHeaders.py and then
manually editing the LICENSE file.
|
|
This is a follow-up on #4629 that also adds the BEFORE link option to
the x86 build of the overlay.
|
|
If a system for instance uses -z,now in their default build flags (as
Arch Linux does), it will overwrite the -z,lazy flag which however is
needed in order for the overlay to work with games that are not directly
linked with OpenGL.
By using the BEFORE keyword in cmake, we can prevent this from
happening.
This commit can be viewed as a follow-up for #3307.
Fixes #3296
|
|
Installation paths can now be fine-tuned by setting the respective
MUMBLE_INSTALLATION_* variables when invoking cmake.
Additionally some components that only had install rules for a certain
OS are now installed on all OSes as these components should be needed
there as well.
|
|
Installation paths can now be fine-tuned by setting the respective
MUMBLE_INSTALLATION_* variables when invoking cmake.
Additionally some components that only had install rules for a certain
OS are now installed on all OSes as these components should be needed
there as well.
|
|
Binaries on GNU systems usually contain both DT_HASH and the better DT_GNU_HASH.
In some cases DT_HASH is not present, mainly in order to save space that would otherwise be basically wasted.
Fixes https://bugs.gentoo.org/527504.
|
|
dlsym() is changed so that it returns NULL when the original dlsym() (odlsym()) is not available.
find_odlsym() is refactored:
- A segmentation fault was reported many years ago on Gentoo's bug tracker: https://bugs.gentoo.org/527504
Turns out it happens when DT_HASH is not available. The function didn't check whether the required tables existed.
This commit fixes the crash. Please note that support for DT_GNU_HASH is not added, it will be in a future commit.
- The function currently supports Linux and FreeBSD. Only the way the library is opened and some types change.
Because of that, this commit attempts to reduce the amount of duplicate code as much as possible.
- Correct types are now used, e.g. "uint32_t" instead of "int" for the number of chains.
- Other minor changes.
|
|
Before the overlay libraries and the related script would not be
installed. Instead the user would have to manually install them on the
system.
Closes: #4471
|
|
|
|
On Unix-systems (Linux & Mac) we now also install our man-files when
the user invokes the generated install target.
Fixes #4472
Co-Authored-By: Thomas Lange <thomas-lange2@gmx.de>
Co-Authored-By: Davide Beatrici <git@davidebeatrici.dev>
|
|
This commit removes all qmake-related build-files from the system. We
have now migrated to cmake and are no longer maintaining qmake anyways
and therefore there is no reason to keep it.
Removing it also clearly states to any potential user/programmer that
this project is no longer intended to be compiled with qmake.
Given that the .pri files no longer exist, the mumble-version.py script
had to be adapted to read the version from the CMakeLists.txt file
instead.
Furthermore a few of the submodules support cmake natively and therefore
we no longer need the src/buid-directory approach in order to build
them. The respective build dirs have been removed and the src-dirs have
been renamed.
|
|
|
|
|
|
|
|
The function was removed and there is no replacement: https://developer.apple.com/documentation/coregraphics/1562061-cgdisplayiscaptured
Retrieving the resolution directly from OpenGL is probably better anyway.
|
|
1.3.0 has been released. master now represents the current state of
development towards the next feature release 1.4.0.
Bugfixes for 1.3 will happen in the 1.3.x branch.
Compared to earlier version bumps we bump a lot more files because of
we produce more artifacts; overlay process, dll and exe split, etc.
This should have happened right after the 1.3.x branch was split off.
|
|
|
|
|
|
|
|
|
|
This fixes a crash in libmumble's library constructor when built against
the musl libc.
The code that locates libc's dlsym(3) relied on addresses in dynamic
entries in the link map returned by dlopen(3) to always be absolute.
This seems to be specific to glibc though, so add a glibc feature test.
|
|
Make them consistently two spaces indentation.
In two places a wrong indentation level was fixed.
|
|
|
|
|
|
This makes the check Qt 4-compatible.
|
|
This commit changes various pri and pro files to always prepend
the global build output directory (which can be either 'release'
or 'debug', depending on the current build configuration).
Otherwise, if a library that we build ourselves, such as -lspeex in
CONFIG+=bundled-speex, is also available in one of the other lib dirs,
we can't be sure that the one in our build output directory will be used.
This is a problem on FreeBSD, where we add /usr/local/lib
to the QMAKE_LIBDIR in compiler.pri. That directory might contain
its own -lspeex.
With this change, we now prefer libraries in our build output directory
to system libraries.
|
|
This ensures we use the Elf_Sym type instead of Elf64_Sym.
This makes the FreeBSD-specific code work on both 32-bit
and 64-bit targets.
Fixes mumble-voip/mumble#2122
|
|
GL_QUADS.
|
|
World of Warcraft masks all colors via glColorMaskIndexedEXT(0, 0, 0, 0, 0)
before we draw our overlay.
This broke overlay rendering on OS X when shadow quality was set
to anything greater than low.
This commit ensures that we allow drawing of colors to the main
framebuffer -- so we can draw the overlay properly.
Fixes mumble-voip/mumble#1010
Fixes mumble-voip/mumble#1561
|
|
GL_QUADS is deprecated in modern GL.
|
|
|
|
Refactor the code to find the RTLD's dlsym() symbol into a function,
find_odlsym(). Implement a FreeBSD-specific version of the code.
Verified against 'glxgears'.
|
|
|
|
|
|
|
|
Namely:
* fstat failure
* Dangerously large overlay texture size
|
|
This patch fixes various warnings encountered
in the build when using gcc 4.9.
|
|
GLX_WIDTH/GLX_HEIGHT availability.
You cannot query for GLX_WIDTH and GLX_HEIGHT using glXQueryDrawable in Mesa.
It simply fails with an error, and crashes the program:
X Error of failed request: GLXBadDrawable
Major opcode of failed request: 156 (GLX)
Minor opcode of failed request: 29 (X_GLXGetDrawableAttributes)
Serial number of failed request: 41
Current serial number in output stream: 41
The old check to only allow using glXQueryDrawable using GLX > 1.2
presumably worked for older Mesa versions, but now, Mesa advertises
GLX > 1.2.
That makes the overlay practically unusable when using Mesa.
This commit changes the code path to detect Mesa instead of GLX > 1.2,
and makes the overlay work correctly on Mesa once again.
|
|
Linking the overlay library with '-z now' requires all target
processes to have libGL symbols in them at load time.
If it doesn't, the program will not start at all.
Instead, explicitly use '-z lazy' to defer libGL symbol resolution
until first use, which is never for non-libGL users.
|
|
|
|
|
|
If the XDG_RUNTIME_DIR environment variable is present the overlay
pipe and RPC socket will be created at..
$XDG_RUNTIME_DIR/MumbleSocket
$XDG_RUNTIME_DIR/MumbleOverlayPipe
|
|
This commit removes macx/overlay and merges
the OS X overlay into the Unix overlay in
overlay_gl.
Most of the overlay logic is exactly the same,
with most of the differences being in the
initialization code and the addition of few new
messages for the interactive client-in-overlay
feature that the OS X overlay suports.
The initialization code is factored out into
init_unix.c for Unix-likes and init_mac.c
for OS X.
These init files are #included by overlay.c.
That is, they're not separate translation
units. Doing it this way cuts down on the
total LOC count and overall complexity of the
code.
The interactive overlay support is ported
directly from the OS X overlay. It's mostly
a matter of supporting a few new message types:
OVERLAY_MSGTYPE_PID and OVERLAY_MSGTYPE_INTERACTIVE.
The overlay_gl.pro file in this commit is mostly
just a combination of the .pro files of the two
overlays, with a minor difference in the CFLAGS
for the OS X overlay. In old OS X overlay, the
overlay had an ".m" file extension, signalling
that it is an Objective-C source file to the
C compiler. Since the combined overlay has a
".c" extension, "-x objective-c" is added to
CFLAGS on OS X to tell the compiler to compile
the overlay as Objective-C code.
|
|
* In one case, also split a long if statement into multiple lines
|
|
This is a fix for the OpenGL overlay which disables
and enables the vertex attrib arrays inside drawContext.
The problem it fixes is that some games leave some of
the arrays enabled between frames, which I think
(not an OpenGL expert) causes the input to the vertex
shader to essentially be arbitrary.
|
|
|
|
* mmap supposedly returns MAP_FAILED on errors, which is supposedly
defined in <sys/mman.h>, which is already being included in this file.
|
|
* commenting and adjusting debug output
* more descriptive varnaming
|
|
|
|
|