jmsellens@watmath.waterloo.edu.UUCP (02/15/87)
icon_str is not always dealt with properly in UWM, GetButton.c. The RCS header defines this file as version 10.5 dated 86/11/19. This bug also appears in the X V10R3 distribution. Context diff follows. Fixes are due to Ian! Allen (idallen@watmath). John Sellens -- Logic Programming and Artificial Intelligence Group {decvax|utzoo|ihnp4|allegra|clyde}!watmath!watdragon!jmsellens jmsellens@dragon.waterloo.{edu,CDN} jsellens@watmta.BITNET jmsellens%dragon@waterloo.csnet *** GetButton.c.orig Sun Feb 15 15:01:24 1987 --- GetButton.c.new Sun Feb 15 15:05:22 1987 *************** *** 191,197 **** --- 191,201 ---- */ if (icon_str_len > 0) { icon_str_len = 0; + #ifdef waterloo + icon_str[0] = '\0'; + #else icon_str = '\0'; + #endif } } else if (key_char < IFontInfo.firstchar || *************** *** 228,240 **** --- 232,256 ---- /* * Set the window name to the new string. */ + #ifdef waterloo + /* note that icon_str can be NULL at this point. A quick fix to + stop mem faults ... */ + #define ICONSTR (icon_str ? icon_str : "") + + XStoreName(icon_info.assoc_wind, ICONSTR); + #else XStoreName(icon_info.assoc_wind, icon_str); + #endif /* * Determine the new icon window configuration. */ icon_h = IFontInfo.height + (VIconPad << 1); + #ifdef waterloo + icon_w = XQueryWidth(ICONSTR, IFont); + #else icon_w = XQueryWidth(icon_str, IFont); + #endif if (icon_w == 0) { icon_w = icon_h; }