[comp.windows.x] Problem with CvtStringToCursor?

pds@quintus.UUCP (Peter Schachte) (07/28/89)

I was just poking around in Converters.c, and saw in the code for
CvtStringToCursor() a static table of <name,number,cursor> triples which
serves to cache the Cursor corresponding to a cursor name:

    static struct _CursorName {
        char            *name;
        unsigned int    shape;
        Cursor          cursor;
    } cursor_names[] = {
                        {"X_cursor",            XC_X_cursor,		NULL},
                        {"arrow",               XC_arrow,		NULL},
			...

Won't this go badly wrong if your application is using multiple
displays?

-- 
-Peter Schachte
pds@quintus.uucp
...!sun!quintus!pds

jim@EXPO.LCS.MIT.EDU (Jim Fulton) (07/28/89)

	I was just poking around in Converters.c, and saw in the code for
	CvtStringToCursor() a static table of <name,number,cursor> triples 
	which serves to cache the Cursor corresponding to a cursor name:

	...

	Won't this go badly wrong if your application is using multiple
	displays?

Yup.

This is one (of possibly several :-) known bugs with the MIT R3
implementation with respect to multiple-display Xt applications.  I've been
meaning to fix it for a while (I have code that uses the Xlib extension
mechanism to provide callbacks on display closing so that the converters can
flush their caches)....