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