milestone1

This commit is contained in:
2026-05-07 04:35:57 +01:00
parent b9698beceb
commit be17bbc9bc
37 changed files with 973 additions and 317 deletions
+67 -107
View File
@@ -1,6 +1,5 @@
diff -ruwN source-old/cmake/QtPlatformSupport.cmake source/cmake/QtPlatformSupport.cmake
--- source-old/cmake/QtPlatformSupport.cmake 2024-12-02 05:39:06.000000000 +0000
+++ source/cmake/QtPlatformSupport.cmake 2026-04-13 00:00:00.000000000 +0000
--- source-old/cmake/QtPlatformSupport.cmake
+++ source/cmake/QtPlatformSupport.cmake
@@ -55,8 +55,20 @@
set(NETBSD 0)
endif()
@@ -22,9 +21,8 @@ diff -ruwN source-old/cmake/QtPlatformSupport.cmake source/cmake/QtPlatformSuppo
else()
set(WASM 0)
endif()
diff -ruwN source-old/cmake/QtMkspecHelpers.cmake source/cmake/QtMkspecHelpers.cmake
--- source-old/cmake/QtMkspecHelpers.cmake 2024-12-02 05:39:06.000000000 +0000
+++ source/cmake/QtMkspecHelpers.cmake 2026-04-13 00:00:00.000000000 +0000
--- source-old/cmake/QtMkspecHelpers.cmake
+++ source/cmake/QtMkspecHelpers.cmake
@@ -46,4 +46,8 @@
endif()
+ elseif(REDOX)
@@ -34,9 +32,8 @@ diff -ruwN source-old/cmake/QtPlatformSupport.cmake source/cmake/QtPlatformSuppo
elseif(LINUX)
if(GCC)
set(QT_DEFAULT_MKSPEC linux-g++)
diff -ruwN /dev/null source/mkspecs/redox-g++/qmake.conf
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ source/mkspecs/redox-g++/qmake.conf 2026-04-13 00:00:00.000000000 +0000
--- /dev/null
+++ source/mkspecs/redox-g++/qmake.conf
@@ -0,0 +1,14 @@
+#
+# qmake configuration for redox-g++
@@ -52,9 +49,8 @@ diff -ruwN /dev/null source/mkspecs/redox-g++/qmake.conf
+include(../common/g++-unix.conf)
+
+load(qt_config)
diff -ruwN /dev/null source/mkspecs/redox-g++/qplatformdefs.h
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ source/mkspecs/redox-g++/qplatformdefs.h 2026-04-13 00:00:00.000000000 +0000
--- /dev/null
+++ source/mkspecs/redox-g++/qplatformdefs.h
@@ -0,0 +1,27 @@
+// Copyright (C) 2026 Red Bear OS contributors
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
@@ -83,33 +79,29 @@ diff -ruwN /dev/null source/mkspecs/redox-g++/qplatformdefs.h
+#define QT_VSNPRINTF ::vsnprintf
+
+#endif // QPLATFORMDEFS_H
diff -ruwN /dev/null source/src/corelib/private/qcore_unix_p.h
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ source/src/corelib/private/qcore_unix_p.h 2026-04-13 00:00:00.000000000 +0000
--- /dev/null
+++ source/src/corelib/private/qcore_unix_p.h
@@ -0,0 +1,4 @@
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#include "../kernel/qcore_unix_p.h"
+
diff -ruwN /dev/null source/src/corelib/private/qeventdispatcher_unix_p.h
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ source/src/corelib/private/qeventdispatcher_unix_p.h 2026-04-13 00:00:00.000000000 +0000
--- /dev/null
+++ source/src/corelib/private/qeventdispatcher_unix_p.h
@@ -0,0 +1,4 @@
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#include "../kernel/qeventdispatcher_unix_p.h"
+
diff -ruwN /dev/null source/src/corelib/private/qtimerinfo_unix_p.h
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ source/src/corelib/private/qtimerinfo_unix_p.h 2026-04-13 00:00:00.000000000 +0000
--- /dev/null
+++ source/src/corelib/private/qtimerinfo_unix_p.h
@@ -0,0 +1,4 @@
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#include "../kernel/qtimerinfo_unix_p.h"
+
diff -ruwN source-old/src/corelib/global/qsystemdetection.h source/src/corelib/global/qsystemdetection.h
--- source-old/src/corelib/global/qsystemdetection.h 2024-12-02 05:39:06.000000000 +0000
+++ source/src/corelib/global/qsystemdetection.h 2026-04-13 00:00:00.000000000 +0000
--- source-old/src/corelib/global/qsystemdetection.h
+++ source/src/corelib/global/qsystemdetection.h
@@ -30,6 +30,7 @@
HURD - GNU Hurd
QNX - QNX [has variants]
@@ -127,9 +119,8 @@ diff -ruwN source-old/src/corelib/global/qsystemdetection.h source/src/corelib/g
#elif defined(__MAKEDEPEND__)
#else
# error "Qt has not been ported to this OS - see http://www.qt-project.org/"
diff -ruwN source-old/src/corelib/kernel/qcore_unix_p.h source/src/corelib/kernel/qcore_unix_p.h
--- source-old/src/corelib/kernel/qcore_unix_p.h 2024-12-02 05:39:06.000000000 +0000
+++ source/src/corelib/kernel/qcore_unix_p.h 2026-05-05 00:00:00.000000000 +0000
--- source-old/src/corelib/kernel/qcore_unix_p.h
+++ source/src/corelib/kernel/qcore_unix_p.h
@@ -245,7 +245,13 @@
{
// everyone already has O_CLOEXEC
@@ -144,9 +135,8 @@ diff -ruwN source-old/src/corelib/kernel/qcore_unix_p.h source/src/corelib/kerne
return fd;
}
#endif
diff -ruwN source-old/src/gui/CMakeLists.txt source/src/gui/CMakeLists.txt
--- source-old/src/gui/CMakeLists.txt 2024-12-02 05:39:06.000000000 +0000
+++ source/src/gui/CMakeLists.txt 2026-04-13 00:00:00.000000000 +0000
--- source-old/src/gui/CMakeLists.txt
+++ source/src/gui/CMakeLists.txt
@@ -20,6 +20,8 @@
set(_default_platform "eglfs")
elseif(HAIKU)
@@ -156,9 +146,8 @@ diff -ruwN source-old/src/gui/CMakeLists.txt source/src/gui/CMakeLists.txt
elseif(WASM)
set(_default_platform "wasm")
else()
diff -ruwN source-old/src/plugins/platforms/CMakeLists.txt source/src/plugins/platforms/CMakeLists.txt
--- source-old/src/plugins/platforms/CMakeLists.txt 2024-12-02 05:39:06.000000000 +0000
+++ source/src/plugins/platforms/CMakeLists.txt 2026-04-13 00:00:00.000000000 +0000
--- source-old/src/plugins/platforms/CMakeLists.txt
+++ source/src/plugins/platforms/CMakeLists.txt
@@ -22,6 +22,9 @@
if(QNX)
add_subdirectory(qnx)
@@ -169,9 +158,8 @@ diff -ruwN source-old/src/plugins/platforms/CMakeLists.txt source/src/plugins/pl
if(QT_FEATURE_eglfs)
add_subdirectory(eglfs)
add_subdirectory(minimalegl)
diff -ruwN /dev/null source/src/plugins/platforms/redox/CMakeLists.txt
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ source/src/plugins/platforms/redox/CMakeLists.txt 2026-04-13 00:00:00.000000000 +0000
--- /dev/null
+++ source/src/plugins/platforms/redox/CMakeLists.txt
@@ -0,0 +1,14 @@
+# SPDX-License-Identifier: BSD-3-Clause
+
@@ -187,9 +175,8 @@ diff -ruwN /dev/null source/src/plugins/platforms/redox/CMakeLists.txt
+ Qt::Gui
+ Qt::GuiPrivate
+)
diff -ruwN /dev/null source/src/plugins/platforms/redox/main.cpp
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ source/src/plugins/platforms/redox/main.cpp 2026-04-13 00:00:00.000000000 +0000
--- /dev/null
+++ source/src/plugins/platforms/redox/main.cpp
@@ -0,0 +1,28 @@
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
@@ -219,16 +206,14 @@ diff -ruwN /dev/null source/src/plugins/platforms/redox/main.cpp
+QT_END_NAMESPACE
+
+#include "main.moc"
diff -ruwN /dev/null source/src/plugins/platforms/redox/redox.json
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ source/src/plugins/platforms/redox/redox.json 2026-04-13 00:00:00.000000000 +0000
--- /dev/null
+++ source/src/plugins/platforms/redox/redox.json
@@ -0,0 +1,3 @@
+{
+ "Keys": [ "redox" ]
+}
diff -ruwN source-old/src/3rdparty/sha3/brg_endian.h source/src/3rdparty/sha3/brg_endian.h
--- source-old/src/3rdparty/sha3/brg_endian.h 2024-12-02 05:39:06.000000000 +0000
+++ source/src/3rdparty/sha3/brg_endian.h 2026-04-13 00:00:00.000000000 +0000
--- source-old/src/3rdparty/sha3/brg_endian.h
+++ source/src/3rdparty/sha3/brg_endian.h
@@ -45,6 +45,8 @@
# if !defined( __MINGW32__ ) && !defined( _AIX ) && !defined(Q_OS_QNX)
# include <endian.h>
@@ -239,9 +224,8 @@ diff -ruwN source-old/src/3rdparty/sha3/brg_endian.h source/src/3rdparty/sha3/br
# include <byteswap.h>
# endif
# endif
diff -ruwN source-old/src/corelib/io/qstorageinfo_unix.cpp source/src/corelib/io/qstorageinfo_unix.cpp
--- source-old/src/corelib/io/qstorageinfo_unix.cpp 2024-12-02 05:39:06.000000000 +0000
+++ source/src/corelib/io/qstorageinfo_unix.cpp 2026-05-05 00:00:00.000000000 +0000
--- source-old/src/corelib/io/qstorageinfo_unix.cpp
+++ source/src/corelib/io/qstorageinfo_unix.cpp
@@ -51,6 +51,12 @@
# if !defined(_STATFS_F_FLAGS) && !defined(Q_OS_NETBSD)
# define _STATFS_F_FLAGS 1
@@ -256,9 +240,8 @@ diff -ruwN source-old/src/corelib/io/qstorageinfo_unix.cpp source/src/corelib/io
# define QT_STATFSBUF struct statvfs
# define QT_STATFS ::statvfs
diff -ruwN source-old/configure.cmake source/configure.cmake
--- source-old/configure.cmake 2024-12-02 05:39:06.000000000 +0000
+++ source/configure.cmake 2026-04-15 00:00:00.000000000 +0000
--- source-old/configure.cmake
+++ source/configure.cmake
@@ -1233,7 +1233,7 @@
qt_feature("intelcet" PRIVATE
LABEL "Using Intel Control-flow Enforcement Technology (CET)"
@@ -268,9 +251,8 @@ diff -ruwN source-old/configure.cmake source/configure.cmake
)
qt_feature_config("intelcet" QMAKE_PUBLIC_CONFIG)
qt_feature("glibc_fortify_source" PRIVATE
diff -ruwN source-old/cmake/QtBaseConfigureTests.cmake source/cmake/QtBaseConfigureTests.cmake
--- source-old/cmake/QtBaseConfigureTests.cmake 2024-12-02 05:39:06.000000000 +0000
+++ source/cmake/QtBaseConfigureTests.cmake 2026-05-05 00:00:00.000000000 +0000
--- source-old/cmake/QtBaseConfigureTests.cmake
+++ source/cmake/QtBaseConfigureTests.cmake
@@ -265,6 +265,25 @@
set(TEST_subarch_sse4_1 FALSE CACHE BOOL INTERNAL FORCE)
set(TEST_subarch_sse4_2 FALSE CACHE BOOL INTERNAL FORCE)
@@ -298,9 +280,8 @@ diff -ruwN source-old/cmake/QtBaseConfigureTests.cmake source/cmake/QtBaseConfig
function(qt_internal_print_cmake_darwin_info)
diff -ruwN source-old/src/corelib/plugin/qelfparser_p.cpp source/src/corelib/plugin/qelfparser_p.cpp
--- source-old/src/corelib/plugin/qelfparser_p.cpp 2024-12-02 05:39:06.000000000 +0000
+++ source/src/corelib/plugin/qelfparser_p.cpp 2026-04-15 00:00:00.000000000 +0000
--- source-old/src/corelib/plugin/qelfparser_p.cpp
+++ source/src/corelib/plugin/qelfparser_p.cpp
@@ -177,5 +177,8 @@
static bool checkElfVersion(const uchar *ident)
{
@@ -319,9 +300,8 @@ diff -ruwN source-old/src/corelib/plugin/qelfparser_p.cpp source/src/corelib/plu
return header.e_version == EV_CURRENT;
}
diff -ruwN source-old/src/corelib/global/qsimd.cpp source/src/corelib/global/qsimd.cpp
--- source-old/src/corelib/global/qsimd.cpp 2024-12-02 05:39:06.000000000 +0000
+++ source/src/corelib/global/qsimd.cpp 2026-05-05 00:00:00.000000000 +0000
--- source-old/src/corelib/global/qsimd.cpp
+++ source/src/corelib/global/qsimd.cpp
@@ -377,7 +377,11 @@
#endif
static void xgetbv(uint in, uint &eax, uint &edx)
@@ -336,9 +316,8 @@ diff -ruwN source-old/src/corelib/global/qsimd.cpp source/src/corelib/global/qsi
: "=a" (eax), "=d" (edx)
: "c" (in));
diff -ruwN /dev/null source/src/corelib/global/qt_float16_shims.c
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ source/src/corelib/global/qt_float16_shims.c 2026-04-13 00:00:00.000000000 +0000
--- /dev/null
+++ source/src/corelib/global/qt_float16_shims.c
@@ -0,0 +1,167 @@
+/*
+ * IEEE 754 half-precision soft-float conversion shims for Redox OS
@@ -507,9 +486,8 @@ diff -ruwN /dev/null source/src/corelib/global/qt_float16_shims.c
+ float fb = __extendhfsf2(b);
+ return fa != fa || fb != fb;
+}
diff -ruwN source-old/src/corelib/CMakeLists.txt source/src/corelib/CMakeLists.txt
--- source-old/src/corelib/CMakeLists.txt 2024-12-02 05:39:06.000000000 +0000
+++ source/src/corelib/CMakeLists.txt 2026-04-13 00:00:00.000000000 +0000
--- source-old/src/corelib/CMakeLists.txt
+++ source/src/corelib/CMakeLists.txt
@@ -61,5 +61,6 @@
global/qfloat16.cpp global/qfloat16.h
+ global/qt_float16_shims.c
@@ -517,46 +495,28 @@ diff -ruwN source-old/src/corelib/CMakeLists.txt source/src/corelib/CMakeLists.t
global/qfunctionpointer.h
global/qgettid_p.h
global/qglobal.cpp global/qglobal.h global/qglobal_p.h
diff -ruwN source-old/src/plugins/platforms/wayland/qwaylanddisplay.cpp source/src/plugins/platforms/wayland/qwaylanddisplay.cpp
--- source-old/src/plugins/platforms/wayland/qwaylanddisplay.cpp 2025-05-27 09:11:00.000000000 +0000
+++ source/src/plugins/platforms/wayland/qwaylanddisplay.cpp 2026-05-06 00:00:00.000000000 +0000
@@ -526,16 +526,29 @@
void QWaylandDisplay::flushRequests()
{
+#ifdef Q_OS_REDOX
+ if (!m_eventThread) {
+ wl_display_dispatch_pending(mDisplay);
+ wl_display_flush(mDisplay);
+ return;
+ }
+#endif
m_eventThread->readAndDispatchEvents();
}
--- source-old/src/plugins/platforms/wayland/hardwareintegration/qwaylandclientbufferintegration_p.h
+++ source/src/plugins/platforms/wayland/hardwareintegration/qwaylandclientbufferintegration_p.h
@@ -52,10 +52,14 @@
virtual bool supportsWindowDecoration() const { return false; }
// We have to wait until we have an eventDispatcher before creating the eventThread,
// otherwise forceRoundTrip() may block inside _events_read() because eventThread is
// polling.
void QWaylandDisplay::initEventThread()
{
+#ifdef Q_OS_REDOX
+ if (!m_frameEventQueue)
+ m_frameEventQueue = wl_display_create_queue(mDisplay);
+ return;
virtual QWaylandWindow *createEglWindow(QWindow *window) = 0;
+#if QT_CONFIG(opengl)
virtual QPlatformOpenGLContext *createPlatformOpenGLContext(const QSurfaceFormat &glFormat, QPlatformOpenGLContext *share) const = 0;
+#endif
m_eventThread.reset(
new EventThread(mDisplay, /* default queue */ nullptr, EventThread::EmitToDispatch));
connect(m_eventThread.get(), &EventThread::needReadAndDispatch, this,
+diff -ruwN source-old/src/plugins/platforms/wayland/qwaylanddisplay.cpp source/src/plugins/platforms/wayland/qwaylanddisplay.cpp
+--- source-old/src/plugins/platforms/wayland/qwaylanddisplay.cpp 2025-05-27 09:11:00.000000000 +0000
++++ source/src/plugins/platforms/wayland/qwaylanddisplay.cpp 2026-05-06 00:00:00.000000000 +0000
+@@ -338,7 +338,12 @@
+ void QWaylandDisplay::setupConnection()
+ {
+ struct ::wl_registry *registry = wl_display_get_registry(mDisplay);
++ if (!registry) {
++ qCritical("QWaylandDisplay: wl_display_get_registry() returned NULL");
++ _exit(1);
++ }
+ init(registry);
+
+ #if QT_CONFIG(xkbcommon)
virtual bool canCreatePlatformOffscreenSurface() const { return false; }
+#if QT_CONFIG(opengl)
virtual QOpenGLContext *createOpenGLContext(EGLContext context, EGLDisplay contextDisplay, QOpenGLContext *shareContext) const = 0;
virtual QPlatformOffscreenSurface *createPlatformOffscreenSurface(QOffscreenSurface *surface) const { Q_UNUSED(surface); return nullptr; }
+#endif
enum NativeResource {
EglDisplay,
@@ -65,7 +69,9 @@
};
virtual void *nativeResource(NativeResource /*resource*/) { return nullptr; }
+#if QT_CONFIG(opengl)
virtual void *nativeResourceForContext(NativeResource /*resource*/, QPlatformOpenGLContext */*context*/) { return nullptr; }
+#endif
};