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