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