Index: /branches/eam_branches/ipp-20100823/psphot/src/psphotCleanup.c
===================================================================
--- /branches/eam_branches/ipp-20100823/psphot/src/psphotCleanup.c	(revision 29457)
+++ /branches/eam_branches/ipp-20100823/psphot/src/psphotCleanup.c	(revision 29458)
@@ -14,4 +14,5 @@
     psFree (config);
 
+    psphotVisualClose();
     psMemCheckCorruption (stderr, true);
     pmModelClassCleanup ();
@@ -19,4 +20,5 @@
     pmConceptsDone ();
     pmConfigDone ();
+    pmVisualCleanup ();
     psLibFinalize();
     // fprintf (stderr, "found %d leaks at %s\n", psMemCheckLeaks (0, NULL, NULL, false), "psphot");
Index: /branches/eam_branches/ipp-20100823/psphot/src/psphotVisual.c
===================================================================
--- /branches/eam_branches/ipp-20100823/psphot/src/psphotVisual.c	(revision 29457)
+++ /branches/eam_branches/ipp-20100823/psphot/src/psphotVisual.c	(revision 29458)
@@ -25,4 +25,13 @@
 static int kapa2 = -1;
 static int kapa3 = -1;
+
+/** destroy windows at the end of a run*/
+bool psphotVisualClose(void)
+{
+    if(kapa1 != -1) KiiClose(kapa1);
+    if(kapa2 != -1) KiiClose(kapa2);
+    if(kapa3 != -1) KiiClose(kapa3);
+    return true;
+}
 
 int psphotKapaChannel (int channel) {
