Code

add SPCurve::first_segment and last_segment
[inkscape.git] / src / display / nr-filter-merge.cpp
index 1e95d7cf120a5cb4e9b86ea5773928ee5980217c..1632a7a82e64fb63daf35bdf0d978b63ee0fdb49 100644 (file)
@@ -12,7 +12,7 @@
 #include <cmath>
 #include <vector>
 
-#include "isnan.h"
+#include "2geom/isnan.h"
 #include "sp-femerge.h"
 #include "display/nr-filter-merge.h"
 #include "display/nr-filter-pixops.h"
@@ -46,7 +46,7 @@ FilterPrimitive * FilterMerge::create() {
 FilterMerge::~FilterMerge()
 {}
 
-int FilterMerge::render(FilterSlot &slot, FilterUnits const &units) {
+int FilterMerge::render(FilterSlot &slot, FilterUnits const &/*units*/) {
     NRPixBlock *in[_input_image.size()];
     NRPixBlock *original_in[_input_image.size()];
 
@@ -57,12 +57,14 @@ int FilterMerge::render(FilterSlot &slot, FilterUnits const &units) {
 
     NRPixBlock *out;
 
-    // Bail out if either one of source images is missing
+    // Bail out if one of source images is missing
     for (unsigned int i = 0 ; i < _input_image.size() ; i++) {
+        bool missing = false;
         if (!in[i]) {
             g_warning("Missing source image for feMerge (number=%d slot=%d)", i, _input_image[i]);
-            return 1;
+            missing = true;
         }
+        if (missing) return 1;
     }
 
     out = new NRPixBlock;
@@ -117,10 +119,10 @@ void FilterMerge::set_input(int slot) {
 void FilterMerge::set_input(int input, int slot) {
     if (input < 0) return;
 
-    if (_input_image.size() > input) {
+    if (static_cast<int>(_input_image.size()) > input) {
         _input_image[input] = slot;
     } else {
-        for (unsigned int i = _input_image.size() ; i < input ; i++) {
+        for (int i = static_cast<int>(_input_image.size()) ; i < input ; i++) {
             _input_image.push_back(NR_FILTER_SLOT_NOT_SET);
         }
         _input_image.push_back(slot);