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