These are the two functions:

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) );

void remove_node_to_recolor_wheel (RecolorWheel *wheel, std::string name)
    RecolorWheelPrivate *priv  = (RecolorWheelPrivate*) wheel->priv;

    std::map<std::string,RecolorWheelNode>::iterator iter;
    iter = priv->nodes.find(name);
    priv->nodes.erase( iter );   

On Wed, Aug 28, 2013 at 9:38 PM, Krzysztof Kosiński <> wrote:
2013/8/28 Arshdeep Singh <moduli16@...400...>:
> RecolorWheel* wheel = (RecolorWheel*)
> (((RecolorWheelSelector*)(rsel))->getWheel()) ;

This is a forced cast. Change this to GObject casts, e.g.

RecolorWheel *wheel = RECOLOR_WHEEL(RECOLOR_WHEEL_SELECTOR(rsel)->getWheel());

This way if you made a mistake here, you'll get a runtime warning.

>             add_node_to_recolor_wheel (wheel, obj->getId() , temp );

The problem might also be inside this function.

Regards, Krzysztof

Arshdeep Singh
Third Year, Computer Engineering
Delhi Technological University
Ph: +91-9654115614