summaryrefslogtreecommitdiff
path: root/gui-apps/quickshell/files/quickshell-0.3.0-strict-aliasing.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gui-apps/quickshell/files/quickshell-0.3.0-strict-aliasing.patch')
-rw-r--r--gui-apps/quickshell/files/quickshell-0.3.0-strict-aliasing.patch18
1 files changed, 18 insertions, 0 deletions
diff --git a/gui-apps/quickshell/files/quickshell-0.3.0-strict-aliasing.patch b/gui-apps/quickshell/files/quickshell-0.3.0-strict-aliasing.patch
new file mode 100644
index 000000000000..1d3e149f9856
--- /dev/null
+++ b/gui-apps/quickshell/files/quickshell-0.3.0-strict-aliasing.patch
@@ -0,0 +1,18 @@
+Fixes strict-aliasing error when building with LTO
+From: https://github.com/noctalia-dev/noctalia-qs/commit/46e60df2d6ebb4d52d5bde8a63a9a6255e556097
+
+--- a/src/core/model.hpp
++++ b/src/core/model.hpp
+@@ -170,7 +170,11 @@
+ }
+
+ [[nodiscard]] QList<QObject*> values() override {
+- return *reinterpret_cast<QList<QObject*>*>(&this->mValuesList);
++ QList<QObject*> result;
++ result.reserve(this->mValuesList.size());
++ for (auto* item: this->mValuesList)
++ result.append(reinterpret_cast<QObject*>(item));
++ return result;
+ }
+
+ private: