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