Jinoh Kang : riched20: Add back-reference to outer ME_Run from struct re_object.
Alexandre Julliard
julliard at winehq.org
Mon Mar 21 17:20:24 CDT 2022
Module: wine
Branch: master
Commit: 05796c4e2a4acb91e6035c536b4d0e1f7e16896d
URL: https://source.winehq.org/git/wine.git/?a=commit;h=05796c4e2a4acb91e6035c536b4d0e1f7e16896d
Author: Jinoh Kang <jinoh.kang.kr at gmail.com>
Date: Mon Mar 21 04:37:55 2022 +0900
riched20: Add back-reference to outer ME_Run from struct re_object.
Signed-off-by: Jinoh Kang <jinoh.kang.kr at gmail.com>
Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/riched20/caret.c | 5 +++--
dlls/riched20/editstr.h | 2 ++
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/dlls/riched20/caret.c b/dlls/riched20/caret.c
index 6d32776e3d2..c8658098e18 100644
--- a/dlls/riched20/caret.c
+++ b/dlls/riched20/caret.c
@@ -442,7 +442,7 @@ BOOL ME_DeleteTextAtCursor(ME_TextEditor *editor, int nCursor, int nChars)
nChars, FALSE);
}
-static struct re_object* create_re_object(const REOBJECT *reo)
+static struct re_object* create_re_object(const REOBJECT *reo, ME_Run *run)
{
struct re_object *reobj = heap_alloc(sizeof(*reobj));
@@ -452,6 +452,7 @@ static struct re_object* create_re_object(const REOBJECT *reo)
return NULL;
}
ME_CopyReObject(&reobj->obj, reo, REO_GETOBJ_ALL_INTERFACES);
+ reobj->run = run;
return reobj;
}
@@ -477,7 +478,7 @@ void editor_insert_oleobj(ME_TextEditor *editor, const REOBJECT *reo)
run = run_insert( editor, cursor, style, &space, 1, MERF_GRAPHICS );
- run->reobj = create_re_object( reo );
+ run->reobj = create_re_object( reo, run );
prev = run;
while ((prev = run_prev_all_paras( prev )))
diff --git a/dlls/riched20/editstr.h b/dlls/riched20/editstr.h
index 889795de189..3b166234f23 100644
--- a/dlls/riched20/editstr.h
+++ b/dlls/riched20/editstr.h
@@ -147,11 +147,13 @@ typedef enum {
/******************************** structures *************************/
struct tagME_DisplayItem;
+struct tagME_Run;
struct re_object
{
struct list entry;
REOBJECT obj;
+ struct tagME_Run *run; /* ptr to the reobj's run */
};
typedef struct tagME_Run
More information about the wine-cvs
mailing list