From 5c3c83fef5fb694fb9385709d05062fa3e08d13f Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Mon, 30 May 2016 15:40:30 +0200 Subject: [PATCH] Added patch to check if menu text is a valid string in MENU_DrawMenuItem. --- patches/patchinstall.sh | 21 ++++++++++++++- ...ck-if-the-menu-text-is-a-valid-strin.patch | 26 +++++++++++++++++++ patches/user32-DrawMenuItem/definition | 1 + staging/VERSION | 2 +- 4 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 patches/user32-DrawMenuItem/0001-user32-Add-a-check-if-the-menu-text-is-a-valid-strin.patch create mode 100644 patches/user32-DrawMenuItem/definition diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 1d32623d..62f3f34e 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -57,7 +57,7 @@ upstream_commit() # Show version information version() { - echo "Wine Staging 1.9.11" + echo "Wine Staging 1.9.12 (unreleased)" echo "Copyright (C) 2014-2016 the Wine Staging project authors." echo "" echo "Patchset to be applied on upstream Wine:" @@ -331,6 +331,7 @@ patch_enable_all () enable_user32_DeferWindowPos="$1" enable_user32_DialogBoxParam="$1" enable_user32_Dialog_Paint_Event="$1" + enable_user32_DrawMenuItem="$1" enable_user32_DrawTextExW="$1" enable_user32_GetSystemMetrics="$1" enable_user32_Invalidate_Key_State="$1" @@ -1173,6 +1174,9 @@ patch_enable () user32-Dialog_Paint_Event) enable_user32_Dialog_Paint_Event="$2" ;; + user32-DrawMenuItem) + enable_user32_DrawMenuItem="$2" + ;; user32-DrawTextExW) enable_user32_DrawTextExW="$2" ;; @@ -6811,6 +6815,21 @@ if test "$enable_user32_Dialog_Paint_Event" -eq 1; then ) >> "$patchlist" fi +# Patchset user32-DrawMenuItem +# | +# | This patchset fixes the following Wine bugs: +# | * [#40704] Add a check if the menu text is a valid string in MENU_DrawMenuItem +# | +# | Modified files: +# | * dlls/user32/menu.c +# | +if test "$enable_user32_DrawMenuItem" -eq 1; then + patch_apply user32-DrawMenuItem/0001-user32-Add-a-check-if-the-menu-text-is-a-valid-strin.patch + ( + echo '+ { "Dmitry Timoshkov", "user32: Add a check if the menu text is a valid string.", 1 },'; + ) >> "$patchlist" +fi + # Patchset user32-DrawTextExW # | # | This patchset fixes the following Wine bugs: diff --git a/patches/user32-DrawMenuItem/0001-user32-Add-a-check-if-the-menu-text-is-a-valid-strin.patch b/patches/user32-DrawMenuItem/0001-user32-Add-a-check-if-the-menu-text-is-a-valid-strin.patch new file mode 100644 index 00000000..0ebcce8e --- /dev/null +++ b/patches/user32-DrawMenuItem/0001-user32-Add-a-check-if-the-menu-text-is-a-valid-strin.patch @@ -0,0 +1,26 @@ +From 67313bff113c1ea8df68d6117fa17bfa10a260d2 Mon Sep 17 00:00:00 2001 +From: Dmitry Timoshkov +Date: Mon, 30 May 2016 17:14:13 +0800 +Subject: user32: Add a check if the menu text is a valid string. + +Fixes #40704. +--- + dlls/user32/menu.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dlls/user32/menu.c b/dlls/user32/menu.c +index e42d8f7..e1b78ca 100644 +--- a/dlls/user32/menu.c ++++ b/dlls/user32/menu.c +@@ -1658,7 +1658,7 @@ static void MENU_DrawMenuItem( HWND hwnd, HMENU hmenu, HWND hwndOwner, HDC hdc, + SetViewportOrgEx( hdc, origorg.x, origorg.y, NULL); + } + /* process text if present */ +- if (lpitem->text) ++ if (!IS_INTRESOURCE(lpitem->text)) + { + int i; + HFONT hfontOld = 0; +-- +2.8.0 + diff --git a/patches/user32-DrawMenuItem/definition b/patches/user32-DrawMenuItem/definition new file mode 100644 index 00000000..061a74f6 --- /dev/null +++ b/patches/user32-DrawMenuItem/definition @@ -0,0 +1 @@ +Fixes: [40704] Add a check if the menu text is a valid string in MENU_DrawMenuItem diff --git a/staging/VERSION b/staging/VERSION index 2ee7d591..444551cf 100644 --- a/staging/VERSION +++ b/staging/VERSION @@ -1 +1 @@ -Wine Staging 1.9.11 +Wine Staging 1.9.12 (unreleased)