Huw Davies : riched20: Use helpers in the cursor to start/end functions.

Alexandre Julliard julliard at winehq.org
Mon Oct 19 15:54:06 CDT 2020


Module: wine
Branch: master
Commit: 53959eb7d4fdf652dcbccc00366efccd06abde72
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=53959eb7d4fdf652dcbccc00366efccd06abde72

Author: Huw Davies <huw at codeweavers.com>
Date:   Mon Oct 19 12:21:19 2020 +0100

riched20: Use helpers in the cursor to start/end functions.

Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/riched20/caret.c  | 8 ++++----
 dlls/riched20/editor.c | 6 ++++++
 dlls/riched20/editor.h | 1 +
 3 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/dlls/riched20/caret.c b/dlls/riched20/caret.c
index 22da616731f..eb7ad7f1899 100644
--- a/dlls/riched20/caret.c
+++ b/dlls/riched20/caret.c
@@ -26,15 +26,15 @@ WINE_DEFAULT_DEBUG_CHANNEL(richedit);
 
 void ME_SetCursorToStart(ME_TextEditor *editor, ME_Cursor *cursor)
 {
-  cursor->pPara = editor->pBuffer->pFirst->member.para.next_para;
-  cursor->pRun = ME_FindItemFwd(cursor->pPara, diRun);
+  cursor->pPara = para_get_di( editor_first_para( editor ) );
+  cursor->pRun = run_get_di( para_first_run( &cursor->pPara->member.para ) );
   cursor->nOffset = 0;
 }
 
 static void ME_SetCursorToEnd(ME_TextEditor *editor, ME_Cursor *cursor, BOOL final_eop)
 {
-  cursor->pPara = editor->pBuffer->pLast->member.para.prev_para;
-  cursor->pRun = ME_FindItemBack(editor->pBuffer->pLast, diRun);
+  cursor->pPara = para_get_di( para_prev( editor_end_para( editor ) ) );
+  cursor->pRun = run_get_di( para_end_run( &cursor->pPara->member.para ) );
   cursor->nOffset = final_eop ? cursor->pRun->member.run.len : 0;
 }
 
diff --git a/dlls/riched20/editor.c b/dlls/riched20/editor.c
index e988eb9a014..51a6e33aef4 100644
--- a/dlls/riched20/editor.c
+++ b/dlls/riched20/editor.c
@@ -285,6 +285,12 @@ ME_Paragraph *editor_first_para( ME_TextEditor *editor )
     return para_next( &editor->pBuffer->pFirst->member.para );
 }
 
+/* Note, returns the diTextEnd sentinel paragraph */
+ME_Paragraph *editor_end_para( ME_TextEditor *editor )
+{
+    return &editor->pBuffer->pLast->member.para;
+}
+
 static LRESULT ME_StreamInText(ME_TextEditor *editor, DWORD dwFormat, ME_InStream *stream, ME_Style *style)
 {
   WCHAR *pText;
diff --git a/dlls/riched20/editor.h b/dlls/riched20/editor.h
index 4412a574262..c79fa0e18f0 100644
--- a/dlls/riched20/editor.h
+++ b/dlls/riched20/editor.h
@@ -273,6 +273,7 @@ void ME_ReplaceSel(ME_TextEditor *editor, BOOL can_undo, const WCHAR *str, int l
 int set_selection( ME_TextEditor *editor, int to, int from ) DECLSPEC_HIDDEN;
 HRESULT editor_copy_or_cut( ME_TextEditor *editor, BOOL cut, ME_Cursor *start, int count,
                             IDataObject **data_out ) DECLSPEC_HIDDEN;
+ME_Paragraph *editor_end_para( ME_TextEditor *editor ) DECLSPEC_HIDDEN;
 ME_Paragraph *editor_first_para( ME_TextEditor *editor ) DECLSPEC_HIDDEN;
 
 /* table.c */




More information about the wine-cvs mailing list