ui/common/document.c

changeset 1089
a3db51a94b37
parent 795
d466b6edfebc
--- a/ui/common/document.c	Tue Apr 14 18:08:20 2026 +0200
+++ b/ui/common/document.c	Wed Apr 15 11:19:25 2026 +0200
@@ -49,20 +49,22 @@
 }
 
 void ui_document_destroy(void *doc) {
+    uic_context_destroy(ui_document_context(doc), doc);
+}
+
+void ui_document_ref(void *doc) {
     UiContext *ctx = ui_document_context(doc);
     if(ctx) {
-        UiEvent ev;
-        ev.window = NULL;
-        ev.document = doc;
-        ev.obj = NULL;
-        ev.eventdata = NULL;
-        ev.eventdatatype = 0;
-        ev.intval = 0;
+        ctx->ref++;
+    }
+}
 
-        if(ctx->close_callback) {
-            ctx->close_callback(&ev, ctx->close_data);
+void ui_document_unref(void *doc) {
+    UiContext *ctx = ui_document_context(doc);
+    if(ctx) {
+        if(--ctx->ref == 0) {
+            uic_context_destroy(ctx, doc);
         }
-        cxMempoolFree(ctx->mp);
     }
 }
 

mercurial