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