Latest CVS xmag (yesterday, changelog at 948.) No, there's no overlay,
this is on an ATI Mach64 at depth 16. I do think e17 uses a virtual
root window however. Here's the problem:
(gdb) r
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 73 (X_GetImage)
Serial number of failed request: 2375
Current serial number in output stream: 2375
Program received signal SIGSEGV, Segmentation fault.
0x0804b48d in GetMinIntensity (data=0x805b5b8) at xmag.c:908
(gdb) bt
#0 0x0804b48d in GetMinIntensity (data=0x805b5b8) at xmag.c:908
#1 0x0804b7cf in PopupNewScale (data=0x805b5b8) at xmag.c:975
#2 0x0804a909 in DragEH (w=0x805fc38, closure=0x805b5b8,
event=0xbffff460, continue_to_dispatch=0xbffff38f
"\001`���8�\005\bdf\005\b8�\005\b\a") at xmag.c:664
#3 0x400accf4 in XtDispatchEventToWidget () from
/usr/X11R6/lib/libXt.so.6
#4 0x400ad767 in _XtDefaultDispatcher () from /usr/X11R6/lib/libXt.so.6
#5 0x400ad944 in XtDispatchEvent () from /usr/X11R6/lib/libXt.so.6
#6 0x400adea2 in XtAppMainLoop () from /usr/X11R6/lib/libXt.so.6
#7 0x0804bd43 in main (argc=1, argv=0xbffff554) at xmag.c:1105
#8 0x402204a2 in __libc_start_main () from /lib/libc.so.6
(gdb) l
static Pixel
GetMinIntensity(hlPtr data)
{
XColor *colors = NULL, *mptr, *tptr;
int i, ncolors;
if (data->win_info.colormap == DefaultColormap(dpy, scr))
return BlackPixel(dpy, scr);
ncolors = Get_XColors(&data->win_info, &colors);
mptr = tptr = colors; tptr++;
903 for (i=1; i<ncolors; i++) {
904 if ((int)Intensity(mptr) > (int)Intensity(tptr))
905 mptr = tptr;
906 tptr++;
907 }
908 return mptr->pixel;
909 }
910
(gdb) p ncolors
$1 = 0
I pasted some extra lines from the function in question. Get_XColors
returns 0 in my case, and since mptr was set to NULL already, the return
segv's when hit (the for loop falls through.) What should happen in
this case? Can we just return BlackPixel like the previous test?
--
Kevin
Mark Vojkovich wrote:
>
>
> I don't see how the window manager could be involved. How
> current of CVS? The last thing in the CHANGELOG on my machine is
> 862 and I don't see this problem.
>
> I think BadMatch can happen with GetImage only if the app
> trys to grab outside of the window. I think xmag grabs on the
> root window to avoid this, but can only do this when the depth
> of the window in question is the root depth. You don't have
> different depth windows do you (overlay, depth 32 windows).
> It looks like it knows how to clamp to the window dimensions.
>
> Maybe you can get a backtrace with a debug xmag?
>
> Maybe it has something to do with RandR?
>
> Mark.
>
> On Mon, 24 Feb 2003, Kevin Brosius wrote:
>
> > I've noticed the following xmag segv with current CVS when trying to
> > view part of the background in the development version of e (e17). Is
> > this an xmag or a window manager problem? (Or both?)
> >
> >
> > (gdb) r
> > X Error of failed request: BadMatch (invalid parameter attributes)
> > Major opcode of failed request: 73 (X_GetImage)
> > Serial number of failed request: 668
> > Current serial number in output stream: 668
> >
> > Program received signal SIGSEGV, Segmentation fault.
> > 0x0804afbf in GetMinIntensity ()
> >
> > This only occurs when the start point of the xmag selection window is
> > over the background. Clicking inside an application works fine, as does
> > clicking inside but near an application edge which shows both
> > application and background image magnification. (I can magnify the
> > background as long as the click doesn't occur on it.)
> >
> > --
> > Kevin
_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel