File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -104,6 +104,7 @@ int Widget_Unwrap(LCUI_Widget widget)
104104{
105105 size_t len ;
106106 LCUI_Widget child ;
107+ LCUI_WidgetEventRec ev = { 0 };
107108 LinkedList * children ;
108109 LinkedListNode * target , * node , * prev ;
109110
@@ -121,14 +122,19 @@ int Widget_Unwrap(LCUI_Widget widget)
121122 node = & widget -> node ;
122123 target = node -> prev ;
123124 node = widget -> children .tail .prev ;
125+ ev .cancel_bubble = TRUE;
124126 while (len > 0 ) {
125127 assert (node != NULL );
126128 assert (node -> data != NULL );
127129 prev = node -> prev ;
128130 child = node -> data ;
131+ ev .type = LCUI_WEVENT_UNLINK ;
132+ Widget_TriggerEvent (child , & ev , NULL );
129133 LinkedList_Unlink (& widget -> children , node );
130- child -> parent = widget -> parent ;
131134 LinkedList_Link (children , target , node );
135+ child -> parent = widget -> parent ;
136+ ev .type = LCUI_WEVENT_LINK ;
137+ Widget_TriggerEvent (child , & ev , NULL );
132138 Widget_AddTaskForChildren (child , LCUI_WTASK_REFRESH_STYLE );
133139 Widget_UpdateTaskStatus (child );
134140 node = prev ;
You can’t perform that action at this time.
0 commit comments