Author Topic: The 12 February 2023 build (13205) is out.  (Read 19013 times)

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5514
The 12 February 2023 build (13205) is out.
« on: February 12, 2023, 09:02:44 am »
We switched to wx 3.2.1 (on 01 October 2022) --> download the new wx dll's see link below

Get quick announcements through the RSS feed http://www.codeblocks.org/nightly/CodeBlock_RSS.xml

Before you use a nightly make sure you understand how it works.

A link to the unicode windows wxWidget dll(s) for Code::Blocks : https://sourceforge.net/projects/codeblocks/files/Binaries/Nightlies/Prerequisites/wxmsw32u_gcc_cb_wx321_2D_gcc810-mingw64.7z
A link to Mingw64 dll's needed by Code::Blocks : http://sourceforge.net/projects/codeblocks/files/Binaries/Nightlies/Prerequisites/Mingw64dlls8.1.0.7z


The 12 Februari 2023 build is out.
  - Windows :
   http://sourceforge.net/projects/codeblocks/files/Binaries/Nightlies/2023/CB_20230212_rev13205_win64.7z
  - Linux :
   none

The current SDK version is : 2.24.0

Resolved Fixed:

  • Clangd-client: Fix HiDPI for wxWidgets >= 3.1.6.
  • src: Implement scrolling project tree while dragging items (fix ticket #1356)
  • Fix renaming virtual folders (ticket #1371).
  • wxSmith: Fix compiling wxsDateTimePickerCtrl with makefile on linux (thanks Bug Killer)
  • Make disabling I18n in wxSmith really work (thanks Bug Killer).
  • Add UI for automatic source folders aka project globs
  • clangd plugin: don't crash C::B hard when trying to use std::stoi with an empty strin
  • scr: glob ui: fix compiler warnings and msw 32bit project file (thanks Miguel)
  • Fix renaming virtual folders with subfolders (ticket #1372).
  • SDK: Prevent unexpected renaming of virtual subfolders.

Regressions/Confirmed/Annoying/Common bugs:



    Offline Xaviou

    • Regular
    • ***
    • Posts: 412
      • X@v's wxStuff
    Re: The 12 February 2023 build (13205) is out.
    « Reply #1 on: February 12, 2023, 10:15:59 am »
    Hi.

    I had an error while building on mac Os :
    Quote from: build output
    Code
    libtool: compile:  clang++ -std=c++11 -DHAVE_CONFIG_H -I. -I../../../src/sdk -I../../src/include -I/Users/xavier/dev/wx316/build-macOS-11.6/lib/wx/include/osx_cocoa-unicode-3.1 -I/Users/xavier/dev/wx316/include -D_FILE_OFFSET_BITS=64 -DwxDEBUG_LEVEL=0 -DWXUSINGDLL -D__WXMAC__ -D__WXOSX__ -D__WXOSX_COCOA__ -I../../../src/include/scripting/include -I../../../src/include -I../../../src/sdk/wxscintilla/include -I../../../src/sdk/mozilla_chardet/include -I../../../src/sdk/mozilla_chardet/include/mfbt -I../../../src/sdk/mozilla_chardet/include/nsprpub/pr/include -I../../../src/sdk/mozilla_chardet/include/xpcom -I../../../src/sdk/mozilla_chardet/include/xpcom/base -I../../../src/sdk/mozilla_chardet/include/xpcom/glue -DCB_AUTOCONF -DPIC -I../../../src/include/tinyxml -DTIXML_USE_STL=YES -mmacosx-version-min=11.6 -fPIC -fexceptions -MT projectloader_hooks.lo -MD -MP -MF .deps/projectloader_hooks.Tpo -c ../../../src/sdk/projectloader_hooks.cpp  -fno-common -DPIC -o .libs/projectloader_hooks.o
    ../../../src/sdk/projectloader.cpp:1302:119: error: cannot pass object of non-trivial type 'wxString' through variadic
          function; call will abort at runtime [-Wnon-pod-varargs]
      ...not find project glob with id %s for file %s"), id, file->GetBaseName().wx_str()));
                                                         ^
    Regards
    Xav'
    My wxWidgets's stuff : https://wxstuff.xaviou.fr/

    Offline MaxGaspa

    • Multiple posting newcomer
    • *
    • Posts: 37
    Re: The 12 February 2023 build (13205) is out.
    « Reply #2 on: February 12, 2023, 10:50:05 am »
    Hi,

    Uing this latest nigthly (but the issue was present in previous nigthly too) I observed the followin issue:

    1) I create a new compiler setup (UCRT64) simply copying the MINGW64 and changin the paths
    2) I selected the new UCRT64 as default
    3) I restarted CB
    4) now the clangd pluging is disabled. I re-enabled the clangd pluging and restared CB
    5) Now the clangd plugin is not available even if the plugin is enabled

    May be this is a bug. I don't know whether the clangd is expected to work with "official" compiler setups only, in case please add UCRT64 because Msys2 is now considering ucrt variant as the default environment.

    Hope this helps

    Offline Miguel Gimenez

    • Developer
    • Lives here!
    • *****
    • Posts: 1634
    Re: The 12 February 2023 build (13205) is out.
    « Reply #3 on: February 12, 2023, 11:38:14 am »
    For the compilation error, the line
    Code
        Manager::Get()->GetLogManager()->DebugLog(F(_T("Could not find project glob with id %s for file %s"), id, file->GetBaseName().wx_str()));
    should be
    Code
        Manager::Get()->GetLogManager()->DebugLog(F(_T("Could not find project glob with id %s for file %s"), id.wx_str(), file->GetBaseName().wx_str()));
    or better
    Code
        Manager::Get()->GetLogManager()->DebugLog(wxString::Format("Could not find project glob with id %s for file %s", id, file->GetBaseName()));

    Offline BlueHazzard

    • Developer
    • Lives here!
    • *****
    • Posts: 3352
    Re: The 12 February 2023 build (13205) is out.
    « Reply #4 on: February 12, 2023, 05:53:20 pm »
    Fixed in trunk, thank you!

    Offline killerbot

    • Administrator
    • Lives here!
    • *****
    • Posts: 5514
    Re: The 12 February 2023 build (13205) is out.
    « Reply #5 on: February 12, 2023, 06:39:11 pm »
    there is an unwanted change to the cbp file, when using the glob feature, I think there are 2 things wrong:
    * it should not be enumerating al the files, the goal is to keep the cbp stable and it picks up all the files within the specified glob directories, the cbp file is also in version control systems, one does not want this to change, this is totally the opposite of the goal of the feature when I added this
    * next to this it seems to have bugs with those IDs as you can see below (but since this must disappear wrt the first remark, it will be solved by design :-) )

    Code

    -               <UnitsGlob directory="../export/" recursive="1" wildcard="" />
    -               <UnitsGlob directory="../local/" recursive="1" wildcard="" />
    +               <UnitsGlob directory="../export/" wildcard="" recursive="1" id="769713912" />
    +               <UnitsGlob directory="../local/" wildcard="" recursive="1" id="3282429397" />
    +               <Unit filename="../export/RepeatingTask/RepeatingTaskFactory.h">
    +                       <Option glob="769713912" />
    +               </Unit>
    +               <Unit filename="../export/RepeatingTask/RepeatingTaskIf.h">
    +                       <Option glob="769713912" />
    +               </Unit>
    +               <Unit filename="../local/RepeatingTask.cpp">
    +                       <Option glob="-1012537899" />
    +               </Unit>
    +               <Unit filename="../local/RepeatingTask.h">
    +                       <Option glob="-1012537899" />
    +               </Unit>
    +               <Unit filename="../local/RepeatingTaskFactory.cpp">
    +                       <O
    the 2 ids handed out to the to directories : the oned used for export is reused for files underneath that directory, but the one for local is not used, instead those files end up with a negative ID.

    But as said, there should be no enumeration of files in the cbp in this case, and those IDs and I also not sure if this is a wanted feature...

    If for some reason as a role of caching this list would be needed, then I would suggest to put it in the layout file, or create an extra similar 'temporary' file.


    EDIT : even a third problem is present, when opening the cbp file again, just rebuild everything, again it said the cbp file was changed (while it had it nicely saved the previous time it told me this).
    « Last Edit: February 12, 2023, 06:41:21 pm by killerbot »

    Offline BlueHazzard

    • Developer
    • Lives here!
    • *****
    • Posts: 3352
    Re: The 12 February 2023 build (13205) is out.
    « Reply #6 on: February 12, 2023, 08:11:35 pm »
    My point of view is, that the project file is like a make file. You have to modify a makefile if you add source files to be able to build it.
    If you do not add them to the project we have some problems:
    1) you can not modify properties of them: Only build with certain build targets ecc.
    2) I had other problems with the old implementation, i can not remember any more exactly (it is a 3 years), i think code completion did not work correctly...

    We have discussed this with the problems of the original implementation here: http://forums.codeblocks.org/index.php/topic,22783.msg154862/topicseen.html

    My opinion on this: This feature was never/seldom used by user before, because it had no ui/documentation. So the risk of breaking some project files is minimal. I also pointed this out in the announcement post (https://forums.codeblocks.org/index.php/topic,25276.0.html). Now it has UI and documentation and we can expect it to be used... I for example need it for an upcoming plugin i currently am working on...
    If you are absolutely against this implementation i can try to look into it and add some flag for old and new behaviour?

    I will look into the problems with the ids. Thank you for testing and pointing it out.

    Offline Xaviou

    • Regular
    • ***
    • Posts: 412
      • X@v's wxStuff
    Re: The 12 February 2023 build (13205) is out.
    « Reply #7 on: February 12, 2023, 08:24:30 pm »
    Hi

    Fixed in trunk, thank you!
    Rev 13209 build fine : thank you

    Regards
    Xav'
    My wxWidgets's stuff : https://wxstuff.xaviou.fr/

    Offline killerbot

    • Administrator
    • Lives here!
    • *****
    • Posts: 5514
    Re: The 12 February 2023 build (13205) is out.
    « Reply #8 on: February 13, 2023, 08:10:42 am »
    My point of view is, that the project file is like a make file. You have to modify a makefile if you add source files to be able to build it.
    If you do not add them to the project we have some problems:
    1) you can not modify properties of them: Only build with certain build targets ecc.
    2) I had other problems with the old implementation, i can not remember any more exactly (it is a 3 years), i think code completion did not work correctly...

    We have discussed this with the problems of the original implementation here: http://forums.codeblocks.org/index.php/topic,22783.msg154862/topicseen.html

    My opinion on this: This feature was never/seldom used by user before, because it had no ui/documentation. So the risk of breaking some project files is minimal. I also pointed this out in the announcement post (https://forums.codeblocks.org/index.php/topic,25276.0.html). Now it has UI and documentation and we can expect it to be used... I for example need it for an upcoming plugin i currently am working on...
    If you are absolutely against this implementation i can try to look into it and add some flag for old and new behavior?

    I will look into the problems with the ids. Thank you for testing and pointing it out.


    When I created this feature, long time ago, the intention is to mimic the glob feature of cmake. We have been relying on this feature extensively, and indeed it is not documented, since one needs to know how to use it, it has limitations, eg when new file is added, one needs to reload the project  to pick up the new files. Code completion works, but not always, but with the old code completion plug-in it also worked like this, sometimes yes, sometimes no, but I can indeed think with this glob it is a bit worse.


    Now that said, the cmake world is also no longer in favor of their glob feature (it also has some problems), and want sources to be explicitly added. Which we could translate to CB as :
    • we also don't want this feature
    • we remove both new and old behavior
    • we keep the old behavior as is for backwards compatibility

    I do think we need to keep the old behavior for backwards compatibility, since it was there to mimic cmake glob (and then you also did not have to touch the CMakeLists.txt anymore), this needs to be re-instated, because overhere everything is now collapsing.

    So please provide the old way, and when the new way is wanted, have CB add per directory an extra flag to say new behavior (old behavior should need no changes to be made by the user), absence of this flag means old behavior.

    Offline killerbot

    • Administrator
    • Lives here!
    • *****
    • Posts: 5514
    Re: The 12 February 2023 build (13205) is out.
    « Reply #9 on: February 13, 2023, 08:11:05 am »
    I will copy this post in the other thread, so we can continue talking about it there.

    Offline MaxGaspa

    • Multiple posting newcomer
    • *
    • Posts: 37
    Re: The 12 February 2023 build (13205) is out.
    « Reply #10 on: February 15, 2023, 04:49:15 pm »
    Dear All,

    Am I wrong or now it is impossible to remove a source (or header) file from a Project. The right-click menu is no longer offering the menu item to remove a file.

    I see the "Remove Files" in the Project menu but deleting multiple files (I selected several files but the removing dialog is offering the possibility to remove the first file in the selection only) is very
    uncomfortable....just a right click on the filename was more comfortable.

    Thx
    « Last Edit: February 15, 2023, 04:57:04 pm by MaxGaspa »

    Offline Miguel Gimenez

    • Developer
    • Lives here!
    • *****
    • Posts: 1634
    Re: The 12 February 2023 build (13205) is out.
    « Reply #11 on: February 15, 2023, 04:56:24 pm »
    Looks like this code from [r13191] (Add UI for automatic source folders aka project globs) prevents it from appearing:
    Code
                if (pf->IsGlobValid())
                {
                    menu.AppendSeparator();
                    menu.Append(idMenuRemoveFilePopup, _("Remove file from project"));
                    menu.Enable(idMenuRemoveFilePopup, PopUpMenuOption);
                }

    Offline Pecan

    • Plugin developer
    • Lives here!
    • ****
    • Posts: 2808
    Re: The 12 February 2023 build (13205) is out.
    « Reply #12 on: February 16, 2023, 08:37:25 pm »
    Dear All,

    Am I wrong or now it is impossible to remove a source (or header) file from a Project. The right-click menu is no longer offering the menu item to remove a file.

    I see the "Remove Files" in the Project menu but deleting multiple files (I selected several files but the removing dialog is offering the possibility to remove the first file in the selection only) is very
    uncomfortable....just a right click on the filename was more comfortable.

    Thx
    I also experienced this. But with add files. It only added the first file.

    Offline MaxGaspa

    • Multiple posting newcomer
    • *
    • Posts: 37
    Re: The 12 February 2023 build (13205) is out.
    « Reply #13 on: February 16, 2023, 09:39:30 pm »
    ]
    I also experienced this. But with add files. It only added the first file.

    Pecan, have you read my previous message related to clangd plugin? Is it a real bug?
    « Last Edit: February 16, 2023, 10:08:40 pm by MaxGaspa »

    Offline BlueHazzard

    • Developer
    • Lives here!
    • *****
    • Posts: 3352
    Re: The 12 February 2023 build (13205) is out.
    « Reply #14 on: February 16, 2023, 10:38:58 pm »
    Quote
    Am I wrong or now it is impossible to remove a source (or header) file from a Project. The right-click menu is no longer offering the menu item to remove a file.
    fixed in trunk

    Quote
    Looks like this code from [r13191] (Add UI for automatic source folders aka project globs) prevents it from appearing:
    yes.. there should be a '!' infront fixed in trunk...

    Quote
    I also experienced this. But with add files. It only added the first file.
    i can not reproduce it. Can you give more details?