X-Git-Url: https://git.xinqibao.xyz/dmenu.git/blobdiff_plain/03cb1ec55abebb6355858f582d68e33dabcfe6f5..1f2226df1380f178240bb81dddcad6c5ff2e9d62:/drw.c diff --git a/drw.c b/drw.c index 6aeb59d..4815e3a 100644 --- a/drw.c +++ b/drw.c @@ -65,8 +65,7 @@ drw_create(Display *dpy, int screen, Window root, unsigned int w, unsigned int h { Drw *drw; - if (!(drw = calloc(1, sizeof(Drw)))) - return NULL; + drw = ecalloc(1, sizeof(Drw)); drw->dpy = dpy; drw->screen = screen; drw->root = root; @@ -83,8 +82,6 @@ drw_create(Display *dpy, int screen, Window root, unsigned int w, unsigned int h void drw_resize(Drw *drw, unsigned int w, unsigned int h) { - if (!drw) - return; drw->w = w; drw->h = h; if (drw->drawable) @@ -189,16 +186,11 @@ Clr * drw_clr_create(Drw *drw, const char *clrname) { Clr *clr; - Colormap cmap; - Visual *vis; - if (!drw) - return NULL; - if (!(clr = calloc(1, sizeof(Clr)))) - return NULL; - cmap = DefaultColormap(drw->dpy, drw->screen); - vis = DefaultVisual(drw->dpy, drw->screen); - if (!XftColorAllocName(drw->dpy, vis, cmap, clrname, &clr->rgb)) + clr = ecalloc(1, sizeof(Clr)); + if (!XftColorAllocName(drw->dpy, DefaultVisual(drw->dpy, drw->screen), + DefaultColormap(drw->dpy, drw->screen), + clrname, &clr->rgb)) die("error, cannot allocate color '%s'\n", clrname); clr->pix = clr->rgb.pixel; @@ -214,15 +206,13 @@ drw_clr_free(Clr *clr) void drw_setscheme(Drw *drw, ClrScheme *scheme) { - if (!drw) - return; drw->scheme = scheme; } void drw_rect(Drw *drw, int x, int y, unsigned int w, unsigned int h, int filled, int empty, int invert) { - if (!drw || !drw->scheme) + if (!drw->scheme) return; XSetForeground(drw->dpy, drw->gc, invert ? drw->scheme->bg->pix : drw->scheme->fg->pix); if (filled) @@ -373,8 +363,6 @@ drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, const char *tex void drw_map(Drw *drw, Window win, int x, int y, unsigned int w, unsigned int h) { - if (!drw) - return; XCopyArea(drw->dpy, drw->drawable, win, drw->gc, x, y, w, h, x, y); XSync(drw->dpy, False); } @@ -384,8 +372,6 @@ drw_font_getexts(Fnt *font, const char *text, unsigned int len, Extnts *tex) { XGlyphInfo ext; - if (!font || !text) - return; XftTextExtentsUtf8(font->dpy, font->xfont, (XftChar8 *)text, len, &ext); tex->h = font->h; tex->w = ext.xOff; @@ -396,9 +382,8 @@ drw_font_getexts_width(Fnt *font, const char *text, unsigned int len) { Extnts tex; - if (!font) - return -1; drw_font_getexts(font, text, len, &tex); + return tex.w; } @@ -407,10 +392,7 @@ drw_cur_create(Drw *drw, int shape) { Cur *cur; - if (!drw) - return NULL; - if (!(cur = calloc(1, sizeof(Cur)))) - return NULL; + cur = ecalloc(1, sizeof(Cur)); cur->cursor = XCreateFontCursor(drw->dpy, shape); return cur; @@ -419,7 +401,7 @@ drw_cur_create(Drw *drw, int shape) void drw_cur_free(Drw *drw, Cur *cursor) { - if (!drw || !cursor) + if (!cursor) return; XFreeCursor(drw->dpy, cursor->cursor); free(cursor);