diff options
| author | Jabier Arraiza Cenoz <jabier.arraiza@marker.es> | 2013-02-28 03:43:21 +0000 |
|---|---|---|
| committer | Jabiertxo Arraiza Zenotz <jtx@jtx.marker.es> | 2013-02-28 03:43:21 +0000 |
| commit | ecc57932f1e7d157950ada2901f6ea6f3acc8aad (patch) | |
| tree | a709f96bc323c5e7b69d09ece12aefebfb0e14d8 /src/draw-context.cpp | |
| parent | BSpline refactor (diff) | |
| download | inkscape-ecc57932f1e7d157950ada2901f6ea6f3acc8aad.tar.gz inkscape-ecc57932f1e7d157950ada2901f6ea6f3acc8aad.zip | |
Fixed closed pc->ea
(bzr r11950.1.40)
Diffstat (limited to 'src/draw-context.cpp')
| -rw-r--r-- | src/draw-context.cpp | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/draw-context.cpp b/src/draw-context.cpp index 8da39b027..dcd0fc7ec 100644 --- a/src/draw-context.cpp +++ b/src/draw-context.cpp @@ -561,7 +561,15 @@ void spdc_concat_colors_and_flush(SPDrawContext *dc, gboolean forceclosed) dc->sa->curve->append_continuous(c, 0.0625); c->unref(); dc->sa->curve->closepath_current(); - spdc_flush_white(dc, NULL); + //BSpline + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if(prefs->getInt(tool_name(dc) + "/freehand-mode", 0) == 1 || + prefs->getInt(tool_name(dc) + "/freehand-mode", 0) == 2){ + dc->white_curves = g_slist_remove(dc->white_curves, dc->sa->curve); + spdc_flush_white(dc, dc->sa->curve); + }else + //BSpline End + spdc_flush_white(dc, NULL); return; } @@ -687,6 +695,18 @@ SPDrawAnchor *spdc_test_inside(SPDrawContext *dc, Geom::Point p) } } + //BSpline + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + if((prefs->getInt(tool_name(dc) + "/freehand-mode", 0) == 1 || + prefs->getInt(tool_name(dc) + "/freehand-mode", 0) == 2) && + dc->sa && !dc->red_curve->is_empty() && !dc->green_anchor){ + if(active){ + active->curve = dc->sa->curve; + active->curve->ref(); + } + } + //BSpline End + return active; } |
