From b2c0bca34f70b181a81c920ae3f000b4d6d1e675 Mon Sep 17 00:00:00 2001 From: Ivan Mahonin Date: Sat, 5 Apr 2014 19:04:57 +0700 Subject: [PATCH] Fix bug with disappearing handles of Bline-tool when zoom --- synfig-studio/src/gui/canvasview.cpp | 1 + synfig-studio/src/gui/states/state_bline.cpp | 2 +- synfig-studio/src/gui/states/state_draw.cpp | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/synfig-studio/src/gui/canvasview.cpp b/synfig-studio/src/gui/canvasview.cpp index c4d94834fbd..6d6ba2585cd 100644 --- a/synfig-studio/src/gui/canvasview.cpp +++ b/synfig-studio/src/gui/canvasview.cpp @@ -2742,6 +2742,7 @@ CanvasView::rebuild_ducks() } }while(0); work_area->refresh_selected_ducks(); + get_smach().process_event(EVENT_REFRESH_DUCKS); work_area->queue_draw_preview(); } diff --git a/synfig-studio/src/gui/states/state_bline.cpp b/synfig-studio/src/gui/states/state_bline.cpp index 2c7cb65fee7..acd1cabe2d9 100644 --- a/synfig-studio/src/gui/states/state_bline.cpp +++ b/synfig-studio/src/gui/states/state_bline.cpp @@ -262,7 +262,7 @@ class studio::StateBLine_Context : public sigc::trackable Smach::event_result event_mouse_motion_handler(const Smach::event& x); Smach::event_result event_refresh_tool_options(const Smach::event& x); - Smach::event_result event_hijack(const Smach::event& /*x*/) { return Smach::RESULT_ACCEPT; } + Smach::event_result event_hijack(const Smach::event& /*x*/) { refresh_ducks(); return Smach::RESULT_ACCEPT; } void refresh_tool_options(); diff --git a/synfig-studio/src/gui/states/state_draw.cpp b/synfig-studio/src/gui/states/state_draw.cpp index 038ac1eddd7..6be4c5bbafd 100644 --- a/synfig-studio/src/gui/states/state_draw.cpp +++ b/synfig-studio/src/gui/states/state_draw.cpp @@ -369,6 +369,7 @@ StateDraw::StateDraw(): { insert(event_def(EVENT_STOP,&StateDraw_Context::event_stop_handler)); insert(event_def(EVENT_REFRESH,&StateDraw_Context::event_refresh_handler)); + insert(event_def(EVENT_REFRESH_DUCKS,&StateDraw_Context::event_refresh_handler)); insert(event_def(EVENT_WORKAREA_MOUSE_BUTTON_DOWN,&StateDraw_Context::event_mouse_down_handler)); insert(event_def(EVENT_WORKAREA_STROKE,&StateDraw_Context::event_stroke)); insert(event_def(EVENT_REFRESH_TOOL_OPTIONS,&StateDraw_Context::event_refresh_tool_options));