Code

fix by kur9kin for endless loop from bug 212332
[inkscape.git] / src / display / nr-filter-specularlighting.cpp
index 3f459f164dbba5ecaef49062c2979fdcdcecb903..677f93dded1f355c39c02c59dc459aeecdaca389 100644 (file)
@@ -60,7 +60,12 @@ do {\
 }while(0)
 
 int FilterSpecularLighting::render(FilterSlot &slot, FilterUnits const &units) {
-    NRPixBlock *in = filter_get_alpha(slot.get(_input));
+    NRPixBlock *in = slot.get(_input);
+    if (!in) {
+        g_warning("Missing source image for feSpecularLighting (in=%d)", _input);
+        return 1;
+    }
+
     NRPixBlock *out = new NRPixBlock;
 
     //Fvector *L = NULL; //vector to the light
@@ -175,8 +180,8 @@ int FilterSpecularLighting::render(FilterSlot &slot, FilterUnits const &units) {
 
     //finishing
     slot.set(_output, out);
-    nr_pixblock_release(in);
-    delete in;
+    //nr_pixblock_release(in);
+    //delete in;
     return 0;
 }