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