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