Used place holder marks for PostgreSQL UPSERT values instead of positional binding since the statements require the values twice (once for the INSERT, and once for the UPDATE should the insert fail).
The values to use for the ON CONFLICT DO UPDATE part of the UPSERT have been prefixed with u_ .
This commit reverts to using REPLACE INTO for non-PostgreSQL databases and uses the same code for them as the upstream master mumble-voip/mumble.
Previously this branch used the same code for all databases. This commit uses if statements to treat PostgreSQL differently from other databases where it needs to use UPSERT instead of REPLACE INTO.
Change users table to have new column format.
Change slog table to have a default value of "now()" for column msgtime as other databases use triggers to add this value.
Revert database logging statement so that the timestamp is assigned by triggers or column default values.
If we detect a Windows program running through Wine,
we'll provide the name of the Windows executable in
the pids map.
This commit is part of bootstrapping an effort to
support Windows PA plugins on Linux for games running
in Wine.
This adds a new QComboBox subclass called MUComboBox
to widgets/MUComboBox.{cpp,h}.
This QComboBox subclass explicitly uses a QListView
as the backing view for the QComboBox.
This fixes various styling issues for QComboBox
on macOS.
By default on macOS, QComboBoxes are backed by
something that tries to emulate a native macOS
menu. However, that QAbstractItemView behaves
inconsistently when styled. For example, it does
not seem possible to set the size of individual
items, because they're restricted to the height
of a normal macOS menu item.
Also, in some cases (such as the QComboBox used
for the transmission picker in MainWindow's
QToolbar), the height of the QAbstractItemView
was also wrong when styled. This caused the combo
box to always scroll, even though it seemingly
was sized correctly.
To get consistent behavior, we use QListView as
the QComboBox's view in MUComboBox.
Also, at least for the default Mumble themes,
I've observed some weird eliding behavior for
the text of added items in the transmission picker
QComboBox in MainWindow's toolbar. Because of that,
for MUComboBox, we don't show ellipses by default.
This fixes the display of the combo box in the
MainWindow's toolbar.
Currently, Mumble has a restrictive message filter
that will filter away messages that are larger
than the screen. A filtered message is replaced with
the text "Text object too large to display".
This commit replaces the existing size filter.
Instead of using the screen size to determine
whether a message is too large to show, Mumble
now checks whether the area of the received
message exceeds 2048x2048.
For example, this will allow messages with
sizes such as 500x8388 or 1500x2796 -- or
simply 2048x2048. As long as the total area
of the rendered message does not exceed
2048x2048 -- in which case the
"Text object too large to display" will
be displayed.
Fixesmumble-voip/mumble#2467
Users can only detect private messages
if there is no prefix like “Channel” or “Tree”
in the messages.
This commit adds a prefix “Private” to the sender,
if MumbleProto::TextMessage contains a session value.
Fixesmumble-voip/mumble#2362
These strings from the registry are NUL terminated, but in practice, this
isn't guaranteed.
This means that the displayable version string for Windows 10 currently
contains NUL values.
The Mumble client doesn't care, but it isn't very nice. It breaks things
like CVP providers that don't sanitize Murmur's output.
To fix the problem, this change introduces a regString function that
converts a wchar_t string to QString. Any NUL value in the input
string will terminate the string.
Fixesmumble-voip/mumble#2469
The controller ID is shifted 24 bits, so the correct mask is
0x00ffffff.
Also, 0x00ffffffff (40 bits) should have been a red flag, since
we're working with uint32_t types here.
This fixes button names for Xbox controllers that are at indexes > 0.
It is possible for QTextDocument::size() to return
invalid sizes. For example, very big img tags with
sizes such as 33554451x33554451 cause QTextDocument
to return a QSizeF with a negative width or height.
This commits adds a call to QSizeF::isValid() to ensure
we treat QSizeFs with negative sizes as invalid.
Fixesmumble-voip/mumble#2477