[Development] Binary incompatible change in QtConcurrent - was - Re: Qt 5.15.6 Opensource released

Albert Astals Cid aacid at kde.org
Thu Sep 8 23:30:36 CEST 2022


El dijous, 8 de setembre de 2022, a les 23:23:00 (CEST), Thiago Macieira va 
escriure:
> On Thursday, 8 September 2022 14:06:24 PDT Albert Astals Cid wrote:
> > Should we restore those symbols or just accept that Qt 6 broke BC a year
> > ago and no one realized so why bring the symbols back?
> 
> The commit message says
> 
>     Remove the dead code for blocking methods from QtConcurrent
> 
>     After 79fd1cb2c631b6084bf10874205d27f5b53c907a the methods for running
>     QtConcurrent algorithms in the blocking mode aren't used anymore. Since
>     ThreadEngineBase and ThreadEngineStarter classes aren't meant to be used
> externally, it should be fine to remove startBlocking() methods now.
> 
> ThreadEngineBase is used only by ThreadEngine, plus its static
> ThreadEngineBase::threadPool is used by IterateKernel::forThreadFunction().
> But ThreadEngine is a template class deriving from ThreadEngineBase, and
> IterateKernel is a template class deriving from ThreadEngine and that is in
> turn a base class for a lot of other classes.
> 
> Therefore, ThreadEngineBase is used by user code, only indirectly.
> 
> So the question is whether the removed function was ever callable in
> QtConcurrent from 6.0 to 6.3. The commit this commit refers to landed in
> 6.0. So if the commit message is correct, then there's no problem in Qt 6,
> because if something still called this function, it would have broken in
> this commit.
> 
> According to the Git log, 1bf75f2a661c05c7f1126187310d7df3f9704af5 is the
> only commit since Git tag v6.0.0 that touches a line that mentions
> "startBlocking". Therefore, there is no BC problem in Qt 6.

Oh, sorry for the noise.

I did not realize 1bf75f2a661c05c7f1126187310d7df3f9704af5 and 
79fd1cb2c631b6084bf10874205d27f5b53c907a where so apart in time.

"Good", then the only issue is in Qt 5.15.6

I've reverted the patch removing those functions in the KDE Qt Patch 
collection to restore BC,  those that care about BC are welcome to use it.

Cheers,
  Albert




More information about the Development mailing list