From 526e8ead4e28bd8c77c4b4b12ecdbccd29b1cf90 Mon Sep 17 00:00:00 2001 From: Thomas Holder Date: Thu, 27 Sep 2018 17:48:12 +0200 Subject: SP_ACTIVE_DESKTOP: check for NULL or eliminate --- src/document.cpp | 3 ++- src/extension/effect.cpp | 2 -- src/helper/stock-items.cpp | 7 ++----- src/object/sp-item.cpp | 2 +- src/selection.cpp | 4 ++-- 5 files changed, 7 insertions(+), 11 deletions(-) (limited to 'src') diff --git a/src/document.cpp b/src/document.cpp index a9a254a06..792e6fe4b 100644 --- a/src/document.cpp +++ b/src/document.cpp @@ -1608,10 +1608,11 @@ std::vector SPDocument::getItemsAtPoints(unsigned const key, std::vecto build_flat_item_list(key, SP_GROUP(this->root), true); _node_cache_valid=true; } - SPObject *current_layer = SP_ACTIVE_DESKTOP->currentLayer(); + SPObject *current_layer = nullptr; SPDesktop *desktop = SP_ACTIVE_DESKTOP; Inkscape::LayerModel *layer_model = nullptr; if(desktop){ + current_layer = desktop->currentLayer(); layer_model = desktop->layers; } size_t item_counter = 0; diff --git a/src/extension/effect.cpp b/src/extension/effect.cpp index 1cf624ad0..c86bc5db1 100644 --- a/src/extension/effect.cpp +++ b/src/extension/effect.cpp @@ -13,7 +13,6 @@ #include "helper/action.h" #include "ui/view/view.h" -#include "desktop.h" #include "implementation/implementation.h" #include "effect.h" #include "execution-env.h" @@ -270,7 +269,6 @@ Effect::effect (Inkscape::UI::View::View * doc) if (!loaded()) set_state(Extension::STATE_LOADED); if (!loaded()) return; - SPDesktop *desktop = SP_ACTIVE_DESKTOP; ExecutionEnv executionEnv(this, doc); execution_env = &executionEnv; timer->lock(); diff --git a/src/helper/stock-items.cpp b/src/helper/stock-items.cpp index 75dd957c5..23259ec64 100644 --- a/src/helper/stock-items.cpp +++ b/src/helper/stock-items.cpp @@ -26,7 +26,6 @@ #include #include "document-private.h" -#include "desktop.h" #include "inkscape.h" #include "io/sys.h" @@ -195,8 +194,7 @@ SPObject *get_stock_item(gchar const *urn, gboolean stock) gchar * base = g_strndup(e, a); - SPDesktop *desktop = SP_ACTIVE_DESKTOP; - SPDocument *doc = desktop->getDocument(); + SPDocument *doc = SP_ACTIVE_DOCUMENT; SPDefs *defs = doc->getDefs(); if (!defs) { g_free(base); @@ -265,8 +263,7 @@ SPObject *get_stock_item(gchar const *urn, gboolean stock) else { - SPDesktop *desktop = SP_ACTIVE_DESKTOP; - SPDocument *doc = desktop->getDocument(); + SPDocument *doc = SP_ACTIVE_DOCUMENT; SPObject *object = doc->getObjectById(urn); return object; diff --git a/src/object/sp-item.cpp b/src/object/sp-item.cpp index f91310ea5..411e69f71 100644 --- a/src/object/sp-item.cpp +++ b/src/object/sp-item.cpp @@ -1628,7 +1628,7 @@ void SPItem::set_i2d_affine(Geom::Affine const &i2dt) Geom::Affine dt2p; /* desktop to item parent transform */ if (parent) { dt2p = static_cast(parent)->i2dt_affine().inverse(); - } else { + } else if (SP_ACTIVE_DESKTOP) { SPDesktop *dt = SP_ACTIVE_DESKTOP; dt2p = dt->dt2doc(); } diff --git a/src/selection.cpp b/src/selection.cpp index 142695855..7076174bc 100644 --- a/src/selection.cpp +++ b/src/selection.cpp @@ -192,7 +192,7 @@ Selection::emptyBackup(){ void Selection::setBackup () { - SPDesktop *desktop = SP_ACTIVE_DESKTOP; + SPDesktop *desktop = this->desktop(); SPDocument *document = SP_ACTIVE_DOCUMENT; Inkscape::UI::Tools::NodeTool *tool = nullptr; if (desktop) { @@ -255,7 +255,7 @@ Selection::setBackup () void Selection::restoreBackup() { - SPDesktop *desktop = SP_ACTIVE_DESKTOP; + SPDesktop *desktop = this->desktop(); SPDocument *document = SP_ACTIVE_DOCUMENT; Inkscape::UI::Tools::NodeTool *tool = nullptr; if (desktop) { -- cgit v1.2.3