DragonFly On-Line Manual Pages
Tk_FreeXId(3) Tk Library Procedures Tk_FreeXId(3)
______________________________________________________________________________
NAME
Tk_FreeXId - make X resource identifier available for reuse
SYNOPSIS
#include <tk.h>
Tk_FreeXId(display, id)
ARGUMENTS
Display *display (in) Display for which id was allocated.
XID id (in) Identifier of X resource (window, font,
pixmap, cursor, graphics context, or
colormap) that is no longer in use.
______________________________________________________________________________
DESCRIPTION
The default allocator for resource identifiers provided by Xlib is very
simple-minded and does not allow resource identifiers to be re-used.
If a long-running application reaches the end of the resource id space,
it will generate an X protocol error and crash. Tk replaces the
default id allocator with its own allocator, which allows identifiers
to be reused. In order for this to work, Tk_FreeXId must be called to
tell the allocator about resources that have been freed. Tk
automatically calls Tk_FreeXId whenever it frees a resource, so if you
use procedures like Tk_GetFont, Tk_GetGC, and Tk_GetPixmap then you
need not call Tk_FreeXId. However, if you allocate resources directly
from Xlib, for example by calling XCreatePixmap, then you should call
Tk_FreeXId when you call the corresponding Xlib free procedure, such as
XFreePixmap. If you do not call Tk_FreeXId then the resource
identifier will be lost, which could cause problems if the application
runs long enough to lose all of the available identifiers.
KEYWORDS
resource identifier
Tk 4.0 Tk_FreeXId(3)