-#define DUCK_MASK(lower,upper,string) \
- duck_mask_##lower=Gtk::ToggleAction::create("mask-" #lower "-ducks", string); \
- duck_mask_##lower->set_active((bool)(work_area->get_type_mask()&Duck::TYPE_##upper)); \
- action_group->add( duck_mask_##lower, \
- sigc::bind( \
- sigc::mem_fun(*this, &studio::CanvasView::toggle_duck_mask), \
- Duck::TYPE_##upper \
- ) \
- )
- DUCK_MASK(position,POSITION,_("Show Position Ducks"));
- DUCK_MASK(tangent,TANGENT,_("Show Tangent Ducks"));
- DUCK_MASK(vertex,VERTEX,_("Show Vertex Ducks"));
- DUCK_MASK(radius,RADIUS,_("Show Radius Ducks"));
- DUCK_MASK(width,WIDTH,_("Show Width Ducks"));
- DUCK_MASK(angle,ANGLE,_("Show Angle Ducks"));
+ {
+ Glib::RefPtr<Gtk::ToggleAction> action;
+
+#define DUCK_MASK(lower,upper,string) \
+ action=Gtk::ToggleAction::create("mask-" #lower "-ducks", string); \
+ action->set_active((bool)(work_area->get_type_mask()&Duck::TYPE_##upper)); \
+ action_group->add(action, \
+ sigc::bind( \
+ sigc::mem_fun(*this, &studio::CanvasView::toggle_duck_mask), \
+ Duck::TYPE_##upper))
+
+ DUCK_MASK(position,POSITION,_("Show Position Ducks"));
+ DUCK_MASK(tangent,TANGENT,_("Show Tangent Ducks"));
+ DUCK_MASK(vertex,VERTEX,_("Show Vertex Ducks"));
+ DUCK_MASK(radius,RADIUS,_("Show Radius Ducks"));
+ DUCK_MASK(width,WIDTH,_("Show Width Ducks"));
+ DUCK_MASK(angle,ANGLE,_("Show Angle Ducks"));
+