From 30dd228b3490bc81b04c6fa3fb36f8c91ceec4e6 Mon Sep 17 00:00:00 2001 From: Maximilian Albert Date: Thu, 12 Jun 2008 13:23:30 +0000 Subject: More infrastructure to have waiting LPEs that are freshly created and applied to yet-to-be-drawn paths (bzr r5903) --- src/draw-context.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/draw-context.cpp') diff --git a/src/draw-context.cpp b/src/draw-context.cpp index 4d60cda05..de030c7d5 100644 --- a/src/draw-context.cpp +++ b/src/draw-context.cpp @@ -115,7 +115,7 @@ sp_draw_context_init(SPDrawContext *dc) dc->green_color = 0x00ff007f; dc->red_curve_is_valid = false; - dc->waiting_LPE = Inkscape::LivePathEffect::INVALID_LPE; + dc->waiting_LPE_type = Inkscape::LivePathEffect::INVALID_LPE; new (&dc->sel_changed_connection) sigc::connection(); new (&dc->sel_modified_connection) sigc::connection(); @@ -245,20 +245,20 @@ sp_draw_context_root_handler(SPEventContext *ec, GdkEvent *event) /* * If we have an item and a waiting LPE, apply the effect to the item + * (spiro spline mode is treated separately) */ void spdc_check_for_and_apply_waiting_LPE(SPDrawContext *dc, SPItem *item) { using namespace Inkscape::LivePathEffect; - // TODO: sort this out as soon as we use automatic LPE application for other things than spiro mode, too if (item) { if (prefs_get_int_attribute("tools.freehand", "spiro-spline-mode", 0)) { Effect::createAndApply(SPIRO, dc->desktop->doc(), item); return; } - if (dc->waiting_LPE != INVALID_LPE) { - Effect::createAndApply(dc->waiting_LPE, dc->desktop->doc(), item); + if (dc->waiting_LPE_type != INVALID_LPE) { + Effect::createAndApply(dc->waiting_LPE_type, dc->desktop->doc(), item); } } } @@ -270,6 +270,8 @@ spdc_check_for_and_apply_waiting_LPE(SPDrawContext *dc, SPItem *item) static void spdc_selection_changed(Inkscape::Selection *sel, SPDrawContext *dc) { + // note: in draw context, selection_changed() is only called when a new item was created; + // otherwise the following function call would yield wrong results spdc_check_for_and_apply_waiting_LPE(dc, sel->singleItem()); if (dc->attach) { -- cgit v1.2.3