Also cast the check of "inet_addr" to guint32. The POSIX declaration
of this function returns in_addr_t which is the same as uint32_t.
Windows does not define this type and instead uses unsigned long.
So far, when configuring multiple spell check languages, Hexchat
requires the user to separate multiple entries with commas and
only commas. This patch allows users to also enter whitespace, e.g.
de_DE, en_US
as is common in many applications.
Previously the function signature was inconsistent throughout
src/fe-gtk/plugin-notification.{h,c}: One file had the signature
int(void), while the other had int(void *). Since this type mismatch
might lead to problems (especially with LTO) and the (possibly provided)
function argument isn't used in the function's definition, this commit
sets int(void *) as function signature for both the declaration and
definition of the function.
Fixes: https://github.com/hexchat/hexchat/issues/2726
This solves the issue where the parent dialog is closed and then
the child dialog is used.
This is however only a partial fix:
- Many other dialogs throughout the codebase do not currently have
parent windows and need to be refactored.
- Not all window managers respect modal so users can still trigger
bugs. We can be more defensive against this but it requires more
refactoring.
Closes#2686
Since hexchat already depends on GLib, it's better to use GProxyResolver
instead. This might use libproxy, or not, as appropriate.
P.S. This removes a memory safety issue because proxy_list is allocated
using malloc(), not g_malloc(), and therefore using g_strfreev() is
incorrect. The proper way to free the proxy list returned by libproxy
is to use px_proxy_factory_free_proxies() (but nobody does that because
it was added in libproxy 0.4.16, which is somewhat recent).
Windows builds of the GTK frontend use the pie flag to compile
hexchat.exe. Windows needs an explicit entrypoint when compiling with
--pie, otherwise an invalid executable is created.
This sets the entrypoint of the executable on Windows (as it is
currently set in the Visual Studio project files).
This fixes a critical build issue which prevents all Windows builds
using Meson from working.
winuser.h should never be included directly. windows.h should be included instead.
This fixes a critical build issue added in c5d47fc which makes all MinGW builds fail.
See #2403.