Testcase included.
Fixes #4424
else
pos = MIN (1.0, _gtk_css_number_value_get (stop->offset, hradius) / hradius);
- pos = MAX (pos, 0);
+ pos = MAX (pos, offset);
step = (pos - offset) / (i - last);
for (last = last + 1; last <= i; last++)
{
--- /dev/null
+window {
+ background: red;
+}
+
+#test {
+ background: radial-gradient(circle, red 100%, blue 0%, red 100%);
+}
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <object class="GtkWindow">
+ <property name="width_request">10</property>
+ <property name="height_request">10</property>
+ <property name="decorated">0</property>
+ </object>
+</interface>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <object class="GtkWindow">
+ <property name="name">test</property>
+ <property name="width_request">10</property>
+ <property name="height_request">10</property>
+ <property name="decorated">0</property>
+ </object>
+</interface>
'css-multi-state.css',
'css-multi-state.ref.ui',
'css-multi-state.ui',
+ 'css-radial-gradient-colorstop-crash.css',
+ 'css-radial-gradient-colorstop-crash.ref.ui',
+ 'css-radial-gradient-colorstop-crash.ui',
'data-url.css',
'data-url.ref.ui',
'data-url.ui',