[xiphos-source] [crosswire/xiphos] f7cfe8: Test building Windows without GTK2

Greg Hellings noreply at github.com
Mon Aug 10 08:31:10 EDT 2026


  Branch: refs/heads/master
  Home:   https://github.com/crosswire/xiphos
  Commit: f7cfe89b3dfcb2d2c9227a165683e0fb7ecf24b2
      https://github.com/crosswire/xiphos/commit/f7cfe89b3dfcb2d2c9227a165683e0fb7ecf24b2
  Author: Greg Hellings <greg.hellings at gmail.com>
  Date:   2026-08-02 (Sun, 02 Aug 2026)

  Changed paths:
    M win32/Dockerfile
    M win32/xc-xiphos-win.sh

  Log Message:
  -----------
  Test building Windows without GTK2

* Move to long-deprecated WEBKIT1 backend, but at least it gives us a
  shot at GTK3
* Use GTKTVEDITOR in the builds

TODO: Something is still pulling in gtk-2 in the images. That should be
sorted out before everything is fully merged


  Commit: d22e6025c24608bb11bf7b528d1b81b76d64bdb4
      https://github.com/crosswire/xiphos/commit/d22e6025c24608bb11bf7b528d1b81b76d64bdb4
  Author: lafricain79 <lafricain79 at gmail.com>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M src/main/main.c
    M win32/CMakeLists.txt
    M win32/Dockerfile
    M win32/xc-xiphos-win.sh

  Log Message:
  -----------
  win32: fix SWORD_PATH regression from previous XDG_DATA_DIRS fix

Setting XDG_DATA_DIRS before g_get_system_data_dirs() (used for
SWORD_PATH) changed where SWORD_PATH pointed, moving installed
modules into the Xiphos install dir instead of the usual system
location. Now GSETTINGS_SCHEMA_DIR/XDG_DATA_DIRS are set after
SWORD_PATH is computed, and XDG_DATA_DIRS appends to any existing
value instead of replacing it.


  Commit: de7b1d7a98066824344ceeff54392210ae64fb1d
      https://github.com/crosswire/xiphos/commit/de7b1d7a98066824344ceeff54392210ae64fb1d
  Author: lafricain79 <lafricain79 at gmail.com>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M src/editor/gtktextview_editor.c

  Log Message:
  -----------
  editor: guard against NULL text in _load_text_into_buffer() callers

_load_text_into_buffer() builds "<html><body>%s</body></html>" via
g_strdup_printf() with the given text. Two call sites could pass NULL
(a studypad file that failed to read, or a note/bookmark with no
content yet). On glibc this silently printed "(null)"; on MSVCRT/UCRT
(Windows/MinGW) passing NULL to %s aborts the process immediately —
this was the reported "strdup" crash when opening the editor.

A third call site already guarded against this with text ? text : "";
apply the same pattern here.


  Commit: 9894ccb5b196188f70ac51fc8a637e5f59437abc
      https://github.com/crosswire/xiphos/commit/9894ccb5b196188f70ac51fc8a637e5f59437abc
  Author: lafricain79 <lafricain79 at gmail.com>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M src/gtk/dictlex.c

  Log Message:
  -----------
  gtk: enable GtkCalendar popover for daily devotional date on Windows

Removes the Windows-specific fallback (manual MM.DD text entry) that
was added because GtkCalendar was presumably broken on Windows under
the previous GTK2/WebKit1 build. Windows now uses the same
calendar+popover UI as Linux; entry_devotional is kept unshown as
internal date storage, as it already was on Linux.


  Commit: e9171eeefa5fcf1985928e9dfd1312a0feee75ba
      https://github.com/crosswire/xiphos/commit/e9171eeefa5fcf1985928e9dfd1312a0feee75ba
  Author: lafricain79 <lafricain79 at gmail.com>
  Date:   2026-08-05 (Wed, 05 Aug 2026)

  Changed paths:
    M src/main/main.c

  Log Message:
  -----------
  Fix the icons-vs-SWORD_PATH conflict once and for all.

g_get_system_data_dirs() caches its result on first call, for the
lifetime of the process (documented GLib behavior). Calling it to
compute SWORD_PATH — regardless of whether that happens before or
after we set XDG_DATA_DIRS — permanently poisons the cache with
whichever value was current at that moment, and GTK's internal icon
theme lookup (which also goes through g_get_system_data_dirs())
inherits that cached value for the rest of the run.

The fix is to stop calling g_get_system_data_dirs() for SWORD_PATH
entirely, using ALLUSERSPROFILE/PROGRAMDATA directly instead (which
is what the original commented-out code already hinted at). This way
XDG_DATA_DIRS can be set freely before gtk_init() without anything
having poisoned the cache beforehand.


  Commit: e2496c5e355ba50a3651d6f9c846c122480dacd2
      https://github.com/crosswire/xiphos/commit/e2496c5e355ba50a3651d6f9c846c122480dacd2
  Author: Greg Hellings <greg.hellings at gmail.com>
  Date:   2026-08-10 (Mon, 10 Aug 2026)

  Changed paths:
    M src/editor/gtktextview_editor.c
    M src/gtk/dictlex.c
    M src/main/main.c
    M win32/CMakeLists.txt
    M win32/Dockerfile
    M win32/xc-xiphos-win.sh

  Log Message:
  -----------
  Merge pull request #1363 from LAfricain/test-nogtk2

Fix  Windows GTK3 build


Compare: https://github.com/crosswire/xiphos/compare/79831878927e...e2496c5e355b

To unsubscribe from these emails, change your notification settings at https://github.com/crosswire/xiphos/settings/notifications


More information about the xiphos-source mailing list