]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-6
fix focus_row adjustment (gtk_ctree_remove_node): select focus_row if
[~andy/gtk] / ChangeLog.pre-2-6
1 Wed Nov  4 21:52:57 1998  Lars Hamann  <lars@gtk.org>
2
3         * gtk/gtkctree.c (gtk_ctree_unlink): fix focus_row adjustment
4         (gtk_ctree_remove_node): select focus_row if needed
5         (cell_size_request): only get pixmap size if pixmap != NULL
6
7 Wed Nov  4 04:30:37 1998  Tim Janik  <timj@gtk.org>
8
9         * gtk/gtkwidget.c: added a bunch of checks for widget != NULL and
10         GTK_IS_WIDGET (widget):
11
12 Wed Nov  4 02:02:07 1998  Lars Hamann  <lars@gtk.org>
13
14         * gtk/gtkclist.c (real_remove_row) (sync_selection): set correct
15         focus_row after a remove_row call.
16
17 Sun Nov  1 21:00:06 GMT 1998  Austin Donnelly  <austin@greenend.org.uk>
18
19         * gtk/gtkoptionmenu.c
20         * gtk/gtkmenushell.c: make option menus work when some of the
21         menuitems are hidden - previously, option menu would popup too
22         high.
23
24 1998-10-31  Raja R Harinath  <harinath@cs.umn.edu>
25
26         * gtk/gtkfeatures.h.in: Remove `#pragma }'.
27
28         * gdk/gdki18n.h: Update to use new `glib' widechar defines.
29
30         * configure.in (CFLAGS): Don't use test -z "echo .. | grep".  Use
31         case instead.
32         (wchar.h, wctype.h, iswalnum): Duplicate widechar tests from `glib'.
33         (GDK_WLIBS): New variable.  Lists extra libraries needed to use
34         widechar functions.
35         * gtk-config.in (--libs): List $GDK_WLIBS, too.
36
37 Sat Oct 31 03:11:57 CST 1998 Shawn T. Amundson <amundson@gtk.org>
38
39         * Released GTK+ 1.1.3
40         
41         * INSTALL:
42         * NEWS:
43         * README:
44         * gtk+.spec:
45         * docs/gtk-config.1: updated for v1.1.3
46
47         * Makefile.am
48         * sanity_check
49         * docs/Makefile.am: Includes new 'make release' as well as
50           'make sanity'.  Also handles html and text creation from html,
51           and puts them into the distribution
52
53         * docs/Makefile.sgml: removed, similar functionality is now in 
54           the Makefile.am file
55
56         * docs/.cvsignore: ignore html and text directories
57         * docs/glib.texi: removed (now in glib dist)
58
59 Fri Oct 30 20:02:36 1998  Lars Hamann  <lars@gtk.org>
60
61         * gtk/gtklist.c (gtk_list_remove_items_internal): 
62         free undo_un/selection, unselect list_item before disconnect
63         signal functions
64         (gtk_list_destroy): removed. gtk_list_shutdown clears the list
65         already
66         (gtk_list_signal_item_select) (gtk_list_signal_item_deselect)
67         (gtk_list_signal_item_toggle)   (gtk_list_signal_scroll_horizontal)
68         (gtk_list_signal_toggle_focus_row) (gtk_list_signal_select_all)
69         (gtk_list_signal_unselect_all) (gtk_list_signal_undo_selection)
70         (gtk_list_signal_start_selection) (gtk_list_signal_end_selection)
71         (gtk_list_signal_toggle_add_mode) (gtk_list_signal_scroll_vertical)
72         (gtk_list_signal_extend_selection) (gtk_list_signal_focus_lost):
73         new functions. These functions are signal connected to inserted
74         list_items, to handle key bindings and GtkItem::de/select/toggle
75         signals.
76
77         * gtk/gtklistitem.c (gtk_list_item_class_init): added missing
78         gtk_object_class_add_signals call.
79         (gtk_list_item_toggle_focus_row) (gtk_list_item_select_all)
80         (gtk_list_item_unselect_all) (gtk_list_item_undo_selection)
81         (gtk_list_item_start_selection) (gtk_list_item_end_selection)
82         (gtk_list_item_extend_selection) (gtk_list_item_scroll_horizontal)
83         (gtk_list_item_scroll_vertical) (gtk_list_item_toggle_add_mode):
84         removed. These functions are handled via connected
85         gtk_list_signal_* functions now
86
87 Fri Oct 30 05:24:43 1998  Tim Janik  <timj@gtk.org>
88
89         * gtk/Makefile.am: cause the built sources to be rebuild when possible,
90         even with --include-deps:
91         $(libgtk_la_SOURCES): $(BUILT_SOURCES)
92
93 Fri Oct 30 01:56:08 1998  Tim Janik  <timj@gtk.org>
94
95         * gtk/gtkobject.c (gtk_object_remove_no_notify): renamed from
96         gtk_object_data_set_destroy to fit the gtkobject.h API.
97
98         * applied patch from Damon Chaplin <DAChaplin@email.msn.com>:
99         * gtk/gtkfontsel.h:
100         * gtk/gtkfontsel.c:
101         Added support for an extra 'base' filter which an application can
102         set to restrict the fonts available to the user (e.g. a terminal
103         program only wants the user to be able to select fixed-width fonts).
104         The type of font (bitmap/scalable/scaled bitmap) is now
105         also a part of the filter, so that an application can
106         request that only scalable fonts are shown.
107         There are new functions to set the base & user filters.
108         I've also stopped the up/down key press signals getting
109         to the clists since the font selection widget handles
110         them itself. It acted a bit strangely before.
111
112 Sun Oct 25 20:27:02 1998  Tim Janik  <timj@gtk.org>
113
114         * gtk/gtkmain.c (gtk_init): support an environment variable
115         GTK_MODULES= which takes a colon sperated list of module names
116         automatically loaded at gtk_init() startup.
117
118 Sun Oct 25 08:04:33 1998  Tim Janik  <timj@gtk.org>
119
120         * gtk/gtkwidget.c: added more g_return_if_fail() statements.
121
122 Thu Oct 22 22:40:35 1998  Lars Hamann  <lars@gtk.org>
123
124         * gtk/gtkctree.c (gtk_ctree_destroy): removed. gtk_clist_destroy
125         is sufficient
126
127 Thu Oct 22 16:22:55 1998  Lars Hamann  <lars@gtk.org>
128
129         * gtk/gtkclist.c (COLUMN_FROM_XPIXEL): samll fix for invisible
130         columns
131
132 Thu Oct 22 02:29:53 1998  Tim Janik  <timj@gtk.org>
133
134         * gtk/gtkfilesel.h: GtkType and macro fixups
135         * gtk/gtkfilesel.c (gtk_file_selection_complete): set a pattern
136         for the file selection widget to try a completion on (set the
137         initial filter).
138
139 Wed Oct 14 14:34:04 1998  Tim Janik  <timj@gtk.org>
140
141         * gtk/gtkmain.c: implement idle functions via GHook. this gives a
142         slight speed improvement and lessens code duplication.
143
144 Tue Oct 20 14:53:28 1998  Owen Taylor  <otaylor@redhat.com>
145
146         * gtk/gtkdnd.c: Always send "drag_leave" to dests
147         without GTK_DEST_DEFAULT_MOTION. 
148
149 Tue Oct 20 11:55:24 1998  Owen Taylor  <otaylor@redhat.com>
150
151         * gdk/gdk.c (gdk_event_translate): Handle DestroyNotify
152         on destroyed windows so we clear the XID table properly.
153         Finish up restructure of return value handling that
154         was half-done before.
155
156 Tue Oct 20 12:57:10 1998  Owen Taylor  <otaylor@redhat.com>
157
158         * gdk/gdk.c (gdk_send_clientmessage_to_all): Hunt
159         the window tree more comprehensively, so that we find
160         client windows hidden under non-toplevels.
161
162 Tue Oct 20 12:43:04 1998  Owen Taylor  <otaylor@redhat.com>
163
164         * gtk/gtkselection.c (gtk_selection_data_set): 
165         Maintain the null-termintation guarantee, even when 
166         data = NULL, length = 0. (Warn on data = NULL, 
167         length > 0)
168
169 Mon Oct 19 16:41:44 1998  Owen Taylor  <otaylor@redhat.com>
170
171         * gtk/gtkwidget.h (struct _GtkWidgetClass): Add in coordinates
172         into function prototype for drag_data_received. 
173
174 Tue, 20 Oct 1998 11:33:10 +0200 Paolo Molaro <lupus@debian.org>
175
176         * gtk/gtkdnd.h,gtk/gtkdnd.c: delete is a reserved word in c++.
177
178 Mon Oct 19 23:44:41 1998  Lars Hamann  <lars@gtk.org>
179
180         * gtk/gtkclist.c: rearranged some functions
181         (gtk_clist_set_column_auto_resize): new function. toggle auto_resize
182         flag of column
183         (gtk_clist_set_column_resizeable): if resizeable disable auto_resize 
184         (gtk_clist_set_border): deprecated function, use
185         gtk_clist_set_shadow_type instead.
186         (gtk_clist_set_shadow_type): replacement for gtk_clist_set_border
187         (adjust_scrollbars): some cleanups
188         (select_row) (unselect_row): removed. replaced by equivalent
189         gtk_signal_emit calls
190         (add_style_data): removed, use gtk_clist_style_set instead
191         (gtk_clist_style_set): fill in size data, after style was set. 
192         (set_cell_contents) (gtk_clist_set_shift) (gtk_clist_set_row_style)
193         (gtk_clist_set_cell_style): auto_resize columns if needed
194         (column_auto_resize): resize column if needed for auto_resize 
195         (real_clear): disable auto_resize while list destroy
196         (resize_column): removed
197
198         * gtk/gtkctree.c : (gtk_ctree_remove_node)
199         (gtk_ctree_set_line_style) (gtk_ctree_set_expander_style)
200         (gtk_ctree_node_set_row_style) (gtk_ctree_node_set_cell_style)
201         (set_cell_contents) (gtk_ctree_node_set_shift) (gtk_ctree_set_spacing)
202         (real_tree_move) (gtk_ctree_set_indent) (gtk_ctree_insert_node)
203         (real_tree_collapse) (real_tree_expand) (column_auto_resize):
204         auto_resize columns if needed
205         (gtk_ctree_collapse_recursive) (gtk_ctree_collapse_to_depth)
206         (real_clear): disable auto_resize while processing the tree
207
208         * gtk/testgtk.c (create_clist) (create_ctree): set auto_resize
209         for one column
210
211 Mon Oct 19 08:31:36 1998  Owen Taylor  <otaylor@redhat.com>
212
213         * gtk/gtkdnd.c (gtk_drag_selection_received): Fixed
214         typo - look for right atom on transfer failures.
215
216 Sun Oct 18 20:52:22 1998  Owen Taylor  <otaylor@gtk.org>
217
218         * gtk/gtkwidget.c gtkmarshal.list: Change signal 
219         for drag_data_get to match the use that was being
220         made of it everywhere else...
221
222 Sun Oct 18 18:16:39 1998  Owen Taylor  <otaylor@gtk.org>
223
224         * gdk/gdk.c gdkprivate.h: Added a modular client-message-filter
225         mechanism, that is used for the DND messages.
226
227           Removed all the old DND code.
228
229         * gdk/gdkcolormap.c gdk/gdkcolormap.h: Add a function to
230         get the visual of a given colormap.
231         
232         * gtk/gtkcolorsel.c: Conversion to new DND, drag 
233         a color-swatch.
234
235         * gdk/gdk.h gdk/gdkdnd.c: The low-level
236         X oriented portions of drag and drop protocols.
237         Sending and receiving client messages, and navigating
238         window trees.
239
240         * gdk/gdkimage.c: added a gdk_flush() when destroying
241         SHM images to hopefully make it more likely that
242         X will gracefully handle the segment being destroyed.
243
244         * gdk/gdkprivate.h gtk/gtkdebug.h: Add new 
245         DND debugging flags.
246
247         * gtk/gtkeditable.[ch]: Updates for the selection handling
248         changes.
249         
250         * gtk/gtkselection.[ch]: Added GtkTargetList, a 
251         refcounted data structure for keeping track of lists
252         of GdkAtom + information. Removed selection_handler_add
253         in favor of a "drag_data_get" signal.
254
255         * gtk/gtkdnd.[ch] gtk/gtk.h: New files - highlevel (event loop
256         dependent) parts of the DND protocols, display of drag icons,
257         drag-under highlighting, and the "default handlers".
258
259         * gtk/gtkinvisible.[ch]: New widget - InputOnly offscreen
260         windows that are used for reliable pointer grabs and
261         selection handling in the DND code.
262
263         * gtk/testdnd.c: New test program for new DND. (Old
264         DND tests in testgtk still need to be converted.)
265
266         * gtk/testselection.c: Use the new selection API.
267         
268         * docs/dnd_internals: Start at describing how
269         all the new code works inside.
270
271         * docs/Changes-1.2.txt: New file describing source-incompatible
272         changes in GTK+-1.2.
273
274 Sat Oct 17 22:50:34 1998  Owen Taylor  <otaylor@gtk.org>
275
276         * gdk/gdkwindow.c (gdk_window_remove_filter): Free
277         the right list node.
278
279         * gdk/gdkwindow.c (gdk_window_init): Add gdk_root_parent
280         to the XID table so we can receive events on it.
281
282 Wed Oct 14 12:57:40 1998  Owen Taylor  <otaylor@redhat.com>
283
284         * gdk/gdk.c gdk/gdk.h (gdk_event_get_time): New function
285         to get the timestamp from a generic event.
286
287 Fri Oct  9 13:16:04 1998  Owen Taylor  <otaylor@redhat.com>
288
289         * gtk/gtkwidget.c (gtk_widget_add_events): Added function
290         that safely adds additional events to a widget's event 
291         mask, even if the widget has previously been realized.
292         (We can do this, but not remove events from the event
293          mask).
294
295 Fri Oct  2 17:35:35 1998  Owen Taylor  <otaylor@redhat.com>
296
297         * gdk/gdkproperty.c (gdk_property_get): Allow type == 0,
298         for AnyPropertyType.
299
300 Fri Oct  2 10:32:21 1998  Owen Taylor  <otaylor@redhat.com>
301
302         * gdk/gdkproperty.c (gdk_atom_intern): Add client-local
303         hashing.
304
305 Thu Sep 24 20:33:54 1998  Owen Taylor  <otaylor@redhat.com>
306
307         * gdk/gdk.c (gdk_event_send_clientmessage_toall): serial
308         isn't a timestamp.
309
310 Thu Sep 17 14:23:03 1998  Owen Taylor  <otaylor@redhat.com>
311
312         * gdk/gdk.c (gdk_event_translate): Removed printing
313         of unknown window lookup warnings. (Made it
314         a GDK_NOTE) - they happen in many circumstances.
315
316 Tue Sep  8 12:38:43 1998  Owen Taylor  <otaylor@redhat.com>
317
318         * Call XFilterEvent() on events we get for unknown
319         windows, since it may be the window Xlib uses to
320         communicate with the IM. 
321         (From Yung-Ching Hsiao <yhsiao@cae.wisc.edu>)
322
323 Tue Sep  1 10:53:52 1998  Owen Taylor  <otaylor@redhat.com>
324
325         * gtk/gtkprogress.c (gtk_progress_finalize): Unref
326         the adjustment.
327
328 Thu Aug 27 12:03:14 1998  Owen Taylor  <otaylor@redhat.com>
329
330         * gtk/gtksignal.c (gtk_signal_newv): Improve warning
331         message for return_value + GTK_RUN_FIRST.
332
333 1998-10-18  Martin Baulig  <martin@home-of-linux.org>
334
335         * gtk/gtktext.c (gtk_text_set_line_wrap): new function to toggle
336         line wrapping like gtk_text_set_word_wrap () toggles word wrapping.
337
338 Fri Oct 16 15:59:02 1998  Lars Hamann  <lars@gtk.org>
339
340         * gtk/testgtk.c (insert_row_clist) (create_clist): change a few cell
341         styles of inserted row
342         (change_style): change style of focus_row
343
344         * gtk/gtkclist.c (gtk_clist_get_row_style) (gtk_clist_set_row_style)
345         (gtk_clist_get_cell_style) (gtk_clist_set_cell_style): new functions
346         to set/get row/cell styles.
347         (gtk_clist_realize): attach row and cell style, allocate row colors.
348         (gtk_clist_unrealize): detach row and cell styles.
349         (get_cell_style): new function. get correct cell style.
350         (draw_cell_pixmap): new function. 
351         (draw_row): draw cells with row or cell styles.
352         (row_new): set cell and row styles to NULL.
353         (row_delete): detach & unref cell and row styles.
354
355         * gtk/gtkctree.c (ctree_detach_styles) (ctree_attach_styles): 
356         new functions to attach/detach styles and allocate colors.
357         (gtk_ctree_realize) (gtk_ctree_unrealize): attach/detach cell and row
358         styles of invisible nodes.
359         (draw_cell_pixmap): new function. 
360         (get_cell_style):  new function. get correct cell style.
361         (gtk_ctree_draw_expander): new function. draw tree expander.
362         (gtk_ctree_draw_lines): new function.draw tree lines.
363         (draw_row): draw cells with row or cell styles.
364         (row_new): set cell and row styles to NULL.
365         (row_delete): detach & unref cell and row styles.
366         (gtk_ctree_node_get_row_style) (gtk_ctree_node_set_row_style) 
367         (gtk_ctree_node_get_cell_style) (gtk_ctree_node_set_cell_style): 
368         Analogons of GtkCList functions 
369         (gtk_ctree_set_spacing): new function. set spacing between
370         tree expander and cell contents
371         (gtk_ctree_set_expander_style): new function. set expander style
372         of ctree.
373         (ctree_is_hot_spot): few changes due to draw_row modifications.
374
375 Wed 14 Oct 1998 10:17:13 +0200 Paolo Molaro <lupus@debian.org>
376
377         * gtk/gtkcombo.c: try completion on MOD1-TAB.
378         Handle case when the combo->list is empty.
379
380 Mon Oct 12 07:51:34 1998  Tim Janik  <timj@gtk.org>
381
382         * gtk/gtksignal.c (gtk_signal_handlers_destroy): only unref those
383         handlers that have not yet been disconnected (finally managed to
384         trigger the gtk_signal_handler_unref() paranoid warning).
385
386 Sat Oct 10 03:37:50 1998  Tim Janik  <timj@gtk.org>
387
388         * gtk/gtkwidget.c (gtk_widget_get_arg): fixed default value for x, y,
389         width and height which is -1 and not -2.
390
391 Sat Oct 10 00:50:53 PDT 1998 Manish Singh <yosh@gimp.org>
392
393         * HACKING
394         * autogen.sh: we need libtool 1.2b now
395
396 Sat Oct 10 03:37:50 1998  Tim Janik  <timj@gtk.org>
397
398         * gtk/gtktable.c (gtk_table_set_child_arg): take the left, right, top
399         and bottom attach arguments as mandatory and readjust the table size
400         and opposing edge accordingly if required. this way the order in which
401         the arguments are set doesn't matter.
402
403 Thu Oct  8 15:53:59 1998  Owen Taylor  <otaylor@redhat.com>
404
405         * gtk/gtktypeutils.c (gtk_type_class_init): Fixed warning
406         message to print out parent class name correctly.
407
408 Thu Oct  8 07:07:10 1998  Tim Janik  <timj@gtk.org>
409
410         * gtk/gtkobject.h: 
411         * gtk/gtkobject.c:
412         removed functions gtk_object_set_data_destroy and
413         gtk_object_set_data_destroy_by_id.
414         added functions gtk_object_remove_no_notify and
415         gtk_object_remove_no_notify_by_id which will remove a certain data
416         portion without invokation of its destroy notifier, this should only
417         be used in very controled circumstances.
418
419 Wed Oct  7 23:59:37 1998  Lars Hamann  <lars@gtk.org>
420
421         * gtk/gtkclist.c (gtk_clist_set_column_resizeable): added
422         size_allocate_title_buttons call
423         (gtk_clist_realize): changed initial column.window position
424
425 Wed Oct  7 20:27:28 1998  Lars Hamann  <lars@gtk.org>
426
427         * gtk/gtkctree.h (struct _GtkCTree): removed xor_gc, use clists
428         xor_gc instead
429         * gtk/gtkctree.c (create_xor_gc): removed
430         (gtk_ctree_button_press): set correct line_attributes for
431         clist->xor_gc on drag start
432         (gtk_ctree_button_release): reset clist->xor_gc
433
434 Wed Oct  7 05:15:36 1998  Tim Janik  <timj@gtk.org>
435
436         * gtk/gtk*.h:
437         * gdk/gdk.h: removed all occourances of #pragma } and #pragma {
438         which were in place to fixup emacs' cc-mode indentation.
439         putting (c-set-offset 'inextern-lang 0) into ~/.emacs is the
440         proper way to achive this and doesn't produce problems for
441         stupid pragma-related compiler bugs. ;)
442
443 Wed Oct  7 00:59:46 1998  Lars Hamann  <lars@gtk.org>
444
445         * gtk/gtkclist.h: new signal GtkCList::resize_column.
446         * gtk/gtkclist.c (draw_row): don't draw invisible columns
447         (size_allocate_title_buttons) (size_allocate_columns):
448         skip invisible columns
449         (new_column_width): take min/max_width into account 
450         (gtk_clist_button_release) (gtk_clist_motion):
451         changes due to changed new_column_width function
452         (LIST_WIDTH): changed define to inline function.
453         (real_resize_column): class function for resize_column signal
454         (gtk_clist_motion): fixed autoscrolling for column resizes
455         (gtk_clist_set_column_visibility): don't hide last visible column,
456         changed visible arg to gboolean
457         (gtk_clist_set_column_min_width)(gtk_clist_set_column_max_width):
458         new functions : set min/max width of a column
459         (gtk_clist_set_column_resizeable): new function : enable/disable
460         column resize operations by mouse
461
462         * gtk/gtkctree.c (draw_row): don't draw invisible columns
463         (ctree_is_hot_spot): return FALSE if tree_column is invisible
464         (draw_xor_line)  (draw_xor_rect): draw full rectangle/line if
465         tree_column is invisible
466         (gtk_ctree_find_all_by_row_data)
467         (gtk_ctree_find_all_by_row_data_custom):  new function from
468         Ronan Bourlier <ronan@radioss.com>. Returns a GList of all
469         GtkCTreeNodes with row->data == data.
470
471 Tue Oct  6 14:05:00 1998  Tim Janik  <timj@gtk.org>
472
473         * gtk/testgtk.c (cb_tree_destroy_event): use g_free to free g_malloced
474         memory (Martin Pool <mbp@wistful.humbug.org.au>).
475
476 Mon Oct  5 15:26:30 1998  Raph Levien  <raph@gimp.org>
477
478         * gdk/gdkrgb.c (gdk_rgb_convert_0888_br): Fixed a few long's that
479         should have been guint32. Thanks to Tristan Colgate for finding it.
480
481 Sun Oct  4 22:47:22 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
482
483         * gtk/gtkcalendar.h:
484           gtk/gtkcalendar.c: More changes:
485           - The day with focus is now seperated from the day selected
486           - The day with focus has the xor's line around it
487           - The selected day is now standard selected style
488           - The week names and week numbers are now also drawn
489             with selected style
490           - Space now selects the day which has focus
491
492 Sun Oct  4 17:55:52 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
493
494         * gtk/gtkcalendar.h:
495           gtk/gtkcalendar.c: Some significant changes, including:
496           - No longer draw focus around entire widget, only around
497             the day which has focus
498           - Draw relief around entire widget like originally planned
499           - Show header and day names by default 
500           - Move data private to the widget out of GtkCalendar struct
501             and only point to it with a gpointer
502           - Remove some old unused variables from GtkCalendar struct
503
504 Sun Oct  4 17:45:43 BST 1998  Tony Gale  <gale@gtk.org>
505
506         * docs/gtk_tut.sgml: update I've had sat around:
507           - Grammar patch from James R. Van Zandt <jrv@vanzandt.mv.com>
508           - Range Widget update from David Huggins-Daines <bn711@freenet.carleton.ca>
509           - New Toolbar section from Jacek Wojdel <J.C.Wojdel@cs.tudelft.nl>
510
511 1998-10-01  Martin Baulig  <martin@home-of-linux.org>
512
513         * gtk/gtkclist.h (GtkCListColumn): Added `visible'.
514         
515         * gtk/gtkclist.c (gtk_clist_set_column_visibility): New function.
516         Makes it possible to individually show and hide columns.
517         (size_allocate_columns): Adapted to keep track of hidden columns.
518         (size_allocate_title_buttons): Likewise.
519
520 Sat Oct  3 17:54:48 1998  Tim Janik  <timj@gtk.org>
521
522         * gtk/gtkargcollector.c (GTK_ARG_COLLECT_VALUE): for unknown foreign
523         fundamental types, collect an argument of the type returned from
524         gtk_type_get_varargs_type(). removed the first macro argument which
525         was just the same as the fundamental type of the *arg passed to
526         the macro.
527         * gtk/gtkarg.c (gtk_args_collect): 
528         * gtk/gtksignal.c (gtk_signal_collect_params): changed callers.
529
530         * gtk/gtktypeutils.h: 
531         * gtk/gtktypeutils.c: new functions gtk_type_set_varargs_type() and
532         gtk_type_get_varargs_type() to set and query the varargs collect
533         type used for a fundamental type, registered outside of Gtk.
534
535         * gtk/gtkmisc.c (gtk_misc_class_init): changed object arguments
536         GtkMisc::xalign and GtkMisc::yalign from GTK_TYPE_DOUBLE to
537         GTK_TYPE_FLOAT.
538
539         * gtk/gtkframe.c (gtk_frame_class_init): changed object arguments
540         GtkFrame::label_xalign and GtkFrame::label_yalign from GTK_TYPE_DOUBLE
541         to GTK_TYPE_FLOAT.
542
543 Sat Oct  3 01:25:24 1998  Lars Hamann  <lars@gtk.org>
544
545         * gtk/gtkctree.c (gtk_ctree_insert_gnode) (real_tree_collapse)
546         (gtk_ctree_link) (gtk_ctree_unlink) (real_tree_expand): 
547         fixes for assignment errors with GTK_CTREE_NODE_NEXT/PREV
548
549         (real_tree_expand) (real_tree_collapse):
550         don't expand/collapse a leaf
551
552 Fri Oct  2 16:10:36 1998  Tim Janik  <timj@gtk.org>
553
554         * gtk/gtktypeutils.c (gtk_type_enum_find_value): make sure we don't
555         segfault when looking up a non-existant value name (reported by
556         Pablo <pcj+gtk@primenet.com>).
557
558 Thu Oct  1 10:40:20 1998  Tim Janik  <timj@gtk.org>
559
560         * gtk/gtkclist.h (gtk_clist_prepend):
561         * gtk/gtkclist.c (gtk_clist_prepend): new function.
562         (gtk_clist_insert): added g_return_val_if_fail()
563         statements. accept a row parameter < 0 or > clist->rows to indicate
564         append mode.
565         (real_clear): first clean up all internal pointers and lists (e.g.
566         clist->row_list or clist->rows), then delete the distinct rows. this
567         is required because of destroy notifiers, we need to have all internal
568         structures updated and be reentrant.
569
570         * gtk/gtkcalendar.h: 
571         * gtk/gtkcalendar.c: removed the `gtk_calendar_' prefix from the
572         GtkCalendarClass signal methods.
573         GtkType and macro fixups, put `void' into () prototypes, avoid C++
574         style comments, indentation fixes, fixed some g_return_if_fail()
575         statements.
576         (gtk_calendar_paint_header):
577         (gtk_calendar_paint_day_names): 
578         (gtk_calendar_paint_week_numbers): 
579         (gtk_calendar_paint_main): made these static functions.
580         (gtk_calendar_select_month):
581         (gtk_calendar_select_day):
582         (gtk_calendar_mark_day):
583         (gtk_calendar_unmark_day):
584         (gtk_calendar_get_date): signedness corrections, use guints
585         rather than gints.
586         (gtk_calendar_size_request): removed unused variables.
587
588 Wed Sep 30 13:11:09 1998  Tim Janik  <timj@gtk.org>
589
590         * gtk/gtkitemfactory.c (gtk_item_factory_add_item): list all
591         widgets in the ->widgets_by_action list that have a callback
592         defined (not only those with a callback_action!=0).
593
594 Sun Sep 27 22:02:48 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
595
596         * gtk/gtkcalendar.h:
597           gtk/gtkcalendar.c:
598           examples/calendar/gcalendar.c: remove HAVE_FEATURES stuff
599
600 Sun Sep 27 02:18:06 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
601
602         * gtk/gtkcalendar.h:
603           gtk/gtkcalendar.c:
604           examples/calendar: Added gtkcalendar widget and demo
605
606 Sat Sep 26 06:15:34 1998  Tim Janik  <timj@gtk.org>
607
608         * gtk/gtkclist.c (gtk_clist_sort): 
609         (gtk_clist_clear): 
610         (gtk_clist_unselect_all): 
611         (gtk_clist_select_all): adde g_return_if_fail() statements.
612
613 Sat Sep 26 04:46:22 1998  Tim Janik  <timj@gtk.org>
614
615         * configure.in: set binary age and interface age to 0.
616
617         * gtk/gtkspinbutton.h: 
618         * gtk/gtkspinbutton.c: changed gtk_spin_button_construct to
619         gtk_spin_button_configure. gtk_spin_button_construct is still defined
620         as an alias for gtk_spin_button_configure for source compatibility,
621         but actuall use is deprecated.
622         typeness corrections, i.e. gint->gboolean and gint->guint.
623         added object arguments: GtkSpinButton::value, GtkSpinButton::wrap,
624         GtkSpinButton::shadow_type, GtkSpinButton::update_policy,
625         GtkSpinButton::numeric, GtkSpinButton::snap_to_ticks,
626         GtkSpinButton::adjustment, GtkSpinButton::digits and
627         GtkSpinButton::climb_rate.
628         GtkType and macro fixups.
629
630 Sat Sep 25 23:33:55 1998  Tim Janik  <timj@gtk.org>
631
632         * gdk/gdkwindow.c (gdk_window_get_root_origin): new function to get
633         the *real* geometry position of a window, taken possible window
634         manager offsets into account.
635         this has been succesfully tested with fvwm, fvwm-2, bowman, olwm,
636         olvwm, twm, ctwm, mlvwm, windowmaker and enlightenment.
637         it does fail though for amiwm which adds windows to a pseudo root
638         window, and for icewm by a small offset because it defines the
639         geometry position whithin its border.
640
641         * gtk/testgtk.c: added "saved position" test to figure how
642         gdk_window_get_root_origin() interacts with window managers (repopup
643         this window to figure ;).
644
645 Wed Sep 23 06:09:19 1998  Tim Janik  <timj@gtk.org>
646
647         * configure.in: update to Gtk+ version 1.1.3, binary age 1,
648         interface age 1.
649
650         * gtk/gtkobject.c
651         (gtk_object_ref): 
652         (gtk_object_unref): check for ->ref_count to be greater than 0 (the
653         existing code was buggy in letting ->ref_count==0 pass through and
654         then failing the living_objs_ht assertion).
655
656         * gtk/gtkclist.c (draw_row): fix chopping bug for right justified
657         pixtext fields (Roman Pozlevich <roma@botik.ru>).
658
659 Mon Sep 21 23:53:18 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
660
661         * Released GTK+ 1.1.2
662
663 Mon Sep 21 01:12:44 1998  Jay Cox  (jaycox@earthlink.net)
664
665         * gtk/Makefile.am: use $(PERL) instead of perl
666         * gtk/gtkcolorsel.c: render properly in non-square aspect ratios.
667         also much faster to render.
668
669 Mon Sep 21 07:44:30 1998  Tim Janik  <timj@gtk.org>
670
671         * gtk/gtkobject.c (gtk_object_class_add_signals): reallocate
672         the required memory block, rather than allocating it newly from
673         scratch and doing a full-blown block copy on it.
674
675 Mon Sep 21 02:30:06 1998  Tim Janik  <timj@gtk.org>
676
677         * NEWS file update for upcoming release of Gtk+ version 1.1.2,
678         binary age 0, interface age 0.
679
680         * gtk/gtkmain.c (gtk_init): enforce gtk-modules to always be resident.
681
682 Sun Sep 20 18:21:46 1998  Owen Taylor  <otaylor@redhat.com>
683
684         * ltmain.sh: Patch to libtool-1.2b to make --disable-static
685         work.
686
687 Sun Sep 20 09:52:39 1998  Owen Taylor  <otaylor@gtk.org>
688
689         * HACKING: indent other than GNU indent should be OK
690           now.
691
692         * gtk/genmarshal.pl gtk/Makefile.am: Call indent on file
693           instead of piping through indent. If indent wasn't
694           found in ./configure don't bother indenting at 
695           all.
696
697 Fri Sep 18 19:11:10 1998  Owen Taylor  <otaylor@redhat.com>
698
699         * gdk/gdk.h: Add names to prototype for gdk_image_new_bitmap.
700
701 Fri Sep 18 18:54:59 1998  Jay Cox  (jaycox@earthlink.net)
702
703         * gtk/Makefile.am: use $(AWK) instead of awk
704
705 1998-09-18  Raja R Harinath  <harinath@cs.umn.edu>
706
707         * gtk/Makefile.am (gdk_headers): 
708         Remove references to $(top_srcdir). 
709         (gtk.defs, gtktypebuiltins{.h,_vars.c,_ids.c,_evals.c}): Simplify.
710         * gtk/makeenums.pl (parse_entries): Don't look for $srcdir.
711
712 Fri Sep 18 19:58:24 1998  Tim Janik  <timj@gtk.org>
713
714         * gtk/gtkobject.h (struct _GtkObject): changed gpointer object_data; to
715         GData*object_data to cure compiler warnings.
716
717 Thu Sep 17 19:06:47 PDT 1998 Manish Singh <yosh@gimp.org>
718
719         * install-sh
720         * missing
721         * mkinstalldirs: updated to latest automake version
722
723 1998-09-17  Raja R Harinath  <harinath@cs.umn.edu>
724
725         * gtk/Makefile.am (source_headers): Move `gtkfeature.h' ...
726         (gtkinclude_HEADERS): ... here.
727         (gtk.defs): Pass `g' flag to sed, to replace all occurances.
728
729 Thu Sep 17 10:49:51 1998  Raph Levien  <raph@gimp.org>
730
731         * HACKING: added GNU indent, as it is now required to successfully
732         build gtk+. Should this be detected in autoconf, possibly?
733
734 Tue Sep 15 14:57:30 1998  Owen Taylor  <otaylor@redhat.com>
735
736         * Makefile.am gtk-config.in l*: Update to libtool-1.2b,
737         change library versioning scheme to drop LT_RELEASE
738         from the -l line, while keeping it in the soname.
739
740 Tue Sep 15 14:10:33 1998  Owen Taylor  <otaylor@redhat.com>
741
742         * configure.in Makefile.in: define a MAINT-like variable REBUILD
743         which is set if Perl and awk are found, and autogenerated sources
744         can be rebuilt. Remove the auto-generated sources from
745         CVS. 
746
747         Add dependencies so that the autogenerated sources are 
748         rebuilt if the files they depend on change. 
749         (This unfortunately currently results in the entire
750         gtk/ directory being rebuilt when any header changes.
751         Moving all enums to gtkenums.h would fix this.)
752
753 Thu Sep 17 05:12:48 1998  Tim Janik  <timj@gtk.org>
754
755         * gtk/gtkobject.h: added gtk_object_set_data_destroy and
756         gtk_object_set_data_destroy_by_id functions to set the destroy
757         function pointer for an existing data portion.
758
759         * gtk/gtkobject.c: removed the GtkObjectData implementation and
760         made all gtk_object_*data* functions use the GLib equivalents.
761
762 1998-09-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
763
764         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): Test whether type
765         is not equal to GTK_TOOLBAR_CHILD_RADIOBUTTON before checking that
766         (widget != NULL), otherwise radio button insertion will not work
767         -- the widget argument is NULL for the first radio button in the
768         group.
769
770 Tue Sep 15 13:09:24 1998  Owen Taylor  <otaylor@redhat.com>
771
772         * gdk/gdkimage.c (gdk_image_new): Reverted global changes
773         of g_new to malloc(), added back in the one place where
774         it actually mattered. #include <stdlib.h>.
775
776         * gdk/gdkrgb.c: g_malloc() to malloc() as above.
777
778 Tue Sep 15 11:30:03 1998  Owen Taylor  <otaylor@redhat.com>
779
780         * gtk/gtkfilesel.c: Keep a list of directories in which we never
781         want to stat the entries (like /afs), and assume everything in
782         those directories is a subdirectory.
783
784         - When following a path, try to open components even when
785         we don't find them in their parent's directory to
786         support automounters.
787
788 Tue Sep 15 11:06:13 1998  Owen Taylor  <otaylor@redhat.com>
789
790         * gtk/gtkwindow.c (gtk_window_move_resize): Don't request
791         a new size from the WM if we asked for the same size
792         before and our request was rejected.
793
794         * gtk/gtkwindow.c (gtk_window_configure_event): If
795         in response to a request, we get a configure event
796         with unchanged dimensions, send a synthetic expose
797         since ForgetGravity won't expose our window.
798
799 Mon Sep 14 14:28:24 1998  Owen Taylor  <otaylor@redhat.com>
800
801         * gtk/gtktext.c (adjust_adj): Change the way we
802         set the adjustments on resize so that it tries to
803         keep the beginning of the text in approximately
804         the same place. 
805
806         Removed assertion that the above change made invalid.
807
808 Thu Sep 10 22:19:35 1998  Owen Taylor  <otaylor@redhat.com>
809
810         * gtk/gtktext.c: - Save first_cut_pixels when switching
811         sizes, so that if we switch to the _same_ size,
812         we don't move lines around.
813
814         - Make sure that the text area always has a size of at
815         least 1x1, then do all computations when realized.
816
817         - When fetching lines in recompute_geometry, make
818         sure we fetch enough lines to cover the screen.
819         
820 Mon Sep 14 21:47:35 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
821
822         * gdk/gdkimage.c: changed g_new()s to malloc()s and 
823           g_free()s to free()s to avoid mixing g_new()s with 
824           free()s.  X itself uses free() on some of the 
825           malloced memory.
826
827 Sat Sep 12 10:44:06 1998  Owen Taylor  <otaylor@redhat.com>
828
829         * gtkfilesel.c: Maintain a list of directories like
830         /afs we know contain only directories, and avoid
831         stat'ing files in those directories. (Because
832         stat'ing all files in /afs is extremely expensive)
833
834         To support automounters, try to open directories,
835         even if we couldn't find them when reading their
836         parent directory.
837
838 Thu Sep  3 10:29:03 1998  Owen Taylor  <otaylor@redhat.com>
839
840         * gtk.m4: Conditionalize check for GTK_MAJOR_VERSION,
841         to allow the same gtk.m4 to work for 1.0.x and
842         1.1.x.
843
844 Fri Sep 11 15:25:10 1998  Lars Hamann  <lars@gtk.org>
845
846         * gtk/gtkclist.c (gtk_clist_set_selectable): new function
847         to set/unset the selectable flag of a single row.
848         (gtk_clist_get_selectable): new function 
849         to get the state of the selectable flag
850
851         * gtk/gtkctree.c (gtk_ctree_node_set_selectable)
852         (gtk_ctree_node_get_selectable): clist analogons
853         
854 Thu Sep 10 17:04:03 1998  Raph Levien  <raph@gimp.org>
855
856         * gtk/testrgb.c (testrgb_rgb_test): Small changes to the test
857         pattern.
858
859         * gdk/gdkrgb.c (gdk_rgb_convert_gray4_pack): Fixed some alignment
860         bugs in the 4bit gray cases.
861
862 Wed Sep  9 02:48:44 PDT 1998 Manish Singh <yosh@gimp.org>
863
864         * configure.in: added -posix check for NeXTStep
865
866         * gtk/testthreads.c: applied part of gtk-joke-980907-0 to use
867         a unique buffer for each thread.
868
869         * docs/gtk-config.1: clarified copyright
870
871 Tue Sep  8 05:19:51 1998  Tim Janik  <timj@gtk.org>
872
873         * gdk/gdk.c (gdk_init): use g_atexit() instead of ATEXIT.
874
875         * gtk/gtkmain.c (gtk_init): use g_atexit() instead of ATEXIT.
876
877         * gtk/gtkobject.c (gtk_object_init_type): use g_atexit() instead of
878         ATEXIT.
879         
880         * ltconfig: use GLib's ltconfig which honours lcc.
881
882 Mon Sep  7 20:09:23 PDT 1998 Manish Singh <yosh@gimp.org>
883
884         * configure.in: comment the -std1 check and save LIBS properly
885
886 Sun Sep  6 12:36:23 PDT 1998 Manish Singh <yosh@gimp.org>
887
888         * gtk/testrgb.c: #include <stdlib.h>
889
890 Sat Sep  5 16:01:19 1998  Owen Taylor  <otaylor@gtk.org>
891
892         * gdk/gdkinputxfree.h gdk/gdk.c gdk/gdkinputgxi.h:
893         When the pointer is grabbed on an input window,
894         either explicitely, or through press-grab, and
895         then grabbed on a non-input window, ungrab the
896         devices.
897
898 Sat Sep  5 07:13:19 1998  Tim Janik  <timj@gtk.org>
899
900         * gtk/gtktypeutils.h: don't include any gdk headers.
901         added structure definitions for GtkTypeObject and GtkTypeClass,
902         which cover the very basic fields of GtkObject and GtkObjectClass,
903         which are actually used by the type system.
904         
905         * gtk/gtktypeutils.c: don't include gtkobject.h or gtkcontainer.h,
906         we only refer to our own structures. improved class inheritance
907         sanity checking a bit.
908
909         * gtk/gtkobject.h: placed appropriate comments at the beginnings
910         of the GtkObject and GtkObjectClass structures, which explain
911         their relationship to GtkTypeObject and GtkTypeClass.
912
913         * gtk/gtktypeutils.h:
914         * gtk/gtkobject.h:
915         moved GTK_STRUCT_OFFSET(), GTK_CHECK_CAST(), GTK_CHECK_CLASS_CAST(),
916         GTK_CHECK_TYPE() and GTK_CHECK_CLASS_TYPE() macro definitions from
917         gtkobject.h to gtktypeutils.h.
918
919         * gtk/gtkobject.h:
920         * gtk/gtkobject.c:
921         removed gtk_object_check_cast() and gtk_object_check_class_cast()
922         functions. to keep source compatibility, we can provide macro aliases
923         for the corresponding gtk_type_* functions. but then again, people
924         shouldn't have been using these functions anyways since they were part
925         of Gtk's internal API.
926
927         * gtk/gtktypeutils.h:
928         * gtk/gtktypeutils.c:
929         implemented gtk_type_check_object_cast() and gtk_type_check_class_cast()
930         functions to check GtkTypeObject and GtkTypeClass types.
931
932 Thu Sep  3 07:16:54 1998  Tim Janik  <timj@gtk.org>
933
934         * gtk/gtkctree.h:
935         * gtk/gtkctree.c: `const' fixups.
936
937         * gtk/gtkclist.h:
938         * gtk/gtkclist.c: `const' fixups and some coding style adaptions.
939
940         * gtk/gtkctree.c (gtk_ctree_insert_node): don't dereference *text
941         if it is passed as NULL.
942
943 Wed Sep  2 22:41:40 1998  Raph Levien  <raph@gimp.org>
944
945         * gdk/gdkrgb.c (gdk_rgb_select_conv): Fixed 32bpp image depth
946         big-endian cases. Added a 4bpp packed gray mode (somewhat
947         incorrectly hardwired to MSB), which should take care of
948         Stric's hardware.
949
950 Thu Sep  3 04:45:57 1998  Tim Janik  <timj@gtk.org>
951
952         * gtk/gtkaccelgroup.c (gtk_accel_group_add): plug another small
953         GtkSIgnalQuery leak.
954
955 Thu Sep  3 04:22:20 1998  Tim Janik  <timj@gtk.org>
956
957         * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current):
958         GTK_MENU_DIR_CHILD: check for the existance of
959         menu_shell->active_menu_item before accessing its child.
960         GTK_MENU_DIR_PREV:
961         GTK_MENU_DIR_NEXT: if we haven't had an active item and still
962         don't, make a default selection.
963
964 Wed Sep  2 00:28:58 1998  Tim Janik  <timj@gtk.org>
965
966         * gtk/gtkwidget.c (gtk_widget_propagate_state): iterate
967         the children with _forall for sensitivity changes and with
968         _foreach on pure state changes. this fixes a lot of the
969         old inclusions of internal widgets into _foreach calls.
970
971         * gtk/gtktree.c: removed gtk_tree_foreach, let gtk_tree_forall
972         do the work. don't walk the subtrees of first level children.
973
974         * gtk/gtktreeitem.c: provide a _forall implementation,
975         which walks the subtrees as well for include_internals.
976
977         * gtk/gtkmenuitem.c: provide a _forall implementation, which walks
978         the submenus as well for include_internals.
979
980         * gtk/gtkscrolledwindow.c: removed gtk_scrolled_window_foreach and
981         implemented gtk_scrolled_window_forall, which will iterate over
982         the viewport and the scrollbars for gtk_container_forall or
983         iterate over the viewports children for gtk_container_foreach.
984
985         * gtk/gtktoolbar.c: 
986         * gtk/gtktable.c: 
987         * gtk/gtkpaned.c:
988         * gtk/gtkpacker.c:
989         * gtk/gtkmenushell.c: 
990         * gtk/gtklist.c: 
991         * gtk/gtkfixed.c:
992         * gtk/gtkclist.c:
993         * gtk/gtkbox.c: 
994         * gtk/gtkbin.c: 
995         * gtk/gtknotebook.c:
996         removed the old gtk_*_foreach functions and provided gtk_*_forall.
997
998         * gtk/gtknotebook.c:
999         (gtk_notebook_real_switch_page): expose tabs.
1000         (gtk_notebook_page_num): new function to return the page number
1001         of a distinct child.
1002         (gtk_notebook_focus): minor fixups. foxus handling is still screwed
1003         under some circumstances.
1004
1005         * gtk/gtktreeitem.c:
1006         (gtk_real_tree_item_select):
1007         (gtk_real_tree_item_deselect): major fixes.
1008         some general fixups wrt queue_redraw, and tree items not being
1009         NO_WINDOW widgets.
1010
1011         * gtk/gtklistitem.c:
1012         (gtk_real_list_item_select): 
1013         (gtk_real_list_item_deselect): 
1014         (gtk_real_list_item_toggle): 
1015         removed unneccessary queue_redraw calls.
1016
1017 Wed Aug 30 09:42:07 1998  Tim Janik  <timj@gtk.org>
1018
1019         * gtk/gtkoptionmenu.c: allow optionmenus to have the focus and
1020         automatically popup the menu on space bar.
1021
1022 Wed Aug 26 06:40:34 1998  Tim Janik  <timj@gtk.org>
1023
1024         * gtk/gtkcontainer.h:
1025         * gtk/gtkcontainer.c: implemented gtk_container_forall() (as a class
1026         method), which acts similar to gtk_container_foreach(), but iterates
1027         over internal children. the GtkContainer::foreach signal vanished in
1028         favour of a new class method ->forall() that optionally includes
1029         internal widgets.
1030
1031         * gtk/gtkclist.c (gtk_clist_init): provide no _foreach implementation
1032         but a _forall implementation, since all child widgets we have are
1033         internal ones.
1034         (column_button_create): set the parent window prior
1035         to gtk_widget_set_parent().
1036
1037         * gtk/gtkwidget.c:
1038         exchanged all calls to gtk_container_foreach() with
1039         gtk_container_forall().
1040
1041         * gtk/gtkwidget.h: 
1042         * gtk/gtkwidget.c: added the GTK_COMPOSITE_CHILD, exported through
1043         the GtkWidget::composite_child argument. to have a widget created
1044         with the flag initially, two new functions got added to wrap a widgets
1045         creation:
1046         gtk_widget_push_composite_flag() and gtk_widget_pop_composite_flag().
1047
1048 Wed Aug 25 23:37:39 1998  Tim Janik  <timj@gtk.org>
1049
1050         * gtk/gtktooltips.h:
1051         * gtk/gtktooltips.c: exported gtk_tooltips_create_window() as
1052         gtk_tooltips_force_window(), so tooltips->tip_window can be accessed
1053         prior to the first tip being set.
1054         don't put an extra reference on the window, since it is a toplevel,
1055         it wont get destroyed from anywhere else.
1056
1057         * overall macro and GtkType fixups.
1058
1059 1998-09-02  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1060
1061         * gtk/gtkcolorsel.c: Replaced "foo == TRUE" and "foo == FALSE"
1062         constructs by more forgiving ones.  (Does anyone else feel like
1063         the color selector need rewriting?).
1064
1065 Tue Sep  1 10:53:52 1998  Owen Taylor  <otaylor@redhat.com>
1066
1067         * gtk/gtkprogress.c (gtk_progress_finalize): Unref
1068         the adjustment.
1069
1070         * gtk/gtkmenu.c: Modified reference counting so
1071         that the reference count from the toplevel that
1072         the menu creates to the menu is invisible to the
1073         application.
1074
1075 Mon Aug 31 21:36:31 1998  Raph Levien  <raph@gimp.org>
1076
1077         * gdk/gdkrgb.c (gdk_rgb_select_conv): Improved the 24bpp
1078         conversion selection logic, so Suns and other big-endian
1079         machines should get faster conv routines. This is also the
1080         point where 4bpp gray and 1bpp are checked in, although I
1081         wouldn't be surprised if 1bpp is a little buggy. This is
1082         synchronized with the 0.0.7 release of GdkRgb.
1083
1084         * gtk/Makefile.am: 
1085         * gtk/testrgb.c: Checked in testrgb.c to CVS, and made the
1086         appropriate change to the Makefile.am
1087
1088 Mon Aug 31 15:18:19 1998  Raph Levien  <raph@gimp.org>
1089
1090         * gdk/gdkrgb.[ch]: Added a gdk_draw_rgb_image_dithalign function,
1091         which is good for images that scroll (makes the dither patterns
1092         align correctly)
1093
1094 Sat Aug 29 14:50:56 PDT 1998 Manish Singh <yosh@gimp.org>
1095
1096         * gdk/gdkcolor.c:
1097         (gdk_colormap_new) (gdk_colormap_get_system):
1098         quell some warnings with g_hash_table_new
1099
1100         * gtk/gtkaccelgroup.c (gtk_accel_group_add): free the GtkSignalQuery
1101         when we're done with it
1102
1103         * gtk/itemfactory.c:
1104         (gtk_item_factory_from_path):
1105         (gtk_item_factory_create_item): free some strings
1106
1107         * gtk/gtklabel.c:
1108         (gtk_label_finalize): free label->pattern when done
1109         (gtk_label_parse_uline): null terminate pattern string, delete
1110         some duplicated code
1111
1112         * gtk/testthreads.c: add #include <unistd.h> for sleep()
1113
1114 Tue Aug 25 16:52:47 1998  Owen Taylor  <otaylor@redhat.com>
1115
1116         * gtk/gtktext.c (recompute_geometry): Make sure the
1117         mark we pass to line start is the beginning of a 
1118         real line, not a wrapped one.
1119
1120 Mon Aug 24 18:37:15 1998  Owen Taylor  <otaylor@redhat.com>
1121
1122         * gtk/gtktext.c: Reference count the fonts used in
1123         the text widget.
1124
1125         * gdk/gdk.h gdk/gdkcolor.c: Rename the color allocation
1126         freeing functions to be more consistent, and more 
1127         convenient; leave the old names in for backwards compatibility.
1128
1129         * gdk/gdkcolor.c gdk/gdkprivate.h: Reference count the
1130         allocations in pseudo-color colormaps to greatly reduce
1131         calls to XAllocColor. Keep a per-colormap hashtable to
1132         speed up finding if there is an already-allocated matching
1133         color.
1134
1135         * gdk/gdkcolor.c: Don't just match read the system colormap
1136         when the colormap is created, but synchronize our copy
1137         with the system colormap periodically.
1138         
1139         * gdk/gdk.c gdk/gdktypes.h gtk/gtkentry.c gtk/gtktext.c: 
1140         Change XIM constants names to match GDK conventions
1141
1142         * gtk/testinput.c: Allow the drawing area to get the focus.
1143
1144         * gtk/testgtk.c: Change around the Text test to demonstrates
1145         multiple fonts, use more colors.
1146
1147         * gtk/gtkwidget.c: Improve gtk_widget_get_colormap()/visual()
1148         so they work after a widget is unrealized.
1149
1150         * gtk/gtktext.[ch]: Remove the requirement that the text
1151         widget be realized before adding text (!) Allocate colors
1152         ourself, instead of requiring the caller allocate them.
1153         Allow changing styles to work properly by keeping track
1154         of the values for a certain property are default or
1155         set explicitely.
1156
1157         * gtk/gtkmenu.h: Added some comments.
1158
1159         * gtk/gtkentry.c: Changes to match XIM constants.
1160
1161         * gtk/gdk.h gdk/gdkwindow.c: Add gdk_drawable_set_data(),
1162         for adding keyed data to drawables. (Uses g_dataset
1163         internally)
1164
1165         * gdk/gdkpixmap.c: Keep track of the colors we allocate,
1166         when creating an XPM - store them as user data for the GdkPixmap,
1167         so we don't leak colors when we create pixmaps from XPM's.
1168
1169         Allocate memory for color information in large blocks instead of 
1170         as many little pieces.
1171         
1172 Mon Aug 24 11:09:32 PDT 1998 Manish Singh <yosh@gimp.org>
1173
1174         * gdk/gdkrgb.c: removed some unused variables
1175
1176         * gtk/gtkclist.c
1177         * gtk/gtkmain.c: #if 0'd out some unused code
1178
1179         * gtk/gtkobject.c: check for NULL object hash table in gtk_object_debug
1180
1181 Mon Aug 24 02:36:53 1998  Tim Janik  <timj@gtk.org>
1182
1183         * gtk/gtkarg.h:
1184         * gtk/gtkarg.c:
1185         * gtk/gtkwidget.h: 
1186         * gtk/gtkwidget.c: 
1187         * gtk/gtkobject.h:
1188         * gtk/gtkobject.c:
1189         * gtk/gtkcontainer.h: 
1190         * gtk/gtkcontainer.c: 
1191         (gtk_object_new):
1192         (gtk_object_set):
1193         (gtk_widget_new):
1194         (gtk_widget_set): 
1195         (gtk_container_add_with_args):
1196         (gtk_container_child_set):
1197         begin the parameter elipsis (...) after the first argument name. this
1198         change is source compatible, since it was always required, even as NULL.
1199         (gtk_args_collect): 
1200         (gtk_object_args_collect): 
1201         (gtk_container_child_args_collect):
1202         changed prototypes to pass first_arg_name, also, pass va_list variable
1203         by value (portability concerns). callers changed.
1204
1205         * gtk/gtkargcollector.c: implemented gtk_arg_collect_value() as
1206         a huge macro GTK_ARG_COLLECT_VALUE() <shrug>. this is needed because we
1207         can't pass va_list variables by reference for portability reasons.
1208
1209 Fri Aug 21 22:40:00  Raph Levien  <raph@gtk.org>
1210
1211         * gdk/gdkrgb.c: added calls to gdk_rgb_init in the get_cmap and
1212         get_visual calls, so that it gets implicitly initialized.
1213
1214 Fri Aug 21 13:06:04 1998  Stuart Parmenter  <pavlov@gimp.org>
1215         * gtk/gtkfeatures.h.in:  added GTK_HAVE_FEATURES_1_1_2 for changes
1216         such as GtkCTree function name changes
1217         
1218 Fri Aug 21 02:31:26 1998  Tim Janik  <timj@gtk.org>
1219
1220         * gtk/gtkmain.h:
1221         * gtk/gtkmain.c (gtk_check_version): added a function to perform a
1222         binary version check, returning a static string for error descriptions,
1223         or NULL on success.
1224
1225 Thu Aug 20 20:08:15 1998  Owen Taylor  <otaylor@redhat.com>
1226
1227         * gtk/gtktext.c ([un]draw_cursor): Check to see if we've
1228         computed our geometry yet, and if not, ignore the request.
1229
1230         * gtk/gtktext.c (correct_cache_insert): Fiddled around
1231         some more. All the bug-test codes seem to work at once
1232         now. (fingers crossed...)
1233
1234 Thu Aug 20 13:04:08 PDT 1998 Manish Singh <yosh@gimp.org>
1235
1236         * gdk/gdkrgb.c: silly visual fixes
1237
1238         * gtk/testgtk.c: call gdk_rgb_init so color preview test actually
1239         works
1240
1241 1998-08-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1242
1243         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Do not do
1244         anything if the event's window is not the bin window.
1245         (gtk_handle_box_motion): Likewise.
1246
1247 1998-08-19  Raph Levien  <raph@gimp.org>
1248
1249         * gtk/testgtk.c (create_color_preview): pushed the colormap and
1250         visual so it would work better with GdkRgb.
1251
1252 1998-08-19  Raph Levien  <raph@gimp.org>
1253
1254         * gdk/gdkrgb.c: fixed some bugs in the 565_d mode, and added a
1255         4bpp static_color mode (for vga displays). Also fixed a '64' value
1256         in the dither matrix, which was causing one pixel out of 16k to be
1257         dithered wrong.
1258
1259         * gtk/gtkpreview.{c,h}: Changed it to work with GdkRgb, gutting
1260         most of the contents. This is an API change - any apps that relied
1261         on the internal structure of GtkPreview will need some change -
1262         most notably in the use of reserved colors. The Gimp needed
1263         changes in this regard.
1264
1265 Wed Aug 19 00:11:14 1998  Tim Janik  <timj@gtk.org>
1266
1267         * gtk/gtkmain.c (gtk_init): allow argument parsing in gtk without
1268         G_ENABLE_DEBUG being defined (specifically --gtk-module= and
1269         --g-fatal-warnings), noticed by miguel.
1270
1271 Tue Aug 18 17:54:40 1998  Tim Janik  <timj@gtk.org>
1272
1273         * gtk/gtkrc.c (gtk_rc_parse_file): use g_get_current_dir() instead of
1274         getcwd().
1275
1276         * gdk/gdkprivate.h:
1277         * gdk/gdkglobals.c:
1278         * gdk/gdkwindow.c:
1279         * gdk/gdk.c:
1280         * gtk/gtkwindow.c: 
1281         * gtk/gtkitemfactory.c: 
1282         dropped gdk_progname, use g_get_prgname()/g_set_prgname() instead.
1283
1284         * gtk/gtkselection.c:
1285         * gtk/gtkpreview.c:
1286         * gtk/gtkobject.c: 
1287         * gtk/gtkmain.c: 
1288         * gtk/gtktypeutils.c: indentation fixes due to g_message() use.
1289
1290         * gdk/gdkrgb.c: exchanged occourances of g_print with g_message.
1291
1292 Tue Aug 18 17:22:22 1998  Lars Hamann  <lars@gtk.org>
1293
1294         * gtk/gtknotebook.c (gtk_notebook_switch_focus_tab): 
1295         * gtk/gtknotebook.c (gtk_notebook_update_labels): fix for sigsegv
1296         in case of show_tabs == NULL
1297
1298 Tue Aug 18 03:54:43 1998  Tim Janik  <timj@gtk.org>
1299
1300         * gtk/gtkmain.c (gtk_init): restricted the --g*fatal-* arguments
1301         to --g-fatal-warnings again. this option now causes log levels of
1302         WARNING and CRITICAL to abort().
1303
1304         * gdk/gdk.c: 
1305         * gdk/gdkdnd.c: 
1306         * gdk/gdkcc.c: 
1307         * gdk/gdkfont.c: 
1308         * gdk/gdkwindow.c:
1309         * gdk/gdkvisual.c:
1310         * gtk/gtkwidget.c:
1311         * gtk/gtktypeutils.c:
1312         * gtk/gtktree.c:
1313         * gtk/gtkfontsel.c:
1314         * gtk/gtkmain.c:
1315         * gtk/gtkobject.c:
1316         * gtk/gtkpreview.c:
1317         * gtk/gtkselection.c:
1318         * gtk/gtktext.c:
1319         * gtk/gtktree.c:
1320         * gtk/gtktreeitem.c:
1321         did a global search&replace to substitute g_print() calls with
1322         g_message(). libraries shouldn't use printf(), g_print() or
1323         g_printerr() at all.
1324         a bunch of the replacements should probably be wrapped into the
1325         G{D|T}K_NOTE() macros, so they are special cased for debugging
1326         purposes in a sane way, avoiding all the nasty #ifdef DEBUG_MY_TEDDY
1327         things.
1328
1329         * gdk/gdkdnd.c: added copyright notice.
1330
1331 Mon Aug 17 17:28:00  Raph Levien  <raph@gtk.org>
1332
1333         * gdk/gdkrgb.c: Further speedups of the 565_d case. It's
1334         impressively fast now - about 4.65 Mpix/s on an IBM TP 600
1335         running a PII 233. It's synced with the 0.0.5 release of
1336         GdkRgb.
1337
1338 Tue Aug 18 00:29:13 1998  Lars Hamann  <lars@gtk.org>
1339
1340         * gtk/gtkclist.h:
1341         (struct _GtkCListClass): new class methods:
1342         (sort_list) (insert_row) (remove_row) (set_cell_contents)
1343
1344         * gtk/gtkclist.c :
1345         (cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
1346         removed and replaced by (set_cell_contents)
1347         (set_cell_contents): function for class method set_cell_contents
1348         (real_insert_row): function for class method insert_row
1349         (real_remoce_row): function for class method remove_row
1350         (real_sort_list): function for class method sort_list
1351         (default_compare): fix to avoid problems with cell types != CELL_TEXT
1352
1353         * gtk/gtkctree.h :
1354         (gtk_ctree_export_to_gnode): new function to export a ctree as gnode 
1355         (gtk_ctree_node_is_visible): new function to return visibility state
1356         of a node
1357         (gtk_ctree_show_stub): new function to set visibility of root stub
1358
1359         renamed functions :
1360         (gtk_ctree_insert) -> (gtk_ctree_insert_node)
1361         (gtk_ctree_remove) -> (gtk_ctree_remove_node)
1362         (gtk_ctree_find_glist_ptr) -> (gtk_ctree_find_node_ptr)
1363         (gtk_ctree_set_text) -> (gtk_ctree_node_set_text)
1364         (gtk_ctree_set_pixmap) -> (gtk_ctree_node_set_pixmap)
1365         (gtk_ctree_set_pixtext) -> (gtk_ctree_node_set_pixtext)
1366         (gtk_ctree_set_shift) -> (gtk_ctree_node_set_shift)
1367         (gtk_ctree_get_cell_type) -> (gtk_ctree_node_get_cell_type)
1368         (gtk_ctree_get_text) -> (gtk_ctree_node_get_text)
1369         (gtk_ctree_get_pixmap) -> (gtk_ctree_node_get_pixmap)
1370         (gtk_ctree_get_pixtext) -> (gtk_ctree_node_get_pixtext)
1371         (gtk_ctree_set_foreground) -> (gtk_ctree_node_set_foreground)
1372         (gtk_ctree_set_background) -> (gtk_ctree_node_set_background)
1373         (gtk_ctree_set_row_data) -> (gtk_ctree_node_set_row_data)
1374         (gtk_ctree_set_row_data_full) -> (gtk_ctree_node_set_row_data_full)
1375         (gtk_ctree_get_row_data) -> (gtk_ctree_node_get_row_data)
1376         (gtk_ctree_moveto) -> (gtk_ctree_node_moveto)
1377         (gtk_ctree_sort) -> (gtk_ctree_sort_node)
1378         (gtk_ctree_is_visibe) -> (gtk_ctree_is_viewable)
1379
1380         * gtk/gtkctree.c :
1381         (cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
1382         removed and replaced by (set_cell_contents)
1383         (set_cell_contents): function for class method set_cell_contents
1384         (real_insert_row): function for class method insert_row
1385         (real_remoce_row): function for class method remove_row
1386         (real_sort_list): function for class method sort_list
1387         (default_compare): removed. CTree now also compares two GtkCTreeRows
1388         instead of two GtkCTreeNodes.
1389         (gtk_ctree_unlink): call gtk_ctree_collapse if parent is empty after
1390         unlinking the node
1391         (real_tree_expand) (real_tree_collapse): fix for refcounting of
1392         node pixmaps
1393         (set_node_info): call gtk_ctree_node_set_pixtext instead of
1394         manipulating the row itself
1395         
1396         * gtk/testgtk.c: use renamed functions of GtkCTree.
1397         new sample to show gtk_ctree_export_to_gnode and gtk_ctree_insert_gnode
1398         at work.
1399
1400 Mon Aug 17 15:31:38 1998  Tim Janik  <timj@gtk.org>
1401
1402         * gtk/gtkmain.c: removed gtk_input_add_interp.
1403
1404         * gtk/gtkeditable.c (gtk_editable_set_position): fixed bogus "return"
1405         keyword.
1406         (gtk_editable_get_event_time): fix default: case.
1407
1408         * gtk/gtkclist.c (gtk_clist_swap_rows): fixes for lvalue casts.
1409
1410         * gdk/gdkpixmap.c: made a bunch of unexported functions static.
1411
1412         * gdk/gdkcolor.c:
1413         * gdk/gdkvisual.c: include "gdkx.h", since it exports prototypes
1414         of our functions.
1415
1416         * various minor compilation cleanups, such as bogus commas in
1417         enums and similar things.
1418
1419 Mon Aug 17 07:47:43 1998  Tim Janik  <timj@gtk.org>
1420
1421         * gtk/gtkmain.c (gtk_init): NULL terminate the arg list to g_strconcat()
1422         (thanx raph).
1423
1424 Sun Aug 16 23:14:20 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1425
1426         * NEWS: updated for 1.1.2
1427         * gtk+.spec: version = 1.1.2
1428
1429 Mon Aug 17 05:10:29 1998  Tim Janik  <timj@gtk.org>
1430
1431         * gtk/gtkmain.c (gtk_init): don't call module initializers multiple
1432         times. changed --gtk-with-module to --gtk-module at owen's request.
1433
1434 Mon Aug 17 03:47:55 1998  Tim Janik  <timj@gtk.org>
1435
1436         * gtk/gtkmain.c (gtk_init): feature a new commandline option
1437         --gtk-with-module=<module> that allows additional loading and
1438         initialization of modules (e.g. GLE).
1439
1440 Mon Aug 17 01:40:00 1998  Tim Janik  <timj@gtk.org>
1441
1442         * configure.in: version bump to 1.1.2, binary age 0, interface age 0.
1443         pass "gmodule" to AM_PATH_GLIB, with that we require libgmodule.so now.
1444
1445         * gtk/gtkmain.c (gtk_init): since glib's g_return*_if_fail macros log
1446         with G_LOG_LEVEL_CRITICAL now, i added "--g-fatal-checks",
1447         "--gdk-fatal-checks" and "--gtk-fatal-checks". that makes up six
1448         different *-fatal-* arguments now. this needs to be revised and
1449         compressed to a reasonable amount of arguments.
1450
1451 Sun Aug 16 20:51:59 1998  Tim Janik  <timj@gtk.org>
1452
1453         * gtk/gtkmain.c (gtk_init): fatal warning option is split up now,
1454         "--g-fatal-warnings" causes fatal warnings in GLib,
1455         "--gdk-fatal-warnings" causes fatal warnings in Gdk,
1456         "--gtk-fatal-warnings" causes fatal warnings in Gtk.
1457
1458         * gtk/Makefile.am: define G_LOG_DOMAIN for gtk.
1459         * gdk/Makefile.am: define G_LOG_DOMAIN for gdk.
1460
1461         * gtk/testgtk.c: 
1462         * gdk/gxid.c:
1463         we need ugly #undef G_LOG_DOMAIN at the start of these files currently,
1464         since automake doesn't support per target _CFLAGS yet.
1465
1466         * configure.in: require GLib 1.1.3.
1467
1468 Sat Aug 15 03:19:30 1998  John Ellis  <johne@bellatlantic.net>
1469
1470         * gtk/gtkctree.[ch] (gtk_ctree_set_drag_compare_func): New function
1471         to set a callback to test if a node in drag can be dropped onto
1472         it's currrent location.
1473         * gtk/gtkctree.c (set_mouse_cursor),(check_cursor): New functions
1474         to change the pointer when a drag destination is not allowed.
1475
1476 Thu Aug 13 21:06:00 1998  Raph Levien  <raph@gtk.org>
1477
1478         * gdk/gdkrgb.c: committing a patch by Ray Lehtiniemi that
1479         speeds up the 565_d case by about 25% total. Thanks Ray!
1480
1481 Thu Aug 13 16:47:44 1998  Owen Taylor  <otaylor@redhat.com>
1482
1483         * Changed GtkSignalFunc back to () from (void). (again!)
1484
1485         * Added file README.cvs-commits
1486         
1487 Thu Aug 13 09:11:11 BST 1998  Tony Gale  <gale@gtk.org>
1488
1489         * docs/gtk_tut.sgml:
1490           - Tidy up of the menufactory example from
1491             Andy Kahn <kahn@zk3.dec.com>
1492           - New section on Range Widgets from
1493             David Huggins-Daines <bn711@freenet.carleton.ca>
1494           - Started a new section on 'Advanced Event and Signal
1495             Handling' - used an email from Owen.
1496           - New appendix on Gdk Event Types
1497           - Added the tictactoe full example code to the
1498             'Code Examples' appendix
1499
1500 Tue Jul 21 12:42:01 1998  Owen Taylor  <otaylor@redhat.com>
1501
1502         * gdk/gdk.h gdk/gdkfont.c: Added gdk_text/string_extents() - 
1503           to calculate all the metrics at once of a string, including
1504           things which weren't calculated before.
1505
1506         * gtk/Makefile.am gtk/gtk.h gtk/gtktearoffmenu.[ch]: New
1507           MenuItem type, that when put as the first thing in a
1508           menu, makes the menu tearoff. Currently drawn as a
1509           dashed line.
1510
1511         * gtk/gtkmenuitem.h gtk/gtkcheckmenuitem.c: Added a flag
1512           "hide_on_activate" to the MenuItem class structure to allow
1513           check and radio buttons to be changed with <Space> without
1514           hiding the menu.
1515
1516         * gtk/gtkitemfactory.c: 
1517           - Create a AccelGroup for each MenuShell we create.
1518           - If an '_' appears before a  character 'c' in the path,
1519             then make 'c' an accelerator in the menu's accel group,
1520             and if the menuitem is menubar <alt>C an accelerator 
1521             in the itemfactory's accel group. Double '__' inserts
1522             a literal '_'
1523
1524         * gtk/gtklabel.[ch]: Add support for a pattern arg - 
1525           which is a string. If an '_' appears in this string,
1526           the corresponding position in the label is underlined.
1527
1528           Add gtk_label_parse_uline() convenience function which
1529           takes a string with embedded underlines, sets the
1530           pattern and label, and returns the accelerator keyval.
1531
1532         * gtk/gtkmenu.[ch]: Make menus no longer a toplevel widget.
1533           Instead, they create a GtkWindow and add themselves
1534           to that. (When torn off, another new feature, they
1535           create another GtkWindow to hold the torn off menu)
1536
1537           New function gtk_menu_set_tearoff_state()
1538         
1539         * gtk/gtkenums.h gtk/gtkmenushell.[ch] gtk/gtkenums.h: 
1540           Added action signals  for keyboard navigation of menus.
1541
1542         * gtk/gtkmenushell.c: Key press handler which activates
1543           bindings for navigation, and accelerators, for handling
1544           underline accelerators. Exported functions to select 
1545           and activate menu items in a menushell.
1546
1547         * gtk/testgtk.c: Added a new "Item Factory" test which
1548           tests GtkItemFactory and the new keyboard navigation
1549           of menus.
1550
1551 Tue Aug 11 20:52:58 1998  Tim Janik  <timj@gtk.org>
1552
1553         * gtk/gtktypeutils.c (gtk_type_class_init): relookup nodes after
1554         external functions have been called. also relookup nodes after
1555         this function has been invoked.
1556
1557 Tue Aug 11 15:04:52 1998  Owen Taylor  <otaylor@redhat.com>
1558
1559         * gtk/gtktext.[ch]: Removed has_cursor, set the cursor
1560           beginning of Text when creating the Text widget.
1561
1562         * gtk/testgtk.c: Grab the focus on the text widget so
1563           as to test out the above.
1564
1565 Tue Aug 11 14:55:00 1998  Owen Taylor  <otaylor@redhat.com>
1566
1567         * gtk/gtkeditable.c: Reverted part of timj's change of Jul 16. 
1568           ::changed is a notification signal and should have no default
1569           handler. A complete redraw of the Text widget does _not_ need to
1570           be done on every text insertion.
1571
1572 Tue Aug 11 13:07:29 1998  Owen Taylor  <otaylor@redhat.com>
1573         (gtk-abilleira-072198-patch)
1574
1575         * gtk/gtkwindow.[ch]: 
1576           Add gtk_window_set_modal() which sets a flag; when
1577           set the window does a gtk_grab_add() when the window
1578           is shown, and a gtk_grab_remove() when the window
1579           is hidden. 
1580
1581         * gtk/gtkfilesel.[ch]: Test if it is running in modal form and in
1582           that case will run "Create Dir","Delete File" and "Rename File" 
1583           dialogs as modal too.
1584
1585         * gtk/testgtk.c: Added a button with an example of creating modal 
1586           dialog boxes. Including file selection and color selection standard
1587           dialogs.
1588         
1589 Tue Aug 11 00:44:47 1998  Owen Taylor  <otaylor@redhat.com>
1590
1591         * gtk/gtkhscrollbar.c gtk/gtkvscrollbar.c gtk/gtktoolbar.c:
1592           Removed CAN_FOCUS by default from scrollbars, button
1593           children of toolbar. (But not GTK_TOOLBAR_CHILD_WIDGET children)
1594           (Scrollbar definitely good change, toolbar bit more questionable)
1595
1596 Tue Aug 11 17:49:33 1998  Tim Janik  <timj@gtk.org>
1597
1598         * examples/packbox/packbox.c: #include fixes (reported by Asbjoern
1599         Pettersen).
1600
1601 Tue Aug 11 00:35:56 1998  Owen Taylor  <otaylor@redhat.com>
1602
1603         * gdk/gdkgc.c gdk/gdktypes.h: Applied gtk-pedersen-980727-0; 
1604           added all logical operations to gc->function.
1605
1606 Sun Aug  9 23:31:59 1998  Lars Hamann  <lars@gtk.org>
1607
1608         * gtk/gtkclist.c (adjust_scrollbars): Fix for resize bug. Call
1609         gtk_widget_size_allocate instead of gtk_widget_queue_resize
1610         if the visibility state of a scrollbar changes.
1611
1612 Mon Aug 10 12:49:54 1998  Tim Janik  <timj@gtk.org>
1613
1614         * gtk/gtkhbbox.h: fixed an #include statement (reported by Eric Kidd).
1615
1616 Thu Aug  6 22:37:21 1998  Stefan Jeske  <stefan@gtk.org>
1617
1618         * gtk/gtkclist.c: Renamed my_merge and my_mergesort to
1619         gtk_clist_merge and gtk_clist_mergesort. :)
1620
1621 1998-08-06  Martin Baulig  <martin@home-of-linux.org>
1622
1623         * gtk/gtkclist.c: Renamed `merge' -> `my_merge' and
1624         `mergesort' -> `my_mergesort'.
1625
1626 Wed Aug  5 21:12:37 1998  Stefan Jeske  <stefan@gtk.org>
1627
1628         * gtk/gtkenums.h: new enum GtkSortType.
1629         
1630         * gtk/gtkclist.h:
1631         * gtk/gtkclist.c:
1632         Added sorting capabilities to GtkCList. New APIs :
1633         gtk_clist_set_compare_func, gtk_clist_set_sort_column,
1634         gtk_clist_set_sort_type, gtk_clist_sort, gtk_clist_set_auto_sort. 
1635         New internal functions : default_compare, merge, mergesort.
1636
1637         (gtk_clist_append): This is just a wrapper for gtk_clist_insert now.
1638         
1639         (gtk_clist_insert): Modified to handle gtk_clist_append and the
1640         auto sort flag. Changed the return value from void to gint to
1641         return the row number where the element was actually inserted.
1642
1643         (gtk_clist_swap_rows): Return immediately if auto sort flag is set.
1644         
1645         * gtk/gtkctree.h:
1646         * gtk/gtkctree.c:
1647         Removed the auto_sort flag, replaced ctree->node_compare with
1648         clist->compare all over the place, modified default_compare to
1649         match clist's needs. Removed API´s : gtk_ctree_set_auto_sort,
1650         gtk_ctree_set_compare_func. Removed GtkCTreeCompareFunc typedef.
1651
1652         * gtk/testgtk.c: Modified clist/ctree samples to demonstrate
1653         sorting. The lists can be sorted by a column by clicking the 
1654         corresponding title button.
1655         
1656 Tue Aug  4 22:02:49 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
1657
1658         * Released GTK+ 1.1.1
1659
1660 Wed Aug  5 02:57:20 1998  Lars Hamann  <lars@gtk.org>
1661
1662         * gtk/gtkctree.h:
1663         * gtk/gtkctree.c:
1664         (gtk_ctree_find): changed to return a gboolean
1665         (gtk_ctree_insert_gnode): new function for recursive insertion of a
1666         GNode tree.
1667         (gtk_ctree_real_select_recursive): fix for extended selection
1668         (gtk_ctree_sort_recursive): in case node == NULL, sort root nodes too.
1669         (gtk_ctree_set_node_info) (set_node_info): few fixes for expanded flag
1670
1671 Tue Aug  4 16:18:26 1998  Tim Janik  <timj@gtk.org>
1672
1673         * configure.in: version bump to 1.1.1, binary age 0, interface age 0.
1674         GLib version 1.1.1 is now required at minimum.
1675
1676         * docs/Makefile.am: added gtk_tut_fr.sgml to EXTRA_DIST (french version
1677         of the Gtk+ tutorial, contributed by Eric Jacoboni <jaco@dotcom.fr>.
1678
1679 Mon Aug  3 19:24:48 1998  Owen Taylor  <otaylor@redhat.com>
1680  
1681         * gtk/gtktext.c (gtk_text_forward_delete): Undraw the
1682           cursor before (possibly) deleting the cursor's text
1683           property.
1684  
1685         * gtk/gtktext.c (correct_cache_delete): More attempts
1686           to clean the line-start cache up after inserting
1687           a property. Among other things, make sure to
1688           fix up text->current_line, since it is used to 
1689           refetch the changed lines.
1690  
1691 Tue Aug  4 10:59:19 1998  Owen Taylor  <otaylor@redhat.com>
1692
1693         * gtk/gtktable.[ch]: Empty rows/columns of the table
1694         should not have been marked as being able to shrink.
1695         (Fixes problem with shrinking scrollbarless GIMP canvases)
1696
1697 1998-08-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1698
1699         * gtk/gtkctree.c (gtk_ctree_find_by_row_data_custom): New public
1700         function to find a row by its data pointer using a custom
1701         comparison function.
1702
1703 Sun Aug 02 22:58:00 1998  George Lebl  <jirka@5z.com>
1704
1705         * gtk/gtkclist.c: draw the buttons during a "draw" as well,
1706           this fixes a bug when the whole widget is made non-sesitive
1707           the buttons weren't redrawn
1708
1709 Mon Aug  3 00:04:09 1998  Lars Hamann  <lars@gtk.org>
1710
1711         * gtk/gtkclist.c (abort_column_resize): reset drag_pos after abort
1712         * gtk/gtkclist.c (gtk_clist_key_press): removed a few unneeded lines
1713         * gtk/gtkcombo.c (gtk_combo_list_key_press): fixed compiler warning
1714
1715 Sun Aug  2 03:08:07 1998  Owen Taylor  <otaylor@gtk.org>
1716
1717         * gdk/gdkwindow.c (gdk_window_reparent): Change 
1718           window_private->parent pointer when reparenting.
1719
1720 Sat Aug  1 22:17:00 1998  Raph Levien  <raph@acm.org>
1721
1722         * gdk/gdkrgb.c: made some minor config changes to unify GdkRgb
1723         with the standalone release.
1724
1725 Fri Jul 31 20:45:07 1998  Lars Hamann  <lars@gtk.org>
1726
1727         * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_motion)
1728         (gtk_clist_button_release) (new_column_width): Few fixes for
1729         column resize. Store resize column in clist->drag_pos.
1730
1731 Thu Jul 31 15:18:36 1998  Lars Hamann  <lars@gtk.org>
1732
1733         * gtk/gtkctree.h 
1734         * gtk/gtkctree.c 
1735         * gtk/testgtk.c : New typedef GtkCTreeNode, changed all GList *node
1736         to GtkCTreeNode *node.
1737
1738         * gtk/gtklist.h : added extended selection mode and auto scrolling.
1739         (struct _GtkList): removed unneeded variables timer, button,
1740         selection_start_pos, selection_end_pos, scroll_direction, have_grab.
1741         Added new variables undo_selection, undo_unselection, last_focus_child,
1742         undo_focus_child, htimer, vtimer, anchor, drag_pos, anchor_state,
1743         drag_selection, add_mode.
1744  
1745         New functions :
1746         (gtk_list_extend_selection), (gtk_list_start_selection),
1747         (gtk_list_end_selection), (gtk_list_select_all),
1748         (gtk_list_unselect_all), (gtk_list_scroll_horizontal),
1749         (gtk_list_scroll_vertical), (gtk_list_toggle_add_mode),
1750         (gtk_list_toggle_focus_row), (gtk_list_toggle_row),
1751         (gtk_list_undo_selection), (gtk_list_end_drag_selection)
1752         
1753         * gtk/gtklist.c : 
1754         (gtk_list_enter_notify): removed, because auto scrolling now works
1755         with gtk_list_motion_notify
1756  
1757         New functions, needed for auto scrolling :
1758         (gtk_list_motion_notify) (gtk_list_move_focus_child)
1759  
1760         New functions for extended selection support :
1761         (gtk_list_set_anchor), (gtk_list_fake_unselect_all),
1762         (gtk_list_fake_toggle_row), (gtk_list_update_extended_selection),
1763         (gtk_list_focus_lost)
1764         
1765         (gtk_list_set_focus_child): modified gtk_container_set_focus_child
1766         function to support auto scrolling, and avoid out-of-sync errors in
1767         case auf GTK_SELECTION_BROWSE
1768         (gtk_list_focus): modified gtk_container_focus function to avoid out
1769         off sync errors in case auf GTK_SELECTION_EXTENDED
1770
1771         * gtk/gtklistitem.h 
1772         * gtk/gtklistitem.c :
1773         New signal functions for key binding support :
1774         (toggle_focus_row), (select_all), (list_item), (unselect_all)
1775         (list_item), (undo_selection), (start_selection), (end_selection)
1776         (extend_selection), (scroll_horizontal), (scroll_vertical),
1777         (toggle_add_mode)
1778         (gtk_list_item_realize): added  GDK_KEY_PRESS_MASK |
1779         GDK_KEY_RELEASE_MASK
1780         (gtk_list_item_draw_focus): modify gc if parent has add_mode set.
1781  
1782         * gtk/gtkcombo.c :
1783         (gtk_combo_popup_button_press):  grab pointer for combo->list
1784         (gtk_combo_button_release): ungrab only if combo->popwin HAS_GRAB
1785         (gtk_combo_list_key_press): take care of which child HAS_GRAB
1786         (gtk_comb_init): don't connect combo->button with button_release_event
1787
1788 Thu Jul 30 12:39:36 1998  Lars Hamann  <lars@gtk.org>
1789
1790         * gtk/gtkclist.c (gtk_clist_motion): removed a few unneeded lines
1791
1792 Wed Jul 29 23:31:50 1998  Lars Hamann  <lars@gtk.org>
1793
1794         * gtk/gtkclist.c (gtk_clist_motion): column resize now works with
1795         horizontal autoscrolling, GtkCTree's 'reorder ability' now works
1796         with horizontal and vertical autoscrolling.
1797
1798 Tue Jul 28 20:32:03 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1799
1800         * gtk/docs/man: new directory
1801         * gtk/docs/man/gtk_button.pod: new file, initial gtk_button man page
1802
1803 Tue Jul 28 00:03:20 1998  Lars Hamann  <lars@gtk.org>
1804
1805         * gtk/gtknotebook.c (gtk_notebook_paint): small fix for border drawing
1806         bug
1807
1808 Mon Jul 27 09:18:13 BST 1998  Tony Gale  <gale@gtk.org>
1809
1810         * docs/gtk_tut.sgml: GtkTree section from
1811           David Huggins-Daines <bn711@freenet.carleton.ca>,
1812           add a GtkText widget example
1813         * examples/text/* example/tree/* : new examples for the
1814           GtkTree and GtkText widgets
1815         * docs/gtk_tut.sgml: added an appendix to hold complete code
1816           examples that aren't in a full form elsewhere in the
1817           tutorial (e.g. scribble)
1818
1819 Mon Jul 27 00:46:21 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1820
1821         * Released GTK+ 1.1.0
1822
1823 Mon Jul 27 04:18:26 1998  Tim Janik  <timj@gtk.org>
1824
1825         * gtkfeatures.h.in: revamped the definitions for 1-1-0, so that all
1826         the new API stuff is reflected in one #define GTK_HAVE_FEATURES_1_1_0.
1827
1828 Mon Jul 27 03:11:20 1998  Tim Janik  <timj@gtk.org>
1829
1830         * gtk/gtkbindings.c (binding_compose_params): fixup, so that enum
1831         values are looked up.
1832
1833         * gtk/gtktypeutils.h:
1834         * gtk/gtktypeutils.c: new functions gtk_type_flags_find_value and
1835         gtk_type_enums_find_value to lookup enum values.
1836
1837         * gtk/gtkctree.h: 
1838         * gtk/gtkctree.c: change enum name from GtkCTreeExpansion to
1839         GtkCTreeExpansionType. fixed signal creations to pass the enum
1840         types not just the base type GTK_TYPE_ENUM.
1841
1842         * gtk/gtkclist.h: 
1843         * gtk/gtkclist.c: fixed signal creations to pass the real enum
1844         types not just the base type GTK_TYPE_ENUM.
1845
1846 Sun Jul 26 14:50:07 1998  Stefan Jeske  <stefan@gtk.org>
1847
1848         * gtk/testgtk.c : 
1849         Began cleanup, e.g. use gtk_widget_show_all instead of many 
1850         gtk_widget_show's. Completely rewrote the button box sample
1851         (only one window now). Removed "miscellaneous" button.
1852
1853 Sun Jul 26 14:48:14 1998  Stefan Jeske  <stefan@gtk.org>
1854
1855         * gtk/gtkvbbox.c (gtk_vbutton_box_size_allocate): 
1856         Fixed wrong allocation for GTK_BUTTONBOX_END.
1857         (allocation->x  =>  allocation->y)
1858
1859 Sun Jul 26 14:06:37 1998  Lars Hamann  <lars@gtk.org>
1860
1861         * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_button_release)
1862         (abort_column_resize) (gtk_clist_key_press): fix for pointer grab
1863         
1864         * gtk/gtkctree.c (real_tree_select): added check to avoid double
1865         selected rows
1866         (gtk_ctree_button_press)
1867         (gtk_ctree_button_release): fix for pointer grab
1868
1869 Sat Jul 25 13:16:00 1998 Damon Chaplin  <DAChaplin@msn.com>
1870
1871         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): 
1872         Fixed initialization problem - dirty memory could cause problems.
1873         Also checked that bitmapped fonts can be scaled when showing the
1874         available sizes.
1875
1876 Sat Jul 25 02:25:03 1998  Lars Hamann  <lars@gtk.org>
1877
1878         * gtk/gtkctree.c (gtk_ctree_sort_recursive)
1879         (gtk_ctree_sort_recursive): test for node != NULL
1880         (gtk_ctree_is_visible) (gtk_ctree_realize) (gtk_ctree_unrealize)
1881         (gtk_ctree_last) : added sanity checks
1882         * gtk/gtkclist.c (gtk_clist_button_press): removed "no_focus_row"
1883
1884 Fri Jul 24 18:15:49 1998  Lars Hamann  <lars@gtk.org>
1885
1886         * gtk/gtkclist.c (toggle_focus_row): mini code cleanup
1887
1888 Fri, 24 Jul 1998 10:56:22 +0200 Paolo Molaro <lupus@debian.org>
1889
1890         * gtk/gtkfeatures.h.in: added GTK_HAVE_ENUM_VALUE_STRUCT.
1891
1892 Thu Jul 23 00:11:39 1998  Tim Janik  <timj@gtk.org>
1893
1894         * gtk/testgtkrc: introduce testbindings on C-1 for buttons,
1895         to check out binding priorities. someone should really write
1896         gtkrc-mode for emacs.
1897
1898         * gtk/gtkwidget.c (gtk_widget_class_init): remove ugly bindings test.
1899         * gtk/testgtk.c (main): and move it here ;). this test says something
1900         on release of C-9. (this works only if the mouse pointer is on a
1901         spinbutton and there is no focus widget).
1902
1903         * gtk/gtkrc.h:
1904         * gtk/gtkrc.c:
1905         export gtk_rc_parse_color, gtk_rc_parse_state and a new function
1906         gtk_rc_parse_priority to parse path priority types.
1907         export rc tokens.
1908         feature binding parsing.
1909
1910 Wed Jul 22 23:41:17 1998  Tim Janik  <timj@gtk.org>
1911
1912         * gtk/gtkbindings.h: 
1913         * gtk/gtkbindings.c: new function gtk_binding_parse_binding() to
1914         feature binding parsing in rc files.
1915         * gtk/gtkbindings.c (gtk_binding_set_new): bug fix.
1916         * gtk/gtkbindings.c (gtk_binding_pattern_compare): bug fix, we used to
1917         order the bindings with lowest priority first.
1918
1919 Wed Jul 22 15:21:08 PDT 1998 Manish Singh <yosh@gimp.org>
1920
1921         * gdk/gdkrgb.c: actually builds and runs properly on big
1922         endian machines now, because we #include config.h. Also
1923         fixed up a compile error in the WORDS_BIGENDIAN case in
1924         gdk_rgb_convert_565_gray. I made the fix by looking at
1925         patterns in the other code; Raph can you verify this?
1926
1927         * gdk/gdkthreads.c: #include <unistd.h> to quell compiler
1928         warnings
1929
1930 Wed Jul 22 23:00:44 1998  Lars Hamann  <lars@gtk.org>
1931
1932         * gtk/gtkctree.c (tree_select/unselect) (tree_expand/collapse) 
1933         (tree_toggle_expansion) (real_select/unselect_row)
1934         (gtk_ctree_select/unselect) : few fixes for gtk_signal_emits
1935
1936 Wed Jul 15 17:44:47 1998  Owen Taylor  <otaylor@redhat.com>
1937
1938         * gtk/gtktext.c (new_text_property): We free things from
1939         the text property MemChunk, so it needs to be G_ALLOC_AND_FREE.
1940
1941         * Fix up line start cache when splitting a property
1942         during an insert.
1943
1944 Wed Jul 15 21:15:52 1998  Owen Taylor  <otaylor@redhat.com>
1945
1946         * gtk/gtkwidget.c: restauration => restoration
1947
1948 Thu Jul 16 20:11:36 1998  Owen Taylor  <otaylor@redhat.com>
1949
1950         * gdk/gdkxid.c (gdk_xid_table_lookup): If xid_ht
1951         hasn't been created yet, don't do the lookup.
1952
1953 1998-07-20  Raph Levien  <raph@acm.org>
1954
1955         * gdk/gdkrgb.c: More cleanups in the config process.
1956
1957 1998-07-20  Raph Levien  <raph@acm.org>
1958
1959         * gdkrgb.c: Fixed minor config bug preventing big-endian
1960         architectures from working.
1961
1962 Tue Jul 21 06:32:43 1998  Stefan Jeske  <stefan@gtk.org>
1963
1964         * gtk/gtkprogressbar.{c,h} gtk/testgtk.c: Fixed wrong size of
1965         activity indicator. It is settable now as a fraction of the
1966         total width/height using gtk_progress_bar_set_activity_blocks.
1967         Renamed gtk_progress_bar_set_number_of_blocks to
1968         gtk_progress_bar_set_discrete_blocks.
1969
1970 Mon Jul 20 21:28:18 1998  Lars Hamann  <lars@gtk.org>
1971
1972         * gtk/gtkctree.c (gtk_ctree_post_recursive_to_depth)
1973         (gtk_ctree_pre_recursive_to_depth): new functions, recursive process
1974         tree to specified depth
1975         (gtk_ctree_expand_to_depth): expand tree to specified depth
1976         (gtk_ctree_collapse_to_depth): collapse all nodes with level >= depth
1977
1978 Sun Jul 19 23:51:05 1998  Lars Hamann  <lars@gtk.org>
1979
1980         * gtk/gtkclist.c (scroll_vertical): fix for vertical scrolling in case
1981         of GTK_CLIST_ADD_MOD
1982         * gtk/testgtk.c (add1000_clist): changed pixmap
1983
1984 Sat Jul 18 22:59:04 1998  Tim Janik  <timj@gtk.org>
1985
1986         * gtk/gtkmain.h: 
1987         * gtk/gtkmain.c: export gtk_binary_age and gtk_interface_age.
1988
1989         * gtk/gtktypeutils.h:
1990         * gtk/gtkitemfactory.h: remove "void" from prototypes again.
1991
1992 Sat Jul 18 00:54:01 1998  Lars Hamann  <lars@gtk.org>
1993
1994         * gtk/gtknotebook.c (gtk_notebook_set_child_arg): added support for
1995         CHILD_ARG_MENU_LABEL, CHILD_ARG_TAB_LABEL
1996         (gtk_notebook_get_child_arg): added support for CHILD_ARG_MENU_LABEL,
1997         CHILD_ARG_POSITION
1998         (gtk_notebook_reorder_child): new funktion to change position of a
1999         notebook page
2000         (gtk_notebook_draw_arrow): draw left/right arrow with
2001         GTK_SHADOW_ETCHED_IN if focus_tab is first/last tab.
2002
2003         * gtk/gtkstyle.c (gtk_default_draw_arrow):
2004         added GTK_SHADOW_ETCHED_IN/OUT
2005
2006 Sun Jul 19 12:19:16 1998  Stefan Jeske  <stefan@gtk.org>
2007
2008         * gtk/gtkprogress.c gtk/gtkprogress.h gtk/gtkprogressbar.c
2009           gtk/gtkprogressbar.h gtk/Makefile.am gtk/gtk.h gtk/testgtk.c:
2010         Introduced generic GtkProgress widget. Derived GtkProgressBar from
2011         GtkProgress. Made GtkProgressBar much more flexible (see testgtk).
2012
2013 Fri Jul 17 23:49:28 PDT 1998 Manish Singh <yosh@gimp.org>
2014
2015         * gtk/gtktypeutils.h
2016         * gtk/gtkitemfactory.h: explicitly specify void in prototype
2017
2018 Fri Jul 17 17:54:02 1998  Lars Hamann  <lars@gtk.org>
2019
2020         * gtk/gtkclist.c (scroll_vertical): fix to avoid flicker at begin/end
2021         of list
2022
2023 Fri Jul 17 05:30:47 1998  Tim Janik  <timj@gtk.org>
2024
2025         * gtk/gtksignal.c (gtk_handlers_run) (gtk_signal_real_emit):
2026         sropped the approach of copying all signal specific data into a
2027         GtkHandlerInfo structure. we rather keep the signal data on the stack
2028         in gtk_signal_real_emit and pass that over to gtk_handlers_run. this
2029         avoids multiple lookups of the signal pointer and works savely together
2030         with destroy notifiers of handlers.
2031
2032         * gtk/gtkentry.c (gtk_entry_key_press): care for the posssibility that
2033         someone destroys the entry on the ::activate signal.
2034
2035 Fri Jul 17 01:21:32 1998  Tim Janik  <timj@gtk.org>
2036
2037         * gtk/gtkarrow.c (gtk_arrow_expose): use misc->xpad for x calculation
2038         instead of ypad (typo).
2039         (gtk_arrow_set): clear all of the arrow's allocation (left a 1 pixel
2040         border around the allocation).
2041         (gtk_arrow_init): the static requisition needs to be setup in this
2042         function rather than gtk_widget_new(), so arrow creation works without
2043         the gtk_arrow_new() constructing.
2044         (gtk_arrow_expose): return TRUE, since we actually handled the expose.
2045
2046         * gtk/gtkwidget.c (gtk_widget_real_size_request): provide a default
2047         implementation for GtkWidget::size_request, so size requisition for
2048         simple statically sized widgets like GtkArrow works.
2049
2050 Thu Jul 16 14:16:16 PDT 1998 Manish Singh <yosh@gimp.org>
2051
2052         * gtk-config.in: minor changes to gtk-config: --cflags doesn't
2053         prepend -I@libdir@/glib/include anymore, since glib-config handles
2054         it; --libs strips out redundant -L<path>'s properly (there was
2055         code in there to do it before, but it didn't work)
2056
2057 Thu Jul 16 18:24:41 1998  Tim Janik  <timj@gtk.org>
2058
2059         * gtk/gtknotebook.h: 
2060         * gtk/gtknotebook.c: signdness corrections all ove the place.
2061         implementation of object arguments: GtkNotebook::enable_popup,
2062         GtkNotebook::tab_pos, GtkNotebook::tab_border, GtkNotebook::show_tabs,
2063         GtkNotebook::show_border, GtkNotebook::scrollable and GtkNotebook::page.
2064         begun implementation of child args, we have GtkNotebook::tab_label, but
2065         GtkNotebook::menu_label and GtkNotebook::position still lack the
2066         implementation.
2067         (gtk_notebook_remove_page):
2068         (gtk_notebook_current_page): allow negative indices (-1) as alias for
2069         the last page.
2070
2071         * gtk/gtkentry.h:
2072         * gtk/gtkentry.c: GtkType and macro fixups. implementation of object
2073         arguments GtkEntry::max_length and GtkEntry::visibility.
2074         (gtk_entry_adjust_scroll): queue a redraw.
2075
2076         * gtk/gtkeditable.h:
2077         * gtk/gtkeditable.c: GtkType und macro fixups. implementation of
2078         object arguments GtkEditable::text_position and GtkEditable::editable.
2079         new (action) signal GtkEditable::set_editable.
2080         provide a default handler for GtkEditable::changed that queues a redraw.
2081
2082         * gtk/gtktext.h: 
2083         * gtk/gtktext.c: GtkType und macro fixups. override GtkEditable::
2084         set_editable.
2085
2086 Thu Jul 16 14:42:11 1998  Lars Hamann  <lars@gtk.org>
2087
2088         * gtk/gtkctree.c (gtk_ctree_button_release): fix for sigsegv in
2089         case of drag_target == NULL
2090         * gtk/gtkclist.c (gtk_clist_button_press): fix for GTK_2/3BUTTON_PRESS.
2091         Clist did not emit an select_row signal in case of GTK_2/3BUTTON_PRESS.
2092         * gtk/gtkfilesel.c (gtk_file_selection_file_button,
2093         gtk_dir_selection_file_button): fix due to changes in clist's
2094         select_row signal.
2095
2096 Thu Jul 16 01:27:15 1998  Tim Janik  <timj@gtk.org>
2097
2098         * gtk/gtkwidget.h:
2099         * gtk/gtkwidget.c (gtk_widget_set_usize): handle negative values
2100         similar to gtk_widget_set_uposition(). that is: -1=unspecified,
2101         -2=leave untouched. changed the width/height field of GtkWidgetAuxInfo
2102         to be gint16s rather than guint16s, since that's what the code expected
2103         (for a long time actually).
2104
2105         * gtk/gtkviewport.c:
2106         added support for object arguments: GtkViewport::shadow_type,
2107         GtkViewport::vadjustment and GtkViewport::hadjustment.
2108         (gtk_viewport_add): chain gtk_bin_add.
2109
2110         * gtk/gtkscrolledwindow.c: 
2111         added support for object argument: GtkScrolledWindow::hscrollbar_policy,
2112         GtkScrolledWindow::vscrollbar_policy and GtkScrolledWindow::viewport.
2113
2114         * gtk/gtkadjustment.h: 
2115         * gtk/gtkadjustment.c: 
2116         * gtk/gtkctree.h: 
2117         * gtk/gtkclist.h: 
2118         * gtk/gtkctree.c: 
2119         * gtk/gtkclist.c:
2120         * gtk/gtkscrolledwindow.h:
2121         * gtk/gtkscrolledwindow.c:
2122         * gtk/gtkviewport.h:
2123         * gtk/gtkviewport.c:
2124         GtkType and macro fixups.
2125
2126 Thu Jul 16 01:10:02 1998  Lars Hamann  <lars@gtk.org>
2127
2128         * gtk/gtkctree.h :
2129         * gtk/gtkctree.c :
2130         Added focus handling, horizontal and vertical autoscrolling,
2131         extended Selection Mode, key bindings
2132         Added gtk_ctree_toggle_expansion & gtk_ctree_toggle_expansion_recursive
2133         Changed gtk_ctree_scroll_to to gtk_ctree_moveto.
2134         Removed gtk_ctree_clear.
2135         
2136         * gtk/gtkclist.h :
2137         * gtk/gtkclist.c : 
2138         Added focus handling, horizontal and vertical autoscrolling,
2139         extended Selection Mode, key bindings
2140
2141 Wed Jul 15 12:39:27 1998  Raph Levien  <raph@acm.org>
2142
2143         * This checkin integrates GdkRgb version 0.0.3 into the Gtk 1.1
2144         source tree. For more information on GdkRgb, please see:
2145         http://www.levien.com/gdkrgb/
2146
2147         * gtk/gtkfeatures.h.in (GTK_HAVE_GDK_RGB): added this feature. It
2148         bothers me slightly that the feature is in gdk, and this file is
2149         in gtk, but it's probably ok.
2150
2151         * gdk/gdk.h: Added an #include of <gdk/gdkrgb.h>
2152
2153         * gdk/gdkrgb.c:
2154         * gdk/gdkrgb.h: Added this module.
2155
2156         * Makefile.am (EXTRA_DIST): Added gdkrgb.c and gdkrgb.h files.
2157
2158         * configure.in: added AC_C_BIGENDIAN test (needed by GdkRgb).
2159
2160 Wed Jul 15 14:20:10 1998  Tim Janik  <timj@gtk.org>
2161
2162         * gtk/gtksignal.c (gtk_signal_real_emit): pass only the signal_id
2163         to this function. it needs to relookup the signal multiple times.
2164         this fixes spurious segfaults that could show up with signal intensive
2165         code, when classes are created during a pending emission (which is
2166         normal case).
2167
2168 Tue Jul 14 19:12:12 1998  Tim Janik  <timj@gtk.org>
2169
2170         * gtk/gtkbutton.c (gtk_button_set_arg): don't destroy a buttons
2171         child if it isn't a label.
2172
2173 Tue Jul 14 11:41:38 1998  Tim Janik  <timj@gtk.org>
2174
2175         * gtk/gtkdialog.h: 
2176         * gtk/gtkseparator.h: 
2177         * gtk/gtkhseparator.h: 
2178         * gtk/gtkvseparator.h: macro and GtkType fixups.
2179
2180 Tue Jul 14 06:25:46 1998  Tim Janik  <timj@gtk.org>
2181
2182         * gtk/testgtk.c (create_cursors): display the current cursor name.
2183
2184         * gtk/gtktypeutils.h: 
2185         * gtk/gtktypeutils.c (gtk_type_init_builtin_types): cleanups to
2186         the fundamental type definition. the GtkArg union now only covers
2187         the required storage types for argument values. adapted the GTK_VALUE_*
2188         macro set. handle GTK_TYPE_UCHAR. definiton of type set bounds macros.
2189
2190         * gtk/gtkargcollector.c (gtk_arg_collect_value): clean ups of the
2191         code, fixed int/float collection. fixed a bug in the sanity checking
2192         code for GtkObjects.
2193
2194         * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixups of the
2195         argument collection code.
2196
2197         * gtk/gtksignal.c (gtk_signal_collect_params): use the type set bounds
2198         macros when distinguishing the return type.
2199
2200 Mon Jul 13 12:42:51 1998  George Lebl  <jirka@5z.com>
2201
2202         * gdk/gdkwindow.h: (gdk_window_reparent) check if old_parent_private
2203           is not NULL before trying to g_list_remove the child. A patch
2204           from Michael Lausch.
2205
2206 Sun Jul 12 16:40:06 1998  Tim Janik  <timj@gtk.org>
2207
2208         * gtk/gtkargcollector.c (gtk_arg_collect_value): fix float argument
2209         collection (always casted to doubles upon argument passing).
2210
2211 Sun Jul 12 05:59:26 1998  Tim Janik  <timj@gtk.org>
2212
2213         * gtk/gtktypeutils.c (gtk_type_new): call the base classes'
2214         object_init_func for derived objects with the object's ->klass field
2215         still pointing to the corresponding base class, otherwise overridden
2216         class functions could get called with partly-initialized objects.
2217         (change from Tero Pulkkinen <terop@modeemi.cs.tut.fi>).
2218
2219 Sun Jul 12 02:47:35 1998  Tim Janik  <timj@gtk.org>
2220
2221         * gtk/gtkobject.h:
2222         * gtk/gtkobject.c:
2223         (gtk_object_arg_get_info): new functions which wraps gtk_arg_get_info().
2224
2225         * gtk/gtkcontainer.h:
2226         * gtk/gtkcontainer.c:
2227         (gtk_container_child_arg_get_info): new function which wraps
2228         gtk_arg_get_info().
2229
2230 Fri Jul 10 13:29:53 1998  Tim Janik  <timj@gtk.org>
2231
2232         * gtk/gtkcontainer.c:
2233         (gtk_container_arg_get): 
2234         (gtk_container_arg_set): 
2235         * gtk/gtkobject.c:
2236         (gtk_object_arg_set): 
2237         (gtk_object_arg_get):
2238         strictly check for the associated get/set arg functions. if an
2239         arg is readable or writable, the associated class functions *must*
2240         be provided.
2241
2242 Fri Jul 10 09:37:50 1998  Tim Janik  <timj@gtk.org>
2243
2244         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): only take the
2245         padding into account if there is an accelerator.
2246
2247 Fri Jul 10 05:51:44 1998  Tim Janik  <timj@gtk.org>
2248
2249         * gtk/gtkcontainer.c:
2250         (gtk_container_add_with_args): collect the arguments with
2251         gtk_container_child_args_collect, not through gtk_object_args_collect.
2252         (gtk_container_child_set): likewise.
2253
2254 Fri Jul 10 04:20:35 1998  Tim Janik  <timj@gtk.org>
2255
2256         * gtk/gtktypeutils.h: 
2257         * gtk/gtktypeutils.c: added a new internal type GTK_TYPE_IDENTIFIER
2258         which is derived from GTK_TYPE_STRING.
2259
2260         * gtk/gtkbindings.c: reworked the argument type handling.
2261
2262 Thu Jul  9 21:03:19 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2263
2264         * gtk/gtkpreview.c: add in just enough support for 1 or 4 bits
2265           so that it seems to allow normal operation in those modes,
2266           although you will only see black  (GIMP toolbar now pops up,
2267           just don't create a new image and GIMP now works in 4 bit.)
2268
2269 Thu Jul  9 20:20:04 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2270
2271         * gdk/gdkvisuals.c: 4 bit support, increased available_depths
2272           array, which was too low (?)
2273
2274 Fri Jul 10 00:02:04 1998  Tim Janik  <timj@gtk.org>
2275
2276         * gtk/gtkcontainer.h: 
2277         * gtk/gtkcontainer.c: deleted most of the argument handling code, since
2278         that is now implemented in gtkarg.c. similar to gtk_object_args_collect,
2279         we now export a new function gtk_container_child_args_collect().
2280         for consistency with the object arguments, a few functions got renamed:
2281         gtk_container_child_arg_get -> gtk_container_child_get,
2282         gtk_container_child_arg_set -> gtk_container_child_set,
2283         gtk_container_child_arg_getv -> gtk_container_child_getv,
2284         gtk_container_child_arg_setv -> gtk_container_child_setv,
2285         gtk_container_add_with_argv -> gtk_container_addv.
2286         note, gtk_container_add_with_args() remained, because its equivalent
2287         would be gtk_container_add(,, ...) which would break all existing code.
2288         (gtk_container_add_child_arg_type): similar to gtk_object_add_arg_type,
2289         we expect the `arg_name' argument to be a const static string now.
2290         (gtk_container_get_child_arg_type): function removed.
2291
2292 Thu Jul  9 07:03:04 1998  Tim Janik  <timj@gtk.org>
2293
2294         * gtk/gtkargcollector.c: new file which holds gtk_arg_collect_value().
2295         this is a static inline function that collects command line arguments
2296         from a va_list. this file can just be included in all places that
2297         need this functionality.
2298
2299         * gtk/gtkarg.h: 
2300         * gtk/gtkarg.c: new files which implement most of the argument
2301         handling stuff from gtkobject.c. also collected a few more
2302         gtk_arg_* utility functions from else places.
2303
2304         * gtk/gtkobject.h: 
2305         * gtk/gtkobject.c: moved most of the argument handling code into
2306         gtkarg.c. we now export gtk_object_args_collect() as a non-public
2307         method with a blind va_list pointer.
2308         (gtk_object_add_arg_type): the `arg_name' argument is required to be a
2309         const static string now.
2310         (gtk_object_get_arg_type): function got removed.
2311
2312         * gtk/gtkwidget.c: 
2313         (gtk_widget_set): 
2314         (gtk_widget_new): adaptions for gtk_object_args_collect().
2315
2316         * gtk/gtktypeutils.c (gtk_type_init_builtin_types): changed the internal
2317         fundamental type name so as to have a valid prefix, e.g. "bool"->
2318         "gboolean", "string"->"GtkString" and somesuch, left "void" as is,
2319         though that should probably be something like GtkNone since the
2320         type itself is called GTK_TYPE_NONE.
2321         even the internal type names need to avoid name clashes and must live
2322         in their own namespace, several code portions rely on that.
2323         we should relly have typedefs such as typedef gchar* GtkString; so the
2324         fundamental type names can be used for code dumpers just like with all
2325         the Gtk/Gdk types.
2326
2327 Wed Jul  8 15:31:28 1998  Tim Janik  <timj@gtk.org>
2328
2329         * gtk/gtkbutton.c: handle GTK_RELIEF_HALF, which was introduced to
2330         keep either GTK_STATE_NORMAL for relief buttons (GTK_RELIEF_NONE) or
2331         to still honour GTK_WIDGET_STATE(), e.g. for coloured buttons
2332         (GTK_RELIEF_HALF).
2333         (gtk_button_paint): set the background for prelighted buttons with
2334         GTK_STATE_NORMAL only if GTK_RELIEF_NONE.
2335         (gtk_button_draw_focus): if GTK_RELIEF_NONE, use GTK_STATE_NORMAL for
2336         the shadow type (otherwise we get strange shadows for coloured buttons).
2337         (gtk_button_set_relief): queue a redraw after changing
2338         the relief.
2339         (gtk_button_class_init): 
2340         (gtk_button_set_arg): 
2341         (gtk_button_get_arg): added object argument "GtkButton::relief".
2342
2343         * gtk/gtkenums.h (enum): added GTK_RELIEF_HALF.
2344
2345 Mon Jul  6 18:30:48 1998  Tim Janik  <timj@gtk.org>
2346
2347         * gtk/gtkbutton.h:
2348         * gtk/gtkbutton.c: GtkButtons are now derived from GtkBin. we mirror
2349         GTK_BIN (button)->child to button->child to keep source compatibility.
2350
2351         * gtk/gtkoptionmenu.c:
2352         * gtk/gtkclist.c:
2353         * gtkcheckbutton.c: don't refer to button->child, but
2354         GTK_BIN (button)->child instead.
2355
2356 Mon Jul  6 12:06:23 BST 1998  Tony Gale  <gale@gtk.org>
2357
2358         * docs/gtkfaq.sgml: update anon CVS info
2359
2360 Sat Jul  4 13:16:24 1998  Tim Janik  <timj@gtk.org>
2361
2362         * gtk/*.c: changed reversed_[12] to reserved_[12] in gtk_*_get_type
2363         functions.
2364
2365         * gdk/gdkwindow.c:
2366         * gdk/gdkvisual.c: check for some pointer values to be != NULL, prior
2367         to XFree() calls.
2368
2369 1998-07-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2370
2371         * gtk/gtkfeatures.h.in: Added GDK_HAVE_FULL_CROSSING_EVENT, since
2372         I seem to have erroneously added it to gtkfeatures.h (not .h.in).
2373
2374 Fri Jul  3 14:55:31 PDT 1998 Manish Singh <yosh@gimp.org>
2375
2376         * gtk/gtkfeatures.h.in: added GTK_HAVE_RELIEF_STYLE
2377
2378 Wed Jul  1 20:58:46 1998  Tim Janik  <timj@gtk.org>
2379
2380         * gtk/gtkwidget.h:
2381         * gtk/gtkwidget.c: temporary implementation of action signal "debug_msg"
2382
2383         * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixed an off-by-one
2384         error that prevented signal to entry addition for signals with
2385         parameters.
2386
2387 Wed Jul  1 10:05:36 PDT 1998 Manish Singh <yosh@gimp.org>
2388
2389         * ltconfig: fix for properly detecting shared lib support on
2390         SunPro cc (taken from libtool 1.2.a)
2391
2392 Wed Jul  1 03:33:30 1998  Tim Janik  <timj@gtk.org>
2393
2394         * gtk/gtkrc.c: implementation of the "class" keyword for styles.
2395
2396 Tue Jun 30 14:30:37 1998  Tim Janik  <timj@gtk.org>
2397
2398         * gtk/gtkrc.c: fixed lookup order for rc styles. the latest defined
2399         rc set pattern is favoured, this is needed for overriding of style
2400         patterns with subsequently parsed rc files.
2401
2402 Tue Jun 30 12:45:19 1998  Tim Janik  <timj@gtk.org>
2403
2404         * gtk/gtkrc.c: code overhaul for simplicity and more descriptive
2405         error messages.
2406
2407 Tue Jun 30 09:24:40 1998  Tim Janik  <timj@gtk.org>
2408
2409         * gtk/gtkaccelgroup.c (gtk_accelerator_parse): parse "<Release>"
2410         modifier as well.
2411         (gtk_accelerator_name): add "<Release>" to the accelerator name if
2412         neccessary.
2413
2414         * gtk/gtkbindings.c (BINDING_MOD_MASK): take BINDING_MOD_MASK into
2415         account.
2416
2417         * gtk/gtkwidget.c (gtk_widget_real_key_release_event): implemented
2418         default handler for key-release events, which checks for activation
2419         of GDK_RELEASE_MASK key bindings.
2420
2421         * gdk/gdktypes.h (enum): added GDK_RELEASE_MASK to GdkModifierType.
2422
2423 Mon Jun 29 13:39:45 1998  Tim Janik  <timj@gtk.org>
2424
2425         * gtk/gtkarrow.h: GtkType and macro fixups.
2426         * gtk/gtkarrow.c: widget argument implementation: "GtkArrow::arrow_type",
2427         "GtkArrow::shadow_type".
2428
2429 Sun Jun 28 11:39:17 1998  Tim Janik  <timj@gtk.org>
2430
2431         * gtk/gtkalignment.h:
2432         * gtk/gtkbin.h: GtkType and macro fixups.
2433         
2434         * gtk/gtkalignment.c (gtk_alignment_class_init): widget argument
2435         implementation: GtkAlignment::xalign, GtkAlignment::yalign,
2436         GtkAlignment::xscale, GtkAlignment::yscale.
2437
2438 Sun Jun 28 04:29:10 1998  Tim Janik  <timj@gtk.org>
2439
2440         * gtk/gtktypeutils.c (gtk_type_class_init): call the base class init
2441         fucntions from all parent types upon class initialization.
2442
2443         * gtk/gtkcontainer.c:
2444         (gtk_container_get_type): announce gtk_container_base_class_init to
2445         the type system.
2446         (gtk_container_base_class_init): new function to feature base class
2447         initialization.
2448         (gtk_container_get_child_arg): 
2449         (gtk_container_set_child_arg): call the GtkContainerClass get_child_arg
2450         and set_child_arg methods of the class indicated through the argument
2451         name.
2452
2453         * gtk/gtkobject.c:
2454         (gtk_object_base_class_init): new function to feature base class
2455         initialization.
2456         (gtk_object_init_type): announce gtk_object_base_class_init to the type
2457         system.
2458         (gtk_object_class_init): setup the get_arg and set_arg pointers for
2459         GtkObjectClass.
2460         (gtk_object_setv): 
2461         (gtk_object_getv): call the GtkObjectClass get_arg and set_arg methods,
2462         instead of bothering the type system with this.
2463
2464         * gtk/gtkaccellabel.c: 
2465         * gtk/gtkbutton.c: 
2466         * gtk/gtkradiobutton.c: 
2467         * gtk/gtktable.c:
2468         * gtk/gtktogglebutton.c: 
2469         * gtk/gtktipsquery.c: 
2470         * gtk/gtkbox.c: 
2471         * gtk/gtkpacker.c: 
2472         * gtk/gtkwidget.c: 
2473         * gtk/gtkwindow.c: 
2474         * gtk/gtkframe.c: 
2475         * gtk/gtkmisc.c:
2476         * gtk/gtklabel.c: set the object_class->{g|s}et_arg pointers to the
2477         corresponding gtk_*_{g|s]et_arg functions and updated the gtk_*_get_type
2478         functions wrt GtkTypeInfo initialization. changed a lot of the set/get
2479         arg functions to take a GtkObject argument.
2480
2481         gtk/gtkadjustment.c:
2482         gtk/gtkalignment.c:
2483         gtk/gtkarrow.c:
2484         gtk/gtkaspectframe.c:
2485         gtk/gtkbbox.c:
2486         gtk/gtkbin.c:
2487         gtk/gtkcheckbutton.c:
2488         gtk/gtkcheckmenuitem.c:
2489         gtk/gtkclist.c:
2490         gtk/gtkcolorsel.c:
2491         gtk/gtkcombo.c:
2492         gtk/gtkctree.c:
2493         gtk/gtkcurve.c:
2494         gtk/gtkdata.c:
2495         gtk/gtkdialog.c:
2496         gtk/gtkdrawingarea.c:
2497         gtk/gtkeditable.c:
2498         gtk/gtkentry.c:
2499         gtk/gtkeventbox.c:
2500         gtk/gtkfilesel.c:
2501         gtk/gtkfixed.c:
2502         gtk/gtkfontsel.c:
2503         gtk/gtkgamma.c:
2504         gtk/gtkhandlebox.c:
2505         gtk/gtkhbbox.c:
2506         gtk/gtkhbox.c:
2507         gtk/gtkhpaned.c:
2508         gtk/gtkhruler.c:
2509         gtk/gtkhscale.c:
2510         gtk/gtkhscrollbar.c:
2511         gtk/gtkhseparator.c:
2512         gtk/gtkimage.c:
2513         gtk/gtkinputdialog.c:
2514         gtk/gtkitem.c:
2515         gtk/gtkitemfactory.c:
2516         gtk/gtklist.c:
2517         gtk/gtklistitem.c:
2518         gtk/gtkmenu.c:
2519         gtk/gtkmenubar.c:
2520         gtk/gtkmenuitem.c:
2521         gtk/gtkmenushell.c:
2522         gtk/gtknotebook.c:
2523         gtk/gtkoptionmenu.c:
2524         gtk/gtkpaned.c:
2525         gtk/gtkpixmap.c:
2526         gtk/gtkpreview.c:
2527         gtk/gtkprogressbar.c:
2528         gtk/gtkradiomenuitem.c:
2529         gtk/gtkrange.c:
2530         gtk/gtkruler.c:
2531         gtk/gtkscale.c:
2532         gtk/gtkscrollbar.c:
2533         gtk/gtkscrolledwindow.c:
2534         gtk/gtkseparator.c:
2535         gtk/gtkspinbutton.c:
2536         gtk/gtkstatusbar.c:
2537         gtk/gtktext.c:
2538         gtk/gtktoolbar.c:
2539         gtk/gtktooltips.c:
2540         gtk/gtktree.c:
2541         gtk/gtktreeitem.c:
2542         gtk/gtkvbbox.c:
2543         gtk/gtkvbox.c:
2544         gtk/gtkviewport.c:
2545         gtk/gtkvpaned.c:
2546         gtk/gtkvruler.c:
2547         gtk/gtkvscale.c:
2548         gtk/gtkvscrollbar.c:
2549         gtk/gtkvseparator.c: updated the GtkTypeInfo initialization code to
2550         match the modified GtkTypeInfo structure.
2551
2552 Sat Jun 27 23:23:27 PDT 1998 Manish Singh <yosh@gimp.org>
2553
2554         * gtk/testgtk.c: use rand() instead of random() for portability
2555
2556 Sat Jun 27 22:42:28 PDT 1998 Manish Singh <yosh@gimp.org>
2557
2558         * configure.in
2559         * acconfig.h
2560         * gdk/gdk.c: use native Xlib XConvertCase if it's available
2561
2562 Sat Jun 27 15:44:46 1998  Tim Janik  <timj@gtk.org>
2563
2564         * gdk/gdk.c (gdkx_XConvertCase): compatibility function to provide
2565         XConvertCase() functionality from X11R6 on X11R5 systems.
2566
2567 Thu Jun 25 10:50:34 1998  Stefan Jeske  <stefan@gtk.org>
2568
2569         * gdk/gdk.h gdk/gdkfont.c: Added functions gdk_text_height,
2570         gdk_string_height, gdk_char_height to retrieve the exact
2571         height of a text.
2572
2573 Thu Jun 25 07:53:51 BST 1998  Tony Gale  <gale@gtk.org>
2574
2575         * docs/gtk_tut.sgml: add section on GtkCList widget, contributed
2576           by Stefan Mars <mars@lysator.liu.se>
2577         * examples/clist/clist.c examples/clist/Makefile: example code
2578           for GtkCList widget from the Tutorial
2579
2580 Wed Jun 24 16:38:02 1998  Tim Janik  <timj@gtk.org>
2581
2582         * gtk/gtkbin.c (gtk_bin_remove): do not avoid to queue for a resize
2583         if the container is not visible, we might be a toplevel! this holds
2584         for all other base container implementations as well, that are
2585         candidates to derive toplevels from. in general the resizing code will
2586         care about visibility itself.
2587         * gtk/gtkmenushell.c (gtk_menu_shell_remove): likewise.
2588         * gtk/gtkbox.c (gtk_box_remove): likewise.
2589
2590         * gtk/gtkwindow.c (gtk_window_move_resize): save ->use_uposition around
2591         gtk_window_set_hints(), since we haven't calculated the new position
2592         yet.
2593
2594         * gdk/gdkwindow.c (gdk_window_get_pointer): take care that *x, *y and
2595         *mask are alway initialized in a sane way, regardless of the return
2596         value.
2597
2598 Wed Jun 24 14:14:32 1998  Tim Janik  <timj@gtk.org>
2599
2600         * gtk/gtkcontainer.c: new function gtk_container_child_arg_set, similar
2601         to gtk_container_child_arg_setv, but takes a variable argument list.
2602         new function gtk_container_get_child_arg_type, which is needed by
2603         gtk_object_collect_args.
2604
2605         * gtk/gtkobject.c: changed prototype for gtk_object_collect_args, to
2606         take a function pointer to figure the argument type.
2607         adapted callers to pass gtk_object_get_arg_type.
2608         * gtk/gtkwidget.c: adapted gtk_object_collect_args callers to pass
2609         gtk_object_get_arg_type..
2610
2611         * gtk/gtkpacker.h: 
2612         * gtk/gtkpacker.c:
2613         (gtk_packer_reorder_child): new function to change the packing order
2614         of a child.
2615         (gtk_packer_size_request): 
2616         (gtk_packer_size_allocate): take container->border_width into acount.
2617
2618         * gtk/gtkpacker.c: implemented widget arguments:
2619         "GtkPacker::spacing", "GtkPacker::border_width", "GtkPacker::pad_x",
2620         "GtkPacker::pad_y", "GtkPacker::ipad_x", "GtkPacker::ipad_y".
2621         implemented child arguments:
2622         "GtkPacker::side", "GtkPacker::anchor", "GtkPacker::expand",
2623         "GtkPacker::fill_x", "GtkPacker::fill_y", "GtkPacker::use_default",
2624         "GtkPacker::border_width", "GtkPacker::pad_x", "GtkPacker::pad_y",
2625         "GtkPacker::ipad_x", "GtkPacker::ipad_y", "GtkPacker::position".
2626
2627         * gtk/gtkmisc.c (gtk_misc_set_arg): for padding args, set the padding,
2628         not the alignment.
2629
2630         * gtk/gtkeventbox.h:
2631         * gtk/gtkeventbox.c: GtkType and macro fixups.
2632
2633         * gtk/testgtk.c (entry_toggle_sensitive): new function to toggle
2634         sensitivity of an entry.
2635
2636         * gtk/gtkstyle.c (gtk_style_new): support normal grey as default color
2637         for insensitive base and text.
2638
2639         * gtk/gtkentry.c (gtk_entry_realize): set the window backgrounds
2640         widget state dependent.
2641         (gtk_entry_style_set): likewise.
2642         (gtk_entry_state_changed): set background color on state changes.
2643         (gtk_entry_draw_text): for non selected text, use state dependent
2644         colors.
2645
2646         * gtk/gtktogglebutton.c: support for widget arguments
2647         "GtkToggleButton::active" and "GtkToggleButton::draw_indicator".
2648
2649 Wed Jun 24 08:35:45 1998  Stefan Jeske  <stefan@gtk.org>
2650
2651         * gtk/gtkspinbutton.c (gtk_spin_button_spin): Added compatibility 
2652         code for 1.0.x-like parameters. Changed internal interface of
2653         gtk_spin_button_real_spin. Several fixes to avoid emission of
2654         "value_changed" where possible.
2655
2656 Tue Jun 23 22:21:33 PDT 1998 Manish Singh <yosh@gimp.org>
2657
2658         * gtk-boxed.defs: s/GkWidget/GtkWidget/
2659
2660 Wed Jun 24 07:47:29 1998  Tim Janik  <timj@gtk.org>
2661
2662         * gtk/testgtk.c (create_idle_test): added a frame with radio buttons
2663         to select the resize_mode for the idle-labels container.
2664
2665         * gtk/gtkframe.h: 
2666         * gtk/gtkframe.c: GtkType and macro corrections.
2667
2668         * gtk/gtkradiobutton.c (gtk_radio_button_set_arg): new function to
2669         support widget argument "GtkRadioButton::group".
2670
2671 Tue Jun 23 08:01:09 1998  Tim Janik  <timj@gtk.org>
2672
2673         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): queue a resize
2674         unconditionally if resize_mode has changed.
2675
2676         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_init): set
2677         GTK_RESIZE_QUEUE on the scrolled window.
2678         (gtk_scrolled_window_construct): set GTK_RESIZE_PARENT for the vieport.
2679
2680 Tue Jun 23 04:20:30 1998  Tim Janik  <timj@gtk.org>
2681
2682         * gtk/gtkcontainer.h:
2683         * gtk/gtkcontainer.c:
2684         (GTK_IS_RESIZE_CONTAINER): new macro to find out if
2685         a given gtkobject is a container with resize_mode==GTK_RESIZE_PARENT.
2686         (gtk_container_queue_resize): new function to queue a container for
2687         a *size* reallocation (doesn't affect its position, and thus its
2688         parent is left untouched usually).
2689         (gtk_container_get_resize_container): new function to retrive the next
2690         most resize container which is not itself queued for a resize.
2691         (gtk_container_idle_sizer): new function to carefully process the
2692         container_resize_queue since it can change during invokation of
2693         gtk_container_check_resize().
2694         (gtk_container_resize_children): total rework of this function to
2695         properly handle resize containers. makes a lot of assumptions whitch
2696         are stated in the comments.
2697
2698         * gtk/gtkcontainer.c:
2699         (gtk_container_real_check_resize): only requeue ourselves if we are not
2700         a resize container.
2701         (gtk_container_clear_resize_widgets): care for automatic deletion of our
2702         resize_widgets list on size_allocate through a handler connection.
2703
2704         * gtk/gtkwindow.c (gtk_window_shutdown): new functionm to reset the
2705         focus and default widget of a window, so to take the burden from
2706         gtk_widget_unparent.
2707
2708         * gtk/gtkviewport.c: removed gtk_viewport_check_resize, which tried
2709         to be clever, but actually messed up the resize_children logic and
2710         caused unneccessary allocations on its whole branch. besides this,
2711         it messed up the display by not invoking a redraw after the allocation.
2712
2713         * gtk/gtktable.c (gtk_table_set_child_arg): reverted recent change, so
2714         that it is the child again that is queued for a resize.
2715         (gtk_table_attach): likewise.
2716         (gtk_table_remove): likewise.
2717
2718 1998-06-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2719
2720         * gtk/gtkentry.h, gtk/gtkentry.c: Export the
2721         gtk_entry_adjust_scroll.  Required if you change the cursor
2722         position and want to sync it up with your code (Midnight Commander
2723         gtk front end needs this).
2724
2725         * gtk/gtktable.c: Deal with tables that have size 0, 0.
2726
2727 Tue Jun 23 12:12:19 BST 1998  Tony Gale  <gale@gtk.org>
2728
2729         * examples/README.1ST: new file to explain how the
2730           code examples should be extracted from the tutorial.
2731
2732 Mon Jun 22 18:43:11 1998  Lars Hamann  <lars@gtk.org>
2733
2734         * gtk/gtkctree.c (draw_row): added new "line style"
2735         GTK_CTREE_LINES_TABBED 
2736         * gtk/gtkctree.c/h (gtk_ctree_find_glist_ptr): new function to
2737         search the glist pointer of an GtkCTreeRow
2738
2739 1998-06-21  Raja R Harinath  <harinath@cs.umn.edu>
2740  
2741         * gtk/Makefile.am (gtk.defs,gtktypebuiltins*): Remove $(srcdir)
2742         from, and clean up, the dependencies.  Generate to intermediate
2743         files to prevent problems with Ctrl-C.
2744
2745         * gtk/genmarshal.pl: Generate `gtkmarshal.[ch]' in $srcdir.
2746
2747 Fri Jun 19 14:46:56 1998  Stefan Jeske  <stefan@gtk.org>
2748
2749         * gtk/gtkspinbutton.h gtk/gtkspinbutton.c gtk/testgtk.c:
2750         - Bug fix for precision problem causing occasional double emission 
2751           of "value_changed" signal (hopefully works now).
2752         - API change (should be binary compatible) : 
2753           new enum GtkSpinType; modified gtk_spin_button_spin to use it.
2754           Modified cursor example appropriately.
2755           To spin by something other than step_/page_increment, use
2756           gtk_spin_button_spin (spin, GTK_SPIN_USER_DEFINED, increment).
2757         - Made GTK_SHADOW_NONE the default. ;)
2758         - Fixed casting of GtkAdjustment* to GtkWidget* in
2759           gtk_spin_button_value_changed.
2760
2761 Fri Jun 19 06:18:19 1998  Tim Janik  <timj@gtk.org>
2762
2763         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): fail silently
2764         for toplevels. if resize_mode changes to GTK_RESIZE_PARENT, clear the
2765         resize widget list before queuing the container for a new reize.
2766         (gtk_container_need_resize): changed return value to FALSE, since this
2767         used to indicate that no further resizes are needed.
2768         (gtk_container_set_arg): 
2769         (gtk_container_get_arg): 
2770         (gtk_container_class_init): implemented GtkContainer::resize_mode
2771         argument.
2772
2773         (gtk_container_resize_children): when we walk up the tree of a resize
2774         widget we need to stop if we are the current parent.
2775
2776         * gtk/gtkwidget.c (gtk_widget_queue_resize): flag the resize child with
2777         GTK_RESIZE_NEEDED for container->resize_mode==GTK_RESIZE_IMMEDIATE.
2778         (gtk_widget_hide_all): retrive the toplevel widget from via
2779         gtk_widget_get_resize_container().
2780
2781 Thu Jun 18 23:08:36 1998  Owen Taylor  <otaylor@gtk.org>
2782
2783         * gtk/gtklist.c (gtk_list_button_press): Only respond
2784           to selection with button 1. This allows context-sensitive
2785           menus to work correctly.
2786
2787 Fri Jun 19 03:29:04 1998  Tim Janik  <timj@gtk.org>
2788
2789         * gtk/gtkaccelgroup.c: 
2790         * gtk/gtkbindings.c: 
2791         * gtk/gtkcontainer.c:
2792         * gtk/gtkitemfactory.c:
2793         * gtk/gtkobject.c: 
2794         * gtk/gtksignal.c:
2795         * gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
2796         g_quark_from_static_string calls to save memory.
2797
2798         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
2799         function _after_ the new data has been setup.
2800         minor changes to object data functions to feature the GQuark type.
2801
2802 Thu Jun 18 21:13:54 1998  Owen Taylor  <otaylor@gtk.org>
2803
2804         * gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
2805           from argv.
2806
2807 Thu Jun 18 20:22:28 1998  Owen Taylor  <otaylor@gtk.org>
2808
2809         * gtk/genmarshal.pl: Modified to be more idiomatic Perl,
2810           to be more readable perl, to spit out stuff that looks
2811           more like readable C, and to pipe output through indent
2812           so output looks a lot like readable C. No functional
2813           changes.
2814
2815 Thu Jun 18 17:43:31 1998  Owen Taylor  <otaylor@gtk.org>
2816
2817         * gtk/gtkpixmap.[ch] (gtk_pixmap_set): Clear the background if
2818           necessary when switching to a masked pixmap. (Based on a patch
2819           from Ullrich Hafner <hafner@informatik.uni-wuerzburg.de>)
2820
2821 Thu Jun 18 16:18:10 1998  Owen Taylor  <otaylor@gtk.org>
2822
2823         * gtk/gtkeditable.[ch]: Added action signals for keyboard
2824           bindings. (move_cursor, kill_word, etc, etc, etc). 
2825
2826           removed the time argument from
2827           gtk_editable_cut/copy/paste_clipboard (source but not
2828           binary incompatible...) Instead get time from
2829           gtk_get_current_event ().
2830         
2831         * gtk/gtktext.c gtk/gtkentry.c: Support the new editable
2832           signals.
2833
2834 Thu Jun 18 02:52:09 1998  Owen Taylor  <otaylor@gtk.org>
2835
2836         Patches from Damon Chaplin <DAChaplin@email.msn.com>:
2837
2838         gtk/gtkfontsel.h: Fixed GtkFontSelectionClass - I forgot to change
2839              parent class to GtkNotebookClass when splitting the widget in
2840              two.  Also updated some comments.
2841
2842         gtk/gtkfontsel.c: Fixed bug when toggling 'Allow scaled bitmaps'
2843                button without a font selected.
2844
2845              Fixed bug in set_font_name - I hadn't updated the code to
2846                search for the style in the font_style clist - it was
2847                still assuming the style row was equal to its index,
2848                but it isn't any more.
2849         
2850              Changed 'Reset' button on filter page to 'Clear Filter'.
2851              Deleted old code relating to the old 'Filter Fonts' toggle
2852              Updated some comments.
2853              Cleared 'Actual Fontname' if no font is set.
2854
2855         gtk/testgtk.c: Fixed problem when 'OK' button is pressed - it was
2856              destroying the GtkFontSelection instead of the
2857              GtkFontSelectionDialog.
2858
2859 Thu Jun 18 02:15:31 1998  Owen Taylor  <otaylor@gtk.org>
2860
2861         * gtk/gtkmain.c (gtk_init): Added --g-fatal-warnings
2862           flag to make all warnings fatal errors.
2863
2864         * gtk/testthreads.c: moved <pthreads.h> include inside 
2865           #ifdef USE_PTHREADS
2866
2867 Thu Jun 18 01:37:31 1998  Owen Taylor  <otaylor@gtk.org>
2868
2869         * gtk/gtkenums.h gtk/gtkcontainer.[ch] gtk/gtkwidget.c 
2870           gtk/gtkmenu.c gtk/gtkviewport.c gtk/gtkwindow.c:
2871
2872         - Added new function gtk_container_set_resize_mode() for
2873           fine-grained control of where resize-queueing is done.
2874
2875         - Removed GtkContainer::need_resize and GtkWindow::move_resize
2876         - Added GtkContainer::check_resize to replace need_resize.
2877
2878         - Added function gtk_container_check_resize() to trigger
2879           queued resizes, and gtk_container_resize_children() to
2880           Figure which children need to be size-allocated. (logic
2881           moved from gtkwindow.c)
2882
2883         - Reorganized code in gtkwindow.c
2884         
2885         - Set the resize-mode for viewports so that resizes within
2886           a viewport don't propagate out of it. 
2887         
2888 1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2889
2890         * gtk/gtkfontsel.c: Use pointer<->int conversion macros to avoid warnings.
2891
2892         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): Use
2893         g_return_val_if_fail, because the function *does* return a value.
2894
2895 Thu Jun 18 03:30:06 1998  Tim Janik  <timj@gtk.org>
2896
2897         * gtk/gtkaccellabel.h:
2898         * gtk/gtkaccellabel.c: new function gtk_accel_label_accelerator_width to
2899         request the size of the accelerator portion of an accel label.
2900         (gtk_accel_label_size_request): don't request for the accelerators size.
2901         (gtk_accel_label_expose_event): only draw the accelerator if we got
2902         enough extra space.
2903
2904         * gtk/gtkmenuitem.c (gtk_menu_item_size_request): request accelerator
2905         width from children.
2906
2907         * gtk/gtkmenu.c (gtk_menu_key_press): when adding an accelerator to an
2908         object (after removal has been requested) check if there is still an
2909         accelerator remaining to avoid adding two accelerators on an object.
2910         this can happen for locked accelerators (or accelerator-frozen widgets).
2911         (gtk_menu_size_request): feature childrens accelerator width in size
2912         requests.
2913
2914         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): use
2915         gtk_widget_freeze_accelerators() for dynamically created menu items.
2916
2917         * gtk/gtksignal.h: 
2918         * gtk/gtksignal.c: new function gtk_signal_handler_pending_by_func()
2919         which will return a handler_id > 0 if the specified function is pending
2920         for `signal_id'.
2921
2922         * gtk/gtkwidget.h:
2923         * gtk/gtkwidget.c: remove gtk_widget_stop_accelerator, which was just
2924         a signal handler function to stop accelerator addition.
2925         added gtk_widget_freeze_accelerators and gtk_widget_thaw_accelerators
2926         which will prevent (undo) any accelerators from being added to or
2927         removed from a widget.
2928
2929 Wed Jun 17 21:59:09 1998  Stefan Jeske  <stefan@gtk.org>
2930
2931         * gtkspinbutton.h gtkspinbutton.c testgtk.c:
2932         Changed GtkSpinButtonUpdatePolicy enum, added keyboard
2933         acceleration, new API gtk_spin_button_set_snap_to_ticks.
2934
2935 Wed Jun 17 03:47:40 1998  Tim Janik  <timj@gtk.org>
2936
2937         * gdk/gdk.h:
2938         * gdk/gdkwindow.c: new function gdk_window_at_pointer() to retrive
2939         the current GdkWindow the pointer is on if there is any.
2940         
2941         * gtk/gtktable.c (gtk_table_init): preallocate a table with one row
2942         and one column, so we don't construction logic at all. changed a few
2943         (x < y - 1) to (x + 1 < y), to avoid failing evaluations due to
2944         unsigned int wraps.
2945
2946         * gtk/gtkwidget.c (gtk_widget_set_parent): removed left over code
2947         portion, added an additional check for parent != widget.
2948
2949         * more GtkType and macro fixups.
2950
2951 1998-06-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2952
2953         * gtk/gtkhandlebox.c (draw_textured_frame): Now accepts an extra
2954         "clip" parameter, which is the clipping rectangle to use.  This
2955         eliminates the extremely annoying flicker when exposing parts of
2956         the handlebox.
2957
2958 Tue Jun 16 14:08:08 PDT 1998 Manish Singh <yosh@gimp.org>
2959
2960         * gtk/gtktable.c: fix from TimJ for off-by-one error in table
2961         resizing
2962
2963 Tue Jun 16 06:29:57 1998  Tim Janik  <timj@gtk.org>
2964
2965         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_state): check for
2966         != 0 on the argument.
2967
2968         * gtk/gtktable.h: 
2969         * gtk/gtktable.c: new function gtk_table_resize() which allowes
2970         shrinking and expanding of tables. implementation of widget arguments
2971         and child arguments. many signedness corrections.
2972
2973 Mon Jun 15 04:15:03 1998  Tim Janik  <timj@gtk.org>
2974
2975         * gtk/gtkbox.c (gtk_box_set_child_packing): queue the resize for the box
2976         not only the child, otherwise we might end up taking away other
2977         childrens space after the resize.
2978
2979         * gtk/gtkitemfactory.c (gtk_item_factory_parse_menu_path): if we parse
2980         an unknown menu path from any source, that path must always be flagged
2981         as "modified", since we don't really know whether it has its default
2982         value or not.
2983
2984         * gtk/gtktree.c:
2985         * gtk/gtkpacker.c:
2986         * gtk/gtknotebook.c:
2987         * gtk/gtkmenushell.c:
2988         * gtk/gtklist.c:
2989         * gtk/gtkpaned.c:
2990         * gtk/gtkfixed.c: 
2991         * gtk/gtkbutton.c: implement gtk_*_child_type functions.
2992
2993         * gtk/gtkbox.h: 
2994         * gtk/gtkbox.c: type corrections for expand, fill, padding and pack_type
2995         arguments. implemented child arguments.
2996
2997         * more GtkType and macro fixups.
2998
2999 Sun Jun 14 16:30:02 1998  Tim Janik  <timj@gtk.org>
3000
3001         * gtk/gtkcheckbutton.h: GtkType and macro fixups.
3002
3003         * gtk/gtkclist.h: exported the prototypes for gtk_clist_get_vadjustment
3004         and gtk_clist_get_hadjustment.
3005
3006         * gtk/gtkcontainer.c:
3007         implementation of children arguments, new class member functions
3008         (child_type), (get_child_arg) and (set_child_arg) plus a new field
3009         n_child_args.
3010         (gtk_container_child_type): new function which returns the type of a
3011         child that the container expects for its next addition.
3012         (gtk_container_add_child_arg_type): new function to introduce a new
3013         child argument at class creation time.
3014         (gtk_container_query_child_args): new function to query all child
3015         arguments that are supported by a container class.
3016         (gtk_container_child_arg_getv): new fucntion to retrive the value of a
3017         child argument.
3018         (gtk_container_child_arg_setv): new function to set a child argument for
3019         a certain container and child combination.
3020         (gtk_container_add_with_args):
3021         (gtk_container_add_with_argv): new functions to feature addition of a
3022         new child in combination with the setting of certain child arguments.
3023
3024         * gtk/gtktypeuitils.c (gtk_type_class_init): feature initialization of
3025         GtkContainerClass.n_child_args, similar to the GtkObjectClass members.
3026         this should really be done through class cretion hooks some day.
3027
3028         * gtk/gtkcontainer.c: changed type of border_width from gint16 to
3029         guint : 16.
3030
3031         * gtk/gtkpacker.h:
3032         * gtk/gtkpacker.c: renamed all PadX and PadY to pad_x and pad_y to
3033         follow the gtk convention for lower case variable names (important
3034         for language wrappers and widget arguments), and made them guint : 16.
3035
3036         * examples/packer/pack.c: adaptions for the case converted GtkPacker
3037         fields.
3038
3039 Fri Jun 12 16:33:23 1998  Tim Janik  <timj@gtk.org>
3040
3041         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_scanner): do not
3042         change the character pair for single line comments.
3043         (gtk_item_factory_parse_rc): use the cpair_comment_signle specified in
3044         GtkItemFactoryClass.
3045         (gtk_item_factory_parse_rc_string): likewise.
3046
3047 Mon Jun 15 23:39:44 1998  Owen Taylor  <otaylor@gtk.org>
3048
3049         * gtk/gtkfontsel.[ch] (gtk_font_selection_dialog_init): Moved font
3050         lists from the klass structure to a static structure
3051         in gtkfontsel.c; cleans up global the namespace.
3052
3053 Mon Jun 15 22:16:10 1998  Owen Taylor  <otaylor@gtk.org>
3054
3055         * gtk/makeenums.pl (parse_entries): Fix (untriggered)
3056         bug with /*< skip >*/ and remove warning.
3057         
3058 Mon Jun 15 20:14:09 1998  Owen Taylor  <otaylor@gtk.org>
3059
3060         * gtk/Makefile.am: Made the gtkmarshal.* generation
3061         rules maintainer-only.
3062
3063 Mon Jun 15 16:29:45 1998  Owen Taylor  <otaylor@gtk.org>
3064
3065         * gdk/gdktypes.h gdk/gdkprivate.h gtk/gtk*.h 
3066           gtk/Makefile.am gtk/makenums.pl 
3067
3068         Removed out the G_ENUM/FLAGS mechanism in favor
3069         of a perl script that parses the standard headers
3070         (with occasional /*< nick=foo >*/ style overrides)
3071         and extracts the enumerations.
3072
3073           gtk/maketypes.awk: Small improvments to the
3074           translation of names. (Avoid splitting gc into
3075           g_c_.)
3076         
3077 Mon Jun 15 16:25:44 1998  Owen Taylor  <otaylor@gtk.org>
3078
3079         * gtk/gtk.h gtk/gtkfontsel.[ch]: 
3080         Damon Chaplin's <DAChaplin@email.msn.com> Font selection widget.
3081         
3082 Mon Jun 15 15:58:34 1998  Owen Taylor  <otaylor@gtk.org>
3083
3084         * gtk/gtkentry.c:
3085         - Restored gtk_entry_adjust_scroll to static 
3086         - Changed text positioning code so that we always
3087           display as large a portion of the text as possible.
3088
3089 Mon Jun 15 15:42:12 1998  Owen Taylor  <otaylor@gtk.org>
3090
3091         * gtk/gtktext.c (gtk_text_finalize): Free internal
3092         structures of text widget. Also, unreference pixmaps
3093         when unrealizing.
3094         
3095 Sat Jun 13 19:14:39 1998  Owen Taylor  <otaylor@gtk.org>
3096
3097         * gdk/gdkinputcommon.h (gdk_input_device_new): Change
3098         3.3.1 bug workaround to number keys starting at 1.
3099
3100 Sat Jun 13 11:56:57 1998  Owen Taylor  <otaylor@gtk.org>
3101
3102         * docs/gtk_tut.sgml: Fixed urls for complete example
3103         source for scribble+widget-writing examples.
3104
3105 Sat Jun 13 11:48:26 1998  Owen Taylor  <otaylor@gtk.org>
3106
3107         * gdk/gdkpixmap.c (gdk_pixmap_extract_color): 
3108         Patch from Tom Bech <tomb@ii.uib.no>, to handle color
3109         specs of the form c #abcdef [ more keys ] properly.
3110
3111 Sat Jun 13 10:51:56 1998  Stefan Jeske  <stefan@gtk.org>
3112
3113         * gtkspinbutton.h gtkspinbutton.c testgtk.c 
3114         (gtk_spin_button_set_shadow_type):
3115         New API to set the shadow type of the arrow panel.
3116
3117 Fri Jun 12 21:20:42 1998  Owen Taylor  <otaylor@gtk.org>
3118
3119         * gtk/gtkoptionmenu.c (gtk_option_menu_expose): Removed
3120         code for drawing the child in two places at once. Unfortunately,
3121         not only does it not work anymore (because reparenting has
3122         been fixed), but it also triggers reparent/expose loops
3123         in some cases.
3124
3125         * gtk/gtkoptionmenu.c (gtk_option_menu_remove_contents): Removed
3126         an unecessary unrealize.
3127
3128 Fri Jun 12 21:18:56 1998  Owen Taylor  <otaylor@gtk.org>
3129
3130         * gdk/gdkwindow.c (gdk_window_reparent): Update the
3131           old and new parents' child window lists properly.
3132
3133 Fri Jun 12 09:24:47 1998  Tim Janik  <timj@gtk.org>
3134
3135         * gtk/gtkpacker.h:
3136         * gtk/gtkpacker.c: renamed enum GtkAnchor and GtkSide to GtkAnchorType
3137         and GtkSideType, to be consistent with the rest of Gtk's enum
3138         definitions. wrapped the enum definitions with the G_ eunm wrappers.
3139         spelled out the GTK_ANCHOR_* enum values, since single letters don't
3140         work out corectly as nick-names (left the old values as aliases).
3141         some signdness corrections (border-width, spacing), could stand more.
3142
3143 Thu Jun 11 14:38:33 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3144
3145         * gtk/gtkpacker.c, gtk/gtkpacker.h, gtk/gtk.h, gtk/Makefile.am: 
3146           Added gtkpacker
3147
3148         * examples/packer/pack.c, examples/packer/Makefile: Added
3149           gtkpacker example
3150
3151 Thu Jun 11 13:09:00 1998  Owen Taylor  <otaylor@gtk.org>
3152
3153         * gtk/gtktext.c (remove_cache_line): Fixed broken
3154         list-removal code.
3155
3156         * gtk/gtktext.c: (gtk_text_delete_(forward/backward)_cahr)
3157         Check bounds before deleting.
3158
3159 Wed Jun 10 23:21:33 1998  Owen Taylor  <otaylor@gtk.org>
3160
3161         * autogen.sh: Support ACLOCAL_FLAGS
3162
3163 Wed Jun 10 20:54:37 1998  Owen Taylor  <otaylor@gtk.org>
3164
3165         * gtk-config.in: Added missing quotes.
3166
3167 Wed Jun 10 18:44:22 PDT 1998 Manish Singh <yosh@gimp.org>
3168
3169         * gtk/gtkfeatures.in: #define GTK_HAVE_ACCEL_GROUP
3170
3171 1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
3172
3173         * acconfig.h (GTK_COMPILED_WITH_DEBUGGING): Renamed from
3174         G_COMPILED_WITH_DEBUGGING.
3175
3176         * configure.in (fd_set): Explain check better.
3177
3178         * acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
3179         the version from which gtk+'s libtool forked.  Needed for people
3180         who use post-1.2 alphas of libtool.
3181
3182 Wed Jun 10 19:36:35 1998  Owen Taylor  <otaylor@gtk.org>
3183
3184         * glib/* Moved to glib module
3185
3186         * INSTALL Makefile.am acconfig.h autogen.sh configure.in
3187           gtk-config.in gtk.m4 gdk/Makefile.am gtk/Makefile.am
3188
3189           configuration changes for the above:
3190          
3191           - Use AM_PATH_GLIB by default to find glib; also accept
3192             a --with-glib option for using an uninstalled glib.
3193          
3194           - Put --enable-debug information into config.h so
3195             that we rebuild when it changes. (was in glibconfig.h)
3196
3197 Wed Jun 10 22:23:27 1998  Lars Hamann  <lars@gtk.org>
3198
3199         * gtk/gtkctree.c (draw_row): adapted clist pixmap clipping
3200
3201         * gtk/gtknotebook.h (struct _GtkNotebookClass):
3202         * gtk/gtknotebook.c (gtk_real_notebook_switch_page): 
3203         added missing argument (according to Joseph Coleman's bug report)
3204
3205         * gtk/gtknotebook.c (gtk_notebook_set_focus_child): new class
3206         function to fix notebook focus handling
3207         
3208 Wed Jun 10 12:57:03 1998  Owen Taylor  <otaylor@gtk.org>
3209
3210         * gdk/gdkcc.c glib/ghash.c glib/glib.h glib/gstring.c
3211           glib/gutils.c glib/testglib.c glib/gdataset.c
3212           gtk/gtkaccelgroup.c gtk/gtkmain.c gtk/gtksignal.c
3213           gtk/gtktext.c gtk/gtkbindings.c:
3214
3215          renamed g_const_pointer => gconstpointer
3216
3217 Wed Jun 10 06:25:17 1998  Tim Janik  <timj@gtk.org>
3218
3219         * gdk/gdk.c (gdk_init): prevent gdk_init() from segfaulting when
3220         invoked with (NULL, NULL); (this worked sometime ago).
3221
3222         * gtk/gtktypeutils.h: 
3223         * gtk/gtktypeutils.c: enum and flags type creation can now be done
3224         through gtk_type_register_enum() and gtk_type_register_flags(),
3225         which allow to specify the enum value arrays directly.
3226         the NULL terminated value arrays can be retrived through
3227         gtk_type_enum_get_values() and gtk_type_flags_get_values();
3228         (gtk_type_children_types): new function to query derived types.
3229
3230 1998-06-09  Raja R Harinath  <harinath@cs.umn.edu>
3231
3232         * gtk/Makefile.am (gtkmarshal.c gtkmarshal.h): Pass $srcdir in
3233         environment to genmarshal.pl.
3234         (gtk.defs,gtktypebuiltins*): Add $(srcdir) where needed (in the
3235         rule), and removed it where not needed (in the dependencies).
3236
3237         * gtk/genmarshal.pl: Look for `gtkmarshal.list' in $srcdir.
3238
3239 Tue Jun  9 18:44:57 1998  Owen Taylor  <otaylor@gtk.org>
3240
3241         * gtk/gtkobject.c: Removed g_object_pointer_hash, which
3242         was just g_direct_hash.
3243
3244 Mon May 25 19:54:20 1998  Owen Taylor  <otaylor@gtk.org>
3245
3246         * configure.in: x_libs=, not $x_libs=. Enough said.
3247           (Case only hit for --disable-xshm)
3248         
3249 Mon May 25 12:08:14 1998  Owen Taylor  <otaylor@gtk.org>
3250
3251         * configure.in (LDFLAGS): Add to $CFLAGS and $LDFLAGS
3252           when testing for X libraries, don't replace them. Because
3253           the user might have specified the path to the X libraries
3254           themself before running configure.
3255
3256         * examples/**.c: Changed all gpointer * to gpointer
3257         
3258 1998-06-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3259
3260         * gtk/gtkhandlebox.h (struct _GtkHandleBox): Removed the
3261         fleur_cursor field.  Now the cursor is created/destroyed on demand
3262         by the routines that need it.
3263
3264         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): 
3265         (gtk_handle_box_motion): The fleur cursor is created and destroyed
3266         only when needed.
3267
3268 Tue Jun  9 09:57:09 1998  Tim Janik  <timj@gtk.org>
3269
3270         * gtk/gtktypeutils.h: 
3271         * gtk/gtktypeutils.c: renamed the newly created gtk_enum_get_values and
3272         gtk_enum_set_values to gtk_type_enum_get_values and
3273         gtk_type_enum_set_values respectively, since they are actually type
3274         system features.
3275
3276         * gtk/gtktypebuiltins_evals.c: oops, screwed the NULL termination with
3277         my last commit. ;)
3278
3279 Tue Jun  9 01:57:23 1998  Tim Janik  <timj@gtk.org>
3280
3281         * gtk/gtkselection.h: 
3282         * gtk/gtkselection.c: new functions gtk_selection_data_copy and
3283         gtk_selection_data_free.
3284
3285         * gtk/gtkwidget.c (gtk_widget_class_init): fixed gtk_signal_new() call
3286         for "selection_received", which was completely bogus.
3287         * other fixups to gtk_signal_new() calls all over the place.
3288
3289         * gtk/gtktypebuiltins.h: types as variables (formerly macros).
3290         * gtk/gtktypebuiltins_vars.c: type variable implementations.
3291         * gtk/gtktypebuiltins_ids.c: array entries for builtin type
3292         declarations.
3293         * gtk/gtktypebuiltins_evals.c: enum value arrays.
3294         * gtk/gtk-boxed.defs: gtk and gdk structure definitions, used to build
3295         gtk.defs.
3296         * gtk/gtk.defs: generated file with scheme syntax for type definitions
3297         of gtk and gdk structures and enums.
3298         * gtk/gtktypeutils.h: 
3299         * gtk/gtktypeutils.c: reworked type ids, so they are variables not
3300         macros anymore (this fixes binary incompatibility with new enum
3301         definitions).
3302
3303         * gtk/gtkwidget.c (gtk_widget_real_key_press_event): proccess possible
3304         key bindings for this widget.
3305         * gtk/gtkwindow.c (gtk_window_key_press_event): chain parent class'
3306         handler.
3307
3308         * gtk/gtkobject.h:
3309         * gtk/gtkobject.c: removed gtk_object_class_new_user_signal_no_recurse()
3310         again. new functions gtk_object_class_user_signal_new () and
3311         gtk_object_class_user_signal_newv (), to feature the GtkSignalRunType
3312         flag on the signal creation.
3313
3314 Mon Jun  8 20:52:21 1998  Tim Janik  <timj@gtk.org>
3315
3316         * gtk/gtkcontainer.h: new signal GtkContainer::set_focus_child.
3317
3318 Mon Jun  8 02:52:37 1998  Tim Janik  <timj@gtk.org>
3319
3320         * gdk/gdkprivate.h: 
3321         * gdk/gdktypes.h: 
3322         * gtk/gtkprivate.h: 
3323         * gtk/gtkwidget.h: 
3324         * gtk/gtkobject.h: wrapped enum definitions with glib macros.
3325
3326         * reworked enum value array generation code. gtk.defs is a generated
3327         file now.
3328
3329 Sun Jun  7 14:34:31 1998  Tim Janik  <timj@gtk.org>
3330
3331         * gtk/gtkitemfactory.c (gtk_item_factory_create_menu_entries): feature
3332         check menu items in the compatibility code (this required me to remove
3333         the "<check>" part from the menu item name, grrr).
3334
3335 1998-06-07  Marius Vollmer  <mvo@zagadka.ping.de>
3336
3337         * gdk/gdk.h (gdk_color_copy, gdk_color_free): New prototypes.
3338         * gdk/gdk.c (gdk_color_copy, gdk_color_free): New functions.
3339         
3340 Sun Jun  7 10:53:02 1998  Tim Janik  <timj@gtk.org>
3341
3342         * gtk/gtkitemfactory.h: 
3343         * gtk/gtkitemfactory.c: further additions to fit the gimp's code.
3344         additions to the dumping code to feature GtkPatternSpec.
3345         even found a bug to fix in the original code ;)
3346         
3347 Sun Jun  7 09:36:04 1998  Tim Janik  <timj@gtk.org>
3348
3349         * gtk/gtkitemfactory.c: support different types of callbacks, to
3350         maintain existing code.
3351
3352 Sat Jun  6 06:01:24 1998  Tim Janik  <timj@gtk.org>
3353
3354         * gtk/gtksignal.c (gtk_signal_emitv): fixed an assertment.
3355
3356         * gtk/makeenums.awk: a script to generate the GtkEnumValue arrays from,
3357         this should eventually be done by gentypeinfo.el somewhen.
3358         * gtk/gtkenumvalues.c: new generated file to hold GtkEnumValue arrays.
3359
3360         * gtk/gtktypeutils.h: new function gtk_enum_values() to retrive all the
3361         enum values of an enum type.
3362
3363         * gtk/gtk.defs:
3364         * gtk/gtkcurve.h: 
3365         * gtk/gtkobject.h: 
3366         * gtk/gtkprivate.h: 
3367         * gtk/gtkwidget.h:
3368         * gtk/gtkenums.h: 
3369         brought enum/flags definitions in sync, added a few more enum
3370         definitions for bindings and pattern matching.
3371
3372         * some more macro and GtkType fixups in various places.
3373
3374         * gdk/gdktypes.h (enum): added a new value GDK_AFTER_MASK, which is used
3375         as a key-release modifier for the binding system.
3376
3377 Fri Jun  5 06:06:06 1998  Tim Janik  <timj@gtk.org>
3378
3379         * gtk/gtkmenu.h (struct _GtkMenu): removed GList*children, since it
3380         was a stale list pointer that is already present in GtkMenuShell.
3381
3382         * gtk/gtkmenushell.h (struct _GtkMenuShellClass): added a signal
3383         GtkMenuShell::selection_done which is emitted after the menu shell
3384         poped down again and all possible menu items have been activated.
3385
3386 Thu Jun  4 02:20:42 1998  Tim Janik  <timj@gtk.org>
3387
3388         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): flush the x-queue
3389         before activation of the menuitem, so the menu is actually taken off the
3390         screen prior to any menu item activation.
3391
3392         * gtk/gtkctree.c (gtk_ctree_get_row_data): allow function invokation
3393         for NULL nodes.
3394
3395         * gtk/gtkwidget.h:
3396         * gtk/gtkwidget.c: new function gtk_widget_stop_accelerator to stop
3397         the emission of the "add-accelerator" signal on a widget. this is
3398         usefull to prevent accelerator installation on certain widgets.
3399
3400         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): keep the menu
3401         labels left justified, by setting their alignment. stop accelerator
3402         installation for the menu items, since we use dynamic menus.
3403
3404 Wed Jun  3 06:41:22 1998  Tim Janik  <timj@gtk.org>
3405
3406         * gtk/gtkmenufactory.c: adaptions to use the new accel groups. people
3407         should *really* use GtkItemFactory. this is only for preserving source
3408         compatibility where possible, use of GtkMenuFactory is deprecated as of
3409         now.
3410
3411         * gtk/gtkobject.h (gtk_object_class_add_user_signal): new function
3412         to create user signals of type GTK_RUN_NO_RECURSE. don't know why i
3413         missed this possibility when i added gtk_object_class_add_user_signal
3414         in late january.
3415
3416         * gtk/gtkmain.c (gtk_init): ignore subsequent function calls.
3417
3418 Sun May 31 07:31:09 1998  Tim Janik  <timj@gtk.org>
3419
3420         * gtk/gtkaccelgroup.h: 
3421         * gtk/gtkaccelgroup.c: new implementation of the accelerator concept.
3422
3423         * gtk/gtkaccellabel.h: 
3424         * gtk/gtkaccellabel.c: new widget derived from GtkLabel whitch features
3425         display of the accelerators associated with a certain widget.
3426
3427         * gtk/gtkitemfactory.h: 
3428         * gtk/gtkitemfactory.c: new widget, item factory with automatic rc
3429         parsing and accelerator handling.
3430
3431         * gtk/gtkmenu.c (gtk_menu_reposition): new function to care for
3432         positioning a menu.
3433         (gtk_menu_map): removed the allocation code.
3434         (gtk_menu_size_allocate): care for redrawing of children and resize
3435         our widget->window correctly.
3436         (gtk_menu_key_press): feature the new accelerator groups.
3437
3438         * gtk/gtkmenuitem.c (gtk_menu_item_size_allocate): reposition the
3439         submenu if neccessary.
3440
3441         * gtk/gtkmenuitem.c:
3442         * gtk/gtkcheckmenuitem.c:
3443         * gtk/gtkradiomenuitem.c: use GtkAccelLabel in the *_new_with_label()
3444         function variants.
3445
3446         * gdk/gdk.c:
3447         (gdk_keyval_from_name): 
3448         (gdk_keyval_name): new functions for keyval<->key-name associations.
3449         (gdk_keyval_to_upper): 
3450         (gdk_keyval_to_lower): 
3451         (gdk_keyval_is_upper): 
3452         (gdk_keyval_is_lower): new functions to check/translate keyvalues with
3453         regards to their cases.
3454
3455 Wed May 27 00:48:10 1998  Tim Janik  <timj@gtk.org>
3456
3457         * gtk/gtkwidget.c (gtk_widget_class_path): new function to calculate a
3458         widget's class path.
3459         (gtk_widget_path): new function to calculate a widget's name path.
3460
3461         * gtk/gtkrc.c: newly introduced GtkPatternSpec structures to speed up
3462         pattern matching, features reversed pattern matches.
3463
3464 Thu Jun  4 12:12:11 BST 1998  Tony Gale  <gale@gtk.org>
3465
3466         * examples/extract.sh, examples/extract.awk:
3467           New files to automagically extract code examples from the
3468           tutorial.
3469
3470 Tue Jun  2 20:04:45 1998  Lars Hamann  <lars@gtk.org>
3471
3472         * gtk/gtknotebook.c (gtk_notebook_page_select) (gtk_notebook_focus)
3473         * gtk/gtkcontainer.c (gtk_container_focus_move):
3474         reversed test sequence for GTK_WIDGET_CAN_FOCUS and GTK_IS_CONTAINER
3475
3476 Tue Jun  2 13:04:06 BST 1998  Tony Gale  <gale@gtk.org>
3477
3478         * docs/gtk_tut.sgml: minor changes to support auto
3479           extraction of example code
3480
3481 Mon Jun  1 12:47:56 BST 1998  Tony Gale  <gale@gtk.org>
3482
3483         * docs/gtk_tut_it.sgml: Update of Italian Tutorial
3484           to Tutorial of 24th May, from Daniele Canazza <dcanazz@tin.it>
3485
3486 Fri May 29 13:53:57 BST 1998  Tony Gale  <gale@gtk.org>
3487
3488         * docs/gtk_tut.sgml:
3489           - new section on Events
3490           - change all delete_event callbacks to include
3491             a GdkEvent parameter
3492           - clean up the formatting
3493
3494         * examples - helloworld.c, helloworld2.c, notebook.c,
3495           packbox.c, pixmap.c, progressbar.c, radiobuttons.c,
3496           rulers.c, table.c, wheelbarrow.c: change all delete_event
3497            callbacks to include a GdkEvent parameter.
3498
3499 1998-05-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3500
3501         * gdk/gdktypes.h (GdkCrossingMode): New enumeration for the "mode"
3502         field of crossing events.
3503         (struct _GdkEventCrossing): Added the following fields: time, x,
3504         y, x_root, y_root, mode, focus, state.
3505
3506         * gdk/gdk.c (gdk_event_translate): Fill in the new fields of the
3507         crossing event structure.
3508
3509         * gtk/gtkfeatures.h (GDK_HAVE_FULL_CROSSING_EVENT): Annotate
3510         changes to the crossing event structure.
3511
3512 Tue May 26 15:51:28 1998  Radek Doulik  <gis@academy.cas.cz>
3513
3514         * gdk/gdk.c: include gdkx.h always (for GDK_ROOT_WINDOW)
3515
3516 Sun May 24 12:11:38 BST 1998  Tony Gale  <gale@gtk.org>
3517
3518         * docs/gtk_tut.sgml:
3519            - GtkTooltips, update to current API
3520            - change all 'gpointer *data' to 'gpointer data'
3521            - other minor changes
3522
3523 Sat May 23 21:54:05 1998  Owen Taylor  <otaylor@gtk.org>
3524
3525         * configure.in (LDFLAGS): Bomb out with a moderately
3526           helpful message if detection of X libraries fails.
3527
3528 Sat May 23 18:57:06 1998  Owen Taylor  <otaylor@gtk.org>
3529
3530   [ Combination of:
3531      gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
3532      gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
3533
3534         * gdk/gdk.h gdk/gdkcc.c gdk/gdkfont.c gtk/gtkmain.c
3535           gtk/gtksignal.c gtk/gtktext.c: 
3536
3537           Fixups for warnings from adding const to type of GHashFunc,
3538           GCompareFunc
3539         
3540         * gtk/gtkcombo.c (gtk_combo_entry_key_press): Minor style/
3541           ansi-warnings fixups.
3542
3543 Sat May 23 17:48:58 1998  Owen Taylor  <otaylor@gtk.org>
3544
3545         * gtk/gtkeventbox.c (gtk_event_box_size_allocate): 
3546         Locate child at (border_width,border_width), not
3547         (2*border_width,2*border_width). [ The border is _outside_
3548         widget->window ]
3549         
3550         * gdk/gdk.[ch]: added gdk_screen_width_mm/gdk_screen_height_mm
3551           functions. [From: Alexander Larsson <alla@lysator.liu.se> ]
3552
3553 1998-05-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3554
3555         * gtk/gtkfeatures.h.in: Define GTK_HAVE_RC_SET_IMAGE_LOADER, to be
3556         used in gnome-libs
3557
3558 1998-05-22    <sopwith@redhat.com>
3559
3560         * gtk/gtkeventbox.c: Pass size_allocate on to the child
3561         regardless of whether it is visible or not. Also
3562         locate child at (border_width,border_width), not (0,0)
3563
3564 Fri May 22 03:02:40 1998  Owen Taylor  <otaylor@gtk.org>
3565
3566         * gtk/gtkhandlebox.c: Added style_set handler.
3567
3568 Fri May 22 02:55:57 1998  Owen Taylor  <otaylor@gtk.org>
3569  [ From: Chris Lahey  <clahey@umich.edu> ]
3570         
3571         * gtk/gtkeditable.c, gtk/gtkeditable.h,
3572           gtk/gtktext.c, gtk/gtkentry.c: Added get_position,
3573           and set_position functions to get and set the cursor position.
3574
3575         * gtk/gtkeditable.c: Restored "insert_text" and "delete_text" to
3576           signal status. Make GtkText do user-controlled insertion
3577           and deletion through the Editable widget so that these
3578           signals are properly emitted.
3579
3580         * gtk/gtkentry.c: Changed gtk_entry_set_visibility to 
3581           display asterisks instead of empty space when visible = FALSE)
3582
3583 Fri May 22 08:51:10 CEST 1998  Paolo Molaro <lupus@debian.org>
3584
3585         * gtk/gtkclist.c: use GTK_TYPE_GDK_EVENT in (un)?select_row
3586         signal.
3587
3588 1998-05-21    <sopwith@redhat.com>
3589
3590         * gtk/gtkrc.[ch]: gtk_rc_set_image_loader() - allow apps to set a
3591         custom routine for loading images specified in gtkrc's.
3592
3593 Tue May 19 23:41:04 1998  Owen Taylor  <otaylor@gtk.org>
3594
3595         * configure.in: Use pthread_attr_init() as a test function,
3596         since most of the rest of -lpthread is macros on DU4.
3597
3598 Tue, 19 May 1998 09:03:03 +0200  Paolo Molaro <lupus@debian.org>
3599
3600         * gtk/gtkcombo.c: implemented completion in the entry.
3601
3602 1998-05-18    <sopwith@moebuis.labs.redhat.com>
3603
3604         * gtk/gtk{debug.h,signal.c,main.c}: Allow GTK_DEBUG=signals
3605
3606 Mon May 18 04:01:41 1998  Tim Janik  <timj@gtk.org>
3607
3608         * gtk/gtkwidget.c (gtk_widget_class_init): changed "proximity-in-event",
3609         "drop-data-available-event", "drop-enter-event" and "drop-leave-event"
3610         to be of runtype GTK_RUN_LAST.
3611
3612         * gtk/gtkcontainer.c (gtk_container_class_init): likewise for
3613         "need-resize".
3614
3615         * gtk/gtktipsquery.c (gtk_tips_query_class_init): likewise for
3616         "widget-selected".
3617
3618 Sat May 16 09:04:32 1998  Tim Janik  <timj@gtk.org>
3619
3620         * gtk/gtkfilesel.c (gtk_file_selection_key_press): g_strdup() the
3621         text retrived from GtkEntry. only intercept the Tab key if there
3622         was some text to complete.
3623
3624 Fri May 15 21:16:54 1998  Owen Taylor  <otaylor@gtk.org>
3625
3626         Basic thread-awareness:
3627
3628         * acconfig.h configure.in: New option --with-threads=[yes/posix/no]
3629
3630         * gdk/Makefile.am gdk/gdkthreads.c: Added new functions 
3631         gdk_threads_[init/enter/leave] for applications, plus
3632         gdk_threads_wake to wake the mainloop thread out of
3633         the select().
3634
3635         * gtk/Makefile.am: gtk/testthreads.c: Test program for threads
3636
3637 Fri May 15 12:08:48 1998  Owen Taylor  <otaylor@gtk.org>
3638
3639         * gtk/testgtk.c (list_clear): Account for the fact
3640         that gtk_list_clear_items is not inclusive. (Clears
3641         [start, end))
3642
3643 Fri May 15 12:31:27 1998  rodo  <doulik@karlin.mff.cuni.cz>
3644
3645         * gdk/gdk.c: include gdkkeysyms.h always
3646         
3647
3648 Fri May 15 09:44:10 1998  Tim Janik  <timj@gtk.org>
3649
3650         * gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of
3651         the visibility_notify_event method and changed method order.
3652
3653 1998-05-14    <sopwith@moebuis.labs.redhat.com>
3654
3655         * gtk/gtkwidget.[ch] Added visibility_notify_event to GtkWidget
3656
3657 Thu May 14 03:04:43 1998  Tim Janik  <timj@gtk.org>
3658
3659         * gtk/gtk.defs: added GtkButtonBoxStyle and GtkOrientation definitions
3660         from Olli Helenius <ollhel@batman.jytol.fi>.
3661
3662         * gtk/gtktypeutils.c (gtk_type_free): new function to take care about
3663         freeing types.
3664         (gtk_type_set_chunk_alloc): new function to allow allocation of new
3665         types from a mem_chunk of certain size (n_chunks==0 indicates allocation
3666         thorugh g_malloc).
3667
3668         * gtk/gtkobject.c (gtk_object_finalize): free an object through
3669         gtk_type_free().
3670
3671         * gtk/gtkbutton.c (gtk_button_get_type): set chunk preallocation for
3672         GtkButtons to 16.
3673         * gtk/gtkmenuitem.c (gtk_menu_item_get_type): likewise (16).
3674         * gtk/gtklabel.c (gtk_label_get_type): likewise (32).
3675
3676 Wed May 13 00:53:52 1998  Owen Taylor  <otaylor@gtk.org>
3677
3678         * gtk/gtktypeutils.c gtk/gtksignal.c gdk/gdkdnd.c: A few more 
3679           GPOINTER_TO_UINT fixes.
3680
3681         * gtk/gtksignal.c: Include <string.h> for memset.
3682
3683 Tue May 12 23:10:53 1998  Owen Taylor  <otaylor@gtk.org>
3684         (Maximilian Bisani <bisani@kawo2.rwth-aachen.de>: gtk-bisani-980320-0)
3685
3686         * gtk/gtkvruler.c gtk/gtkhruler.c gtk/gtkruler.h: 
3687         Cleanups, comments and the ability to have rulers with 
3688         a reversed direction.
3689
3690 Tue May 12 19:37:55 1998  Owen Taylor  <otaylor@gtk.org>
3691
3692         * gtk/gtkrc.c (gtk_rc_parse_file): Fixed up a stat()
3693         that Sopwith missed when changing stat => lstat.
3694
3695 Tue May 12 19:19:29 1998  Owen Taylor  <otaylor@gtk.org>
3696
3697         * gtk/gtkinputdialog.c gtk/gtkgamma.c gtk/gtkrc.c
3698           gtk/gtkcolorsel.c gtk/gtkclist.c gtk/testgtk.c: Use
3699         GPOINTER_TO_INT/GINT_TO_POINTER macros where appropriate.
3700
3701         * gdk/gdk.c: Print sizeof() results
3702         as g_print("%ld", (glong)sizeof(foo)), to deal with
3703         sizeof() being long on Alpha's.
3704
3705         * gtk/testgtk.c: include <string.h> for strlen
3706
3707 Tue May 12 16:56:35 1998  Owen Taylor  <otaylor@gtk.org>
3708         (James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
3709         
3710         * gtk/gtkbbox.h gtk/gtkcolorsel.h gtk/gtkvbbox.h:
3711         Changed #include "gtkfoo.h" to #include <gtk/gtkfoo.h>
3712
3713         * gtk/gtkwindow.[ch]: Added const to gtk_window_set_wmclass
3714
3715 Tue May 12 15:16:10 1998  Owen Taylor  <otaylor@gtk.org>
3716         (From: Christopher James Lahey <clahey@umich.edu>)
3717         
3718         * gtk/gtkbutton.[ch] gtk/gtkenums.h gtk/gtktoolbar.[ch]
3719           gtk/testgtk.c:
3720
3721         Added 'relief' for buttons - they can be either GTK_RELIEF_NORMAL
3722         (old style), or GTK_RELIEF_NONE - no relief in the NORMAL
3723         state. Added gtk_toolbar_{set,get}_button_relief, which set/get
3724         the default relief for the toolbars buttons. Added an
3725         toggle for the toolbar test in testgtk.c.
3726
3727 Tue May 12 00:24:59 1998  Owen Taylor  <otaylor@gtk.org>
3728
3729         * docs/gtk-config.1: Rewritten and hopefully improved.
3730
3731 Mon May 11 20:26:39 PDT 1998 Manish Singh <yosh@gimp.org>
3732
3733         * docs/Makefile.am
3734         * docs/gtk-config.1: added man page for gtk-config by Ben Gertzfield
3735
3736 1998-05-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3737
3738         * gtk/gtkpreview.c (gtk_preview_realize): Create the window using
3739         GtkPreview's visual and colormap, otherwise things can BadMatch.
3740
3741         * gtk/testgtk.c (create_color_preview): 
3742         (create_gray_preview): Removed pushing/popping of visual/colormap
3743         now that GtkPreview does things correctly.
3744
3745         * gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel_frame): 
3746         (gtk_color_selection_draw_wheel): Pick the style from the correct
3747         place (the colorsel->wheel_area widget) so that the GCs will match
3748         with where we are going to paint to.
3749
3750         * gtk/testgtk.c (create_color_selection): Removed pushing/popping
3751         of visual/colormap now that GtkColorSelection does things the
3752         right way.
3753
3754 Mon May 11 21:04:51 1998  Owen Taylor  <otaylor@gtk.org>
3755
3756         * gtk/gtkwindow.c (gtk_real_window_move_resize): Use the
3757         previously unused window->need_resize flag to mark if a window's
3758         descendents changed size while the window was not visible. In this
3759         case, when the window becomes visible, we reallocate everything,
3760         since we didn't keep track of what actually changed.
3761
3762         (Fixes bug where changing the popdown strings of a
3763         combo to something of the same length caused them to
3764         blank out, as reported by Todd Dukes <tdukes@ibmoto.com>)
3765
3766 Tue May 12 02:31:57 1998  Tim Janik  <timj@gtk.org>
3767
3768         [security audit by Alan Cox]
3769
3770         * gtk/gtkobject.c (gtk_object_get_arg_type): check for arg_name to not
3771         exceed maximum assumed size.
3772
3773         * gtk/gtkmenufactory.c (gtk_menu_factory_create): check that `path' does
3774         not exceed maximum assumed size.
3775         (gtk_menu_factory_remove): likewise.
3776         (gtk_menu_factory_find_recurse): likewise.
3777
3778 Mon May 11 23:53:38 1998  Tim Janik  <timj@gtk.org>
3779
3780         * gtk/gtkwidget.c (gtk_widget_queue_resize): queue the idle_sizer with
3781         GTK_PRIORITY_INTERNAL - 1, so widgets get first resized and then
3782         redrawn if that is still neccessary. don't allow queueing of already
3783         destructed objects.
3784         (gtk_widget_idle_sizer): proccess the resize queue in a save manner, so
3785         widgets which are in the queue can be destroyed safely, handle
3786         requeueing properly.
3787         (gtk_widget_idle_draw): proccess the redraw queue in a save manner, so
3788         widgets which are in the queue can be destroyed/unrealized safely.
3789
3790 Mon May 11 17:54:44 BST 1998 Tony Gale  <gale@gtk.org>
3791
3792         * gtkfaq.sgml: add question on multi-threading,
3793           minor URL cleanups.
3794
3795 Mon May 11 09:56:45 1998  Tim Janik  <timj@gtk.org>
3796
3797         * configure.in (cflags_set): preserve automake CFLAGS.
3798
3799         * Makefile.am: fully rename the created libraries to libgtk-1.1.la
3800         and libgdk-1.1.la. this means we need to change certain portions of
3801         the Makefile.am on major/minor version bumps.
3802
3803         * ltmain.sh: the -release option is not required anymore.
3804         
3805         * gtk/gtkobject.h (gtk_trace_referencing): compile time check the type
3806         of the first argument to be of type GtkObject. unconditionally compile
3807         this function. removed __GNUC__ dependancy of the gtk_object_ref and
3808         gtk_object_unref macro wrappers for this function.
3809
3810 Mon May 11 02:31:19 1998  Tim Janik  <timj@gtk.org>
3811
3812         * gtk/gtkobject.h:
3813         * gtk/gtkobject.c:
3814         (gtk_object_data_try_key):
3815         (gtk_object_data_force_id): these are now macros substituting the old
3816         functions. we just use the corresponding g_dataset_* functions for
3817         key->id associations. (this is to assure unique key<->id associations).
3818
3819 1998-05-10  Stefan Jeske  <stefan@gtk.org>
3820
3821         * gtk/gtkctree.c (gtk_ctree_is_visible): Changed return value
3822         to gboolean.
3823
3824         * docs/gtk.texi (GtkCTree): Started documentation of GtkCTree.
3825
3826 Sat May  9 20:11:20 1998  Owen Taylor  <otaylor@gtk.org>
3827
3828         * configure.in (LIBS): Try to figure out if this
3829         is Digital Unix and we need -std1 to get the
3830         right prototypes.
3831
3832 Sat May  9 16:30:33 BST 1998 Tony Gale  <gale@gtk.org>
3833
3834         * docs/gtk_tut_it.sgml: update of Italian tutorial
3835           translation from Daniele Canazza <dcanazz@tin.it>
3836
3837 Sat May  9 02:34:41 1998  Tim Janik  <timj@gtk.org>
3838
3839         * gtk/gtkfeatures.h.in: new file used as template for
3840         * gtk/gtkfeatures.h: new file to define macros indicating newly
3841         introduced features, such as GTK_HAVE_SIGNAL_INIT.
3842
3843         * gtk/gtksignal.c:
3844         (gtk_signal_emitv_by_name):
3845         (gtk_signal_emitv):
3846         new functions to emit signals with an already provided parameter set.
3847         (provided by Kenneth Albanowski <kjahds@kjahds.com>).
3848         (gtk_signal_real_emit): prototype changes, so this functions always
3849         gets its parameters and signal structure as arguments.
3850         (gtk_signal_emit): provide the signal structure and parameter list for
3851         gtk_signal_real_emit.
3852         (gtk_signal_emit_by_name): likewise.
3853
3854 Sat May  9 00:03:12 1998  Tim Janik  <timj@gtk.org>
3855
3856         * gtk/gtksignal.c (gtk_signal_handler_unref): reflect the presence of
3857         signal connections through unsetting GTK_CONNECTED.
3858         (gtk_signal_handler_insert): reflect the presence of signal connections
3859         through setting GTK_CONNECTED.
3860         (gtk_signal_real_emit): only check for handler emissions if the object
3861         has the GTK_CONNECTED flag set.
3862         (gtk_signal_handler_pending): don't check for pending handlers if the
3863         GTK_CONNECTED flag is not set for this object.
3864
3865         * gtk/gtkobject.h (enum): new flag GTK_CONNECTED to indicate whether
3866         a GtkObject has signal handler connections.
3867
3868         * gtk/gtkobject.c (gtk_object_real_destroy): only if GTK_CONNECTED is
3869         set for this object call gtk_signal_handlers_destroy().
3870         
3871         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): deprecated macro, since it caused
3872         multiple processing of macro args.
3873
3874         * gtk/gtktypeutils.c:
3875         * gtk/gtkobject.c:
3876         * gtk/gtkwidget.c:
3877         * gtk/gtksignal.c: reverted GTK_TYPE_IS_A back to gtk_type_is_a.
3878
3879 Fri May  8 21:31:50 1998  Owen Taylor  <otaylor@gtk.org>
3880
3881         * gtk/gtkwidget.c (gtk_widget_queue_draw): Free the
3882         draw-queue when we are done. 
3883
3884         (gtk_widget_queue_draw/_queu_resize): Always return
3885         FALSE and avoid having two idles at the same time.
3886         
3887 Fri May  8 21:04:00 1998  Owen Taylor  <otaylor@gtk.org>
3888
3889         * gtk/gtktext.c: Various fixes to make sure cache
3890         lines are freed if line_start_cache doesn't point to the
3891         beginning of the cache.
3892
3893 Thu May  7 09:44:22 1998  Owen Taylor  <otaylor@gtk.org>
3894
3895         * style_set improvements for GtkText and GtkEntry
3896
3897 Thu May  7 19:03:50 1998  Tim Janik  <timj@gtk.org>
3898
3899         * gtk/gtktypeutils.c (gtk_type_unique): asure that the type system has
3900         been initialized.
3901
3902 Thu May  7 12:52:45 1998  Tim Janik  <timj@gtk.org>
3903
3904         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): allocate object
3905         data chunks through a global object data structure list. unlink
3906         object data before invoking its destroy function.
3907         (gtk_object_finalize): slight modification to allow usage of object
3908         data during object finalization.
3909
3910 Thu May  7 10:29:24 1998  Tim Janik  <timj@gtk.org>
3911
3912         * gtk/gtksignal.c (gtk_signal_newv): suport middle dashes ('-') in
3913         signal names, e.g. "signal-name" is now an alias for "signal_name".
3914         (gtk_signal_handler_new): allocate handlers through a global handler
3915         structure list, that's faster than memchunks.
3916         (gtk_emission_new): allocate emissions through a global emission
3917         structure list, that's faster than memchunks.
3918
3919 Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
3920
3921         * gtk-config.in (--libs): postfix -lg* libraries with LT_RELEASE.
3922
3923         * ltmain.sh: added a new commandline flag -postfix similar to -release,
3924         but will immediately change the library name.
3925
3926         * gdk/Makefile.am:
3927         * gtk/Makefile.am: specify -postfix and -version-info
3928
3929         * configure.in: version bump to 1.1.0. added GTK_INTERFACE_AGE and
3930         GTK_BINARY_AGE. calculate LT_* variables for libtool.
3931
3932 1998-05-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3933
3934         * gtk/gtkclist.c (draw_row): Fixed incorrect painting of row
3935         background (fg_set -> bg_set confusion).
3936
3937 1998-05-06  Stefan Jeske  <stefan@gtk.org>
3938
3939         * gtk/testgtk.c (unselect_all): Removed code that caused an
3940         endless loop.
3941
3942 Wed May  6 02:16:34 1998  Tim Janik  <timj@gtk.org>
3943
3944         * gtk/gtksignal.c: reimplemented the signal storage system to use a
3945         linear array rather than a hash table.
3946         be carefull *not* to keep any GtkSignal pointers across invokations
3947         of gtk_signal_next_and_invalidate() and therefore gtk_signal_new[v]().
3948         general code cleanups, made all allocations through memchunks.
3949         (gtk_signal_lookup): we now do the lookup of signals through a key_id
3950         for the signal names to avoid multiple hashing of the signal name on
3951         lookups for the several hirarchy levels of an object.
3952
3953 Tue May  5 19:49:27 1998  Owen Taylor  <otaylor@gtk.org>
3954
3955         * gdk/gdkpixmap.c: Patches from Gordon Matzigkeit
3956         to speed things up and remove code duplication.
3957
3958         Reintegrated buffer overflow patches, and added
3959         some extra paranoia.
3960         
3961 Tue May  5 17:04:14 1998  Owen Taylor  <otaylor@gtk.org>
3962
3963         * gdk/gdk.c (gdk_event_translate): A guint * was
3964         being passed where X expected a Keysym *, and
3965         keysyms are long's on Alpha Linux. This was causing
3966         segfaults in Xlib, apparently because of alignment.
3967         (Bug located by Juergen Haas <haas@forwiss.uni-passau.de>)
3968         
3969 Tue May  5 19:11:27 1998  Owen Taylor  <otaylor@gtk.org>
3970
3971         * gtk/gtkdrawingarea.c (gtk_drawing_area_realize): Always
3972         set GDK_EXPOSURE_MASK for DrawingAreas
3973
3974 Tue May  5 14:32:37 1998  Owen Taylor  <otaylor@gtk.org>
3975
3976         * gtk/gtkwidget.[ch]: removed gtk_widge_propagate_default_style
3977         (superceded by RC file reparsing capabilities)
3978
3979         * gtk/gtkwindow.c: Add handling for _GDK_READ_RFCILES client
3980         events. (Shouldn't be sent to the InputOnly leader, which
3981         it is now by gdk_event_send_clientmessage_toall
3982
3983         * gtk/testgtk.c: Added extra button to rcfiles test
3984         to send out _GDK_READ_RCFILES events.
3985         
3986 Tue May  5 11:03:00 1998  Owen Taylor  <otaylor@gtk.org>
3987
3988         * gtk/gtkselection.c (gtk_selection_clear): Fixed
3989         reversed conditionals that caused segfault on some
3990         platforms.
3991
3992 Tue May  5 00:44:47 1998  Owen Taylor  <otaylor@gtk.org>
3993
3994         * gtk/gtkcontainer.c (gtk_container_set_focus_[hv]adjustment):
3995         cast to GTK_OBJECT for gtk_object_ref.
3996
3997 Tue May  5 15:33:27 1998  Tim Janik  <timj@gtk.org>
3998
3999         * gtk/gtkmain.c (gtk_init): added gtk_signal_init() to avoid repeatedly
4000         checking for signal initialization in gtksignal.c.
4001
4002         * gtk/gtktypeutils.c (TYPE_NODES_BLOCK_SIZE): reseted this to 200 after
4003         a long debugging period ;)
4004
4005 1998-05-05  Stefan Jeske  <stefan@gtk.org>
4006
4007         * gdk/gdkgc.c gdk/gdk.h gtk/gtkctree.c (gdk_gc_set_dashes):
4008         New function to wrap XSetDashes; modified gtkctree.c to use it.
4009
4010 1998-05-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4011
4012         * configure.in: Added $x_libs in the other_libraries field in the
4013         check for XShapeCombineMask.
4014
4015 Mon May  4 00:30:11 1998  Tim Janik  <timj@gtk.org>
4016
4017         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): new macro to speedup
4018         gtk_type_is_a().
4019         * gtk/gtktypeutils.c: reimplemented the type storage system to use a
4020         linear array rather than a hash table. it actually speeded up testgtk
4021         for a *considerable* amount. be carefull *not* to keep any GtkTypeNode
4022         pointers across invokations of gtk_type_node_next_and_invalidate() and
4023         therefore gtk_type_unique()!
4024
4025         * gtk/gtkobject.h (GTK_IS_OBJECT_CLASS): new macro to test for the
4026         inheritance of a class pointer.
4027         (GTK_OBJECT): modifications for speedups.
4028         (GTK_IS_OBJECT): likewise.
4029         (GTK_OBJECT_CLASS): likewise.
4030         (suggested by owen).
4031
4032         * gtk/gtkcontainer.h (GTK_IS_CONTAINER_CLASS): new macro.
4033
4034         * gtk/gtkwidget.h (GTK_IS_WIDGET_CLASS): new macro.
4035
4036         * gtk/gtk.defs (GtkTooltips): define GtkTooltips as object not as boxed,
4037         since its derivation changed 4 month ago ;(. showed up with the unique
4038         type name checking code in gtk_type_unique().
4039
4040         * random guint->GtkType and macro fixups.
4041
4042 Sat May  2 23:14:34 1998  Owen Taylor  <otaylor@gtk.org>
4043
4044         * gtk/gtkcurve.c (gtk_curve_graph_events): Ignore
4045         Configure events that would result in a negative
4046         size.
4047
4048 Sun May  3 14:55:34 1998  Owen Taylor  <otaylor@gtk.org>
4049
4050         * docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
4051         "glibconfig.h" and another about writing another IRC
4052         client.
4053
4054 Sat May  2 00:14:05 1998  Owen Taylor  <otaylor@gtk.org>
4055
4056         * gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
4057         parameters to log are doubles. Digital Unix apparently
4058         is missing the argument in its prototype.
4059
4060 Sun May  3 19:04:46 1998  Owen Taylor  <otaylor@gtk.org>
4061
4062         * gtk/gtklabel.c (gtk_label_state_changed): Don't
4063         force a clear until the widget is actually on
4064         screen.
4065
4066 Sun May  3 21:32:35 1998  Owen Taylor  <otaylor@gtk.org>
4067
4068         * gdk/gdk.c (gdk_event_translate): Grab with OwnerEvents = False
4069         to make this consistent with the gtk-1-0 tree.
4070
4071 Sun May  3 13:38:22 1998  Owen Taylor  <otaylor@gtk.org>
4072
4073         * configure.in acheader.h gdk/gdkwindow.c 
4074         Check for Shape extension both on the client and server
4075         side. (And, more importantly, check for the shape extension
4076         so we may include -lXext even when compiling with --disable-xshm)
4077
4078         Don't set override_redirect on all shaped windows. It isn't
4079         necessary.
4080
4081         * gdk/gdkwindow.c: Set ->colormap to NULL for root 
4082         and foreign windows. Use this to check if we
4083         need to get the colormap from X.
4084
4085 Fri May  1 22:32:47 1998  Owen Taylor  <otaylor@gtk.org>
4086
4087         * gtk/gtkbutton.c (gtk_button_paint): Draw the areas
4088         between the default and the button always in GTK_STATE_NORMAL.
4089
4090         * gtk/gtkrange.c (gtk_range_style_set): Added a style_set
4091         callback.
4092
4093 Fri May  1 16:40:57 1998  Owen Taylor  <otaylor@gtk.org>
4094
4095         * gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
4096           Fix a buffer overflow on pixmaps that claim to have
4097           more than 31 characters per pixel.
4098
4099           (gdk_pixmap_read_string): Don't wrap around strings longer
4100           than half of address space ;-)
4101
4102         * gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
4103         that were used for printing integers.
4104
4105         * */* (almost):
4106
4107         Style: All 
4108           int foo () { ... }
4109         changed to
4110           int foo (void) { ... }
4111
4112         Even where there were proper prototypes elsewhere.
4113
4114         * gdk/gxid.c (handle_claim_device): Some extra checks.
4115         It isn't safe against being fed bad X id's, but at
4116         least it should be safe against deleting all your
4117         files.
4118
4119 Sun May  3 19:45:09 1998  Tim Janik  <timj@gtk.org>
4120
4121         * gtk/gtkadjustment.c (gtk_adjustment_assimilate_value): new function
4122         to set the adjustments value when there is no current emission.
4123         [ Removed by mutual agreement owt 5/3/1998 ]
4124
4125         * gtk/gtksignal.c: added new functions to retrive the number of
4126         existing emissions for a certain signal.
4127         (gtk_signal_n_emissions): new function.
4128         (gtk_signal_n_emissions_by_name): new function.
4129
4130 Sun May  3 16:55:43 1998  Tim Janik  <timj@gtk.org>
4131
4132         * gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
4133         set the current focus_child of a container, does proper referencing and
4134         adjusts the vadjustment/hadjustment associated with the focus widget.
4135
4136         * gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
4137         containers via gtk_container_set_focus_child.
4138
4139         * gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
4140         where appropriate.
4141
4142         * gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
4143         child since not every child removal goes through this function (this
4144         showed up after gtk_container_set_focus_child() started to reference the
4145         focus_child of a container).
4146
4147         * gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
4148         of a container from gtk_container_remove into this place.
4149
4150 Sat May  2 22:33:45 1998  Tim Janik  <timj@gtk.org>
4151
4152         * gtk/gtksignal.c: added new functions to operate on intermediate
4153         function pointers. implemented incremental blocking.
4154         (gtk_signal_disconnect_by_func): new function.
4155         (gtk_signal_handler_block_by_func): new function.
4156         (gtk_signal_handler_unblock_by_func): new function
4157
4158 Fri May  1 22:45:55 1998  Owen Taylor  <otaylor@gtk.org>
4159
4160         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
4161         Always show the scrollbars when the policy is
4162         GTK_POLICY_ALWAYS...
4163
4164 Sat May  2 20:19:03 1998  Tim Janik  <timj@gtk.org>
4165
4166         * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit
4167         "value_changed" if we really passed a new value.
4168         (gtk_adjustment_changed): new function to emit the "changed" signal.
4169         (gtk_adjustment_set_value): new function to emit the "value_changed"
4170         signal.
4171
4172 Fri May  1 12:28:35 1998  Owen Taylor  <otaylor@gtk.org>
4173
4174         * gtk/gtkcombo.c: Further changes to the way the window
4175         is popped up so that it will be compatible with 
4176         auto-scrolling in the future.
4177
4178 Fri May  1 20:25:29 1998  Tim Janik  <timj@gtk.org>
4179
4180         * gtk/gtkcombo.c (gtk_combo_popup_list): do not just return if
4181         the combo-list is empty since that will cause the combo to operate
4182         on a non existing GtkList window.
4183         (gtk_combo_get_pos): provide the combo list with a usfull default
4184         height if empty.
4185         (gtk_combo_popup_button_press): grab the focus.
4186         (gtk_combo_activate): grab the focus.
4187
4188 Fri May  1 12:06:43 1998  Owen Taylor  <otaylor@gtk.org>
4189
4190         * gtk/gtkwindow.[ch] (gtk_widget_reset_rc_styles): New
4191         function to reset the RC styles for a heirarchy
4192
4193         Clear the window background if necessary in
4194         gtk_window_style_set.
4195
4196         * gtk/gtkrc.[ch]: New function gtk_rc_reparse_all() which
4197         rereads all previously read RC files.
4198
4199         * gdk/gdkwindow.c gdk/gdk.h: New function gdk_window_get_toplevels().
4200         (Should it just be called gdk_get_toplevels?)
4201
4202         * gtk/testgtk.c: New test to reload RC files.
4203
4204 Fri May  1 13:57:36 1998  Tim Janik  <timj@gtk.org>
4205
4206         * gtk/gtkclist.h:
4207         * gtk/gtkclist.c: prefixed all clist flags with GTK_ to avoid name
4208         clashes. redefined GTK_CLIST_SET_FLAGS and GTK_CLIST_UNSET_FLAGS as
4209         GTK_CLIST_SET_FLAG and GTK_CLIST_UNSET_FLAG to automatically add
4210         the GTK_ prefix (this solution involved less changes in the
4211         gtkclist.c code). added a GTK_CLIST_CONSTRUCTED flag to substitute
4212         the mem_chunk==NULL test in gtk_clist_construct. merged in changes
4213         from lars & stefan to support the derivation of GtkCtree.
4214
4215         * gtkctree.h:
4216         * gtkctree.c:
4217         initial import of a tree widget derived from gtkclist, courtesy
4218         of Lars Hamann <lars@gtk.org> and Stefan Jeske <jeske@gtk.org>,
4219         it just damn rocks!
4220
4221 Fri May  1 10:05:44 1998  Tim Janik  <timj@gtk.org>
4222
4223         * gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
4224         for us.
4225         (gtk_list_insert_items):
4226         (gtk_list_remove_items_internal): 
4227         (gtk_list_clear_items): 
4228         remove a possible pointer grab, we might get thrown into a loop
4229         otherwise.
4230         (gtk_list_button_press): grab the pointer *before* selecting the child,
4231         because selection of items may cause the lists children to change,
4232         resulting in a grab release.
4233         (gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
4234         children.
4235         (gtk_list_shutdown): remove all children from the list.
4236         (gtk_real_list_unselect_child): 
4237         (gtk_real_list_select_child): *always* put our internal structures into
4238         sane state *before* signal emisions (i.e. list->selection updates prior
4239         to gtk_list_item_[de]select() calls).
4240
4241         * gtk/gtkcombo.c (gtk_combo_init): adjust the scrollbar if the lists
4242         focused child walks out of the window.
4243         removed CAN_FOCUS for the combo arrow's button since it doesn't react
4244         to keyboard events ("clicked" connection is missing).
4245
4246 Fri May  1 00:42:25 1998  Owen Taylor  <otaylor@gtk.org>
4247
4248         * gdk/gdkwindow.c (gdk_window_get_colormap): Fix up
4249         getting colormap for FOREIGN windows to go along with
4250         Raster's fix for visuals.
4251
4252 Merges from gtk-1-0
4253 ===================
4254         
4255 Thu Apr 30 23:32:51 1998  Owen Taylor  <otaylor@gtk.org>
4256
4257         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
4258         Check to catch the case when the viewport fits in either
4259         direction or both, instead of flip-flopping infinitely.
4260
4261         Only show/hide the scrollbars once at the end.
4262
4263 Thu Apr 30 21:56:07 1998  Owen Taylor  <otaylor@gtk.org>
4264
4265         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): 
4266         Include the scrollbars in the foreach call.
4267         (gtk-fortier-980405-0.patch; 
4268          Patrice Fortier <Patrice.Fortier@aquarel.fr>). 
4269
4270         The notebook widget
4271         really should also include its tabs, but that might cause
4272         problems for programs if they
4273
4274 Thu Apr 30 21:51:52 1998  Owen Taylor  <otaylor@gtk.org>
4275
4276         * gtk/gtkpixmap.c (gtk_pixmap_set): Only request a
4277         resize if the size actually changed. 
4278         (gtk-johannes-980414-0.patch ;  
4279          johannes@nada.kth.se (Johannes Keukelaar) )
4280
4281 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
4282
4283         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
4284           ltmain.sh ltconfig config.sub config.guess:
4285
4286         Reverted back to libtool-1.2 (plus minor patches) so as not to
4287         force the issue for everyone else.
4288
4289 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
4290
4291         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
4292         Updated to libtool 1.2a.
4293
4294         * gtk/gtkclist.c: Draw the in-between lines with style->base
4295         instead of style->white.
4296         
4297 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
4298
4299         * gdk/gdkprivate.h gdk/gdkwindow.c gdk/gdkpixmap.c: 
4300         Cache the colormap and children of a window locally
4301         instead of fetching them from the server when needed.
4302         Huge performance difference for creating/destroying
4303         windows.
4304
4305         * gtk/gtkstyle.c: Find the depth from the cached
4306         visual, instead of asking the server.
4307
4308         * gtk.m4: Distribute the new version which tries to
4309         figure out what went wrong and give helpful error
4310         messages.
4311
4312         * ltmain.sh ltconfig config.sub config.sh: 
4313         Updated to libtool 1.2a
4314
4315         * gtk/gtktext.c: Fixed a bug where the drawn level
4316         was being messed up when the text was scrolled
4317         during a deletion.
4318         
4319 Thu Apr 30 02:42:11 PDT 1998 Manish Singh <yosh@gimp.org>
4320
4321         * gtk/gtkfilesel.c: don't die when naughty people remove parts of
4322         the filesystem under you (fix from Josh)
4323
4324 Thu Apr 30 09:49:14 1998  Tim Janik  <timj@gtk.org>
4325
4326         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): check
4327         if the viewport already exists before iterating over it, maybe we
4328         haven't been constructed yet.
4329
4330 Thu Apr 30 01:51:00 1998  Tim Janik  <timj@gtk.org>
4331
4332         * gtk/gtkbin.c (gtk_bin_add): made this function issue a warning if
4333         the GtkBin widget already has a child.
4334
4335         * gtk/gtkbox.c (gtk_box_pack_{start|end}):
4336         check that child->parent == NULL;
4337
4338 Tue Apr 28 22:13:54 1998  Owen Taylor  <otaylor@gtk.org>
4339
4340         * gtk/gtkselection.c (gtk_selection_clear): Only return
4341         FALSE when the clear event is been rejected, not when
4342         widget has already lost the selection. (Which should
4343         only happen when we are setting the selection to another
4344         widget ourself.)
4345         
4346 Fri Apr 24 19:07:32 1998  Owen Taylor  <otaylor@gtk.org>
4347
4348         * gtk/gtkfixed.c gtk/gtkpaned.c gtk/gtktable.c:
4349
4350         Removed the "check visibility after gtk_widget_unparent" bug 
4351         in hopefully the last three places.
4352
4353 Tue Apr 28 15:46:41 1998  Tim Janik  <timj@gtk.org>
4354
4355         * gtk/gtkrc.c (gtk_rc_parse_statement): allow the inclusion of other
4356         rc-files.
4357
4358 Mon Apr 27 15:11:52 1998  Tim Janik  <timj@gtk.org>
4359
4360         * gtk/gtkwidget.c (gtk_widget_grab_focus): only allow grabbing of focus
4361         for CAN_FOCUS widgets.
4362
4363         * gtk/testgtk.c (create_scrolled_windows): feature h/v focus
4364         adjustments for the table.
4365         (create_list): feature automatic adjustment of the scrolled window to
4366         always contain the focused child.
4367         (create_main_window): keep the focussed button always inside of the
4368         scrolled windoww.
4369
4370         * gtk/gtkcontainer.c (gtk_real_container_focus): set the h/v focus
4371         adjustments, to contain the allocation of the currently focused child.
4372         (gtk_container_set_focus_hadjustment): new functin to set the
4373         horizontal focus adjustment.
4374         (gtk_container_set_focus_vadjustment): new functin to set the vertical
4375         focus adjustment.
4376
4377         * gtk/gtkadjustment.c (gtk_adjustment_clamp_page): new fucntion to
4378         clamp the currents adjustment page into a specific range.
4379
4380         * random GtkType fixups for gtk_*_get_type() functions.
4381
4382 Fri Apr 24 18:37:16 1998  Owen Taylor  <otaylor@gtk.org>
4383
4384         * gtk/gtktreeitem.c (gtk_tree_item_remove_subtree): 
4385         Account for the fact that gtk_tree_item_remove_subtree
4386         will be called recursively. 
4387
4388         Handle removing a collapsed subtree.
4389
4390         (From Andy Dustman <adustman@comstar.net>)
4391         
4392         * gtk/gtktree.c (gtk_tree_remove_items): Look for the
4393         root tree when removing items from a non-previously
4394         mapped tree.
4395
4396         * gtk/testgtk.c: Added a remove_subtree button.
4397         
4398 Thu Apr 23 23:44:17 1998  Owen Taylor  <otaylor@gtk.org>
4399
4400         * gtk/gtkobject.c (gtk_object_finalize): Notify all weak references
4401         before object removing data. This change fixes a bug where 
4402         removing the last weak references would cause it to be 
4403         triggered.
4404
4405 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
4406
4407         * gdk/Makefile.am: Removed mostly useless dependency that
4408         was causing problems for SGI's make, when used with
4409         the 'make dist' form of GTK+. (Dependency caused dependencies
4410         to be redone when BUILT_SOURCES changed)
4411
4412 Thu Apr 30 11:18:00 1998  Owen Taylor  <otaylor@gtk.org>
4413
4414         * gtk/gtkcombo.[ch]: Allow the user to use the popup list
4415         like a menu.
4416         
4417         * gtk/gtkmenuitem.c gtk/gtkitem.c: Moved enter/leave handlers
4418         to gtkitem.c so dragging can also work in lists.
4419
4420         * gtk/gtklist.[ch]: Track child enter events and use
4421         those to allow dragging the selection. 
4422
4423 Thu Apr 30 11:16:06 1998  Owen Taylor  <otaylor@gtk.org>
4424
4425         * gtk/gtktext.c: Try enabling background pixmaps for editable text
4426         widgets.  There is a bit of flashing, but not too bad. If you
4427         don't want the flashing, you can always not set a background
4428         pixmap.
4429
4430 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
4431
4432         * gtk/gtktext.c: Fixed a bug where the drawn level
4433         was being messed up when the text was scrolled
4434         during a deletion.
4435         
4436 1998-04-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4437
4438         * gdk/gdk.c (gdk_event_translate): Random debugging fixed this
4439         bug:  There is no need to set the ExposureMask in the XGrabPointer
4440         (this caused DnD programs to crash).
4441
4442 Fri Apr 24 01:29:04 1998  Tim Janik  <timj@gtk.org>
4443
4444         * gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
4445         field to be of type guint.
4446         * gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
4447         ref_count>0;
4448         (gtk_accelerator_table_install): keep a per object list of accelerator
4449         tables that refer to this object.
4450         (gtk_accelerator_table_remove): remove the accelerator table from the
4451         per object list.
4452         (gtk_accelerator_table_clean): warn if there are any object references
4453         left in an accelerator table upon destruction.
4454         (gtk_accelerator_tables_delete): new function to delete object
4455         references from the accelerator tables associated with this object.
4456
4457         * gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
4458         GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
4459         of an accelerator can be prevented by gtk_signal_emit_stop().
4460         (gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
4461         so there are no stale pointers in accelerator tables left.
4462
4463 1998-04-22  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4464
4465         * gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
4466         visible before we unparent it.
4467
4468 Wed Apr 22 04:15:26 1998  Tim Janik  <timj@gtk.org>
4469
4470         * gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
4471         running_timeouts list with the tmp_list link itself, not with a new
4472         GList structure pointing to our link. that would fill up memory and
4473         causes the GList.data fields of the running_timeouts list to point to
4474         GList structures and not GtkTimeoutFunction structures which is a
4475         *really* bad thing.
4476         (gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
4477         the above entry ;).
4478
4479 Sat Apr 18 22:18:12 1998  Tim Janik  <timj@gtk.org>
4480
4481         * gtk/gtkradiomenuitem.h: 
4482         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
4483         ala gtk_radio_button_set_group.
4484         (gtk_radio_menu_item_init): assure that we always have at least a group
4485         that points to self.
4486
4487         * gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
4488         added g_return_if_fail() statements.
4489         (gtk_radio_button_init): assure that we always have at least a group
4490         that points to self.
4491
4492 Fri Apr 17 03:05:05 1998  Tim Janik  <timj@gtk.org>
4493
4494         * ChangeLog split up into ChangeLog.pre-1-0 and ChangeLog.
4495
4496 Wed Apr 15 05:13:09 1998  Tim Janik  <timj@gtk.org>
4497
4498         * gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
4499         (Damon Chaplin), which i got wrong when applying Damon's patch the last
4500         time.
4501
4502 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
4503
4504         * gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
4505         that when we are running with a non-installed colormap,
4506         in 8-bit pseudo-color, we actually are using the system
4507         visual. (Fixes *Bad Match* errors on Digital Unix machines
4508         with multiple 8-bit pseudo-color visuals)
4509
4510 1998-04-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4511
4512         * gdk/gdkwindow.c (gdk_window_xid_at): Fix the problem introduced
4513         by whoever thought that randomly changing ints to unsigned int
4514         without reviewing the code was a good idea.  It is, btw not
4515         mentioned in the ChangeLog as usual, but I know it was not Elliot
4516         the culprit this time. 
4517
4518 Mon Apr 13 19:16:22 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
4519
4520         * Released GTK+ 1.0.0