Christoph von Wittich : riched20: EM_SETSEL should not return 0.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Mar 31 10:38:50 CDT 2015
Module: wine
Branch: master
Commit: c0c36fba709a53eecdebf8b7cd4b4e37027a3a89
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c0c36fba709a53eecdebf8b7cd4b4e37027a3a89
Author: Christoph von Wittich <Christoph_vW at ReactOS.org>
Date: Mon Mar 30 19:39:13 2015 +0200
riched20: EM_SETSEL should not return 0.
---
dlls/riched20/editor.c | 3 +--
dlls/riched20/tests/editor.c | 38 ++++++++++++++++++++++++++++++++++++++
2 files changed, 39 insertions(+), 2 deletions(-)
diff --git a/dlls/riched20/editor.c b/dlls/riched20/editor.c
index 146e4be..171ec69 100644
--- a/dlls/riched20/editor.c
+++ b/dlls/riched20/editor.c
@@ -3308,8 +3308,7 @@ LRESULT ME_HandleMessage(ME_TextEditor *editor, UINT msg, WPARAM wParam,
}
case EM_SETSEL:
{
- handle_EM_EXSETSEL( editor, wParam, lParam );
- return 0;
+ return handle_EM_EXSETSEL( editor, wParam, lParam );
}
case EM_SETSCROLLPOS:
{
diff --git a/dlls/riched20/tests/editor.c b/dlls/riched20/tests/editor.c
index 151fcba..65752af 100644
--- a/dlls/riched20/tests/editor.c
+++ b/dlls/riched20/tests/editor.c
@@ -4454,6 +4454,43 @@ static void test_EM_EXSETSEL(void)
DestroyWindow(hwndRichEdit);
}
+static void check_EM_SETSEL(HWND hwnd, const struct exsetsel_s *setsel, int id) {
+ LRESULT result;
+ int start, end;
+
+ result = SendMessageA(hwnd, EM_SETSEL, setsel->min, setsel->max);
+
+ ok(result == setsel->expected_retval, "EM_SETSEL(%d): expected: %ld actual: %ld\n", id, setsel->expected_retval, result);
+
+ SendMessageA(hwnd, EM_GETSEL, (WPARAM)&start, (LPARAM)&end);
+
+ if (setsel->_getsel_todo_wine) {
+ todo_wine {
+ ok(start == setsel->expected_getsel_start && end == setsel->expected_getsel_end, "EM_SETSEL(%d): expected (%d,%d) actual:(%d,%d)\n", id, setsel->expected_getsel_start, setsel->expected_getsel_end, start, end);
+ }
+ } else {
+ ok(start == setsel->expected_getsel_start && end == setsel->expected_getsel_end, "EM_SETSEL(%d): expected (%d,%d) actual:(%d,%d)\n", id, setsel->expected_getsel_start, setsel->expected_getsel_end, start, end);
+ }
+}
+
+static void test_EM_SETSEL(void)
+{
+ HWND hwndRichEdit = new_richedit(NULL);
+ int i;
+ const int num_tests = sizeof(exsetsel_tests)/sizeof(struct exsetsel_s);
+
+ /* sending some text to the window */
+ SendMessageA(hwndRichEdit, WM_SETTEXT, 0, (LPARAM)"testing selection");
+ /* 01234567890123456*/
+ /* 10 */
+
+ for (i = 0; i < num_tests; i++) {
+ check_EM_SETSEL(hwndRichEdit, &exsetsel_tests[i], i);
+ }
+
+ DestroyWindow(hwndRichEdit);
+}
+
static void test_EM_REPLACESEL(int redraw)
{
HWND hwndRichEdit = new_richedit(NULL);
@@ -7658,6 +7695,7 @@ START_TEST( editor )
test_EM_GETLIMITTEXT();
test_WM_SETFONT();
test_EM_GETMODIFY();
+ test_EM_SETSEL();
test_EM_EXSETSEL();
test_WM_PASTE();
test_EM_STREAMIN();
More information about the wine-cvs
mailing list