… | |
… | |
121 | #endif |
121 | #endif |
122 | |
122 | |
123 | // TODO: free pixcolours, colours should become part of rxvt_display |
123 | // TODO: free pixcolours, colours should become part of rxvt_display |
124 | |
124 | |
125 | delete PixColors; |
125 | delete PixColors; |
|
|
126 | delete TermWin.fontset; |
126 | |
127 | |
127 | displays.put (display); |
128 | displays.put (display); |
128 | } |
129 | } |
129 | |
130 | |
130 | void |
131 | void |
… | |
… | |
133 | if (display) |
134 | if (display) |
134 | { |
135 | { |
135 | if (TermWin.parent[0]) |
136 | if (TermWin.parent[0]) |
136 | XDestroyWindow (display->display, TermWin.parent[0]); |
137 | XDestroyWindow (display->display, TermWin.parent[0]); |
137 | |
138 | |
|
|
139 | rootwin_ev.stop (display); |
138 | termwin_ev.stop (display); |
140 | termwin_ev.stop (display); |
139 | vt_ev.stop (display); |
141 | vt_ev.stop (display); |
140 | |
142 | |
141 | #ifdef USE_XIM |
143 | #ifdef USE_XIM |
142 | im_destroy (); |
144 | im_destroy (); |
… | |
… | |
321 | */ |
323 | */ |
322 | /* EXTPROTO */ |
324 | /* EXTPROTO */ |
323 | RETSIGTYPE |
325 | RETSIGTYPE |
324 | rxvt_Exit_signal(int sig) |
326 | rxvt_Exit_signal(int sig) |
325 | { |
327 | { |
326 | signal(sig, SIG_DFL); |
328 | signal (sig, SIG_DFL); |
327 | #ifdef DEBUG_CMD |
329 | #ifdef DEBUG_CMD |
328 | rxvt_print_error("signal %d", sig); |
330 | rxvt_print_error ("signal %d", sig); |
329 | #endif |
331 | #endif |
330 | rxvt_clean_exit(); |
332 | rxvt_clean_exit(); |
331 | kill(getpid(), sig); |
333 | kill (getpid (), sig); |
332 | } |
334 | } |
333 | |
335 | |
334 | /* INTPROTO */ |
336 | /* INTPROTO */ |
335 | int |
337 | int |
336 | rxvt_xerror_handler (Display *display, XErrorEvent *event) |
338 | rxvt_xerror_handler (Display *display, XErrorEvent *event) |
… | |
… | |
353 | */ |
355 | */ |
354 | /* EXTPROTO */ |
356 | /* EXTPROTO */ |
355 | void |
357 | void |
356 | rxvt_clean_exit () |
358 | rxvt_clean_exit () |
357 | { |
359 | { |
|
|
360 | // TODO: rxvtd should clean up all ressources |
|
|
361 | if (GET_R) |
358 | GET_R->destroy (); |
362 | GET_R->destroy (); |
359 | } |
363 | } |
360 | |
364 | |
361 | /* ------------------------------------------------------------------------- * |
365 | /* ------------------------------------------------------------------------- * |
362 | * MEMORY ALLOCATION WRAPPERS * |
366 | * MEMORY ALLOCATION WRAPPERS * |
363 | * ------------------------------------------------------------------------- */ |
367 | * ------------------------------------------------------------------------- */ |