From: Matthias Clasen Date: Wed, 19 Apr 2023 07:19:12 +0000 (+0200) Subject: gsk: Use explicit switches X-Git-Tag: archive/raspbian/4.12.3+ds-1+rpi1~1^2^2^2~22^2~1^2~393^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=83091c4f15db3105f7092b80497d7122a547a8e0;p=gtk4.git gsk: Use explicit switches This makes it harder to forget to add new node types here. --- diff --git a/gsk/gl/gskglrenderjob.c b/gsk/gl/gskglrenderjob.c index 43bd1ef960..39d9990de5 100644 --- a/gsk/gl/gskglrenderjob.c +++ b/gsk/gl/gskglrenderjob.c @@ -255,7 +255,7 @@ gsk_rounded_rect_shrink_to_minimum (GskRoundedRect *self) static inline gboolean G_GNUC_PURE node_supports_2d_transform (const GskRenderNode *node) { - switch ((int)gsk_render_node_get_node_type (node)) + switch (gsk_render_node_get_node_type (node)) { case GSK_COLOR_NODE: case GSK_OPACITY_NODE: @@ -290,8 +290,18 @@ node_supports_2d_transform (const GskRenderNode *node) } return TRUE; - default: + case GSK_BORDER_NODE: + case GSK_INSET_SHADOW_NODE: + case GSK_OUTSET_SHADOW_NODE: + case GSK_REPEAT_NODE: + case GSK_CLIP_NODE: + case GSK_ROUNDED_CLIP_NODE: + case GSK_GL_SHADER_NODE: return FALSE; + + case GSK_NOT_A_RENDER_NODE: + default: + g_assert_not_reached (); } } @@ -305,7 +315,7 @@ node_supports_transform (const GskRenderNode *node) * opacity or color matrix. */ - switch ((int)gsk_render_node_get_node_type (node)) + switch (gsk_render_node_get_node_type (node)) { case GSK_COLOR_NODE: case GSK_OPACITY_NODE: @@ -326,8 +336,25 @@ node_supports_transform (const GskRenderNode *node) case GSK_TRANSFORM_NODE: return node_supports_transform (gsk_transform_node_get_child (node)); - default: + case GSK_CONTAINER_NODE: + case GSK_LINEAR_GRADIENT_NODE: + case GSK_REPEATING_LINEAR_GRADIENT_NODE: + case GSK_RADIAL_GRADIENT_NODE: + case GSK_REPEATING_RADIAL_GRADIENT_NODE: + case GSK_CONIC_GRADIENT_NODE: + case GSK_BORDER_NODE: + case GSK_INSET_SHADOW_NODE: + case GSK_OUTSET_SHADOW_NODE: + case GSK_REPEAT_NODE: + case GSK_CLIP_NODE: + case GSK_ROUNDED_CLIP_NODE: + case GSK_GL_SHADER_NODE: + case GSK_TEXTURE_SCALE_NODE: return FALSE; + + case GSK_NOT_A_RENDER_NODE: + default: + g_assert_not_reached (); } }