diff options
Diffstat (limited to 'src/vkvg_context_internal.c')
| -rw-r--r-- | src/vkvg_context_internal.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/vkvg_context_internal.c b/src/vkvg_context_internal.c index aeb61bd..80f29a1 100644 --- a/src/vkvg_context_internal.c +++ b/src/vkvg_context_internal.c @@ -681,18 +681,19 @@ void _update_push_constants(VkvgContext ctx) { } void _update_cur_pattern(VkvgContext ctx, VkvgPattern pat) { VkvgPattern lastPat = ctx->pattern; - ctx->pattern = pat; - uint32_t newPatternType = VKVG_PATTERN_TYPE_SOLID; - LOG(VKVG_LOG_INFO, "CTX: _update_cur_pattern: %p -> %p\n", lastPat, pat); - if (pat == NULL) { // solid color if (lastPat == NULL) // solid return; // solid to solid transition, no extra action requested + } else if (pat->status) { + LOG(VKVG_LOG_ERR, "Error: Update pattern fails, pattern status: %d\n", pat->status); + return; } else newPatternType = pat->type; + ctx->pattern = pat; + switch (newPatternType) { case VKVG_PATTERN_TYPE_SOLID: _flush_cmd_buff(ctx); |