Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
6bfbc3d2
Commit
6bfbc3d2
authored
Oct 23, 2000
by
Ulrich Weigand
Committed by
Alexandre Julliard
Oct 23, 2000
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Do not send EN_UPDATE to multi-line edit controls.
parent
93fd46af
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
18 deletions
+13
-18
edit.c
controls/edit.c
+13
-18
No files found.
controls/edit.c
View file @
6bfbc3d2
...
...
@@ -207,7 +207,7 @@ static INT EDIT_EM_LineIndex(WND *wnd, EDITSTATE *es, INT line);
static
INT
EDIT_EM_LineLength
(
WND
*
wnd
,
EDITSTATE
*
es
,
INT
index
);
static
BOOL
EDIT_EM_LineScroll
(
WND
*
wnd
,
EDITSTATE
*
es
,
INT
dx
,
INT
dy
);
static
LRESULT
EDIT_EM_PosFromChar
(
WND
*
wnd
,
EDITSTATE
*
es
,
INT
index
,
BOOL
after_wrap
);
static
void
EDIT_EM_ReplaceSel
(
WND
*
wnd
,
EDITSTATE
*
es
,
BOOL
can_undo
,
LPCSTR
lpsz_replace
);
static
void
EDIT_EM_ReplaceSel
(
WND
*
wnd
,
EDITSTATE
*
es
,
BOOL
can_undo
,
LPCSTR
lpsz_replace
,
BOOL
send_update
);
static
LRESULT
EDIT_EM_Scroll
(
WND
*
wnd
,
EDITSTATE
*
es
,
INT
action
);
static
void
EDIT_EM_ScrollCaret
(
WND
*
wnd
,
EDITSTATE
*
es
);
static
void
EDIT_EM_SetHandle
(
WND
*
wnd
,
EDITSTATE
*
es
,
HLOCAL
hloc
);
...
...
@@ -283,7 +283,7 @@ static inline void EDIT_EM_EmptyUndoBuffer(WND *wnd, EDITSTATE *es)
*/
static
inline
void
EDIT_WM_Clear
(
WND
*
wnd
,
EDITSTATE
*
es
)
{
EDIT_EM_ReplaceSel
(
wnd
,
es
,
TRUE
,
""
);
EDIT_EM_ReplaceSel
(
wnd
,
es
,
TRUE
,
""
,
TRUE
);
if
(
es
->
flags
&
EF_UPDATE
)
{
es
->
flags
&=
~
EF_UPDATE
;
...
...
@@ -572,7 +572,7 @@ LRESULT WINAPI EditWndProc( HWND hwnd, UINT msg,
/* fall through */
case
EM_REPLACESEL
:
DPRINTF_EDIT_MSG32
(
"EM_REPLACESEL"
);
EDIT_EM_ReplaceSel
(
wnd
,
es
,
(
BOOL
)
wParam
,
(
LPCSTR
)
lParam
);
EDIT_EM_ReplaceSel
(
wnd
,
es
,
(
BOOL
)
wParam
,
(
LPCSTR
)
lParam
,
TRUE
);
if
(
es
->
flags
&
EF_UPDATE
)
{
es
->
flags
&=
~
EF_UPDATE
;
EDIT_NOTIFY_PARENT
(
wnd
,
EN_CHANGE
,
"EN_CHANGE"
);
...
...
@@ -2443,7 +2443,7 @@ static LRESULT EDIT_EM_PosFromChar(WND *wnd, EDITSTATE *es, INT index, BOOL afte
* FIXME: handle ES_NUMBER and ES_OEMCONVERT here
*
*/
static
void
EDIT_EM_ReplaceSel
(
WND
*
wnd
,
EDITSTATE
*
es
,
BOOL
can_undo
,
LPCSTR
lpsz_replace
)
static
void
EDIT_EM_ReplaceSel
(
WND
*
wnd
,
EDITSTATE
*
es
,
BOOL
can_undo
,
LPCSTR
lpsz_replace
,
BOOL
send_update
)
{
INT
strl
=
strlen
(
lpsz_replace
);
INT
tl
=
strlen
(
es
->
text
);
...
...
@@ -2533,7 +2533,7 @@ static void EDIT_EM_ReplaceSel(WND *wnd, EDITSTATE *es, BOOL can_undo, LPCSTR lp
EDIT_EM_SetSel
(
wnd
,
es
,
s
,
s
,
FALSE
);
es
->
flags
|=
EF_MODIFIED
;
es
->
flags
|=
EF_UPDATE
;
if
(
send_update
)
es
->
flags
|=
EF_UPDATE
;
EDIT_EM_ScrollCaret
(
wnd
,
es
);
/* FIXME: really inefficient */
...
...
@@ -2973,7 +2973,7 @@ static BOOL EDIT_EM_Undo(WND *wnd, EDITSTATE *es)
EDIT_EM_SetSel
(
wnd
,
es
,
es
->
undo_position
,
es
->
undo_position
+
es
->
undo_insert_count
,
FALSE
);
EDIT_EM_EmptyUndoBuffer
(
wnd
,
es
);
EDIT_EM_ReplaceSel
(
wnd
,
es
,
TRUE
,
utext
);
EDIT_EM_ReplaceSel
(
wnd
,
es
,
TRUE
,
utext
,
TRUE
);
EDIT_EM_SetSel
(
wnd
,
es
,
es
->
undo_position
,
es
->
undo_position
+
es
->
undo_insert_count
,
FALSE
);
HeapFree
(
es
->
heap
,
0
,
utext
);
...
...
@@ -3008,7 +3008,7 @@ static void EDIT_WM_Char(WND *wnd, EDITSTATE *es, CHAR c, DWORD key_data)
EDIT_MoveHome
(
wnd
,
es
,
FALSE
);
EDIT_MoveDown_ML
(
wnd
,
es
,
FALSE
);
}
else
{
EDIT_EM_ReplaceSel
(
wnd
,
es
,
TRUE
,
"
\r\n
"
);
EDIT_EM_ReplaceSel
(
wnd
,
es
,
TRUE
,
"
\r\n
"
,
TRUE
);
if
(
es
->
flags
&
EF_UPDATE
)
{
es
->
flags
&=
~
EF_UPDATE
;
EDIT_NOTIFY_PARENT
(
wnd
,
EN_CHANGE
,
"EN_CHANGE"
);
...
...
@@ -3019,7 +3019,7 @@ static void EDIT_WM_Char(WND *wnd, EDITSTATE *es, CHAR c, DWORD key_data)
case
'\t'
:
if
((
es
->
style
&
ES_MULTILINE
)
&&
!
(
es
->
style
&
ES_READONLY
))
{
EDIT_EM_ReplaceSel
(
wnd
,
es
,
TRUE
,
"
\t
"
);
EDIT_EM_ReplaceSel
(
wnd
,
es
,
TRUE
,
"
\t
"
,
TRUE
);
if
(
es
->
flags
&
EF_UPDATE
)
{
es
->
flags
&=
~
EF_UPDATE
;
EDIT_NOTIFY_PARENT
(
wnd
,
EN_CHANGE
,
"EN_CHANGE"
);
...
...
@@ -3053,7 +3053,7 @@ static void EDIT_WM_Char(WND *wnd, EDITSTATE *es, CHAR c, DWORD key_data)
char
str
[
2
];
str
[
0
]
=
c
;
str
[
1
]
=
'\0'
;
EDIT_EM_ReplaceSel
(
wnd
,
es
,
TRUE
,
str
);
EDIT_EM_ReplaceSel
(
wnd
,
es
,
TRUE
,
str
,
TRUE
);
if
(
es
->
flags
&
EF_UPDATE
)
{
es
->
flags
&=
~
EF_UPDATE
;
EDIT_NOTIFY_PARENT
(
wnd
,
EN_CHANGE
,
"EN_CHANGE"
);
...
...
@@ -3187,7 +3187,7 @@ static LRESULT EDIT_WM_Create(WND *wnd, EDITSTATE *es, LPCREATESTRUCTA cs)
EDIT_EM_EmptyUndoBuffer
(
wnd
,
es
);
if
(
cs
->
lpszName
&&
*
(
cs
->
lpszName
)
!=
'\0'
)
{
EDIT_EM_ReplaceSel
(
wnd
,
es
,
FALSE
,
cs
->
lpszName
);
EDIT_EM_ReplaceSel
(
wnd
,
es
,
FALSE
,
cs
->
lpszName
,
TRUE
);
/* if we insert text to the editline, the text scrolls out
* of the window, as the caret is placed after the insert
* pos normally; thus we reset es->selection... to 0 and
...
...
@@ -3931,7 +3931,7 @@ static void EDIT_WM_Paste(WND *wnd, EDITSTATE *es)
OpenClipboard
(
wnd
->
hwndSelf
);
if
((
hsrc
=
GetClipboardData
(
CF_TEXT
)))
{
src
=
(
LPSTR
)
GlobalLock
(
hsrc
);
EDIT_EM_ReplaceSel
(
wnd
,
es
,
TRUE
,
src
);
EDIT_EM_ReplaceSel
(
wnd
,
es
,
TRUE
,
src
,
TRUE
);
GlobalUnlock
(
hsrc
);
if
(
es
->
flags
&
EF_UPDATE
)
{
...
...
@@ -4027,17 +4027,12 @@ static void EDIT_WM_SetText(WND *wnd, EDITSTATE *es, LPCSTR text)
EDIT_EM_SetSel
(
wnd
,
es
,
0
,
-
1
,
FALSE
);
if
(
text
)
{
TRACE
(
"
\t
'%p'
\n
"
,
text
);
EDIT_EM_ReplaceSel
(
wnd
,
es
,
FALSE
,
text
);
EDIT_EM_ReplaceSel
(
wnd
,
es
,
FALSE
,
text
,
!
(
es
->
style
&
ES_MULTILINE
)
);
}
else
{
TRACE
(
"
\t
<NULL>
\n
"
);
EDIT_EM_ReplaceSel
(
wnd
,
es
,
FALSE
,
""
);
EDIT_EM_ReplaceSel
(
wnd
,
es
,
FALSE
,
""
,
!
(
es
->
style
&
ES_MULTILINE
)
);
}
es
->
x_offset
=
0
;
if
(
es
->
style
&
ES_MULTILINE
)
{
es
->
flags
&=
~
EF_UPDATE
;
}
else
{
es
->
flags
|=
EF_UPDATE
;
}
es
->
flags
&=
~
EF_MODIFIED
;
EDIT_EM_SetSel
(
wnd
,
es
,
0
,
0
,
FALSE
);
EDIT_EM_ScrollCaret
(
wnd
,
es
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment