This file is part of MXE. See LICENSE.md for licensing information.

Contains ad hoc patches for cross building.

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Martchus <martchus@gmx.net>
Date: Fri, 20 Nov 2020 18:32:31 +0100
Subject: [PATCH 1/2] Disable d3d12 requiring fxc.exe

* fxc.exe is not provided by WINE or mingw-w64 and hence not available
  in our build environment
* The version from https://github.com/mozilla/fxc2 builds but it does
  not support all CLI options required by Qt's build system
* The build error looks like this:
  ```
  make[5]: Entering directory '/build/mingw-w64-qt5-declarative/src/qtdeclarative-everywhere-src-5.15.2/build-i686-w64-mingw32-shared/src/plugins/scenegraph/d3d12'
  fxc.exe /nologo /E VS_VertexColor /T vs_5_0 /Fh vs_vertexcolor.hlslh /build/mingw-w64-qt5-declarative/src/qtdeclarative-everywhere-src-5.15.2/src/plugins/scenegraph/d3d12/shaders/vertexcolor.hlsl
  make[5]: fxc.exe: No such file or directory
  make[5]: *** [Makefile.Release:233: vs_vertexcolor.hlslh] Error 127
  ```
taken from:
https://aur.archlinux.org/cgit/aur.git/tree/0003-Disable-d3d12-requiring-fxc.exe.patch?h=mingw-w64-qt5-declarative

diff --git a/src/3rdparty/masm/yarr/Yarr.h b/src/3rdparty/masm/yarr/Yarr.h
index 1111111..2222222 100644
--- a/src/3rdparty/masm/yarr/Yarr.h
+++ b/src/3rdparty/masm/yarr/Yarr.h
@@ -27,6 +27,8 @@
 
 #pragma once
 
+#include <limits>
+
 #include <limits.h>
 #include <limits>
 #include "YarrErrorCode.h"
diff --git a/src/plugins/scenegraph/scenegraph.pro b/src/plugins/scenegraph/scenegraph.pro
index 1111111..2222222 100644
--- a/src/plugins/scenegraph/scenegraph.pro
+++ b/src/plugins/scenegraph/scenegraph.pro
@@ -1,5 +1,4 @@
 TEMPLATE = subdirs
 QT_FOR_CONFIG += quick
-qtConfig(d3d12): SUBDIRS += d3d12
 qtConfig(openvg): SUBDIRS += openvg
 

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Allan Sandfeld Jensen <allan.jensen@qt.io>
Date: Wed, 19 Jun 2019 12:54:43 +0200
Subject: [PATCH 2/2] Update hovered on disabled QQuickItems

Changes handling of hovered so that the property is still updated on
disabled items, so that other items can bind to it. This is in
particular useful for tooltips.

[ChangeLog][Behavior Changes] QQuickItem::hovered will now update even
when the item is disabled.

Fixes: QTBUG-30801
Pick-to: 6.0
Change-Id: Id17298f657d7631b0e5019138ba33a7d5f863475
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>

diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp
index 1111111..2222222 100644
--- a/src/quick/items/qquickwindow.cpp
+++ b/src/quick/items/qquickwindow.cpp
@@ -2112,7 +2112,9 @@ bool QQuickWindowPrivate::deliverHoverEvent(QQuickItem *item, const QPointF &sce
         QList<QQuickItem *> children = itemPrivate->paintOrderChildItems();
         for (int ii = children.count() - 1; ii >= 0; --ii) {
             QQuickItem *child = children.at(ii);
-            if (!child->isVisible() || !child->isEnabled() || QQuickItemPrivate::get(child)->culled)
+            if (!child->isVisible() || QQuickItemPrivate::get(child)->culled)
+                continue;
+            if (!child->isEnabled() && !QQuickItemPrivate::get(child)->subtreeHoverEnabled)
                 continue;
             if (deliverHoverEvent(child, scenePos, lastScenePos, modifiers, timestamp, accepted))
                 return true;
diff --git a/tests/auto/quick/qquickitem/tst_qquickitem.cpp b/tests/auto/quick/qquickitem/tst_qquickitem.cpp
index 1111111..2222222 100644
--- a/tests/auto/quick/qquickitem/tst_qquickitem.cpp
+++ b/tests/auto/quick/qquickitem/tst_qquickitem.cpp
@@ -1657,7 +1657,7 @@ void tst_qquickitem::hoverEvent()
     sendMouseMove(window, inside);
     sendMouseMove(window, outside);
 
-    const bool shouldReceiveHoverEvents = visible && enabled && acceptHoverEvents;
+    const bool shouldReceiveHoverEvents = visible && acceptHoverEvents;
     if (shouldReceiveHoverEvents) {
         QCOMPARE(item->hoverEnterCount, 1);
         QCOMPARE(item->hoverMoveCount, 2);
