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