Index: branches/eam_branches/ipp-20110213/psphot/src/psphotVisual.c
===================================================================
--- branches/eam_branches/ipp-20110213/psphot/src/psphotVisual.c	(revision 31017)
+++ branches/eam_branches/ipp-20110213/psphot/src/psphotVisual.c	(revision 31018)
@@ -39,29 +39,11 @@
     switch (channel) {
       case 1:
-        if (kapa1 == -1) {
-            kapa1 = KapaOpenNamedSocket ("kapa", "psphot:images");
-            if (kapa1 == -1) {
-                fprintf (stderr, "failure to open kapa; visual mode disabled\n");
-                pmVisualSetVisual(false);
-            }
-        }
-        return kapa1;
+	pmVisualInitWindow (&kapa1, "psphot:images");
+	return kapa1;
       case 2:
-        if (kapa2 == -1) {
-            kapa2 = KapaOpenNamedSocket ("kapa", "psphot:plots");
-            if (kapa2 == -1) {
-                fprintf (stderr, "failure to open kapa; visual mode disabled\n");
-                pmVisualSetVisual(false);
-            }
-        }
+	pmVisualInitWindow (&kapa2, "psphot:plots");
         return kapa2;
       case 3:
-        if (kapa3 == -1) {
-            kapa3 = KapaOpenNamedSocket ("kapa", "psphot:stamps");
-            if (kapa3 == -1) {
-                fprintf (stderr, "failure to open kapa; visual mode disabled\n");
-                pmVisualSetVisual(false);
-            }
-        }
+	pmVisualInitWindow (&kapa3, "psphot:stamps");
         return kapa3;
       default:
@@ -74,4 +56,6 @@
 
     int myKapa = psphotKapaChannel (channel);
+    if (myKapa == -1) return false;
+
     if (!(strcasecmp (overlay, "all"))) {
 	KiiEraseOverlay (myKapa, "red");
