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