[EMAIL PROTECTED] wrote:

[FVWM][FvwmErrorHandler]: <<ERROR>> *** internal error ***
[FVWM][FvwmErrorHandler]: <<ERROR>> Request 56, Error 13, EventType: 0
[FVWM][FvwmErrorHandler]: <<ERROR>> *** internal error ***
[FVWM][FvwmErrorHandler]: <<ERROR>> Request 72, Error 13, EventType: 0

I think these are being caused by parse_colorset() using a GC that has not been created. I just assumed that Scr.MonoGC would be OK. Here's a patch that makes parse_colorset() create it's own mono GC. It also includes a debug message that you should see excatly once
Index: fvwm/colorset.c
===================================================================
RCS file: /u/phippst/share/cvsroot/fvwm/fvwm/colorset.c,v
retrieving revision 1.1
diff -u -r1.1 colorset.c
--- fvwm/colorset.c     2002/04/18 12:18:58     1.1
+++ fvwm/colorset.c     2002/04/18 14:08:49
@@ -273,7 +273,7 @@
        XGCValues xgcv;
        static char *name = "parse_colorset";
        Window win = Scr.SizeWindow;
-       static GC gc = None;
+       static GC gc = None, monoGC = None;
 
        /* make sure it exists and has sensible contents */
        if (nColorsets <= n) {
@@ -343,7 +343,9 @@
        cs = &Colorset[n];
        if (gc == None)
        {
+               fvwm_msg(DBG, name, "Creating GCs");
                gc = fvwmlib_XCreateGC(dpy, win, 0, &xgcv);
+               monoGC = fvwmlib_XCreateGC(dpy, Scr.ScratchMonoPixmap,0, &xgcv);
        }
 
        /* ---------- Parse the options ---------- */
@@ -444,18 +446,18 @@
                                        {
                                                XCopyArea(
                                                        dpy, cs->picture->mask,
-                                                       cs->mask, Scr.MonoGC,
+                                                       cs->mask, monoGC,
                                                        0, 0,
                                                        cs->width, cs->height,
                                                        0, 0);
                                                /* Invert the mask. We use it 
to draw the background. */
                                                XSetFunction(
-                                                       dpy, Scr.MonoGC, 
GXinvert);
+                                                       dpy, monoGC, GXinvert);
                                                XFillRectangle(
                                                        dpy, cs->mask,
-                                                       Scr.MonoGC, 0, 0,
+                                                       monoGC, 0, 0,
                                                        cs->width, cs->height);
-                                               XSetFunction(dpy, Scr.MonoGC, 
GXcopy);
+                                               XSetFunction(dpy, monoGC, 
GXcopy);
                                        }
                                }
                        }
@@ -520,7 +522,7 @@
                                                                dpy, mask, 
picture->width, picture->height, 1);
                                                        if (cs->shape_mask != 
None)
                                                        {
-                                                               XCopyPlane(dpy, 
mask, cs->shape_mask, Scr.MonoGC, 0, 0,
+                                                               XCopyPlane(dpy, 
mask, cs->shape_mask, monoGC, 0, 0,
                                                                 
picture->width, picture->height, 0, 0, 1);
                                                        }
                                                }

Reply via email to