Commit Graph

124 Commits

Author SHA1 Message Date
Roman Pišl 9de8ea7564 user32: Fix buffer overflow in EDIT_EM_ReplaceSel().
After EN_MAXTEXT notification, available space may be larger than
length of the string. This must be checked and strl must not be
set to a value larger than the actual length of the string.

Signed-off-by: Roman Pišl <rpisl@seznam.cz>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-19 09:50:12 -07:00
Huw Davies c247a36eed user32: EC_USEFONTINFO behaviour depends on whether the font's charset is CJK or not.
In the non-CJK case, the margins are half of the width returned by
GdiGetCharDimensions() but only if the client rect's width is above a
certain size.  There is an exception if the client rect is empty if
the font is sufficiently small.

In the CJK case, the margins are independent of the client rect size.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-01 22:14:22 +09:00
Michael Stefaniuc 07f9f71278 user32: Use straight assignments instead of CopyRect().
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-02 16:18:05 -05:00
Michael Stefaniuc 488562904f user32: Use InflateRect() too when stretching the RECT in just one axis.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-04 17:41:35 +09:00
Pierre Schweitzer bfb7e167cb user32: Check bounds before dereferencing.
Signed-off-by: Pierre Schweitzer <pierre@reactos.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-02 18:30:50 +09:00
Alex Henrie 5b53c0b88b user32: Avoid double initialization.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-06 21:59:08 +09:00
Alex Henrie 6771fa22e9 user32: Remove redundant check for buf's existence.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-06 21:59:08 +09:00
Alex Henrie 4a3065c5d7 user32: Turn magic values into static constants.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-06 21:59:08 +09:00
Michael Müller 2be56fdc95 user32: Ignore lParam argument of WM_SIZE message for edit control.
Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
2015-10-06 22:18:49 +09:00
Thomas Faber 8a718259d3 user32: Use float literals for float operation. 2015-09-07 17:55:05 +09:00
Alexandre Julliard 766768f033 user32: Remove left-over freeing of the edit text with ES_PASSWORD. 2015-03-30 19:49:12 +09:00
Akihiro Sagawa 6b616a0fd8 user32: Emit EM_SETSEL message when choosing "Select All" from context menu. 2014-04-08 09:25:15 +02:00
Akihiro Sagawa 0bfc8f05c6 user32: Don't emit WM_COMMAND on choosing an item in a context menu (Edit control). 2014-04-08 09:25:06 +02:00
Nikolay Sivov ba3a6d1f4b user32: Fix Edit margins calculation for empty client area case. 2014-04-07 09:58:02 +02:00
Frédéric Delanoy 0f2bed51bd Assorted spelling fixes. 2014-02-10 15:47:29 +01:00
Andrew Eikum 3ff27f3544 user32: Don't try to paint during WM_SETFOCUS if the edit control is not visible. 2013-10-11 11:04:58 +02:00
Qian Hong 9ef2c648ee user32: Properly update caret position after result string is committed. 2013-07-03 10:28:44 +02:00
Detlef Riekenberg 9782ad77b5 user32: The flag EF_APP_HAS_HANDLE is now obsolete. 2013-05-17 16:59:34 +02:00
Detlef Riekenberg 40afb51a70 user32: The app owns the text buffer memory after an EM_GETHANDLE. 2013-05-17 16:57:51 +02:00
Aric Stewart 7559526438 user32: Points for IMR_QUERYCHARPOSITION need to be in screen coordinates.
Found by Ken Thomases.
2013-05-15 19:58:37 +02:00
Aric Stewart 652af4e294 user32: Implement IMR_QUERYCHARPOSITION handling in the edit control. 2013-05-07 17:20:48 +02:00
Ken Thomases 1642d312fd user32: Improve mouse wheel scrolling in edit control.
Allow fractions of WHEEL_DELTA to scroll fractions of SPI_GETWHEELSCROLLLINES,
although still only whole lines.  Keep the remainder and apply it to next
event if in same direction.
2013-02-11 11:46:09 +01:00
Andrew Talbot c78f8d7405 user32: Indentation fix. 2012-12-24 13:32:38 +01:00
Aric Stewart bd7e8df6ba user32: More instances where early versions of usp10 are not well behaved with ScriptString_pSize being NULL.
Issue discovered by Qian Hong.
2012-11-28 14:41:55 +01:00
Aric Stewart e603ffd19e user32: Free the uniscribe data before freeing the linedefs. 2012-09-17 18:31:37 +02:00
Nikolay Sivov 6b19461548 user32: Release uniscribe data on Edit control destruction (valgrind). 2012-09-05 11:47:39 +02:00
Michael Stefaniuc 4affaea0ba user32: Avoid TRUE:FALSE conditional expressions. 2012-08-13 11:50:51 +02:00
Francois Gouget fac36c55e9 Assorted typo, spelling, wording and case fixes. 2012-05-15 16:26:43 +02:00
Aric Stewart 4ad945337f user32: While calculating lines, discard uniscribe data for non-visible lines. 2012-04-05 17:53:21 +02:00
Aric Stewart 1967fae847 user32: Have a fallback in linebreaking if uniscribe fails to analyse a string. 2012-01-30 20:44:45 +01:00
Aric Stewart 4bc418b356 user32: Check return code from ScriptStringAnalyse. 2012-01-30 20:44:44 +01:00
Aric Stewart 3ebb878470 usp10: Better handle cases in single line edit controls where es->x_offset exceeds line length. 2012-01-10 17:55:04 +01:00
Aric Stewart 27e3e1a89b usp10: Correct error in EDIT_GetLineRect in index for ScriptStringCPtoX. 2011-12-21 18:06:51 +01:00
Aric Stewart b83c587f6e user32: Do not simply return 0 in EDIT_EM_PosFromChar if line ssa is NULL. 2011-12-20 20:06:34 +01:00
Aric Stewart 3f1a8f6668 user32: Modify EDIT_GetLineRect to better handle RTL lines. 2011-12-20 20:06:33 +01:00
Aric Stewart 4012cc070e user32: Protect against NULL ssa to prevent crashes in old native usp10. 2011-12-06 16:09:34 +01:00
Francois Gouget 51a256e65f Assorted spelling fixes and wording tweaks. 2011-11-28 16:40:50 +01:00
Aric Stewart 5e32724210 user32: Only attempt autoscroll line breaking on an edit control when we have a reasonable width to break to. 2011-11-02 12:28:28 +01:00
Aric Stewart 64adeb0285 user32: Early versions of usp10 are not well behaved with ScriptString_pSize when SCRIPT_STRING_ANALYSIS is NULL. 2011-11-01 16:43:24 +01:00
Aric Stewart 4b7300ef77 user32: Respect rev for painting selections. 2011-10-31 16:53:42 +01:00
Aric Stewart c83841ca0e user32: Improvement for performance in soft linebreaking. 2011-10-28 12:45:56 +02:00
Aric Stewart 820460fcce user32: Handle PosFromChar if the string is empty and so we have no ssa. 2011-10-28 12:45:35 +02:00
Aric Stewart 94bd422f89 user32: When building linedefs prev can be less than 0 if the format width is less than the width of a single character. 2011-10-25 20:13:32 +02:00
Aric Stewart 3b5e14a9b0 user32: Use Uniscribe in the multiline edit control. 2011-10-24 11:15:00 +02:00
Aric Stewart 67196377b5 user32: Recalculate string length when cropping string to fit. 2011-10-19 16:39:26 +02:00
Aric Stewart acaa0dc2da user32: Use Uniscribe in the single line edit control. 2011-10-18 16:07:55 +02:00
Aric Stewart de8a059d52 user32: Use uniscribe ScriptBreak to handle edit control linebreaking. 2011-10-11 13:37:49 +02:00
André Hentschel 5ca020b9d8 user32: Remove dead initializations (clang). 2011-07-06 11:20:13 +02:00
Alexandre Julliard 9b693ddadb user32: Use WIN_GetRectangles where possible instead of mapping coordinates explicitly. 2010-09-07 15:11:24 +02:00
Vincent Povirk a5fd32eb84 user32: Focus editboxes when the context menu is opened. 2010-04-25 07:38:10 -05:00