Commit Graph

4230 Commits

Author SHA1 Message Date
747a1dca97 I made a targeted fix for the Plugins/Scripts Load button on Windows: before issuing LOAD ..., the selected file path is now copied and normalized to forward slashes (\ → /) under #ifdef WIN32, then quoted if needed. This keeps Linux behavior unchanged and avoids Windows path parsing issues in the command path.
The load dialog wiring remains the same (same callback and filters), only the command path construction was hardened.
2026-02-15 22:13:13 -07:00
16f2c6cc0d Updated Windows sysinfo HDD querying to use Win32_LogicalDisk filtered to local fixed drives (DriveType = 3) instead of Win32_Volume, with an inline comment explaining this avoids provider/RPC probe failures (such as Plan9/WSL-backed providers) seen in debugger sessions.
Updated the HDD size property read from WMI from Capacity to Size so it matches the new Win32_LogicalDisk query schema.
2026-02-15 16:51:11 -07:00
b569d24cd1 Added a new Windows-only startup helper, win32_set_gsettings_schema_dir(), that sets GSETTINGS_SCHEMA_DIR to <install-dir>/share/glib-2.0/schemas when the environment variable is not already set and the directory exists. This is intended to prevent GTK/GSettings initialization failures (like the file chooser crash path you shared).
Called that helper in fe_args() before gtk_init() on Windows so schema resolution is configured early in process startup.
2026-02-15 16:37:51 -07:00
7f4ffdb1e5 Added defensive path validation in gtkutil_file_req() so the file chooser only receives existing directories for initial/current folder setup, with fallback to get_xdir() when the requested folder is invalid. This is aimed at preventing the Windows crash that occurs immediately on pressing the Plugin GUI Load button (before file selection).
Wrapped shortcut-folder setup with existence checks and explicit GError handling so invalid config paths don’t propagate into GTK chooser failures/crashes on Windows.
Removed an unused get_xdir_fs extern declaration from this function while introducing a single xdir value reused across chooser setup logic.
2026-02-15 16:15:25 -07:00
60c05710b1 Reviewed src/fe-gtk/plugingui.c and fixed several crash-prone assumptions in the plugin GUI code path that can surface on Windows during plugin load/unload lifecycle edges:
Added type guards before using the stored plugin view/model (GTK_IS_TREE_VIEW, GTK_IS_LIST_STORE) so stale or unexpected object data doesn’t get dereferenced.
    Switched plugin list population to always pass non-null strings for name/version/description via plugingui_safe_string, preventing null string propagation into GTK model setters.
    Added an unload guard for empty/null modname before calling unload logic, preventing unsafe calls into plugin teardown paths with invalid identifiers.
