From bffd6e4405e956f2594ac516d48e59dc7722d91d Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Mon, 3 Jun 2024 21:38:28 +0300 Subject: [PATCH] make the KAT image format non-optional Signed-off-by: Ivailo Monev --- CMakeLists.txt | 6 +----- src/core/global/qconfig.h.cmake | 3 +-- src/gui/image/qimagereader.cpp | 23 +++++------------------ src/gui/image/qimagewriter.cpp | 14 +------------- src/gui/image/qkathandler.cpp | 4 ---- src/gui/image/qkathandler_p.h | 4 ---- src/gui/image/qxpmhandler.cpp | 6 ++---- src/gui/image/qxpmhandler_p.h | 4 ++-- src/gui/kernel/qkeysequence.cpp | 4 ---- src/gui/kernel/qt_x11.cpp | 2 +- src/gui/kernel/qt_x11_p.h | 4 ++++ src/gui/qguicommon_p.h | 5 ----- 12 files changed, 17 insertions(+), 62 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6e460fe2e..dfcb01385 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -401,7 +401,7 @@ if(NOT HAVE_pic) endif() # keep in sync with the GUI component CMake file, only definitions setup is needed here -foreach(x11ext Xshape Xinerama Xrandr Xrender Xfixes Xcursor) +foreach(x11ext Xshape Xinerama Xrandr Xrender Xfixes Xcursor Xpm) if(NOT X11_${x11ext}_FOUND) message(WARNING "The X11 ${x11ext} extension was not found") string(TOUPPER "${x11ext}" upperext) @@ -413,10 +413,6 @@ if(NOT X11_Xext_FOUND) katie_config(QT_NO_XSYNC) katie_config(QT_NO_XSHAPE) endif() -if(NOT X11_Xpm_FOUND) - message(WARNING "The X11 Xpm extension was not found") - katie_config(QT_NO_IMAGEFORMAT_XPM) -endif() configure_file( ${CMAKE_SOURCE_DIR}/src/core/global/qconfig.h.cmake diff --git a/src/core/global/qconfig.h.cmake b/src/core/global/qconfig.h.cmake index 9dbd536fc..876a41ea8 100644 --- a/src/core/global/qconfig.h.cmake +++ b/src/core/global/qconfig.h.cmake @@ -80,6 +80,7 @@ #cmakedefine QT_NO_XRENDER #cmakedefine QT_NO_XSHAPE #cmakedefine QT_NO_XSYNC +#cmakedefine QT_NO_XPM // Broken, do not set until further notice // #cmakedefine QT_NO_ACTION @@ -171,8 +172,6 @@ #cmakedefine QT_NO_FRAME #cmakedefine QT_NO_FSCOMPLETER #cmakedefine QT_NO_IDENTITYPROXYMODEL -#cmakedefine QT_NO_IMAGEFORMAT_KAT -#cmakedefine QT_NO_IMAGEFORMAT_XPM #cmakedefine QT_NO_IMAGE_HEURISTIC_MASK #cmakedefine QT_NO_IPV6 #cmakedefine QT_NO_LCDNUMBER diff --git a/src/gui/image/qimagereader.cpp b/src/gui/image/qimagereader.cpp index 1ce05fcbc..fb24dffad 100644 --- a/src/gui/image/qimagereader.cpp +++ b/src/gui/image/qimagereader.cpp @@ -132,11 +132,9 @@ static QImageIOHandler *createReadHandlerHelper(QIODevice *device, // check if we have built-in support for the format first if (form == "png") { handler = new QPngHandler(); -#ifndef QT_NO_IMAGEFORMAT_KAT } else if (form == "kat") { handler = new QKatHandler(); -#endif -#ifndef QT_NO_IMAGEFORMAT_XPM +#ifndef QT_NO_XPM } else if (form == "xpm") { handler = new QXpmHandler(); #endif @@ -159,12 +157,10 @@ static QImageIOHandler *createReadHandlerHelper(QIODevice *device, if (QPngHandler::canRead(device)) { handler = new QPngHandler(); } -#ifndef QT_NO_IMAGEFORMAT_KAT if (!handler && QKatHandler::canRead(device)) { handler = new QKatHandler(); } -#endif -#ifndef QT_NO_IMAGEFORMAT_XPM +#ifndef QT_NO_XPM if (!handler && QXpmHandler::canRead(device)) { handler = new QXpmHandler(); } @@ -849,19 +845,14 @@ QByteArray QImageReader::imageFormat(QIODevice *device) Reading and writing SVG files is supported through Qt's \l{QtSvg Module}{SVG Module}. - Note that the QApplication instance must be created before this function is - called. - \sa setFormat(), QImageWriter::supportedImageFormats(), QImageIOPlugin */ QList QImageReader::supportedImageFormats() { QList formats = QList() << "png" -#ifndef QT_NO_IMAGEFORMAT_KAT << "kat" -#endif -#ifndef QT_NO_IMAGEFORMAT_XPM +#ifndef QT_NO_XPM << "xpm" #endif ; @@ -891,12 +882,10 @@ QByteArray QImageReader::formatForMimeType(const QByteArray &mime) if (mime == "image/png") { return QByteArray("png"); } -#ifndef QT_NO_IMAGEFORMAT_KAT if (mime == "image/katie") { return QByteArray("kat"); } -#endif -#ifndef QT_NO_IMAGEFORMAT_XPM +#ifndef QT_NO_XPM if (mime == "image/x-xpixmap") { return QByteArray("xpm"); } @@ -928,10 +917,8 @@ QList QImageReader::supportedMimeTypes() { QList mimes = QList() << "image/png" -#ifndef QT_NO_IMAGEFORMAT_KAT << "image/katie" -#endif -#ifndef QT_NO_IMAGEFORMAT_XPM +#ifndef QT_NO_XPM << "image/x-xpixmap" #endif ; diff --git a/src/gui/image/qimagewriter.cpp b/src/gui/image/qimagewriter.cpp index 6458406d2..c55ad5cde 100644 --- a/src/gui/image/qimagewriter.cpp +++ b/src/gui/image/qimagewriter.cpp @@ -97,10 +97,8 @@ static QImageIOHandler *createWriteHandlerHelper(QIODevice *device, const QByteA // check if any built-in handlers can write the image if (form == "png") { handler = new QPngHandler(); -#ifndef QT_NO_IMAGEFORMAT_KAT } else if (form == "kat") { handler = new QKatHandler(); -#endif } #ifndef QT_NO_LIBRARY @@ -486,9 +484,6 @@ QByteArray QImageWriter::defaultImageFormat() Reading and writing SVG files is supported through Katie's \l{QtSvg Module}{SVG Module}. - Note that the QApplication instance must be created before this function is - called. - \sa setFormat(), QImageReader::supportedImageFormats(), QImageIOPlugin, defaultImageFormat() */ @@ -496,9 +491,7 @@ QList QImageWriter::supportedImageFormats() { QList formats; formats << "png"; -#ifndef QT_NO_IMAGEFORMAT_KAT formats << "kat"; -#endif #ifndef QT_NO_LIBRARY QFactoryLoader *l = imageloader(); @@ -525,11 +518,9 @@ QByteArray QImageWriter::formatForMimeType(const QByteArray &mime) if (mime == "image/png") { return QByteArray("png"); } -#ifndef QT_NO_IMAGEFORMAT_KAT if (mime == "image/katie") { return QByteArray("kat"); } -#endif #ifndef QT_NO_LIBRARY QFactoryLoader *l = imageloader(); @@ -557,10 +548,7 @@ QList QImageWriter::supportedMimeTypes() { QList mimes = QList() << "image/png" -#ifndef QT_NO_IMAGEFORMAT_KAT - << "image/katie" -#endif - ; + << "image/katie"; #ifndef QT_NO_LIBRARY QFactoryLoader *l = imageloader(); diff --git a/src/gui/image/qkathandler.cpp b/src/gui/image/qkathandler.cpp index a81795197..4476a1bdb 100644 --- a/src/gui/image/qkathandler.cpp +++ b/src/gui/image/qkathandler.cpp @@ -20,8 +20,6 @@ #include "qkathandler_p.h" -#ifndef QT_NO_IMAGEFORMAT_KAT - #include "qimage.h" #include "qimage_p.h" #include "qvariant.h" @@ -246,5 +244,3 @@ QByteArray QKatHandler::name() const } QT_END_NAMESPACE - -#endif // QT_NO_IMAGEFORMAT_KAT diff --git a/src/gui/image/qkathandler_p.h b/src/gui/image/qkathandler_p.h index 8b48ff4b3..6cdf6679e 100644 --- a/src/gui/image/qkathandler_p.h +++ b/src/gui/image/qkathandler_p.h @@ -34,8 +34,6 @@ #include "QtGui/qimageiohandler.h" -#ifndef QT_NO_IMAGEFORMAT_KAT - QT_BEGIN_NAMESPACE class QKatHandler : public QImageIOHandler @@ -61,6 +59,4 @@ private: QT_END_NAMESPACE -#endif // QT_NO_IMAGEFORMAT_KAT - #endif // QKATHANDLER_P_H diff --git a/src/gui/image/qxpmhandler.cpp b/src/gui/image/qxpmhandler.cpp index c4ec0f0a3..0c5c584f3 100644 --- a/src/gui/image/qxpmhandler.cpp +++ b/src/gui/image/qxpmhandler.cpp @@ -20,14 +20,12 @@ #include "qxpmhandler_p.h" -#ifndef QT_NO_IMAGEFORMAT_XPM +#ifndef QT_NO_XPM #include "qimage.h" #include "qt_x11_p.h" #include "qcorecommon_p.h" -#include - QT_BEGIN_NAMESPACE static inline void qt_ximage_to_qimage(XImage *ximage, QImage &image) @@ -123,4 +121,4 @@ bool QXpmHandler::canRead(QIODevice *device) QT_END_NAMESPACE -#endif // QT_NO_IMAGEFORMAT_XPM +#endif // QT_NO_XPM diff --git a/src/gui/image/qxpmhandler_p.h b/src/gui/image/qxpmhandler_p.h index bed1ada87..070b342e4 100644 --- a/src/gui/image/qxpmhandler_p.h +++ b/src/gui/image/qxpmhandler_p.h @@ -34,7 +34,7 @@ #include "QtGui/qimageiohandler.h" -#ifndef QT_NO_IMAGEFORMAT_XPM +#ifndef QT_NO_XPM QT_BEGIN_NAMESPACE @@ -53,6 +53,6 @@ public: QT_END_NAMESPACE -#endif // QT_NO_IMAGEFORMAT_XPM +#endif // QT_NO_XPM #endif // QXPMHANDLER_P_H diff --git a/src/gui/kernel/qkeysequence.cpp b/src/gui/kernel/qkeysequence.cpp index 1adb458b9..350dcb3f1 100644 --- a/src/gui/kernel/qkeysequence.cpp +++ b/src/gui/kernel/qkeysequence.cpp @@ -21,7 +21,6 @@ #include "qkeysequence.h" #include "qkeysequence_p.h" -#include "qapplication_p.h" #ifndef QT_NO_SHORTCUT @@ -156,9 +155,6 @@ QT_BEGIN_NAMESPACE \snippet doc/src/snippets/code/src_gui_kernel_qkeysequence.cpp 1 - \warning A QApplication instance must have been constructed before a - QKeySequence is created; otherwise, your application may crash. - \sa QShortcut */ diff --git a/src/gui/kernel/qt_x11.cpp b/src/gui/kernel/qt_x11.cpp index 9bf66e306..8c92756d4 100644 --- a/src/gui/kernel/qt_x11.cpp +++ b/src/gui/kernel/qt_x11.cpp @@ -134,7 +134,7 @@ void QX11Data::copyXImageToQImage(XImage *ximage, QImage &image, bool *freedata) uchar* imageline = QFAST_SCAN_LINE(imagedata, imagebpl, h); for (int w = 0; w < ximage->width; w++) { const uint xpixel = XGetPixel(ximage, w, h); - //make sure alpha is 255, we depend on it in qdrawhelper for cases + // make sure alpha is 255, we depend on it in qdrawhelper for cases // when image is set as a texture pattern on a qbrush ((uint *)imageline)[w] = (xpixel | 0xff000000); } diff --git a/src/gui/kernel/qt_x11_p.h b/src/gui/kernel/qt_x11_p.h index da1454bbe..92d476ce1 100644 --- a/src/gui/kernel/qt_x11_p.h +++ b/src/gui/kernel/qt_x11_p.h @@ -92,6 +92,10 @@ # include #endif // QT_NO_XFIXES +#ifndef QT_NO_XPM +# include +#endif // QT_NO_XPM + QT_BEGIN_NAMESPACE class QWidget; diff --git a/src/gui/qguicommon_p.h b/src/gui/qguicommon_p.h index de87b853b..e41813d89 100644 --- a/src/gui/qguicommon_p.h +++ b/src/gui/qguicommon_p.h @@ -19,13 +19,8 @@ struct QRealRect { qreal x1, y1, x2, y2; }; -#ifndef QT_NO_IMAGEFORMAT_KAT static const char* const qt_imageformat = "kat"; static const char* const qt_imagemime = "image/katie"; -#else -static const char* const qt_imageformat = "png"; -static const char* const qt_imagemime = "image/png"; -#endif #ifdef QT_NO_FPU static const qreal qt_epsilon = qreal(1e-12);