diff -r e79a60b3a7cb -r 7c3ff86ee9d4 ui/motif/text.h --- a/ui/motif/text.h Sun Apr 16 10:20:21 2023 +0200 +++ b/ui/motif/text.h Tue May 23 11:11:28 2023 +0200 @@ -31,7 +31,7 @@ #include "../ui/text.h" #include "toolkit.h" -#include +#include #ifdef __cplusplus extern "C" { @@ -39,19 +39,23 @@ #define UI_TEXTBUF_INSERT 0 #define UI_TEXTBUF_DELETE 1 -typedef struct UiTextBufOp { +typedef struct UiTextBufOp UiTextBufOp; +struct UiTextBufOp { + UiTextBufOp *prev; + UiTextBufOp *next; int type; // UI_TEXTBUF_INSERT, UI_TEXTBUF_DELETE int start; int end; int len; char *text; -} UiTextBufOp; +}; typedef struct UiUndoMgr { - UcxList *begin; - UcxList *cur; - int length; - int event; + UiTextBufOp *begin; + UiTextBufOp *end; + UiTextBufOp *cur; + int length; + int event; } UiUndoMgr; typedef struct UiTextArea { @@ -69,6 +73,7 @@ int ui_textarea_length(UiText *text); UiUndoMgr* ui_create_undomgr(); +void ui_destroy_undomgr(UiUndoMgr *mgr); void ui_text_selection_callback( Widget widget, UiTextArea *textarea,