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