Author Topic: wxWidgets 3.1.7 is available  (Read 6643 times)

Offline gd_on

  • Lives here!
  • ****
  • Posts: 796
Windows 11 64 bits (23H2), svn C::B (last version or almost!), wxWidgets 3.2.4 (tests with 3.3), Msys2 Compilers 13.2.0, 64 bits (seh, posix : gcc, g++ and gfortran in C:\msys64\mingw64) or 32 bits (dwarf2, posix  in C:\msys64\mingw32).

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5490
Re: wxWidgets 3.1.7 is available
« Reply #1 on: June 06, 2022, 07:54:08 pm »
I didn't actively follow the discussion on the 3.1.6, but I think that one was not usable for CB, or were all problems fixed in the mean time ?

If possible, we could try to step up to 3.1.7 and as such catch up again ? What do you think ?

Offline gd_on

  • Lives here!
  • ****
  • Posts: 796
Re: wxWidgets 3.1.7 is available
« Reply #2 on: June 06, 2022, 09:29:13 pm »
I have compiled and used C::B (I follow the svn versions) with wxWidgets 3.1.6 for a long time and had no problems. I'm on Windows 10 (see my signature)
Here, I have compiled C::B (svn 12831) with wxWidgets 3.1.7. It starts correctly. Of course, I had no time to test deeply, it's too fresh.
I had also tested some of my own programs with wxWidgets 3.1.7 for a few months, while wxWidgets 3.1.7 was still on development, without any problems.

For C::B, may be it should be more prudent to wait the 3.2.0 version (due date 7 july ...)

gd_on
Windows 11 64 bits (23H2), svn C::B (last version or almost!), wxWidgets 3.2.4 (tests with 3.3), Msys2 Compilers 13.2.0, 64 bits (seh, posix : gcc, g++ and gfortran in C:\msys64\mingw64) or 32 bits (dwarf2, posix  in C:\msys64\mingw32).

Offline AndrewCot

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 678
Re: wxWidgets 3.1.7 is available
« Reply #3 on: June 07, 2022, 12:16:11 am »
I think the devs should test it with C::B as the news has the following paragraph:

Quote
This is also the last release before the upcoming 3.2.0 release that will be the start of a new API and ABI-stable wxWidgets version, so please test your existing applications with this version and let us know about any problems and, especially, regressions, so that they could still be fixed before 3.2.0.
Been building with wx3.1.6 since it come out and have not spotted any issues on Windows or MacOS. Will be updating to 3.1.7 today. The default Linux build process uses the installed wxWidgets and as such I build with 3.0.5.
I would love to see the nightly move to 3.1.7 as there are no C::B code changes required, but as expected new wxWidget DLL's would be need to be packaged into a 7z file.



Offline AndrewCot

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 678
Re: wxWidgets 3.1.7 is available
« Reply #4 on: June 07, 2022, 05:35:04 am »
Looks like there is an issue with wxWidget 3.1.7 compared to 3.1.6 in that BlueHazzard's cbSystemView plugin (https://forums.codeblocks.org/index.php?topic=22207.0 for info) failes to build with the error below on 3.1.7, but is okay with 3.1.6:
Code
D:\Andrew_Development\Work_Installers\CodeBLocks_Private_Experimental\src\plugins\contrib-wip\cbSystemView\src\cbSVWindow.cpp: In constructor 'cbSVWindow::cbSVWindow(wxWindow*)':
D:\Andrew_Development\Work_Installers\CodeBLocks_Private_Experimental\src\plugins\contrib-wip\cbSystemView\src\cbSVWindow.cpp:194:36: error: 'void wxPropertyGridPageState::SetColumnCount(int)' is protected within this context
  194 |     m_pg_first_page->SetColumnCount(4);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
In file included from D:\Andrew_Development\Libraries\wxWidgets-3.1.7_win64\include/wx/propgrid/propgridiface.h:19,
                 from D:\Andrew_Development\Libraries\wxWidgets-3.1.7_win64\include/wx/propgrid/propgrid.h:23,
                 from D:\Andrew_Development\Libraries\wxWidgets-3.1.7_win64\include/wx/propgrid/manager.h:18,
                 from .\include/cbSVWindow.h:32,
                 from D:\Andrew_Development\Work_Installers\CodeBLocks_Private_Experimental\src\plugins\contrib-wip\cbSystemView\src\cbSVWindow.cpp:19:
