Well, to be totally honest, i have no mental capacity to look into yet another tool.
I, personally, find it strange that with C++, which is standardized, is behaving system dependent with memory leaks and errors. I could get my head behind it that file access or graphics-driver interface or whatever shows an incompatibility but never ever should code result in a system dependent out-of-bounds access, leak or double-free.
For now i think we should investigate if the build process with the address sanitizer actually works. So anyone who has the build process set up and can apply what ansel wrote:
Code: Select all
export CXXFLAGS="-fsanitize=address"
cmake -GNinja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=<target directory> <source directory>
could give some feedback.
According to what i posted earlier (https://pastebin.com/iV7UA5Zz) the memory problems are associated with strdup in QMetaObject::getSignatures (line 703?) which uses a non-RAII-guarded new to allocate memory (as per cpp-reference). So yeah, the leak that is detected could be systematic and real, therefore i sincerely would like to ask Ansel if he ever actually tried the Address-Sanitizer?
@CandL: i am not sure what your post is supposed to convey? Do you plan to port Qwt to Copperspice? Do you have already a working solution? Do you also struggle with rotated text?