rem: item = WMGetListItem(lPtr, index); titem = (TextureListItem*)item->clientData;
context: paintListItem(WMList *lPtr, int index, Drawable d, char *text, int state, 	      WMRect *rect){    _Panel *panel = (_Panel*)WMGetHangedData(lPtr);    WMScreen *scr = WMWidgetScreen(lPtr);    int width, height, x, y;    Display *dpy = WMScreenDisplay(scr);    WMColor *white = WMWhiteColor(scr);    WMListItem *item;    WMColor *black = WMBlackColor(scr);    TextureListItem *titem;    width = rect->size.width;    height = rect->size.height;    x = rect->pos.x;    y = rect->pos.y;    if (state & WLDSSelected)        XFillRectangle(dpy, d, WMColorGC(white), x, y, width, height);    else        XClearArea(dpy, d, x, y, width, height, False);    item = WMGetListItem(lPtr, index);    titem = (TextureListItem*)item->clientData;    if (titem->preview)	XCopyArea(dpy, titem->preview, d, WMColorGC(black), 0, 0, TEXPREV_WIDTH,		  TEXPREV_HEIGHT, x + 5, y + 5);    if ((1 << WMGetPopUpButtonSelectedItem(panel->secP)) & titem->selectedFor)	WMDrawPixmap(panel->onLed, d, x + TEXPREV_WIDTH + 10, y + 6);    else if (titem->selectedFor)	WMDrawPixmap(panel->offLed, d, x + TEXPREV_WIDTH + 10, y + 6);    WMDrawString(scr, d, WMColorGC(black), panel->boldFont,		 x + TEXPREV_WIDTH + 22, y + 2, titem->title, 		 strlen(titem->title));    WMDrawString(scr, d, WMColorGC(black), panel->smallFont,		 x + TEXPREV_WIDTH + 14, y + 18, titem->texture, 		 strlen(titem->texture));    WMReleaseColor(white);    WMReleaseColor(black);}