Mercurial > emacs
annotate oldXMenu/XDestAssoc.c @ 106768:21fd634f447a
Make line<->pixel_y conversion macros aware of native menu/tool bars.
They are placed above the internal border. This supersedes special
treatment of native tool bars in the display code.
This fixes wrong display position of native menu bars and bogus mouse
highlighting of native tool bars, both of which can be found when
internal border width is large. Also it fixes wrong flashed part on
visible bell with native menu bars.
* frame.h (FRAME_TOP_MARGIN_HEIGHT): New macro.
(FRAME_LINE_TO_PIXEL_Y, FRAME_PIXEL_Y_TO_LINE): Take account of pseudo
windows above internal border.
* window.h (WINDOW_MENU_BAR_P, WINDOW_TOOL_BAR_P): New macros.
(WINDOW_TOP_EDGE_Y, WINDOW_BOTTOM_EDGE_Y): Take account of pseudo
windows above internal border.
* xdisp.c (get_glyph_string_clip_rects, init_glyph_string): Don't treat
tool bar windows specially.
* xfns.c (x_set_tool_bar_lines): Take account of menu bar height.
* xterm.c (x_after_update_window_line): Don't treat tool bar windows
specially.
(XTflash): Take account of menu bar height.
* w32term.c (x_after_update_window_line): Don't treat tool bar windows
specially.
author | YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
---|---|
date | Sat, 09 Jan 2010 13:16:32 +0900 |
parents | fec5e03aaf59 |
children | ec58e5c426ef 5cc91198ffb2 |
rev | line source |
---|---|
25858 | 1 /* Copyright Massachusetts Institute of Technology 1985 */ |
2 | |
76133
995b45abe69d
Remove license text in favour of including copyright.h, as was done in
Glenn Morris <rgm@gnu.org>
parents:
75348
diff
changeset
|
3 #include "copyright.h" |
995b45abe69d
Remove license text in favour of including copyright.h, as was done in
Glenn Morris <rgm@gnu.org>
parents:
75348
diff
changeset
|
4 |
25858 | 5 |
6 #include <X11/Xlib.h> | |
7 #include "X10.h" | |
8 | |
9 /* | |
10 * XDestroyAssocTable - Destroy (free the memory associated with) | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
25858
diff
changeset
|
11 * an XAssocTable. |
25858 | 12 */ |
13 XDestroyAssocTable(table) | |
14 register XAssocTable *table; | |
15 { | |
16 register int i; | |
17 register XAssoc *bucket; | |
18 register XAssoc *Entry, *entry_next; | |
19 | |
20 /* Free the buckets. */ | |
21 for (i = 0; i < table->size; i++) { | |
22 bucket = &table->buckets[i]; | |
23 for ( | |
24 Entry = bucket->next; | |
25 Entry != bucket; | |
26 Entry = entry_next | |
27 ) { | |
28 entry_next = Entry->next; | |
29 free((char *)Entry); | |
30 } | |
31 } | |
32 | |
33 /* Free the bucket array. */ | |
34 free((char *)table->buckets); | |
35 | |
36 /* Free the table. */ | |
37 free((char *)table); | |
38 } | |
39 | |
52401 | 40 /* arch-tag: a536bf02-8d63-45f2-8c1a-c7f9fd4da2cf |
41 (do not change this comment) */ |