summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarkus Engel <markus.engel@tum.de>2013-08-02 20:25:14 +0000
committerMarkus Engel <markus.engel@tum.de>2013-08-02 20:25:14 +0000
commit5488905e7f4659c0fed7c1841b768cbaf26e3cb1 (patch)
tree14f112d40162e0c5884cf8db2cd039bb51828d26 /src
parentFixed more mismatched-tags; replaced GObject-properties in SPGuide (diff)
downloadinkscape-5488905e7f4659c0fed7c1841b768cbaf26e3cb1.tar.gz
inkscape-5488905e7f4659c0fed7c1841b768cbaf26e3cb1.zip
reordered SPDesktop::set_event_context2; fixed last mismatched-tags
(bzr r11608.1.116)
Diffstat (limited to 'src')
-rw-r--r--src/desktop.cpp22
-rw-r--r--src/extension/internal/cairo-render-context.h2
-rw-r--r--src/extension/internal/cairo-renderer.h2
-rw-r--r--src/sp-object.cpp4
4 files changed, 17 insertions, 13 deletions
diff --git a/src/desktop.cpp b/src/desktop.cpp
index a8de8ee50..f602f30d1 100644
--- a/src/desktop.cpp
+++ b/src/desktop.cpp
@@ -673,20 +673,26 @@ SPDesktop::change_document (SPDocument *theDocument)
#include "tool-factory.h"
void SPDesktop::set_event_context2(const std::string& toolName) {
- if (event_context) {
- event_context->deactivate();
- event_context->finish();
- delete event_context;
+ SPEventContext* ec_old = event_context;
+
+ if (ec_old) {
+ ec_old->deactivate();
}
- event_context = ToolFactory::instance().createObject(toolName);
+ SPEventContext* ec_new = ToolFactory::instance().createObject(toolName);
+ ec_new->desktop = this;
+ ec_new->message_context = new Inkscape::MessageContext(this->messageStack());
+ ec_new->setup();
- event_context->desktop = this;
- event_context->message_context = new Inkscape::MessageContext(this->messageStack());
+ event_context = ec_new;
- event_context->setup();
+ if (ec_old) {
+ ec_old->finish();
+ delete ec_old;
+ }
sp_event_context_activate(event_context);
+
_event_context_changed_signal.emit(this, event_context);
}
diff --git a/src/extension/internal/cairo-render-context.h b/src/extension/internal/cairo-render-context.h
index 8829940c6..9ea4559a0 100644
--- a/src/extension/internal/cairo-render-context.h
+++ b/src/extension/internal/cairo-render-context.h
@@ -29,7 +29,7 @@
#include <cairo.h>
class SPClipPath;
-struct SPMask;
+class SPMask;
namespace Inkscape {
namespace Extension {
diff --git a/src/extension/internal/cairo-renderer.h b/src/extension/internal/cairo-renderer.h
index c1482d82e..db3068fed 100644
--- a/src/extension/internal/cairo-renderer.h
+++ b/src/extension/internal/cairo-renderer.h
@@ -28,7 +28,7 @@
#include <cairo.h>
class SPClipPath;
-struct SPMask;
+class SPMask;
namespace Inkscape {
namespace Extension {
diff --git a/src/sp-object.cpp b/src/sp-object.cpp
index 95a28dd7b..3dacc8b70 100644
--- a/src/sp-object.cpp
+++ b/src/sp-object.cpp
@@ -588,7 +588,6 @@ void SPObject::child_added(Inkscape::XML::Node *child, Inkscape::XML::Node *ref)
ochild->invoke_build(object->document, child, object->cloned);
} catch (const FactoryExceptions::TypeNotRegistered& e) {
- //log_exception(std::current_exception());
g_warning("TypeNotRegistered exception: %s", e.what());
}
}
@@ -654,8 +653,7 @@ void SPObject::build(SPDocument *document, Inkscape::XML::Node *repr) {
sp_object_unref(child, NULL);
child->invoke_build(document, rchild, object->cloned);
} catch (const FactoryExceptions::TypeNotRegistered& e) {
- //log_exception(std::current_exception());
- g_warning("TypeNotRegistered exception: %s", e.what());
+ //g_warning("TypeNotRegistered exception: %s", e.what());
}
}
}