view oldXMenu/DelSel.c @ 83565:41aaac7180d5

Merged from emacs@sv.gnu.org Patches applied: * emacs@sv.gnu.org/emacs--devo--0--patch-708 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-709 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-710 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-711 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-712 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-713 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-714 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-715 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-716 Merge from emacs--rel--22 * emacs@sv.gnu.org/emacs--devo--0--patch-717 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-718 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-719 Merge from emacs--rel--22 * emacs@sv.gnu.org/emacs--devo--0--patch-720 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-721 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-722 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-723 Merge from emacs--rel--22: lisp/dired-x.el: Revert 2007-04-06 change. * emacs@sv.gnu.org/emacs--devo--0--patch-724 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-725 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-726 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-727 Merge from emacs--rel--22 * emacs@sv.gnu.org/emacs--devo--0--patch-728 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-729 Merge from emacs--rel--22 * emacs@sv.gnu.org/emacs--devo--0--patch-730 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-731 Merge from emacs--rel--22 * emacs@sv.gnu.org/emacs--devo--0--patch-732 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-733 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-734 Merge from emacs--rel--22 * emacs@sv.gnu.org/emacs--devo--0--patch-735 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-736 Merge from emacs--rel--22 * emacs@sv.gnu.org/emacs--devo--0--patch-737 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-738 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-739 Merge from emacs--rel--22 * emacs@sv.gnu.org/emacs--devo--0--patch-740 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-741 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-742 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-743 Merge from emacs--rel--22 * emacs@sv.gnu.org/emacs--rel--22--base-0 tag of emacs@sv.gnu.org/emacs--devo--0--patch-709 * emacs@sv.gnu.org/emacs--rel--22--patch-1 Sync to CVS tag EMACS_22_BRANCHPOINT * emacs@sv.gnu.org/emacs--rel--22--patch-2 Sync to CVS branch EMACS_22_BASE * emacs@sv.gnu.org/emacs--rel--22--patch-3 Update from CVS * emacs@sv.gnu.org/emacs--rel--22--patch-4 Update from CVS * emacs@sv.gnu.org/emacs--rel--22--patch-5 Update from CVS * emacs@sv.gnu.org/emacs--rel--22--patch-6 Update from CVS * emacs@sv.gnu.org/emacs--rel--22--patch-7 Update from CVS * emacs@sv.gnu.org/emacs--rel--22--patch-8 Update from CVS * emacs@sv.gnu.org/emacs--rel--22--patch-9 Update from CVS * emacs@sv.gnu.org/emacs--rel--22--patch-10 Update from CVS * emacs@sv.gnu.org/emacs--rel--22--patch-11 Update from CVS * emacs@sv.gnu.org/emacs--rel--22--patch-12 Update from CVS * emacs@sv.gnu.org/emacs--rel--22--patch-13 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-217 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-218 Merge from emacs--devo--0, emacs--rel--22 * emacs@sv.gnu.org/gnus--rel--5.10--patch-219 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-220 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-605
author Karoly Lorentey <karoly@lorentey.hu>
date Fri, 11 May 2007 18:24:42 +0000
parents edf631bdbb7a
children
line wrap: on
line source

/* Copyright    Massachusetts Institute of Technology    1985	*/

#include "copyright.h"


/*
 * XMenu:	MIT Project Athena, X Window system menu package
 *
 * 	XMenuDeleteSelection - Deletes a selection from an XMenu object.
 *
 *	Author:		Tony Della Fera, DEC
 *			20-Nov-85
 *
 */

#include "XMenuInt.h"

int
XMenuDeleteSelection(display, menu, p_num, s_num)
    register Display *display;	/* Previously opened display. */
    register XMenu *menu;	/* Menu object to be modified. */
    register int p_num;		/* Pane number to be deleted. */
    register int s_num;		/* Selection number to be deleted. */
{
    register XMPane *p_ptr;	/* Pointer to pane being deleted. */
    register XMSelect *s_ptr;	/* Pointer to selections being deleted. */

    /*
     * Find the right pane.
     */
    p_ptr = _XMGetPanePtr(menu, p_num);
    if (p_ptr == NULL) return(XM_FAILURE);

    /*
     * Find the right selection.
     */
    s_ptr = _XMGetSelectionPtr(p_ptr, s_num);
    if (s_ptr == NULL) return(XM_FAILURE);

    /*
     * Remove the selection from the association table.
     */
    XDeleteAssoc(display, menu->assoc_tab, s_ptr->window);

    /*
     * Remove the selection from the parent pane's selection
     * list and update the selection count.
     */
    emacs_remque(s_ptr);
    p_ptr->s_count--;

    /*
     * Destroy the selection transparency.
     */
    if (s_ptr->window) XDestroyWindow(display, s_ptr->window);

    /*
     * Free the selection's XMSelect structure.
     */
    free(s_ptr);

    /*
     * Schedule a recompute.
     */
    menu->recompute = 1;

    /*
     * Return the selection number just deleted.
     */
    _XMErrorCode = XME_NO_ERROR;
    return(s_num);
}

/* arch-tag: 24ca2bc7-8a37-471a-8095-e6363fc1ed10
   (do not change this comment) */