Previously a child process was used on Unix and
a thread on Windows and they each communicated
with the main thread via pipes which includeded
platform specific code and upon closure on Windows
could result in crash.
Now a thread is used on all platforms with safer
ways of cancellation.
Little behavior should have been changed though timing
of print events are now after connecting finished which
might be a minor issue.
This Fixes possible crashes when the two
usertrees get out of sync and a double free occurs.
Also now requires restart to change sort orders.
Fixes#1252Fixes#818 (probably)
- Removes need to check for malloc failure
- Removes need for NULL checks on free
- Adds checks for integer overflows
- Removes some extra memset calls
- Removes chance of mixing libc and glib malloc/free
- Store openssl flags in own vars
- Share some common flags for plugins
- Fix building plugins on win32
- Store all glib flags in one var
- Don't link against every lib for each plugin
- Don't hardcode ldflags for sysinfo
- Fixes support for large files.
- Fixes filenames not being passed in the filename encoding.
- Drops openssl dependency.
- Code cleanup.
- Fix 'unknown command' warning.
Some might argue that this shouldn't be able to be configured as it is "common" behaviour
in other programs such as web browsers, but for me it is an annoyance because for 15
years this has not been the behaviour of X-Chat.
Quite simply, this creates a configuration option for 537fb856, as unobtrusively as
possible, under the channel switcher preferences tab.
Closes#1232
This is the C fix, unfortunately a proper fix, e.g.
removing the dependency on session_name all together is a much vaster
refactor outside the scope of this bugfix.
Closes#1111