diff options
| author | Markus Engel <markus.engel@tum.de> | 2013-08-02 20:25:14 +0000 |
|---|---|---|
| committer | Markus Engel <markus.engel@tum.de> | 2013-08-02 20:25:14 +0000 |
| commit | 5488905e7f4659c0fed7c1841b768cbaf26e3cb1 (patch) | |
| tree | 14f112d40162e0c5884cf8db2cd039bb51828d26 /src | |
| parent | Fixed more mismatched-tags; replaced GObject-properties in SPGuide (diff) | |
| download | inkscape-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.cpp | 22 | ||||
| -rw-r--r-- | src/extension/internal/cairo-render-context.h | 2 | ||||
| -rw-r--r-- | src/extension/internal/cairo-renderer.h | 2 | ||||
| -rw-r--r-- | src/sp-object.cpp | 4 |
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()); } } } |
