summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJabier Arraiza Cenoz <jabier.arraiza@marker.es>2014-04-20 10:18:32 +0000
committerJabiertxof <jtx@jtx.marker.es>2014-04-20 10:18:32 +0000
commitb0459cb0bc55237dae4e9addeff7d9ed6a5f8ed6 (patch)
treece30c173b65d0c61f4245259504ab3acea683505 /src
parentupdate to trunk (diff)
parentStop observer from crashing when it doesn't exist in preferences.xml (diff)
downloadinkscape-b0459cb0bc55237dae4e9addeff7d9ed6a5f8ed6.tar.gz
inkscape-b0459cb0bc55237dae4e9addeff7d9ed6a5f8ed6.zip
update to trunk
(bzr r11950.1.330)
Diffstat (limited to 'src')
-rw-r--r--src/desktop.cpp1
-rw-r--r--src/preferences.cpp4
2 files changed, 3 insertions, 2 deletions
diff --git a/src/desktop.cpp b/src/desktop.cpp
index 3ed6d9ef3..f14a314b9 100644
--- a/src/desktop.cpp
+++ b/src/desktop.cpp
@@ -138,7 +138,6 @@ SPDesktop::SPDesktop() :
_w2d(),
_d2w(),
_doc2dt( Geom::Scale(1, -1) ),
- // This doesn't work I don't know why.
_image_render_observer(this, "/options/rendering/imageinoutlinemode"),
grids_visible( false )
{
diff --git a/src/preferences.cpp b/src/preferences.cpp
index 2fec3b307..d0c3783b5 100644
--- a/src/preferences.cpp
+++ b/src/preferences.cpp
@@ -581,6 +581,8 @@ XML::Node *Preferences::_findObserverNode(Glib::ustring const &pref_path, Glib::
// find the node corresponding to the "directory".
Inkscape::XML::Node *node = _getNode(node_key, create), *child;
+ if (!node) return node;
+
for (child = node->firstChild(); child; child = child->next()) {
// If there is a node with id corresponding to the attr key,
// this means that the last part of the path is actually a key (folder).
@@ -601,7 +603,7 @@ void Preferences::addObserver(Observer &o)
if ( _observer_map.find(&o) == _observer_map.end() ) {
Glib::ustring node_key, attr_key;
Inkscape::XML::Node *node;
- node = _findObserverNode(o.observed_path, node_key, attr_key, false);
+ node = _findObserverNode(o.observed_path, node_key, attr_key, true);
if (node) {
// set additional data
if (o._data) {