summaryrefslogtreecommitdiffstats
path: root/src/display/guideline.cpp
diff options
context:
space:
mode:
authorJabier Arraiza Cenoz <jabier.arraiza@marker.es>2015-12-11 01:24:16 +0000
committerjabiertxof <info@marker.es>2015-12-11 01:24:16 +0000
commite151d5d9804624f69d037e708c6a2bd35058e467 (patch)
tree2c2bff20d984866ce168cff81d475f772c054e5c /src/display/guideline.cpp
parenthide/show handle with guide (diff)
downloadinkscape-e151d5d9804624f69d037e708c6a2bd35058e467.tar.gz
inkscape-e151d5d9804624f69d037e708c6a2bd35058e467.zip
Fix bug launching a document by commandline with guides
(bzr r14525)
Diffstat (limited to 'src/display/guideline.cpp')
-rw-r--r--src/display/guideline.cpp30
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;