ui/common/menu.c

changeset 860
7f2287ae2b78
parent 836
5a8485ff7f54
child 890
8d30cbd1c465
equal deleted inserted replaced
859:c13653b1cc9d 860:7f2287ae2b78
253 void ui_contextmenu_builder(UiMenuBuilder **out_builder) { 253 void ui_contextmenu_builder(UiMenuBuilder **out_builder) {
254 UiMenuBuilder *builder = malloc(sizeof(UiMenuBuilder)); 254 UiMenuBuilder *builder = malloc(sizeof(UiMenuBuilder));
255 builder->menus_begin = NULL; 255 builder->menus_begin = NULL;
256 builder->menus_end = NULL; 256 builder->menus_end = NULL;
257 builder->current = cxLinkedListCreate(cxDefaultAllocator, NULL, CX_STORE_POINTERS); 257 builder->current = cxLinkedListCreate(cxDefaultAllocator, NULL, CX_STORE_POINTERS);
258 builder->ref = 1;
258 current_builder = builder; 259 current_builder = builder;
259 *out_builder = builder; 260 *out_builder = builder;
260 261
261 ui_menu_create(NULL); 262 ui_menu_create(NULL);
262 } 263 }
322 m = next; 323 m = next;
323 } 324 }
324 cxListFree(builder->current); 325 cxListFree(builder->current);
325 free(builder); 326 free(builder);
326 } 327 }
328
329 void ui_menubuilder_ref(UiMenuBuilder *builder) {
330 builder->ref++;
331 }
332
333 void ui_menubuilder_unref(UiMenuBuilder *builder) {
334 if(--builder->ref <= 0) {
335 ui_menubuilder_free(builder);
336 }
337 }

mercurial