Mercurial > emacs
annotate oldXMenu/Destroy.c @ 55338:3fe6300a67bf
*** empty log message ***
| author | Jason Rumney <jasonr@gnu.org> |
|---|---|
| date | Mon, 03 May 2004 13:51:59 +0000 |
| parents | e8824c4f5f7e |
| children | 3861ff8f4bf1 8e5779acd195 |
| rev | line source |
|---|---|
| 25858 | 1 #include "copyright.h" |
| 2 | |
| 3 /* Copyright Massachusetts Institute of Technology 1985 */ | |
| 4 | |
| 5 /* | |
| 6 * XMenu: MIT Project Athena, X Window system menu package | |
| 7 * | |
| 8 * XMenuDestroy - Free all resources associated with and XMenu. | |
| 9 * | |
| 10 * Author: Tony Della Fera, DEC | |
| 11 * August, 1985 | |
| 12 * | |
| 13 */ | |
| 14 | |
| 15 #include "XMenuInt.h" | |
| 16 | |
| 17 XMenuDestroy(display, menu) | |
| 18 Display *display; | |
| 19 register XMenu *menu; /* Menu object to destroy. */ | |
| 20 { | |
| 21 register XMPane *p_ptr; /* Pointer to the current pane. */ | |
| 22 register XMPane *p_next; /* Pointer to the next pane. */ | |
| 23 register XMSelect *s_ptr; /* Pointer to the current selection. */ | |
| 24 register XMSelect *s_next; /* Pointer to the next selection. */ | |
| 25 | |
| 26 /* | |
| 27 * Destroy the selection and pane X windows and free | |
| 28 * their corresponding XMWindows. | |
| 29 */ | |
| 30 for ( | |
| 31 p_ptr = menu->p_list->next; | |
| 32 p_ptr != menu->p_list; | |
| 33 p_ptr = p_next | |
| 34 ) { | |
| 35 for ( | |
| 36 s_ptr = p_ptr->s_list->next; | |
| 37 s_ptr != p_ptr->s_list; | |
| 38 s_ptr = s_next | |
| 39 ) { | |
| 40 s_next = s_ptr->next; | |
| 41 free(s_ptr); | |
| 42 } | |
| 43 if (p_ptr->window) { | |
| 44 XDestroySubwindows(display, p_ptr->window); | |
| 45 XDestroyWindow(display, p_ptr->window); | |
| 46 } | |
| 47 p_next = p_ptr->next; | |
| 48 free(p_ptr); | |
| 49 } | |
| 50 | |
| 51 /* | |
| 52 * Destroy the association table. | |
| 53 */ | |
| 54 XDestroyAssocTable(menu->assoc_tab); | |
| 55 | |
| 56 /* | |
| 57 * Free the mouse cursor. | |
| 58 */ | |
| 59 XFreeCursor(display, menu->mouse_cursor); | |
| 60 | |
| 61 /* | |
| 62 * Free the fonts. | |
| 63 */ | |
| 64 XFreeFont(display, menu->p_fnt_info); | |
| 65 XFreeFont(display, menu->s_fnt_info); | |
| 66 | |
| 67 /* | |
| 68 * Free the pixmaps. | |
| 69 */ | |
| 70 /* XFreePixmap(display, menu->p_bdr_pixmap); | |
| 71 XFreePixmap(display, menu->s_bdr_pixmap); | |
| 72 XFreePixmap(display, menu->p_frg_pixmap); | |
| 73 XFreePixmap(display, menu->s_frg_pixmap); | |
| 74 XFreePixmap(display, menu->bkgnd_pixmap); */ | |
| 75 XFreePixmap(display, menu->inact_pixmap); | |
| 76 | |
| 77 /* | |
| 78 * Free the color cells. | |
| 79 */ | |
| 80 if ((menu->p_bdr_color != BlackPixel(display, DefaultScreen(display))) && (menu->p_bdr_color != WhitePixel(display, DefaultScreen(display)))) | |
| 81 XFreeColors( | |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
25858
diff
changeset
|
82 display, |
| 25858 | 83 DefaultColormap(display, DefaultScreen(display)), |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
25858
diff
changeset
|
84 &menu->p_bdr_color, |
| 25858 | 85 1, 0); |
| 86 if ((menu->s_bdr_color != BlackPixel(display, DefaultScreen(display))) && (menu->s_bdr_color != WhitePixel(display, DefaultScreen(display)))) | |
| 87 XFreeColors( | |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
25858
diff
changeset
|
88 display, |
|
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
25858
diff
changeset
|
89 DefaultColormap(display, DefaultScreen(display)), |
|
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
25858
diff
changeset
|
90 &menu->s_bdr_color, |
| 25858 | 91 1, 0); |
| 92 if ((menu->p_frg_color != BlackPixel(display, DefaultScreen(display))) && (menu->p_frg_color != WhitePixel(display, DefaultScreen(display)))) | |
| 93 XFreeColors( | |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
25858
diff
changeset
|
94 display, |
| 25858 | 95 DefaultColormap(display, DefaultScreen(display)), |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
25858
diff
changeset
|
96 &menu->p_frg_color, |
| 25858 | 97 1, 0); |
| 98 if ((menu->s_frg_color != BlackPixel(display, DefaultScreen(display))) && (menu->s_frg_color != WhitePixel(display, DefaultScreen(display)))) | |
| 99 XFreeColors( | |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
25858
diff
changeset
|
100 display, |
| 25858 | 101 DefaultColormap(display, DefaultScreen(display)), |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
25858
diff
changeset
|
102 &menu->s_frg_color, |
| 25858 | 103 1, 0); |
| 104 if ((menu->bkgnd_color != BlackPixel(display, DefaultScreen(display))) && (menu->bkgnd_color != WhitePixel(display, DefaultScreen(display)))) | |
| 105 XFreeColors( | |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
25858
diff
changeset
|
106 display, |
| 25858 | 107 DefaultColormap(display, DefaultScreen(display)), |
|
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
25858
diff
changeset
|
108 &menu->bkgnd_color, |
| 25858 | 109 1, 0); |
| 110 | |
| 111 /* | |
| 112 * Free the XMenu. | |
| 113 */ | |
| 114 free(menu); | |
| 115 } | |
| 52401 | 116 |
| 117 /* arch-tag: 44c9589f-5893-46fc-bc23-1b03a7f9c015 | |
| 118 (do not change this comment) */ |
