https://bugs.kde.org/show_bug.cgi?id=488061
Mirko <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REPORTED |RESOLVED Resolution|--- |UNMAINTAINED CC| |[email protected] --- Comment #5 from Mirko <[email protected]> --- I found the cause and have a fix. Cause: with Qt 6, the rows/columns spin boxes in the Mosaic Wall window are connected to QSpinBox::valueChanged(QString), which no longer exists in Qt 6. digiKam prints a warning about this when the window opens: QObject::connect: No such signal QSpinBox::valueChanged(QString) in mainwindow.cpp:34 So changing the grid size never recalculates the cell colors. "Create Mosaic" then uses the new grid size with the color data of the old one (100x100 = 10000 cells), reads past its end, and the std::out_of_range exception in the worker thread terminates digiKam without an error message. This matches the report: the default grid works, a changed grid crashes. It is not Windows-specific; the Windows bundles are simply built with Qt 6. Fix: https://github.com/scheckmedia/ImageMosaicWall/pull/25 It also fixes data races between the generation threads, which could cause crashes as well. It includes PR #23 (Exiv2 0.28 / MSVC build fixes) because it builds on it. A second PR with rendering fixes (empty cells, Exif orientation, centered tile crop, dark edge cells) builds on it: https://github.com/scheckmedia/ImageMosaicWall/pull/26 I tested on Fedora 44 with digiKam 9.1.0 (Qt 6.11, Exiv2 0.28.9), with the plugin built against the distribution packages. I cannot test on Windows or macOS. Since the upstream repository has had no activity since 2023 and #23 is still unmerged, how would you like to take this for the bundles? ext_mosaicwall could build from my fork (https://github.com/MightyMirko/ImageMosaicWall, branch tile-rendering-fixes, which contains everything), or I can provide the changes as patches like mosaicwall-exiv2-cpp17.patch. -- You are receiving this mail because: You are watching all bug changes.
