Include <wx/helpbase.h> instead of <wx/help.h> for wxHelpControllerBase

This hopefully resolves a link issue with GCC 16+ which performs more
aggressive devirtualization.  We want to avoid linking wxHTML into the
core library, so we need to just include helpbase here so GCC doesn't
see the derived classes.

Fixes: https://github.com/wxWidgets/Phoenix/issues/2807
This commit is contained in:
Scott Talbert
2025-10-28 11:56:25 -04:00
parent bbc720efb1
commit b69a44006a

View File

@@ -39,6 +39,11 @@ def run():
c.find('GetFrameParameters.pos').out = True
c.find('GetFrameParameters.newFrameEachTime').out = True
# We want to avoid having to link with wxHTML so override the include of
# wx/help.h and use wx/helpbase.h instead. This is needed with GCC 16+
# which performs more aggressive inlining.
c.includes[c.includes.index('wx/help.h')] = 'wx/helpbase.h'
# NOTE: Since wxHelpController is an alias for wxHtmlHelpController on
# Mac and GTK, and since we don't want to force the wx.core extension