From 61c3c024a22f0699b4c046386afcfffea1625b86 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Fri, 3 Dec 2021 11:06:11 +1100 Subject: [PATCH] Rebase against 27584c14497163dc2a15a9e8db9ddd40d3a516f8. --- ...ont-fallback-when-mapping-characters.patch | 22 +++++----- patches/patchinstall.sh | 2 +- ...v-Add-support-for-_NET_ACTIVE_WINDOW.patch | 40 +++++++++---------- staging/upstream-commit | 2 +- 4 files changed, 33 insertions(+), 33 deletions(-) diff --git a/patches/dwrite-FontFallback/0004-dwrite-Use-font-fallback-when-mapping-characters.patch b/patches/dwrite-FontFallback/0004-dwrite-Use-font-fallback-when-mapping-characters.patch index e0cee56d..9fc682cc 100644 --- a/patches/dwrite-FontFallback/0004-dwrite-Use-font-fallback-when-mapping-characters.patch +++ b/patches/dwrite-FontFallback/0004-dwrite-Use-font-fallback-when-mapping-characters.patch @@ -1,4 +1,4 @@ -From cb01601870a6299e0da0a956269ef24ed79d5035 Mon Sep 17 00:00:00 2001 +From 0c01c25728780e3419f37ef612b14cc7e29f65f5 Mon Sep 17 00:00:00 2001 From: Lucian Poston Date: Mon, 21 May 2018 18:13:00 -0700 Subject: [PATCH] dwrite: Use font fallback when mapping characters @@ -11,10 +11,10 @@ Signed-off-by: Lucian Poston 3 files changed, 74 insertions(+), 63 deletions(-) diff --git a/dlls/dwrite/analyzer.c b/dlls/dwrite/analyzer.c -index 6b74a23540a..5827e87fdf5 100644 +index 7112ca71932..43f8c659bfd 100644 --- a/dlls/dwrite/analyzer.c +++ b/dlls/dwrite/analyzer.c -@@ -2062,6 +2062,7 @@ static HRESULT fallback_get_fallback_font(struct dwrite_fontfallback *fallback, +@@ -2088,6 +2088,7 @@ static HRESULT fallback_get_fallback_font(struct dwrite_fontfallback *fallback, IDWriteFont **mapped_font) { const struct fallback_mapping *mapping; @@ -22,7 +22,7 @@ index 6b74a23540a..5827e87fdf5 100644 HRESULT hr; UINT32 i; -@@ -2073,9 +2074,15 @@ static HRESULT fallback_get_fallback_font(struct dwrite_fontfallback *fallback, +@@ -2099,9 +2100,15 @@ static HRESULT fallback_get_fallback_font(struct dwrite_fontfallback *fallback, return E_FAIL; } @@ -39,7 +39,7 @@ index 6b74a23540a..5827e87fdf5 100644 weight, style, stretch, mapped_font); if (hr == S_OK) { TRACE("Created fallback font using family %s.\n", debugstr_w(mapping->families[i])); -@@ -2132,32 +2139,66 @@ static HRESULT WINAPI fontfallback_MapCharacters(IDWriteFontFallback1 *iface, ID +@@ -2158,32 +2165,66 @@ static HRESULT WINAPI fontfallback_MapCharacters(IDWriteFontFallback1 *iface, ID if (basefamily && *basefamily) { hr = create_matching_font(basecollection, basefamily, weight, style, stretch, ret_font); @@ -121,13 +121,13 @@ index 6b74a23540a..5827e87fdf5 100644 + } + done: - heap_free(buff); + free(buff); return hr; diff --git a/dlls/dwrite/layout.c b/dlls/dwrite/layout.c -index 99048b97a3c..64d8eef6f59 100644 +index f28c71082c0..9a884824b76 100644 --- a/dlls/dwrite/layout.c +++ b/dlls/dwrite/layout.c -@@ -958,6 +958,12 @@ static HRESULT layout_resolve_fonts(struct dwrite_textlayout *layout) +@@ -964,6 +964,12 @@ static HRESULT layout_resolve_fonts(struct dwrite_textlayout *layout) goto fatal; } @@ -141,7 +141,7 @@ index 99048b97a3c..64d8eef6f59 100644 IDWriteFont_Release(font); if (FAILED(hr)) { diff --git a/dlls/dwrite/tests/layout.c b/dlls/dwrite/tests/layout.c -index cea581a0bef..ecefbe9c87a 100644 +index a1bff0d26d6..929d6ec1cc2 100644 --- a/dlls/dwrite/tests/layout.c +++ b/dlls/dwrite/tests/layout.c @@ -3368,35 +3368,23 @@ todo_wine @@ -268,7 +268,7 @@ index cea581a0bef..ecefbe9c87a 100644 exists = FALSE; hr = IDWriteFont_GetInformationalStrings(font, DWRITE_INFORMATIONAL_STRING_WIN32_FAMILY_NAMES, &strings, &exists); -@@ -6564,34 +6540,22 @@ static void test_GetMetrics_with_custom_fontcollection(void) +@@ -6669,34 +6645,22 @@ static void test_GetMetrics_with_custom_fontcollection(void) ok(hr == S_OK, "got 0x%08x\n", hr); count = 9999; hr = IDWriteTextLayout_GetClusterMetrics(layout, clusters, 4, &count); @@ -304,5 +304,5 @@ index cea581a0bef..ecefbe9c87a 100644 IDWriteTextLayout_Release(layout); -- -2.20.1 +2.33.0 diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 9610910e..2755a577 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -51,7 +51,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "6282718c73bdf1648f18764c51671a57cef3c526" + echo "27584c14497163dc2a15a9e8db9ddd40d3a516f8" } # Show version information diff --git a/patches/winex11-_NET_ACTIVE_WINDOW/0001-winex11.drv-Add-support-for-_NET_ACTIVE_WINDOW.patch b/patches/winex11-_NET_ACTIVE_WINDOW/0001-winex11.drv-Add-support-for-_NET_ACTIVE_WINDOW.patch index ca381c28..0f8ccd94 100644 --- a/patches/winex11-_NET_ACTIVE_WINDOW/0001-winex11.drv-Add-support-for-_NET_ACTIVE_WINDOW.patch +++ b/patches/winex11-_NET_ACTIVE_WINDOW/0001-winex11.drv-Add-support-for-_NET_ACTIVE_WINDOW.patch @@ -1,4 +1,4 @@ -From 51c2e2f0cd60b07077c6f3169924d4aea696ea31 Mon Sep 17 00:00:00 2001 +From 69c2c3be2a4789a8065866f63dd65997e1d6c4cb Mon Sep 17 00:00:00 2001 From: Dmitry Timoshkov Date: Wed, 10 Feb 2016 15:09:29 +0800 Subject: [PATCH] winex11.drv: Add support for _NET_ACTIVE_WINDOW. (v2) @@ -19,10 +19,10 @@ For bug #2155. 9 files changed, 72 insertions(+), 1 deletion(-) diff --git a/dlls/user32/driver.c b/dlls/user32/driver.c -index 1b7cdece90d..c51974649b5 100644 +index cb30ca942e5..28d77e99256 100644 --- a/dlls/user32/driver.c +++ b/dlls/user32/driver.c -@@ -154,6 +154,10 @@ static void CDECL nulldrv_ReleaseDC( HWND hwnd, HDC hdc ) +@@ -153,6 +153,10 @@ static void CDECL nulldrv_ReleaseDC( HWND hwnd, HDC hdc ) { } @@ -33,7 +33,7 @@ index 1b7cdece90d..c51974649b5 100644 static void CDECL nulldrv_SetCapture( HWND hwnd, UINT flags ) { } -@@ -362,6 +366,7 @@ static struct user_driver_funcs lazy_load_driver = +@@ -339,6 +343,7 @@ static struct user_driver_funcs lazy_load_driver = nulldrv_MsgWaitForMultipleObjectsEx, nulldrv_ReleaseDC, NULL, @@ -55,10 +55,10 @@ index 775a8f428c1..bd6d12cd355 100644 if (focus) { diff --git a/dlls/win32u/driver.c b/dlls/win32u/driver.c -index 119bda91fd1..635924f231a 100644 +index e9b3781f461..10a3fce2585 100644 --- a/dlls/win32u/driver.c +++ b/dlls/win32u/driver.c -@@ -914,6 +914,10 @@ static BOOL CDECL nulldrv_ScrollDC( HDC hdc, INT dx, INT dy, HRGN update ) +@@ -896,6 +896,10 @@ static BOOL CDECL nulldrv_ScrollDC( HDC hdc, INT dx, INT dy, HRGN update ) hdc, rect.left - dx, rect.top - dy, SRCCOPY, 0, 0 ); } @@ -69,7 +69,7 @@ index 119bda91fd1..635924f231a 100644 static void CDECL nulldrv_SetCapture( HWND hwnd, UINT flags ) { } -@@ -1105,6 +1109,7 @@ void CDECL __wine_set_display_driver( struct user_driver_funcs *driver, UINT ver +@@ -1106,6 +1110,7 @@ void CDECL __wine_set_display_driver( struct user_driver_funcs *driver, UINT ver SET_USER_FUNC(MsgWaitForMultipleObjectsEx); SET_USER_FUNC(ReleaseDC); SET_USER_FUNC(ScrollDC); @@ -101,10 +101,10 @@ index 6a4f3b5db08..50cb77037c1 100644 Foreground window, because in most cases the messages sent above must have already changed the foreground window, in which diff --git a/dlls/winex11.drv/init.c b/dlls/winex11.drv/init.c -index 7959ee46966..63cb0dad0f7 100644 +index d9bdd2b6e3f..9b4ec242ec8 100644 --- a/dlls/winex11.drv/init.c +++ b/dlls/winex11.drv/init.c -@@ -412,6 +412,7 @@ static const struct user_driver_funcs x11drv_funcs = +@@ -413,6 +413,7 @@ static const struct user_driver_funcs x11drv_funcs = .pMsgWaitForMultipleObjectsEx = X11DRV_MsgWaitForMultipleObjectsEx, .pReleaseDC = X11DRV_ReleaseDC, .pScrollDC = X11DRV_ScrollDC, @@ -113,10 +113,10 @@ index 7959ee46966..63cb0dad0f7 100644 .pSetFocus = X11DRV_SetFocus, .pSetLayeredWindowAttributes = X11DRV_SetLayeredWindowAttributes, diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c -index f249f48e26a..d89809f211e 100644 +index 8d60c9f1fca..5b53ab73138 100644 --- a/dlls/winex11.drv/window.c +++ b/dlls/winex11.drv/window.c -@@ -2229,6 +2229,54 @@ BOOL CDECL X11DRV_ScrollDC( HDC hdc, INT dx, INT dy, HRGN update ) +@@ -2239,6 +2239,54 @@ BOOL CDECL X11DRV_ScrollDC( HDC hdc, INT dx, INT dy, HRGN update ) } @@ -172,10 +172,10 @@ index f249f48e26a..d89809f211e 100644 * SetCapture (X11DRV.@) */ diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h -index a7d7c1c5925..6dadf2ea6bd 100644 +index 9b6d83ae4f3..8d9511cb579 100644 --- a/dlls/winex11.drv/x11drv.h +++ b/dlls/winex11.drv/x11drv.h -@@ -217,6 +217,7 @@ extern void CDECL X11DRV_GetDC( HDC hdc, HWND hwnd, HWND top, const RECT *win_re +@@ -219,6 +219,7 @@ extern void CDECL X11DRV_GetDC( HDC hdc, HWND hwnd, HWND top, const RECT *win_re const RECT *top_rect, DWORD flags ) DECLSPEC_HIDDEN; extern void CDECL X11DRV_ReleaseDC( HWND hwnd, HDC hdc ) DECLSPEC_HIDDEN; extern BOOL CDECL X11DRV_ScrollDC( HDC hdc, INT dx, INT dy, HRGN update ) DECLSPEC_HIDDEN; @@ -183,7 +183,7 @@ index a7d7c1c5925..6dadf2ea6bd 100644 extern void CDECL X11DRV_SetCapture( HWND hwnd, UINT flags ) DECLSPEC_HIDDEN; extern void CDECL X11DRV_SetLayeredWindowAttributes( HWND hwnd, COLORREF key, BYTE alpha, DWORD flags ) DECLSPEC_HIDDEN; -@@ -384,6 +385,7 @@ struct x11drv_thread_data +@@ -386,6 +387,7 @@ struct x11drv_thread_data Display *display; XEvent *current_event; /* event currently being processed */ HWND grab_hwnd; /* window that currently grabs the mouse */ @@ -191,7 +191,7 @@ index a7d7c1c5925..6dadf2ea6bd 100644 HWND last_focus; /* last window that had focus */ XIM xim; /* input method */ HWND last_xic_hwnd; /* last xic window */ -@@ -493,6 +495,7 @@ enum x11drv_atoms +@@ -495,6 +497,7 @@ enum x11drv_atoms XATOM_DndSelection, XATOM__ICC_PROFILE, XATOM__MOTIF_WM_HINTS, @@ -200,7 +200,7 @@ index a7d7c1c5925..6dadf2ea6bd 100644 XATOM__NET_STARTUP_INFO, XATOM__NET_SUPPORTED, diff --git a/dlls/winex11.drv/x11drv_main.c b/dlls/winex11.drv/x11drv_main.c -index a38cc2b6139..09ca3d0c4bf 100644 +index bdd458182af..f775c2aa89b 100644 --- a/dlls/winex11.drv/x11drv_main.c +++ b/dlls/winex11.drv/x11drv_main.c @@ -160,6 +160,7 @@ static const char * const atom_names[NB_XATOMS - FIRST_XATOM] = @@ -212,19 +212,19 @@ index a38cc2b6139..09ca3d0c4bf 100644 "_NET_STARTUP_INFO", "_NET_SUPPORTED", diff --git a/include/wine/gdi_driver.h b/include/wine/gdi_driver.h -index e65b1873926..e0b37095a4c 100644 +index dd58e625801..97c3b0a4320 100644 --- a/include/wine/gdi_driver.h +++ b/include/wine/gdi_driver.h @@ -167,7 +167,7 @@ struct gdi_dc_funcs }; /* increment this when you change the DC function table */ --#define WINE_GDI_DRIVER_VERSION 71 -+#define WINE_GDI_DRIVER_VERSION 72 +-#define WINE_GDI_DRIVER_VERSION 73 ++#define WINE_GDI_DRIVER_VERSION 74 #define GDI_PRIORITY_NULL_DRV 0 /* null driver */ #define GDI_PRIORITY_FONT_DRV 100 /* any font driver */ -@@ -267,6 +267,7 @@ struct user_driver_funcs +@@ -302,6 +302,7 @@ struct user_driver_funcs DWORD (CDECL *pMsgWaitForMultipleObjectsEx)(DWORD,const HANDLE*,DWORD,DWORD,DWORD); void (CDECL *pReleaseDC)(HWND,HDC); BOOL (CDECL *pScrollDC)(HDC,INT,INT,HRGN); diff --git a/staging/upstream-commit b/staging/upstream-commit index da312080..31f346bf 100644 --- a/staging/upstream-commit +++ b/staging/upstream-commit @@ -1 +1 @@ -6282718c73bdf1648f18764c51671a57cef3c526 +27584c14497163dc2a15a9e8db9ddd40d3a516f8