simulton / QSchematic

A library that allows creating diagrams such as flowcharts or even proper engineering schematics within a Qt application.
https://simulton.com
MIT License
251 stars 63 forks source link

ItemsCustodian defective due to logical address error of 'Item' #56

Closed bjornstromberg closed 9 months ago

bjornstromberg commented 9 months ago

added all headers of 1.5.0 just to testbuild all the templates, and it seems that ItemsCustodian has not updated the logical adress when QSchematic::Item got moved into QSchematic::Items::Item a while back...

if constexpr (std::is_base_of_v<QSchematic::Item, CustodyItemT>) should be if constexpr (std::is_base_of_v<QSchematic::Items::Item, CustodyItemT>)

this issue is still in master @ 52416bcd17ca2bd65ccbff4f46882897454d652d

Tectu commented 9 months ago

Good find, thanks! That custodian is currently not used but you are entirely correct.

I can throw out a 1.5.2 release if that helps your packaging efforts?

bjornstromberg commented 9 months ago

yes please a 1.5.2 would be nice.

thanks for fast fixes. i've fleshed out simulton/gpds#18 to work and attached patches so only thing left for you to patch on top of that is decide some variable names and such if you rather want something else there.

Tectu commented 9 months ago

There's no harm in doing a 1.5.2 release prior to the GPDS stuff being resolved as you can simply use the newer GPDS version when it's ready, right?

bjornstromberg commented 9 months ago

not to my knowledge, was more to flesh out any issues so we dont need to do 1.5.3 for some small misstake..

Tectu commented 9 months ago

Sounds reasonable. Let's complete simulton/gpds#18 first - shouldn't take long anyway :)

Tectu commented 9 months ago

So regarding a 1.5.2 release... Commit 0904b8c26877107e5e6b1b35a5bfb031361c6d7a changed the minimum required C++ level from 17 to 20. That does not really bode well for a patch release. I would be willing to sneak that into a minor release since C++20 is pretty widely adopted and we're not currently relying on features that are less commonly adopted.

But that feels like a pretty silly minor release.

bjornstromberg commented 9 months ago

one solution is to branch a release-1.5 from tag 1.5.1 and cherrypick n tag on that branch, that way you exclude the bump in c++ level and save it until more fitting minor bump.

personally i would create a release branch for 1.5 if i was running the show, you never know when next user comes with some small fix for 1.5 unless you have 1.6 planned nearby

bjornstromberg commented 9 months ago

or i can cherrypick it as a patch for my packaging usage

bjornstromberg commented 9 months ago

leave the tag, i cherrypicked it as a patch. now bed.