summaryrefslogtreecommitdiffstats
path: root/src/live_effects/lpe-measure-segments.cpp
diff options
context:
space:
mode:
authorJabier Arraiza <jabier.arraiza@marker.es>2019-09-30 14:05:42 +0000
committerJabier Arraiza <jabier.arraiza@marker.es>2019-09-30 14:05:42 +0000
commit8c0ce697003c01ce10807adb3a08b5353c19a447 (patch)
tree831c4f953706f1930d6094c50c564e52a2a39d30 /src/live_effects/lpe-measure-segments.cpp
parentFix issue 872. LPE on rects is not rendering in browsers (diff)
downloadinkscape-8c0ce697003c01ce10807adb3a08b5353c19a447.tar.gz
inkscape-8c0ce697003c01ce10807adb3a08b5353c19a447.zip
Apply a Nathan Lee fix to all LPE changing from SP_ACTIVE_DOCUMET to LPE->document. It also remove a boring check and allow to preview on file explorer some Items blocked.
Diffstat (limited to 'src/live_effects/lpe-measure-segments.cpp')
-rw-r--r--src/live_effects/lpe-measure-segments.cpp24
1 files changed, 10 insertions, 14 deletions
diff --git a/src/live_effects/lpe-measure-segments.cpp b/src/live_effects/lpe-measure-segments.cpp
index 27f5ce4bb..a0e13b020 100644
--- a/src/live_effects/lpe-measure-segments.cpp
+++ b/src/live_effects/lpe-measure-segments.cpp
@@ -310,7 +310,7 @@ LPEMeasureSegments::on_my_switch_page(Gtk::Widget* page, guint page_number)
void
LPEMeasureSegments::createArrowMarker(Glib::ustring mode)
{
- SPDocument * document = SP_ACTIVE_DOCUMENT;
+ SPDocument *document = getSPDoc();
if (!document || !sp_lpe_item|| !sp_lpe_item->getId()) {
return;
}
@@ -380,7 +380,7 @@ LPEMeasureSegments::createArrowMarker(Glib::ustring mode)
void
LPEMeasureSegments::createTextLabel(Geom::Point pos, size_t counter, double length, Geom::Coord angle, bool remove, bool valid)
{
- SPDocument * document = SP_ACTIVE_DOCUMENT;
+ SPDocument *document = getSPDoc();
if (!document || !sp_lpe_item || !sp_lpe_item->getId()) {
return;
}
@@ -528,7 +528,7 @@ LPEMeasureSegments::createTextLabel(Geom::Point pos, size_t counter, double leng
void
LPEMeasureSegments::createLine(Geom::Point start,Geom::Point end, Glib::ustring name, size_t counter, bool main, bool remove, bool arrows)
{
- SPDocument * document = SP_ACTIVE_DOCUMENT;
+ SPDocument *document = getSPDoc();
if (!document || !sp_lpe_item || !sp_lpe_item->getId()) {
return;
}
@@ -651,12 +651,12 @@ LPEMeasureSegments::doOnApply(SPLPEItem const* lpeitem)
item->removeCurrentPathEffect(false);
return;
}
- SPDocument *document = SP_ACTIVE_DOCUMENT;
+ SPDocument *document = getSPDoc();
bool saved = DocumentUndo::getUndoSensitive(document);
DocumentUndo::setUndoSensitive(document, false);
Inkscape::XML::Node *styleNode = nullptr;
Inkscape::XML::Node* textNode = nullptr;
- Inkscape::XML::Node *root = SP_ACTIVE_DOCUMENT->getReprRoot();
+ Inkscape::XML::Node *root = document->getReprRoot();
for (unsigned i = 0; i < root->childCount(); ++i) {
if (Glib::ustring(root->nthChild(i)->name()) == "svg:style") {
@@ -671,7 +671,7 @@ LPEMeasureSegments::doOnApply(SPLPEItem const* lpeitem)
if (textNode == nullptr) {
// Style element found but does not contain text node!
std::cerr << "StyleDialog::_getStyleTextNode(): No text node!" << std::endl;
- textNode = SP_ACTIVE_DOCUMENT->getReprDoc()->createTextNode("");
+ textNode = document->getReprDoc()->createTextNode("");
styleNode->appendChild(textNode);
Inkscape::GC::release(textNode);
}
@@ -680,8 +680,8 @@ LPEMeasureSegments::doOnApply(SPLPEItem const* lpeitem)
if (styleNode == nullptr) {
// Style element not found, create one
- styleNode = SP_ACTIVE_DOCUMENT->getReprDoc()->createElement("svg:style");
- textNode = SP_ACTIVE_DOCUMENT->getReprDoc()->createTextNode("");
+ styleNode = document->getReprDoc()->createElement("svg:style");
+ textNode = document->getReprDoc()->createTextNode("");
root->addChild(styleNode, nullptr);
Inkscape::GC::release(styleNode);
@@ -819,16 +819,12 @@ LPEMeasureSegments::doBeforeEffect (SPLPEItem const* lpeitem)
{
SPLPEItem * splpeitem = const_cast<SPLPEItem *>(lpeitem);
Glib::ustring lpobjid = this->lpeobj->getId();
- SPDocument * document = SP_ACTIVE_DOCUMENT;
+ SPDocument *document = getSPDoc();
if (!document) {
return;
}
//Avoid crashes on previews
- Inkscape::XML::Node *root = splpeitem->document->getReprRoot();
- Inkscape::XML::Node *root_origin = document->getReprRoot();
- if (root_origin != root) {
- return;
- }
+ Inkscape::XML::Node *root = document->getReprRoot();
Geom::Affine parentaffinetransform = i2anc_affine(SP_OBJECT(lpeitem->parent), SP_OBJECT(document->getRoot()));
Geom::Affine affinetransform = i2anc_affine(SP_OBJECT(lpeitem), SP_OBJECT(document->getRoot()));
Geom::Affine itemtransform = affinetransform * parentaffinetransform.inverse();