mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
Added patch to fix link notification conditions for riched20.
This commit is contained in:
parent
26eb2942d0
commit
a0f1f35843
@ -39,11 +39,12 @@ Wine. All those differences are also documented on the
|
||||
Included bug fixes and improvements
|
||||
-----------------------------------
|
||||
|
||||
**Bug fixes and features included in the next upcoming release [13]:**
|
||||
**Bug fixes and features included in the next upcoming release [14]:**
|
||||
|
||||
* Add implementation for kernel32.GetNumaProcessorNode ([Wine Bug #38660](https://bugs.winehq.org/show_bug.cgi?id=38660))
|
||||
* Allow to enable/disable InsertMode in wineconsole settings ([Wine Bug #38697](https://bugs.winehq.org/show_bug.cgi?id=38697))
|
||||
* Allow to set pixel format for desktop window
|
||||
* Fix link notification conditions for riched20 ([Wine Bug #35949](https://bugs.winehq.org/show_bug.cgi?id=35949))
|
||||
* Implement default homepage button in inetcpl.cpl
|
||||
* Implement mscoree._CorValidateImage for mono runtime ([Wine Bug #38662](https://bugs.winehq.org/show_bug.cgi?id=38662))
|
||||
* Implement proper handling of CLI .NET images in Wine library loader ([Wine Bug #38661](https://bugs.winehq.org/show_bug.cgi?id=38661))
|
||||
|
1
debian/changelog
vendored
1
debian/changelog
vendored
@ -31,6 +31,7 @@ wine-staging (1.7.45) UNRELEASED; urgency=low
|
||||
* Added patch to initialize
|
||||
System\CurrentControlSet\Control\TimeZoneInformation registry keys.
|
||||
* Added patch to implement default homepage button in inetcpl.cpl.
|
||||
* Added patch to fix link notification conditions for riched20.
|
||||
* Removed patch to handle '\r' as whitespace in wbemprox queries (accepted
|
||||
upstream).
|
||||
* Removed patch to make sure OpenClipboard with current owner doesn't fail
|
||||
|
@ -197,6 +197,7 @@ patch_enable_all ()
|
||||
enable_opengl32_Revert_Disable_Ext="$1"
|
||||
enable_quartz_MediaSeeking_Positions="$1"
|
||||
enable_riched20_IText_Interface="$1"
|
||||
enable_riched20_Link_Notification="$1"
|
||||
enable_rpcrt4_Pipe_Transport="$1"
|
||||
enable_rpcrt4_Use_After_Free="$1"
|
||||
enable_secur32_ANSI_NTLM_Credentials="$1"
|
||||
@ -662,6 +663,9 @@ patch_enable ()
|
||||
riched20-IText_Interface)
|
||||
enable_riched20_IText_Interface="$2"
|
||||
;;
|
||||
riched20-Link_Notification)
|
||||
enable_riched20_Link_Notification="$2"
|
||||
;;
|
||||
rpcrt4-Pipe_Transport)
|
||||
enable_rpcrt4_Pipe_Transport="$2"
|
||||
;;
|
||||
@ -4196,6 +4200,21 @@ if test "$enable_riched20_IText_Interface" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset riched20-Link_Notification
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#35949] Fix link notification conditions for riched20
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/riched20/editor.c, dlls/riched20/tests/editor.c
|
||||
# |
|
||||
if test "$enable_riched20_Link_Notification" -eq 1; then
|
||||
patch_apply riched20-Link_Notification/0001-riched20-Fix-link-notification-conditions-and-add-te.patch
|
||||
(
|
||||
echo '+ { "Alex Henrie", "riched20: Fix link notification conditions and add tests.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset rpcrt4-Use_After_Free
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@ -5083,57 +5102,6 @@ if test "$enable_wined3d_CSMT_Helper" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-UnhandledBlendFactor
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/wined3d/state.c
|
||||
# |
|
||||
if test "$enable_wined3d_UnhandledBlendFactor" -eq 1; then
|
||||
patch_apply wined3d-UnhandledBlendFactor/0001-wined3d-Silence-repeated-Unhandled-blend-factor-0-me.patch
|
||||
(
|
||||
echo '+ { "Sebastian Lackner", "wined3d: Silence repeated '\''Unhandled blend factor 0'\'' messages.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-wined3d_swapchain_present
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/wined3d/swapchain.c
|
||||
# |
|
||||
if test "$enable_wined3d_wined3d_swapchain_present" -eq 1; then
|
||||
patch_apply wined3d-wined3d_swapchain_present/0001-wined3d-Silence-repeated-wined3d_swapchain_present-F.patch
|
||||
(
|
||||
echo '+ { "Sebastian Lackner", "wined3d: Silence repeated wined3d_swapchain_present FIXME.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-resource_check_usage
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/wined3d/resource.c
|
||||
# |
|
||||
if test "$enable_wined3d_resource_check_usage" -eq 1; then
|
||||
patch_apply wined3d-resource_check_usage/0001-wined3d-Silence-repeated-resource_check_usage-FIXME.patch
|
||||
(
|
||||
echo '+ { "Erich E. Hoover", "wined3d: Silence repeated resource_check_usage FIXME.", 2 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-Multisampling
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#12652] Allow to override number of quality levels for D3DMULTISAMPLE_NONMASKABLE.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/wined3d/directx.c, dlls/wined3d/wined3d_main.c, dlls/wined3d/wined3d_private.h
|
||||
# |
|
||||
if test "$enable_wined3d_Multisampling" -eq 1; then
|
||||
patch_apply wined3d-Multisampling/0001-wined3d-Allow-to-specify-multisampling-AA-quality-le.patch
|
||||
(
|
||||
echo '+ { "Austin English", "wined3d: Allow to specify multisampling AA quality levels via registry.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-Revert_PixelFormat
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
@ -5168,6 +5136,57 @@ if test "$enable_wined3d_Revert_PixelFormat" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-resource_check_usage
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/wined3d/resource.c
|
||||
# |
|
||||
if test "$enable_wined3d_resource_check_usage" -eq 1; then
|
||||
patch_apply wined3d-resource_check_usage/0001-wined3d-Silence-repeated-resource_check_usage-FIXME.patch
|
||||
(
|
||||
echo '+ { "Erich E. Hoover", "wined3d: Silence repeated resource_check_usage FIXME.", 2 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-UnhandledBlendFactor
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/wined3d/state.c
|
||||
# |
|
||||
if test "$enable_wined3d_UnhandledBlendFactor" -eq 1; then
|
||||
patch_apply wined3d-UnhandledBlendFactor/0001-wined3d-Silence-repeated-Unhandled-blend-factor-0-me.patch
|
||||
(
|
||||
echo '+ { "Sebastian Lackner", "wined3d: Silence repeated '\''Unhandled blend factor 0'\'' messages.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-wined3d_swapchain_present
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/wined3d/swapchain.c
|
||||
# |
|
||||
if test "$enable_wined3d_wined3d_swapchain_present" -eq 1; then
|
||||
patch_apply wined3d-wined3d_swapchain_present/0001-wined3d-Silence-repeated-wined3d_swapchain_present-F.patch
|
||||
(
|
||||
echo '+ { "Sebastian Lackner", "wined3d: Silence repeated wined3d_swapchain_present FIXME.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-Multisampling
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#12652] Allow to override number of quality levels for D3DMULTISAMPLE_NONMASKABLE.
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/wined3d/directx.c, dlls/wined3d/wined3d_main.c, dlls/wined3d/wined3d_private.h
|
||||
# |
|
||||
if test "$enable_wined3d_Multisampling" -eq 1; then
|
||||
patch_apply wined3d-Multisampling/0001-wined3d-Allow-to-specify-multisampling-AA-quality-le.patch
|
||||
(
|
||||
echo '+ { "Austin English", "wined3d: Allow to specify multisampling AA quality levels via registry.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wined3d-CSMT_Main
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
|
@ -0,0 +1,282 @@
|
||||
From f38b5b90a84ab9acc82032c0f360cb34705aad92 Mon Sep 17 00:00:00 2001
|
||||
From: Alex Henrie <alexhenrie24@gmail.com>
|
||||
Date: Thu, 4 Jun 2015 00:34:40 -0600
|
||||
Subject: riched20: Fix link notification conditions and add tests.
|
||||
|
||||
Fixes https://bugs.winehq.org/show_bug.cgi?id=35949
|
||||
---
|
||||
dlls/riched20/editor.c | 13 +++-
|
||||
dlls/riched20/tests/editor.c | 178 +++++++++++++++++++++++++++++++++++++++----
|
||||
2 files changed, 172 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/dlls/riched20/editor.c b/dlls/riched20/editor.c
|
||||
index 38861fd..33b4462 100644
|
||||
--- a/dlls/riched20/editor.c
|
||||
+++ b/dlls/riched20/editor.c
|
||||
@@ -4121,6 +4121,10 @@ LRESULT ME_HandleMessage(ME_TextEditor *editor, UINT msg, WPARAM wParam,
|
||||
return 0;
|
||||
case WM_SETCURSOR:
|
||||
{
|
||||
+ POINT cursor_pos;
|
||||
+ if (wParam == (WPARAM)editor->hWnd && GetCursorPos(&cursor_pos) &&
|
||||
+ ScreenToClient(editor->hWnd, &cursor_pos))
|
||||
+ ME_LinkNotify(editor, msg, 0, MAKELPARAM(cursor_pos.x, cursor_pos.y));
|
||||
return ME_SetCursor(editor);
|
||||
}
|
||||
case WM_LBUTTONDBLCLK:
|
||||
@@ -4135,7 +4139,7 @@ LRESULT ME_HandleMessage(ME_TextEditor *editor, UINT msg, WPARAM wParam,
|
||||
ME_CalculateClickCount(editor, msg, wParam, lParam));
|
||||
ITextHost_TxSetCapture(editor->texthost, TRUE);
|
||||
editor->bMouseCaptured = TRUE;
|
||||
- ME_LinkNotify(editor,msg,wParam,lParam);
|
||||
+ ME_LinkNotify(editor, msg, wParam, lParam);
|
||||
if (!ME_SetCursor(editor)) goto do_default;
|
||||
break;
|
||||
}
|
||||
@@ -4145,7 +4149,8 @@ LRESULT ME_HandleMessage(ME_TextEditor *editor, UINT msg, WPARAM wParam,
|
||||
return 0;
|
||||
if (editor->bMouseCaptured)
|
||||
ME_MouseMove(editor, (short)LOWORD(lParam), (short)HIWORD(lParam));
|
||||
- ME_LinkNotify(editor,msg,wParam,lParam);
|
||||
+ else
|
||||
+ ME_LinkNotify(editor, msg, wParam, lParam);
|
||||
/* Set cursor if mouse is captured, since WM_SETCURSOR won't be received. */
|
||||
if (editor->bMouseCaptured)
|
||||
ME_SetCursor(editor);
|
||||
@@ -4163,15 +4168,17 @@ LRESULT ME_HandleMessage(ME_TextEditor *editor, UINT msg, WPARAM wParam,
|
||||
else
|
||||
{
|
||||
ME_SetCursor(editor);
|
||||
- ME_LinkNotify(editor,msg,wParam,lParam);
|
||||
+ ME_LinkNotify(editor, msg, wParam, lParam);
|
||||
}
|
||||
break;
|
||||
case WM_RBUTTONUP:
|
||||
case WM_RBUTTONDOWN:
|
||||
+ case WM_RBUTTONDBLCLK:
|
||||
ME_CommitUndo(editor); /* End coalesced undos for typed characters */
|
||||
if ((editor->nEventMask & ENM_MOUSEEVENTS) &&
|
||||
!ME_FilterEvent(editor, msg, &wParam, &lParam))
|
||||
return 0;
|
||||
+ ME_LinkNotify(editor, msg, wParam, lParam);
|
||||
goto do_default;
|
||||
case WM_CONTEXTMENU:
|
||||
if (!ME_ShowContextMenu(editor, (short)LOWORD(lParam), (short)HIWORD(lParam)))
|
||||
diff --git a/dlls/riched20/tests/editor.c b/dlls/riched20/tests/editor.c
|
||||
index 09437ef..d2ea70c 100644
|
||||
--- a/dlls/riched20/tests/editor.c
|
||||
+++ b/dlls/riched20/tests/editor.c
|
||||
@@ -6004,26 +6004,155 @@ static void test_WM_NOTIFY(void)
|
||||
DestroyWindow(parent);
|
||||
}
|
||||
|
||||
-static int cpMin_EN_LINK = -1;
|
||||
-static int cpMax_EN_LINK = -1;
|
||||
+static ENLINK enlink;
|
||||
+#define CURSOR_CLIENT_X 5
|
||||
+#define CURSOR_CLIENT_Y 5
|
||||
+#define WP_PARENT 1
|
||||
+#define WP_CHILD 2
|
||||
|
||||
static LRESULT WINAPI EN_LINK_ParentMsgCheckProcA(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
- ENLINK* enlink = (ENLINK*)lParam;
|
||||
- if(message == WM_NOTIFY && enlink->nmhdr.code == EN_LINK)
|
||||
+ if(message == WM_NOTIFY && ((NMHDR*)lParam)->code == EN_LINK)
|
||||
{
|
||||
- cpMin_EN_LINK = enlink->chrg.cpMin;
|
||||
- cpMax_EN_LINK = enlink->chrg.cpMax;
|
||||
+ enlink = *(ENLINK*)lParam;
|
||||
}
|
||||
return DefWindowProcA(hwnd, message, wParam, lParam);
|
||||
}
|
||||
|
||||
+static void link_notify_test(const char *desc, int i, HWND hwnd, HWND parent, UINT msg, WPARAM wParam, BOOL notifies)
|
||||
+{
|
||||
+ LPARAM lParam;
|
||||
+ ENLINK junk_enlink;
|
||||
+
|
||||
+ switch (msg)
|
||||
+ {
|
||||
+ case EM_LINESCROLL:
|
||||
+ lParam = 1;
|
||||
+ break;
|
||||
+ case WM_LBUTTONDBLCLK:
|
||||
+ case WM_LBUTTONDOWN:
|
||||
+ case WM_LBUTTONUP:
|
||||
+ case WM_MOUSEHOVER:
|
||||
+ case WM_MOUSEMOVE:
|
||||
+ case WM_MOUSEWHEEL:
|
||||
+ case WM_RBUTTONDBLCLK:
|
||||
+ case WM_RBUTTONDOWN:
|
||||
+ case WM_RBUTTONUP:
|
||||
+ lParam = MAKELPARAM(CURSOR_CLIENT_X, CURSOR_CLIENT_Y);
|
||||
+ break;
|
||||
+ case WM_SETCURSOR:
|
||||
+ if (wParam == WP_PARENT)
|
||||
+ wParam = (WPARAM)parent;
|
||||
+ else if (wParam == WP_CHILD)
|
||||
+ wParam = (WPARAM)hwnd;
|
||||
+ /* fall through */
|
||||
+ default:
|
||||
+ lParam = 0;
|
||||
+ }
|
||||
+
|
||||
+ memset(&junk_enlink, 0x23, sizeof(junk_enlink));
|
||||
+ enlink = junk_enlink;
|
||||
+
|
||||
+ SendMessageA(hwnd, msg, wParam, lParam);
|
||||
+
|
||||
+ if (notifies)
|
||||
+ {
|
||||
+ ok(enlink.nmhdr.hwndFrom == hwnd,
|
||||
+ "%s test %i: Expected hwnd %p got %p\n", desc, i, hwnd, enlink.nmhdr.hwndFrom);
|
||||
+ ok(enlink.nmhdr.idFrom == 0,
|
||||
+ "%s test %i: Expected idFrom 0 got 0x%lx\n", desc, i, enlink.nmhdr.idFrom);
|
||||
+ ok(enlink.msg == msg,
|
||||
+ "%s test %i: Expected msg 0x%x got 0x%x\n", desc, i, msg, enlink.msg);
|
||||
+ if (msg == WM_SETCURSOR)
|
||||
+ {
|
||||
+ ok(enlink.wParam == 0,
|
||||
+ "%s test %i: Expected wParam 0 got 0x%lx\n", desc, i, enlink.wParam);
|
||||
+ ok(enlink.lParam == MAKELPARAM(CURSOR_CLIENT_X, CURSOR_CLIENT_Y),
|
||||
+ "%s test %i: Expected lParam 0x%lx got 0x%lx\n",
|
||||
+ desc, i, MAKELPARAM(CURSOR_CLIENT_X, CURSOR_CLIENT_Y), enlink.lParam);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ ok(enlink.wParam == wParam,
|
||||
+ "%s test %i: Expected wParam 0x%lx got 0x%lx\n", desc, i, wParam, enlink.wParam);
|
||||
+ ok(enlink.lParam == lParam,
|
||||
+ "%s test %i: Expected lParam 0x%lx got 0x%lx\n", desc, i, lParam, enlink.lParam);
|
||||
+ }
|
||||
+ ok(enlink.chrg.cpMin == 0 && enlink.chrg.cpMax == 31,
|
||||
+ "%s test %i: Expected link range [0,31) got [%i,%i)\n", desc, i, enlink.chrg.cpMin, enlink.chrg.cpMax);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ ok(memcmp(&enlink, &junk_enlink, sizeof(enlink)) == 0,
|
||||
+ "%s test %i: Expected enlink to remain unmodified\n", desc, i);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
static void test_EN_LINK(void)
|
||||
{
|
||||
- HWND parent;
|
||||
+ HWND hwnd, parent;
|
||||
WNDCLASSA cls;
|
||||
- HWND hwndRichedit_EN_LINK;
|
||||
CHARFORMAT2A cf2;
|
||||
+ POINT cursor_screen_pos = {CURSOR_CLIENT_X, CURSOR_CLIENT_Y};
|
||||
+ int i;
|
||||
+
|
||||
+ static const struct
|
||||
+ {
|
||||
+ UINT msg;
|
||||
+ WPARAM wParam;
|
||||
+ BOOL notifies;
|
||||
+ }
|
||||
+ link_notify_tests[] =
|
||||
+ {
|
||||
+ /* hold down the left button and try some messages */
|
||||
+ { WM_LBUTTONDOWN, 0, TRUE }, /* 0 */
|
||||
+ { EM_LINESCROLL, 0, FALSE },
|
||||
+ { EM_SCROLL, SB_BOTTOM, FALSE },
|
||||
+ { WM_LBUTTONDBLCLK, 0, TRUE },
|
||||
+ { WM_MOUSEHOVER, 0, FALSE },
|
||||
+ { WM_MOUSEMOVE, 0, FALSE },
|
||||
+ { WM_MOUSEWHEEL, 0, FALSE },
|
||||
+ { WM_RBUTTONDBLCLK, 0, TRUE },
|
||||
+ { WM_RBUTTONDOWN, 0, TRUE },
|
||||
+ { WM_RBUTTONUP, 0, TRUE },
|
||||
+ { WM_SETCURSOR, 0, FALSE },
|
||||
+ { WM_SETCURSOR, WP_PARENT, FALSE },
|
||||
+ { WM_SETCURSOR, WP_CHILD, TRUE },
|
||||
+ { WM_VSCROLL, SB_BOTTOM, FALSE },
|
||||
+ { WM_LBUTTONUP, 0, TRUE },
|
||||
+ /* hold down the right button and try some messages */
|
||||
+ { WM_RBUTTONDOWN, 0, TRUE }, /* 15 */
|
||||
+ { EM_LINESCROLL, 0, FALSE },
|
||||
+ { EM_SCROLL, SB_BOTTOM, FALSE },
|
||||
+ { WM_LBUTTONDBLCLK, 0, TRUE },
|
||||
+ { WM_LBUTTONDOWN, 0, TRUE },
|
||||
+ { WM_LBUTTONUP, 0, TRUE },
|
||||
+ { WM_MOUSEHOVER, 0, FALSE },
|
||||
+ { WM_MOUSEMOVE, 0, TRUE },
|
||||
+ { WM_MOUSEWHEEL, 0, FALSE },
|
||||
+ { WM_RBUTTONDBLCLK, 0, TRUE },
|
||||
+ { WM_SETCURSOR, 0, FALSE },
|
||||
+ { WM_SETCURSOR, WP_PARENT, FALSE },
|
||||
+ { WM_SETCURSOR, WP_CHILD, TRUE },
|
||||
+ { WM_VSCROLL, SB_BOTTOM, FALSE },
|
||||
+ { WM_RBUTTONUP, 0, TRUE },
|
||||
+ /* try the messages with both buttons released */
|
||||
+ { EM_LINESCROLL, 0, FALSE }, /* 30 */
|
||||
+ { EM_SCROLL, SB_BOTTOM, FALSE },
|
||||
+ { WM_LBUTTONDBLCLK, 0, TRUE },
|
||||
+ { WM_LBUTTONDOWN, 0, TRUE },
|
||||
+ { WM_LBUTTONUP, 0, TRUE },
|
||||
+ { WM_MOUSEHOVER, 0, FALSE },
|
||||
+ { WM_MOUSEMOVE, 0, TRUE },
|
||||
+ { WM_MOUSEWHEEL, 0, FALSE },
|
||||
+ { WM_RBUTTONDBLCLK, 0, TRUE },
|
||||
+ { WM_RBUTTONDOWN, 0, TRUE },
|
||||
+ { WM_RBUTTONUP, 0, TRUE },
|
||||
+ { WM_SETCURSOR, 0, FALSE },
|
||||
+ { WM_SETCURSOR, WP_CHILD, TRUE },
|
||||
+ { WM_SETCURSOR, WP_PARENT, FALSE },
|
||||
+ { WM_VSCROLL, SB_BOTTOM, FALSE }
|
||||
+ };
|
||||
|
||||
/* register class to capture WM_NOTIFY */
|
||||
cls.style = 0;
|
||||
@@ -6042,21 +6171,38 @@ static void test_EN_LINK(void)
|
||||
0, 0, 200, 60, NULL, NULL, NULL, NULL);
|
||||
ok(parent != 0, "Failed to create parent window\n");
|
||||
|
||||
- hwndRichedit_EN_LINK = new_richedit(parent);
|
||||
- ok(hwndRichedit_EN_LINK != 0, "Failed to create edit window\n");
|
||||
+ hwnd = new_richedit(parent);
|
||||
+ ok(hwnd != 0, "Failed to create edit window\n");
|
||||
|
||||
- SendMessageA(hwndRichedit_EN_LINK, EM_SETEVENTMASK, 0, ENM_LINK);
|
||||
+ SendMessageA(hwnd, EM_SETEVENTMASK, 0, ENM_LINK);
|
||||
|
||||
cf2.cbSize = sizeof(CHARFORMAT2A);
|
||||
cf2.dwMask = CFM_LINK;
|
||||
cf2.dwEffects = CFE_LINK;
|
||||
- SendMessageA(hwndRichedit_EN_LINK, EM_SETCHARFORMAT, 0, (LPARAM)&cf2);
|
||||
+ SendMessageA(hwnd, EM_SETCHARFORMAT, 0, (LPARAM)&cf2);
|
||||
/* mixing letters and numbers causes runs to be split */
|
||||
- SendMessageA(hwndRichedit_EN_LINK, WM_SETTEXT, 0, (LPARAM)"link text with at least 2 runs");
|
||||
- SendMessageA(hwndRichedit_EN_LINK, WM_LBUTTONDOWN, 0, MAKELPARAM(5, 5));
|
||||
- ok(cpMin_EN_LINK == 0 && cpMax_EN_LINK == 31, "Expected link range [0,31) got [%i,%i)\n", cpMin_EN_LINK, cpMax_EN_LINK);
|
||||
+ SendMessageA(hwnd, WM_SETTEXT, 0, (LPARAM)"link text with at least 2 runs");
|
||||
|
||||
- DestroyWindow(hwndRichedit_EN_LINK);
|
||||
+ ok(SetCursorPos(0, 0), "SetCursorPos failed\n");
|
||||
+
|
||||
+ for (i = 0; i < sizeof(link_notify_tests)/sizeof(link_notify_tests[0]); i++)
|
||||
+ {
|
||||
+ link_notify_test("cursor position simulated", i, hwnd, parent,
|
||||
+ link_notify_tests[i].msg, link_notify_tests[i].wParam,
|
||||
+ link_notify_tests[i].msg == WM_SETCURSOR ? FALSE : link_notify_tests[i].notifies);
|
||||
+ }
|
||||
+
|
||||
+ ok(ClientToScreen(hwnd, &cursor_screen_pos), "ClientToScreen failed\n");
|
||||
+ ok(SetCursorPos(cursor_screen_pos.x, cursor_screen_pos.y), "SetCursorPos failed\n");
|
||||
+
|
||||
+ for (i = 0; i < sizeof(link_notify_tests)/sizeof(link_notify_tests[0]); i++)
|
||||
+ {
|
||||
+ link_notify_test("cursor position set", i, hwnd, parent,
|
||||
+ link_notify_tests[i].msg, link_notify_tests[i].wParam,
|
||||
+ link_notify_tests[i].notifies);
|
||||
+ }
|
||||
+
|
||||
+ DestroyWindow(hwnd);
|
||||
DestroyWindow(parent);
|
||||
}
|
||||
|
||||
--
|
||||
2.4.2
|
||||
|
1
patches/riched20-Link_Notification/definition
Normal file
1
patches/riched20-Link_Notification/definition
Normal file
@ -0,0 +1 @@
|
||||
Fixes: [35949] Fix link notification conditions for riched20
|
Loading…
Reference in New Issue
Block a user