[don't try to disassemble assemblies with only one piece
Andreas Röver <roever@users.sourceforge.net>**20051207195413] {
hunk ./src/lib/AssemblyCallbacks.cpp 153
-      separation_c * s = disassm.disassemble(a);
-      action = ACT_ASSEMBLING;
+      // when the assembly has only 1 piece, we don't need
+      // to disassemble, the disassembler will return 0 anyways
+      if (a->placementCount() > 1) {
+        separation_c * s = disassm.disassemble(a);
+
+        if (s) {
+          puzzle->probIncNumSolutions(prob);
+
+          if (_solutionAction == SOL_DISASM)
+            puzzle->probAddSolution(prob, a, s);
+          else
+            delete s;
+        }
hunk ./src/lib/AssemblyCallbacks.cpp 167
-      if (s) {
+      } else {
+
+        // only one piece, that is always a solution, so increment number
+        // of solutions but save only the assembly
hunk ./src/lib/AssemblyCallbacks.cpp 172
+        puzzle->probAddSolution(prob, a);
hunk ./src/lib/AssemblyCallbacks.cpp 174
-        if (_solutionAction == SOL_DISASM)
-          puzzle->probAddSolution(prob, a, s);
-        else
-          delete s;
hunk ./src/lib/AssemblyCallbacks.cpp 175
+      action = ACT_ASSEMBLING;
}
