I guess you are correct Krzysztof. Making the 'add_node_to_recolor_wheel' function empty stops Inkscape from crashing. So the problem has to lie in the casting. I have also tried :
RecolorWheelPrivate *priv;priv = G_TYPE_INSTANCE_GET_PRIVATE (wheel, RECOLOR_TYPE_COLOR_WHEEL,
RecolorWheelPrivate);// followed by the code (priv->nodes).insert( std::pair<std::string,RecolorWheelNode>(name,node) );
but this again leads to a crash.
Finally, atleast the brickwall is clear to us. Now all we need is a road roller :)
so the function crashing Inkscape is:
void add_node_to_recolor_wheel (RecolorWheel *wheel, std::string name, RecolorWheelNode node){RecolorWheelPrivate *priv = (RecolorWheelPrivate*) (wheel->priv);(priv->nodes).insert( std::pair<std::string,RecolorWheelNode>(name,node) );}