diff options
| author | bulia byak <buliabyak@gmail.com> | 2008-09-20 23:37:34 +0000 |
|---|---|---|
| committer | buliabyak <buliabyak@users.sourceforge.net> | 2008-09-20 23:37:34 +0000 |
| commit | fab52ebd9467ef63f3a0c5ed9c4ab3f379c88b79 (patch) | |
| tree | 6b09bf6c1cdf41d0b7d928a038605f487ee43a62 /src/extension/internal | |
| parent | fix leak and potential crash by disconnecting on delete (diff) | |
| download | inkscape-fab52ebd9467ef63f3a0c5ed9c4ab3f379c88b79.tar.gz inkscape-fab52ebd9467ef63f3a0c5ed9c4ab3f379c88b79.zip | |
release reprs properly
(bzr r6855)
Diffstat (limited to 'src/extension/internal')
| -rw-r--r-- | src/extension/internal/bluredge.cpp | 1 | ||||
| -rw-r--r-- | src/extension/internal/cairo-renderer.cpp | 1 | ||||
| -rw-r--r-- | src/extension/internal/filter/filter.cpp | 5 | ||||
| -rw-r--r-- | src/extension/internal/grid.cpp | 1 |
4 files changed, 8 insertions, 0 deletions
diff --git a/src/extension/internal/bluredge.cpp b/src/extension/internal/bluredge.cpp index cf133407a..80454f9ed 100644 --- a/src/extension/internal/bluredge.cpp +++ b/src/extension/internal/bluredge.cpp @@ -106,6 +106,7 @@ BlurEdge::effect (Inkscape::Extension::Effect *module, Inkscape::UI::View::View selection->clear(); } + Inkscape::GC::release(new_group); } prefs_set_double_attribute("options.defaultoffsetwidth", "value", old_offset); diff --git a/src/extension/internal/cairo-renderer.cpp b/src/extension/internal/cairo-renderer.cpp index 2b74c6f7c..acddc1f9d 100644 --- a/src/extension/internal/cairo-renderer.cpp +++ b/src/extension/internal/cairo-renderer.cpp @@ -533,6 +533,7 @@ static void sp_asbitmap_render(SPItem *item, CairoRenderContext *ctx) // add the new repr to the parent parent->appendChild(repr); + Inkscape::GC::release(repr); // move to the saved position repr->setPosition(pos > 0 ? pos + 1 : 1); diff --git a/src/extension/internal/filter/filter.cpp b/src/extension/internal/filter/filter.cpp index b2a55b6e6..1ba0ce8ca 100644 --- a/src/extension/internal/filter/filter.cpp +++ b/src/extension/internal/filter/filter.cpp @@ -107,6 +107,7 @@ Filter::merge_filters (Inkscape::XML::Node * to, Inkscape::XML::Node * from, Ink if (from_child == from->firstChild() && !strcmp("filter", from->name()) && srcGraphic != NULL && to_child->attribute("in") == NULL) { to_child->setAttribute("in", srcGraphic); } + Inkscape::GC::release(to_child); } return; @@ -143,6 +144,8 @@ Filter::effect (Inkscape::Extension::Effect *module, Inkscape::UI::View::View *d Glib::ustring url = "url(#"; url += newfilterroot->attribute("id"); url += ")"; merge_filters(newfilterroot, get_filter(module)->root(), xmldoc); + + Inkscape::GC::release(newfilterroot); sp_repr_css_set_property(css, "filter", url.c_str()); sp_repr_css_set(node, css, "style"); @@ -175,6 +178,8 @@ Filter::effect (Inkscape::Extension::Effect *module, Inkscape::UI::View::View *d filternode->appendChild(alpha); merge_filters(filternode, get_filter(module)->root(), xmldoc, FILTER_SRC_GRAPHIC, FILTER_SRC_GRAPHIC_ALPHA); + + Inkscape::GC::release(alpha); } } diff --git a/src/extension/internal/grid.cpp b/src/extension/internal/grid.cpp index 729b53cfd..cdd02882a 100644 --- a/src/extension/internal/grid.cpp +++ b/src/extension/internal/grid.cpp @@ -124,6 +124,7 @@ Grid::effect (Inkscape::Extension::Effect *module, Inkscape::UI::View::View *doc path->setAttribute("style", style.c_str()); current_layer->appendChild(path); + Inkscape::GC::release(path); return; } |
