[gtk+] gtkcssimagelinear.c: Avoid VLAs
- From: Chun-wei Fan <fanchunwei src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] gtkcssimagelinear.c: Avoid VLAs
- Date: Thu, 22 Dec 2016 00:40:48 +0000 (UTC)
commit 23edff1606165357e8efcab82b00e55b43ca7155
Author: Chun-wei Fan <fanchunwei src gnome org>
Date: Wed Dec 21 11:48:56 2016 +0800
gtkcssimagelinear.c: Avoid VLAs
VLAs are not supported by Visual Studio and possibly other compilers that
are supported by GTK+-3.90+, and probably never will be, although it is a
C99 specification, and it became optional for C11. It is also not a part
of the newer compiler requirements that are listed out for GTK+-3.90.x.
There exist concerns about the implementation of VLAs in compilers that
support them as well, so change it to a g_newa() approach.
https://bugzilla.gnome.org/show_bug.cgi?id=773299
gtk/gtkcssimagelinear.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
---
diff --git a/gtk/gtkcssimagelinear.c b/gtk/gtkcssimagelinear.c
index 0e415d6..17318ca 100644
--- a/gtk/gtkcssimagelinear.c
+++ b/gtk/gtkcssimagelinear.c
@@ -134,7 +134,7 @@ gtk_css_image_linear_snapshot (GtkCssImage *image,
double height)
{
GtkCssImageLinear *linear = GTK_CSS_IMAGE_LINEAR (image);
- GskColorStop stops[linear->stops->len];
+ GskColorStop *stops;
GskRenderNode *node;
double off_x, off_y; /* snapshot offset */
double angle; /* actual angle of the gradiant line in degrees */
@@ -183,6 +183,8 @@ gtk_css_image_linear_snapshot (GtkCssImage *image,
offset = start;
last = -1;
+ stops = g_newa (GskColorStop, linear->stops->len);
+
for (i = 0; i < linear->stops->len; i++)
{
GtkCssImageLinearColorStop *stop;
@@ -238,6 +240,7 @@ gtk_css_image_linear_snapshot (GtkCssImage *image,
stops,
linear->stops->len);
}
+
name = g_strdup_printf ("%sLinearGradient<%ustops>", linear->repeating ? "Repeating" : "",
linear->stops->len);
gsk_render_node_set_name (node, name);
g_free (name);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]