winehq.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2025
February
January
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
January
2003
December
November
October
September
August
July
June
May
April
March
February
January
2002
December
November
October
September
August
July
June
May
April
March
February
January
2001
December
November
October
September
August
July
June
May
April
March
February
List overview
wine-commits
December 2021
----- 2025 -----
February 2025
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
January 2004
----- 2003 -----
December 2003
November 2003
October 2003
September 2003
August 2003
July 2003
June 2003
May 2003
April 2003
March 2003
February 2003
January 2003
----- 2002 -----
December 2002
November 2002
October 2002
September 2002
August 2002
July 2002
June 2002
May 2002
April 2002
March 2002
February 2002
January 2002
----- 2001 -----
December 2001
November 2001
October 2001
September 2001
August 2001
July 2001
June 2001
May 2001
April 2001
March 2001
February 2001
wine-commits@winehq.org
2 participants
569 discussions
Start a n
N
ew thread
Huw Davies : riched20: Return the nearest char pos if the coords are outside the format rect.
by Alexandre Julliard
13 Dec '21
13 Dec '21
Module: wine Branch: master Commit: 363508454d5f8f1fc5916bda47e6429756b7dc8f URL:
https://source.winehq.org/git/wine.git/?a=commit;h=363508454d5f8f1fc5916bda…
Author: Huw Davies <huw(a)codeweavers.com> Date: Mon Dec 13 12:58:51 2021 +0000 riched20: Return the nearest char pos if the coords are outside the format rect. For the two tests that remain todo_wine, the results differ between riched20 and msftedit, with Wine's implementation matching msftedit. Wine-Bug:
https://bugs.winehq.org/show_bug.cgi?id=52041
Signed-off-by: Huw Davies <huw(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/riched20/caret.c | 27 ++++++--------------------- dlls/riched20/editor.c | 34 +++++++++++++--------------------- dlls/riched20/editor.h | 4 ++-- dlls/riched20/tests/editor.c | 10 ++++++---- 4 files changed, 27 insertions(+), 48 deletions(-) diff --git a/dlls/riched20/caret.c b/dlls/riched20/caret.c index beac8af50a1..ebc137ebf85 100644 --- a/dlls/riched20/caret.c +++ b/dlls/riched20/caret.c @@ -993,32 +993,17 @@ static BOOL cursor_from_virtual_coords( ME_TextEditor *editor, int x, int y, * * x & y are pixel positions in client coordinates. * - * isExact will be set to TRUE if the run is directly under the pixel - * position, FALSE if it not, unless isExact is set to NULL. - * - * return FALSE if outside client area and the cursor is not set, - * otherwise TRUE is returned. + * return TRUE if the run is directly under the pixel + * position, FALSE if it not. */ -BOOL ME_CharFromPos(ME_TextEditor *editor, int x, int y, - ME_Cursor *cursor, BOOL *isExact) +BOOL cursor_from_coords( ME_TextEditor *editor, int x, int y, ME_Cursor *cursor ) { - RECT rc; - BOOL bResult; - - ITextHost_TxGetClientRect(editor->texthost, &rc); - if (x < 0 || y < 0 || x >= rc.right || y >= rc.bottom) { - if (isExact) *isExact = FALSE; - return FALSE; - } - x += editor->horz_si.nPos; - y += editor->vert_si.nPos; - bResult = cursor_from_virtual_coords( editor, x, y, cursor, FALSE ); - if (isExact) *isExact = bResult; - return TRUE; + x += editor->horz_si.nPos; + y += editor->vert_si.nPos; + return cursor_from_virtual_coords( editor, x, y, cursor, FALSE ); } - /* Extends the selection with a word, line, or paragraph selection type. * * The selection is anchored by editor->pCursors[2-3] such that the text diff --git a/dlls/riched20/editor.c b/dlls/riched20/editor.c index 3bf499681ed..429f023ebe4 100644 --- a/dlls/riched20/editor.c +++ b/dlls/riched20/editor.c @@ -2815,7 +2815,6 @@ static BOOL is_link( ME_Run *run ) void editor_set_cursor( ME_TextEditor *editor, int x, int y ) { ME_Cursor pos; - BOOL is_exact; static HCURSOR cursor_arrow, cursor_hand, cursor_ibeam, cursor_reverse; HCURSOR cursor; @@ -2838,22 +2837,18 @@ void editor_set_cursor( ME_TextEditor *editor, int x, int y ) else cursor = cursor_ibeam; } else if (x < editor->rcFormat.left) cursor = cursor_reverse; - else + else if (cursor_from_coords( editor, x, y, &pos )) { - ME_CharFromPos( editor, x, y, &pos, &is_exact ); - if (is_exact) - { - ME_Run *run = pos.run; + ME_Run *run = pos.run; - if (is_link( run )) cursor = cursor_hand; + if (is_link( run )) cursor = cursor_hand; - else if (ME_IsSelection( editor )) - { - int start, end, offset = ME_GetCursorOfs( &pos ); + else if (ME_IsSelection( editor )) + { + int start, end, offset = ME_GetCursorOfs( &pos ); - ME_GetSelectionOfs( editor, &start, &end ); - if (start <= offset && end >= offset) cursor = cursor_arrow; - } + ME_GetSelectionOfs( editor, &start, &end ); + if (start <= offset && end >= offset) cursor = cursor_arrow; } } @@ -3113,15 +3108,13 @@ static inline int calc_wheel_change( int *remain, int amount_per_click ) void link_notify(ME_TextEditor *editor, UINT msg, WPARAM wParam, LPARAM lParam) { int x,y; - BOOL isExact; ME_Cursor cursor; /* The start of the clicked text. */ ME_Run *run; ENLINK info; x = (short)LOWORD(lParam); y = (short)HIWORD(lParam); - ME_CharFromPos(editor, x, y, &cursor, &isExact); - if (!isExact) return; + if (!cursor_from_coords( editor, x, y, &cursor )) return; if (is_link( cursor.run )) { /* The clicked run has CFE_LINK set */ @@ -3853,11 +3846,10 @@ LRESULT editor_handle_message( ME_TextEditor *editor, UINT msg, WPARAM wParam, case EM_CHARFROMPOS: { ME_Cursor cursor; - if (ME_CharFromPos(editor, ((POINTL *)lParam)->x, ((POINTL *)lParam)->y, - &cursor, NULL)) - return ME_GetCursorOfs(&cursor); - else - return -1; + POINTL *pt = (POINTL *)lParam; + + cursor_from_coords(editor, pt->x, pt->y, &cursor); + return ME_GetCursorOfs(&cursor); } case EM_POSFROMCHAR: { diff --git a/dlls/riched20/editor.h b/dlls/riched20/editor.h index 7bdd1bf5efe..8a46e942581 100644 --- a/dlls/riched20/editor.h +++ b/dlls/riched20/editor.h @@ -164,6 +164,7 @@ static inline ME_DisplayItem *run_get_di( ME_Run *run ) /* caret.c */ void cursor_coords( ME_TextEditor *editor, ME_Cursor *cursor, int *x, int *y, int *height ) DECLSPEC_HIDDEN; +BOOL cursor_from_coords( ME_TextEditor *editor, int x, int y, ME_Cursor *cursor ) DECLSPEC_HIDDEN; void ME_SetCursorToStart(ME_TextEditor *editor, ME_Cursor *cursor) DECLSPEC_HIDDEN; int set_selection_cursors(ME_TextEditor *editor, int from, int to) DECLSPEC_HIDDEN; BOOL ME_MoveCursorWords(ME_TextEditor *editor, ME_Cursor *cursor, int nRelOfs) DECLSPEC_HIDDEN; @@ -171,11 +172,10 @@ void hide_caret(ME_TextEditor *ed) DECLSPEC_HIDDEN; void show_caret(ME_TextEditor *ed) DECLSPEC_HIDDEN; void update_caret(ME_TextEditor *ed) DECLSPEC_HIDDEN; void create_caret(ME_TextEditor *ed) DECLSPEC_HIDDEN; -BOOL ME_CharFromPos(ME_TextEditor *editor, int x, int y, ME_Cursor *cursor, BOOL *isExact) DECLSPEC_HIDDEN; void ME_LButtonDown(ME_TextEditor *editor, int x, int y, int clickNum) DECLSPEC_HIDDEN; void ME_MouseMove(ME_TextEditor *editor, int x, int y) DECLSPEC_HIDDEN; BOOL ME_DeleteTextAtCursor(ME_TextEditor *editor, int nCursor, int nChars) DECLSPEC_HIDDEN; -void ME_InsertTextFromCursor(ME_TextEditor *editor, int nCursor, +void ME_InsertTextFromCursor(ME_TextEditor *editor, int nCursor, const WCHAR *str, int len, ME_Style *style) DECLSPEC_HIDDEN; void ME_InsertEndRowFromCursor(ME_TextEditor *editor, int nCursor) DECLSPEC_HIDDEN; int ME_MoveCursorChars(ME_TextEditor *editor, ME_Cursor *cursor, int nRelOfs, BOOL final_eop) DECLSPEC_HIDDEN; diff --git a/dlls/riched20/tests/editor.c b/dlls/riched20/tests/editor.c index ab74e0ef1ab..85f7c00383a 100644 --- a/dlls/riched20/tests/editor.c +++ b/dlls/riched20/tests/editor.c @@ -7228,32 +7228,34 @@ static void test_EM_CHARFROMPOS(void) point.x = -1; point.y = 40; result = SendMessageA(hwnd, EM_CHARFROMPOS, 0, (LPARAM)&point); - todo_wine ok(result == 34, "expected character index of 34 but got %d\n", result); + ok(result == 34, "expected character index of 34 but got %d\n", result); point.x = 1000; point.y = 0; result = SendMessageA(hwnd, EM_CHARFROMPOS, 0, (LPARAM)&point); - todo_wine ok(result == 33, "expected character index of 33 but got %d\n", result); + ok(result == 33, "expected character index of 33 but got %d\n", result); point.x = 1000; point.y = 36; result = SendMessageA(hwnd, EM_CHARFROMPOS, 0, (LPARAM)&point); - todo_wine ok(result == 39, "expected character index of 39 but got %d\n", result); + ok(result == 39, "expected character index of 39 but got %d\n", result); point.x = 1000; point.y = -1; result = SendMessageA(hwnd, EM_CHARFROMPOS, 0, (LPARAM)&point); + /* This differs from the msftedit result */ todo_wine ok(result == 0, "expected character index of 0 but got %d\n", result); point.x = 1000; point.y = rcClient.bottom + 1; result = SendMessageA(hwnd, EM_CHARFROMPOS, 0, (LPARAM)&point); + /* This differs from the msftedit result */ todo_wine ok(result == 34, "expected character index of 34 but got %d\n", result); point.x = 1000; point.y = rcClient.bottom; result = SendMessageA(hwnd, EM_CHARFROMPOS, 0, (LPARAM)&point); - todo_wine ok(result == 39, "expected character index of 39 but got %d\n", result); + ok(result == 39, "expected character index of 39 but got %d\n", result); DestroyWindow(hwnd); }
1
0
0
0
Hans Leidekker : configure: Check for libldap instead of libldap_r.
by Alexandre Julliard
13 Dec '21
13 Dec '21
Module: wine Branch: master Commit: 11b15054e74e3af62e4e851c272071dfd8c23775 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=11b15054e74e3af62e4e851c…
Author: Hans Leidekker <hans(a)codeweavers.com> Date: Mon Dec 13 11:24:02 2021 +0100 configure: Check for libldap instead of libldap_r. Wine-Bug:
https://bugs.winehq.org/show_bug.cgi?id=52140
Signed-off-by: Hans Leidekker <hans(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- configure | 20 ++++++++++---------- configure.ac | 4 ++-- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/configure b/configure index d57fc6cf43b..88c0c612444 100755 --- a/configure +++ b/configure @@ -20212,7 +20212,7 @@ then : fi fi -LDAP_LIBS=${LDAP_LIBS:-"-lldap_r -llber"} +LDAP_LIBS=${LDAP_LIBS:-"-lldap -llber"} printf "%s\n" "$as_me:${as_lineno-$LINENO}: openldap cflags: $LDAP_CFLAGS" >&5 printf "%s\n" "$as_me:${as_lineno-$LINENO}: openldap libs: $LDAP_LIBS" >&5 ac_save_CPPFLAGS=$CPPFLAGS @@ -20236,14 +20236,14 @@ fi " if test "x$ac_cv_type_LDAPSortKey" = xyes then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ldap_initialize in -lldap_r" >&5 -printf %s "checking for ldap_initialize in -lldap_r... " >&6; } -if test ${ac_cv_lib_ldap_r_ldap_initialize+y} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ldap_initialize in -lldap" >&5 +printf %s "checking for ldap_initialize in -lldap... " >&6; } +if test ${ac_cv_lib_ldap_ldap_initialize+y} then : printf %s "(cached) " >&6 else $as_nop ac_check_lib_save_LIBS=$LIBS -LIBS="-lldap_r $PTHREAD_LIBS $LDAP_LIBS $LIBS" +LIBS="-lldap $PTHREAD_LIBS $LDAP_LIBS $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -20261,17 +20261,17 @@ return ldap_initialize (); _ACEOF if ac_fn_c_try_link "$LINENO" then : - ac_cv_lib_ldap_r_ldap_initialize=yes + ac_cv_lib_ldap_ldap_initialize=yes else $as_nop - ac_cv_lib_ldap_r_ldap_initialize=no + ac_cv_lib_ldap_ldap_initialize=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ldap_r_ldap_initialize" >&5 -printf "%s\n" "$ac_cv_lib_ldap_r_ldap_initialize" >&6; } -if test "x$ac_cv_lib_ldap_r_ldap_initialize" = xyes +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ldap_ldap_initialize" >&5 +printf "%s\n" "$ac_cv_lib_ldap_ldap_initialize" >&6; } +if test "x$ac_cv_lib_ldap_ldap_initialize" = xyes then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ber_init in -llber" >&5 printf %s "checking for ber_init in -llber... " >&6; } diff --git a/configure.ac b/configure.ac index de79b47ea2a..c1eb2f99a8c 100644 --- a/configure.ac +++ b/configure.ac @@ -2017,12 +2017,12 @@ dnl **** Check for OpenLDAP *** if test "x$with_ldap" != "xno" then dnl Actually there's no pkg-config support for ldap, but this way we can still override the flags - WINE_PACKAGE_FLAGS(LDAP,[openldap],[-lldap_r -llber],,, + WINE_PACKAGE_FLAGS(LDAP,[openldap],[-lldap -llber],,, [AC_CHECK_HEADERS([ldap.h lber.h]) if test "$ac_cv_header_ldap_h" = "yes" -a "$ac_cv_header_lber_h" = "yes" then AC_CHECK_TYPE(LDAPSortKey, - [AC_CHECK_LIB(ldap_r, ldap_initialize, + [AC_CHECK_LIB(ldap, ldap_initialize, [AC_CHECK_LIB(lber, ber_init, [AC_DEFINE(HAVE_LDAP, 1, [Define if you have the OpenLDAP development environment])], [LDAP_LIBS=""],
1
0
0
0
Alex Henrie : kernel32/tests: Split up checks in flush_proc function.
by Alexandre Julliard
13 Dec '21
13 Dec '21
Module: wine Branch: master Commit: d7161a857652d80dd413613de1e92e8952beaa1f URL:
https://source.winehq.org/git/wine.git/?a=commit;h=d7161a857652d80dd413613d…
Author: Alex Henrie <alexhenrie24(a)gmail.com> Date: Sun Dec 12 19:04:29 2021 -0700 kernel32/tests: Split up checks in flush_proc function. This test is failing intermittently on the testbot but not enough information is output to tell why. Signed-off-by: Alex Henrie <alexhenrie24(a)gmail.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/kernel32/tests/pipe.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/dlls/kernel32/tests/pipe.c b/dlls/kernel32/tests/pipe.c index 93eeca16c75..5af92f8f8a5 100644 --- a/dlls/kernel32/tests/pipe.c +++ b/dlls/kernel32/tests/pipe.c @@ -2858,9 +2858,15 @@ static DWORD CALLBACK flush_proc(HANDLE pipe) res = FlushFileBuffers(pipe); if (expected_flush_error == ERROR_SUCCESS) + { ok(res, "FlushFileBuffers failed: %u\n", GetLastError()); + } else - ok(!res && GetLastError() == expected_flush_error, "FlushFileBuffers failed: %u\n", GetLastError()); + { + ok(!res, "FlushFileBuffers should have failed\n"); + ok(GetLastError() == expected_flush_error, + "FlushFileBuffers set error %u, expected %u\n", GetLastError(), expected_flush_error); + } return 0; }
1
0
0
0
Alex Henrie : comctl32/tests: Permit larger propsheet buffers.
by Alexandre Julliard
13 Dec '21
13 Dec '21
Module: wine Branch: master Commit: 56a6a039180053dac12305a3aecae3c77b3119ac URL:
https://source.winehq.org/git/wine.git/?a=commit;h=56a6a039180053dac12305a3…
Author: Alex Henrie <alexhenrie24(a)gmail.com> Date: Sun Dec 12 19:04:10 2021 -0700 comctl32/tests: Permit larger propsheet buffers. Fixes a testbot failure on Windows 10 Hebrew. Signed-off-by: Alex Henrie <alexhenrie24(a)gmail.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/comctl32/tests/propsheet.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dlls/comctl32/tests/propsheet.c b/dlls/comctl32/tests/propsheet.c index 6cc29a8b6f1..b4696112500 100644 --- a/dlls/comctl32/tests/propsheet.c +++ b/dlls/comctl32/tests/propsheet.c @@ -92,7 +92,8 @@ static int CALLBACK sheet_callback(HWND hwnd, UINT msg, LPARAM lparam) size = SizeofResource(module, hrsrc); ok(size != 0, "Failed to get size of propsheet dialog resource\n"); buffer_size = HeapSize(GetProcessHeap(), 0, (void *)lparam); - ok(buffer_size == 2 * size, "Unexpected template buffer size %u, resource size %u\n", + /* Hebrew Windows 10 allocates 2 * size + 8, all others allocate 2 * size */ + ok(buffer_size >= 2 * size, "Unexpected template buffer size %u, resource size %u\n", buffer_size, size); break; }
1
0
0
0
Esme Povirk : dwrite: Account for position != 0 in fetch loops.
by Alexandre Julliard
13 Dec '21
13 Dec '21
Module: wine Branch: master Commit: fad8d49606adf1ff1d9aa658ef56fbe1f0034c56 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=fad8d49606adf1ff1d9aa658…
Author: Esme Povirk <esme(a)codeweavers.com> Date: Sat Dec 11 14:04:28 2021 -0600 dwrite: Account for position != 0 in fetch loops. Signed-off-by: Esme Povirk <esme(a)codeweavers.com> Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/dwrite/analyzer.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dlls/dwrite/analyzer.c b/dlls/dwrite/analyzer.c index 92a02f8d3aa..13ccf8e4434 100644 --- a/dlls/dwrite/analyzer.c +++ b/dlls/dwrite/analyzer.c @@ -875,7 +875,7 @@ static HRESULT get_text_source_ptr(IDWriteTextAnalysisSource *source, UINT32 pos while (read < length && *text) { *text = NULL; len = 0; - hr = IDWriteTextAnalysisSource_GetTextAtPosition(source, read, text, &len); + hr = IDWriteTextAnalysisSource_GetTextAtPosition(source, position+read, text, &len); if (FAILED(hr)) { free(*buff); @@ -1019,7 +1019,7 @@ static HRESULT WINAPI dwritetextanalyzer_AnalyzeLineBreakpoints(IDWriteTextAnaly while (read < length && text) { text = NULL; len = 0; - hr = IDWriteTextAnalysisSource_GetTextAtPosition(source, read, &text, &len); + hr = IDWriteTextAnalysisSource_GetTextAtPosition(source, position+read, &text, &len); if (FAILED(hr)) goto done; if (!text)
1
0
0
0
Esme Povirk : dwrite: Fix possible use of uninitialized memory.
by Alexandre Julliard
13 Dec '21
13 Dec '21
Module: wine Branch: master Commit: 07fd82cdbddc03da2095882fa4fdaf7928c90fbc URL:
https://source.winehq.org/git/wine.git/?a=commit;h=07fd82cdbddc03da2095882f…
Author: Esme Povirk <esme(a)codeweavers.com> Date: Sat Dec 11 14:04:27 2021 -0600 dwrite: Fix possible use of uninitialized memory. If the text source returns fewer than length character, part of the buffer will be uninitialized. Signed-off-by: Esme Povirk <esme(a)codeweavers.com> Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/dwrite/analyzer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dlls/dwrite/analyzer.c b/dlls/dwrite/analyzer.c index 8ecfad5f3a5..92a02f8d3aa 100644 --- a/dlls/dwrite/analyzer.c +++ b/dlls/dwrite/analyzer.c @@ -865,7 +865,7 @@ static HRESULT get_text_source_ptr(IDWriteTextAnalysisSource *source, UINT32 pos if (len < length) { UINT32 read; - *buff = malloc(length * sizeof(WCHAR)); + *buff = calloc(length, sizeof(WCHAR)); if (!*buff) return E_OUTOFMEMORY; if (*text)
1
0
0
0
Esme Povirk : dwrite: Avoid calling memcpy with NULL source.
by Alexandre Julliard
13 Dec '21
13 Dec '21
Module: wine Branch: master Commit: 412b36e45a7d086747b6ef42b9b9b0e432ac4d77 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=412b36e45a7d086747b6ef42…
Author: Esme Povirk <esme(a)codeweavers.com> Date: Sat Dec 11 14:04:26 2021 -0600 dwrite: Avoid calling memcpy with NULL source. Wine-Bug:
https://bugs.winehq.org/show_bug.cgi?id=52187
Signed-off-by: Esme Povirk <esme(a)codeweavers.com> Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/dwrite/analyzer.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/dlls/dwrite/analyzer.c b/dlls/dwrite/analyzer.c index 7112ca71932..8ecfad5f3a5 100644 --- a/dlls/dwrite/analyzer.c +++ b/dlls/dwrite/analyzer.c @@ -868,7 +868,8 @@ static HRESULT get_text_source_ptr(IDWriteTextAnalysisSource *source, UINT32 pos *buff = malloc(length * sizeof(WCHAR)); if (!*buff) return E_OUTOFMEMORY; - memcpy(*buff, *text, len*sizeof(WCHAR)); + if (*text) + memcpy(*buff, *text, len*sizeof(WCHAR)); read = len; while (read < length && *text) { @@ -880,6 +881,8 @@ static HRESULT get_text_source_ptr(IDWriteTextAnalysisSource *source, UINT32 pos free(*buff); return hr; } + if (!*text) + break; memcpy(*buff + read, *text, min(len, length-read)*sizeof(WCHAR)); read += len; } @@ -1009,7 +1012,8 @@ static HRESULT WINAPI dwritetextanalyzer_AnalyzeLineBreakpoints(IDWriteTextAnaly if (!(buff = calloc(length, sizeof(*buff)))) return E_OUTOFMEMORY; - memcpy(buff, text, len*sizeof(WCHAR)); + if (text) + memcpy(buff, text, len*sizeof(WCHAR)); read = len; while (read < length && text) { @@ -1018,6 +1022,8 @@ static HRESULT WINAPI dwritetextanalyzer_AnalyzeLineBreakpoints(IDWriteTextAnaly hr = IDWriteTextAnalysisSource_GetTextAtPosition(source, read, &text, &len); if (FAILED(hr)) goto done; + if (!text) + break; memcpy(&buff[read], text, min(len, length-read)*sizeof(WCHAR)); read += len; }
1
0
0
0
Jinoh Kang : ntdll/tests: Fix access denied error in unprivileged mode.
by Alexandre Julliard
13 Dec '21
13 Dec '21
Module: wine Branch: master Commit: 4ef486467254441e46aadfbb709c0952bc75bcce URL:
https://source.winehq.org/git/wine.git/?a=commit;h=4ef486467254441e46aadfbb…
Author: Jinoh Kang <jinoh.kang.kr(a)gmail.com> Date: Sun Dec 12 02:03:32 2021 +0900 ntdll/tests: Fix access denied error in unprivileged mode. Wine-Bug:
https://bugs.winehq.org/show_bug.cgi?id=52161
Signed-off-by: Jinoh Kang <jinoh.kang.kr(a)gmail.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/ntdll/tests/om.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dlls/ntdll/tests/om.c b/dlls/ntdll/tests/om.c index c32136763a1..f872d6709a1 100644 --- a/dlls/ntdll/tests/om.c +++ b/dlls/ntdll/tests/om.c @@ -2477,7 +2477,7 @@ static void test_object_identity(void) pNtClose( h1 ); - h1 = CreateFileA( "\\\\.\\NUL", GENERIC_ALL, 0, NULL, OPEN_EXISTING, 0, 0 ); + h1 = CreateFileA( "\\\\.\\NUL", GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, 0 ); ok( h1 != INVALID_HANDLE_VALUE, "CreateFile failed (%d)\n", GetLastError() ); h2 = NULL; @@ -2490,7 +2490,7 @@ static void test_object_identity(void) pNtClose( h2 ); - h2 = CreateFileA( "\\\\.\\NUL", GENERIC_ALL, 0, NULL, OPEN_EXISTING, 0, 0 ); + h2 = CreateFileA( "\\\\.\\NUL", GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, 0 ); ok( h2 != INVALID_HANDLE_VALUE, "CreateFile failed (%d)\n", GetLastError() ); status = pNtCompareObjects( h1, h2 );
1
0
0
0
Alexandre Julliard : krnl386.exe: Page-align the GlobalAlloc() size when the selector limit is in pages.
by Alexandre Julliard
13 Dec '21
13 Dec '21
Module: wine Branch: master Commit: 1c5e4d066f6cfd65cc5ad729ce6e8aff53e20939 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=1c5e4d066f6cfd65cc5ad729…
Author: Alexandre Julliard <julliard(a)winehq.org> Date: Sun Dec 12 17:57:55 2021 +0100 krnl386.exe: Page-align the GlobalAlloc() size when the selector limit is in pages. GlobalSize() uses the selector limit and that needs to match the allocated size. Wine-Bug:
https://bugs.winehq.org/show_bug.cgi?id=52082
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/krnl386.exe16/global.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/dlls/krnl386.exe16/global.c b/dlls/krnl386.exe16/global.c index 0a8da28e99b..2eb02b8cef3 100644 --- a/dlls/krnl386.exe16/global.c +++ b/dlls/krnl386.exe16/global.c @@ -196,6 +196,7 @@ HGLOBAL16 GLOBAL_Alloc( UINT16 flags, DWORD size, HGLOBAL16 hOwner, unsigned cha { void *ptr; HGLOBAL16 handle; + DWORD align = 0x1f; TRACE("%d flags=%04x\n", size, flags ); @@ -205,8 +206,9 @@ HGLOBAL16 GLOBAL_Alloc( UINT16 flags, DWORD size, HGLOBAL16 hOwner, unsigned cha /* Fixup the size */ - if (size >= GLOBAL_MAX_ALLOC_SIZE - 0x1f) return 0; - size = (size + 0x1f) & ~0x1f; + if (size > 0x100000) align = 0xfff; /* selector limit will be in pages */ + if (size >= GLOBAL_MAX_ALLOC_SIZE - align) return 0; + size = (size + align) & ~align; /* Allocate the linear memory */ ptr = HeapAlloc( get_win16_heap(), 0, size );
1
0
0
0
Alexandre Julliard : ntdll/tests: Mark a failing test as todo.
by Alexandre Julliard
13 Dec '21
13 Dec '21
Module: wine Branch: master Commit: 40d706caba24a3a3de8ec4d5c80f9866fc8415de URL:
https://source.winehq.org/git/wine.git/?a=commit;h=40d706caba24a3a3de8ec4d5…
Author: Alexandre Julliard <julliard(a)winehq.org> Date: Sun Dec 12 15:41:02 2021 +0100 ntdll/tests: Mark a failing test as todo. Wine-Bug:
https://bugs.winehq.org/show_bug.cgi?id=51380
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/ntdll/tests/exception.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dlls/ntdll/tests/exception.c b/dlls/ntdll/tests/exception.c index dd4f4a35344..1a7993c75de 100644 --- a/dlls/ntdll/tests/exception.c +++ b/dlls/ntdll/tests/exception.c @@ -1231,7 +1231,7 @@ static void test_debugger(DWORD cont_status) __asm__( "movw %%ss,%0" : "=r" (ss) ); ok( ctx.SegSs == ss, "wrong ss %04x / %04x\n", ctx.SegSs, ss ); ok( ctx.SegFs != ctx.SegSs, "wrong fs %04x / %04x\n", ctx.SegFs, ctx.SegSs ); - if (is_wow64) + if (is_wow64) todo_wine { ok( ctx.SegDs == ctx.SegSs, "wrong ds %04x / %04x\n", ctx.SegDs, ctx.SegSs ); ok( ctx.SegEs == ctx.SegSs, "wrong es %04x / %04x\n", ctx.SegEs, ctx.SegSs );
1
0
0
0
← Newer
1
...
18
19
20
21
22
23
24
...
57
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
Results per page:
10
25
50
100
200