[libbreezecommon] Fix build when qreal is float
ClosedPublic

Authored by zzag on Jul 13 2018, 7:28 AM.

Details

Summary
06:47:17 CMakeFiles/Makefile2:118: recipe for target 'libbreezecommon/CMakeFiles/breezecommon4.dir/all' failed
06:47:17 /workspace/build/libbreezecommon/breezeboxshadowhelper.cpp: In function ‘void Breeze::BoxShadowHelper::blurAlphaNaive(QImage&, int)’:
06:47:17 /workspace/build/libbreezecommon/breezeboxshadowhelper.cpp:138:56: error: conversion from ‘QVector<double>’ to non-scalar type ‘const QVector<float>’ requested
06:47:17 const QVector<qreal> kernel = computeGaussianKernel(radius);
06:47:17 ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
06:47:17 In file included from /usr/include/qt4/QtGui/qpolygon.h:45:0,
06:47:17 from /usr/include/qt4/QtGui/qmatrix.h:45,
06:47:17 from /usr/include/qt4/QtGui/qtransform.h:44,
06:47:17 from /usr/include/qt4/QtGui/qimage.h:45,
06:47:17 from /usr/include/qt4/QtGui/qpixmap.h:50,
06:47:17 from /usr/include/qt4/QtGui/qpainter.h:49,
06:47:17 from /usr/include/qt4/QtGui/QPainter:1,
06:47:17 from /workspace/build/libbreezecommon/breezeboxshadowhelper.h:27,
06:47:17 from /workspace/build/libbreezecommon/breezeboxshadowhelper.cpp:21:
06:47:17 /usr/include/qt4/QtCore/qvector.h: In instantiation of ‘int QVector<T>::sizeOfTypedData() [with T = double]’:
06:47:17 /usr/include/qt4/QtCore/qvector.h:503:49: required from ‘void QVector<T>::realloc(int, int) [with T = double]’
06:47:17 /usr/include/qt4/QtCore/qvector.h:340:32: required from ‘void QVector<T>::reserve(int) [with T = double]’
06:47:17 /workspace/build/libbreezecommon/breezeboxshadowhelper.cpp:62:30: required from here
06:47:17 /usr/include/qt4/QtCore/qvector.h:323:49: warning: cast from ‘QVector<double>*’ to ‘const Data* {aka const QVectorTypedData<double>*}’ increases required alignment of target type [-Wcast-align]
06:47:17 return reinterpret_cast<const char *>(&(reinterpret_cast<const Data *>(this))->array[1]) - reinterpret_cast<const char *>(this);
06:47:17 ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
06:47:17 make[5]: [libbreezecommon/CMakeFiles/breezecommon4.dir/breezeboxshadowhelper.cpp.o] Error 1
06:47:17 make[4]: [libbreezecommon/CMakeFiles/breezecommon4.dir/all] Error 2

Diff Detail

Repository
R31 Breeze
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
zzag created this revision.Jul 13 2018, 7:28 AM
Restricted Application added a project: Plasma. · View Herald TranscriptJul 13 2018, 7:28 AM
Restricted Application added a subscriber: plasma-devel. · View Herald Transcript
zzag requested review of this revision.Jul 13 2018, 7:28 AM
zzag added a comment.Jul 15 2018, 4:56 PM

Ping? I'll land it tomorrow if no one has objections.

@anthonyfieroni Hugo stepped down as Breeze maintainer.

Anyway, pushing it as I'm pretty sure it will fix build.

This revision was not accepted when it landed; it landed in state Needs Review.Jul 16 2018, 6:44 AM
This revision was automatically updated to reflect the committed changes.