D:\Andrew_Development\Libraries\wxWidgets-3.1.7_win64\include/wx/propgrid/propgridpagestate.h:586:10: note: declared protected here
  586 |     void SetColumnCount(int colCount);
      |          ^~~~~~~~~~~~~~
Process terminated with status 1 (0 minute(s), 3 second(s))
I have not looked into the error above.

The following is the list of plugin's I build and they all loaded without any errors on C::B startup:
  • abbreviations.dll
  • astyle.dll
  • autosave.dll
  • AutoVersioning.dll
  • BrowseTracker.dll
  • byogames.dll
  • cbBuildTools.dll
  • cbDiff.dll
  • cbInno.dll
  • cbMarkdown.dll
  • cbMemoryView.dll
  • cbNSIS.dll
  • CBTortoiseSVN.dll
  • Cccc.dll
  • clangd_client.dll
  • classwizard.dll
  • codecompletion.dll
  • codesnippets.dll
  • codestat.dll
  • compiler.dll
  • copystrings.dll
  • CppCheck.dll
  • Cscope.dll
  • debugger.dll
  • debugger_gdbmi.dll
  • defaultmimehandler.dll
  • devpakupdater.dll
  • DisplayEvents.dll
  • DoxyBlocks.dll
  • DragScroll.dll
  • EditorConfig.dll
  • EditorTweaks.dll
  • envvars.dll
  • Exporter.dll
  • FileManager.dll
  • FortranProject.dll
  • GitBlocks.dll
  • headerfixup.dll
  • headerguard.dll
  • help_plugin.dll
  • HexEditor.dll
  • IncrementalSearch.dll
  • keybinder.dll
  • lib_finder.dll
  • loghacker.dll
  • ModPoller.dll
  • MouseSap.dll
  • NassiShneiderman.dll
  • occurrenceshighlighting.dll
  • openfileslist.dll
  • Profiler.dll
  • ProjectOptionsManipulator.dll
  • projectsimporter.dll
  • RegExTestbed.dll
  • ReopenEditor.dll
  • rndgen.dll
  • scriptedwizard.dll
  • SmartIndentCpp.dll
  • SmartIndentFortran.dll
  • SmartIndentHDL.dll
  • SmartIndentLua.dll
  • SmartIndentPascal.dll
  • SmartIndentPython.dll
  • SmartIndentXML.dll
  • SpellChecker.dll
  • SymTab.dll
  • ThreadSearch.dll
  • tidycmt.dll
  • todo.dll
  • ToolsPlus.dll
  • wxsmith.dll
  • wxSmithAui.dll
  • wxSmithContribItems.dll
  • xpmanifest.dll

Offline AndrewCot

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 678
Re: wxWidgets 3.1.7 is available
« Reply #5 on: June 07, 2022, 05:46:49 am »
The wxWidget 3.1.7 changes to the wxPropertyGridPageState class has caused the cbSystemView build to now fail.
The changed file is include\wx\propgrid\propgridpagestate.h and is caused by the following changes as per the following changes.txt file entry:

Code
3.1.7: (released 2022-06-06) ---------------------------- INCOMPATIBLE CHANGES SINCE 3.1.6: - wxPropertyGridPageState funtions intended for internal use are no longer public. Corresponding functions in wxPropertyGridInterface, wxPropertyGrid, wxPropertyGridPage, and wxPropertyGridManager should be used instead.

Offline Miguel Gimenez

  • Developer
  • Lives here!
  • *****
  • Posts: 1553
Re: wxWidgets 3.1.7 is available
« Reply #6 on: June 07, 2022, 06:19:33 pm »
I didn't actively follow the discussion on the 3.1.6, but I think that one was not usable for CB, or were all problems fixed in the mean time ?

If possible, we could try to step up to 3.1.7 and as such catch up again ? What do you think ?

wx3.1.6 was perfectly usable, and I expect wx3.1.7 to be usable too without changes,

The only gotcha may be the change to the PCRE2 regular expression library in wx3.1.6, but many regexes were adapted before wx3.1.6 release and some of us have been using wx3.1.6 without problems so far.

