From 67ec83b3a6a59567421ebec8bdbc985645fbba90 Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Fri, 06 Aug 2021 19:37:06 -0400 Subject: tk: Handle zero-width text rendering Fixes: ERROR: Couldn't create surface: Text has zero width --- (limited to 'src/tk') diff --git a/src/tk/text.c b/src/tk/text.c index 1cbeb50..5d61682 100644 --- a/src/tk/text.c +++ b/src/tk/text.c @@ -193,7 +193,8 @@ _mftk_text_render(struct mftk_widget *w, SDL_Renderer *renderer, int x, int y) SDL_Rect rect; int cur_x; - if (t->texture == NULL && _mftk_text_render_val(t, renderer) < 0) { + if (t->val[0] != '\0' && t->texture == NULL && + _mftk_text_render_val(t, renderer) < 0) { return -1; } @@ -206,9 +207,14 @@ _mftk_text_render(struct mftk_widget *w, SDL_Renderer *renderer, int x, int y) t->curval[t->cur] = '\0'; TTF_SizeUTF8(t->font, t->curval, &cur_x, NULL); - if (SDL_RenderCopy(renderer, t->texture, NULL, &rect) < 0 || - SDL_SetRenderDrawColor(renderer, - t->color->r, t->color->g, + if (t->val[0] != '\0' && + SDL_RenderCopy(renderer, t->texture, NULL, &rect) < 0) { + SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, + "Couldn't render widget: %s", + SDL_GetError()); + return -1; + } + if (SDL_SetRenderDrawColor(renderer, t->color->r, t->color->g, t->color->b, t->color->a) < 0 || SDL_RenderDrawLine(renderer, x, y + w->h, x + w->w, y + w->h) < 0) { -- cgit v0.9.1