2026-02-15 15:57:19 -07:00
3e59822753 Reviewed the plugin GUI code path and fixed two crash-prone null-handling cases that are especially risky on Windows plugin metadata paths:
fe_pluginlist_update() now guards against pl == NULL, pl->version == NULL, and pl->filename == NULL before dereferencing, and uses safe empty-string fallbacks for filename-backed columns. This prevents null dereferences from malformed or partially-populated plugin entries.
plugingui_unload() now early-returns when the selected plugin filepath is NULL/empty before suffix checks and command formatting, preventing invalid string operations in unload flow.
2026-02-15 15:41:28 -07:00
47a9729737 Added a new session guard helper for the plugin GUI so addon commands only run when there is a valid active session, and emit a user-facing error otherwise. This prevents handle_command() calls with an invalid/null session context (a likely crash path on Windows in edge UI states).
Updated plugin Unload and Reload callbacks to use the guarded session helper before issuing command-based unload/reload for script plugins, and to exit cleanly when no session is available.
Fixed plugin list layout sizing by forcing the tree view’s scrolled container to expand/fill inside the plugin window’s vbox, so the loaded-plugins list now uses full available height above the button row.
2026-02-15 15:23:39 -07:00
3f31d9bd5a Fixed the plugin/script load callback to avoid using a potentially stale session pointer from the file dialog callback userdata; it now resolves a safe target session at callback time. This prevents crashes when the original session is no longer valid.
Added a defensive check that reports a user-facing error ("No active session available for loading addons.") and exits early when no valid session exists, instead of calling handle_command() with invalid state.
Updated the file request call to pass NULL userdata for load operations, so the callback no longer retains a stale session pointer while the chooser is open.
2026-02-15 15:12:00 -07:00
95538794e3 Fixed the GTK file chooser handling to avoid dereferencing/processing invalid filenames by adding an early guard in gtkutil_check_file() for NULL/empty selections, which prevents the load flow from continuing with bad input.
Fixed the single-file open path in gtkutil_file_req_done() to fetch the filename once and only call gtkutil_check_file() when a non-NULL filename is returned, preventing the crash path when GTK returns no file on accept/load.
2026-02-15 15:02:26 -07:00
371b1caaa6 Updated win32/copy/copy.vcxproj to keep only fixed (non-wildcard) items in the top-level project ItemGroup, which is the part Visual Studio analyzes for the wildcard warning.
Moved all wildcard-based includes (*.dll, **\*, etc.) into an ItemGroup inside the Build target so they’re evaluated at build time instead of as VC project item definitions, preserving the copy behavior
2026-02-15 14:35:19 -07:00
deepend-tildeclub
64909893e7 Add additional DLLs to installer configuration 2026-02-15 14:19:00 -07:00
deepend-tildeclub
815f1c810e Add additional DLL dependencies to copy.vcxproj 2026-02-15 14:18:26 -07:00
deepend-tildeclub
1f031d8966 Add new DLLs and remove conditional helper sources 2026-02-15 10:18:20 -07:00
deepend-tildeclub
2a4aa2f8ac Fix Lua file path in installer script 2026-02-15 10:06:02 -07:00
deepend-tildeclub
d646607066 Update Lua file paths in installer script 2026-02-15 10:02:01 -07:00
deepend-tildeclub
c37b45308e Update Lua LGI DLL source path in installer script 2026-02-15 09:57:49 -07:00
deepend-tildeclub
2cec6a6778 Update library sources in installer script
Removed conditional compilation for x64 libraries and updated to use newer versions of libcrypto and libssl.
2026-02-15 09:52:40 -07:00
deepend-tildeclub
a4c635ee52 Rename fontconfig.dll to fontconfig-1.dll 2026-02-15 09:48:52 -07:00
deepend-tildeclub
37d8126128 Update freetype.dll to freetype-6.dll in installer 2026-02-15 09:45:11 -07:00
deepend-tildeclub
86ab733de0 Add skipifsourcedoesntexist flag to theme source 2026-02-15 09:41:03 -07:00
deepend-tildeclub
95d87732c4 Implement fallback procedures for Inno Download Plugin
Added no-op procedures for Inno Download Plugin fallback.
2026-02-15 09:34:30 -07:00
deepend-tildeclub
019f591627 Update installer.vcxproj with new configurations 2026-02-15 09:24:18 -07:00
deepend-tildeclub
8cbfb29a49 Modify installer project file for Inno Setup paths
Updated the installer project file to include checks for Inno Setup executable paths and added a directory creation command for the output path.
2026-02-15 09:14:24 -07:00
deepend-tildeclub
12470fd954 Update zoitechat.props for x64 platform support 2026-02-14 23:47:41 -07:00
deepend-tildeclub
fd9cd61991 Simplify build matrix for Windows workflow 2026-02-14 23:43:06 -07:00
deepend-tildeclub
4a40af7eda Update Inno Setup paths to version 6 2026-02-14 23:34:51 -07:00
deepend-tildeclub
58eed1682c Change Inno Setup path to version 6
Updated Inno Setup path from version 5 to 6.
2026-02-14 23:34:03 -07:00
deepend-tildeclub
481e7f78bc Update Inno Setup version in Windows build workflow 2026-02-14 23:33:29 -07:00
deepend-tildeclub
34de343fa6 Update installer.vcxproj with new XML structure 2026-02-14 23:23:46 -07:00
deepend-tildeclub
1c4fd1d02d Add ISCC path for pre-build event
Added ISCC path configuration for Inno Setup.
2026-02-14 23:18:26 -07:00
deepend-tildeclub
4c3b8cbec7 Remove Inno Setup 6 ISCC.exe path conditions
Removed conditions for Inno Setup 6 ISCC.exe paths.
2026-02-14 23:04:50 -07:00
deepend-tildeclub
727d08519a Update IsccPath conditions for Inno Setup versions 2026-02-14 23:00:02 -07:00
deepend-tildeclub
bb796bb364 Update installer.vcxproj.filters for resource files 2026-02-14 22:58:36 -07:00
deepend-tildeclub
b413762457 Update installer.vcxproj for new file inclusion 2026-02-14 22:58:15 -07:00
deepend-tildeclub
45ef0fcd26 Update artifact handling in Windows build workflow 2026-02-14 22:47:42 -07:00
deepend-tildeclub
eaef68f827 Fix artifact paths in Windows build workflow 2026-02-14 22:39:06 -07:00
deepend-tildeclub
5c4b04615d Update OwnFlags and add Lua and Python conditions 2026-02-14 22:27:30 -07:00
deepend-tildeclub
14e15fa79d Add conditional library references for GTK3 and others 2026-02-14 22:22:34 -07:00
deepend-tildeclub
fc3e36e255 Refactor dependency paths in zoitechat.props 2026-02-14 22:20:34 -07:00
deepend-tildeclub
3bbce082de Merge branch 'master' into gtk3-prep 2026-02-14 22:14:01 -07:00
deepend-tildeclub
de7807bc6a Fix XML formatting in installer.vcxproj 2026-02-14 22:12:58 -07:00
deepend-tildeclub
45b9de5ff6 Update installer.vcxproj with new XML structure 2026-02-14 22:12:36 -07:00
deepend-tildeclub
63808bebde Fix XML formatting in installer.vcxproj 2026-02-14 22:11:23 -07:00
deepend-tildeclub
4927413bcb Change plugin and language descriptions to custom 2026-02-14 21:55:15 -07:00
deepend-tildeclub
c3c814b28d Modify installer project file for pre-build event
Updated pre-build event command to include ISCC path.
2026-02-14 21:37:13 -07:00
deepend-tildeclub
e0d22f7f6a Update GTK3 download URL in windows-build.yml 2026-02-14 21:32:01 -07:00
deepend-tildeclub
2a24686f29 Update Windows build workflow for GTK dependencies 2026-02-14 21:28:41 -07:00
deepend-tildeclub
be97bc30e3 Update perl.vcxproj to new XML format 2026-02-14 21:18:46 -07:00
deepend-tildeclub
c23d1d493f Fix XML formatting issues in python3.vcxproj 2026-02-14 21:17:28 -07:00
deepend-tildeclub
74934de4b8 Refactor lua.vcxproj to remove LuaEnabled condition 2026-02-14 21:04:24 -07:00