X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=src%2Fwindows.c;fp=src%2Fwindows.c;h=f75544bd4753fa06d64f46382499a8b92f7fbfec;hb=0399a31b31047ab82348f733d6c56524258d1188;hp=bb78a8bee0624ea791aadffc5084201b00abeefb;hpb=e6b7840265f17e8934500815030a2fc0553feb81;p=plomrogue diff --git a/src/windows.c b/src/windows.c index bb78a8b..f75544b 100644 --- a/src/windows.c +++ b/src/windows.c @@ -388,10 +388,15 @@ extern uint8_t init_win_meta(WINDOW * screen, struct WinMeta * wmeta) -extern uint8_t init_win(struct WinMeta * wmeta, struct Win * w, char * title, +extern uint8_t init_win(struct WinMeta * wmeta, struct Win ** wp, char * title, int16_t height, int16_t width, void * data, void * func) { + struct Win * w = malloc(sizeof(struct Win)); + if (NULL == w) + { + return 1; + } w->_prev = 0; w->_next = 0; w->frame.curses_win = 0; @@ -427,11 +432,20 @@ extern uint8_t init_win(struct WinMeta * wmeta, struct Win * w, char * title, { w->frame.size.y = wmeta->padframe.size.y - 1; } + *wp = w; return 0; } +extern void free_win(struct Win * win) +{ + free(win->_title); + free(win); +} + + + extern uint8_t append_win(struct WinMeta * wmeta, struct Win * w) { if (0 != wmeta->_chain_start)