Mercurial > emacs
view oldXMenu/SetPane.c @ 57952:a6f82b95d10b
* xselect.c (struct selection_event_queue, selection_queue)
(x_queue_selection_requests, x_queue_event)
(x_start_queuing_selection_requests)
(x_stop_queuing_selection_requests): Add new queue for selection
input events to replace previous XEvent queue in xterm.c.
(queue_selection_requests_unwind): Adapt to new queue.
(x_reply_selection_request): Adapt to new queue. Unexpect
wait_object in case of x errors (memory leak).
(x_handle_selection_request, x_handle_selection_clear): Make static.
(x_handle_selection_event): New function. May queue selection events.
(wait_for_property_change_unwind): Use save_value instead of cons.
Clear property_change_reply_object.
(wait_for_property_change): Abort if already waiting.
Use save_value instead of cons for unwind data.
(x_handle_property_notify): Skip events already arrived, but don't
free them, as "arrived" field is checked by wait_for_property_change,
and it will be freed by unwind or explicit unexpect_property_change.
(x_get_foreign_selection): Add to new queue.
(receive_incremental_selection): Don't unexpect wait_object when done
as it has already been freed by previous wait_for_property_change.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Fri, 05 Nov 2004 11:30:31 +0000 |
parents | e8824c4f5f7e |
children | 3861ff8f4bf1 8e5779acd195 |
line wrap: on
line source
#include "copyright.h" /* Copyright Massachusetts Institute of Technology 1985 */ /* * XMenu: MIT Project Athena, X Window system menu package * * XMenuSetPane - Set a menu pane to be active or inactive. * * Author: Tony Della Fera, DEC * August, 1985 * */ #include "XMenuInt.h" int XMenuSetPane(menu, p_num, active) register XMenu *menu; /* Menu object to be modified. */ register int p_num; /* Pane number to be modified. */ register int active; /* Make selection active? */ { register XMPane *p_ptr; /* XMPane pointer. */ /* * Find the right pane. */ p_ptr = _XMGetPanePtr(menu, p_num); if (p_ptr == NULL) return(XM_FAILURE); /* * Set its active switch. */ p_ptr->active = active; if (p_ptr->active == False) p_ptr->activated = False; /* * Return the pane number just set. */ _XMErrorCode = XME_NO_ERROR; return(p_num); } /* arch-tag: 90bc8d90-031d-41a2-a2c6-04bf94efbc90 (do not change this comment) */