I’ve been attempting to fix the following bug: enumerated lists interfere with each other and its second manifestation (“straight” interfering with “fast gaussian blur”).
The bug occurs as follows: synfig studio compares the new value of the blend method to the old value of another parameter (e.g. Circle/falloff or Blur/type), concludes that no change has occured, and does nothing. I have not been able to figure out why this happens. However, I’ve been able to confirm this as causing the problem by commenting out line 601 of cellrenderer_value.cpp (and seeing that everything is fixed).
Some questions still remain unanswered: Why do the lists interfere with each other? Why only in one direction? (Changing the order of modification eliminates the problem).
There is also a corollary: after modifying a circle so that the params interfere (both with and without line 601 commented out), synfig studio will crash upon closing the document. In cellrenderer_value.cpp:313, the ‘widget’ parameter is apparently null, and anything using it, such as line 460, segfaults. A stack trace shows render_vfunc being called indirectly by canvasview.cpp:933 (which deletes widgets ).
Warnings shown are:
(synfigstudio:8336): glibmm-WARNING **: Glib::wrap_create_new_wrapper: Attempted to create a 2nd C++ wrapper for a C instance whose C++ wrapper has been deleted. (synfigstudio:8336): glibmm-WARNING **: Failed to wrap object of type 'gtkmm__GtkTreeView'. Hint: this error is commonly caused by failing to call a library init() function. -----------SEGFAULT-----------
If you have any ideas that might help tackle this problem, please post them. (If you can actually fix it that’s even better )