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