Annotation of researchv9/X11/src/X.V11R1/lib/oldXMenu/Destroy.c, revision 1.1.1.1

1.1       root        1: #include <X11/copyright.h>
                      2: 
                      3: /* $Header: Destroy.c,v 1.1 87/08/04 10:26:25 toddb Exp $ */
                      4: /* Copyright    Massachusetts Institute of Technology    1985  */
                      5: 
                      6: /*
                      7:  * XMenu:      MIT Project Athena, X Window system menu package
                      8:  *
                      9:  *     XMenuDestroy - Free all resources associated with and XMenu.
                     10:  *
                     11:  *     Author:         Tony Della Fera, DEC
                     12:  *                     August, 1985
                     13:  *
                     14:  */
                     15: 
                     16: #include "XMenuInternal.h"
                     17: 
                     18: XMenuDestroy(display, menu)
                     19:     Display *display;
                     20:     register XMenu *menu;      /* Menu object to destroy. */
                     21: {
                     22:     register XMPane *p_ptr;    /* Pointer to the current pane. */
                     23:     register XMPane *p_next;   /* Pointer to the next pane. */
                     24:     register XMSelect *s_ptr;  /* Pointer to the current selection. */
                     25:     register XMSelect *s_next;  /* Pointer to the next selection. */
                     26: 
                     27:     /*
                     28:      * Destroy the selection and pane X windows and free
                     29:      * their corresponding XMWindows.
                     30:      */
                     31:     for (
                     32:        p_ptr = menu->p_list->next;
                     33:        p_ptr != menu->p_list;
                     34:        p_ptr = p_next
                     35:     ) {
                     36:        for (
                     37:            s_ptr = p_ptr->s_list->next;
                     38:            s_ptr != p_ptr->s_list;
                     39:            s_ptr = s_next
                     40:        ) {
                     41:            s_next = s_ptr->next;
                     42:            free(s_ptr);
                     43:        }
                     44:        if (p_ptr->window) {
                     45:            XDestroySubwindows(display, p_ptr->window);
                     46:            XDestroyWindow(display, p_ptr->window);
                     47:        }
                     48:        p_next = p_ptr->next;
                     49:        free(p_ptr);
                     50:     }
                     51: 
                     52:     /*
                     53:      * Destroy the association table.
                     54:      */
                     55:     XDestroyAssocTable(menu->assoc_tab);
                     56: 
                     57:     /*
                     58:      * Free the mouse cursor.
                     59:      */
                     60:     XFreeCursor(display, menu->mouse_cursor);
                     61: 
                     62:     /*
                     63:      * Free the fonts.
                     64:      */
                     65:     XFreeFont(display, menu->p_fnt_info);
                     66:     XFreeFont(display, menu->s_fnt_info);
                     67: 
                     68:     /*
                     69:      * Free the pixmaps.
                     70:      */
                     71: /*    XFreePixmap(display, menu->p_bdr_pixmap);
                     72:     XFreePixmap(display, menu->s_bdr_pixmap);
                     73:     XFreePixmap(display, menu->p_frg_pixmap);
                     74:     XFreePixmap(display, menu->s_frg_pixmap);
                     75:     XFreePixmap(display, menu->bkgnd_pixmap); */
                     76:     XFreePixmap(display, menu->inact_pixmap);
                     77: 
                     78:     /*
                     79:      * Free the color cells.
                     80:      */
                     81:     if ((menu->p_bdr_color != BlackPixel(display, DefaultScreen(display))) && (menu->p_bdr_color != WhitePixel(display, DefaultScreen(display))))
                     82:        XFreeColors(
                     83:                    display, 
                     84:                    DefaultColormap(display, DefaultScreen(display)),
                     85:                    &menu->p_bdr_color, 
                     86:                    1, 0);
                     87:     if ((menu->s_bdr_color != BlackPixel(display, DefaultScreen(display))) && (menu->s_bdr_color != WhitePixel(display, DefaultScreen(display))))
                     88:        XFreeColors(
                     89:                    display, 
                     90:                    DefaultColormap(display, DefaultScreen(display)), 
                     91:                    &menu->s_bdr_color, 
                     92:                    1, 0);
                     93:     if ((menu->p_frg_color != BlackPixel(display, DefaultScreen(display))) && (menu->p_frg_color != WhitePixel(display, DefaultScreen(display))))
                     94:        XFreeColors(
                     95:                    display, 
                     96:                    DefaultColormap(display, DefaultScreen(display)),
                     97:                    &menu->p_frg_color, 
                     98:                    1, 0);
                     99:     if ((menu->s_frg_color != BlackPixel(display, DefaultScreen(display))) && (menu->s_frg_color != WhitePixel(display, DefaultScreen(display))))
                    100:        XFreeColors(
                    101:                    display, 
                    102:                    DefaultColormap(display, DefaultScreen(display)),
                    103:                    &menu->s_frg_color, 
                    104:                    1, 0);
                    105:     if ((menu->bkgnd_color != BlackPixel(display, DefaultScreen(display))) && (menu->bkgnd_color != WhitePixel(display, DefaultScreen(display))))
                    106:        XFreeColors(
                    107:                    display, 
                    108:                    DefaultColormap(display, DefaultScreen(display)),
                    109:                    &menu->bkgnd_color, 
                    110:                    1, 0);
                    111: 
                    112:     /*
                    113:      * Free the XMenu.
                    114:      */
                    115:     free(menu);
                    116: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.