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
hexchat populates the single linked list `notify_list` defined in
`src/common/notify.c` from `notify.conf` file. Each new line read from
the file is added to the list by `g_slist_prepend()` which adds it to
the front of the list. But in `notify_save()` the list elements are read
from the start to end of the list and written to the `notify.conf`. This
means everytime hexchat is opened and closed, the contents of
`notify.conf` get reversed. This commit creates a
temporary glist in `notify_save()` and applies `g_slist_reverse()` on it
and writes the contents of this reversed list to `notify.conf`. And
solves issue #2680
added two flags to EXECWRITE and cmd_execw
-q : (quiet) to allow suppressing of additional (debug) output at the text box
-- : (stop parsing for further flags) for the edge cases where -q itself migh be part of used data and the user wants to show that at the text box
Closes#2666
Instead of wrapping around, which is not behaviour any reasonable
user would expect, just use the default port if above 65535.
Disallow connecting on port 0. This port has special meaning and
servers can not listen on it. It is more likely the user just
gave an invalid value to the port field as atoi("invalid") == 0.
This command doesn't have many legitimate, non-spam applications and is
easily confused for the similarly named 'wallops'. Moreover, many
netowrks now automatically punish or drop users who message many
channels at the same time, rendering the command mostly useless.
It also is too easy to tab-complete 'wall' into 'wallchan' when you
expect 'wallops' to come up first, which can lead to two very different
functions. If this is to be reintroduced it should be named something
with less similarity to 'wallops' or 'wallchops'.
Previously every build showed up in the CI as "build".
Update the job names to reflect what they are. For example the Ubuntu
build is now called "ubuntu_build"
Co-authored-by: Patrick <tingping@tingping.se>
OpenSSL 3.0 disables a number of "legacy" algorithms by default, and we
need to enable them manually using their provider system. Note that
explicitly loading a provider will disable the implicit default
provider, which is why we need to load it explicitly.
Closes#2629
Signed-off-by: Simon Chopin <simon.chopin@canonical.com>
V2:
* use a local OSSL_LIB_CTX to avoid leaking the legacy algorithms
into the main SSL context.
* Simplify the fish_init() error paths by calling fish_deinit()
- Don't have tests repeat themselves, meson has a `--repeat` flag
- Fix a minor leak of a GRand
- Speed up a test
- Increase timeout
This still needs a lot of improvements, it runs at lot of loops within
loops generating random strings that could be optimized. This means
it can take a very long time on some computers.
Closes#2629
The `PREFIX` key in `ISUPPORT` (usually) takes the form
`(modes)prefixes` e.g. `(ov)@+`. The current implementation will
therefore set `serv->nick_modes` to a string like `"(ov"` instead
of the desired `"ov"`. This causes the nick list to not properly
update with which users have which prefix modes. Skip over the
initial `'('` so we capture the correct modes and fix that issue.