rpd@CS.CMU.EDU (Richard Draves) (11/17/88)
These are fixes for the twm that came on the R3 tape. In twm.c, I added some
casts to make my compiler (hc2 on RTs) happy. In add_window.c, I fixed the code
that fetches the icon window name property. Evidently the XGetWindowProperty
call has changed in R3; now even if you don't get the property you want it still
sets the returned value to the null string, instead of leaving it unchanged as
in R2.
Rich
*** add_window.c.~1~ Wed Nov 16 16:03:32 1988
--- add_window.c Wed Nov 16 16:18:52 1988
***************
*** 93,99 ****
unsigned long valuemask; /* mask for create windows */
XSetWindowAttributes attributes; /* attributes for create windows */
int width, len; /* tmp variable */
! int junk1, junk2, junk3;
int x;
Pixmap pm; /* tmp pixmap variable */
XWindowChanges xwc; /* change window structure */
--- 93,100 ----
unsigned long valuemask; /* mask for create windows */
XSetWindowAttributes attributes; /* attributes for create windows */
int width, len; /* tmp variable */
! Atom icon_type;
! int junk2, junk3;
int x;
Pixmap pm; /* tmp pixmap variable */
XWindowChanges xwc; /* change window structure */
***************
*** 327,338 ****
tmp_win->name_width = XTextWidth(TitleBarFont.font, tmp_win->name,
strlen(tmp_win->name));
! if (XGetWindowProperty(dpy, tmp_win->w, XA_WM_ICON_NAME, 0, 200, False,
! XA_STRING, &junk1, &junk2, &junk3, &len, &tmp_win->icon_name))
tmp_win->icon_name = tmp_win->name;
! if (tmp_win->icon_name == NULL)
! tmp_win->icon_name = tmp_win->name;
tmp_win->iconified = FALSE;
tmp_win->icon = FALSE;
--- 328,342 ----
tmp_win->name_width = XTextWidth(TitleBarFont.font, tmp_win->name,
strlen(tmp_win->name));
! if ((XGetWindowProperty(dpy, tmp_win->w, XA_WM_ICON_NAME,
! 0, 200, False,
! XA_STRING, &icon_type,
! &junk2, &junk3, &len,
! &tmp_win->icon_name) != Success) ||
! (icon_type != XA_STRING))
tmp_win->icon_name = tmp_win->name;
! /* we know tmp_win->icon_name != NULL now */
tmp_win->iconified = FALSE;
tmp_win->icon = FALSE;
*** twm.c.~1~ Tue Nov 15 11:11:28 1988
--- twm.c Tue Nov 15 11:12:14 1988
***************
*** 211,224 ****
old_handler = signal(SIGINT, SIG_IGN);
if (old_handler != SIG_IGN)
! signal(SIGINT, Done);
old_handler = signal(SIGHUP, SIG_IGN);
if (old_handler != SIG_IGN)
! signal(SIGHUP, Done);
! signal(SIGQUIT, Done);
! signal(SIGTERM, Done);
Home = (char *)getenv("HOME");
if (Home == NULL)
--- 211,224 ----
old_handler = signal(SIGINT, SIG_IGN);
if (old_handler != SIG_IGN)
! signal(SIGINT, (int (*)()) Done);
old_handler = signal(SIGHUP, SIG_IGN);
if (old_handler != SIG_IGN)
! signal(SIGHUP, (int (*)()) Done);
! signal(SIGQUIT, (int (*)()) Done);
! signal(SIGTERM, (int (*)()) Done);
Home = (char *)getenv("HOME");
if (Home == NULL)