]> Pileus Git - ~andy/gtk/blob - ChangeLog
renamed enum GtkAnchor and GtkSide to GtkAnchorType and GtkSideType, to be
[~andy/gtk] / ChangeLog
1 Fri Jun 12 09:24:47 1998  Tim Janik  <timj@gtk.org>
2
3         * gtk/gtkpacker.h:
4         * gtk/gtkpacker.c: renamed enum GtkAnchor and GtkSide to GtkAnchorType
5         and GtkSideType, to be consistent with the rest of Gtk's enum
6         definitions. wrapped the enum definitions with the G_ eunm wrappers.
7         spelled out the GTK_ANCHOR_* enum values, since single letters don't
8         work out corectly as nick-names (left the old values as aliases).
9         some signdness corrections (border-width, spacing), could stand more.
10
11 Thu Jun 11 14:38:33 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
12
13         * gtk/gtkpacker.c, gtk/gtkpacker.h, gtk/gtk.h, gtk/Makefile.am: 
14           Added gtkpacker
15
16         * examples/packer/pack.c, examples/packer/Makefile: Added
17           gtkpacker example
18
19 Thu Jun 11 13:09:00 1998  Owen Taylor  <otaylor@gtk.org>
20
21         * gtk/gtktext.c (remove_cache_line): Fixed broken
22         list-removal code.
23
24         * gtk/gtktext.c: (gtk_text_delete_(forward/backward)_cahr)
25         Check bounds before deleting.
26
27 Wed Jun 10 23:21:33 1998  Owen Taylor  <otaylor@gtk.org>
28
29         * autogen.sh: Support ACLOCAL_FLAGS
30
31 Wed Jun 10 20:54:37 1998  Owen Taylor  <otaylor@gtk.org>
32
33         * gtk-config.in: Added missing quotes.
34
35 Wed Jun 10 18:44:22 PDT 1998 Manish Singh <yosh@gimp.org>
36
37         * gtk/gtkfeatures.in: #define GTK_HAVE_ACCEL_GROUP
38
39 1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
40
41         * acconfig.h (GTK_COMPILED_WITH_DEBUGGING): Renamed from
42         G_COMPILED_WITH_DEBUGGING.
43
44         * configure.in (fd_set): Explain check better.
45
46         * acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
47         the version from which gtk+'s libtool forked.  Needed for people
48         who use post-1.2 alphas of libtool.
49
50 Wed Jun 10 19:36:35 1998  Owen Taylor  <otaylor@gtk.org>
51
52         * glib/* Moved to glib module
53
54         * INSTALL Makefile.am acconfig.h autogen.sh configure.in
55           gtk-config.in gtk.m4 gdk/Makefile.am gtk/Makefile.am
56
57           configuration changes for the above:
58          
59           - Use AM_PATH_GLIB by default to find glib; also accept
60             a --with-glib option for using an uninstalled glib.
61          
62           - Put --enable-debug information into config.h so
63             that we rebuild when it changes. (was in glibconfig.h)
64
65 Wed Jun 10 22:23:27 1998  Lars Hamann  <lars@gtk.org>
66
67         * gtk/gtkctree.c (draw_row): adapted clist pixmap clipping
68
69         * gtk/gtknotebook.h (struct _GtkNotebookClass):
70         * gtk/gtknotebook.c (gtk_real_notebook_switch_page): 
71         added missing argument (according to Joseph Coleman's bug report)
72
73         * gtk/gtknotebook.c (gtk_notebook_set_focus_child): new class
74         function to fix notebook focus handling
75         
76 Wed Jun 10 12:57:03 1998  Owen Taylor  <otaylor@gtk.org>
77
78         * gdk/gdkcc.c glib/ghash.c glib/glib.h glib/gstring.c
79           glib/gutils.c glib/testglib.c glib/gdataset.c
80           gtk/gtkaccelgroup.c gtk/gtkmain.c gtk/gtksignal.c
81           gtk/gtktext.c gtk/gtkbindings.c:
82
83          renamed g_const_pointer => gconstpointer
84
85 Wed Jun 10 06:25:17 1998  Tim Janik  <timj@gtk.org>
86
87         * gdk/gdk.c (gdk_init): prevent gdk_init() from segfaulting when
88         invoked with (NULL, NULL); (this worked sometime ago).
89
90         * gtk/gtktypeutils.h: 
91         * gtk/gtktypeutils.c: enum and flags type creation can now be done
92         through gtk_type_register_enum() and gtk_type_register_flags(),
93         which allow to specify the enum value arrays directly.
94         the NULL terminated value arrays can be retrived through
95         gtk_type_enum_get_values() and gtk_type_flags_get_values();
96         (gtk_type_children_types): new function to query derived types.
97
98 1998-06-09  Raja R Harinath  <harinath@cs.umn.edu>
99
100         * gtk/Makefile.am (gtkmarshal.c gtkmarshal.h): Pass $srcdir in
101         environment to genmarshal.pl.
102         (gtk.defs,gtktypebuiltins*): Add $(srcdir) where needed (in the
103         rule), and removed it where not needed (in the dependencies).
104
105         * gtk/genmarshal.pl: Look for `gtkmarshal.list' in $srcdir.
106
107 Tue Jun  9 18:44:57 1998  Owen Taylor  <otaylor@gtk.org>
108
109         * gtk/gtkobject.c: Removed g_object_pointer_hash, which
110         was just g_direct_hash.
111
112 Mon May 25 19:54:20 1998  Owen Taylor  <otaylor@gtk.org>
113
114         * configure.in: x_libs=, not $x_libs=. Enough said.
115           (Case only hit for --disable-xshm)
116         
117 Mon May 25 12:08:14 1998  Owen Taylor  <otaylor@gtk.org>
118
119         * configure.in (LDFLAGS): Add to $CFLAGS and $LDFLAGS
120           when testing for X libraries, don't replace them. Because
121           the user might have specified the path to the X libraries
122           themself before running configure.
123
124         * examples/**.c: Changed all gpointer * to gpointer
125         
126 1998-06-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
127
128         * gtk/gtkhandlebox.h (struct _GtkHandleBox): Removed the
129         fleur_cursor field.  Now the cursor is created/destroyed on demand
130         by the routines that need it.
131
132         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): 
133         (gtk_handle_box_motion): The fleur cursor is created and destroyed
134         only when needed.
135
136 Tue Jun  9 09:57:09 1998  Tim Janik  <timj@gtk.org>
137
138         * gtk/gtktypeutils.h: 
139         * gtk/gtktypeutils.c: renamed the newly created gtk_enum_get_values and
140         gtk_enum_set_values to gtk_type_enum_get_values and
141         gtk_type_enum_set_values respectively, since they are actually type
142         system features.
143
144         * gtk/gtktypebuiltins_evals.c: oops, screwed the NULL termination with
145         my last commit. ;)
146
147 Tue Jun  9 01:57:23 1998  Tim Janik  <timj@gtk.org>
148
149         * gtk/gtkselection.h: 
150         * gtk/gtkselection.c: new functions gtk_selection_data_copy and
151         gtk_selection_data_free.
152
153         * gtk/gtkwidget.c (gtk_widget_class_init): fixed gtk_signal_new() call
154         for "selection_received", which was completely bogus.
155         * other fixups to gtk_signal_new() calls all over the place.
156
157         * gtk/gtktypebuiltins.h: types as variables (formerly macros).
158         * gtk/gtktypebuiltins_vars.c: type variable implementations.
159         * gtk/gtktypebuiltins_ids.c: array entries for builtin type
160         declarations.
161         * gtk/gtktypebuiltins_evals.c: enum value arrays.
162         * gtk/gtk-boxed.defs: gtk and gdk structure definitions, used to build
163         gtk.defs.
164         * gtk/gtk.defs: generated file with scheme syntax for type definitions
165         of gtk and gdk structures and enums.
166         * gtk/gtktypeutils.h: 
167         * gtk/gtktypeutils.c: reworked type ids, so they are variables not
168         macros anymore (this fixes binary incompatibility with new enum
169         definitions).
170
171         * gtk/gtkwidget.c (gtk_widget_real_key_press_event): proccess possible
172         key bindings for this widget.
173         * gtk/gtkwindow.c (gtk_window_key_press_event): chain parent class'
174         handler.
175
176         * gtk/gtkobject.h:
177         * gtk/gtkobject.c: removed gtk_object_class_new_user_signal_no_recurse()
178         again. new functions gtk_object_class_user_signal_new () and
179         gtk_object_class_user_signal_newv (), to feature the GtkSignalRunType
180         flag on the signal creation.
181
182 Mon Jun  8 20:52:21 1998  Tim Janik  <timj@gtk.org>
183
184         * gtk/gtkcontainer.h: new signal GtkContainer::set_focus_child.
185
186 Mon Jun  8 02:52:37 1998  Tim Janik  <timj@gtk.org>
187
188         * gdk/gdkprivate.h: 
189         * gdk/gdktypes.h: 
190         * gtk/gtkprivate.h: 
191         * gtk/gtkwidget.h: 
192         * gtk/gtkobject.h: wrapped enum definitions with glib macros.
193
194         * reworked enum value array generation code. gtk.defs is a generated
195         file now.
196
197 Sun Jun  7 14:34:31 1998  Tim Janik  <timj@gtk.org>
198
199         * gtk/gtkitemfactory.c (gtk_item_factory_create_menu_entries): feature
200         check menu items in the compatibility code (this required me to remove
201         the "<check>" part from the menu item name, grrr).
202
203 1998-06-07  Marius Vollmer  <mvo@zagadka.ping.de>
204
205         * gdk/gdk.h (gdk_color_copy, gdk_color_free): New prototypes.
206         * gdk/gdk.c (gdk_color_copy, gdk_color_free): New functions.
207         
208 Sun Jun  7 10:53:02 1998  Tim Janik  <timj@gtk.org>
209
210         * gtk/gtkitemfactory.h: 
211         * gtk/gtkitemfactory.c: further additions to fit the gimp's code.
212         additions to the dumping code to feature GtkPatternSpec.
213         even found a bug to fix in the original code ;)
214         
215 Sun Jun  7 09:36:04 1998  Tim Janik  <timj@gtk.org>
216
217         * gtk/gtkitemfactory.c: support different types of callbacks, to
218         maintain existing code.
219
220 Sat Jun  6 06:01:24 1998  Tim Janik  <timj@gtk.org>
221
222         * gtk/gtksignal.c (gtk_signal_emitv): fixed an assertment.
223
224         * gtk/makeenums.awk: a script to generate the GtkEnumValue arrays from,
225         this should eventually be done by gentypeinfo.el somewhen.
226         * gtk/gtkenumvalues.c: new generated file to hold GtkEnumValue arrays.
227
228         * gtk/gtktypeutils.h: new function gtk_enum_values() to retrive all the
229         enum values of an enum type.
230
231         * gtk/gtk.defs:
232         * gtk/gtkcurve.h: 
233         * gtk/gtkobject.h: 
234         * gtk/gtkprivate.h: 
235         * gtk/gtkwidget.h:
236         * gtk/gtkenums.h: 
237         brought enum/flags definitions in sync, added a few more enum
238         definitions for bindings and pattern matching.
239
240         * some more macro and GtkType fixups in various places.
241
242         * gdk/gdktypes.h (enum): added a new value GDK_AFTER_MASK, which is used
243         as a key-release modifier for the binding system.
244
245 Fri Jun  5 06:06:06 1998  Tim Janik  <timj@gtk.org>
246
247         * gtk/gtkmenu.h (struct _GtkMenu): removed GList*children, since it
248         was a stale list pointer that is already present in GtkMenuShell.
249
250         * gtk/gtkmenushell.h (struct _GtkMenuShellClass): added a signal
251         GtkMenuShell::selection_done which is emitted after the menu shell
252         poped down again and all possible menu items have been activated.
253
254 Thu Jun  4 02:20:42 1998  Tim Janik  <timj@gtk.org>
255
256         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): flush the x-queue
257         before activation of the menuitem, so the menu is actually taken off the
258         screen prior to any menu item activation.
259
260         * gtk/gtkctree.c (gtk_ctree_get_row_data): allow function invokation
261         for NULL nodes.
262
263         * gtk/gtkwidget.h:
264         * gtk/gtkwidget.c: new function gtk_widget_stop_accelerator to stop
265         the emission of the "add-accelerator" signal on a widget. this is
266         usefull to prevent accelerator installation on certain widgets.
267
268         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): keep the menu
269         labels left justified, by setting their alignment. stop accelerator
270         installation for the menu items, since we use dynamic menus.
271
272 Wed Jun  3 06:41:22 1998  Tim Janik  <timj@gtk.org>
273
274         * gtk/gtkmenufactory.c: adaptions to use the new accel groups. people
275         should *really* use GtkItemFactory. this is only for preserving source
276         compatibility where possible, use of GtkMenuFactory is deprecated as of
277         now.
278
279         * gtk/gtkobject.h (gtk_object_class_add_user_signal): new function
280         to create user signals of type GTK_RUN_NO_RECURSE. don't know why i
281         missed this possibility when i added gtk_object_class_add_user_signal
282         in late january.
283
284         * gtk/gtkmain.c (gtk_init): ignore subsequent function calls.
285
286 Sun May 31 07:31:09 1998  Tim Janik  <timj@gtk.org>
287
288         * gtk/gtkaccelgroup.h: 
289         * gtk/gtkaccelgroup.c: new implementation of the accelerator concept.
290
291         * gtk/gtkaccellabel.h: 
292         * gtk/gtkaccellabel.c: new widget derived from GtkLabel whitch features
293         display of the accelerators associated with a certain widget.
294
295         * gtk/gtkitemfactory.h: 
296         * gtk/gtkitemfactory.c: new widget, item factory with automatic rc
297         parsing and accelerator handling.
298
299         * gtk/gtkmenu.c (gtk_menu_reposition): new function to care for
300         positioning a menu.
301         (gtk_menu_map): removed the allocation code.
302         (gtk_menu_size_allocate): care for redrawing of children and resize
303         our widget->window correctly.
304         (gtk_menu_key_press): feature the new accelerator groups.
305
306         * gtk/gtkmenuitem.c (gtk_menu_item_size_allocate): reposition the
307         submenu if neccessary.
308
309         * gtk/gtkmenuitem.c:
310         * gtk/gtkcheckmenuitem.c:
311         * gtk/gtkradiomenuitem.c: use GtkAccelLabel in the *_new_with_label()
312         function variants.
313
314         * gdk/gdk.c:
315         (gdk_keyval_from_name): 
316         (gdk_keyval_name): new functions for keyval<->key-name associations.
317         (gdk_keyval_to_upper): 
318         (gdk_keyval_to_lower): 
319         (gdk_keyval_is_upper): 
320         (gdk_keyval_is_lower): new functions to check/translate keyvalues with
321         regards to their cases.
322
323 Wed May 27 00:48:10 1998  Tim Janik  <timj@gtk.org>
324
325         * gtk/gtkwidget.c (gtk_widget_class_path): new function to calculate a
326         widget's class path.
327         (gtk_widget_path): new function to calculate a widget's name path.
328
329         * gtk/gtkrc.c: newly introduced GtkPatternSpec structures to speed up
330         pattern matching, features reversed pattern matches.
331
332 Thu Jun  4 12:12:11 BST 1998  Tony Gale  <gale@gtk.org>
333
334         * examples/extract.sh, examples/extract.awk:
335           New files to automagically extract code examples from the
336           tutorial.
337
338 Tue Jun  2 20:04:45 1998  Lars Hamann  <lars@gtk.org>
339
340         * gtk/gtknotebook.c (gtk_notebook_page_select) (gtk_notebook_focus)
341         * gtk/gtkcontainer.c (gtk_container_focus_move):
342         reversed test sequence for GTK_WIDGET_CAN_FOCUS and GTK_IS_CONTAINER
343
344 Tue Jun  2 13:04:06 BST 1998  Tony Gale  <gale@gtk.org>
345
346         * docs/gtk_tut.sgml: minor changes to support auto
347           extraction of example code
348
349 Mon Jun  1 12:47:56 BST 1998  Tony Gale  <gale@gtk.org>
350
351         * docs/gtk_tut_it.sgml: Update of Italian Tutorial
352           to Tutorial of 24th May, from Daniele Canazza <dcanazz@tin.it>
353
354 Fri May 29 13:53:57 BST 1998  Tony Gale  <gale@gtk.org>
355
356         * docs/gtk_tut.sgml:
357           - new section on Events
358           - change all delete_event callbacks to include
359             a GdkEvent parameter
360           - clean up the formatting
361
362         * examples - helloworld.c, helloworld2.c, notebook.c,
363           packbox.c, pixmap.c, progressbar.c, radiobuttons.c,
364           rulers.c, table.c, wheelbarrow.c: change all delete_event
365            callbacks to include a GdkEvent parameter.
366
367 1998-05-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
368
369         * gdk/gdktypes.h (GdkCrossingMode): New enumeration for the "mode"
370         field of crossing events.
371         (struct _GdkEventCrossing): Added the following fields: time, x,
372         y, x_root, y_root, mode, focus, state.
373
374         * gdk/gdk.c (gdk_event_translate): Fill in the new fields of the
375         crossing event structure.
376
377         * gtk/gtkfeatures.h (GDK_HAVE_FULL_CROSSING_EVENT): Annotate
378         changes to the crossing event structure.
379
380 Tue May 26 15:51:28 1998  Radek Doulik  <gis@academy.cas.cz>
381
382         * gdk/gdk.c: include gdkx.h always (for GDK_ROOT_WINDOW)
383
384 Sun May 24 12:11:38 BST 1998  Tony Gale  <gale@gtk.org>
385
386         * docs/gtk_tut.sgml:
387            - GtkTooltips, update to current API
388            - change all 'gpointer *data' to 'gpointer data'
389            - other minor changes
390
391 Sat May 23 21:54:05 1998  Owen Taylor  <otaylor@gtk.org>
392
393         * configure.in (LDFLAGS): Bomb out with a moderately
394           helpful message if detection of X libraries fails.
395
396 Sat May 23 18:57:06 1998  Owen Taylor  <otaylor@gtk.org>
397
398   [ Combination of:
399      gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
400      gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
401
402         * gdk/gdk.h gdk/gdkcc.c gdk/gdkfont.c gtk/gtkmain.c
403           gtk/gtksignal.c gtk/gtktext.c: 
404
405           Fixups for warnings from adding const to type of GHashFunc,
406           GCompareFunc
407         
408         * gtk/gtkcombo.c (gtk_combo_entry_key_press): Minor style/
409           ansi-warnings fixups.
410
411 Sat May 23 17:48:58 1998  Owen Taylor  <otaylor@gtk.org>
412
413         * gtk/gtkeventbox.c (gtk_event_box_size_allocate): 
414         Locate child at (border_width,border_width), not
415         (2*border_width,2*border_width). [ The border is _outside_
416         widget->window ]
417         
418         * gdk/gdk.[ch]: added gdk_screen_width_mm/gdk_screen_height_mm
419           functions. [From: Alexander Larsson <alla@lysator.liu.se> ]
420
421 1998-05-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
422
423         * gtk/gtkfeatures.h.in: Define GTK_HAVE_RC_SET_IMAGE_LOADER, to be
424         used in gnome-libs
425
426 1998-05-22    <sopwith@redhat.com>
427
428         * gtk/gtkeventbox.c: Pass size_allocate on to the child
429         regardless of whether it is visible or not. Also
430         locate child at (border_width,border_width), not (0,0)
431
432 Fri May 22 03:02:40 1998  Owen Taylor  <otaylor@gtk.org>
433
434         * gtk/gtkhandlebox.c: Added style_set handler.
435
436 Fri May 22 02:55:57 1998  Owen Taylor  <otaylor@gtk.org>
437  [ From: Chris Lahey  <clahey@umich.edu> ]
438         
439         * gtk/gtkeditable.c, gtk/gtkeditable.h,
440           gtk/gtktext.c, gtk/gtkentry.c: Added get_position,
441           and set_position functions to get and set the cursor position.
442
443         * gtk/gtkeditable.c: Restored "insert_text" and "delete_text" to
444           signal status. Make GtkText do user-controlled insertion
445           and deletion through the Editable widget so that these
446           signals are properly emitted.
447
448         * gtk/gtkentry.c: Changed gtk_entry_set_visibility to 
449           display asterisks instead of empty space when visible = FALSE)
450
451 Fri May 22 08:51:10 CEST 1998  Paolo Molaro <lupus@debian.org>
452
453         * gtk/gtkclist.c: use GTK_TYPE_GDK_EVENT in (un)?select_row
454         signal.
455
456 1998-05-21    <sopwith@redhat.com>
457
458         * gtk/gtkrc.[ch]: gtk_rc_set_image_loader() - allow apps to set a
459         custom routine for loading images specified in gtkrc's.
460
461 Tue May 19 23:41:04 1998  Owen Taylor  <otaylor@gtk.org>
462
463         * configure.in: Use pthread_attr_init() as a test function,
464         since most of the rest of -lpthread is macros on DU4.
465
466 Tue, 19 May 1998 09:03:03 +0200  Paolo Molaro <lupus@debian.org>
467
468         * gtk/gtkcombo.c: implemented completion in the entry.
469
470 1998-05-18    <sopwith@moebuis.labs.redhat.com>
471
472         * gtk/gtk{debug.h,signal.c,main.c}: Allow GTK_DEBUG=signals
473
474 Mon May 18 04:01:41 1998  Tim Janik  <timj@gtk.org>
475
476         * gtk/gtkwidget.c (gtk_widget_class_init): changed "proximity-in-event",
477         "drop-data-available-event", "drop-enter-event" and "drop-leave-event"
478         to be of runtype GTK_RUN_LAST.
479
480         * gtk/gtkcontainer.c (gtk_container_class_init): likewise for
481         "need-resize".
482
483         * gtk/gtktipsquery.c (gtk_tips_query_class_init): likewise for
484         "widget-selected".
485
486 Sat May 16 09:04:32 1998  Tim Janik  <timj@gtk.org>
487
488         * gtk/gtkfilesel.c (gtk_file_selection_key_press): g_strdup() the
489         text retrived from GtkEntry. only intercept the Tab key if there
490         was some text to complete.
491
492 Fri May 15 21:16:54 1998  Owen Taylor  <otaylor@gtk.org>
493
494         Basic thread-awareness:
495
496         * acconfig.h configure.in: New option --with-threads=[yes/posix/no]
497
498         * gdk/Makefile.am gdk/gdkthreads.c: Added new functions 
499         gdk_threads_[init/enter/leave] for applications, plus
500         gdk_threads_wake to wake the mainloop thread out of
501         the select().
502
503         * gtk/Makefile.am: gtk/testthreads.c: Test program for threads
504
505 Fri May 15 12:08:48 1998  Owen Taylor  <otaylor@gtk.org>
506
507         * gtk/testgtk.c (list_clear): Account for the fact
508         that gtk_list_clear_items is not inclusive. (Clears
509         [start, end))
510
511 Fri May 15 12:31:27 1998  rodo  <doulik@karlin.mff.cuni.cz>
512
513         * gdk/gdk.c: include gdkkeysyms.h always
514         
515
516 Fri May 15 09:44:10 1998  Tim Janik  <timj@gtk.org>
517
518         * gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of
519         the visibility_notify_event method and changed method order.
520
521 1998-05-14    <sopwith@moebuis.labs.redhat.com>
522
523         * gtk/gtkwidget.[ch] Added visibility_notify_event to GtkWidget
524
525 Thu May 14 03:04:43 1998  Tim Janik  <timj@gtk.org>
526
527         * gtk/gtk.defs: added GtkButtonBoxStyle and GtkOrientation definitions
528         from Olli Helenius <ollhel@batman.jytol.fi>.
529
530         * gtk/gtktypeutils.c (gtk_type_free): new function to take care about
531         freeing types.
532         (gtk_type_set_chunk_alloc): new function to allow allocation of new
533         types from a mem_chunk of certain size (n_chunks==0 indicates allocation
534         thorugh g_malloc).
535
536         * gtk/gtkobject.c (gtk_object_finalize): free an object through
537         gtk_type_free().
538
539         * gtk/gtkbutton.c (gtk_button_get_type): set chunk preallocation for
540         GtkButtons to 16.
541         * gtk/gtkmenuitem.c (gtk_menu_item_get_type): likewise (16).
542         * gtk/gtklabel.c (gtk_label_get_type): likewise (32).
543
544 Wed May 13 00:53:52 1998  Owen Taylor  <otaylor@gtk.org>
545
546         * gtk/gtktypeutils.c gtk/gtksignal.c gdk/gdkdnd.c: A few more 
547           GPOINTER_TO_UINT fixes.
548
549         * gtk/gtksignal.c: Include <string.h> for memset.
550
551 Tue May 12 23:10:53 1998  Owen Taylor  <otaylor@gtk.org>
552         (Maximilian Bisani <bisani@kawo2.rwth-aachen.de>: gtk-bisani-980320-0)
553
554         * gtk/gtkvruler.c gtk/gtkhruler.c gtk/gtkruler.h: 
555         Cleanups, comments and the ability to have rulers with 
556         a reversed direction.
557
558 Tue May 12 19:37:55 1998  Owen Taylor  <otaylor@gtk.org>
559
560         * gtk/gtkrc.c (gtk_rc_parse_file): Fixed up a stat()
561         that Sopwith missed when changing stat => lstat.
562
563 Tue May 12 19:19:29 1998  Owen Taylor  <otaylor@gtk.org>
564
565         * gtk/gtkinputdialog.c gtk/gtkgamma.c gtk/gtkrc.c
566           gtk/gtkcolorsel.c gtk/gtkclist.c gtk/testgtk.c: Use
567         GPOINTER_TO_INT/GINT_TO_POINTER macros where appropriate.
568
569         * gdk/gdk.c: Print sizeof() results
570         as g_print("%ld", (glong)sizeof(foo)), to deal with
571         sizeof() being long on Alpha's.
572
573         * gtk/testgtk.c: include <string.h> for strlen
574
575 Tue May 12 16:56:35 1998  Owen Taylor  <otaylor@gtk.org>
576         (James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
577         
578         * gtk/gtkbbox.h gtk/gtkcolorsel.h gtk/gtkvbbox.h:
579         Changed #include "gtkfoo.h" to #include <gtk/gtkfoo.h>
580
581         * gtk/gtkwindow.[ch]: Added const to gtk_window_set_wmclass
582
583 Tue May 12 15:16:10 1998  Owen Taylor  <otaylor@gtk.org>
584         (From: Christopher James Lahey <clahey@umich.edu>)
585         
586         * gtk/gtkbutton.[ch] gtk/gtkenums.h gtk/gtktoolbar.[ch]
587           gtk/testgtk.c:
588
589         Added 'relief' for buttons - they can be either GTK_RELIEF_NORMAL
590         (old style), or GTK_RELIEF_NONE - no relief in the NORMAL
591         state. Added gtk_toolbar_{set,get}_button_relief, which set/get
592         the default relief for the toolbars buttons. Added an
593         toggle for the toolbar test in testgtk.c.
594
595 Tue May 12 00:24:59 1998  Owen Taylor  <otaylor@gtk.org>
596
597         * docs/gtk-config.1: Rewritten and hopefully improved.
598
599 Mon May 11 20:26:39 PDT 1998 Manish Singh <yosh@gimp.org>
600
601         * docs/Makefile.am
602         * docs/gtk-config.1: added man page for gtk-config by Ben Gertzfield
603
604 1998-05-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
605
606         * gtk/gtkpreview.c (gtk_preview_realize): Create the window using
607         GtkPreview's visual and colormap, otherwise things can BadMatch.
608
609         * gtk/testgtk.c (create_color_preview): 
610         (create_gray_preview): Removed pushing/popping of visual/colormap
611         now that GtkPreview does things correctly.
612
613         * gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel_frame): 
614         (gtk_color_selection_draw_wheel): Pick the style from the correct
615         place (the colorsel->wheel_area widget) so that the GCs will match
616         with where we are going to paint to.
617
618         * gtk/testgtk.c (create_color_selection): Removed pushing/popping
619         of visual/colormap now that GtkColorSelection does things the
620         right way.
621
622 Mon May 11 21:04:51 1998  Owen Taylor  <otaylor@gtk.org>
623
624         * gtk/gtkwindow.c (gtk_real_window_move_resize): Use the
625         previously unused window->need_resize flag to mark if a window's
626         descendents changed size while the window was not visible. In this
627         case, when the window becomes visible, we reallocate everything,
628         since we didn't keep track of what actually changed.
629
630         (Fixes bug where changing the popdown strings of a
631         combo to something of the same length caused them to
632         blank out, as reported by Todd Dukes <tdukes@ibmoto.com>)
633
634 Tue May 12 02:31:57 1998  Tim Janik  <timj@gtk.org>
635
636         [security audit by Alan Cox]
637
638         * gtk/gtkobject.c (gtk_object_get_arg_type): check for arg_name to not
639         exceed maximum assumed size.
640
641         * gtk/gtkmenufactory.c (gtk_menu_factory_create): check that `path' does
642         not exceed maximum assumed size.
643         (gtk_menu_factory_remove): likewise.
644         (gtk_menu_factory_find_recurse): likewise.
645
646 Mon May 11 23:53:38 1998  Tim Janik  <timj@gtk.org>
647
648         * gtk/gtkwidget.c (gtk_widget_queue_resize): queue the idle_sizer with
649         GTK_PRIORITY_INTERNAL - 1, so widgets get first resized and then
650         redrawn if that is still neccessary. don't allow queueing of already
651         destructed objects.
652         (gtk_widget_idle_sizer): proccess the resize queue in a save manner, so
653         widgets which are in the queue can be destroyed safely, handle
654         requeueing properly.
655         (gtk_widget_idle_draw): proccess the redraw queue in a save manner, so
656         widgets which are in the queue can be destroyed/unrealized safely.
657
658 Mon May 11 17:54:44 BST 1998 Tony Gale  <gale@gtk.org>
659
660         * gtkfaq.sgml: add question on multi-threading,
661           minor URL cleanups.
662
663 Mon May 11 09:56:45 1998  Tim Janik  <timj@gtk.org>
664
665         * configure.in (cflags_set): preserve automake CFLAGS.
666
667         * Makefile.am: fully rename the created libraries to libgtk-1.1.la
668         and libgdk-1.1.la. this means we need to change certain portions of
669         the Makefile.am on major/minor version bumps.
670
671         * ltmain.sh: the -release option is not required anymore.
672         
673         * gtk/gtkobject.h (gtk_trace_referencing): compile time check the type
674         of the first argument to be of type GtkObject. unconditionally compile
675         this function. removed __GNUC__ dependancy of the gtk_object_ref and
676         gtk_object_unref macro wrappers for this function.
677
678 Mon May 11 02:31:19 1998  Tim Janik  <timj@gtk.org>
679
680         * gtk/gtkobject.h:
681         * gtk/gtkobject.c:
682         (gtk_object_data_try_key):
683         (gtk_object_data_force_id): these are now macros substituting the old
684         functions. we just use the corresponding g_dataset_* functions for
685         key->id associations. (this is to assure unique key<->id associations).
686
687 1998-05-10  Stefan Jeske  <stefan@gtk.org>
688
689         * gtk/gtkctree.c (gtk_ctree_is_visible): Changed return value
690         to gboolean.
691
692         * docs/gtk.texi (GtkCTree): Started documentation of GtkCTree.
693
694 Sat May  9 20:11:20 1998  Owen Taylor  <otaylor@gtk.org>
695
696         * configure.in (LIBS): Try to figure out if this
697         is Digital Unix and we need -std1 to get the
698         right prototypes.
699
700 Sat May  9 16:30:33 BST 1998 Tony Gale  <gale@gtk.org>
701
702         * docs/gtk_tut_it.sgml: update of Italian tutorial
703           translation from Daniele Canazza <dcanazz@tin.it>
704
705 Sat May  9 02:34:41 1998  Tim Janik  <timj@gtk.org>
706
707         * gtk/gtkfeatures.h.in: new file used as template for
708         * gtk/gtkfeatures.h: new file to define macros indicating newly
709         introduced features, such as GTK_HAVE_SIGNAL_INIT.
710
711         * gtk/gtksignal.c:
712         (gtk_signal_emitv_by_name):
713         (gtk_signal_emitv):
714         new functions to emit signals with an already provided parameter set.
715         (provided by Kenneth Albanowski <kjahds@kjahds.com>).
716         (gtk_signal_real_emit): prototype changes, so this functions always
717         gets its parameters and signal structure as arguments.
718         (gtk_signal_emit): provide the signal structure and parameter list for
719         gtk_signal_real_emit.
720         (gtk_signal_emit_by_name): likewise.
721
722 Sat May  9 00:03:12 1998  Tim Janik  <timj@gtk.org>
723
724         * gtk/gtksignal.c (gtk_signal_handler_unref): reflect the presence of
725         signal connections through unsetting GTK_CONNECTED.
726         (gtk_signal_handler_insert): reflect the presence of signal connections
727         through setting GTK_CONNECTED.
728         (gtk_signal_real_emit): only check for handler emissions if the object
729         has the GTK_CONNECTED flag set.
730         (gtk_signal_handler_pending): don't check for pending handlers if the
731         GTK_CONNECTED flag is not set for this object.
732
733         * gtk/gtkobject.h (enum): new flag GTK_CONNECTED to indicate whether
734         a GtkObject has signal handler connections.
735
736         * gtk/gtkobject.c (gtk_object_real_destroy): only if GTK_CONNECTED is
737         set for this object call gtk_signal_handlers_destroy().
738         
739         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): deprecated macro, since it caused
740         multiple processing of macro args.
741
742         * gtk/gtktypeutils.c:
743         * gtk/gtkobject.c:
744         * gtk/gtkwidget.c:
745         * gtk/gtksignal.c: reverted GTK_TYPE_IS_A back to gtk_type_is_a.
746
747 Fri May  8 21:31:50 1998  Owen Taylor  <otaylor@gtk.org>
748
749         * gtk/gtkwidget.c (gtk_widget_queue_draw): Free the
750         draw-queue when we are done. 
751
752         (gtk_widget_queue_draw/_queu_resize): Always return
753         FALSE and avoid having two idles at the same time.
754         
755 Fri May  8 21:04:00 1998  Owen Taylor  <otaylor@gtk.org>
756
757         * gtk/gtktext.c: Various fixes to make sure cache
758         lines are freed if line_start_cache doesn't point to the
759         beginning of the cache.
760
761 Thu May  7 09:44:22 1998  Owen Taylor  <otaylor@gtk.org>
762
763         * style_set improvements for GtkText and GtkEntry
764
765 Thu May  7 19:03:50 1998  Tim Janik  <timj@gtk.org>
766
767         * gtk/gtktypeutils.c (gtk_type_unique): asure that the type system has
768         been initialized.
769
770 Thu May  7 12:52:45 1998  Tim Janik  <timj@gtk.org>
771
772         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): allocate object
773         data chunks through a global object data structure list. unlink
774         object data before invoking its destroy function.
775         (gtk_object_finalize): slight modification to allow usage of object
776         data during object finalization.
777
778 Thu May  7 10:29:24 1998  Tim Janik  <timj@gtk.org>
779
780         * gtk/gtksignal.c (gtk_signal_newv): suport middle dashes ('-') in
781         signal names, e.g. "signal-name" is now an alias for "signal_name".
782         (gtk_signal_handler_new): allocate handlers through a global handler
783         structure list, that's faster than memchunks.
784         (gtk_emission_new): allocate emissions through a global emission
785         structure list, that's faster than memchunks.
786
787 Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
788
789         * gtk-config.in (--libs): postfix -lg* libraries with LT_RELEASE.
790
791         * ltmain.sh: added a new commandline flag -postfix similar to -release,
792         but will immediately change the library name.
793
794         * gdk/Makefile.am:
795         * gtk/Makefile.am: specify -postfix and -version-info
796
797         * configure.in: version bump to 1.1.0. added GTK_INTERFACE_AGE and
798         GTK_BINARY_AGE. calculate LT_* variables for libtool.
799
800 1998-05-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
801
802         * gtk/gtkclist.c (draw_row): Fixed incorrect painting of row
803         background (fg_set -> bg_set confusion).
804
805 1998-05-06  Stefan Jeske  <stefan@gtk.org>
806
807         * gtk/testgtk.c (unselect_all): Removed code that caused an
808         endless loop.
809
810 Wed May  6 02:16:34 1998  Tim Janik  <timj@gtk.org>
811
812         * gtk/gtksignal.c: reimplemented the signal storage system to use a
813         linear array rather than a hash table.
814         be carefull *not* to keep any GtkSignal pointers across invokations
815         of gtk_signal_next_and_invalidate() and therefore gtk_signal_new[v]().
816         general code cleanups, made all allocations through memchunks.
817         (gtk_signal_lookup): we now do the lookup of signals through a key_id
818         for the signal names to avoid multiple hashing of the signal name on
819         lookups for the several hirarchy levels of an object.
820
821 Tue May  5 19:49:27 1998  Owen Taylor  <otaylor@gtk.org>
822
823         * gdk/gdkpixmap.c: Patches from Gordon Matzigkeit
824         to speed things up and remove code duplication.
825
826         Reintegrated buffer overflow patches, and added
827         some extra paranoia.
828         
829 Tue May  5 17:04:14 1998  Owen Taylor  <otaylor@gtk.org>
830
831         * gdk/gdk.c (gdk_event_translate): A guint * was
832         being passed where X expected a Keysym *, and
833         keysyms are long's on Alpha Linux. This was causing
834         segfaults in Xlib, apparently because of alignment.
835         (Bug located by Juergen Haas <haas@forwiss.uni-passau.de>)
836         
837 Tue May  5 19:11:27 1998  Owen Taylor  <otaylor@gtk.org>
838
839         * gtk/gtkdrawingarea.c (gtk_drawing_area_realize): Always
840         set GDK_EXPOSURE_MASK for DrawingAreas
841
842 Tue May  5 14:32:37 1998  Owen Taylor  <otaylor@gtk.org>
843
844         * gtk/gtkwidget.[ch]: removed gtk_widge_propagate_default_style
845         (superceded by RC file reparsing capabilities)
846
847         * gtk/gtkwindow.c: Add handling for _GDK_READ_RFCILES client
848         events. (Shouldn't be sent to the InputOnly leader, which
849         it is now by gdk_event_send_clientmessage_toall
850
851         * gtk/testgtk.c: Added extra button to rcfiles test
852         to send out _GDK_READ_RCFILES events.
853         
854 Tue May  5 11:03:00 1998  Owen Taylor  <otaylor@gtk.org>
855
856         * gtk/gtkselection.c (gtk_selection_clear): Fixed
857         reversed conditionals that caused segfault on some
858         platforms.
859
860 Tue May  5 00:44:47 1998  Owen Taylor  <otaylor@gtk.org>
861
862         * gtk/gtkcontainer.c (gtk_container_set_focus_[hv]adjustment):
863         cast to GTK_OBJECT for gtk_object_ref.
864
865 Tue May  5 15:33:27 1998  Tim Janik  <timj@gtk.org>
866
867         * gtk/gtkmain.c (gtk_init): added gtk_signal_init() to avoid repeatedly
868         checking for signal initialization in gtksignal.c.
869
870         * gtk/gtktypeutils.c (TYPE_NODES_BLOCK_SIZE): reseted this to 200 after
871         a long debugging period ;)
872
873 1998-05-05  Stefan Jeske  <stefan@gtk.org>
874
875         * gdk/gdkgc.c gdk/gdk.h gtk/gtkctree.c (gdk_gc_set_dashes):
876         New function to wrap XSetDashes; modified gtkctree.c to use it.
877
878 1998-05-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
879
880         * configure.in: Added $x_libs in the other_libraries field in the
881         check for XShapeCombineMask.
882
883 Mon May  4 00:30:11 1998  Tim Janik  <timj@gtk.org>
884
885         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): new macro to speedup
886         gtk_type_is_a().
887         * gtk/gtktypeutils.c: reimplemented the type storage system to use a
888         linear array rather than a hash table. it actually speeded up testgtk
889         for a *considerable* amount. be carefull *not* to keep any GtkTypeNode
890         pointers across invokations of gtk_type_node_next_and_invalidate() and
891         therefore gtk_type_unique()!
892
893         * gtk/gtkobject.h (GTK_IS_OBJECT_CLASS): new macro to test for the
894         inheritance of a class pointer.
895         (GTK_OBJECT): modifications for speedups.
896         (GTK_IS_OBJECT): likewise.
897         (GTK_OBJECT_CLASS): likewise.
898         (suggested by owen).
899
900         * gtk/gtkcontainer.h (GTK_IS_CONTAINER_CLASS): new macro.
901
902         * gtk/gtkwidget.h (GTK_IS_WIDGET_CLASS): new macro.
903
904         * gtk/gtk.defs (GtkTooltips): define GtkTooltips as object not as boxed,
905         since its derivation changed 4 month ago ;(. showed up with the unique
906         type name checking code in gtk_type_unique().
907
908         * random guint->GtkType and macro fixups.
909
910 Sat May  2 23:14:34 1998  Owen Taylor  <otaylor@gtk.org>
911
912         * gtk/gtkcurve.c (gtk_curve_graph_events): Ignore
913         Configure events that would result in a negative
914         size.
915
916 Sun May  3 14:55:34 1998  Owen Taylor  <otaylor@gtk.org>
917
918         * docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
919         "glibconfig.h" and another about writing another IRC
920         client.
921
922 Sat May  2 00:14:05 1998  Owen Taylor  <otaylor@gtk.org>
923
924         * gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
925         parameters to log are doubles. Digital Unix apparently
926         is missing the argument in its prototype.
927
928 Sun May  3 19:04:46 1998  Owen Taylor  <otaylor@gtk.org>
929
930         * gtk/gtklabel.c (gtk_label_state_changed): Don't
931         force a clear until the widget is actually on
932         screen.
933
934 Sun May  3 21:32:35 1998  Owen Taylor  <otaylor@gtk.org>
935
936         * gdk/gdk.c (gdk_event_translate): Grab with OwnerEvents = False
937         to make this consistent with the gtk-1-0 tree.
938
939 Sun May  3 13:38:22 1998  Owen Taylor  <otaylor@gtk.org>
940
941         * configure.in acheader.h gdk/gdkwindow.c 
942         Check for Shape extension both on the client and server
943         side. (And, more importantly, check for the shape extension
944         so we may include -lXext even when compiling with --disable-xshm)
945
946         Don't set override_redirect on all shaped windows. It isn't
947         necessary.
948
949         * gdk/gdkwindow.c: Set ->colormap to NULL for root 
950         and foreign windows. Use this to check if we
951         need to get the colormap from X.
952
953 Fri May  1 22:32:47 1998  Owen Taylor  <otaylor@gtk.org>
954
955         * gtk/gtkbutton.c (gtk_button_paint): Draw the areas
956         between the default and the button always in GTK_STATE_NORMAL.
957
958         * gtk/gtkrange.c (gtk_range_style_set): Added a style_set
959         callback.
960
961 Fri May  1 16:40:57 1998  Owen Taylor  <otaylor@gtk.org>
962
963         * gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
964           Fix a buffer overflow on pixmaps that claim to have
965           more than 31 characters per pixel.
966
967           (gdk_pixmap_read_string): Don't wrap around strings longer
968           than half of address space ;-)
969
970         * gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
971         that were used for printing integers.
972
973         * */* (almost):
974
975         Style: All 
976           int foo () { ... }
977         changed to
978           int foo (void) { ... }
979
980         Even where there were proper prototypes elsewhere.
981
982         * gdk/gxid.c (handle_claim_device): Some extra checks.
983         It isn't safe against being fed bad X id's, but at
984         least it should be safe against deleting all your
985         files.
986
987 Sun May  3 19:45:09 1998  Tim Janik  <timj@gtk.org>
988
989         * gtk/gtkadjustment.c (gtk_adjustment_assimilate_value): new function
990         to set the adjustments value when there is no current emission.
991         [ Removed by mutual agreement owt 5/3/1998 ]
992
993         * gtk/gtksignal.c: added new functions to retrive the number of
994         existing emissions for a certain signal.
995         (gtk_signal_n_emissions): new function.
996         (gtk_signal_n_emissions_by_name): new function.
997
998 Sun May  3 16:55:43 1998  Tim Janik  <timj@gtk.org>
999
1000         * gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
1001         set the current focus_child of a container, does proper referencing and
1002         adjusts the vadjustment/hadjustment associated with the focus widget.
1003
1004         * gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
1005         containers via gtk_container_set_focus_child.
1006
1007         * gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
1008         where appropriate.
1009
1010         * gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
1011         child since not every child removal goes through this function (this
1012         showed up after gtk_container_set_focus_child() started to reference the
1013         focus_child of a container).
1014
1015         * gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
1016         of a container from gtk_container_remove into this place.
1017
1018 Sat May  2 22:33:45 1998  Tim Janik  <timj@gtk.org>
1019
1020         * gtk/gtksignal.c: added new functions to operate on intermediate
1021         function pointers. implemented incremental blocking.
1022         (gtk_signal_disconnect_by_func): new function.
1023         (gtk_signal_handler_block_by_func): new function.
1024         (gtk_signal_handler_unblock_by_func): new function
1025
1026 Fri May  1 22:45:55 1998  Owen Taylor  <otaylor@gtk.org>
1027
1028         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
1029         Always show the scrollbars when the policy is
1030         GTK_POLICY_ALWAYS...
1031
1032 Sat May  2 20:19:03 1998  Tim Janik  <timj@gtk.org>
1033
1034         * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit
1035         "value_changed" if we really passed a new value.
1036         (gtk_adjustment_changed): new function to emit the "changed" signal.
1037         (gtk_adjustment_set_value): new function to emit the "value_changed"
1038         signal.
1039
1040 Fri May  1 12:28:35 1998  Owen Taylor  <otaylor@gtk.org>
1041
1042         * gtk/gtkcombo.c: Further changes to the way the window
1043         is popped up so that it will be compatible with 
1044         auto-scrolling in the future.
1045
1046 Fri May  1 20:25:29 1998  Tim Janik  <timj@gtk.org>
1047
1048         * gtk/gtkcombo.c (gtk_combo_popup_list): do not just return if
1049         the combo-list is empty since that will cause the combo to operate
1050         on a non existing GtkList window.
1051         (gtk_combo_get_pos): provide the combo list with a usfull default
1052         height if empty.
1053         (gtk_combo_popup_button_press): grab the focus.
1054         (gtk_combo_activate): grab the focus.
1055
1056 Fri May  1 12:06:43 1998  Owen Taylor  <otaylor@gtk.org>
1057
1058         * gtk/gtkwindow.[ch] (gtk_widget_reset_rc_styles): New
1059         function to reset the RC styles for a heirarchy
1060
1061         Clear the window background if necessary in
1062         gtk_window_style_set.
1063
1064         * gtk/gtkrc.[ch]: New function gtk_rc_reparse_all() which
1065         rereads all previously read RC files.
1066
1067         * gdk/gdkwindow.c gdk/gdk.h: New function gdk_window_get_toplevels().
1068         (Should it just be called gdk_get_toplevels?)
1069
1070         * gtk/testgtk.c: New test to reload RC files.
1071
1072 Fri May  1 13:57:36 1998  Tim Janik  <timj@gtk.org>
1073
1074         * gtk/gtkclist.h:
1075         * gtk/gtkclist.c: prefixed all clist flags with GTK_ to avoid name
1076         clashes. redefined GTK_CLIST_SET_FLAGS and GTK_CLIST_UNSET_FLAGS as
1077         GTK_CLIST_SET_FLAG and GTK_CLIST_UNSET_FLAG to automatically add
1078         the GTK_ prefix (this solution involved less changes in the
1079         gtkclist.c code). added a GTK_CLIST_CONSTRUCTED flag to substitute
1080         the mem_chunk==NULL test in gtk_clist_construct. merged in changes
1081         from lars & stefan to support the derivation of GtkCtree.
1082
1083         * gtkctree.h:
1084         * gtkctree.c:
1085         initial import of a tree widget derived from gtkclist, courtesy
1086         of Lars Hamann <lars@gtk.org> and Stefan Jeske <jeske@gtk.org>,
1087         it just damn rocks!
1088
1089 Fri May  1 10:05:44 1998  Tim Janik  <timj@gtk.org>
1090
1091         * gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
1092         for us.
1093         (gtk_list_insert_items):
1094         (gtk_list_remove_items_internal): 
1095         (gtk_list_clear_items): 
1096         remove a possible pointer grab, we might get thrown into a loop
1097         otherwise.
1098         (gtk_list_button_press): grab the pointer *before* selecting the child,
1099         because selection of items may cause the lists children to change,
1100         resulting in a grab release.
1101         (gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
1102         children.
1103         (gtk_list_shutdown): remove all children from the list.
1104         (gtk_real_list_unselect_child): 
1105         (gtk_real_list_select_child): *always* put our internal structures into
1106         sane state *before* signal emisions (i.e. list->selection updates prior
1107         to gtk_list_item_[de]select() calls).
1108
1109         * gtk/gtkcombo.c (gtk_combo_init): adjust the scrollbar if the lists
1110         focused child walks out of the window.
1111         removed CAN_FOCUS for the combo arrow's button since it doesn't react
1112         to keyboard events ("clicked" connection is missing).
1113
1114 Fri May  1 00:42:25 1998  Owen Taylor  <otaylor@gtk.org>
1115
1116         * gdk/gdkwindow.c (gdk_window_get_colormap): Fix up
1117         getting colormap for FOREIGN windows to go along with
1118         Raster's fix for visuals.
1119
1120 Merges from gtk-1-0
1121 ===================
1122         
1123 Thu Apr 30 23:32:51 1998  Owen Taylor  <otaylor@gtk.org>
1124
1125         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
1126         Check to catch the case when the viewport fits in either
1127         direction or both, instead of flip-flopping infinitely.
1128
1129         Only show/hide the scrollbars once at the end.
1130
1131 Thu Apr 30 21:56:07 1998  Owen Taylor  <otaylor@gtk.org>
1132
1133         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): 
1134         Include the scrollbars in the foreach call.
1135         (gtk-fortier-980405-0.patch; 
1136          Patrice Fortier <Patrice.Fortier@aquarel.fr>). 
1137
1138         The notebook widget
1139         really should also include its tabs, but that might cause
1140         problems for programs if they
1141
1142 Thu Apr 30 21:51:52 1998  Owen Taylor  <otaylor@gtk.org>
1143
1144         * gtk/gtkpixmap.c (gtk_pixmap_set): Only request a
1145         resize if the size actually changed. 
1146         (gtk-johannes-980414-0.patch ;  
1147          johannes@nada.kth.se (Johannes Keukelaar) )
1148
1149 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
1150
1151         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
1152           ltmain.sh ltconfig config.sub config.guess:
1153
1154         Reverted back to libtool-1.2 (plus minor patches) so as not to
1155         force the issue for everyone else.
1156
1157 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
1158
1159         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
1160         Updated to libtool 1.2a.
1161
1162         * gtk/gtkclist.c: Draw the in-between lines with style->base
1163         instead of style->white.
1164         
1165 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
1166
1167         * gdk/gdkprivate.h gdk/gdkwindow.c gdk/gdkpixmap.c: 
1168         Cache the colormap and children of a window locally
1169         instead of fetching them from the server when needed.
1170         Huge performance difference for creating/destroying
1171         windows.
1172
1173         * gtk/gtkstyle.c: Find the depth from the cached
1174         visual, instead of asking the server.
1175
1176         * gtk.m4: Distribute the new version which tries to
1177         figure out what went wrong and give helpful error
1178         messages.
1179
1180         * ltmain.sh ltconfig config.sub config.sh: 
1181         Updated to libtool 1.2a
1182
1183         * gtk/gtktext.c: Fixed a bug where the drawn level
1184         was being messed up when the text was scrolled
1185         during a deletion.
1186         
1187 Thu Apr 30 02:42:11 PDT 1998 Manish Singh <yosh@gimp.org>
1188
1189         * gtk/gtkfilesel.c: don't die when naughty people remove parts of
1190         the filesystem under you (fix from Josh)
1191
1192 Thu Apr 30 09:49:14 1998  Tim Janik  <timj@gtk.org>
1193
1194         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): check
1195         if the viewport already exists before iterating over it, maybe we
1196         haven't been constructed yet.
1197
1198 Thu Apr 30 01:51:00 1998  Tim Janik  <timj@gtk.org>
1199
1200         * gtk/gtkbin.c (gtk_bin_add): made this function issue a warning if
1201         the GtkBin widget already has a child.
1202
1203         * gtk/gtkbox.c (gtk_box_pack_{start|end}):
1204         check that child->parent == NULL;
1205
1206 Tue Apr 28 22:13:54 1998  Owen Taylor  <otaylor@gtk.org>
1207
1208         * gtk/gtkselection.c (gtk_selection_clear): Only return
1209         FALSE when the clear event is been rejected, not when
1210         widget has already lost the selection. (Which should
1211         only happen when we are setting the selection to another
1212         widget ourself.)
1213         
1214 Fri Apr 24 19:07:32 1998  Owen Taylor  <otaylor@gtk.org>
1215
1216         * gtk/gtkfixed.c gtk/gtkpaned.c gtk/gtktable.c:
1217
1218         Removed the "check visibility after gtk_widget_unparent" bug 
1219         in hopefully the last three places.
1220
1221 Tue Apr 28 15:46:41 1998  Tim Janik  <timj@gtk.org>
1222
1223         * gtk/gtkrc.c (gtk_rc_parse_statement): allow the inclusion of other
1224         rc-files.
1225
1226 Mon Apr 27 15:11:52 1998  Tim Janik  <timj@gtk.org>
1227
1228         * gtk/gtkwidget.c (gtk_widget_grab_focus): only allow grabbing of focus
1229         for CAN_FOCUS widgets.
1230
1231         * gtk/testgtk.c (create_scrolled_windows): feature h/v focus
1232         adjustments for the table.
1233         (create_list): feature automatic adjustment of the scrolled window to
1234         always contain the focused child.
1235         (create_main_window): keep the focussed button always inside of the
1236         scrolled windoww.
1237
1238         * gtk/gtkcontainer.c (gtk_real_container_focus): set the h/v focus
1239         adjustments, to contain the allocation of the currently focused child.
1240         (gtk_container_set_focus_hadjustment): new functin to set the
1241         horizontal focus adjustment.
1242         (gtk_container_set_focus_vadjustment): new functin to set the vertical
1243         focus adjustment.
1244
1245         * gtk/gtkadjustment.c (gtk_adjustment_clamp_page): new fucntion to
1246         clamp the currents adjustment page into a specific range.
1247
1248         * random GtkType fixups for gtk_*_get_type() functions.
1249
1250 Fri Apr 24 18:37:16 1998  Owen Taylor  <otaylor@gtk.org>
1251
1252         * gtk/gtktreeitem.c (gtk_tree_item_remove_subtree): 
1253         Account for the fact that gtk_tree_item_remove_subtree
1254         will be called recursively. 
1255
1256         Handle removing a collapsed subtree.
1257
1258         (From Andy Dustman <adustman@comstar.net>)
1259         
1260         * gtk/gtktree.c (gtk_tree_remove_items): Look for the
1261         root tree when removing items from a non-previously
1262         mapped tree.
1263
1264         * gtk/testgtk.c: Added a remove_subtree button.
1265         
1266 Thu Apr 23 23:44:17 1998  Owen Taylor  <otaylor@gtk.org>
1267
1268         * gtk/gtkobject.c (gtk_object_finalize): Notify all weak references
1269         before object removing data. This change fixes a bug where 
1270         removing the last weak references would cause it to be 
1271         triggered.
1272
1273 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
1274
1275         * gdk/Makefile.am: Removed mostly useless dependency that
1276         was causing problems for SGI's make, when used with
1277         the 'make dist' form of GTK+. (Dependency caused dependencies
1278         to be redone when BUILT_SOURCES changed)
1279
1280 Thu Apr 30 11:18:00 1998  Owen Taylor  <otaylor@gtk.org>
1281
1282         * gtk/gtkcombo.[ch]: Allow the user to use the popup list
1283         like a menu.
1284         
1285         * gtk/gtkmenuitem.c gtk/gtkitem.c: Moved enter/leave handlers
1286         to gtkitem.c so dragging can also work in lists.
1287
1288         * gtk/gtklist.[ch]: Track child enter events and use
1289         those to allow dragging the selection. 
1290
1291 Thu Apr 30 11:16:06 1998  Owen Taylor  <otaylor@gtk.org>
1292
1293         * gtk/gtktext.c: Try enabling background pixmaps for editable text
1294         widgets.  There is a bit of flashing, but not too bad. If you
1295         don't want the flashing, you can always not set a background
1296         pixmap.
1297
1298 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
1299
1300         * gtk/gtktext.c: Fixed a bug where the drawn level
1301         was being messed up when the text was scrolled
1302         during a deletion.
1303         
1304 1998-04-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1305
1306         * gdk/gdk.c (gdk_event_translate): Random debugging fixed this
1307         bug:  There is no need to set the ExposureMask in the XGrabPointer
1308         (this caused DnD programs to crash).
1309
1310 Fri Apr 24 01:29:04 1998  Tim Janik  <timj@gtk.org>
1311
1312         * gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
1313         field to be of type guint.
1314         * gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
1315         ref_count>0;
1316         (gtk_accelerator_table_install): keep a per object list of accelerator
1317         tables that refer to this object.
1318         (gtk_accelerator_table_remove): remove the accelerator table from the
1319         per object list.
1320         (gtk_accelerator_table_clean): warn if there are any object references
1321         left in an accelerator table upon destruction.
1322         (gtk_accelerator_tables_delete): new function to delete object
1323         references from the accelerator tables associated with this object.
1324
1325         * gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
1326         GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
1327         of an accelerator can be prevented by gtk_signal_emit_stop().
1328         (gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
1329         so there are no stale pointers in accelerator tables left.
1330
1331 1998-04-22  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1332
1333         * gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
1334         visible before we unparent it.
1335
1336 Wed Apr 22 04:15:26 1998  Tim Janik  <timj@gtk.org>
1337
1338         * gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
1339         running_timeouts list with the tmp_list link itself, not with a new
1340         GList structure pointing to our link. that would fill up memory and
1341         causes the GList.data fields of the running_timeouts list to point to
1342         GList structures and not GtkTimeoutFunction structures which is a
1343         *really* bad thing.
1344         (gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
1345         the above entry ;).
1346
1347 Sat Apr 18 22:18:12 1998  Tim Janik  <timj@gtk.org>
1348
1349         * gtk/gtkradiomenuitem.h: 
1350         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
1351         ala gtk_radio_button_set_group.
1352         (gtk_radio_menu_item_init): assure that we always have at least a group
1353         that points to self.
1354
1355         * gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
1356         added g_return_if_fail() statements.
1357         (gtk_radio_button_init): assure that we always have at least a group
1358         that points to self.
1359
1360 Fri Apr 17 03:05:05 1998  Tim Janik  <timj@gtk.org>
1361
1362         * ChangeLog split up into ChangeLog.pre-1-0 and ChangeLog.
1363
1364 Wed Apr 15 05:13:09 1998  Tim Janik  <timj@gtk.org>
1365
1366         * gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
1367         (Damon Chaplin), which i got wrong when applying Damon's patch the last
1368         time.
1369
1370 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
1371
1372         * gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
1373         that when we are running with a non-installed colormap,
1374         in 8-bit pseudo-color, we actually are using the system
1375         visual. (Fixes *Bad Match* errors on Digital Unix machines
1376         with multiple 8-bit pseudo-color visuals)
1377
1378 1998-04-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1379
1380         * gdk/gdkwindow.c (gdk_window_xid_at): Fix the problem introduced
1381         by whoever thought that randomly changing ints to unsigned int
1382         without reviewing the code was a good idea.  It is, btw not
1383         mentioned in the ChangeLog as usual, but I know it was not Elliot
1384         the culprit this time. 
1385
1386 Mon Apr 13 19:16:22 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
1387
1388         * Released GTK+ 1.0.0