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