summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJabier Arraiza Cenoz <jabier.arraiza@marker.es>2013-11-12 01:42:33 +0000
committerJabiertxof <jtx@jtx.marker.es>2013-11-12 01:42:33 +0000
commitf8fff50ab6adb853dfc82fbad7f87223efe4fdb9 (patch)
tree8d9abddf9df2dc90d81e1b6bf0d7a9315ecd707a /src
parentUpdate to trunk (diff)
parentFix bug in SPSwitch. (diff)
downloadinkscape-f8fff50ab6adb853dfc82fbad7f87223efe4fdb9.tar.gz
inkscape-f8fff50ab6adb853dfc82fbad7f87223efe4fdb9.zip
Update to trunk
(bzr r11950.1.197)
Diffstat (limited to 'src')
-rw-r--r--src/display/nr-filter-image.cpp4
-rw-r--r--src/sp-item-group.h2
-rw-r--r--src/sp-switch.cpp1
-rw-r--r--src/sp-switch.h2
4 files changed, 7 insertions, 2 deletions
diff --git a/src/display/nr-filter-image.cpp b/src/display/nr-filter-image.cpp
index 4ca4cd07c..92bb9dcaa 100644
--- a/src/display/nr-filter-image.cpp
+++ b/src/display/nr-filter-image.cpp
@@ -163,6 +163,10 @@ void FilterImage::render_cairo(FilterSlot &slot)
broken_ref = false;
}
+ if (broken_ref) {
+ return;
+ }
+
cairo_surface_t *image_surface = image->getSurfaceRaw();
Geom::Rect sa = slot.get_slot_area();
diff --git a/src/sp-item-group.h b/src/sp-item-group.h
index deb80a641..2004a72b8 100644
--- a/src/sp-item-group.h
+++ b/src/sp-item-group.h
@@ -55,7 +55,7 @@ public:
void scaleChildItemsRec(Geom::Scale const &sc, Geom::Point const &p);
gint getItemCount() const;
- void _showChildren (Inkscape::Drawing &drawing, Inkscape::DrawingItem *ai, unsigned int key, unsigned int flags);
+ virtual void _showChildren (Inkscape::Drawing &drawing, Inkscape::DrawingItem *ai, unsigned int key, unsigned int flags);
private:
void _updateLayerMode(unsigned int display_key=0);
diff --git a/src/sp-switch.cpp b/src/sp-switch.cpp
index 5c88d7af8..b4841c0d0 100644
--- a/src/sp-switch.cpp
+++ b/src/sp-switch.cpp
@@ -40,6 +40,7 @@ SPSwitch::SPSwitch() : SPGroup() {
}
SPSwitch::~SPSwitch() {
+ _releaseLastItem(_cached_item);
}
SPObject *SPSwitch::_evaluateFirst() {
diff --git a/src/sp-switch.h b/src/sp-switch.h
index 3ccc9e3b7..c35982860 100644
--- a/src/sp-switch.h
+++ b/src/sp-switch.h
@@ -28,7 +28,7 @@ public:
void resetChildEvaluated() { _reevaluate(); }
GSList *_childList(bool add_ref, SPObject::Action action);
- void _showChildren (Inkscape::Drawing &drawing, Inkscape::DrawingItem *ai, unsigned int key, unsigned int flags);
+ virtual void _showChildren (Inkscape::Drawing &drawing, Inkscape::DrawingItem *ai, unsigned int key, unsigned int flags);
SPObject *_evaluateFirst();
void _reevaluate(bool add_to_arena = false);