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