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