Commit Graph

144 Commits

Author SHA1 Message Date
Roman Pišl f04d8a270e user32/edit: Avoid division by zero in EDIT_EM_LineScroll_internal.
Signed-off-by: Roman Pišl <rpisl@seznam.cz>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-20 17:19:11 +02:00
Roman Pišl d5e591d3cb user32/edit: Avoid division by zero during initialization.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=19239
Signed-off-by: Roman Pišl <rpisl@seznam.cz>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-20 17:19:11 +02:00
Fabian Maurer 244268589e user32/edit: In EM_POSFROMCHAR return correct position for empty lines.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47305
Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-07 14:09:51 +01:00
Gabriel Ivăncescu 501778aa08 user32/edit: Get rid of useless casts.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-14 10:26:25 +02:00
Akihiro Sagawa e78d7b08fe user32: Make the second parameter of get_font_margins const.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-25 17:28:10 +02:00
Akihiro Sagawa 1b91c113ae user32: Fix edit control margins in CJK font case.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-22 11:16:13 +02:00
Akihiro Sagawa f3dc99c8b1 user32: Implement WM_SETFONT margins in the CJK case.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46685
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-19 12:13:36 +02:00
Akihiro Sagawa c5823e9cac user32: Implement EC_USEFONTINFO margins in the CJK case.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-11 19:29:42 +02:00
Akihiro Sagawa 2b6f45066b user32: Fix minimum control size conditions when using EC_USEFONTINFO.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-18 22:06:28 +01:00
Alistair Leslie-Hughes 7b742485f9 user32/edit: Don't set caret position when we don't have focus.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-12 17:08:25 +01:00
Gabriel Ivăncescu 3b9e22fafd user32/edit: Move common calls outside the blocks.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-23 20:01:56 +02:00
Nikolay Sivov 080cb3aa81 user32: Remove some misleading TODOs.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-21 17:33:36 +01:00
Nikolay Sivov 1ae05c04a2 user32: Remove confusing comments.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-08 13:10:50 +01:00
Nikolay Sivov f2b489591b user32/edit: Fix replacement text trace.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-01 22:24:55 +01:00
Nikolay Sivov 6aa853ae39 user32/edit: Fix EM_SETWORDBREAKPROC return value.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-22 22:26:46 +01:00
Nikolay Sivov f62d8dc58f user32/edit: Allow buffer access after EM_GETHANDLE.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-05 20:30:04 +01:00
Alexandre Julliard 01676c5dd6 user32: Use the magic format string prefix for relay traces.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-25 12:05:40 +01:00
Alexandre Julliard 9215aabd2e user32: Pass the text length explicitly to EDIT_EM_ReplaceSel.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-07 21:24:44 +01:00
Rafał Harabień 6653d43023 user32: Protect single-line edit against pasting new line character.
Signed-off-by: Rafał Harabień <rafalh1992@o2.pl>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-07 21:24:44 +01:00
Tim Worthington 4f96439ebf user32: Fix rendering of tabs in edit control.
Signed-off-by: Tim Worthington <tim@pcbelegance.org>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-24 18:58:31 +02:00
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