From ee83a875dfc9f08821125415243147ad3a495a5e Mon Sep 17 00:00:00 2001 From: deadwood Date: Mon, 15 Jun 2015 19:33:54 +0000 Subject: [PATCH] Listtree.mcc: update flags of proxy object before returning it git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@50829 fb15a70f-31f2-0310-bbcc-cdcc74a49acc --- workbench/classes/zune/listtree/listtree.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/workbench/classes/zune/listtree/listtree.c b/workbench/classes/zune/listtree/listtree.c index 9090dbb80c..28bf6b9125 100644 --- a/workbench/classes/zune/listtree/listtree.c +++ b/workbench/classes/zune/listtree/listtree.c @@ -124,6 +124,10 @@ static IPTR DisplayHook_Proxy(struct Hook *hook, Object *obj, struct MUIP_NListt supertags[i].ti_Tag = AATTR; \ supertags[i++].ti_Data = tag->ti_Data; \ break; + +#define SYNC_TREENODE_FLAGS(tn) \ + ((struct MUIS_Listtree_TreeNode *)tn->tn_User)->tn_Flags = tn->tn_Flags; + /*** Methods ****************************************************************/ Object *Listtree__OM_NEW(struct IClass *cl, Object *obj, struct opSet *msg) { @@ -427,7 +431,10 @@ IPTR Listtree__MUIM_Listtree_GetEntry(struct IClass *cl, Object *obj, struct MUI MUIM_NListtree_GetEntry, tn, msg->Position, msg->Flags); if (found) + { + SYNC_TREENODE_FLAGS(found); return (IPTR)found->tn_User; + } else return (IPTR)NULL; } @@ -488,6 +495,7 @@ IPTR Listtree__MUIM_Listtree_TestPos(struct IClass *cl, Object *obj, struct MUIP if (res.tpr_TreeNode != NULL) { + SYNC_TREENODE_FLAGS(res.tpr_TreeNode); _ret->tpr_TreeNode = res.tpr_TreeNode->tn_User; return TRUE; } -- 2.11.4.GIT