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