GNOME Bugzilla – Bug 741375
Windows: GTK+ programs stop running due to changes in CSS parsing
Last modified: 2014-12-11 14:23:09 UTC
Hi, (Sorry, as I am not able to deduce a more specific component for this CSS-theming (or so) related issue). There were some very recent internal changes on how the CSS parsing mechanism works, which actually caused the gtk3-demo program, and likely to abort upon applying the patch from commit 272a008 (cssselector: Turn into a union) to abort due to an gassert_not_reached() in get_position_match() in gtkcssselector.c. It seems that the value of selector->position.type became -2 somehow (at the third time that get_position_match() is run) during the conversion of GtkCssSelector into an union. I will also try to look into this on what specifically caused this, or if any pointer to fix this would also be highly appreciated (e.g. is the GDK-Win32 backend-related to this issue, which I am initially inclined to doubt?) With blessings, thank you!
Created attachment 292511 [details] Callstack just before the g_assert_not_reached() Hi, More specifically, the problem occurs when we are doing _gtk_css_selector_tree_match_all() for a GtkCssSelectorTree with class name pseudoclass-position, so it seems that the change affected how a GtkCssSelector union is being filled in upon initialization, and perhaps something was missed during the process. I have attached a callstack prior to the g_assert_not_reached() for references. With blessings, thank you!
(For references, the build was based on all of Benjamin's commits on cssselector reverted up to 272a008)
Should be fixed in master by 3e9067ce1c602dfff0d1450be52e9cabef869f79.
Hello Benjamin, Yes, that fixed the issue. With blessings, thank you!