--- rxvt-unicode/src/main.C 2004/02/13 12:16:21 1.32 +++ rxvt-unicode/src/main.C 2004/02/20 22:27:27 1.34 @@ -108,11 +108,6 @@ if (cmd_fd >= 0) close (cmd_fd); - scr_release (); - - free (locale); - free (codeset); - #ifndef NO_SETOWNER_TTYDEV privileged_ttydev (RESTORE); #endif @@ -120,12 +115,29 @@ privileged_utmp (RESTORE); #endif + delete TermWin.fontset; + + if (display) + if (TermWin.parent[0]) + XDestroyWindow (display->display, TermWin.parent[0]); + // TODO: free pixcolours, colours should become part of rxvt_display delete PixColors; - delete TermWin.fontset; displays.put (display); + + scr_release (); + + free (env_windowid); + free (env_display); + free (env_term); + free (env_colorfgbg); + free (locale); + free (codeset); + + delete envv; + delete argv; } void @@ -133,13 +145,9 @@ { if (display) { - if (TermWin.parent[0]) - XDestroyWindow (display->display, TermWin.parent[0]); - rootwin_ev.stop (display); termwin_ev.stop (display); vt_ev.stop (display); - #ifdef USE_XIM im_destroy (); im_ev.stop (display); @@ -259,11 +267,9 @@ Gr_reset (); /* reset graphics */ #endif -#if 0 -#ifdef DEBUG_X +#if 1 XSynchronize (display->display, True); #endif -#endif #ifdef HAVE_SCROLLBARS if (Options & Opt_scrollBar) @@ -286,7 +292,6 @@ XMapWindow (display->display, TermWin.vt); XMapWindow (display->display, TermWin.parent[0]); - init_env (); init_command (cmd_argv); pty_ev.start (cmd_fd, EVENT_READ); @@ -875,8 +880,8 @@ #endif break; } + sprintf (env_colorfgbg, "COLORFGBG=%s;%s%s", fstr, xpmb, bstr); - putenv (env_colorfgbg); #ifndef NO_BRIGHTCOLOR colorfgbg = DEFAULT_RSTYLE;