Qt 5.15 concurrent blockingMap does not work with QPixmap::scaled anymore
-
Hi,
If you want somebody to help you test your situation, please provide a minimal compilable example that shows the behaviour you currently have.
You should also state the exact version of 5.15 you are currently using as well as the platform you are having trouble on.
-
@Megamouse Did you run through debugger to see what happens?
-
Windows 10 (10.0.18363 Build 18363)
Qt 5.15.0 (There isn't any other as far as I can tell)
i7 7700KSample Project:
https://drive.google.com/file/d/1NzIiOpMoDZHGOhtpRhjg6wb79Sa4R-L9/view?usp=sharingJust use some base_dir with a lot of pictures and the main window will never show.
This used to work in Qt 5.14. -
@Megamouse said in Qt 5.15 concurrent blockingMap does not work with QPixmap::scaled anymore:
In our code, we use a void blockingMap with a lambda that basically takes a QStringList with image file paths, then loads those images into a QPixmap and scales them with smooth transformation. The result is atomically stored in a queue.
QPixmap
isn't reentrant, so this was never working, it's just shown its ugly fangs and horns now. Switch toQImage
. -
@kshegunov said in Qt 5.15 concurrent blockingMap does not work with QPixmap::scaled anymore:
reentrant
Hmm, I was already suspecting something similar based on the Qt 5 source code.
But sadly, using QImage in the sample changes nothing. -
@Megamouse said in Qt 5.15 concurrent blockingMap does not work with QPixmap::scaled anymore:
But sadly, using QImage in the sample changes nothing.
Then it's possible it's an regression. Strip the GUI stuff from the sample code, and please extract a backtrace with debug info, so we can judge where it hangs. I don't have windows Qt 5.15 on hand to test directly, but I'm willing to glance through the backtrace.
-
Can you provide the link to the bug report ?