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