| 96 } |
96 } |
| 97 return 1; |
97 return 1; |
| 98 } |
98 } |
| 99 |
99 |
| 100 void uic_object_destroy(UiObject *obj) { |
100 void uic_object_destroy(UiObject *obj) { |
| 101 if(obj->ctx->close_callback) { |
|
| 102 UiEvent ev; |
|
| 103 ev.window = obj->window; |
|
| 104 ev.document = obj->ctx->document; |
|
| 105 ev.obj = obj; |
|
| 106 ev.eventdata = NULL; |
|
| 107 ev.eventdatatype = 0; |
|
| 108 ev.intval = 0; |
|
| 109 obj->ctx->close_callback(&ev, obj->ctx->close_data); |
|
| 110 } |
|
| 111 uic_object_destroyed(obj); |
101 uic_object_destroyed(obj); |
| 112 cxMempoolFree(obj->ctx->mp); |
102 uic_context_destroy(obj->ctx, obj->ctx->document); |
| 113 } |
103 } |
| 114 |
104 |
| 115 UiObject* uic_object_new_toplevel(void) { |
105 UiObject* uic_object_new_toplevel(void) { |
| 116 CxMempool *mp = cxMempoolCreateSimple(256); |
106 CxMempool *mp = cxMempoolCreateSimple(256); |
| 117 UiObject *obj = cxCalloc(mp->allocator, 1, sizeof(UiObjectPrivate)); |
107 UiObject *obj = cxCalloc(mp->allocator, 1, sizeof(UiObjectPrivate)); |