Commit Graph
100 Commits
Author SHA1 Message Date
Arnavion 910851e04d perl: Fixed Windows build with VS2015u3. 2016-09-07 04:00:10 -07:00
Arnavion 16ba39d9fa Forcibly reset iconv converter after every conversion.
Despite what g_convert_with_iconv's docs say, it does not reset the converter on a failed conversion (iconv returns -1).

Fixes #1758
2016-06-24 12:09:35 -07:00
Arnavion 4ed1acfd52 Use constant instead of literal. 2016-06-24 12:05:37 -07:00
Arnavion a1d2272dc0 notifications-winrt: Fix all uses of "" to L"".
The API uses Platform::String^. String's constructor takes in char16*.

Fixes #1755
2016-06-21 07:39:50 -07:00
Arnavion d32aa65bc7 Ignore VS2015 crap. 2016-05-12 22:21:26 -07:00
Arnavion fe9da9314c Fixed warning from MSVC that not all branches return a value. 2016-04-27 11:39:29 -07:00
Arnavion 1c73f84f3a installer project needs to depend on lua plugin project. 2016-04-27 11:34:48 -07:00
Arnavion d48f31191f Updated location of GTK theme engines in 2.24.30. 2016-03-11 21:00:06 -08:00
Arnavion 089fe95a42 perl: Fixed warning about duplicate definition of bool. 2016-01-30 19:57:12 -08:00
Arnavion eab580408c installer: Fixed VS2015 CRT DLL name. 2015-11-26 00:05:38 -08:00
Arnavion 7f1ee9dad0 common: Moved some functions over from plugins/sysinfo that are useful for the rest of HC.
OS name, CPU, GPU, HDD info and build arch are now all available within core HC. OS name and build arch are used in the About dialog.
2015-10-12 19:20:53 +02:00
Arnavion f7e3d3f32c Use VS 2015 2015-10-10 16:14:12 -07:00
Arnavion 671a838b52 fe-gtk: Use manual registration for resources. 2015-10-10 16:14:07 -07:00
Arnavion 29321c8660 Fixed pango attributes not being applied in some cases.
gtk_entry_get_text_length returns the number of utf-8 characters in the GtkEntry, not the number of bytes in its text.
2015-04-25 16:51:29 -07:00
Arnavion 0b40146b85 Disable pango attributes on sexy entry while it contains preedit text.
Fixes #1360
2015-04-24 19:20:48 -07:00
Arnavion 98fefcd162 Switch from mozilla-build to msys2. 2015-03-15 19:06:29 -07:00
Arnavion fb422732f2 libenchant_win8 needs to depend on common to be able to use config.h 2015-03-08 12:47:03 -07:00
Arnavion 97bf0de016 Make Preferences option in plugin tray menu available on all platforms. 2015-02-27 17:33:33 -08:00
Arnavion b6c4cfa2a3 Fixed undefined behavior causing hover highlights on the plugin tray menu not working.
Fixes #602
2015-02-27 17:24:57 -08:00
Arnavion c1d06c7d63 Fixed cast warning, use of uninitialized buffer and whitespace. 2015-02-21 17:28:56 -08:00
Arnavion 363321dc33 Fixed installer not actually bundling libenchant_win8.dll because it wasn't made to depend on the project. 2015-02-21 03:17:44 -08:00
Arnavion 4d44c17939 Removed unused variables left behind from bbb81af 2015-02-21 03:14:32 -08:00
Arnavion 5b24c60def Win8+ native spell checking requires compiling with Win8 target.
Win8-specific features are still loaded dynamically, so HC still works the same on W7.
2015-02-21 03:12:27 -08:00
Arnavion e42da22716 Revert "xtext: Unselect old selection on button press" - breaks clicking URLs to open them.
This reverts commit 8ca96d7ea3.
2015-02-20 02:54:41 -08:00
Arnavion bbb81af550 Removed unnecessary Windows-only code for seeding openssl's RNG.
openssl seeds itself with CryptGenRandom on Windows in the same manner as /dev/(u)random on other OSes.
2015-02-14 00:31:41 -08:00
Arnavion a22816fbbd Don't try to disable compression if openssl hasn't been compiled with compression support.
The function is still defined in openssl/ssl.h but not in the actual library, so it cannot be linked to.
2015-02-14 00:30:00 -08:00
Arnavion 9858784eb6 Better project files.
- Output directly to rel\ instead of to bin\ and then copying files over.
- Deduped Win32 vs x64 configs
- Moved some common properties to hexchat.props
- All build intermediates (except htm's intermediates) are no longer emitted in the source directory
2015-02-11 10:01:29 -08:00
Arnavion 5a87d814cf Call CoInitialize, CoInitializeSecurity and CoUninitialize from the main process, not from a DLL.
They're process-level functions and aren't meant to be called from DLLs. CoInitSecurity in particular fails with RPC_E_TOO_LATE even if no other call to CoCreateInstance has been made yet.

Fixes sysinfo's WMI calls on Windows 8.1 and above.
2015-02-10 22:14:22 -08:00
Arnavion dc9a7d3a59 sysinfo: Fix braindead logic for stripping spaces from the end of the OS name. 2015-01-31 21:29:10 -08:00
Arnavion 1d83610341 Save iconv converters for input and output in the server.
These are then used with g_convert_with_iconv instead of making it create a new iconv converter every time for the given from-to-encoding pairs.
2015-01-31 00:52:31 -08:00
Arnavion 5dde0d7c6d Also verify encoding read from servlist.conf 2015-01-31 00:52:30 -08:00
Arnavion 9968bb31a4 sysinfo: Strip spaces from the end of the OS name, if any, and ensure a space between name and arch. 2015-01-31 00:52:30 -08:00
Arnavion c5bbf75f5e Removed one leftover check for server->encoding against NULL. 2015-01-18 02:55:32 -08:00
Arnavion b783c827c8 Fixed incorrect comment on server->encoding. 2015-01-18 02:27:38 -08:00
Arnavion d1897c1602 Remove "System default" encoding. The default for new servers is UTF-8. 2015-01-18 02:10:05 -08:00
Arnavion 6f8a6e66cc Detect unknown server encodings and set to UTF-8. 2015-01-18 02:10:05 -08:00
Arnavion 5749c53484 Server line text-encoding-related fixes.
- Handle server lines that contain sequences which are invalid in the server encoding. Previously, these would cause the whole line to be interpreted in ISO-8859-1, but now they're simply replaced with an appropriate replacement character.

- Removed prefs.utf8_locale.

- Change default server encoding from system locale to UTF-8.

- Always populate server->encoding with a non-null value - UTF-8.

Fixes #1198
2015-01-18 02:10:04 -08:00
Arnavion 5569205d15 Add CP1252 as an available server encoding for Windows-1252 and ISO-8859-1 networks. 2015-01-18 02:10:04 -08:00
Arnavion 2e76a4e477 Removed CP1255-specific handling of server lines.
GLib's API is good enough now.
2015-01-18 02:10:03 -08:00
Arnavion ee17ec6b4f Removed legacy "IRC" encoding. 2015-01-18 02:10:03 -08:00
Arnavion 5a56f9ea01 Removed unimplemented, unused function. 2015-01-14 23:42:21 -08:00
Arnavion e400ed2855 Fixed bad const-cast. 2015-01-14 21:38:19 -08:00
Arnavion 1d316710ed Don't crash if the log file can't be opened.
Found in #1269
2015-01-14 16:29:03 -08:00
Arnavion 99f74e8d94 Also print the command that wasn't recognized. 2015-01-07 13:42:42 -08:00
Arnavion 62df565190 sysinfo: Also show HDD information. 2015-01-05 03:57:59 -08:00
Arnavion 4f08b0b386 sysinfo: Don't confuse build architecture with CPU architecture. 2015-01-04 16:54:15 -08:00
Arnavion 5b8cc683f3 sysinfo: Refactored out individual WMI parsing methods. 2015-01-04 15:08:45 -08:00
Arnavion e758da5d28 Bring the sysinfo plugin to the 21st century.
- Support multiple CPUs and graphics adapters in the WMI responses.
- Query max CPU frequency from WMI instead of registry.
- Support uptimes longer than 50 days.
- Don't report using /ME in notice and server notice tabs.
- Convert to C
2015-01-03 15:26:05 -08:00
Arnavion ec7a0d6e13 Fixed some more signed-unsigned-comparison warnings. 2014-12-15 10:25:28 -08:00
Arnavion ac01ba9cb0 perl: Fixed warning about implicitly casting the time_t returned from hexchat_list_time() to an NV. 2014-12-14 13:31:19 -08:00
Arnavion 99a1fff590 Removed unused hexchat_filename_*_utf8 macros. 2014-12-08 21:30:02 -08:00
Arnavion 65c8494698 Removed some unnecessary casts. 2014-12-08 21:25:00 -08:00
Arnavion 2b94011fdc Removed some commented-out code. 2014-12-08 21:25:00 -08:00
Arnavion 2da5308fd2 Fixed leak of filename string. 2014-12-08 21:25:00 -08:00
Arnavion c1831cb19d Minor tidying up 2014-12-08 21:24:59 -08:00
Arnavion 65da34f19e Removed some unnecessary null-checks for calls to g_free and g_strfreev 2014-12-08 21:24:59 -08:00
Arnavion b7afcc3632 Don't leak filename_fs on errors. 2014-12-08 21:24:58 -08:00
Arnavion 5152040c17 Always use 64-bit filesize and file offsets in DCC.
Based on LRN's commit for replacing stat with GFileInfo https://github.com/hexchat/hexchat/commit/32008bb

Fixes #382
2014-12-06 14:02:45 -08:00
Arnavion 985ea610e6 Store timer hook's timeout as milliseconds. 2014-12-04 04:06:38 -08:00
Arnavion 8062bce835 Fix some obvious type warnings. 2014-12-04 04:06:38 -08:00
Arnavion e8fb2dde56 Fixed instances of hexchat_printf that unsafely used a string parameter as a format string.
Fixes #1153
2014-09-25 00:54:38 -07:00
Arnavion a9a6cbda4e win32: Fixed build break due to 7a4a024 2014-09-17 13:00:11 -07:00
Arnavion e209e55e59 Use PlaySoundW to play sounds on Windows.
Fixes #1133
2014-09-13 00:23:44 -07:00
Arnavion ad2300f236 Correctly open URLs with non-ASCII characters on Windows.
Fixes #1023
2014-09-13 00:22:48 -07:00
Arnavion a38892ff3b Use GFile API in gtkutil_check_file instead of stat/access.
The latter functions expect codepage-encoded filenames on Windows but GLib's API returns filesystem-encoded paths, which on Windows are UTF-8. GLib API should be used to deal with GLib API results.

Also fixed leaks in two of the callers of gtkutil_check_file()

Fixes #968
2014-08-20 12:50:08 -07:00
Arnavion 7c2c8b1403 Fixed expand_homedir to handle paths like "~user" correctly. 2014-07-28 14:49:14 -04:00
Arnavion 5fee31b1f0 Use the right API to get the path to Roaming AppData and Downloads directories, and actually convert it to utf-8 instead of using it directly. 2014-04-21 09:58:04 -07:00
Arnavion e4413e0178 Don't convert the result of g_get_user_name / g_get_real_name from locale to utf-8 on Windows. They return utf-8 already. 2014-04-21 09:16:13 -07:00
Arnavion dc27640265 Use utf-8 variant of strftime to format log file paths.
strftime assumes the format string is in locale encoding, which mangles log file paths that are in utf-8.

Fixes #767
Fixes #945
2014-04-21 01:39:28 -07:00
Arnavion 99ee7b6ef8 win32: Quote paths when invoking glib-compile-resources.exe
Also escape the trailing backslash in DataDir since otherwise it escapes the double-quote after it.
2014-03-18 11:05:54 -07:00
Arnavion 4cc764256c win32: Powershell.exe absolutely needs "-File" when running scripts or else it parses arguments with spaces as separate parameters. 2014-03-18 10:44:53 -07:00
Arnavion 71e54854ec win32: Updated Python dependencies to 2.7.6 and 3.3.4 2014-02-28 01:11:18 -08:00
Arnavion 599b9b0379 configure.ac: Actually check the CFLAGS and LDFLAGS returned by ExtUtils::Embed before deciding to compile the Perl plugin.
- openSUSE has ExtUtils::Embed, EXTERN.h and perl.so in the base perl package.
- Fedora has ExtUtils::Embed in a separate perl-devel package.
- Mageia has ExtUtils::Embed in the base perl package but EXTERN.h in a separate perl-devel package. Without this package, the compiler complains about the missing header.
- Debian has ExtUtils::Embed and EXTERN.h in the base perl package but perl.so in a separate libperl-dev package. Without this package, gcc compiles successfully but complains at link-time about -lperl (ExtUtils::Embed returns '-lperl' in ldopts but it's not actually installed).

configure.ac already requires ExtUtil::Embed to enable perl. To handle the case of Mageia and Debian, this change uses AC_TRY_LINK to verify that the flags returned by ExtUtils::Embed can actually be used to compile before deciding to enable the perl plugin.
2014-01-13 18:27:32 -08:00
Arnavion 2bd1c3f99d Fixed whitespace. 2013-12-27 19:50:50 -08:00
Arnavion c531db4714 fe-gtk: Fixed notification balloons for PMs not getting displayed if blinking tray icons for PMs is unchecked. 2013-12-27 19:41:18 -08:00
Arnavion c7bf4b0474 Replaced use of T4 templates with PS-based templates.
TextTransform.exe is not available with Express versions of Visual Studio.
2013-12-27 12:05:07 -08:00
Arnavion 39aec3a45b installer: Use correct path to iscc.exe depending on the platform. 2013-11-03 14:46:13 -08:00
Arnavion e8282d97f1 fe-gtk: Quote path to glib-compile-resources.exe 2013-11-03 14:24:49 -08:00
Arnavion 2e75068c7c Use correct path to TextTransform.exe depending on the platform. 2013-11-03 14:16:11 -08:00
Arnavion e2edbfe47d win32: Use version information from configure.ac to populate the Windows-specific files that need it - config-win32.h, version.txt, hexchat.rc, hexchat.iss
This is done via T4 templates. The original files are now generated at build-time and so have been added to .gitignore and removed from the repository, with the exception of version.txt which must be hosted on GitHub for the updater plugin.
2013-10-12 18:41:27 -07:00
Arnavion 0061cd38d0 win32: Make all projects depend on common so that common is always run before any others. 2013-10-12 18:41:27 -07:00
Arnavion fa955a0f1a Don't try to update the clear button state when there's no DCC window. 2013-10-03 17:43:44 -07:00
Arnavion 648de4410c plugins: fishlim: VS2013 comes with a working stdbool.h 2013-09-15 15:08:40 -07:00
Arnavion 4a95b07ae7 python: Set VERSION using existing VERSION_MAJOR and VERSION_MINOR macros and some mintor refactoring. 2013-07-30 22:54:57 -07:00
Arnav Singh ac5771377e fe-gtk: Only escape notification bodies for notification servers that support "body-markup". 2013-06-28 00:14:54 -07:00
Arnavion 863dc2e841 docs: Typo. 2013-06-27 10:53:29 -07:00
Arnavion 59b9ee3417 plugins: Implemented get_info("password") and re-added get_info("nickserv") as an alias to that. 2013-06-23 11:39:12 -07:00
Arnavion c7d1102c61 perl: Fixed get_list('networks') to work with new servlist.conf syntax for autojoin channels. 2013-06-22 22:06:49 -07:00
Arnav Singh e1ce1c90f7 configure.ac: Use pkg-config's CFLAGS for libxml2 instead of guessing our own. 2013-06-01 13:46:33 -07:00
Arnavion 5c9652bf13 python: Hold a reference to plugin instead of dereferencing hook to get to it.
hook might have been free'd by the callback via hexchat.unhook().
2013-05-14 01:25:01 -07:00
Arnavion 07bc467d03 win32: Moved PlatformToolset configuration to individual project files. It should be set before setting other properties or importing other props.
This fixes the broken GUI Platform Toolset indicator, as well as VS compilation itself if another version such as 2010 was also installed.
2013-04-25 21:03:03 -07:00
Arnavion b07e5fafaf win32: Fixed YourDepsPath. 2013-04-11 21:59:58 -07:00
Arnavion e0a7f0ae59 Fixed compiler error. 2013-04-04 01:56:40 -07:00
Arnav Singh 6ec040f5c9 utf8-everywhere: Forgot the g_free's and the g_unlink / g_rename. 2012-11-12 00:06:05 -08:00
Arnav Singh aab041da91 utf8-everywhere: Derp. 2012-11-11 19:54:47 -08:00
Arnav Singh ed26917691 utf8-everywhere: Fixed some remaining C file I/O API calls to use the glib API. 2012-11-11 19:34:09 -08:00
Arnav Singh d142c74c15 Fix erroneous DCC file names and crash upon aborting 2012-11-05 03:04:08 +01:00
Arnavion b969665e47 utf8-everywhere: Fixed log_write to use access instead of g_access. 2012-11-04 09:27:15 -08:00
Arnavion 6560e6365a utf8-everywhere: Scrollback-loading code thought the first word of every message was part of the timestamp because of a missing space. 2012-11-04 09:11:41 -08:00
Arnavion 6602e6a7c5 utf8-everywhere: Fixed crash when passing in a config directory using -d 2012-11-03 22:32:33 -07:00