diff options
| author | Jabier Arraiza Cenoz <jabier.arraiza@marker.es> | 2013-11-12 01:42:33 +0000 |
|---|---|---|
| committer | Jabiertxof <jtx@jtx.marker.es> | 2013-11-12 01:42:33 +0000 |
| commit | f8fff50ab6adb853dfc82fbad7f87223efe4fdb9 (patch) | |
| tree | 8d9abddf9df2dc90d81e1b6bf0d7a9315ecd707a /src | |
| parent | Update to trunk (diff) | |
| parent | Fix bug in SPSwitch. (diff) | |
| download | inkscape-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.cpp | 4 | ||||
| -rw-r--r-- | src/sp-item-group.h | 2 | ||||
| -rw-r--r-- | src/sp-switch.cpp | 1 | ||||
| -rw-r--r-- | src/sp-switch.h | 2 |
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); |
