]> Pileus Git - ~andy/gtk/blob - ChangeLog
Integrating GdkRgb 0.0.3 into the Gtk+ source tree.
[~andy/gtk] / ChangeLog
1 Wed Jul 15 12:39:27 1998  Raph Levien  <raph@acm.org>
2
3         * This checkin integrates GdkRgb version 0.0.3 into the Gtk 1.1
4         source tree. For more information on GdkRgb, please see:
5         http://www.levien.com/gdkrgb/
6
7         * gtk/gtkfeatures.h.in (GTK_HAVE_GDK_RGB): added this feature. It
8         bothers me slightly that the feature is in gdk, and this file is
9         in gtk, but it's probably ok.
10
11         * gdk/gdk.h: Added an #include of <gdk/gdkrgb.h>
12
13         * gdk/gdkrgb.c:
14         * gdk/gdkrgb.h: Added this module.
15
16         * Makefile.am (EXTRA_DIST): Added gdkrgb.c and gdkrgb.h files.
17
18         * configure.in: added AC_C_BIGENDIAN test (needed by GdkRgb).
19
20 Wed Jul 15 14:20:10 1998  Tim Janik  <timj@gtk.org>
21
22         * gtk/gtksignal.c (gtk_signal_real_emit): pass only the signal_id
23         to this function. it needs to relookup the signal multiple times.
24         this fixes spurious segfaults that could show up with signal intensive
25         code, when classes are created during a pending emission (which is
26         normal case).
27
28 Tue Jul 14 19:12:12 1998  Tim Janik  <timj@gtk.org>
29
30         * gtk/gtkbutton.c (gtk_button_set_arg): don't destroy a buttons
31         child if it isn't a label.
32
33 Tue Jul 14 11:41:38 1998  Tim Janik  <timj@gtk.org>
34
35         * gtk/gtkdialog.h: 
36         * gtk/gtkseparator.h: 
37         * gtk/gtkhseparator.h: 
38         * gtk/gtkvseparator.h: macro and GtkType fixups.
39
40 Tue Jul 14 06:25:46 1998  Tim Janik  <timj@gtk.org>
41
42         * gtk/testgtk.c (create_cursors): display the current cursor name.
43
44         * gtk/gtktypeutils.h: 
45         * gtk/gtktypeutils.c (gtk_type_init_builtin_types): cleanups to
46         the fundamental type definition. the GtkArg union now only covers
47         the required storage types for argument values. adapted the GTK_VALUE_*
48         macro set. handle GTK_TYPE_UCHAR. definiton of type set bounds macros.
49
50         * gtk/gtkargcollector.c (gtk_arg_collect_value): clean ups of the
51         code, fixed int/float collection. fixed a bug in the sanity checking
52         code for GtkObjects.
53
54         * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixups of the
55         argument collection code.
56
57         * gtk/gtksignal.c (gtk_signal_collect_params): use the type set bounds
58         macros when distinguishing the return type.
59
60 Mon Jul 13 12:42:51 1998  George Lebl  <jirka@5z.com>
61
62         * gdk/gdkwindow.h: (gdk_window_reparent) check if old_parent_private
63           is not NULL before trying to g_list_remove the child. A patch
64           from Michael Lausch.
65
66 Sun Jul 12 16:40:06 1998  Tim Janik  <timj@gtk.org>
67
68         * gtk/gtkargcollector.c (gtk_arg_collect_value): fix float argument
69         collection (always casted to doubles upon argument passing).
70
71 Sun Jul 12 05:59:26 1998  Tim Janik  <timj@gtk.org>
72
73         * gtk/gtktypeutils.c (gtk_type_new): call the base classes'
74         object_init_func for derived objects with the object's ->klass field
75         still pointing to the corresponding base class, otherwise overridden
76         class functions could get called with partly-initialized objects.
77         (change from Tero Pulkkinen <terop@modeemi.cs.tut.fi>).
78
79 Sun Jul 12 02:47:35 1998  Tim Janik  <timj@gtk.org>
80
81         * gtk/gtkobject.h:
82         * gtk/gtkobject.c:
83         (gtk_object_arg_get_info): new functions which wraps gtk_arg_get_info().
84
85         * gtk/gtkcontainer.h:
86         * gtk/gtkcontainer.c:
87         (gtk_container_child_arg_get_info): new function which wraps
88         gtk_arg_get_info().
89
90 Fri Jul 10 13:29:53 1998  Tim Janik  <timj@gtk.org>
91
92         * gtk/gtkcontainer.c:
93         (gtk_container_arg_get): 
94         (gtk_container_arg_set): 
95         * gtk/gtkobject.c:
96         (gtk_object_arg_set): 
97         (gtk_object_arg_get):
98         strictly check for the associated get/set arg functions. if an
99         arg is readable or writable, the associated class functions *must*
100         be provided.
101
102 Fri Jul 10 09:37:50 1998  Tim Janik  <timj@gtk.org>
103
104         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): only take the
105         padding into account if there is an accelerator.
106
107 Fri Jul 10 05:51:44 1998  Tim Janik  <timj@gtk.org>
108
109         * gtk/gtkcontainer.c:
110         (gtk_container_add_with_args): collect the arguments with
111         gtk_container_child_args_collect, not through gtk_object_args_collect.
112         (gtk_container_child_set): likewise.
113
114 Fri Jul 10 04:20:35 1998  Tim Janik  <timj@gtk.org>
115
116         * gtk/gtktypeutils.h: 
117         * gtk/gtktypeutils.c: added a new internal type GTK_TYPE_IDENTIFIER
118         which is derived from GTK_TYPE_STRING.
119
120         * gtk/gtkbindings.c: reworked the argument type handling.
121
122 Thu Jul  9 21:03:19 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
123
124         * gtk/gtkpreview.c: add in just enough support for 1 or 4 bits
125           so that it seems to allow normal operation in those modes,
126           although you will only see black  (GIMP toolbar now pops up,
127           just don't create a new image and GIMP now works in 4 bit.)
128
129 Thu Jul  9 20:20:04 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
130
131         * gdk/gdkvisuals.c: 4 bit support, increased available_depths
132           array, which was too low (?)
133
134 Fri Jul 10 00:02:04 1998  Tim Janik  <timj@gtk.org>
135
136         * gtk/gtkcontainer.h: 
137         * gtk/gtkcontainer.c: deleted most of the argument handling code, since
138         that is now implemented in gtkarg.c. similar to gtk_object_args_collect,
139         we now export a new function gtk_container_child_args_collect().
140         for consistency with the object arguments, a few functions got renamed:
141         gtk_container_child_arg_get -> gtk_container_child_get,
142         gtk_container_child_arg_set -> gtk_container_child_set,
143         gtk_container_child_arg_getv -> gtk_container_child_getv,
144         gtk_container_child_arg_setv -> gtk_container_child_setv,
145         gtk_container_add_with_argv -> gtk_container_addv.
146         note, gtk_container_add_with_args() remained, because its equivalent
147         would be gtk_container_add(,, ...) which would break all existing code.
148         (gtk_container_add_child_arg_type): similar to gtk_object_add_arg_type,
149         we expect the `arg_name' argument to be a const static string now.
150         (gtk_container_get_child_arg_type): function removed.
151
152 Thu Jul  9 07:03:04 1998  Tim Janik  <timj@gtk.org>
153
154         * gtk/gtkargcollector.c: new file which holds gtk_arg_collect_value().
155         this is a static inline function that collects command line arguments
156         from a va_list. this file can just be included in all places that
157         need this functionality.
158
159         * gtk/gtkarg.h: 
160         * gtk/gtkarg.c: new files which implement most of the argument
161         handling stuff from gtkobject.c. also collected a few more
162         gtk_arg_* utility functions from else places.
163
164         * gtk/gtkobject.h: 
165         * gtk/gtkobject.c: moved most of the argument handling code into
166         gtkarg.c. we now export gtk_object_args_collect() as a non-public
167         method with a blind va_list pointer.
168         (gtk_object_add_arg_type): the `arg_name' argument is required to be a
169         const static string now.
170         (gtk_object_get_arg_type): function got removed.
171
172         * gtk/gtkwidget.c: 
173         (gtk_widget_set): 
174         (gtk_widget_new): adaptions for gtk_object_args_collect().
175
176         * gtk/gtktypeutils.c (gtk_type_init_builtin_types): changed the internal
177         fundamental type name so as to have a valid prefix, e.g. "bool"->
178         "gboolean", "string"->"GtkString" and somesuch, left "void" as is,
179         though that should probably be something like GtkNone since the
180         type itself is called GTK_TYPE_NONE.
181         even the internal type names need to avoid name clashes and must live
182         in their own namespace, several code portions rely on that.
183         we should relly have typedefs such as typedef gchar* GtkString; so the
184         fundamental type names can be used for code dumpers just like with all
185         the Gtk/Gdk types.
186
187 Wed Jul  8 15:31:28 1998  Tim Janik  <timj@gtk.org>
188
189         * gtk/gtkbutton.c: handle GTK_RELIEF_HALF, which was introduced to
190         keep either GTK_STATE_NORMAL for relief buttons (GTK_RELIEF_NONE) or
191         to still honour GTK_WIDGET_STATE(), e.g. for coloured buttons
192         (GTK_RELIEF_HALF).
193         (gtk_button_paint): set the background for prelighted buttons with
194         GTK_STATE_NORMAL only if GTK_RELIEF_NONE.
195         (gtk_button_draw_focus): if GTK_RELIEF_NONE, use GTK_STATE_NORMAL for
196         the shadow type (otherwise we get strange shadows for coloured buttons).
197         (gtk_button_set_relief): queue a redraw after changing
198         the relief.
199         (gtk_button_class_init): 
200         (gtk_button_set_arg): 
201         (gtk_button_get_arg): added object argument "GtkButton::relief".
202
203         * gtk/gtkenums.h (enum): added GTK_RELIEF_HALF.
204
205 Mon Jul  6 18:30:48 1998  Tim Janik  <timj@gtk.org>
206
207         * gtk/gtkbutton.h:
208         * gtk/gtkbutton.c: GtkButtons are now derived from GtkBin. we mirror
209         GTK_BIN (button)->child to button->child to keep source compatibility.
210
211         * gtk/gtkoptionmenu.c:
212         * gtk/gtkclist.c:
213         * gtkcheckbutton.c: don't refer to button->child, but
214         GTK_BIN (button)->child instead.
215
216 Mon Jul  6 12:06:23 BST 1998  Tony Gale  <gale@gtk.org>
217
218         * docs/gtkfaq.sgml: update anon CVS info
219
220 Sat Jul  4 13:16:24 1998  Tim Janik  <timj@gtk.org>
221
222         * gtk/*.c: changed reversed_[12] to reserved_[12] in gtk_*_get_type
223         functions.
224
225         * gdk/gdkwindow.c:
226         * gdk/gdkvisual.c: check for some pointer values to be != NULL, prior
227         to XFree() calls.
228
229 1998-07-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
230
231         * gtk/gtkfeatures.h.in: Added GDK_HAVE_FULL_CROSSING_EVENT, since
232         I seem to have erroneously added it to gtkfeatures.h (not .h.in).
233
234 Fri Jul  3 14:55:31 PDT 1998 Manish Singh <yosh@gimp.org>
235
236         * gtk/gtkfeatures.h.in: added GTK_HAVE_RELIEF_STYLE
237
238 Wed Jul  1 20:58:46 1998  Tim Janik  <timj@gtk.org>
239
240         * gtk/gtkwidget.h:
241         * gtk/gtkwidget.c: temporary implementation of action signal "debug_msg"
242
243         * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixed an off-by-one
244         error that prevented signal to entry addition for signals with
245         parameters.
246
247 Wed Jul  1 10:05:36 PDT 1998 Manish Singh <yosh@gimp.org>
248
249         * ltconfig: fix for properly detecting shared lib support on
250         SunPro cc (taken from libtool 1.2.a)
251
252 Wed Jul  1 03:33:30 1998  Tim Janik  <timj@gtk.org>
253
254         * gtk/gtkrc.c: implementation of the "class" keyword for styles.
255
256 Tue Jun 30 14:30:37 1998  Tim Janik  <timj@gtk.org>
257
258         * gtk/gtkrc.c: fixed lookup order for rc styles. the latest defined
259         rc set pattern is favoured, this is needed for overriding of style
260         patterns with subsequently parsed rc files.
261
262 Tue Jun 30 12:45:19 1998  Tim Janik  <timj@gtk.org>
263
264         * gtk/gtkrc.c: code overhaul for simplicity and more descriptive
265         error messages.
266
267 Tue Jun 30 09:24:40 1998  Tim Janik  <timj@gtk.org>
268
269         * gtk/gtkaccelgroup.c (gtk_accelerator_parse): parse "<Release>"
270         modifier as well.
271         (gtk_accelerator_name): add "<Release>" to the accelerator name if
272         neccessary.
273
274         * gtk/gtkbindings.c (BINDING_MOD_MASK): take BINDING_MOD_MASK into
275         account.
276
277         * gtk/gtkwidget.c (gtk_widget_real_key_release_event): implemented
278         default handler for key-release events, which checks for activation
279         of GDK_RELEASE_MASK key bindings.
280
281         * gdk/gdktypes.h (enum): added GDK_RELEASE_MASK to GdkModifierType.
282
283 Mon Jun 29 13:39:45 1998  Tim Janik  <timj@gtk.org>
284
285         * gtk/gtkarrow.h: GtkType and macro fixups.
286         * gtk/gtkarrow.c: widget argument implementation: "GtkArrow::arrow_type",
287         "GtkArrow::shadow_type".
288
289 Sun Jun 28 11:39:17 1998  Tim Janik  <timj@gtk.org>
290
291         * gtk/gtkalignment.h:
292         * gtk/gtkbin.h: GtkType and macro fixups.
293         
294         * gtk/gtkalignment.c (gtk_alignment_class_init): widget argument
295         implementation: GtkAlignment::xalign, GtkAlignment::yalign,
296         GtkAlignment::xscale, GtkAlignment::yscale.
297
298 Sun Jun 28 04:29:10 1998  Tim Janik  <timj@gtk.org>
299
300         * gtk/gtktypeutils.c (gtk_type_class_init): call the base class init
301         fucntions from all parent types upon class initialization.
302
303         * gtk/gtkcontainer.c:
304         (gtk_container_get_type): announce gtk_container_base_class_init to
305         the type system.
306         (gtk_container_base_class_init): new function to feature base class
307         initialization.
308         (gtk_container_get_child_arg): 
309         (gtk_container_set_child_arg): call the GtkContainerClass get_child_arg
310         and set_child_arg methods of the class indicated through the argument
311         name.
312
313         * gtk/gtkobject.c:
314         (gtk_object_base_class_init): new function to feature base class
315         initialization.
316         (gtk_object_init_type): announce gtk_object_base_class_init to the type
317         system.
318         (gtk_object_class_init): setup the get_arg and set_arg pointers for
319         GtkObjectClass.
320         (gtk_object_setv): 
321         (gtk_object_getv): call the GtkObjectClass get_arg and set_arg methods,
322         instead of bothering the type system with this.
323
324         * gtk/gtkaccellabel.c: 
325         * gtk/gtkbutton.c: 
326         * gtk/gtkradiobutton.c: 
327         * gtk/gtktable.c:
328         * gtk/gtktogglebutton.c: 
329         * gtk/gtktipsquery.c: 
330         * gtk/gtkbox.c: 
331         * gtk/gtkpacker.c: 
332         * gtk/gtkwidget.c: 
333         * gtk/gtkwindow.c: 
334         * gtk/gtkframe.c: 
335         * gtk/gtkmisc.c:
336         * gtk/gtklabel.c: set the object_class->{g|s}et_arg pointers to the
337         corresponding gtk_*_{g|s]et_arg functions and updated the gtk_*_get_type
338         functions wrt GtkTypeInfo initialization. changed a lot of the set/get
339         arg functions to take a GtkObject argument.
340
341         gtk/gtkadjustment.c:
342         gtk/gtkalignment.c:
343         gtk/gtkarrow.c:
344         gtk/gtkaspectframe.c:
345         gtk/gtkbbox.c:
346         gtk/gtkbin.c:
347         gtk/gtkcheckbutton.c:
348         gtk/gtkcheckmenuitem.c:
349         gtk/gtkclist.c:
350         gtk/gtkcolorsel.c:
351         gtk/gtkcombo.c:
352         gtk/gtkctree.c:
353         gtk/gtkcurve.c:
354         gtk/gtkdata.c:
355         gtk/gtkdialog.c:
356         gtk/gtkdrawingarea.c:
357         gtk/gtkeditable.c:
358         gtk/gtkentry.c:
359         gtk/gtkeventbox.c:
360         gtk/gtkfilesel.c:
361         gtk/gtkfixed.c:
362         gtk/gtkfontsel.c:
363         gtk/gtkgamma.c:
364         gtk/gtkhandlebox.c:
365         gtk/gtkhbbox.c:
366         gtk/gtkhbox.c:
367         gtk/gtkhpaned.c:
368         gtk/gtkhruler.c:
369         gtk/gtkhscale.c:
370         gtk/gtkhscrollbar.c:
371         gtk/gtkhseparator.c:
372         gtk/gtkimage.c:
373         gtk/gtkinputdialog.c:
374         gtk/gtkitem.c:
375         gtk/gtkitemfactory.c:
376         gtk/gtklist.c:
377         gtk/gtklistitem.c:
378         gtk/gtkmenu.c:
379         gtk/gtkmenubar.c:
380         gtk/gtkmenuitem.c:
381         gtk/gtkmenushell.c:
382         gtk/gtknotebook.c:
383         gtk/gtkoptionmenu.c:
384         gtk/gtkpaned.c:
385         gtk/gtkpixmap.c:
386         gtk/gtkpreview.c:
387         gtk/gtkprogressbar.c:
388         gtk/gtkradiomenuitem.c:
389         gtk/gtkrange.c:
390         gtk/gtkruler.c:
391         gtk/gtkscale.c:
392         gtk/gtkscrollbar.c:
393         gtk/gtkscrolledwindow.c:
394         gtk/gtkseparator.c:
395         gtk/gtkspinbutton.c:
396         gtk/gtkstatusbar.c:
397         gtk/gtktext.c:
398         gtk/gtktoolbar.c:
399         gtk/gtktooltips.c:
400         gtk/gtktree.c:
401         gtk/gtktreeitem.c:
402         gtk/gtkvbbox.c:
403         gtk/gtkvbox.c:
404         gtk/gtkviewport.c:
405         gtk/gtkvpaned.c:
406         gtk/gtkvruler.c:
407         gtk/gtkvscale.c:
408         gtk/gtkvscrollbar.c:
409         gtk/gtkvseparator.c: updated the GtkTypeInfo initialization code to
410         match the modified GtkTypeInfo structure.
411
412 Sat Jun 27 23:23:27 PDT 1998 Manish Singh <yosh@gimp.org>
413
414         * gtk/testgtk.c: use rand() instead of random() for portability
415
416 Sat Jun 27 22:42:28 PDT 1998 Manish Singh <yosh@gimp.org>
417
418         * configure.in
419         * acconfig.h
420         * gdk/gdk.c: use native Xlib XConvertCase if it's available
421
422 Sat Jun 27 15:44:46 1998  Tim Janik  <timj@gtk.org>
423
424         * gdk/gdk.c (gdkx_XConvertCase): compatibility function to provide
425         XConvertCase() functionality from X11R6 on X11R5 systems.
426
427 Thu Jun 25 10:50:34 1998  Stefan Jeske  <stefan@gtk.org>
428
429         * gdk/gdk.h gdk/gdkfont.c: Added functions gdk_text_height,
430         gdk_string_height, gdk_char_height to retrieve the exact
431         height of a text.
432
433 Thu Jun 25 07:53:51 BST 1998  Tony Gale  <gale@gtk.org>
434
435         * docs/gtk_tut.sgml: add section on GtkCList widget, contributed
436           by Stefan Mars <mars@lysator.liu.se>
437         * examples/clist/clist.c examples/clist/Makefile: example code
438           for GtkCList widget from the Tutorial
439
440 Wed Jun 24 16:38:02 1998  Tim Janik  <timj@gtk.org>
441
442         * gtk/gtkbin.c (gtk_bin_remove): do not avoid to queue for a resize
443         if the container is not visible, we might be a toplevel! this holds
444         for all other base container implementations as well, that are
445         candidates to derive toplevels from. in general the resizing code will
446         care about visibility itself.
447         * gtk/gtkmenushell.c (gtk_menu_shell_remove): likewise.
448         * gtk/gtkbox.c (gtk_box_remove): likewise.
449
450         * gtk/gtkwindow.c (gtk_window_move_resize): save ->use_uposition around
451         gtk_window_set_hints(), since we haven't calculated the new position
452         yet.
453
454         * gdk/gdkwindow.c (gdk_window_get_pointer): take care that *x, *y and
455         *mask are alway initialized in a sane way, regardless of the return
456         value.
457
458 Wed Jun 24 14:14:32 1998  Tim Janik  <timj@gtk.org>
459
460         * gtk/gtkcontainer.c: new function gtk_container_child_arg_set, similar
461         to gtk_container_child_arg_setv, but takes a variable argument list.
462         new function gtk_container_get_child_arg_type, which is needed by
463         gtk_object_collect_args.
464
465         * gtk/gtkobject.c: changed prototype for gtk_object_collect_args, to
466         take a function pointer to figure the argument type.
467         adapted callers to pass gtk_object_get_arg_type.
468         * gtk/gtkwidget.c: adapted gtk_object_collect_args callers to pass
469         gtk_object_get_arg_type..
470
471         * gtk/gtkpacker.h: 
472         * gtk/gtkpacker.c:
473         (gtk_packer_reorder_child): new function to change the packing order
474         of a child.
475         (gtk_packer_size_request): 
476         (gtk_packer_size_allocate): take container->border_width into acount.
477
478         * gtk/gtkpacker.c: implemented widget arguments:
479         "GtkPacker::spacing", "GtkPacker::border_width", "GtkPacker::pad_x",
480         "GtkPacker::pad_y", "GtkPacker::ipad_x", "GtkPacker::ipad_y".
481         implemented child arguments:
482         "GtkPacker::side", "GtkPacker::anchor", "GtkPacker::expand",
483         "GtkPacker::fill_x", "GtkPacker::fill_y", "GtkPacker::use_default",
484         "GtkPacker::border_width", "GtkPacker::pad_x", "GtkPacker::pad_y",
485         "GtkPacker::ipad_x", "GtkPacker::ipad_y", "GtkPacker::position".
486
487         * gtk/gtkmisc.c (gtk_misc_set_arg): for padding args, set the padding,
488         not the alignment.
489
490         * gtk/gtkeventbox.h:
491         * gtk/gtkeventbox.c: GtkType and macro fixups.
492
493         * gtk/testgtk.c (entry_toggle_sensitive): new function to toggle
494         sensitivity of an entry.
495
496         * gtk/gtkstyle.c (gtk_style_new): support normal grey as default color
497         for insensitive base and text.
498
499         * gtk/gtkentry.c (gtk_entry_realize): set the window backgrounds
500         widget state dependent.
501         (gtk_entry_style_set): likewise.
502         (gtk_entry_state_changed): set background color on state changes.
503         (gtk_entry_draw_text): for non selected text, use state dependent
504         colors.
505
506         * gtk/gtktogglebutton.c: support for widget arguments
507         "GtkToggleButton::active" and "GtkToggleButton::draw_indicator".
508
509 Wed Jun 24 08:35:45 1998  Stefan Jeske  <stefan@gtk.org>
510
511         * gtk/gtkspinbutton.c (gtk_spin_button_spin): Added compatibility 
512         code for 1.0.x-like parameters. Changed internal interface of
513         gtk_spin_button_real_spin. Several fixes to avoid emission of
514         "value_changed" where possible.
515
516 Tue Jun 23 22:21:33 PDT 1998 Manish Singh <yosh@gimp.org>
517
518         * gtk-boxed.defs: s/GkWidget/GtkWidget/
519
520 Wed Jun 24 07:47:29 1998  Tim Janik  <timj@gtk.org>
521
522         * gtk/testgtk.c (create_idle_test): added a frame with radio buttons
523         to select the resize_mode for the idle-labels container.
524
525         * gtk/gtkframe.h: 
526         * gtk/gtkframe.c: GtkType and macro corrections.
527
528         * gtk/gtkradiobutton.c (gtk_radio_button_set_arg): new function to
529         support widget argument "GtkRadioButton::group".
530
531 Tue Jun 23 08:01:09 1998  Tim Janik  <timj@gtk.org>
532
533         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): queue a resize
534         unconditionally if resize_mode has changed.
535
536         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_init): set
537         GTK_RESIZE_QUEUE on the scrolled window.
538         (gtk_scrolled_window_construct): set GTK_RESIZE_PARENT for the vieport.
539
540 Tue Jun 23 04:20:30 1998  Tim Janik  <timj@gtk.org>
541
542         * gtk/gtkcontainer.h:
543         * gtk/gtkcontainer.c:
544         (GTK_IS_RESIZE_CONTAINER): new macro to find out if
545         a given gtkobject is a container with resize_mode==GTK_RESIZE_PARENT.
546         (gtk_container_queue_resize): new function to queue a container for
547         a *size* reallocation (doesn't affect its position, and thus its
548         parent is left untouched usually).
549         (gtk_container_get_resize_container): new function to retrive the next
550         most resize container which is not itself queued for a resize.
551         (gtk_container_idle_sizer): new function to carefully process the
552         container_resize_queue since it can change during invokation of
553         gtk_container_check_resize().
554         (gtk_container_resize_children): total rework of this function to
555         properly handle resize containers. makes a lot of assumptions whitch
556         are stated in the comments.
557
558         * gtk/gtkcontainer.c:
559         (gtk_container_real_check_resize): only requeue ourselves if we are not
560         a resize container.
561         (gtk_container_clear_resize_widgets): care for automatic deletion of our
562         resize_widgets list on size_allocate through a handler connection.
563
564         * gtk/gtkwindow.c (gtk_window_shutdown): new functionm to reset the
565         focus and default widget of a window, so to take the burden from
566         gtk_widget_unparent.
567
568         * gtk/gtkviewport.c: removed gtk_viewport_check_resize, which tried
569         to be clever, but actually messed up the resize_children logic and
570         caused unneccessary allocations on its whole branch. besides this,
571         it messed up the display by not invoking a redraw after the allocation.
572
573         * gtk/gtktable.c (gtk_table_set_child_arg): reverted recent change, so
574         that it is the child again that is queued for a resize.
575         (gtk_table_attach): likewise.
576         (gtk_table_remove): likewise.
577
578 1998-06-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
579
580         * gtk/gtkentry.h, gtk/gtkentry.c: Export the
581         gtk_entry_adjust_scroll.  Required if you change the cursor
582         position and want to sync it up with your code (Midnight Commander
583         gtk front end needs this).
584
585         * gtk/gtktable.c: Deal with tables that have size 0, 0.
586
587 Tue Jun 23 12:12:19 BST 1998  Tony Gale  <gale@gtk.org>
588
589         * examples/README.1ST: new file to explain how the
590           code examples should be extracted from the tutorial.
591
592 Mon Jun 22 18:43:11 1998  Lars Hamann  <lars@gtk.org>
593
594         * gtk/gtkctree.c (draw_row): added new "line style"
595         GTK_CTREE_LINES_TABBED 
596         * gtk/gtkctree.c/h (gtk_ctree_find_glist_ptr): new function to
597         search the glist pointer of an GtkCTreeRow
598
599 1998-06-21  Raja R Harinath  <harinath@cs.umn.edu>
600  
601         * gtk/Makefile.am (gtk.defs,gtktypebuiltins*): Remove $(srcdir)
602         from, and clean up, the dependencies.  Generate to intermediate
603         files to prevent problems with Ctrl-C.
604
605         * gtk/genmarshal.pl: Generate `gtkmarshal.[ch]' in $srcdir.
606
607 Fri Jun 19 14:46:56 1998  Stefan Jeske  <stefan@gtk.org>
608
609         * gtk/gtkspinbutton.h gtk/gtkspinbutton.c gtk/testgtk.c:
610         - Bug fix for precision problem causing occasional double emission 
611           of "value_changed" signal (hopefully works now).
612         - API change (should be binary compatible) : 
613           new enum GtkSpinType; modified gtk_spin_button_spin to use it.
614           Modified cursor example appropriately.
615           To spin by something other than step_/page_increment, use
616           gtk_spin_button_spin (spin, GTK_SPIN_USER_DEFINED, increment).
617         - Made GTK_SHADOW_NONE the default. ;)
618         - Fixed casting of GtkAdjustment* to GtkWidget* in
619           gtk_spin_button_value_changed.
620
621 Fri Jun 19 06:18:19 1998  Tim Janik  <timj@gtk.org>
622
623         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): fail silently
624         for toplevels. if resize_mode changes to GTK_RESIZE_PARENT, clear the
625         resize widget list before queuing the container for a new reize.
626         (gtk_container_need_resize): changed return value to FALSE, since this
627         used to indicate that no further resizes are needed.
628         (gtk_container_set_arg): 
629         (gtk_container_get_arg): 
630         (gtk_container_class_init): implemented GtkContainer::resize_mode
631         argument.
632
633         (gtk_container_resize_children): when we walk up the tree of a resize
634         widget we need to stop if we are the current parent.
635
636         * gtk/gtkwidget.c (gtk_widget_queue_resize): flag the resize child with
637         GTK_RESIZE_NEEDED for container->resize_mode==GTK_RESIZE_IMMEDIATE.
638         (gtk_widget_hide_all): retrive the toplevel widget from via
639         gtk_widget_get_resize_container().
640
641 Thu Jun 18 23:08:36 1998  Owen Taylor  <otaylor@gtk.org>
642
643         * gtk/gtklist.c (gtk_list_button_press): Only respond
644           to selection with button 1. This allows context-sensitive
645           menus to work correctly.
646
647 Fri Jun 19 03:29:04 1998  Tim Janik  <timj@gtk.org>
648
649         * gtk/gtkaccelgroup.c: 
650         * gtk/gtkbindings.c: 
651         * gtk/gtkcontainer.c:
652         * gtk/gtkitemfactory.c:
653         * gtk/gtkobject.c: 
654         * gtk/gtksignal.c:
655         * gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
656         g_quark_from_static_string calls to save memory.
657
658         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
659         function _after_ the new data has been setup.
660         minor changes to object data functions to feature the GQuark type.
661
662 Thu Jun 18 21:13:54 1998  Owen Taylor  <otaylor@gtk.org>
663
664         * gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
665           from argv.
666
667 Thu Jun 18 20:22:28 1998  Owen Taylor  <otaylor@gtk.org>
668
669         * gtk/genmarshal.pl: Modified to be more idiomatic Perl,
670           to be more readable perl, to spit out stuff that looks
671           more like readable C, and to pipe output through indent
672           so output looks a lot like readable C. No functional
673           changes.
674
675 Thu Jun 18 17:43:31 1998  Owen Taylor  <otaylor@gtk.org>
676
677         * gtk/gtkpixmap.[ch] (gtk_pixmap_set): Clear the background if
678           necessary when switching to a masked pixmap. (Based on a patch
679           from Ullrich Hafner <hafner@informatik.uni-wuerzburg.de>)
680
681 Thu Jun 18 16:18:10 1998  Owen Taylor  <otaylor@gtk.org>
682
683         * gtk/gtkeditable.[ch]: Added action signals for keyboard
684           bindings. (move_cursor, kill_word, etc, etc, etc). 
685
686           removed the time argument from
687           gtk_editable_cut/copy/paste_clipboard (source but not
688           binary incompatible...) Instead get time from
689           gtk_get_current_event ().
690         
691         * gtk/gtktext.c gtk/gtkentry.c: Support the new editable
692           signals.
693
694 Thu Jun 18 02:52:09 1998  Owen Taylor  <otaylor@gtk.org>
695
696         Patches from Damon Chaplin <DAChaplin@email.msn.com>:
697
698         gtk/gtkfontsel.h: Fixed GtkFontSelectionClass - I forgot to change
699              parent class to GtkNotebookClass when splitting the widget in
700              two.  Also updated some comments.
701
702         gtk/gtkfontsel.c: Fixed bug when toggling 'Allow scaled bitmaps'
703                button without a font selected.
704
705              Fixed bug in set_font_name - I hadn't updated the code to
706                search for the style in the font_style clist - it was
707                still assuming the style row was equal to its index,
708                but it isn't any more.
709         
710              Changed 'Reset' button on filter page to 'Clear Filter'.
711              Deleted old code relating to the old 'Filter Fonts' toggle
712              Updated some comments.
713              Cleared 'Actual Fontname' if no font is set.
714
715         gtk/testgtk.c: Fixed problem when 'OK' button is pressed - it was
716              destroying the GtkFontSelection instead of the
717              GtkFontSelectionDialog.
718
719 Thu Jun 18 02:15:31 1998  Owen Taylor  <otaylor@gtk.org>
720
721         * gtk/gtkmain.c (gtk_init): Added --g-fatal-warnings
722           flag to make all warnings fatal errors.
723
724         * gtk/testthreads.c: moved <pthreads.h> include inside 
725           #ifdef USE_PTHREADS
726
727 Thu Jun 18 01:37:31 1998  Owen Taylor  <otaylor@gtk.org>
728
729         * gtk/gtkenums.h gtk/gtkcontainer.[ch] gtk/gtkwidget.c 
730           gtk/gtkmenu.c gtk/gtkviewport.c gtk/gtkwindow.c:
731
732         - Added new function gtk_container_set_resize_mode() for
733           fine-grained control of where resize-queueing is done.
734
735         - Removed GtkContainer::need_resize and GtkWindow::move_resize
736         - Added GtkContainer::check_resize to replace need_resize.
737
738         - Added function gtk_container_check_resize() to trigger
739           queued resizes, and gtk_container_resize_children() to
740           Figure which children need to be size-allocated. (logic
741           moved from gtkwindow.c)
742
743         - Reorganized code in gtkwindow.c
744         
745         - Set the resize-mode for viewports so that resizes within
746           a viewport don't propagate out of it. 
747         
748 1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
749
750         * gtk/gtkfontsel.c: Use pointer<->int conversion macros to avoid warnings.
751
752         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): Use
753         g_return_val_if_fail, because the function *does* return a value.
754
755 Thu Jun 18 03:30:06 1998  Tim Janik  <timj@gtk.org>
756
757         * gtk/gtkaccellabel.h:
758         * gtk/gtkaccellabel.c: new function gtk_accel_label_accelerator_width to
759         request the size of the accelerator portion of an accel label.
760         (gtk_accel_label_size_request): don't request for the accelerators size.
761         (gtk_accel_label_expose_event): only draw the accelerator if we got
762         enough extra space.
763
764         * gtk/gtkmenuitem.c (gtk_menu_item_size_request): request accelerator
765         width from children.
766
767         * gtk/gtkmenu.c (gtk_menu_key_press): when adding an accelerator to an
768         object (after removal has been requested) check if there is still an
769         accelerator remaining to avoid adding two accelerators on an object.
770         this can happen for locked accelerators (or accelerator-frozen widgets).
771         (gtk_menu_size_request): feature childrens accelerator width in size
772         requests.
773
774         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): use
775         gtk_widget_freeze_accelerators() for dynamically created menu items.
776
777         * gtk/gtksignal.h: 
778         * gtk/gtksignal.c: new function gtk_signal_handler_pending_by_func()
779         which will return a handler_id > 0 if the specified function is pending
780         for `signal_id'.
781
782         * gtk/gtkwidget.h:
783         * gtk/gtkwidget.c: remove gtk_widget_stop_accelerator, which was just
784         a signal handler function to stop accelerator addition.
785         added gtk_widget_freeze_accelerators and gtk_widget_thaw_accelerators
786         which will prevent (undo) any accelerators from being added to or
787         removed from a widget.
788
789 Wed Jun 17 21:59:09 1998  Stefan Jeske  <stefan@gtk.org>
790
791         * gtkspinbutton.h gtkspinbutton.c testgtk.c:
792         Changed GtkSpinButtonUpdatePolicy enum, added keyboard
793         acceleration, new API gtk_spin_button_set_snap_to_ticks.
794
795 Wed Jun 17 03:47:40 1998  Tim Janik  <timj@gtk.org>
796
797         * gdk/gdk.h:
798         * gdk/gdkwindow.c: new function gdk_window_at_pointer() to retrive
799         the current GdkWindow the pointer is on if there is any.
800         
801         * gtk/gtktable.c (gtk_table_init): preallocate a table with one row
802         and one column, so we don't construction logic at all. changed a few
803         (x < y - 1) to (x + 1 < y), to avoid failing evaluations due to
804         unsigned int wraps.
805
806         * gtk/gtkwidget.c (gtk_widget_set_parent): removed left over code
807         portion, added an additional check for parent != widget.
808
809         * more GtkType and macro fixups.
810
811 1998-06-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
812
813         * gtk/gtkhandlebox.c (draw_textured_frame): Now accepts an extra
814         "clip" parameter, which is the clipping rectangle to use.  This
815         eliminates the extremely annoying flicker when exposing parts of
816         the handlebox.
817
818 Tue Jun 16 14:08:08 PDT 1998 Manish Singh <yosh@gimp.org>
819
820         * gtk/gtktable.c: fix from TimJ for off-by-one error in table
821         resizing
822
823 Tue Jun 16 06:29:57 1998  Tim Janik  <timj@gtk.org>
824
825         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_state): check for
826         != 0 on the argument.
827
828         * gtk/gtktable.h: 
829         * gtk/gtktable.c: new function gtk_table_resize() which allowes
830         shrinking and expanding of tables. implementation of widget arguments
831         and child arguments. many signedness corrections.
832
833 Mon Jun 15 04:15:03 1998  Tim Janik  <timj@gtk.org>
834
835         * gtk/gtkbox.c (gtk_box_set_child_packing): queue the resize for the box
836         not only the child, otherwise we might end up taking away other
837         childrens space after the resize.
838
839         * gtk/gtkitemfactory.c (gtk_item_factory_parse_menu_path): if we parse
840         an unknown menu path from any source, that path must always be flagged
841         as "modified", since we don't really know whether it has its default
842         value or not.
843
844         * gtk/gtktree.c:
845         * gtk/gtkpacker.c:
846         * gtk/gtknotebook.c:
847         * gtk/gtkmenushell.c:
848         * gtk/gtklist.c:
849         * gtk/gtkpaned.c:
850         * gtk/gtkfixed.c: 
851         * gtk/gtkbutton.c: implement gtk_*_child_type functions.
852
853         * gtk/gtkbox.h: 
854         * gtk/gtkbox.c: type corrections for expand, fill, padding and pack_type
855         arguments. implemented child arguments.
856
857         * more GtkType and macro fixups.
858
859 Sun Jun 14 16:30:02 1998  Tim Janik  <timj@gtk.org>
860
861         * gtk/gtkcheckbutton.h: GtkType and macro fixups.
862
863         * gtk/gtkclist.h: exported the prototypes for gtk_clist_get_vadjustment
864         and gtk_clist_get_hadjustment.
865
866         * gtk/gtkcontainer.c:
867         implementation of children arguments, new class member functions
868         (child_type), (get_child_arg) and (set_child_arg) plus a new field
869         n_child_args.
870         (gtk_container_child_type): new function which returns the type of a
871         child that the container expects for its next addition.
872         (gtk_container_add_child_arg_type): new function to introduce a new
873         child argument at class creation time.
874         (gtk_container_query_child_args): new function to query all child
875         arguments that are supported by a container class.
876         (gtk_container_child_arg_getv): new fucntion to retrive the value of a
877         child argument.
878         (gtk_container_child_arg_setv): new function to set a child argument for
879         a certain container and child combination.
880         (gtk_container_add_with_args):
881         (gtk_container_add_with_argv): new functions to feature addition of a
882         new child in combination with the setting of certain child arguments.
883
884         * gtk/gtktypeuitils.c (gtk_type_class_init): feature initialization of
885         GtkContainerClass.n_child_args, similar to the GtkObjectClass members.
886         this should really be done through class cretion hooks some day.
887
888         * gtk/gtkcontainer.c: changed type of border_width from gint16 to
889         guint : 16.
890
891         * gtk/gtkpacker.h:
892         * gtk/gtkpacker.c: renamed all PadX and PadY to pad_x and pad_y to
893         follow the gtk convention for lower case variable names (important
894         for language wrappers and widget arguments), and made them guint : 16.
895
896         * examples/packer/pack.c: adaptions for the case converted GtkPacker
897         fields.
898
899 Fri Jun 12 16:33:23 1998  Tim Janik  <timj@gtk.org>
900
901         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_scanner): do not
902         change the character pair for single line comments.
903         (gtk_item_factory_parse_rc): use the cpair_comment_signle specified in
904         GtkItemFactoryClass.
905         (gtk_item_factory_parse_rc_string): likewise.
906
907 Mon Jun 15 23:39:44 1998  Owen Taylor  <otaylor@gtk.org>
908
909         * gtk/gtkfontsel.[ch] (gtk_font_selection_dialog_init): Moved font
910         lists from the klass structure to a static structure
911         in gtkfontsel.c; cleans up global the namespace.
912
913 Mon Jun 15 22:16:10 1998  Owen Taylor  <otaylor@gtk.org>
914
915         * gtk/makeenums.pl (parse_entries): Fix (untriggered)
916         bug with /*< skip >*/ and remove warning.
917         
918 Mon Jun 15 20:14:09 1998  Owen Taylor  <otaylor@gtk.org>
919
920         * gtk/Makefile.am: Made the gtkmarshal.* generation
921         rules maintainer-only.
922
923 Mon Jun 15 16:29:45 1998  Owen Taylor  <otaylor@gtk.org>
924
925         * gdk/gdktypes.h gdk/gdkprivate.h gtk/gtk*.h 
926           gtk/Makefile.am gtk/makenums.pl 
927
928         Removed out the G_ENUM/FLAGS mechanism in favor
929         of a perl script that parses the standard headers
930         (with occasional /*< nick=foo >*/ style overrides)
931         and extracts the enumerations.
932
933           gtk/maketypes.awk: Small improvments to the
934           translation of names. (Avoid splitting gc into
935           g_c_.)
936         
937 Mon Jun 15 16:25:44 1998  Owen Taylor  <otaylor@gtk.org>
938
939         * gtk/gtk.h gtk/gtkfontsel.[ch]: 
940         Damon Chaplin's <DAChaplin@email.msn.com> Font selection widget.
941         
942 Mon Jun 15 15:58:34 1998  Owen Taylor  <otaylor@gtk.org>
943
944         * gtk/gtkentry.c:
945         - Restored gtk_entry_adjust_scroll to static 
946         - Changed text positioning code so that we always
947           display as large a portion of the text as possible.
948
949 Mon Jun 15 15:42:12 1998  Owen Taylor  <otaylor@gtk.org>
950
951         * gtk/gtktext.c (gtk_text_finalize): Free internal
952         structures of text widget. Also, unreference pixmaps
953         when unrealizing.
954         
955 Sat Jun 13 19:14:39 1998  Owen Taylor  <otaylor@gtk.org>
956
957         * gdk/gdkinputcommon.h (gdk_input_device_new): Change
958         3.3.1 bug workaround to number keys starting at 1.
959
960 Sat Jun 13 11:56:57 1998  Owen Taylor  <otaylor@gtk.org>
961
962         * docs/gtk_tut.sgml: Fixed urls for complete example
963         source for scribble+widget-writing examples.
964
965 Sat Jun 13 11:48:26 1998  Owen Taylor  <otaylor@gtk.org>
966
967         * gdk/gdkpixmap.c (gdk_pixmap_extract_color): 
968         Patch from Tom Bech <tomb@ii.uib.no>, to handle color
969         specs of the form c #abcdef [ more keys ] properly.
970
971 Sat Jun 13 10:51:56 1998  Stefan Jeske  <stefan@gtk.org>
972
973         * gtkspinbutton.h gtkspinbutton.c testgtk.c 
974         (gtk_spin_button_set_shadow_type):
975         New API to set the shadow type of the arrow panel.
976
977 Fri Jun 12 21:20:42 1998  Owen Taylor  <otaylor@gtk.org>
978
979         * gtk/gtkoptionmenu.c (gtk_option_menu_expose): Removed
980         code for drawing the child in two places at once. Unfortunately,
981         not only does it not work anymore (because reparenting has
982         been fixed), but it also triggers reparent/expose loops
983         in some cases.
984
985         * gtk/gtkoptionmenu.c (gtk_option_menu_remove_contents): Removed
986         an unecessary unrealize.
987
988 Fri Jun 12 21:18:56 1998  Owen Taylor  <otaylor@gtk.org>
989
990         * gdk/gdkwindow.c (gdk_window_reparent): Update the
991           old and new parents' child window lists properly.
992
993 Fri Jun 12 09:24:47 1998  Tim Janik  <timj@gtk.org>
994
995         * gtk/gtkpacker.h:
996         * gtk/gtkpacker.c: renamed enum GtkAnchor and GtkSide to GtkAnchorType
997         and GtkSideType, to be consistent with the rest of Gtk's enum
998         definitions. wrapped the enum definitions with the G_ eunm wrappers.
999         spelled out the GTK_ANCHOR_* enum values, since single letters don't
1000         work out corectly as nick-names (left the old values as aliases).
1001         some signdness corrections (border-width, spacing), could stand more.
1002
1003 Thu Jun 11 14:38:33 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1004
1005         * gtk/gtkpacker.c, gtk/gtkpacker.h, gtk/gtk.h, gtk/Makefile.am: 
1006           Added gtkpacker
1007
1008         * examples/packer/pack.c, examples/packer/Makefile: Added
1009           gtkpacker example
1010
1011 Thu Jun 11 13:09:00 1998  Owen Taylor  <otaylor@gtk.org>
1012
1013         * gtk/gtktext.c (remove_cache_line): Fixed broken
1014         list-removal code.
1015
1016         * gtk/gtktext.c: (gtk_text_delete_(forward/backward)_cahr)
1017         Check bounds before deleting.
1018
1019 Wed Jun 10 23:21:33 1998  Owen Taylor  <otaylor@gtk.org>
1020
1021         * autogen.sh: Support ACLOCAL_FLAGS
1022
1023 Wed Jun 10 20:54:37 1998  Owen Taylor  <otaylor@gtk.org>
1024
1025         * gtk-config.in: Added missing quotes.
1026
1027 Wed Jun 10 18:44:22 PDT 1998 Manish Singh <yosh@gimp.org>
1028
1029         * gtk/gtkfeatures.in: #define GTK_HAVE_ACCEL_GROUP
1030
1031 1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
1032
1033         * acconfig.h (GTK_COMPILED_WITH_DEBUGGING): Renamed from
1034         G_COMPILED_WITH_DEBUGGING.
1035
1036         * configure.in (fd_set): Explain check better.
1037
1038         * acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
1039         the version from which gtk+'s libtool forked.  Needed for people
1040         who use post-1.2 alphas of libtool.
1041
1042 Wed Jun 10 19:36:35 1998  Owen Taylor  <otaylor@gtk.org>
1043
1044         * glib/* Moved to glib module
1045
1046         * INSTALL Makefile.am acconfig.h autogen.sh configure.in
1047           gtk-config.in gtk.m4 gdk/Makefile.am gtk/Makefile.am
1048
1049           configuration changes for the above:
1050          
1051           - Use AM_PATH_GLIB by default to find glib; also accept
1052             a --with-glib option for using an uninstalled glib.
1053          
1054           - Put --enable-debug information into config.h so
1055             that we rebuild when it changes. (was in glibconfig.h)
1056
1057 Wed Jun 10 22:23:27 1998  Lars Hamann  <lars@gtk.org>
1058
1059         * gtk/gtkctree.c (draw_row): adapted clist pixmap clipping
1060
1061         * gtk/gtknotebook.h (struct _GtkNotebookClass):
1062         * gtk/gtknotebook.c (gtk_real_notebook_switch_page): 
1063         added missing argument (according to Joseph Coleman's bug report)
1064
1065         * gtk/gtknotebook.c (gtk_notebook_set_focus_child): new class
1066         function to fix notebook focus handling
1067         
1068 Wed Jun 10 12:57:03 1998  Owen Taylor  <otaylor@gtk.org>
1069
1070         * gdk/gdkcc.c glib/ghash.c glib/glib.h glib/gstring.c
1071           glib/gutils.c glib/testglib.c glib/gdataset.c
1072           gtk/gtkaccelgroup.c gtk/gtkmain.c gtk/gtksignal.c
1073           gtk/gtktext.c gtk/gtkbindings.c:
1074
1075          renamed g_const_pointer => gconstpointer
1076
1077 Wed Jun 10 06:25:17 1998  Tim Janik  <timj@gtk.org>
1078
1079         * gdk/gdk.c (gdk_init): prevent gdk_init() from segfaulting when
1080         invoked with (NULL, NULL); (this worked sometime ago).
1081
1082         * gtk/gtktypeutils.h: 
1083         * gtk/gtktypeutils.c: enum and flags type creation can now be done
1084         through gtk_type_register_enum() and gtk_type_register_flags(),
1085         which allow to specify the enum value arrays directly.
1086         the NULL terminated value arrays can be retrived through
1087         gtk_type_enum_get_values() and gtk_type_flags_get_values();
1088         (gtk_type_children_types): new function to query derived types.
1089
1090 1998-06-09  Raja R Harinath  <harinath@cs.umn.edu>
1091
1092         * gtk/Makefile.am (gtkmarshal.c gtkmarshal.h): Pass $srcdir in
1093         environment to genmarshal.pl.
1094         (gtk.defs,gtktypebuiltins*): Add $(srcdir) where needed (in the
1095         rule), and removed it where not needed (in the dependencies).
1096
1097         * gtk/genmarshal.pl: Look for `gtkmarshal.list' in $srcdir.
1098
1099 Tue Jun  9 18:44:57 1998  Owen Taylor  <otaylor@gtk.org>
1100
1101         * gtk/gtkobject.c: Removed g_object_pointer_hash, which
1102         was just g_direct_hash.
1103
1104 Mon May 25 19:54:20 1998  Owen Taylor  <otaylor@gtk.org>
1105
1106         * configure.in: x_libs=, not $x_libs=. Enough said.
1107           (Case only hit for --disable-xshm)
1108         
1109 Mon May 25 12:08:14 1998  Owen Taylor  <otaylor@gtk.org>
1110
1111         * configure.in (LDFLAGS): Add to $CFLAGS and $LDFLAGS
1112           when testing for X libraries, don't replace them. Because
1113           the user might have specified the path to the X libraries
1114           themself before running configure.
1115
1116         * examples/**.c: Changed all gpointer * to gpointer
1117         
1118 1998-06-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1119
1120         * gtk/gtkhandlebox.h (struct _GtkHandleBox): Removed the
1121         fleur_cursor field.  Now the cursor is created/destroyed on demand
1122         by the routines that need it.
1123
1124         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): 
1125         (gtk_handle_box_motion): The fleur cursor is created and destroyed
1126         only when needed.
1127
1128 Tue Jun  9 09:57:09 1998  Tim Janik  <timj@gtk.org>
1129
1130         * gtk/gtktypeutils.h: 
1131         * gtk/gtktypeutils.c: renamed the newly created gtk_enum_get_values and
1132         gtk_enum_set_values to gtk_type_enum_get_values and
1133         gtk_type_enum_set_values respectively, since they are actually type
1134         system features.
1135
1136         * gtk/gtktypebuiltins_evals.c: oops, screwed the NULL termination with
1137         my last commit. ;)
1138
1139 Tue Jun  9 01:57:23 1998  Tim Janik  <timj@gtk.org>
1140
1141         * gtk/gtkselection.h: 
1142         * gtk/gtkselection.c: new functions gtk_selection_data_copy and
1143         gtk_selection_data_free.
1144
1145         * gtk/gtkwidget.c (gtk_widget_class_init): fixed gtk_signal_new() call
1146         for "selection_received", which was completely bogus.
1147         * other fixups to gtk_signal_new() calls all over the place.
1148
1149         * gtk/gtktypebuiltins.h: types as variables (formerly macros).
1150         * gtk/gtktypebuiltins_vars.c: type variable implementations.
1151         * gtk/gtktypebuiltins_ids.c: array entries for builtin type
1152         declarations.
1153         * gtk/gtktypebuiltins_evals.c: enum value arrays.
1154         * gtk/gtk-boxed.defs: gtk and gdk structure definitions, used to build
1155         gtk.defs.
1156         * gtk/gtk.defs: generated file with scheme syntax for type definitions
1157         of gtk and gdk structures and enums.
1158         * gtk/gtktypeutils.h: 
1159         * gtk/gtktypeutils.c: reworked type ids, so they are variables not
1160         macros anymore (this fixes binary incompatibility with new enum
1161         definitions).
1162
1163         * gtk/gtkwidget.c (gtk_widget_real_key_press_event): proccess possible
1164         key bindings for this widget.
1165         * gtk/gtkwindow.c (gtk_window_key_press_event): chain parent class'
1166         handler.
1167
1168         * gtk/gtkobject.h:
1169         * gtk/gtkobject.c: removed gtk_object_class_new_user_signal_no_recurse()
1170         again. new functions gtk_object_class_user_signal_new () and
1171         gtk_object_class_user_signal_newv (), to feature the GtkSignalRunType
1172         flag on the signal creation.
1173
1174 Mon Jun  8 20:52:21 1998  Tim Janik  <timj@gtk.org>
1175
1176         * gtk/gtkcontainer.h: new signal GtkContainer::set_focus_child.
1177
1178 Mon Jun  8 02:52:37 1998  Tim Janik  <timj@gtk.org>
1179
1180         * gdk/gdkprivate.h: 
1181         * gdk/gdktypes.h: 
1182         * gtk/gtkprivate.h: 
1183         * gtk/gtkwidget.h: 
1184         * gtk/gtkobject.h: wrapped enum definitions with glib macros.
1185
1186         * reworked enum value array generation code. gtk.defs is a generated
1187         file now.
1188
1189 Sun Jun  7 14:34:31 1998  Tim Janik  <timj@gtk.org>
1190
1191         * gtk/gtkitemfactory.c (gtk_item_factory_create_menu_entries): feature
1192         check menu items in the compatibility code (this required me to remove
1193         the "<check>" part from the menu item name, grrr).
1194
1195 1998-06-07  Marius Vollmer  <mvo@zagadka.ping.de>
1196
1197         * gdk/gdk.h (gdk_color_copy, gdk_color_free): New prototypes.
1198         * gdk/gdk.c (gdk_color_copy, gdk_color_free): New functions.
1199         
1200 Sun Jun  7 10:53:02 1998  Tim Janik  <timj@gtk.org>
1201
1202         * gtk/gtkitemfactory.h: 
1203         * gtk/gtkitemfactory.c: further additions to fit the gimp's code.
1204         additions to the dumping code to feature GtkPatternSpec.
1205         even found a bug to fix in the original code ;)
1206         
1207 Sun Jun  7 09:36:04 1998  Tim Janik  <timj@gtk.org>
1208
1209         * gtk/gtkitemfactory.c: support different types of callbacks, to
1210         maintain existing code.
1211
1212 Sat Jun  6 06:01:24 1998  Tim Janik  <timj@gtk.org>
1213
1214         * gtk/gtksignal.c (gtk_signal_emitv): fixed an assertment.
1215
1216         * gtk/makeenums.awk: a script to generate the GtkEnumValue arrays from,
1217         this should eventually be done by gentypeinfo.el somewhen.
1218         * gtk/gtkenumvalues.c: new generated file to hold GtkEnumValue arrays.
1219
1220         * gtk/gtktypeutils.h: new function gtk_enum_values() to retrive all the
1221         enum values of an enum type.
1222
1223         * gtk/gtk.defs:
1224         * gtk/gtkcurve.h: 
1225         * gtk/gtkobject.h: 
1226         * gtk/gtkprivate.h: 
1227         * gtk/gtkwidget.h:
1228         * gtk/gtkenums.h: 
1229         brought enum/flags definitions in sync, added a few more enum
1230         definitions for bindings and pattern matching.
1231
1232         * some more macro and GtkType fixups in various places.
1233
1234         * gdk/gdktypes.h (enum): added a new value GDK_AFTER_MASK, which is used
1235         as a key-release modifier for the binding system.
1236
1237 Fri Jun  5 06:06:06 1998  Tim Janik  <timj@gtk.org>
1238
1239         * gtk/gtkmenu.h (struct _GtkMenu): removed GList*children, since it
1240         was a stale list pointer that is already present in GtkMenuShell.
1241
1242         * gtk/gtkmenushell.h (struct _GtkMenuShellClass): added a signal
1243         GtkMenuShell::selection_done which is emitted after the menu shell
1244         poped down again and all possible menu items have been activated.
1245
1246 Thu Jun  4 02:20:42 1998  Tim Janik  <timj@gtk.org>
1247
1248         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): flush the x-queue
1249         before activation of the menuitem, so the menu is actually taken off the
1250         screen prior to any menu item activation.
1251
1252         * gtk/gtkctree.c (gtk_ctree_get_row_data): allow function invokation
1253         for NULL nodes.
1254
1255         * gtk/gtkwidget.h:
1256         * gtk/gtkwidget.c: new function gtk_widget_stop_accelerator to stop
1257         the emission of the "add-accelerator" signal on a widget. this is
1258         usefull to prevent accelerator installation on certain widgets.
1259
1260         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): keep the menu
1261         labels left justified, by setting their alignment. stop accelerator
1262         installation for the menu items, since we use dynamic menus.
1263
1264 Wed Jun  3 06:41:22 1998  Tim Janik  <timj@gtk.org>
1265
1266         * gtk/gtkmenufactory.c: adaptions to use the new accel groups. people
1267         should *really* use GtkItemFactory. this is only for preserving source
1268         compatibility where possible, use of GtkMenuFactory is deprecated as of
1269         now.
1270
1271         * gtk/gtkobject.h (gtk_object_class_add_user_signal): new function
1272         to create user signals of type GTK_RUN_NO_RECURSE. don't know why i
1273         missed this possibility when i added gtk_object_class_add_user_signal
1274         in late january.
1275
1276         * gtk/gtkmain.c (gtk_init): ignore subsequent function calls.
1277
1278 Sun May 31 07:31:09 1998  Tim Janik  <timj@gtk.org>
1279
1280         * gtk/gtkaccelgroup.h: 
1281         * gtk/gtkaccelgroup.c: new implementation of the accelerator concept.
1282
1283         * gtk/gtkaccellabel.h: 
1284         * gtk/gtkaccellabel.c: new widget derived from GtkLabel whitch features
1285         display of the accelerators associated with a certain widget.
1286
1287         * gtk/gtkitemfactory.h: 
1288         * gtk/gtkitemfactory.c: new widget, item factory with automatic rc
1289         parsing and accelerator handling.
1290
1291         * gtk/gtkmenu.c (gtk_menu_reposition): new function to care for
1292         positioning a menu.
1293         (gtk_menu_map): removed the allocation code.
1294         (gtk_menu_size_allocate): care for redrawing of children and resize
1295         our widget->window correctly.
1296         (gtk_menu_key_press): feature the new accelerator groups.
1297
1298         * gtk/gtkmenuitem.c (gtk_menu_item_size_allocate): reposition the
1299         submenu if neccessary.
1300
1301         * gtk/gtkmenuitem.c:
1302         * gtk/gtkcheckmenuitem.c:
1303         * gtk/gtkradiomenuitem.c: use GtkAccelLabel in the *_new_with_label()
1304         function variants.
1305
1306         * gdk/gdk.c:
1307         (gdk_keyval_from_name): 
1308         (gdk_keyval_name): new functions for keyval<->key-name associations.
1309         (gdk_keyval_to_upper): 
1310         (gdk_keyval_to_lower): 
1311         (gdk_keyval_is_upper): 
1312         (gdk_keyval_is_lower): new functions to check/translate keyvalues with
1313         regards to their cases.
1314
1315 Wed May 27 00:48:10 1998  Tim Janik  <timj@gtk.org>
1316
1317         * gtk/gtkwidget.c (gtk_widget_class_path): new function to calculate a
1318         widget's class path.
1319         (gtk_widget_path): new function to calculate a widget's name path.
1320
1321         * gtk/gtkrc.c: newly introduced GtkPatternSpec structures to speed up
1322         pattern matching, features reversed pattern matches.
1323
1324 Thu Jun  4 12:12:11 BST 1998  Tony Gale  <gale@gtk.org>
1325
1326         * examples/extract.sh, examples/extract.awk:
1327           New files to automagically extract code examples from the
1328           tutorial.
1329
1330 Tue Jun  2 20:04:45 1998  Lars Hamann  <lars@gtk.org>
1331
1332         * gtk/gtknotebook.c (gtk_notebook_page_select) (gtk_notebook_focus)
1333         * gtk/gtkcontainer.c (gtk_container_focus_move):
1334         reversed test sequence for GTK_WIDGET_CAN_FOCUS and GTK_IS_CONTAINER
1335
1336 Tue Jun  2 13:04:06 BST 1998  Tony Gale  <gale@gtk.org>
1337
1338         * docs/gtk_tut.sgml: minor changes to support auto
1339           extraction of example code
1340
1341 Mon Jun  1 12:47:56 BST 1998  Tony Gale  <gale@gtk.org>
1342
1343         * docs/gtk_tut_it.sgml: Update of Italian Tutorial
1344           to Tutorial of 24th May, from Daniele Canazza <dcanazz@tin.it>
1345
1346 Fri May 29 13:53:57 BST 1998  Tony Gale  <gale@gtk.org>
1347
1348         * docs/gtk_tut.sgml:
1349           - new section on Events
1350           - change all delete_event callbacks to include
1351             a GdkEvent parameter
1352           - clean up the formatting
1353
1354         * examples - helloworld.c, helloworld2.c, notebook.c,
1355           packbox.c, pixmap.c, progressbar.c, radiobuttons.c,
1356           rulers.c, table.c, wheelbarrow.c: change all delete_event
1357            callbacks to include a GdkEvent parameter.
1358
1359 1998-05-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1360
1361         * gdk/gdktypes.h (GdkCrossingMode): New enumeration for the "mode"
1362         field of crossing events.
1363         (struct _GdkEventCrossing): Added the following fields: time, x,
1364         y, x_root, y_root, mode, focus, state.
1365
1366         * gdk/gdk.c (gdk_event_translate): Fill in the new fields of the
1367         crossing event structure.
1368
1369         * gtk/gtkfeatures.h (GDK_HAVE_FULL_CROSSING_EVENT): Annotate
1370         changes to the crossing event structure.
1371
1372 Tue May 26 15:51:28 1998  Radek Doulik  <gis@academy.cas.cz>
1373
1374         * gdk/gdk.c: include gdkx.h always (for GDK_ROOT_WINDOW)
1375
1376 Sun May 24 12:11:38 BST 1998  Tony Gale  <gale@gtk.org>
1377
1378         * docs/gtk_tut.sgml:
1379            - GtkTooltips, update to current API
1380            - change all 'gpointer *data' to 'gpointer data'
1381            - other minor changes
1382
1383 Sat May 23 21:54:05 1998  Owen Taylor  <otaylor@gtk.org>
1384
1385         * configure.in (LDFLAGS): Bomb out with a moderately
1386           helpful message if detection of X libraries fails.
1387
1388 Sat May 23 18:57:06 1998  Owen Taylor  <otaylor@gtk.org>
1389
1390   [ Combination of:
1391      gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
1392      gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
1393
1394         * gdk/gdk.h gdk/gdkcc.c gdk/gdkfont.c gtk/gtkmain.c
1395           gtk/gtksignal.c gtk/gtktext.c: 
1396
1397           Fixups for warnings from adding const to type of GHashFunc,
1398           GCompareFunc
1399         
1400         * gtk/gtkcombo.c (gtk_combo_entry_key_press): Minor style/
1401           ansi-warnings fixups.
1402
1403 Sat May 23 17:48:58 1998  Owen Taylor  <otaylor@gtk.org>
1404
1405         * gtk/gtkeventbox.c (gtk_event_box_size_allocate): 
1406         Locate child at (border_width,border_width), not
1407         (2*border_width,2*border_width). [ The border is _outside_
1408         widget->window ]
1409         
1410         * gdk/gdk.[ch]: added gdk_screen_width_mm/gdk_screen_height_mm
1411           functions. [From: Alexander Larsson <alla@lysator.liu.se> ]
1412
1413 1998-05-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1414
1415         * gtk/gtkfeatures.h.in: Define GTK_HAVE_RC_SET_IMAGE_LOADER, to be
1416         used in gnome-libs
1417
1418 1998-05-22    <sopwith@redhat.com>
1419
1420         * gtk/gtkeventbox.c: Pass size_allocate on to the child
1421         regardless of whether it is visible or not. Also
1422         locate child at (border_width,border_width), not (0,0)
1423
1424 Fri May 22 03:02:40 1998  Owen Taylor  <otaylor@gtk.org>
1425
1426         * gtk/gtkhandlebox.c: Added style_set handler.
1427
1428 Fri May 22 02:55:57 1998  Owen Taylor  <otaylor@gtk.org>
1429  [ From: Chris Lahey  <clahey@umich.edu> ]
1430         
1431         * gtk/gtkeditable.c, gtk/gtkeditable.h,
1432           gtk/gtktext.c, gtk/gtkentry.c: Added get_position,
1433           and set_position functions to get and set the cursor position.
1434
1435         * gtk/gtkeditable.c: Restored "insert_text" and "delete_text" to
1436           signal status. Make GtkText do user-controlled insertion
1437           and deletion through the Editable widget so that these
1438           signals are properly emitted.
1439
1440         * gtk/gtkentry.c: Changed gtk_entry_set_visibility to 
1441           display asterisks instead of empty space when visible = FALSE)
1442
1443 Fri May 22 08:51:10 CEST 1998  Paolo Molaro <lupus@debian.org>
1444
1445         * gtk/gtkclist.c: use GTK_TYPE_GDK_EVENT in (un)?select_row
1446         signal.
1447
1448 1998-05-21    <sopwith@redhat.com>
1449
1450         * gtk/gtkrc.[ch]: gtk_rc_set_image_loader() - allow apps to set a
1451         custom routine for loading images specified in gtkrc's.
1452
1453 Tue May 19 23:41:04 1998  Owen Taylor  <otaylor@gtk.org>
1454
1455         * configure.in: Use pthread_attr_init() as a test function,
1456         since most of the rest of -lpthread is macros on DU4.
1457
1458 Tue, 19 May 1998 09:03:03 +0200  Paolo Molaro <lupus@debian.org>
1459
1460         * gtk/gtkcombo.c: implemented completion in the entry.
1461
1462 1998-05-18    <sopwith@moebuis.labs.redhat.com>
1463
1464         * gtk/gtk{debug.h,signal.c,main.c}: Allow GTK_DEBUG=signals
1465
1466 Mon May 18 04:01:41 1998  Tim Janik  <timj@gtk.org>
1467
1468         * gtk/gtkwidget.c (gtk_widget_class_init): changed "proximity-in-event",
1469         "drop-data-available-event", "drop-enter-event" and "drop-leave-event"
1470         to be of runtype GTK_RUN_LAST.
1471
1472         * gtk/gtkcontainer.c (gtk_container_class_init): likewise for
1473         "need-resize".
1474
1475         * gtk/gtktipsquery.c (gtk_tips_query_class_init): likewise for
1476         "widget-selected".
1477
1478 Sat May 16 09:04:32 1998  Tim Janik  <timj@gtk.org>
1479
1480         * gtk/gtkfilesel.c (gtk_file_selection_key_press): g_strdup() the
1481         text retrived from GtkEntry. only intercept the Tab key if there
1482         was some text to complete.
1483
1484 Fri May 15 21:16:54 1998  Owen Taylor  <otaylor@gtk.org>
1485
1486         Basic thread-awareness:
1487
1488         * acconfig.h configure.in: New option --with-threads=[yes/posix/no]
1489
1490         * gdk/Makefile.am gdk/gdkthreads.c: Added new functions 
1491         gdk_threads_[init/enter/leave] for applications, plus
1492         gdk_threads_wake to wake the mainloop thread out of
1493         the select().
1494
1495         * gtk/Makefile.am: gtk/testthreads.c: Test program for threads
1496
1497 Fri May 15 12:08:48 1998  Owen Taylor  <otaylor@gtk.org>
1498
1499         * gtk/testgtk.c (list_clear): Account for the fact
1500         that gtk_list_clear_items is not inclusive. (Clears
1501         [start, end))
1502
1503 Fri May 15 12:31:27 1998  rodo  <doulik@karlin.mff.cuni.cz>
1504
1505         * gdk/gdk.c: include gdkkeysyms.h always
1506         
1507
1508 Fri May 15 09:44:10 1998  Tim Janik  <timj@gtk.org>
1509
1510         * gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of
1511         the visibility_notify_event method and changed method order.
1512
1513 1998-05-14    <sopwith@moebuis.labs.redhat.com>
1514
1515         * gtk/gtkwidget.[ch] Added visibility_notify_event to GtkWidget
1516
1517 Thu May 14 03:04:43 1998  Tim Janik  <timj@gtk.org>
1518
1519         * gtk/gtk.defs: added GtkButtonBoxStyle and GtkOrientation definitions
1520         from Olli Helenius <ollhel@batman.jytol.fi>.
1521
1522         * gtk/gtktypeutils.c (gtk_type_free): new function to take care about
1523         freeing types.
1524         (gtk_type_set_chunk_alloc): new function to allow allocation of new
1525         types from a mem_chunk of certain size (n_chunks==0 indicates allocation
1526         thorugh g_malloc).
1527
1528         * gtk/gtkobject.c (gtk_object_finalize): free an object through
1529         gtk_type_free().
1530
1531         * gtk/gtkbutton.c (gtk_button_get_type): set chunk preallocation for
1532         GtkButtons to 16.
1533         * gtk/gtkmenuitem.c (gtk_menu_item_get_type): likewise (16).
1534         * gtk/gtklabel.c (gtk_label_get_type): likewise (32).
1535
1536 Wed May 13 00:53:52 1998  Owen Taylor  <otaylor@gtk.org>
1537
1538         * gtk/gtktypeutils.c gtk/gtksignal.c gdk/gdkdnd.c: A few more 
1539           GPOINTER_TO_UINT fixes.
1540
1541         * gtk/gtksignal.c: Include <string.h> for memset.
1542
1543 Tue May 12 23:10:53 1998  Owen Taylor  <otaylor@gtk.org>
1544         (Maximilian Bisani <bisani@kawo2.rwth-aachen.de>: gtk-bisani-980320-0)
1545
1546         * gtk/gtkvruler.c gtk/gtkhruler.c gtk/gtkruler.h: 
1547         Cleanups, comments and the ability to have rulers with 
1548         a reversed direction.
1549
1550 Tue May 12 19:37:55 1998  Owen Taylor  <otaylor@gtk.org>
1551
1552         * gtk/gtkrc.c (gtk_rc_parse_file): Fixed up a stat()
1553         that Sopwith missed when changing stat => lstat.
1554
1555 Tue May 12 19:19:29 1998  Owen Taylor  <otaylor@gtk.org>
1556
1557         * gtk/gtkinputdialog.c gtk/gtkgamma.c gtk/gtkrc.c
1558           gtk/gtkcolorsel.c gtk/gtkclist.c gtk/testgtk.c: Use
1559         GPOINTER_TO_INT/GINT_TO_POINTER macros where appropriate.
1560
1561         * gdk/gdk.c: Print sizeof() results
1562         as g_print("%ld", (glong)sizeof(foo)), to deal with
1563         sizeof() being long on Alpha's.
1564
1565         * gtk/testgtk.c: include <string.h> for strlen
1566
1567 Tue May 12 16:56:35 1998  Owen Taylor  <otaylor@gtk.org>
1568         (James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
1569         
1570         * gtk/gtkbbox.h gtk/gtkcolorsel.h gtk/gtkvbbox.h:
1571         Changed #include "gtkfoo.h" to #include <gtk/gtkfoo.h>
1572
1573         * gtk/gtkwindow.[ch]: Added const to gtk_window_set_wmclass
1574
1575 Tue May 12 15:16:10 1998  Owen Taylor  <otaylor@gtk.org>
1576         (From: Christopher James Lahey <clahey@umich.edu>)
1577         
1578         * gtk/gtkbutton.[ch] gtk/gtkenums.h gtk/gtktoolbar.[ch]
1579           gtk/testgtk.c:
1580
1581         Added 'relief' for buttons - they can be either GTK_RELIEF_NORMAL
1582         (old style), or GTK_RELIEF_NONE - no relief in the NORMAL
1583         state. Added gtk_toolbar_{set,get}_button_relief, which set/get
1584         the default relief for the toolbars buttons. Added an
1585         toggle for the toolbar test in testgtk.c.
1586
1587 Tue May 12 00:24:59 1998  Owen Taylor  <otaylor@gtk.org>
1588
1589         * docs/gtk-config.1: Rewritten and hopefully improved.
1590
1591 Mon May 11 20:26:39 PDT 1998 Manish Singh <yosh@gimp.org>
1592
1593         * docs/Makefile.am
1594         * docs/gtk-config.1: added man page for gtk-config by Ben Gertzfield
1595
1596 1998-05-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1597
1598         * gtk/gtkpreview.c (gtk_preview_realize): Create the window using
1599         GtkPreview's visual and colormap, otherwise things can BadMatch.
1600
1601         * gtk/testgtk.c (create_color_preview): 
1602         (create_gray_preview): Removed pushing/popping of visual/colormap
1603         now that GtkPreview does things correctly.
1604
1605         * gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel_frame): 
1606         (gtk_color_selection_draw_wheel): Pick the style from the correct
1607         place (the colorsel->wheel_area widget) so that the GCs will match
1608         with where we are going to paint to.
1609
1610         * gtk/testgtk.c (create_color_selection): Removed pushing/popping
1611         of visual/colormap now that GtkColorSelection does things the
1612         right way.
1613
1614 Mon May 11 21:04:51 1998  Owen Taylor  <otaylor@gtk.org>
1615
1616         * gtk/gtkwindow.c (gtk_real_window_move_resize): Use the
1617         previously unused window->need_resize flag to mark if a window's
1618         descendents changed size while the window was not visible. In this
1619         case, when the window becomes visible, we reallocate everything,
1620         since we didn't keep track of what actually changed.
1621
1622         (Fixes bug where changing the popdown strings of a
1623         combo to something of the same length caused them to
1624         blank out, as reported by Todd Dukes <tdukes@ibmoto.com>)
1625
1626 Tue May 12 02:31:57 1998  Tim Janik  <timj@gtk.org>
1627
1628         [security audit by Alan Cox]
1629
1630         * gtk/gtkobject.c (gtk_object_get_arg_type): check for arg_name to not
1631         exceed maximum assumed size.
1632
1633         * gtk/gtkmenufactory.c (gtk_menu_factory_create): check that `path' does
1634         not exceed maximum assumed size.
1635         (gtk_menu_factory_remove): likewise.
1636         (gtk_menu_factory_find_recurse): likewise.
1637
1638 Mon May 11 23:53:38 1998  Tim Janik  <timj@gtk.org>
1639
1640         * gtk/gtkwidget.c (gtk_widget_queue_resize): queue the idle_sizer with
1641         GTK_PRIORITY_INTERNAL - 1, so widgets get first resized and then
1642         redrawn if that is still neccessary. don't allow queueing of already
1643         destructed objects.
1644         (gtk_widget_idle_sizer): proccess the resize queue in a save manner, so
1645         widgets which are in the queue can be destroyed safely, handle
1646         requeueing properly.
1647         (gtk_widget_idle_draw): proccess the redraw queue in a save manner, so
1648         widgets which are in the queue can be destroyed/unrealized safely.
1649
1650 Mon May 11 17:54:44 BST 1998 Tony Gale  <gale@gtk.org>
1651
1652         * gtkfaq.sgml: add question on multi-threading,
1653           minor URL cleanups.
1654
1655 Mon May 11 09:56:45 1998  Tim Janik  <timj@gtk.org>
1656
1657         * configure.in (cflags_set): preserve automake CFLAGS.
1658
1659         * Makefile.am: fully rename the created libraries to libgtk-1.1.la
1660         and libgdk-1.1.la. this means we need to change certain portions of
1661         the Makefile.am on major/minor version bumps.
1662
1663         * ltmain.sh: the -release option is not required anymore.
1664         
1665         * gtk/gtkobject.h (gtk_trace_referencing): compile time check the type
1666         of the first argument to be of type GtkObject. unconditionally compile
1667         this function. removed __GNUC__ dependancy of the gtk_object_ref and
1668         gtk_object_unref macro wrappers for this function.
1669
1670 Mon May 11 02:31:19 1998  Tim Janik  <timj@gtk.org>
1671
1672         * gtk/gtkobject.h:
1673         * gtk/gtkobject.c:
1674         (gtk_object_data_try_key):
1675         (gtk_object_data_force_id): these are now macros substituting the old
1676         functions. we just use the corresponding g_dataset_* functions for
1677         key->id associations. (this is to assure unique key<->id associations).
1678
1679 1998-05-10  Stefan Jeske  <stefan@gtk.org>
1680
1681         * gtk/gtkctree.c (gtk_ctree_is_visible): Changed return value
1682         to gboolean.
1683
1684         * docs/gtk.texi (GtkCTree): Started documentation of GtkCTree.
1685
1686 Sat May  9 20:11:20 1998  Owen Taylor  <otaylor@gtk.org>
1687
1688         * configure.in (LIBS): Try to figure out if this
1689         is Digital Unix and we need -std1 to get the
1690         right prototypes.
1691
1692 Sat May  9 16:30:33 BST 1998 Tony Gale  <gale@gtk.org>
1693
1694         * docs/gtk_tut_it.sgml: update of Italian tutorial
1695           translation from Daniele Canazza <dcanazz@tin.it>
1696
1697 Sat May  9 02:34:41 1998  Tim Janik  <timj@gtk.org>
1698
1699         * gtk/gtkfeatures.h.in: new file used as template for
1700         * gtk/gtkfeatures.h: new file to define macros indicating newly
1701         introduced features, such as GTK_HAVE_SIGNAL_INIT.
1702
1703         * gtk/gtksignal.c:
1704         (gtk_signal_emitv_by_name):
1705         (gtk_signal_emitv):
1706         new functions to emit signals with an already provided parameter set.
1707         (provided by Kenneth Albanowski <kjahds@kjahds.com>).
1708         (gtk_signal_real_emit): prototype changes, so this functions always
1709         gets its parameters and signal structure as arguments.
1710         (gtk_signal_emit): provide the signal structure and parameter list for
1711         gtk_signal_real_emit.
1712         (gtk_signal_emit_by_name): likewise.
1713
1714 Sat May  9 00:03:12 1998  Tim Janik  <timj@gtk.org>
1715
1716         * gtk/gtksignal.c (gtk_signal_handler_unref): reflect the presence of
1717         signal connections through unsetting GTK_CONNECTED.
1718         (gtk_signal_handler_insert): reflect the presence of signal connections
1719         through setting GTK_CONNECTED.
1720         (gtk_signal_real_emit): only check for handler emissions if the object
1721         has the GTK_CONNECTED flag set.
1722         (gtk_signal_handler_pending): don't check for pending handlers if the
1723         GTK_CONNECTED flag is not set for this object.
1724
1725         * gtk/gtkobject.h (enum): new flag GTK_CONNECTED to indicate whether
1726         a GtkObject has signal handler connections.
1727
1728         * gtk/gtkobject.c (gtk_object_real_destroy): only if GTK_CONNECTED is
1729         set for this object call gtk_signal_handlers_destroy().
1730         
1731         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): deprecated macro, since it caused
1732         multiple processing of macro args.
1733
1734         * gtk/gtktypeutils.c:
1735         * gtk/gtkobject.c:
1736         * gtk/gtkwidget.c:
1737         * gtk/gtksignal.c: reverted GTK_TYPE_IS_A back to gtk_type_is_a.
1738
1739 Fri May  8 21:31:50 1998  Owen Taylor  <otaylor@gtk.org>
1740
1741         * gtk/gtkwidget.c (gtk_widget_queue_draw): Free the
1742         draw-queue when we are done. 
1743
1744         (gtk_widget_queue_draw/_queu_resize): Always return
1745         FALSE and avoid having two idles at the same time.
1746         
1747 Fri May  8 21:04:00 1998  Owen Taylor  <otaylor@gtk.org>
1748
1749         * gtk/gtktext.c: Various fixes to make sure cache
1750         lines are freed if line_start_cache doesn't point to the
1751         beginning of the cache.
1752
1753 Thu May  7 09:44:22 1998  Owen Taylor  <otaylor@gtk.org>
1754
1755         * style_set improvements for GtkText and GtkEntry
1756
1757 Thu May  7 19:03:50 1998  Tim Janik  <timj@gtk.org>
1758
1759         * gtk/gtktypeutils.c (gtk_type_unique): asure that the type system has
1760         been initialized.
1761
1762 Thu May  7 12:52:45 1998  Tim Janik  <timj@gtk.org>
1763
1764         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): allocate object
1765         data chunks through a global object data structure list. unlink
1766         object data before invoking its destroy function.
1767         (gtk_object_finalize): slight modification to allow usage of object
1768         data during object finalization.
1769
1770 Thu May  7 10:29:24 1998  Tim Janik  <timj@gtk.org>
1771
1772         * gtk/gtksignal.c (gtk_signal_newv): suport middle dashes ('-') in
1773         signal names, e.g. "signal-name" is now an alias for "signal_name".
1774         (gtk_signal_handler_new): allocate handlers through a global handler
1775         structure list, that's faster than memchunks.
1776         (gtk_emission_new): allocate emissions through a global emission
1777         structure list, that's faster than memchunks.
1778
1779 Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
1780
1781         * gtk-config.in (--libs): postfix -lg* libraries with LT_RELEASE.
1782
1783         * ltmain.sh: added a new commandline flag -postfix similar to -release,
1784         but will immediately change the library name.
1785
1786         * gdk/Makefile.am:
1787         * gtk/Makefile.am: specify -postfix and -version-info
1788
1789         * configure.in: version bump to 1.1.0. added GTK_INTERFACE_AGE and
1790         GTK_BINARY_AGE. calculate LT_* variables for libtool.
1791
1792 1998-05-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1793
1794         * gtk/gtkclist.c (draw_row): Fixed incorrect painting of row
1795         background (fg_set -> bg_set confusion).
1796
1797 1998-05-06  Stefan Jeske  <stefan@gtk.org>
1798
1799         * gtk/testgtk.c (unselect_all): Removed code that caused an
1800         endless loop.
1801
1802 Wed May  6 02:16:34 1998  Tim Janik  <timj@gtk.org>
1803
1804         * gtk/gtksignal.c: reimplemented the signal storage system to use a
1805         linear array rather than a hash table.
1806         be carefull *not* to keep any GtkSignal pointers across invokations
1807         of gtk_signal_next_and_invalidate() and therefore gtk_signal_new[v]().
1808         general code cleanups, made all allocations through memchunks.
1809         (gtk_signal_lookup): we now do the lookup of signals through a key_id
1810         for the signal names to avoid multiple hashing of the signal name on
1811         lookups for the several hirarchy levels of an object.
1812
1813 Tue May  5 19:49:27 1998  Owen Taylor  <otaylor@gtk.org>
1814
1815         * gdk/gdkpixmap.c: Patches from Gordon Matzigkeit
1816         to speed things up and remove code duplication.
1817
1818         Reintegrated buffer overflow patches, and added
1819         some extra paranoia.
1820         
1821 Tue May  5 17:04:14 1998  Owen Taylor  <otaylor@gtk.org>
1822
1823         * gdk/gdk.c (gdk_event_translate): A guint * was
1824         being passed where X expected a Keysym *, and
1825         keysyms are long's on Alpha Linux. This was causing
1826         segfaults in Xlib, apparently because of alignment.
1827         (Bug located by Juergen Haas <haas@forwiss.uni-passau.de>)
1828         
1829 Tue May  5 19:11:27 1998  Owen Taylor  <otaylor@gtk.org>
1830
1831         * gtk/gtkdrawingarea.c (gtk_drawing_area_realize): Always
1832         set GDK_EXPOSURE_MASK for DrawingAreas
1833
1834 Tue May  5 14:32:37 1998  Owen Taylor  <otaylor@gtk.org>
1835
1836         * gtk/gtkwidget.[ch]: removed gtk_widge_propagate_default_style
1837         (superceded by RC file reparsing capabilities)
1838
1839         * gtk/gtkwindow.c: Add handling for _GDK_READ_RFCILES client
1840         events. (Shouldn't be sent to the InputOnly leader, which
1841         it is now by gdk_event_send_clientmessage_toall
1842
1843         * gtk/testgtk.c: Added extra button to rcfiles test
1844         to send out _GDK_READ_RCFILES events.
1845         
1846 Tue May  5 11:03:00 1998  Owen Taylor  <otaylor@gtk.org>
1847
1848         * gtk/gtkselection.c (gtk_selection_clear): Fixed
1849         reversed conditionals that caused segfault on some
1850         platforms.
1851
1852 Tue May  5 00:44:47 1998  Owen Taylor  <otaylor@gtk.org>
1853
1854         * gtk/gtkcontainer.c (gtk_container_set_focus_[hv]adjustment):
1855         cast to GTK_OBJECT for gtk_object_ref.
1856
1857 Tue May  5 15:33:27 1998  Tim Janik  <timj@gtk.org>
1858
1859         * gtk/gtkmain.c (gtk_init): added gtk_signal_init() to avoid repeatedly
1860         checking for signal initialization in gtksignal.c.
1861
1862         * gtk/gtktypeutils.c (TYPE_NODES_BLOCK_SIZE): reseted this to 200 after
1863         a long debugging period ;)
1864
1865 1998-05-05  Stefan Jeske  <stefan@gtk.org>
1866
1867         * gdk/gdkgc.c gdk/gdk.h gtk/gtkctree.c (gdk_gc_set_dashes):
1868         New function to wrap XSetDashes; modified gtkctree.c to use it.
1869
1870 1998-05-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1871
1872         * configure.in: Added $x_libs in the other_libraries field in the
1873         check for XShapeCombineMask.
1874
1875 Mon May  4 00:30:11 1998  Tim Janik  <timj@gtk.org>
1876
1877         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): new macro to speedup
1878         gtk_type_is_a().
1879         * gtk/gtktypeutils.c: reimplemented the type storage system to use a
1880         linear array rather than a hash table. it actually speeded up testgtk
1881         for a *considerable* amount. be carefull *not* to keep any GtkTypeNode
1882         pointers across invokations of gtk_type_node_next_and_invalidate() and
1883         therefore gtk_type_unique()!
1884
1885         * gtk/gtkobject.h (GTK_IS_OBJECT_CLASS): new macro to test for the
1886         inheritance of a class pointer.
1887         (GTK_OBJECT): modifications for speedups.
1888         (GTK_IS_OBJECT): likewise.
1889         (GTK_OBJECT_CLASS): likewise.
1890         (suggested by owen).
1891
1892         * gtk/gtkcontainer.h (GTK_IS_CONTAINER_CLASS): new macro.
1893
1894         * gtk/gtkwidget.h (GTK_IS_WIDGET_CLASS): new macro.
1895
1896         * gtk/gtk.defs (GtkTooltips): define GtkTooltips as object not as boxed,
1897         since its derivation changed 4 month ago ;(. showed up with the unique
1898         type name checking code in gtk_type_unique().
1899
1900         * random guint->GtkType and macro fixups.
1901
1902 Sat May  2 23:14:34 1998  Owen Taylor  <otaylor@gtk.org>
1903
1904         * gtk/gtkcurve.c (gtk_curve_graph_events): Ignore
1905         Configure events that would result in a negative
1906         size.
1907
1908 Sun May  3 14:55:34 1998  Owen Taylor  <otaylor@gtk.org>
1909
1910         * docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
1911         "glibconfig.h" and another about writing another IRC
1912         client.
1913
1914 Sat May  2 00:14:05 1998  Owen Taylor  <otaylor@gtk.org>
1915
1916         * gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
1917         parameters to log are doubles. Digital Unix apparently
1918         is missing the argument in its prototype.
1919
1920 Sun May  3 19:04:46 1998  Owen Taylor  <otaylor@gtk.org>
1921
1922         * gtk/gtklabel.c (gtk_label_state_changed): Don't
1923         force a clear until the widget is actually on
1924         screen.
1925
1926 Sun May  3 21:32:35 1998  Owen Taylor  <otaylor@gtk.org>
1927
1928         * gdk/gdk.c (gdk_event_translate): Grab with OwnerEvents = False
1929         to make this consistent with the gtk-1-0 tree.
1930
1931 Sun May  3 13:38:22 1998  Owen Taylor  <otaylor@gtk.org>
1932
1933         * configure.in acheader.h gdk/gdkwindow.c 
1934         Check for Shape extension both on the client and server
1935         side. (And, more importantly, check for the shape extension
1936         so we may include -lXext even when compiling with --disable-xshm)
1937
1938         Don't set override_redirect on all shaped windows. It isn't
1939         necessary.
1940
1941         * gdk/gdkwindow.c: Set ->colormap to NULL for root 
1942         and foreign windows. Use this to check if we
1943         need to get the colormap from X.
1944
1945 Fri May  1 22:32:47 1998  Owen Taylor  <otaylor@gtk.org>
1946
1947         * gtk/gtkbutton.c (gtk_button_paint): Draw the areas
1948         between the default and the button always in GTK_STATE_NORMAL.
1949
1950         * gtk/gtkrange.c (gtk_range_style_set): Added a style_set
1951         callback.
1952
1953 Fri May  1 16:40:57 1998  Owen Taylor  <otaylor@gtk.org>
1954
1955         * gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
1956           Fix a buffer overflow on pixmaps that claim to have
1957           more than 31 characters per pixel.
1958
1959           (gdk_pixmap_read_string): Don't wrap around strings longer
1960           than half of address space ;-)
1961
1962         * gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
1963         that were used for printing integers.
1964
1965         * */* (almost):
1966
1967         Style: All 
1968           int foo () { ... }
1969         changed to
1970           int foo (void) { ... }
1971
1972         Even where there were proper prototypes elsewhere.
1973
1974         * gdk/gxid.c (handle_claim_device): Some extra checks.
1975         It isn't safe against being fed bad X id's, but at
1976         least it should be safe against deleting all your
1977         files.
1978
1979 Sun May  3 19:45:09 1998  Tim Janik  <timj@gtk.org>
1980
1981         * gtk/gtkadjustment.c (gtk_adjustment_assimilate_value): new function
1982         to set the adjustments value when there is no current emission.
1983         [ Removed by mutual agreement owt 5/3/1998 ]
1984
1985         * gtk/gtksignal.c: added new functions to retrive the number of
1986         existing emissions for a certain signal.
1987         (gtk_signal_n_emissions): new function.
1988         (gtk_signal_n_emissions_by_name): new function.
1989
1990 Sun May  3 16:55:43 1998  Tim Janik  <timj@gtk.org>
1991
1992         * gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
1993         set the current focus_child of a container, does proper referencing and
1994         adjusts the vadjustment/hadjustment associated with the focus widget.
1995
1996         * gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
1997         containers via gtk_container_set_focus_child.
1998
1999         * gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
2000         where appropriate.
2001
2002         * gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
2003         child since not every child removal goes through this function (this
2004         showed up after gtk_container_set_focus_child() started to reference the
2005         focus_child of a container).
2006
2007         * gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
2008         of a container from gtk_container_remove into this place.
2009
2010 Sat May  2 22:33:45 1998  Tim Janik  <timj@gtk.org>
2011
2012         * gtk/gtksignal.c: added new functions to operate on intermediate
2013         function pointers. implemented incremental blocking.
2014         (gtk_signal_disconnect_by_func): new function.
2015         (gtk_signal_handler_block_by_func): new function.
2016         (gtk_signal_handler_unblock_by_func): new function
2017
2018 Fri May  1 22:45:55 1998  Owen Taylor  <otaylor@gtk.org>
2019
2020         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
2021         Always show the scrollbars when the policy is
2022         GTK_POLICY_ALWAYS...
2023
2024 Sat May  2 20:19:03 1998  Tim Janik  <timj@gtk.org>
2025
2026         * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit
2027         "value_changed" if we really passed a new value.
2028         (gtk_adjustment_changed): new function to emit the "changed" signal.
2029         (gtk_adjustment_set_value): new function to emit the "value_changed"
2030         signal.
2031
2032 Fri May  1 12:28:35 1998  Owen Taylor  <otaylor@gtk.org>
2033
2034         * gtk/gtkcombo.c: Further changes to the way the window
2035         is popped up so that it will be compatible with 
2036         auto-scrolling in the future.
2037
2038 Fri May  1 20:25:29 1998  Tim Janik  <timj@gtk.org>
2039
2040         * gtk/gtkcombo.c (gtk_combo_popup_list): do not just return if
2041         the combo-list is empty since that will cause the combo to operate
2042         on a non existing GtkList window.
2043         (gtk_combo_get_pos): provide the combo list with a usfull default
2044         height if empty.
2045         (gtk_combo_popup_button_press): grab the focus.
2046         (gtk_combo_activate): grab the focus.
2047
2048 Fri May  1 12:06:43 1998  Owen Taylor  <otaylor@gtk.org>
2049
2050         * gtk/gtkwindow.[ch] (gtk_widget_reset_rc_styles): New
2051         function to reset the RC styles for a heirarchy
2052
2053         Clear the window background if necessary in
2054         gtk_window_style_set.
2055
2056         * gtk/gtkrc.[ch]: New function gtk_rc_reparse_all() which
2057         rereads all previously read RC files.
2058
2059         * gdk/gdkwindow.c gdk/gdk.h: New function gdk_window_get_toplevels().
2060         (Should it just be called gdk_get_toplevels?)
2061
2062         * gtk/testgtk.c: New test to reload RC files.
2063
2064 Fri May  1 13:57:36 1998  Tim Janik  <timj@gtk.org>
2065
2066         * gtk/gtkclist.h:
2067         * gtk/gtkclist.c: prefixed all clist flags with GTK_ to avoid name
2068         clashes. redefined GTK_CLIST_SET_FLAGS and GTK_CLIST_UNSET_FLAGS as
2069         GTK_CLIST_SET_FLAG and GTK_CLIST_UNSET_FLAG to automatically add
2070         the GTK_ prefix (this solution involved less changes in the
2071         gtkclist.c code). added a GTK_CLIST_CONSTRUCTED flag to substitute
2072         the mem_chunk==NULL test in gtk_clist_construct. merged in changes
2073         from lars & stefan to support the derivation of GtkCtree.
2074
2075         * gtkctree.h:
2076         * gtkctree.c:
2077         initial import of a tree widget derived from gtkclist, courtesy
2078         of Lars Hamann <lars@gtk.org> and Stefan Jeske <jeske@gtk.org>,
2079         it just damn rocks!
2080
2081 Fri May  1 10:05:44 1998  Tim Janik  <timj@gtk.org>
2082
2083         * gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
2084         for us.
2085         (gtk_list_insert_items):
2086         (gtk_list_remove_items_internal): 
2087         (gtk_list_clear_items): 
2088         remove a possible pointer grab, we might get thrown into a loop
2089         otherwise.
2090         (gtk_list_button_press): grab the pointer *before* selecting the child,
2091         because selection of items may cause the lists children to change,
2092         resulting in a grab release.
2093         (gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
2094         children.
2095         (gtk_list_shutdown): remove all children from the list.
2096         (gtk_real_list_unselect_child): 
2097         (gtk_real_list_select_child): *always* put our internal structures into
2098         sane state *before* signal emisions (i.e. list->selection updates prior
2099         to gtk_list_item_[de]select() calls).
2100
2101         * gtk/gtkcombo.c (gtk_combo_init): adjust the scrollbar if the lists
2102         focused child walks out of the window.
2103         removed CAN_FOCUS for the combo arrow's button since it doesn't react
2104         to keyboard events ("clicked" connection is missing).
2105
2106 Fri May  1 00:42:25 1998  Owen Taylor  <otaylor@gtk.org>
2107
2108         * gdk/gdkwindow.c (gdk_window_get_colormap): Fix up
2109         getting colormap for FOREIGN windows to go along with
2110         Raster's fix for visuals.
2111
2112 Merges from gtk-1-0
2113 ===================
2114         
2115 Thu Apr 30 23:32:51 1998  Owen Taylor  <otaylor@gtk.org>
2116
2117         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
2118         Check to catch the case when the viewport fits in either
2119         direction or both, instead of flip-flopping infinitely.
2120
2121         Only show/hide the scrollbars once at the end.
2122
2123 Thu Apr 30 21:56:07 1998  Owen Taylor  <otaylor@gtk.org>
2124
2125         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): 
2126         Include the scrollbars in the foreach call.
2127         (gtk-fortier-980405-0.patch; 
2128          Patrice Fortier <Patrice.Fortier@aquarel.fr>). 
2129
2130         The notebook widget
2131         really should also include its tabs, but that might cause
2132         problems for programs if they
2133
2134 Thu Apr 30 21:51:52 1998  Owen Taylor  <otaylor@gtk.org>
2135
2136         * gtk/gtkpixmap.c (gtk_pixmap_set): Only request a
2137         resize if the size actually changed. 
2138         (gtk-johannes-980414-0.patch ;  
2139          johannes@nada.kth.se (Johannes Keukelaar) )
2140
2141 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
2142
2143         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
2144           ltmain.sh ltconfig config.sub config.guess:
2145
2146         Reverted back to libtool-1.2 (plus minor patches) so as not to
2147         force the issue for everyone else.
2148
2149 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
2150
2151         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
2152         Updated to libtool 1.2a.
2153
2154         * gtk/gtkclist.c: Draw the in-between lines with style->base
2155         instead of style->white.
2156         
2157 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
2158
2159         * gdk/gdkprivate.h gdk/gdkwindow.c gdk/gdkpixmap.c: 
2160         Cache the colormap and children of a window locally
2161         instead of fetching them from the server when needed.
2162         Huge performance difference for creating/destroying
2163         windows.
2164
2165         * gtk/gtkstyle.c: Find the depth from the cached
2166         visual, instead of asking the server.
2167
2168         * gtk.m4: Distribute the new version which tries to
2169         figure out what went wrong and give helpful error
2170         messages.
2171
2172         * ltmain.sh ltconfig config.sub config.sh: 
2173         Updated to libtool 1.2a
2174
2175         * gtk/gtktext.c: Fixed a bug where the drawn level
2176         was being messed up when the text was scrolled
2177         during a deletion.
2178         
2179 Thu Apr 30 02:42:11 PDT 1998 Manish Singh <yosh@gimp.org>
2180
2181         * gtk/gtkfilesel.c: don't die when naughty people remove parts of
2182         the filesystem under you (fix from Josh)
2183
2184 Thu Apr 30 09:49:14 1998  Tim Janik  <timj@gtk.org>
2185
2186         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): check
2187         if the viewport already exists before iterating over it, maybe we
2188         haven't been constructed yet.
2189
2190 Thu Apr 30 01:51:00 1998  Tim Janik  <timj@gtk.org>
2191
2192         * gtk/gtkbin.c (gtk_bin_add): made this function issue a warning if
2193         the GtkBin widget already has a child.
2194
2195         * gtk/gtkbox.c (gtk_box_pack_{start|end}):
2196         check that child->parent == NULL;
2197
2198 Tue Apr 28 22:13:54 1998  Owen Taylor  <otaylor@gtk.org>
2199
2200         * gtk/gtkselection.c (gtk_selection_clear): Only return
2201         FALSE when the clear event is been rejected, not when
2202         widget has already lost the selection. (Which should
2203         only happen when we are setting the selection to another
2204         widget ourself.)
2205         
2206 Fri Apr 24 19:07:32 1998  Owen Taylor  <otaylor@gtk.org>
2207
2208         * gtk/gtkfixed.c gtk/gtkpaned.c gtk/gtktable.c:
2209
2210         Removed the "check visibility after gtk_widget_unparent" bug 
2211         in hopefully the last three places.
2212
2213 Tue Apr 28 15:46:41 1998  Tim Janik  <timj@gtk.org>
2214
2215         * gtk/gtkrc.c (gtk_rc_parse_statement): allow the inclusion of other
2216         rc-files.
2217
2218 Mon Apr 27 15:11:52 1998  Tim Janik  <timj@gtk.org>
2219
2220         * gtk/gtkwidget.c (gtk_widget_grab_focus): only allow grabbing of focus
2221         for CAN_FOCUS widgets.
2222
2223         * gtk/testgtk.c (create_scrolled_windows): feature h/v focus
2224         adjustments for the table.
2225         (create_list): feature automatic adjustment of the scrolled window to
2226         always contain the focused child.
2227         (create_main_window): keep the focussed button always inside of the
2228         scrolled windoww.
2229
2230         * gtk/gtkcontainer.c (gtk_real_container_focus): set the h/v focus
2231         adjustments, to contain the allocation of the currently focused child.
2232         (gtk_container_set_focus_hadjustment): new functin to set the
2233         horizontal focus adjustment.
2234         (gtk_container_set_focus_vadjustment): new functin to set the vertical
2235         focus adjustment.
2236
2237         * gtk/gtkadjustment.c (gtk_adjustment_clamp_page): new fucntion to
2238         clamp the currents adjustment page into a specific range.
2239
2240         * random GtkType fixups for gtk_*_get_type() functions.
2241
2242 Fri Apr 24 18:37:16 1998  Owen Taylor  <otaylor@gtk.org>
2243
2244         * gtk/gtktreeitem.c (gtk_tree_item_remove_subtree): 
2245         Account for the fact that gtk_tree_item_remove_subtree
2246         will be called recursively. 
2247
2248         Handle removing a collapsed subtree.
2249
2250         (From Andy Dustman <adustman@comstar.net>)
2251         
2252         * gtk/gtktree.c (gtk_tree_remove_items): Look for the
2253         root tree when removing items from a non-previously
2254         mapped tree.
2255
2256         * gtk/testgtk.c: Added a remove_subtree button.
2257         
2258 Thu Apr 23 23:44:17 1998  Owen Taylor  <otaylor@gtk.org>
2259
2260         * gtk/gtkobject.c (gtk_object_finalize): Notify all weak references
2261         before object removing data. This change fixes a bug where 
2262         removing the last weak references would cause it to be 
2263         triggered.
2264
2265 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
2266
2267         * gdk/Makefile.am: Removed mostly useless dependency that
2268         was causing problems for SGI's make, when used with
2269         the 'make dist' form of GTK+. (Dependency caused dependencies
2270         to be redone when BUILT_SOURCES changed)
2271
2272 Thu Apr 30 11:18:00 1998  Owen Taylor  <otaylor@gtk.org>
2273
2274         * gtk/gtkcombo.[ch]: Allow the user to use the popup list
2275         like a menu.
2276         
2277         * gtk/gtkmenuitem.c gtk/gtkitem.c: Moved enter/leave handlers
2278         to gtkitem.c so dragging can also work in lists.
2279
2280         * gtk/gtklist.[ch]: Track child enter events and use
2281         those to allow dragging the selection. 
2282
2283 Thu Apr 30 11:16:06 1998  Owen Taylor  <otaylor@gtk.org>
2284
2285         * gtk/gtktext.c: Try enabling background pixmaps for editable text
2286         widgets.  There is a bit of flashing, but not too bad. If you
2287         don't want the flashing, you can always not set a background
2288         pixmap.
2289
2290 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
2291
2292         * gtk/gtktext.c: Fixed a bug where the drawn level
2293         was being messed up when the text was scrolled
2294         during a deletion.
2295         
2296 1998-04-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2297
2298         * gdk/gdk.c (gdk_event_translate): Random debugging fixed this
2299         bug:  There is no need to set the ExposureMask in the XGrabPointer
2300         (this caused DnD programs to crash).
2301
2302 Fri Apr 24 01:29:04 1998  Tim Janik  <timj@gtk.org>
2303
2304         * gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
2305         field to be of type guint.
2306         * gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
2307         ref_count>0;
2308         (gtk_accelerator_table_install): keep a per object list of accelerator
2309         tables that refer to this object.
2310         (gtk_accelerator_table_remove): remove the accelerator table from the
2311         per object list.
2312         (gtk_accelerator_table_clean): warn if there are any object references
2313         left in an accelerator table upon destruction.
2314         (gtk_accelerator_tables_delete): new function to delete object
2315         references from the accelerator tables associated with this object.
2316
2317         * gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
2318         GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
2319         of an accelerator can be prevented by gtk_signal_emit_stop().
2320         (gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
2321         so there are no stale pointers in accelerator tables left.
2322
2323 1998-04-22  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2324
2325         * gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
2326         visible before we unparent it.
2327
2328 Wed Apr 22 04:15:26 1998  Tim Janik  <timj@gtk.org>
2329
2330         * gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
2331         running_timeouts list with the tmp_list link itself, not with a new
2332         GList structure pointing to our link. that would fill up memory and
2333         causes the GList.data fields of the running_timeouts list to point to
2334         GList structures and not GtkTimeoutFunction structures which is a
2335         *really* bad thing.
2336         (gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
2337         the above entry ;).
2338
2339 Sat Apr 18 22:18:12 1998  Tim Janik  <timj@gtk.org>
2340
2341         * gtk/gtkradiomenuitem.h: 
2342         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
2343         ala gtk_radio_button_set_group.
2344         (gtk_radio_menu_item_init): assure that we always have at least a group
2345         that points to self.
2346
2347         * gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
2348         added g_return_if_fail() statements.
2349         (gtk_radio_button_init): assure that we always have at least a group
2350         that points to self.
2351
2352 Fri Apr 17 03:05:05 1998  Tim Janik  <timj@gtk.org>
2353
2354         * ChangeLog split up into ChangeLog.pre-1-0 and ChangeLog.
2355
2356 Wed Apr 15 05:13:09 1998  Tim Janik  <timj@gtk.org>
2357
2358         * gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
2359         (Damon Chaplin), which i got wrong when applying Damon's patch the last
2360         time.
2361
2362 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
2363
2364         * gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
2365         that when we are running with a non-installed colormap,
2366         in 8-bit pseudo-color, we actually are using the system
2367         visual. (Fixes *Bad Match* errors on Digital Unix machines
2368         with multiple 8-bit pseudo-color visuals)
2369
2370 1998-04-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2371
2372         * gdk/gdkwindow.c (gdk_window_xid_at): Fix the problem introduced
2373         by whoever thought that randomly changing ints to unsigned int
2374         without reviewing the code was a good idea.  It is, btw not
2375         mentioned in the ChangeLog as usual, but I know it was not Elliot
2376         the culprit this time. 
2377
2378 Mon Apr 13 19:16:22 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
2379
2380         * Released GTK+ 1.0.0