[PATCH 1/2] riched20: Add back-reference to outer ME_Run from struct re_object.
Jinoh Kang
jinoh.kang.kr at gmail.com
Sun Mar 20 14:37:55 CDT 2022
Signed-off-by: Jinoh Kang <jinoh.kang.kr at gmail.com>
---
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
--
2.34.1
More information about the wine-devel
mailing list