X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fstate_rectangle.cpp;h=830bdb11b4d8f51bc890fd9b59588a79617788a7;hb=f7c2dc75685bf7dfce2b8152656938f66d6df11e;hp=50b542efa39506b66855458fc86ec9bba7aafe99;hpb=c3ad95144d148602f672e95ddda1f18fc35502f8;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/state_rectangle.cpp b/synfig-studio/trunk/src/gtkmm/state_rectangle.cpp index 50b542e..830bdb1 100644 --- a/synfig-studio/trunk/src/gtkmm/state_rectangle.cpp +++ b/synfig-studio/trunk/src/gtkmm/state_rectangle.cpp @@ -49,6 +49,8 @@ #include "duck.h" #include +#include "general.h" + #endif /* === U S I N G =========================================================== */ @@ -128,10 +130,10 @@ public: void save_settings(); void reset(); void increment_id(); - bool no_egress_on_selection_change; + bool egress_on_selection_change; Smach::event_result event_layer_selection_changed_handler(const Smach::event& /*x*/) { - if(!no_egress_on_selection_change) + if(egress_on_selection_change) throw Smach::egress_exception(); return Smach::RESULT_OK; } @@ -241,14 +243,14 @@ StateRectangle_Context::StateRectangle_Context(CanvasView* canvas_view): canvas_view_(canvas_view), is_working(*canvas_view), duckmatic_push(get_work_area()), - prev_workarea_layer_status_(get_work_area()->allow_layer_clicks), + prev_workarea_layer_status_(get_work_area()->get_allow_layer_clicks()), settings(synfigapp::Main::get_selected_input_device()->settings()), entry_id(), adj_expand(0,0,1,0.01,0.1), spin_expand(adj_expand,0.1,3), check_invert(_("Invert")) { - no_egress_on_selection_change=false; + egress_on_selection_change=true; load_settings(); // Set up the tool options dialog @@ -269,7 +271,7 @@ StateRectangle_Context::StateRectangle_Context(CanvasView* canvas_view): App::dialog_tool_options->present(); // Turn off layer clicking - get_work_area()->allow_layer_clicks=false; + get_work_area()->set_allow_layer_clicks(false); // clear out the ducks get_work_area()->clear_ducks(); @@ -313,7 +315,7 @@ StateRectangle_Context::~StateRectangle_Context() save_settings(); // Restore layer clicking - get_work_area()->allow_layer_clicks = prev_workarea_layer_status_; + get_work_area()->set_allow_layer_clicks(prev_workarea_layer_status_); get_canvas_view()->work_area->reset_cursor(); @@ -386,10 +388,10 @@ StateRectangle_Context::make_rectangle(const Point& _p1, const Point& _p2) layer->set_description(get_id()); get_canvas_interface()->signal_layer_new_description()(layer,layer->get_description()); - no_egress_on_selection_change=true; + egress_on_selection_change=false; get_canvas_interface()->get_selection_manager()->clear_selected_layers(); get_canvas_interface()->get_selection_manager()->set_selected_layer(layer); - no_egress_on_selection_change=false; + egress_on_selection_change=true; //post clean up stuff... reset();