[xiphos-source] [crosswire/xiphos] 8d98df: fix #612
karl kleinpaste
noreply at github.com
Thu Jul 23 15:36:50 EDT 2026
Branch: refs/heads/karl_whole_book_render
Home: https://github.com/crosswire/xiphos
Commit: 8d98df10cd18f6b1c16da0d11212cbf70eb353c0
https://github.com/crosswire/xiphos/commit/8d98df10cd18f6b1c16da0d11212cbf70eb353c0
Author: Karl Kleinpaste <karl at kleinpaste.org>
Date: 2026-07-23 (Thu, 23 Jul 2026)
Changed paths:
M src/backend/module_manager.cc
M src/backend/sword_main.cc
M src/gtk/bookmark_dialog.c
M src/gtk/mod_mgr.c
M src/gtk/preferences_dialog.c
M src/gui/preferences_dialog.h
M src/main/display.cc
M src/main/display.hh
M src/main/main.c
M src/main/settings.c
M src/main/settings.h
M src/main/xml.c
M ui/prefs.glade
M ui/prefs.gtkbuilder
Log Message:
-----------
fix #612
Now optional to display whole Bible books rather than just 1 chapter.
See Preferences -> Options -> Display whole Bible books.
Default remains single chapter. This is for main window only; all
other displays (commentary, detached windows) remain single chapter.
This is a heavy re-work of display code. Much refactoring, separating
necessary display start/end code from rendering single chapter vs loop
over all chapters. Generalized the annotation cache to entire book rather
than single chapter. Encodes internal markers not as just verses, but
"(chapter * 1000) + verse" for focus sanity.
Along the way, fixed a couple bona fide but hidden bugs leading to bogus
highlight. Notably, paragraph endings within highlight were previously
damaged, now fixed with another detected case of mis-ended paragraphs.
("<p/><b>"?!? seriously?)
Highlight is confined to actual verse text, not to verse numbers or *u.
Dodgy, complex, unreliable use of ?: to select main/fg/bg colors has been
replaced by something more sane.
Whole book rendering is not nearly as cumbersome as one might have feared.
Psalms renders the first time in <70ms, which is the longest while it
fills the module cache on first encounter. Thereafter, 10ms. Any
perceived delay is actually inherent to the WebKit renderer. Some of that
delay can be substantial, notably when enabling strongs/morph/lemmas,
where blocked display makes for a much more complex problem within WebKit.
Consequent to timing tests, discovered that several existing timers were
not being properly destroyed; now handled.
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