Re: Reparsing with GtkBuilder



amol wrote:
Hi
If i used gtk_builder_add_from_string to parse some string for builder which already has some content then application terminates with following message > Gtk-ERROR **: file gtkbuilder.c: line 567 (apply_delayed_properties): assertion failed: (object != NULL)
if builder had already set some delayed property.

If builder had not set any delayed property previously then it does not crashes while reparsing with add_string.

Is this bug in Gtk+?

Likely!
Multiple calls to add_from_string/add_from_file has not yet been thoroughly tested.

Delayed properties are applied in parser finished.
If we parse any buffer again with same builder then it tries to set the delayed properties again which are irrelevant. setting builder->delayed_properties to NULL in parser_finished solves above problem but is this a right solution or it has any other side effects? If new buffer has any delayed properties associated with objects then builder->delayed_properties will set again and that properties will be applied in parser_finished.

This makes sense, we had a similar bug related to signal connection and the solution is the same as you proposed.

Could you please file a bug and let the discussion continue there?

Johan


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]