Removed GTK2 compatibility shims from headers (fe-gtk.h, gtkutil.h), leaving direct GTK3-facing declarations/includes only (and platform-specific guards unrelated to GTK2 kept as-is).
Cleaned GTK2-specific comments/wording now that behavior is GTK3-native (menu accelerator note and emoji/userlist comment blocks).
Updated the GTK2 channel list context-menu icon path to use the same helper, removing direct gtk_image_new_from_stock usage for menu icons.
Updated the GTK2 spell-entry popup icon path to use gtkutil_image_new_from_stock, aligning it with the same menu icon set/mapping pipeline used elsewhere (data/icons/menu).
Unified plugin manager action icons to use zc-menu-load-plugin, zc-menu-delete, and zc-menu-refresh across platforms.
Unified channel list action icons to only use the zc-menu-* icon names (join/copy/find/refresh/save), matching data/icons/menu usage.
Unified spell-entry menu action icons to only use zc-menu-add, zc-menu-remove, and zc-menu-spell-check.
Updated GTK3 icon rendering paths in affected UI helpers to call gtkutil_image_new_from_stock(...), which is the path that resolves zc-menu-* resources correctly and consistently from data/icons/menu (instead of raw theme lookup).
Added new icons to the shared bundled menu icon set (light/dark) for copy, delete, add, remove, spell-check, and refresh, and registered them in the GResource manifest so they are always available at runtime.
Updated gtk_entry_find_position to use GTK3-safe layout offsets and cursor position APIs while preserving GTK2-only field access behind #if !HAVE_GTK3.
Added GTK3 icon-name macros and applied them to tab menu/search button icon usage in maingui.c, keeping GTK2 stock fallbacks intact.
Introduced GTK3 icon-name helpers and macro splits for server list buttons/connect controls in servlistgui.c.
Tightened GTK2/GTK3 icon macro separation in sexy-spell-entry.c.
Updated channel list icon menu items to convert stock icon IDs to GTK3 icon names with a fallback path.
Added a GTK3 icon-name fallback for spell entry menu items when building the icon/label box layout.
Unified the GTK3/GTK2 icon menu item construction branches in the channel list menu helper to match the GtkBox + GtkImage + GtkLabel pattern for GTK3 while preserving GTK2 behavior.
Aligned the spelling menu icon item helper with the same GTK3/GTK2 branching structure, keeping GTK2 GtkImageMenuItem intact.
Updated GTK3 create_icon_menu to build menu items with explicit image/label composition using icon names or pixbufs before packing into the box.
Adjusted GTK3 spell entry icon menu item to create the image only when an icon name is available.
Ensured chanlist GTK3 icon menu items always create images from icon names before packing with the mnemonic label.
Adjusted spell entry GTK3 icon menu items to create icon-name images for the boxed menu item layout.
Updated channel list icon menu items to build GTK3 menu items with GtkBox/GtkImage/GtkLabel while preserving GTK2 GtkImageMenuItem paths.
Updated sexy spell entry icon menu items to build GTK3 menu items with GtkBox/GtkImage/GtkLabel while preserving GTK2 GtkImageMenuItem paths
Guarded GTK3 chanlist icon menu item creation to handle missing icon names safely while still creating the boxed menu layout.
Applied the same GTK3 icon-name guard for the sexy-spell-entry menu items while preserving GTK2 code paths.
Added GTK3 helper builders for icon menu items in the channel list and spell entry menus, reusing them in the GTK3 branches while keeping GTK2 paths intact.
Updated the chanlist icon menu item to keep the GTK2 GtkImageMenuItem logic under #if !HAVE_GTK3.
Updated the spelling menu icon item to keep the GTK2 GtkImageMenuItem logic under #if !HAVE_GTK3.
Added GTK3 image null checks and explicit GTK3/GTK2 branching for chanlist icon menu items.
Added GTK3 image null checks and explicit GTK3/GTK2 branching for sexy spell entry icon menu items.
Expanded channel list icon menu items to handle GTK3 box-based layout and GTK2 image menu items in one helper, and used that helper for the context menu entries.
Unified sexy spell entry icon menu item creation across GTK versions, using stock IDs for both and centralizing the GTK3 box-based layout with GTK2 image menu items preserved.
Added a GTK3 helper for icon-name menu items and reused it when building stock icon menu entries.
Added a GTK3 helper for spelling-related menu items and reused it for add/ignore/suggestions entries.
Reworked GTK3 channel list context menu items to use GtkBox-packed images and mnemonic labels, preserving GTK2 behavior under !HAVE_GTK3.
Added GTK3 menu item layouts for spell entry actions and suggestion menu with icon-name images and mnemonic labels, while retaining GTK2 image menu items.
Updated setup color selection and styling to use RGBA-aware GTK3 overrides/CSS while preserving GTK2 behavior in guarded paths.
Switched tree view color models/renderers and other palette consumers (user list, notify, DCC, menus, spell entry, input style) to RGBA-aware types/properties with shared RGB16 conversion usage.
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.
- 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
- 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
- Background colour is only parsed when there's a comma
- Offset for background color is incorrectly calculated (there's no
control character, just a comma)