diff --git a/libs/psd/asl/kis_asl_writer_utils.h b/libs/psd/asl/kis_asl_writer_utils.h index bd1c68dab7..11d872c692 100644 --- a/libs/psd/asl/kis_asl_writer_utils.h +++ b/libs/psd/asl/kis_asl_writer_utils.h @@ -90,7 +90,7 @@ public: } } - ~OffsetStreamPusher() { + ~OffsetStreamPusher() noexcept(false) { try { if (m_alignOnExit) { qint64 currentPos = m_device->pos(); diff --git a/plugins/impex/raw/kis_raw_import.cpp b/plugins/impex/raw/kis_raw_import.cpp index 41cdd12c8c..0ad88b37fa 100644 --- a/plugins/impex/raw/kis_raw_import.cpp +++ b/plugins/impex/raw/kis_raw_import.cpp @@ -113,7 +113,8 @@ KisImportExportFilter::ConversionStatus KisRawImport::convert(KisDocument *docum for (int y = 0; y < height; ++y) { do { KoBgrU16Traits::Pixel* pixel = reinterpret_cast(it->rawData()); - quint16* ptr = ((quint16*)imageData.data()) + (y * width + it->x()) * 3; + // First cast to void to silence increase alignment warning + quint16* ptr = ((quint16*)(void*)imageData.data()) + (y * width + it->x()) * 3; #if KDCRAW_VERSION < 0x000400 pixel->red = correctIndian(ptr[2]); pixel->green = correctIndian(ptr[1]); diff --git a/plugins/impex/tga/kis_tga_import.cpp b/plugins/impex/tga/kis_tga_import.cpp index e04e32569d..e4b09f5709 100644 --- a/plugins/impex/tga/kis_tga_import.cpp +++ b/plugins/impex/tga/kis_tga_import.cpp @@ -192,7 +192,8 @@ static bool loadTGA(QDataStream & s, const TgaHeader & tga, QImage &img) uchar* src = image; for (int y = y_start; y != y_end; y += y_step) { - QRgb * scanline = (QRgb *) img.scanLine(y); + // First cast to void to silence alignment increase warning + QRgb * scanline = (QRgb *)(void*) img.scanLine(y); if (info.pal) { // Paletted. diff --git a/plugins/tools/karbonplugins/filtereffects/BlendEffect.cpp b/plugins/tools/karbonplugins/filtereffects/BlendEffect.cpp index 0f10b6db27..6237947362 100644 --- a/plugins/tools/karbonplugins/filtereffects/BlendEffect.cpp +++ b/plugins/tools/karbonplugins/filtereffects/BlendEffect.cpp @@ -62,8 +62,9 @@ QImage BlendEffect::processImages(const QList &images, const KoFilterEff if (images.count() != 2) { return result; } - const QRgb *src = (const QRgb *)images[1].constBits(); - QRgb *dst = (QRgb *)result.bits(); + // First cast to void to silence alignment warnings + const QRgb *src = (const QRgb *)(void *)images[1].constBits(); + QRgb *dst = (QRgb *)(void *)result.bits(); int w = result.width(); qreal sa, sr, sg, sb; diff --git a/plugins/tools/karbonplugins/filtereffects/BlurEffect.cpp b/plugins/tools/karbonplugins/filtereffects/BlurEffect.cpp index 9f1b9918a0..edc591d75a 100644 --- a/plugins/tools/karbonplugins/filtereffects/BlurEffect.cpp +++ b/plugins/tools/karbonplugins/filtereffects/BlurEffect.cpp @@ -35,7 +35,8 @@ void fastbluralpha(QImage &img, int radius) return; } - QRgb *pix = (QRgb *)img.bits(); + // First cast to void to silence aligment warnings + QRgb *pix = (QRgb *)(void *)img.bits(); int w = img.width(); int h = img.height(); int wm = w - 1; diff --git a/plugins/tools/karbonplugins/filtereffects/ColorMatrixEffect.cpp b/plugins/tools/karbonplugins/filtereffects/ColorMatrixEffect.cpp index 06ea096b45..46b81076cc 100644 --- a/plugins/tools/karbonplugins/filtereffects/ColorMatrixEffect.cpp +++ b/plugins/tools/karbonplugins/filtereffects/ColorMatrixEffect.cpp @@ -160,8 +160,9 @@ QImage ColorMatrixEffect::processImage(const QImage &image, const KoFilterEffect { QImage result = image; - const QRgb *src = (const QRgb *)image.constBits(); - QRgb *dst = (QRgb *)result.bits(); + // First cast to void to silence alignment warnings + const QRgb *src = (const QRgb *)(void *)image.constBits(); + QRgb *dst = (QRgb *)(void *)result.bits(); int w = result.width(); const qreal *m = m_matrix.data(); diff --git a/plugins/tools/karbonplugins/filtereffects/ComponentTransferEffect.cpp b/plugins/tools/karbonplugins/filtereffects/ComponentTransferEffect.cpp index 10701a8a91..129a45faed 100644 --- a/plugins/tools/karbonplugins/filtereffects/ComponentTransferEffect.cpp +++ b/plugins/tools/karbonplugins/filtereffects/ComponentTransferEffect.cpp @@ -106,8 +106,9 @@ QImage ComponentTransferEffect::processImage(const QImage &image, const KoFilter { QImage result = image; - const QRgb *src = (const QRgb *)image.constBits(); - QRgb *dst = (QRgb *)result.bits(); + // First cast to void to silence alignment warnings + const QRgb *src = (const QRgb *)(void *)image.constBits(); + QRgb *dst = (QRgb *)(void *)result.bits(); int w = result.width(); qreal sa, sr, sg, sb; diff --git a/plugins/tools/karbonplugins/filtereffects/CompositeEffect.cpp b/plugins/tools/karbonplugins/filtereffects/CompositeEffect.cpp index a16bd57548..75c3abb6ae 100644 --- a/plugins/tools/karbonplugins/filtereffects/CompositeEffect.cpp +++ b/plugins/tools/karbonplugins/filtereffects/CompositeEffect.cpp @@ -75,8 +75,9 @@ QImage CompositeEffect::processImages(const QList &images, const KoFilte } if (m_operation == Arithmetic) { - const QRgb *src = (QRgb *)images[1].constBits(); - QRgb *dst = (QRgb *)result.bits(); + // First cast to void to silence alignment warnings + const QRgb *src = (QRgb *)(void *)images[1].constBits(); + QRgb *dst = (QRgb *)(void *)result.bits(); int w = result.width(); qreal sa, sr, sg, sb; diff --git a/plugins/tools/karbonplugins/filtereffects/ConvolveMatrixEffect.cpp b/plugins/tools/karbonplugins/filtereffects/ConvolveMatrixEffect.cpp index f573f50383..e8435e329d 100644 --- a/plugins/tools/karbonplugins/filtereffects/ConvolveMatrixEffect.cpp +++ b/plugins/tools/karbonplugins/filtereffects/ConvolveMatrixEffect.cpp @@ -166,8 +166,9 @@ QImage ConvolveMatrixEffect::processImage(const QImage &image, const KoFilterEff int dstPixel, srcPixel; qreal sumA, sumR, sumG, sumB; - const QRgb *src = (const QRgb *)image.constBits(); - QRgb *dst = (QRgb *)result.bits(); + // First cast to void to silence alignment warnings + const QRgb *src = (const QRgb *)(void *)image.constBits(); + QRgb *dst = (QRgb *)(void *)result.bits(); const QRect roi = context.filterRegion().toRect(); const int minX = roi.left(); diff --git a/plugins/tools/tool_smart_patch/kis_inpaint.cpp b/plugins/tools/tool_smart_patch/kis_inpaint.cpp index 4f941364b3..1ff4e554d1 100644 --- a/plugins/tools/tool_smart_patch/kis_inpaint.cpp +++ b/plugins/tools/tool_smart_patch/kis_inpaint.cpp @@ -488,8 +488,9 @@ template float distance_impl(const MaskedImage& my, int x, int y, c quint8* v2 = other.imageData(xo, yo); for (quint32 chan = 0; chan < nchannels; chan++) { + // First cast to void to silence alignment warnings //It's very important not to lose precision in the next line - float v = ((float)(*((T*)v1 + chan)) - (float)(*((T*)v2 + chan))); + float v = ((float)(*((T*)(void*)v1 + chan)) - (float)(*((T*)(void*)v2 + chan))); dsq += v * v; } return dsq / ( (float)KoColorSpaceMathsTraits::unitValue * (float)KoColorSpaceMathsTraits::unitValue / MAX_DIST );