Mercurial > emacs
annotate oldXMenu/Destroy.c @ 61606:e348d86e70f8
*** empty log message ***
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Sun, 17 Apr 2005 21:52:06 +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) */ |