diff options
| author | Jabier Arraiza Cenoz <jabier.arraiza@marker.es> | 2015-12-11 01:24:16 +0000 |
|---|---|---|
| committer | jabiertxof <info@marker.es> | 2015-12-11 01:24:16 +0000 |
| commit | e151d5d9804624f69d037e708c6a2bd35058e467 (patch) | |
| tree | 2c2bff20d984866ce168cff81d475f772c054e5c /src | |
| parent | hide/show handle with guide (diff) | |
| download | inkscape-e151d5d9804624f69d037e708c6a2bd35058e467.tar.gz inkscape-e151d5d9804624f69d037e708c6a2bd35058e467.zip | |
Fix bug launching a document by commandline with guides
(bzr r14525)
Diffstat (limited to 'src')
| -rw-r--r-- | src/display/guideline.cpp | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/src/display/guideline.cpp b/src/display/guideline.cpp index 820a61d4d..1c28149a9 100644 --- a/src/display/guideline.cpp +++ b/src/display/guideline.cpp @@ -180,6 +180,15 @@ static void sp_guideline_update(SPCanvasItem *item, Geom::Affine const &affine, gl->affine = affine; + if (!gl->origin){ + gl->origin = new SPKnot(SP_ACTIVE_DESKTOP, "No tip yet!! XXX"); + + gl->origin->setAnchor(SP_ANCHOR_CENTER); + gl->origin->setMode(SP_CTRL_MODE_COLOR); + gl->origin->setFill(0xffffff80, 0xffffffff, 0xffffff80); + gl->origin->request_signal.connect(sigc::bind(sigc::ptr_fun(sp_guideline_origin_move), gl)); + } + if (gl->locked) { gl->origin->setStroke(0x0000ff88, 0x0000ff88, 0x0000ff88); gl->origin->setShape(SP_CTRL_SHAPE_CROSS); @@ -191,7 +200,7 @@ static void sp_guideline_update(SPCanvasItem *item, Geom::Affine const &affine, } gl->origin->moveto(gl->point_on_line); gl->origin->updateCtrl(); - + Geom::Point pol_transformed = gl->point_on_line*affine; if (gl->is_horizontal()) { sp_canvas_update_bbox (item, -1000000, round(pol_transformed[Geom::Y] - 16), 1000000, round(pol_transformed[Geom::Y] + 1)); @@ -224,15 +233,16 @@ SPCanvasItem *sp_guideline_new(SPCanvasGroup *parent, char* label, Geom::Point p { SPCanvasItem *item = sp_canvas_item_new(parent, SP_TYPE_GUIDELINE, NULL); SPGuideLine *gl = SP_GUIDELINE(item); - gl->origin = new SPKnot(SP_ACTIVE_DESKTOP, "No tip yet!! XXX"); - - gl->origin->setAnchor(SP_ANCHOR_CENTER); - gl->origin->setMode(SP_CTRL_MODE_COLOR); - gl->origin->setFill(0xffffff80, 0xffffffff, 0xffffff80); - gl->origin->moveto(point_on_line); - gl->origin->request_signal.connect(sigc::bind(sigc::ptr_fun(sp_guideline_origin_move), gl)); - gl->origin->updateCtrl(); - + if ( SP_ACTIVE_DESKTOP ){ + gl->origin = new SPKnot(SP_ACTIVE_DESKTOP, "No tip yet!! XXX"); + + gl->origin->setAnchor(SP_ANCHOR_CENTER); + gl->origin->setMode(SP_CTRL_MODE_COLOR); + gl->origin->setFill(0xffffff80, 0xffffffff, 0xffffff80); + gl->origin->moveto(point_on_line); + gl->origin->request_signal.connect(sigc::bind(sigc::ptr_fun(sp_guideline_origin_move), gl)); + gl->origin->updateCtrl(); + } normal.normalize(); gl->label = label; gl->locked = false; |