Offline AndrewCot

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 678
Re: wxWidgets 3.1.7 is available
« Reply #7 on: June 29, 2022, 05:39:40 am »
On MacOS using wxWidgets 3.1.7 the C::B build fails with an ambiguous error for the src\sdk\editormanager.cpp on line 545 with the AddPage.

The function with the AddPage in it that fails is:

Code
void EditorManager::AddEditorBase(EditorBase* eb)
{
    int page = FindPageFromEditor(eb);
    if (page == -1)
    {
        // use fullname as default, so tabs stay as small as possible
        wxFileName fn(eb->GetTitle());
        m_pNotebook->AddPage(eb, fn.GetFullName(), true);
    }
}

the build log for the error is:

editormanager.cpp:545:22: error: call to member function 'AddPage' is ambiguous
        m_pNotebook->AddPage(eb, fn.GetFullName(), true);
        ~~~~~~~~~~~~~^~~~~~~
/usr/local/include/wx-3.1/wx/aui/auibook.h:279:10: note: candidate function
    bool AddPage(wxWindow* page,
         ^
../../src/include/cbauibook.h:125:14: note: candidate function
        bool AddPage(wxWindow* page,
             ^

Using wxWidget 3.1.5 the C:B build does not fail.
Using wxWidget 3.2.0 rc1 also fails to build.
« Last Edit: June 29, 2022, 05:48:58 am by AndrewCot »

Offline AndrewCot

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 678
Re: wxWidgets 3.1.7 is available
« Reply #8 on: June 29, 2022, 07:35:38 am »
In the attached zip are the updated files to get C::B building on the Mac with wxWidget 3.1.7 (3.2.0 rc1 has not been tested yet).

Offline blauzahn

  • Almost regular
  • **
  • Posts: 153
Re: wxWidgets 3.1.7 is available
« Reply #9 on: June 29, 2022, 07:42:33 am »
On Arch Linux and Ubuntu-20.04, both x86_64 with current trunk of wxwidgets (3.2.0) cb trunk (svn12840)  does compile via configure and make. I do not observe that ambiguity error calling AddPage. Over the last weeks I compiled current wxwidgets and cb nearly daily without ever seing that compile error.

Right now, I lack the time to have a peek into the zip just postet by @AndrewCot.

Offline AndrewCot

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 678
Re: wxWidgets 3.1.7 is available
« Reply #10 on: June 29, 2022, 08:30:59 am »
GNU GCC does not give the error on Windows using MSYS2 Mingw64 using GCC 12.1 or GCC 11.1 on Xbuntu, but Mac CLang does. It looks like at the moment Clang is more compliant with the C++ specs as there is an issue and it's just a mater of when GCC detects the problem.

Offline Miguel Gimenez

  • Developer
  • Lives here!
  • *****
  • Posts: 1553
Re: wxWidgets 3.1.7 is available
« Reply #11 on: June 29, 2022, 02:35:01 pm »
Modified patch applied in r12841, thank you.

Offline Miguel Gimenez

  • Developer
  • Lives here!
  • *****
  • Posts: 1553
Re: wxWidgets 3.1.7 is available
« Reply #12 on: June 29, 2022, 05:45:26 pm »
wxWidgets 3.2.0-rc1 is available, it is intended for last-minute checks before the definitive release next week.

I am testing it on MSW (32 bits) and so far it looks good.

Offline AndrewCot

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 678
Re: wxWidgets 3.1.7 is available
« Reply #13 on: June 30, 2022, 02:34:39 am »
The r12841 patch does not include the InsertPage(...) function definition changes like AddPage(). The InsertPage() function definition change is required once you get past the AddPage() issue.

I am working on getting the DAP debugger I have been working on building on the Mac and then Linux. As such it will be a few days before I start tom play with wxWidgets 3.2.0 rc1.

Offline Miguel Gimenez

  • Developer
  • Lives here!
  • *****
  • Posts: 1553
Re: wxWidgets 3.1.7 is available
« Reply #14 on: June 30, 2022, 11:37:42 am »
Quote
The r12841 patch does not include the InsertPage(...) function definition changes

Completed in r12842.