Index: trunk/psModules/src/objects/pmSourceVisual.c
===================================================================
--- trunk/psModules/src/objects/pmSourceVisual.c	(revision 29004)
+++ trunk/psModules/src/objects/pmSourceVisual.c	(revision 31153)
@@ -56,13 +56,5 @@
 
     if (!pmVisualTestLevel("psphot.psf.metric", 2)) return true;
-
-    if (kapa1 == -1) {
-        kapa1 = KapaOpenNamedSocket ("kapa", "pmSource:plots");
-        if (kapa1 == -1) {
-            fprintf (stderr, "failure to open kapa; visual mode disabled\n");
-            pmVisualSetVisual(false);
-            return false;
-        }
-    }
+    if (!pmVisualInitWindow (&kapa1, "pmSource:plots")) return false;
 
     KapaClearSections (kapa1);
@@ -140,16 +132,9 @@
 
     if (!pmVisualTestLevel("psphot.psf.subpix", 3)) return true;
-
-    if (kapa1 == -1) {
-        kapa1 = KapaOpenNamedSocket ("kapa", "pmSource:plots");
-        if (kapa1 == -1) {
-            fprintf (stderr, "failure to open kapa; visual mode disabled\n");
-            pmVisualSetVisual(false);
-            return false;
-        }
-    }
+    if (!pmVisualInitWindow (&kapa1, "pmSource:plots")) return false;
 
     KapaClearSections (kapa1);
     KapaInitGraph (&graphdata);
+    section.bg = KapaColorByName ("none"); // XXX probably should be 'none'
 
     int n;
@@ -302,13 +287,5 @@
 
     if (!pmVisualTestLevel("psphot.psf.fits", 2)) return true;
-
-    if (kapa2 == -1) {
-        kapa2 = KapaOpenNamedSocket ("kapa", "pmSource:images");
-        if (kapa2 == -1) {
-            fprintf (stderr, "failure to open kapa; visual mode disabled\n");
-            pmVisualSetVisual(false);
-            return false;
-        }
-    }
+    if (!pmVisualInitWindow (&kapa2, "pmSource:images")) return false;
 
     // create images 1/10 scale:
@@ -385,13 +362,5 @@
     if (!source->pixels) return false;
     if (!source->modelFlux) return false;
-
-    if (kapa2 == -1) {
-        kapa2 = KapaOpenNamedSocket ("kapa", "pmSource:images");
-        if (kapa2 == -1) {
-            fprintf (stderr, "failure to open kapa; visual mode disabled\n");
-            pmVisualSetVisual(false);
-            return false;
-        }
-    }
+    if (!pmVisualInitWindow (&kapa2, "pmSource:images")) return false;
 
     // KapaClearSections (kapa2);
@@ -428,16 +397,9 @@
     if (!plotPSF) return true;
     if (!pmVisualTestLevel("psphot.psf.resid", 2)) return true;
-
-    if (kapa1 == -1) {
-        kapa1 = KapaOpenNamedSocket ("kapa", "pmSource:plots");
-        if (kapa1 == -1) {
-            fprintf (stderr, "failure to open kapa; visual mode disabled\n");
-            pmVisualSetVisual(false);
-            return false;
-        }
-    }
+    if (!pmVisualInitWindow (&kapa1, "pmSource:plots")) return false;
 
     KapaClearPlots (kapa1);
     KapaInitGraph (&graphdata);
+    section.bg = KapaColorByName ("none"); // XXX probably should be 'none'
 
     float Xmin = +1e32;
