The logger can be closed from the external thread (openshot-qt), while
same logger instance is still in use in libopenshot.
This change prevents crash on attempts to use debug logger if it was
closed.
Co-authored-by: Frank Dana <ferdnyc@users.noreply.github.com>
The resetting of `CMAKE_SWIG_FLAGS` to the empty string in the bindings'
CMakeLists.txt files was clearing away the definitions for things like
`USE_IMAGEMAGICK` and `USE_BLACKMAGIC`, causing the bindings to be built
_without_ those classes even if they're available in the library.
This changes the type of the private `path` variable to QString
internally (which we were converting it to for a bunch of operations
anyway), and uses QString's more robust string-manipulation and
comparison methods to ensure that only filenames that _end in_ an
.svg/.svgz extension (case-insensitively) are recognized as SVG files.
Previously, a filename such as "Title.svg.png" would be interpreted as
an SVG file.
The change in QString type is purely internal, all of the class's
interfaces remain the same, and accept `std::string path`. We simply
convert it to/from QString at opposite places in the code, now.