Code

Fix to prevent convolvematrix.cpp from setting targetX/Y to zero if no value is given.
[inkscape.git] / src / display / nr-filter-merge.cpp
index ed060b6495f15e4b4b1cb2003a363fb56e37a070..b913e2cd7193509cb4c50ef95a7e3fd4d2f4bc7e 100644 (file)
@@ -12,8 +12,8 @@
 #include <cmath>
 #include <vector>
 
-#include "isnan.h"
-#include "sp-femerge.h"
+#include "2geom/isnan.h"
+#include "filters/merge.h"
 #include "display/nr-filter-merge.h"
 #include "display/nr-filter-pixops.h"
 #include "display/nr-filter-slot.h"
@@ -22,7 +22,6 @@
 #include "libnr/nr-blit.h"
 #include "libnr/nr-pixblock.h"
 #include "libnr/nr-pixops.h"
-#include "libnr/nr-matrix.h"
 
 inline void
 composite_over(unsigned char *r, unsigned char const *a, unsigned char const *b)
@@ -33,7 +32,8 @@ composite_over(unsigned char *r, unsigned char const *a, unsigned char const *b)
     r[3] = a[3] + NR_NORMALIZE_21(b[3] * (255 - a[3]));
 }
 
-namespace NR {
+namespace Inkscape {
+namespace Filters {
 
 FilterMerge::FilterMerge() :
     _input_image(1, NR_FILTER_SLOT_NOT_SET)
@@ -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;
@@ -127,7 +129,8 @@ void FilterMerge::set_input(int input, int slot) {
     }
 }
 
-} /* namespace NR */
+} /* namespace Filters */
+} /* namespace Inkscape */
 
 /*
   Local Variables: