diff --git a/src/QtUtilities.h b/src/QtUtilities.h index 410ffefb..adfa6b6a 100644 --- a/src/QtUtilities.h +++ b/src/QtUtilities.h @@ -4,7 +4,7 @@ * @author FeRD (Frank Dana) */ -// Copyright (c) 2008-2020 OpenShot Studios, LLC +// Copyright (c) 2008-2025 OpenShot Studios, LLC // // SPDX-License-Identifier: LGPL-3.0-or-later @@ -14,6 +14,7 @@ #include #include #include +#include // Fix Qt::endl for older Qt versions // From: https://bugreports.qt.io/browse/QTBUG-82680 @@ -26,14 +27,25 @@ namespace Qt { namespace openshot { + + // Cross-platform aligned free function + inline void aligned_free(void* ptr) + { +#if defined(_MSC_VER) + _aligned_free(ptr); +#else + free(ptr); +#endif + } + // Clean up buffer after QImage is deleted static inline void cleanUpBuffer(void *info) { if (!info) return; - // Remove buffer since QImage tells us to - uint8_t *qbuffer = reinterpret_cast(info); - delete[] qbuffer; + + // Free the aligned memory buffer + aligned_free(info); } } // namespace