]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-6
Start mass update for GTK 1.1 Look for the best version of awk Fix FD leak
[~andy/gtk] / ChangeLog.pre-2-6
1 Mon Dec  7 15:15:06 GMT 1998  Tony Gale <gale@gtk.org>
2
3         * docs/gtk_tut.sgml: Start mass update for GTK 1.1
4         * examples/extract.sh: Look for the best version of awk
5         * examples/extract.awk: Fix FD leak
6         * example/base: minimal example from Tutorial
7
8 Mon Dec  7 01:29:27 1998  Owen Taylor  <otaylor@gtk.org>
9
10         * gtk/gtkwindow.c: New functions
11         gtk_window_set_transient_for() - set up a "transient for" relationship.
12         gtk_window_set_default_size() - set the initial size of a window
13            distinct from its minimum size.
14         gtk_window_set_geometry_hints() - Allow the user to set
15            minimum, maximum sizes, aspect rations, and gridded geometry, 
16            possibly all with respect to a subwidget of the window.
17         These interfaces are still a wee bit experimental.
18
19         * gdk/gdk.c: Added gdk_window_set_transient_for(),
20         gdk_window_set_geometry_hints(), and gdk_window_set_role().
21
22         * gdk/gdktypes.h: Added new types for find-grained specification
23         of WM hints.
24
25         * gtk/testgtk.c: Various changes to tests to test the
26         above new functions.
27
28         * gtk/gtkfontsel.c: Squash a few 'const' warnings.
29         
30         * gtk/gtktogglebutton.c (gtk_toggle_button_realize): Restored
31         call to gtk_style_set_background() to prevent egregious
32         flashing to black.
33
34 Mon Dec  7 03:52:01 1998  Tim Janik  <timj@gtk.org>
35
36         * gtk/gtksignal.c (gtk_handlers_run): when marshalling connect_object
37         signals, don't pass the data pointer twice, but swap it with the
38         object pointer (proposed on Nov 30 1998 on gtk-devel-list).
39
40 Mon Dec  7 03:08:39 1998  Tim Janik  <timj@gtk.org>
41
42         * gtk/gtktypeutils.h: 
43         * gtk/gtktypeutils.c: reverted Marius's change to expose the type systems
44         internal type info data to the user. if such functionality is required
45         we should provide wrapping accessors, ala gtk_signal_query(). also the
46         GtkTypeInfo structures are dynamically allocated memory portions, so
47         only the type system is really allowed to access that stuff.
48
49         * gtk/gtksignal.c (gtk_signal_connect_by_type): reverted marius change,
50         since it destroys the possibility to implement automatic marshaller
51         lookups some day, and it also disables third party code's ability to
52         connect to any signal.
53
54 Mon Dec  7 01:32:18 1998  Tim Janik  <timj@gtk.org>
55
56         * gtk/gtkfilesel.c (gtk_file_selection_key_press): always intercept the
57         Tab key on the entry. the focus shouldn't get lost even if completion
58         is attempted from an empty entry, since an empty entry string does
59         indeed have a valid completion meaning (complete all).
60         (gtk_file_selection_init): cast the gchar array parameter in calls to
61         gtk_clist_new_with_titles() to quit compiler warnings.
62         (check_dir): the no_stat_dirs struct must not be const, since we do
63         indeed modify its contents.
64
65         * gtk/testgtk.c (event_watcher): adapted prototype to fit new emission
66         hook semantics.
67
68         * gtk/gtksignal.h:
69         * gtk/gtksignal.c:
70         changed emission allocation, so we don't use a doubly linked list
71         but link ourselfs (singly linked).
72         changed emission hooks, they get the emision parameters passed as
73         well now and are emitted during the actuall signal emission (after
74         the RUN_FIRST class method, but prior to RUN_FIRST handlers).
75         the existing restrictions do still apply to signal emission hooks,
76         i.e. an emission may not be stopped or restarted from an emission hook.
77         due to possibly huge perfomance impacts, frequent use of emision hooks
78         is also not recommended.
79         (gtk_signal_next_and_invalidate): added an
80         assertments which explicits what the code assumes anyways: a
81         maximum amount of 65535 signals.
82
83         * gtk/gtkcontainer.h: deprecated gtk_container_foreach_interp(),
84         gtk_container_foreach_full() should be used instead.
85
86         * gtk/gtkmain.h:
87         deprecated gtk_timeout_add_interp and gtk_idle_add_interp, since
88         we provide _full variants.
89
90         * gtk/gtksignal.h: deprecated gtk_signal_connect_interp(), we provide
91         gtk_signal_connect_full() for long enough now.
92
93 1998-12-06  Marius Vollmer  <mvo@zagadka.ping.de>
94
95         * gtk/gtksignal.c (gtk_signal_newv): Allow a NULL marshaller.
96         (gtk_signal_connect_by_type): Allow only no_marshal handlers to
97         connect to signals with a NULL marshaller.
98
99         * gtk/gtktypeutils.c (gtk_type_get_info): New.
100         gtk/gtktypeutils.h (gtk_type_get_info): New prototype.
101
102 Sun Dec  6 14:27:35 1998  Stefan Jeske  <stefan@gtk.org>
103
104         * gtk/gtkspinbutton.c (gtk_spin_button_draw_arrow): Grey out
105         arrows if wrap == FALSE and interval borders are reached.
106
107 Sat Dec  5 21:07:09 1998  Owen Taylor  <otaylor@gtk.org>
108
109         * gtk/gtkaspectframe.c (gtk_aspect_frame_size_allocate): Fixed
110         long-standing typo in aspect ratio computation code.
111         (pointed out by Sebastian Rittau <srittau@jroger.in-berlin.de>)
112
113 Fri Dec  4 01:20:06 1998  Lars Hamann  <lars@gtk.org>
114
115         * gtk/gtkclist.c (gtk_clist_button_release): call toggle_row with
116         valid row numbers only
117         (toggle_row): check if clist_row != NULL
118
119 Fri Dec  4 00:50:12 1998  Lars Hamann  <lars@gtk.org>
120
121         * gtk/gtkctree.c (gtk_ctree_export_to_gnode): fixed for-loop.
122
123         * gtk/gtkclist.c 
124         (gtk_clist_set_column_visibility)
125         (gtk_clist_column_titles_active)
126         (gtk_clist_column_titles_active)
127         (gtk_clist_column_title_passive)
128         (gtk_clist_column_title_active): few additional tests whether
129         column->button != NULL
130
131 Thu Dec  3 16:49:18 1998  Owen Taylor  <otaylor@redhat.com>
132
133         * gtk/gtkdnd.c (DROP_ABORT_TIME): Changed to 5 min
134         from 10 seconds, so it doesn't abort while users
135         have an ACTION_ASK menu up.
136
137         * gtk/gtkdnd.c: Hide the icon window between sending a a 
138         drop event to the destination and displaying the
139         snapback animation, so that it doesn't hang around
140         during ACTION_ASK.
141
142 Thu Dec  3 16:37:42 1998  Owen Taylor  <otaylor@redhat.com>
143
144         * gtk/gtkclist.c (get_cell_style): Use GTK_STATE_INSENSITIVE
145         for the foreground of cells for CLists in the insensitive
146         state, instead of GTK_STATE_PRELIGHT.
147
148 Thu Dec  3 06:20:59 1998  Tim Janik  <timj@gtk.org>
149
150         * gtk/gtkwindow.c: moved checks upon focus setting from
151         gtk_window_real_set_focus to gtk_window_set_focus, so we don't
152         emit the signal if unneccessary.
153
154         * gtk/gtkwidget.c (gtk_widget_grab_focus): clear up the old focus
155         containers when grabbing focus on a new widget. this is based on
156         a patch from Alexis Mikhailov, submitted to gtk-list on 4 Nov 1998.
157
158         * gtk/gtkclist.c (gtk_clist_focus_out): set CLIST_CHILD_HAS_FOCUS
159         flag, so we take the buttons into consideration upon the next focus
160         request.
161
162         * gtk/gtkcontainer.c (gtk_container_set_focus_child): fixed an
163         assertment.
164
165 Wed Dec  2 17:45:21 CST 1998 Shawn T. Amundson <amundson@gtk.org>
166
167         * gtk/gtkpixmap.c: Fixes for low-color displays and a slight
168           enhancement for true-color displays.
169
170         * INSTALL:
171           README:
172           configure.in:
173           gtk+.spec:
174           docs/gtk-config.1: up to version 1.1.6
175
176 Wed Dec  2 01:36:49 PST 1998 Manish Singh <yosh@gimp.org>
177
178         * gtk/gtkfeatures.h.in: lets #define GTK_HAVE_FEATURES_1_1_6 before
179         we release it this time
180
181 Wed Dec  2 01:39:02 1998  Tim Janik  <timj@gtk.org>
182
183         * gtk/gtknotebook.h: 
184         * gtk/gtknotebook.c: s/gtk_notebook_nth_page/gtk_notebook_get_nth_page/.
185
186         * incremented version number to 1.1.6 and made Gtk
187         dependant on GLib 1.1.6.
188
189         * gtk/gtkwidget.h (struct _GtkRequisition): changed width and height
190         from guint16 to gint16, since sizes bigger than 32767 are not supported
191         anyways, and aritmethics with intermediate negative values are possible
192         now.
193
194 Tue Dec  1 00:00:04 1998  Tim Janik  <timj@gtk.org>
195
196         * gtk/gtkscrolledwindow.c:
197         implementation of GTK_POLICY_NEVER functionality, added rationales
198         on the policy and size requisition handling at the top.
199         (gtk_scrolled_window_size_request):
200         we assume a default minimum for our child's width and height
201         if [hv]scrollbar_policy != GTK_POLICY_NEVER, except when the user
202         specified the dimension explicitely.
203         (gtk_scrolled_window_size_allocate): 
204         do not show scrollbars if [hv]scrollbar_policy == GTK_POLICY_NEVER.
205
206         * gtk/gtkviewport.c (gtk_viewport_size_request): report the real
207         size we require (including the child).
208
209         * gtk/gtkclist.c:
210         (gtk_clist_size_request): report the real size required.
211
212         * gtk/gtkenums.h (enum GtkPolicyType): added GTK_POLICY_NEVER.
213
214         * gtk/gtkobject.c (gtk_object_init_type): object_type doesn't
215         need to be a static variable.
216
217 Mon Nov 30 22:41:25 1998  Tim Janik  <timj@gtk.org>
218
219         * gtk/gtkclist.h: 
220         * gtk/gtkclist.c: 
221         * gtk/gtkviewport.h:
222         * gtk/gtkviewport.c:
223         * gtk/gtktext.h:
224         * gtk/gtktext.c:
225         * gtk/gtklayout.h:
226         * gtk/gtklayout.c:
227         * gtk/gtkwidget.h:
228         * gtk/gtkwidget.c:
229         * gtk/gtkscrolledwindow.h:
230         * gtk/gtkscrolledwindow.c:
231         s/scroll_adjustements/scroll_adjustments/
232         s/scroll_adjustments/set_scroll_adjustments/g
233
234 Tue Dec  1 22:45:58 1998  Lars Hamann  <lars@gtk.org>
235
236         * gtk/gtkclist.h (struct _GtkCListClass): new class method/signal
237         row_move.
238         * gtk/gtkclist.c (gtk_clist_row_move): new public function.
239         emit a row_move signal
240         (real_row_move): move source_row to dest_row
241         (gtk_clist_swap_rows): use gtk_clist_row_move calls.
242         (gtk_clist_columns_autosize): resize all columns to their optimal
243         width
244         * gtk/gtkctree.c (real_row_move): use gtk_ctree_move to move
245         entire sub-tree.
246         * gtk/gtknotebook.c (gtk_notebook_nth_page): get nth page widget.
247
248 Tue Dec  1 02:40:22 PST 1998 Manish Singh <yosh@gimp.org>
249
250         * configure.in
251         * gdk/Makefile.am
252         * gtk/Makefile.am: Put -DFOO stuff into Makefile.am INCLUDES.
253         Separate vars for each, for granularity.
254
255 Tue Dec  1 02:19:54 1998  Tim Janik  <timj@gtk.org>
256
257         * gtk/gtkenums.h: fixed a stupid error of mine about the run type
258         values.
259
260 1998-11-30  Elliot Lee  <sopwith@cuc.ml.org>
261
262         * {gdk,gtk}/*.c: Make read-only data structures "static const" to
263         allow them to be shared, mainly including (but not limited to) the
264         GtkTypeInfo structures for each class.
265
266         * gtk/gtkfilesel.c: Add /net to the "leave me alone" directory listing.
267
268 Mon Nov 30 12:17:10 1998  Jeff Garzik  <jgarzik@pobox.com>
269
270         * gtk/gtksignal.c:
271         Surround debug variable with #ifdef to silence gcc.
272
273         * gtk/gtknotebook.c (gtk_notebook_reorder_child):
274         Added initializer to quiet gcc warning.
275         Added assertion to check for null pointer deref.
276
277 Mon Nov 30 10:11:29 1998  Tim Janik  <timj@gtk.org>
278
279         * gtk/testgtkrc: merged testgtkrc with the pre-themes one, removed
280         system specific includes.
281
282         * gtk/gtksignal.c: asured that stop and restart emissions are also
283         checked and processed for not connected objects. fixed up restart
284         emission administration. invoke emission hooks after emission, hooks
285         are not supposed to muck around with the current emission, and
286         may also not cause emission restarts. fixed up stop emission
287         administration.
288
289 Mon Nov 30 06:20:36 1998  Tim Janik  <timj@gtk.org>
290
291         * gtk/testgtk.c: added an event watcher for enter/leave based on
292         signal emission hooks.
293
294         * gtk/gtkobject.c (gtk_object_class_init): made GtkObject::destroy a
295         GTK_RUN_NO_HOOKS signal.
296
297         * gtk/gtksignal.h: 
298         * gtk/gtksignal.c: implemented emission hooks, new hooks can be added
299         to a signal with gtk_signal_add_emission_hook or
300         gtk_signal_add_emission_hook_full, and can be removed again with
301         gtk_signal_remove_emission_hook.
302
303         * gtk/gtkenums.h: remove GTK_RUN_MASK, since it doesn't represent
304         an appropriate mask for signal runtypes for a long time now.
305         added GTK_RUN_NO_HOOKS value, which is used to flag signals
306         that do not allow the running of signal hooks.
307
308 1998-11-26  Michael Krause  <m.krause@tu-harburg.de>
309
310         * gtk/gtknotebook.c (gtk_notebook_switch_page): made 'page_num'
311         argument a gint: switch_page signal delivers valid page numbers
312         again.
313
314 Sun Nov 29 06:12:01 1998  Tim Janik  <timj@gtk.org>
315
316         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_[hv]adjustment): 
317         set composite names.
318
319         * gtk/gtktypeutils.c (gtk_type_unique): removed default initialization
320         check, people must use gtk_type_init().
321         fixed up type allocation for foreign fundamentals.
322
323         * gtk/gtkwidget.h: 
324         * gtk/gtkwidget.c: added gtk_widget_set_composite_name() which is meant
325         for internal use by containers, that want to assign specific composite
326         names to their composite children.
327         added gtk_widget_get_composite_name() which will return a newly
328         allocated string, containing the composite name of a widget. valid
329         composite names can only be retrived from widgets that have a parent
330         assigned and are flagged as GTK_COMPOSITE_CHILD.
331
332         * gtk/gtkcontainer.h:
333         * gtk/gtkcontainer.c: added a new function
334         gtk_container_child_default_composite_name() which will return a
335         newly allocated string, holding the composite name of a containers
336         child. a default implementation is provided which will compose the
337         composite name out of the widgets type and its sequential children
338         id. this implementation can be overidden through a new class function
339         *(composite_name)().
340
341 Sat Nov 28 10:57:59 1998  Owen Taylor  <otaylor@redhat.com>
342
343         * gtk/gtkwindow.c (gtk_window_expose_event): Removed bogus
344         expose_event handler - we had two expose_event
345         handlers!
346
347 Sat Nov 28 03:13:42 1998  Tim Janik  <timj@gtk.org>
348
349         * gtk/gtkscrolledwindow.h: 
350         * gtk/gtkscrolledwindow.c: changed scrolled window inheritance,
351         it inherits from GtkBin now.
352
353         * gtk/gtkbin.c (gtk_bin_unmap): removed superfluous check for
354         visibility of child.
355         (gtk_bin_draw): removed superfluous check for GTK_WIDGET_DRAWABLE().
356         added check so a child gets only drawn if it's visible.
357
358         * gtk/gtkwidget.h: 
359         * gtk/gtkwidget.c: removed gtk_widget_draw_children().
360
361         * gtk/gtkstyle.h: 
362         * gtk/gtkstyle.c: rmoved gtk_reset_widget_shapes.
363
364         * gtk/gtkwidget.h: 
365         * gtk/gtkwidget.c: removed crufty relict: gtk_widget_is_child().
366         added internal function gtk_widget_reset_shapes() from gtkstyle.c.
367
368         * gtk/gtkrc.h:
369         * gtk/gtkrc.c: (gtk_rc_find_pixmap_in_path): removed bogus gscanner
370         argument, changed callers.
371
372         * gtk/gtkmenufactory.c: GtkMenuFactory is deprecated for a long time,
373         it will issue a warning now.
374
375         * gtk/gtkcompat.h: new file to #define aliases for historic
376         function names.
377
378         * changed 8 function names for consistency and provided aliases to keep
379         source compatibility in gtkcompat.h:
380         (gtk_accel_label_get_accel_width): renamed from gtk_accel_label_accelerator_width
381         (gtk_container_set_border_width): renamed from gtk_container_border_width
382         (gtk_notebook_get_current_page): renamed from gtk_notebook_current_page
383         (gtk_packer_configure): renamed from gtk_packer_set_child_packing
384         (gtk_paned_set_gutter_size): renamed from gtk_paned_gutter_size
385         (gtk_paned_set_handle_size): renamed from gtk_paned_handle_size
386         (gtk_scale_get_value_width): renamed from gtk_scale_value_width
387         (gtk_window_set_position): renamed from gtk_window_position
388
389         * renamed a few recently added funtions for consistency:
390         (gtk_notebook_get_tab_label): renamed from gtk_notebook_query_tab_label.
391         (gtk_notebook_get_menu_label): renamed from gtk_notebook_query_menu_label.
392         (gtk_progress_configure): renamed from gtk_progress_reconfigure.
393
394 Fri Nov 27 18:57:20 PST 1998 Manish Singh <yosh@gimp.org>
395
396         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add_with_viewport):
397         check for existing viewport first, and don't add one if there
398         already is one
399
400 Sat Nov 28 00:06:49 1998  Tim Janik  <timj@gtk.org>
401
402         * gtk/gtkwidget.h: 
403         * gtk/gtkwidget.c: deprecated gtk_widget_freeze_accelerators and
404         gtk_widget_thaw_accelerators, we provide gtk_widget_lock_accelerators
405         and gtk_widget_unlock_accelerators.
406
407         * gtk/gtklayout.h:
408         * gtk/gtklayout.c: implemented incremental freezing facility.
409
410         * gtk/gtktext.h: 
411         * gtk/gtktext.c: implemented incremental freezing facility.
412
413         * gtk/gtkenums.h:
414         * gtk/gtkaccelgroup.h: moved enum GtkAccelFlags into this place.
415
416         * gtk/gtkentry.h:
417         * gtk/gtkentry.c:
418         deprecated gtk_entry_adjust_scroll().
419         
420         * random GtkType, macro and indentation fixes.
421
422 Fri Nov 27 22:50:15 1998  Tim Janik  <timj@gtk.org>
423
424         * gtk/gtkclist.h: 
425         * gtk/gtkclist.c: implemented incremental freezing facility, added
426         a new class member (*refresh)() which takes over the thaw
427         functionality. the clist FROZEN flag got removed on the way.
428         * gtk/gtkctree.c: adaptions to feature the clist refresh functionality
429         and incremental freezing.
430
431         * gtk/gtkcalendar.c: implemented incremental freezing facility.
432
433 Fri Nov 27 11:41:27 1998  Raph Levien  <raph@gimp.org>
434
435         * gdk/gdkinputcommon.h (gdk_input_common_init): Fixed it so that
436         it still includes the core pointer in gdk_input_devices even
437         if the XInput extension is not present in the X server.
438
439 Fri Nov 27 12:17:15 1998  Owen Taylor  <otaylor@redhat.com>
440
441         * gtk/gtkdnd.[ch] (gtk_drag_get_source_widget): New function to
442         get the source widget of a drag.
443
444         * gtk/gtkdnd.[ch]: Target flags GTK_TARGET_SAME_[WIDGET/APP]
445         to restrict certain targets to the same widget or to
446         the same application.
447
448         * gtk/testdnd.c: Test gtk_drag_get_source_widget().
449         
450 Thu Nov 26 19:11:46 1998  Lars Hamann  <lars@gtk.org>
451
452         * gtk/gtk-boxed.defs (GtkCTreeNode): define GtkCTreeNode as boxed type
453         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_CTREE_NODE_TYPE
454         instead of GTK_TYPE_POINTER in signal definitions.
455         (patch from James Henstridge <james@daa.com.au>)
456
457 Thu Nov 26 18:48:44 1998  Lars Hamann  <lars@gtk.org>
458
459         * gtk/gtkclist.c (set_cell_contents)
460         * gtk/gtkctree.c (set_cell_contents): call column_auto_resize only
461         if auto.resize == TRUE
462
463         * gtk/gtknotebook.c (gtk_notebook_set_shape) (gtk_notebook_expose):
464         don't draw tab, if show_tabs == FALSE
465         (bug reports from Alexis Mikhailov / Dave Cole)
466         (gtk_notebook_focus_changed) (gtk_notebook_draw_focus): draw only
467         the focus rectangle, not the hole tab.
468
469 Thu Nov 26 03:18:08 1998  Tim Janik  <timj@gtk.org>
470
471         * gtk/gtkclist.h: 
472         * gtk/gtkctree.h: 
473         * gtk/gtkclist.c:
474         * gtk/gtkctree.c: reverted bogus and undocumented!!! changes from
475         Jay Cox (98/11/23 13:53:26) which `const' qualified char* arrays.
476
477         * gtk/maketypes.awk: changed underline substitution, so we get
478         GTK_TYPE_CTREE_POS instead of the broken GTK_TYPE_C_TREE_POS.
479         * gtk/makeenums.pl: likewise.
480         * gtk/gtkctree.c: adapted type names accordingly.
481
482 Tue Nov 24 11:31:06 1998  Owen Taylor  <otaylor@redhat.com>
483
484         * docs/Changes-1.2.txt: Edited section on the ScrolledWindow.
485
486         * gtk/gtklayout.c (gtk_layout_set_[hv]adjustment): Remove
487         some code duplication.
488
489         * gtk/gtklayout.[ch] Fixed mapping and unmapping of child windows
490         and child widgets when scrolling greater than 32k pixels.
491
492         * testgtk.c: Modified layout test to test scrolling over 
493         long distances.
494
495 Tue Nov 24 11:11:05 1998  Owen Taylor  <otaylor@redhat.com>
496
497         * gtk/gtklayout.[ch]: Fixed up copyright message.
498
499         * gdk/gdkrgb.c (DM): Make the dither matrix constant
500         so it can be shared.
501
502         * gtk/gtkdnd.c: Make cursor bitmaps const.
503
504         * gdk/gdk.h gdk/gdkpixmap.c: Added const to 
505         gdk_pixmap/bitmap_create_from_data.
506
507 Tue Nov 24 07:46:09 1998  Tim Janik  <timj@gtk.org>
508
509         * docs/Changes-1.2.txt: added a section on scrolled windows and
510         scrollable widgets.
511
512 1998-11-24  Andrew T. Veliath  <andrewtv@usa.net>
513
514         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): Include radio
515         buttons when setting relief for button items.
516         (gtk_toolbar_set_button_relief): Same.
517
518 1998-11-23  Jeff Garzik  <jgarzik@pobox.com>
519
520         * gdk/Makefile.am, gtk/Makefile.am:
521         Removed DEFS "+=" mess that breaks recent automakes.
522         INCLUDES is the correct way to add to CFLAGS from Makefile.am.
523
524         * gdk/gdk.c, gdk/gdkglobals.c, gdk/gdkimage.c, gdk/gdkinput.c,
525         gdk/gdkpixmap.c, gdk/gdkthreads.c, gdk/gdkwindow.c,
526         gdk/gxid_lib.c, gtk/fnmatch.c, gtk/gtkclist.c, gtk/gtkmain.c,
527         gtk/testthreads.c:
528         Include "config.h" instead of "../config.h".
529         Now that DEFS works again, automake will automatically pass us
530         the location of config.h in -I.
531
532 Mon Nov 23 22:10:09 1998  Owen Taylor  <otaylor@redhat.com>
533
534         * gtk/Makefile.am gtk/gtk.h gtk/gtklayout.[ch]
535         gtk/gtkplug.[ch] gtk/gtksocket.[ch] gtk/gtk.h:
536
537         Added layout widget for scrolling arbitrarily big areas.
538         Added plug/socket widgets for interprocess embedding.
539
540         These widgets still, at some point, need to be
541         made more pure in their use of GDK, as opposed
542         to raw X.
543
544         * gtk/testgtk.c: Added test for layout widget.
545         
546 1998-11-23  Jeff Garzik  <jgarzik@pobox.com>
547
548         * gtk/gtkclist.c: (gtk_clist_swap_rows):  Bugfix from
549         Brandon Long <blong@fiction.net> - do the right thing with first
550         and last, which are the absolute values of row arguments row1
551         and row2.
552
553 Mon Nov 23 04:24:55 PST 1998 Manish Singh <yosh@gimp.org>
554
555         * gtk/gtkprogress.c: (gtk_progress_set_adjustment): make a saner
556         default adjustment (from 0 to 100) instead. I'm not sure if this
557         is the correct level for the fix, but gtk_progress_bar_new()'s
558         original default behavior is restored.
559
560 1998-11-23  Martin Baulig  <martin@home-of-linux.org>
561
562         * gtk/gtkfeatures.h.in (GTK_HAVE_FEATURES_1_1_5): Define this so
563         we can check for latest GTK features.
564
565 1998-11-23  Havoc Pennington  <hp@pobox.com>
566
567         * gtk/gtktoolbar.c: (gtk_toolbar_set_relief):
568         (gtk_toolbar_insert_element): When setting relief, also affect
569         toggle buttons.
570
571 Sun Nov 22 20:37:06 PST 1998 Manish Singh <yosh@gimp.org>
572
573         * gtk/gtkobject.h: remove extraneous comma
574
575 Mon Nov 23 05:21:50 1998  Tim Janik  <timj@gtk.org>
576
577         * gtk/gtkcontainer.c:
578         (gtk_container_add_with_args): 
579         (gtk_container_addv): 
580         (gtk_container_add): removed assertements for constructed containers
581         again, since this essentially breaks the "child" arg.
582
583         * gtk/gtktooltips.c (gtk_tooltips_force_window): fixup the draw_window
584         reference count, we don't need to reference toplevels that already have
585         destroy notifiers.
586
587         * gtk/gtkscrolledwindow.c: check for the composites existance in
588         _forall since we might not be already constructed.
589
590 Sun Nov 22 14:34:58 CST 1998 Shawn T. Amundson <amundson@gtk.org>
591
592         * Released GTK+ 1.1.5
593
594         * configure.in: require GLib 1.1.5
595
596 Mon Nov 23 03:21:17 1998  Tim Janik  <timj@gtk.org>
597
598         * gtk/gtktext.c (gtk_text_destroy): disconnect hadj & vadj, not
599         2 * hadj.
600         (gtk_text_finalize): only unref the current_font if we have
601         been realized.
602
603 Sat Nov 21 18:41:13 CST 1998 Shawn T. Amundson <amundson@gtk.org>
604
605         * configure.in:
606           INSTALL:
607           NEWS:
608           README:
609           gtk+.spec:
610           docs/gtk-config.1: Version incremented to 1.1.5
611
612 Sun Nov 22 16:21:28 1998  Tim Janik  <timj@gtk.org>
613
614         * gtk/gtkprogress.c: added args ::show_text, ::text_xalign,
615         ::text_yalign, ::activity_mode.
616
617         * gtk/gtkprogressbar.c: added construct arg ::adjustment. added args
618         ::bar_style, ::orientation, ::discrete_blocks, ::activity_step,
619         ::activity_blocks.
620         (gtk_progress_bar_new):
621         (gtk_progress_bar_new_with_adjustment): use gtk_widget_new().
622         (gtk_progress_bar_construct): deprecated.
623
624         * gtk/gtkvscrollbar.c:
625         (gtk_vscrollbar_draw_step_back): 
626         (gtk_vscrollbar_draw_step_forw): use "vscrollbar" as detail for
627         gtk_paint_arrow, to be consistent with hscrollbar.
628
629         * gtk/gtktext.c
630         added construct args ::hadjustment, ::vadjustment.
631         added args ::line_wrap, ::word_wrap.
632         (gtk_text_class_init): added scroll_adjustments signal.
633         (gtk_text_new): use gtk_widget_new.
634         (gtk_text_disconnect): remove adjustement with gtk_text_set_adjustments,
635         so we don't screw the reference counts and don't leave signals connected.
636         (gtk_text_destroy): disconnect adjustments signals.
637         (gtk_text_finalize): unref adjustments.
638
639         * gtk/gtkctree.c: added construct args ::n_columns and ::tree_column.
640         added args ::indent, ::spacing, ::show_stub, ::reorderable,
641         ::use_drag_icons, ::line_style and ::expander_style.
642         (gtk_ctree_set_show_stub): renamed from gtk_ctree_show_stub, which is
643         deprecated now.
644
645         * gtk/gtkclist.h: remove GTK_CLIST_CONSTRUCT flag.
646         * gtk/gtkclist.c:
647         removed ::vadjustment and ::hadjustment args, introduced
648         ::scroll_adjustments signal.
649         added ::shadow_type, ::selection_mode and ::row_height args.
650         added n_columns construct arg.
651         (gtk_clist_construct): call gtk_object_constructed().
652         (gtk_clist_set_row_height): if height is passed as 0,
653         revert to automatic height calculation.
654         (gtk_clist_destroy): before unrefing the adjustments, disconnect our
655         signal handlers.
656
657 Fri Nov 21 22:34:58 1998  Tim Janik  <timj@gtk.org>
658
659         * gtk/gtkwidget.c (gtk_widget_new): call gtk_object_default_construct
660         like gtk_object_new.
661         (gtk_widget_destroy): assert that we only destroy constructed widgets.
662
663         * gtk/gtkobject.h (enum GtkArgFlags): new flag GTK_ARG_CONSTRUCT_ONLY
664         to identify args that may only be used for construction.
665         GTK_ARG_CONSTRUCT maybe used as normal arguments besides construction
666         time.
667         * gtk/gtkobject.c (gtk_object_new): invoke gtk_object_default_construct
668         at the end if the object is not fully constructed.
669         (gtk_object_newv): likewise.
670         (gtk_object_destroy): assert that we only destroy constructed objects.
671         (gtk_object_init): setup GTK_CONSTRUCTED from the
672         objects real klass.
673         (gtk_object_default_construct): new function to complete default
674         construction of an object by applying missing construtor args with
675         default values of 0, 0.0 or NULL.
676         (gtk_object_constructed): new function to mark an object as being
677         constructed (used from within constructors).
678
679         * gtk/gtkarg.c (gtk_arg_type_new_static): return the args info pointer
680         so it is immediatedly available for the caller.
681
682         * gtk/gtktypeutils.c (gtk_type_new): pass an object's real class to
683         the object initilizer (GtkObjectInitFunc takes a second arg now, the
684         real klass), and asure that object initializers may temporarily alter
685         the class pointer.
686
687 Fri Nov 20 08:00:30 1998  Tim Janik  <timj@gtk.org>
688
689         * gtk/testgtk.c: change all occourances of gtk_container_add (
690         scrolled_window, widget) to gtk_scrolled_window_add_with_viewport (...)
691         for widget!=(clist, ctree, text, viewport).
692
693         * gtk/gtkcombo.c:
694         (gtk_combo_init): use gtk_scrolled_window_add_with_viewport()
695         to add children to the scrolled window.
696
697         * gtk/gtkscrolledwindow.h:
698         * gtk/gtkscrolledwindow.c:
699         changed scrolled_window->viewport to scrolled_window->child, and use
700         gtk_widget_scroll_adjustements() to set the scroll adjustments for the
701         widget, we do not create an additional viewport anymore.
702         added ::hadjustment and ::vadjustment constructor args.
703         (gtk_scrolled_window_new): use gtk_widget_new() to create the widget.
704         (gtk_scrolled_window_set_hadjustment):
705         (gtk_scrolled_window_set_vadjustment): new functions that superceed
706         gtk_scrolled_window_construct.
707         (gtk_scrolled_window_construct): deprecated this function.
708         
709         * gtk/gtkhscrollbar.c:
710         * gtk/gtkvscrollbar.c:
711         * gtk/gtkhscale.c:
712         * gtk/gtkvscale.c:
713         support a constructor arg "::adjustment", and use gtk_widget_new() for
714         the widget creation.
715
716         * gtk/gtkrange.c: added ::update_policy arg.
717         (gtk_range_set_adjustment): if adjustment is passed in as NULL, create
718         a default adjustment so this function can be used for derived widgets
719         that depend on the adjustment's existance.
720         (gtk_range_destroy): disconnect the adjustment signal, so we don't
721         get called after we got destroyed, we don't destroy the adjustment
722         in here, because it might have been provided from another widget.
723
724         * gtk/gtkviewport.c: introduced ::scroll_adjustments signal.
725         (gtk_viewport_destroy): same as gtk_range_destroy.
726
727         * gtk/gtkprogress.c (gtk_progress_destroy): same as gtk_range_destroy.
728
729         * gtk/gtkwidget.h: 
730         * gtk/gtkwidget.c: changed gtk_widget_activate() to return a
731         gboolean, indicating whether this widget supports activation.
732         added gtk_widget_scroll_adjustements() to set the scrolling
733         adjustments of a widget.
734
735 Wed Nov 19 01:22:42 1998  Tim Janik  <timj@gtk.org>
736
737         * gtk/gtkoptionmenu.c:
738         (gtk_option_menu_remove_contents):
739         (gtk_option_menu_update_contents): removed
740         gtk_container_[un]block_resize() pairs.
741
742         * gtk/gtknotebook.h: 
743         * gtk/gtknotebook.c: removed the tab_border field, since it shouldn't
744         be used outside of gtknotebook.c anyways. made ARG_TAB_BORDER a
745         wrtie-only argument.
746
747         * *.c: made deprecated functions issue a message:
748         gtk_clist_set_border, gtk_container_block_resize,
749         gtk_container_unblock_resize, gtk_container_need_resize,
750         gtk_object_class_add_user_signal, gtk_spin_button_construct,
751         gtk_scrolled_window_construct.
752         removed non-functional functions:
753         gtk_container_disable_resize, gtk_container_enable_resize,
754         gtk_clist_set_policy.
755
756 Wed Nov 18 22:54:36 1998  Tim Janik  <timj@gtk.org>
757
758         * gtk/gtkbox.c (gtk_box_init): 
759         * gtk/gtkdrawingarea.c (gtk_drawing_area_init): 
760         * gtk/gtkeventbox.c (gtk_event_box_init): 
761         * gtk/gtkfixed.c (gtk_fixed_init): 
762         * gtk/gtkframe.c (gtk_frame_init): 
763         * gtk/gtkhandlebox.c (gtk_handle_box_init): 
764         * gtk/gtkpacker.c (gtk_packer_init): 
765         * gtk/gtkmisc.c (gtk_misc_init): 
766         * gtk/gtkpreview.c (gtk_preview_init): 
767         * gtk/gtkprogress.c (gtk_progress_init): 
768         * gtk/gtkprogressbar.c (gtk_progress_bar_init): 
769         * gtk/gtkseparator.c (gtk_separator_init): 
770         * gtk/gtktable.c (gtk_table_init): 
771         * gtk/gtkviewport.c (gtk_viewport_init): 
772         * gtk/gtkalignment.c (gtk_alignment_init): 
773         removed setting of the GTK_BASIC flag.
774
775         * gtk/gtkwidget.h:
776         * gtk/gtkwidget.c:
777         removed GTK_BASIC, GTK_WIDGET_BASIC and gtk_widget_basic.
778
779         * miscellaneous GtkType and macro fixups.
780
781 Sat Nov 21 18:53:13 1998  Owen Taylor  <otaylor@redhat.com>
782
783         * gdk/gdkwindow.c (gdk_window_get_deskrelative_origin): 
784         Fixed so it at least works with window managers other
785         than Enlightenment, though it probably needs to be
786         removed altogether.
787
788 1998-11-21  Andrew T. Veliath  <andrewtv@usa.net>
789
790         * gtk/gtkhandlebox.[ch]: Add shadow_type and
791         gtk_handle_box_set_shadow_type function (plus a
792         GtkHandleBox::shadow arg) to allow configuration of shadow in the
793         bin window.
794
795 Thu Nov 19 23:47:38 CST 1998 Shawn T. Amundson <amundson@gtk.org>
796
797         * gtk/gtkcalendar.c: Fix for marking days from 
798           Dan Reish <dreish@izzy.net>.
799
800 Thu Nov 19 00:15:27 1998  Lars Hamann  <lars@gtk.org>
801
802         * gtk/gtkctree.c (gtk_ctree_node_nth): return the nth GtkCTreeNode
803         in row_list. (from Samuel Solon <ssolon@usa.net>)
804         
805         * gtk/gtkclist.c (gtk_clist_get_column_title): return column title
806         (gtk_clist_get_column_widget): return column widget
807
808 Wed Nov 18 11:54:57 1998  Owen Taylor  <otaylor@redhat.com>
809
810         * gtk/gtkdnd.c (gtk_drag_find_widget): Accept drops
811         that are sent to a toplevel but are not within the
812         toplevels bounds.
813
814         * gdk/gdkdnd.c gdk/gdk.h: Added support for a
815         XdndProxy atom which proxies the drag to another window.
816
817 1998-11-17  Federico Mena Quintero  <federico@nuclecu.unam.mx>
818
819         * gtk/gtkpaned.h (struct _GtkPaned): Removed the cursor field, now
820         that it is not needed.
821
822 Tue Nov 17 1998 The Rasterman <raster@redhat.com>
823         * gdk/gdk.h, gdk/gdkwindow.c: Added gdk_window_get_deskrelative_origin
824           function to correctly determine gdk window position relative to
825           its "root window" - contains check for an Enlightenment
826           virtual root window.
827         * gtk/gtkhandlebox.c: changed gdk_window_get_origin ->
828           gdk_window_get_deskrelative_origin to get the origin of dragged
829           handleboxes correctly. Now it works correctly with E.
830           
831 Tue Nov 17 1998  Tuomas Lukka <lukka@iki.fi>
832
833         * gtk/gtktypeutils.c: Fix vital bug where LOOKUP was used when
834           getting types even though we were not using real type names,
835           just the index.  This caused random crashes when more than 
836           256 types were defined.
837
838 1998-11-17  Martin Baulig  <martin@home-of-linux.org>
839
840         * gtk/genmarshal.pl: Put output files in the current directory
841         and not in the $(srcdir) since the VPATH is ignored for built
842         sources.
843
844 Tue Nov 17 01:37:53 PST 1998 Manish Singh <yosh@gimp.org>
845
846         * gtk/genmarshal.pl
847         * gtk/Makefile.am: check for unchanged autogenerated files, so
848         we don't rebuild everything just for adding a new function
849
850 Mon Nov 16 19:19:00 CST 1998 Shawn T. Amundson <amundson@gtk.org>
851
852         * gtk/gtkpixmap.h
853           gtk/gtkpixmap.c: Pixmaps now grey out when insensitive,
854           code thanks to GNOME stock by Eckehard Berns.  New function
855           gtk_pixmap_set_build_insensitive to provide ability to turn 
856           this off.
857
858 Tue Nov 17 00:06:29 1998  Lars Hamann  <lars@gtk.org>
859
860         * gtk/gtknotebook.h (struct _GtkNotebook): new flags : homogeneous;
861         new guints : tab_hborder, tab_vborder; marked tab_border deprecated
862         (struct _GtkNotebookPage): new flags : expand, fill, pack
863
864         * gtk/gtknotebook.h/c
865         (gtk_notebook_set_homogeneous_tabs): new function. set homogeneneous
866         tabs
867         (gtk_notebook_set_tab_border): set tab_h/vborder to tab_border
868         (gtk_notebook_set_tab_hborder): new function. set tab_hborder
869         (gtk_notebook_set_tab_vborder): new function. set tab_vborder
870         (gtk_notebook_query_tab_label): new function. get tab_label widget.
871         (gtk_notebook_set_tab_label): new function. set tab_label widget.
872         (gtk_notebook_set_tab_label_text): new function. set tab_label text.
873         (gtk_notebook_query_menu_label): new function. get tab_label widget.
874         (gtk_notebook_set_menu_label): new function. set tab_label widget.
875         (gtk_notebook_set_menu_label_text): new function. set tab_label text.
876         (gtk_notebook_set_tab_label_packing): new function. set tab_label
877         fill, expand, fill_type
878         (gtk_notebook_query_tab_label_packing): new function. get tab_label
879         fill, expand, fill_type
880
881         (gtk_notebook_real_page_position): return logic page number
882         (gtk_notebook_search_page) search next/prev logic page
883         (gtk_notebook_update_labels): set logic page number.
884         (gtk_notebook_page_compare): renamed gtk_notebook_find_page
885         (gtk_notebook_set/get_child_arg): new args CHILD_ARG_TAB_EXPAND,
886         CHILD_ARG_TAB_FILL, CHILD_ARG_TAB_PACK
887         (gtk_notebook_button_press) (gtk_notebook_key_press)
888         (gtk_notebook_focus) (gtk_notebook_pages_allocate)
889         (gtk_notebook_calc_tabs) (gtk_notebook_switch_focus_tab)
890         use gtk_notebook_search_page
891         (gtk_notebook_page_allocate): fixed allocation bug
892         (gtk_notebook_set/get_arg): new args TAB_HBORDER, TAB_VBORDER.
893         (gtk_notebook_init): unset GTK_NO_WINDOW flag
894         (gtk_notebook_size_request): check whether page->child is visible.
895         changes due to tab h/vborder, homogeneous tabs
896         (gtk_notebook_paint): don't draw invisible tabs
897         (gtk_notebook_switch_page): calculate page_num if it's less than 0
898         (gtk_notebook_append_*) (gtk_notebook_prepend_*)
899         (gtk_notebook_insert_page): removed sanity checks
900
901         * gtk/testgtk.c (create_notebook): extended Notebook sample a bit.
902
903 Mon Nov 16 15:10:33 1998  Owen Taylor  <otaylor@redhat.com>
904
905         * gtk/gtktext.c: Optimizations for [advance/decrement]_mark_n.
906         (gtk-mailund-980718-0, Thomas Mailund Jensen <mailund@daimi.aau.dk>)
907
908         * gtk/gtkfixed.c: Removed gtk_fixed_umap, which was 
909         broken. (GtkWidget's default unmap handler should work fine).
910         Pointed out by Patrice Fortier <Patrice.Fortier@aquarel.fr>
911
912 Mon Nov 16 00:59:26 PST 1998 Manish Singh <yosh@gimp.org>
913
914         * gtk/gtkmenubar.[ch]: added shadow_type setting and
915         gtk_menu_bar_set_shadow_type function to allow shadow
916         configurability for menubars
917
918         * gtk/gtkviewport.h: use GtkShadowType enum instead of generic
919         guint
920
921 Mon Nov 16 00:17:53 1998  Tim Janik  <timj@gtk.org>
922
923         * gtk/gtktypeutils.c (gtk_type_new): relookup type node after
924         class creation and parent class' object initializer.
925
926 1998-11-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>
927
928         * gtk/gtkpaned.c (gtk_paned_realize): Destroy the cursor after we
929         have assigned it to the window -- there is no point in keeping it around.
930         (gtk_paned_unrealize): No need to destroy the cursor here.
931
932         * gtk/gtkpaned.h (struct _GtkPaned): Removed the cursor field, as
933         it is not needed.
934
935 Fri Nov 13 11:22:38 1998  Owen Taylor  <otaylor@redhat.com>
936
937         * gdk/gdkpixmap.c: New function gdk_pixmap_foreign_new().
938         (gtk-blizzard-981005-0. 
939          Christopher Blizzard <blizzard@applied-theory.com)
940
941         * gdk/gdk.h gdk/gdkx.h: Moved gdk_window_foreign_new and
942         gdk_pixmap_foreign_new to gdkx.h.
943
944 Fri Nov 13 16:06:48 1998  Owen Taylor  <otaylor@redhat.com>
945
946         * gtk/Makefile.am: Added rules to generate an empty
947         GTK+ theme called "Default" upon installation.
948         
949         * gtk/gtkrc.c (gtk_rc_parse_style): Fix inheritance
950         of fonts and fontsets. 
951         (gtk-matsu-980924. Takashi Matsuda matsu@arch.comp.kyutech.ac.jp)
952
953         * gtk/gtkmain.c: Change test to detect glibc's
954         utf8 based mb* functions to be more specific.
955
956         * gtk/gtkwindow.[ch] gtk/gtkfixed.c: Indentation 
957         cleanups.
958
959 Fri Nov 13 16:43:36 1998  Lars Hamann  <lars@gtk.org>
960
961         * gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't
962         show event_window
963         (gtk_toggle_button_map) (gtk_toggle_button_unmap): show/hide
964         event_window if draw_indicator is set
965         (gtk_toggle_button_set_mode):
966
967 Thu Nov 12 15:33:54 PST 1998 Manish Singh <yosh@gimp.org>
968
969         * gtk/gtkitemfactory.c: cast NULL to GtkItemFactoryCallback to
970         ensure proper type (SunPro cc complains)
971
972         * gtk/gtklist.c: removed bogus '*' from "*GTK_CONTAINER_CLASS"
973
974         * gtk/gtktogglebutton.c: use our own draw method so we get proper
975         redraws on active state
976
977 Thu Nov 12 00:26:13 1998  Lars Hamann  <lars@gtk.org>
978
979         * gtk/gtkstyle.c (gtk_default_draw_box_gap): use GtkPositionType
980         defines.
981
982         * gtk/gtknotebook.c (gtk_notebook_draw_tab): fixed gap_side for
983         GTP_POS_RIGHT
984
985 Wed Nov 11 19:54:58 1998  Lars Hamann  <lars@gtk.org>
986
987         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_class_init)
988         (gtk_scrolled_window_set_arg) (gtk_scrolled_window_get_arg):
989         added ARG_WINDOW_PLACEMENT
990
991         * gtk/gtkclist.c (size_allocate_columns): resize column if column
992         button > column width and auto_resize is set
993         (real_clear) (column_auto_resize) (gtk_clist_optimal_column_width):
994         consider column button width of auto resized columns
995         (gtk_clist_parent_set): removed 
996
997         * gtk/gtkctree.c (gtk_ctree_insert_node): call column_auto_resize.
998         (auto_resize_columns): auto_resize all columns
999         (real_tree_collapse) (gtk_ctree_remove_node): call auto_resize_columns
1000         (column_auto_resize): respect column button width of auto resized
1001         columns
1002
1003 1998-11-10  Martin Baulig  <baulig@merkur.uni-trier.de>
1004
1005         * gtk/gtkfeatures.h.in (GTK_HAVE_FEATURES_1_1_4): Define this so
1006         we can check for latest GTK features.
1007
1008 Mon Nov  9 00:39:20 1998  Lars Hamann  <lars@gtk.org>
1009
1010         * gtk/gtkenums.h : new enum GtkCornerType 
1011         * gtk/gtkscrolledwindow.h (struct _GtkScrolledWindow): added
1012         window_placement.
1013         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_placement): 
1014         new method to set window_placement.
1015         (gtk_scrolled_window_viewport_allocate)
1016         (gtk_scrolled_window_size_allocate): few changes due to
1017         window_placement.
1018         * gtk/testgtk.c (remove_selection): fixed while loop.
1019
1020 Sat Nov  7 21:55:00 PST 1998 Manish Singh <yosh@gimp.org>
1021
1022         * gtk/gtkclist.c: check if column[i].button is valid before calling
1023         gtk_widget_intersect on it in gtk_clist_draw
1024
1025         * gtk/gtkdnd.c: removed unused variable empty_bits
1026
1027         * gtk/gtkrc.c: we should use gslist_* functions with GSLists...
1028
1029         * gtk/gtktypeutils.[ch]: makes more send for gtk_type_is_a to return
1030         a boolean (thanks to Elrond for noticing this)
1031
1032 1998-11-07  Jay Cox  <jaycox@earthlink.net>
1033
1034         * gtk/gtkwindow.c: forward declaration for gtk_window_paint
1035         * gdk/gdkxid.c: declare xid_ht static
1036         * examples/*/Makefile: get the link ordering right.
1037
1038 Sat Nov  7 16:31:56 1998  Stefan Jeske  <stefan@gtk.org>
1039
1040         * gtk/gtkclist.c (gtk_clist_realize): Set background of
1041         title button window to GTK_STATE_NORMAL instead of
1042         GTK_STATE_SELECTED to avoid ugly flicker.
1043
1044 Fri Nov  6 23:29:40 1998  Lars Hamann  <lars@gtk.org>
1045
1046         * gtk/gtkclist.c (real_clear) (adjust_adjustments): resize clist
1047         if adjustments are NULL and list size has changed
1048         (gtk_clist_size_request): return real list requsition,
1049         if adjustments are NULL.
1050         (size_allocate_columns): use button->requisition.with, if column
1051         width is not set.
1052         (list_requisition_width): new function. return full list width.
1053         (gtk_clist_set_hadjustment) (gtk_clist_set_vadjustment): do not
1054         auto create adjustments.
1055         (gtk_clist_motion) (move_vertical) (move_horizontal):
1056         check adjustment != NULL.
1057
1058 Thu Nov  5 12:06:16 1998  Owen Taylor  <otaylor@redhat.com>
1059
1060         * gtk/gtkcheckbutton.c (gtk_check_button_draw_focus): Queue
1061         a clear/redraw, not just a redraw, so the focus
1062         gets undrawn properly.
1063
1064         * gtk/gtktogglebutton.c (gtk_toggle_button_unrealize): 
1065         Chain to gtk_widget_unrealize() instead of duplicating
1066         code.
1067
1068 Wed Nov  4 14:34:51 1998  Owen Taylor  <otaylor@redhat.com>
1069
1070         * gdk/gdk.c gdk/gdkprivate.h gdk/gdkwindow.c: Removed
1071         last vestiges of old DND.
1072
1073 Tue Nov  3 12:27:52 1998  Owen Taylor  <otaylor@redhat.com>
1074
1075         * gtk/gtkentry.c: Restored inner border to entries,
1076         erase cursors to background image.
1077
1078 Fri Oct 30 12:09:21 1998  Owen Taylor  <otaylor@redhat.com>
1079
1080         * gtk/gtkentry.c gtk/gtkstyle.[ch]: removed paint_entry() -
1081         it was identical to paint_flat_box().
1082
1083         * gtk/gtkstyle.c: Coding style fixups.
1084
1085         * gtk/gtkwindow.c (gtk_window_move_resize): removed useless
1086         test.
1087
1088         * gtk/gtkframe.c gtkstyle.[ch] gtknotebook.c: 
1089         Change 'side' for paint_[box/shadow]_gap and paint_extension
1090         to be GtkPositionType instead of a random int.
1091
1092         * gtk/gtkaspectframe.c (gtk_aspect_frame_paint): Use 
1093         "frame" as detail - an aspectframe should draw identical
1094         to a frame.
1095
1096 Tue Oct 27 09:58:11 1998  Owen Taylor  <otaylor@redhat.com>
1097
1098         * gdk/gdkwindow.c (gdk_window_merge_child_shapes): renamed
1099         from combine_child_shapes().
1100
1101         * gdk/gdkwindow.c: Merge propagate_shapes() and
1102         propagate_combine_shapes() to remove code duplication.
1103
1104 Thu Nov  5 14:31:57 PST 1998 Manish Singh <yosh@gimp.org>
1105
1106         * gdk/gdk.c: sometimes we get a KeyRelease before a KeyPress in
1107         gdk_event_translate, and the USE_XIM buffer isn't allocated yet.
1108         So allocate some mem if it's not already done.
1109
1110         * clist scrollbar merges from HEAD
1111
1112 Tue Nov  3 13:16:36 PST 1998 Manish Singh <yosh@gimp.org>
1113
1114         * gtk/Makefile.am: remove explict -ldl, gmodule takes care of that
1115
1116         * gtk/gtkdnd.c: start TARGET_MOTIF_SUCCESS from 0x40000000 instead
1117         of 0x80000000, so we stay within the bounds of a postive signed
1118         int (it broke some compilers)
1119
1120         * gtk/gtkmenushell.c
1121         * gtk/gtkoptionmenu.c: merges from HEAD to make option menus work
1122         when some of the menuitems are hidden
1123
1124         * gtk/gtkthemes.h: don't include dlfcn.h explictly, gmodule takes
1125         care of that
1126
1127         * gtk/gtkwidget.c: add a dummy continue after the line label
1128         next_rect, since some compilers don't like label: }
1129
1130 Sun Nov  1 20:05:55 PST 1998 Manish Singh <yosh@gimp.org>
1131
1132         * Okay, so we need the X11R6 keysyms so programs don't have to
1133         worry about them. They don't conflict anyway. Reverted the #ifdef
1134         changes to gtk/*.c
1135
1136         * gdk/Makefile.am: remove the BUILT_SOURCES rule, and make a
1137         special rule for them (X-derived-headers)
1138
1139 Sun Nov  1 05:30:32 PST 1998 Manish Singh <yosh@gimp.org>
1140
1141         * gdk/Makefile.am: changed the awk scripts to generate gdkcursors.h
1142         and gdkkeysyms.h into sed scripts, since the awk scripts weren't
1143         portable, and we really shouldn't be using awk anyway.
1144
1145         * makecursors.awk
1146         * makekeysyms.awk: bye bye
1147
1148         * gtk/gtkaccelgroup.c
1149         * gtk/gtkclist.c
1150         * gtk/gtknotebook.c
1151         * gtk/gtkwindow.c: don't use X11R6 keysyms if they aren't there
1152
1153 Sat Oct 31 15:22:14 PST 1998 Manish Singh <yosh@gimp.org>
1154
1155         * gdk/Makefile.am: do the same built sources trick for gdkcursors.h
1156         and gdkkeysyms.h. Remove those files from CVS.
1157
1158 Sat Oct 31 14:44:01 PST 1998 Manish Singh <yosh@gimp.org>
1159
1160         * gdk/gdk.c: move prototype of gdk_wm_protocols_filter outside
1161         of the USE_XIM #ifdef
1162
1163         * gtk/Makefile.am: cause the built sources to be rebuild when possible,
1164         even with --include-deps. Slightly different from timj's fix, to avoid
1165         circular dependency with gtkmarshal.c
1166
1167         * autogen.sh
1168         * gtk/gtkclist.[ch]
1169         * gtk/gtkctree.c
1170         * gtk/gtkfontsel.[ch]
1171         * gtk/gtklist.c
1172         * gtk/gtklistitem.c
1173         * gtk/gtkobject.[ch]
1174         * gtk/testgtk.c: merges from HEAD
1175
1176         * gtk/gtkmenubar.c
1177         * gtk/gtkradiomenuitem.c
1178         * gtk/gtktreeitem.c: cleanups
1179
1180 Wed Oct 28 23:32:19 PST 1998 Manish Singh <yosh@gimp.org>
1181
1182         * gdk/gdkrgb.c: Oops. s/BIGENDIAN/BIG_ENDIAN/
1183
1184 Wed Oct 28 19:04:49 PST 1998 Manish Singh <yosh@gimp.org>
1185
1186         * configure.in: AIX has libpthreads, to make sure you can have
1187         more than one thread. Also add -D_THREAD_SAFE, and reorder
1188         configure.in so CFLAGS doesn't get clobbered when we actually
1189         want to modify it
1190
1191         * gdk/gdkimage.c: initialize the bpp and byte_order fields properly
1192         in gdk_image_get
1193
1194         * gtk/testdnd.c: removed unused variable "buf"
1195
1196 Mon Oct 26 16:46:15 1998  Owen Taylor  <otaylor@redhat.com>
1197
1198         * gtk/gtkcontainer.c (gtk_container_unregister_toplevel): 
1199         remove_link(), not remove()
1200
1201 Thu Oct 22 02:27:30 PDT 1998 Manish Singh <yosh@gimp.org>
1202
1203         * gdk/gdkrgb.c: use glib endian stuff
1204
1205         * configure.in: don't need to check for endianness anymore
1206
1207         * gtk/gtkstyle.h: removed #pragma }, causing a silly warning
1208
1209 Wed Oct 21 17:44:27 1998  Owen Taylor  <otaylor@redhat.com>
1210
1211         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Reset
1212         all toplevel widgets, not toplevel windows. (I.e.,
1213         plugs should be reset)
1214
1215         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Yes, we
1216         _do_ need to notify the other toplevels - by the time
1217         the get the client messages, the RC file dates will
1218         have been updated.
1219
1220         * gtk/gtkcontainer.h: Added a function call to list
1221         every toplevel widget.
1222
1223         * gdk/gdk.c (gdk_event_send_client_message_to_all_recurse): 
1224         Don't send client messages to _every_ window on display!
1225         
1226 Tue Oct 20 16:21:04 1998  Owen Taylor  <otaylor@redhat.com>
1227
1228         * gtk/gtkdnd.c (gtk_drag_source_event_cb): Don't start drags 
1229         when dragging across widgets, only in drags
1230         starting in widget.
1231
1232 Tue Oct 20 15:59:49 1998  Owen Taylor  <otaylor@redhat.com>
1233
1234         * gtk/gtkdnd.c (gtk_drag_source_info_destroy): 
1235         Emit "drag_end" signal at end of drag.
1236
1237 Tue Oct 20 13:07:54 1998  Owen Taylor  <otaylor@redhat.com>
1238
1239         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Look
1240         for "gtk-embedded" data currently set by 
1241         GtkSocket, and use that to forward client message
1242         on to embedded windows. Only reset our own toplevel -
1243         the others will handle themselves. (Now that
1244         GtkMenus live in GtkWindows)
1245
1246 Mon Oct 19 16:40:40 1998  Owen Taylor  <otaylor@redhat.com>
1247
1248         * gdk/gdkdnd.c (get_client_window_at_coords_recurse): Modify
1249         client window finding code so that it works with
1250         WM's other than fvwm.
1251  
1252 Sun Oct 18 22:48:27 1998  Owen Taylor  <otaylor@redhat.com>
1253
1254         * gtk/gtkdrawwindow.c (gtk_draw_window_get_type): Added
1255         the "GtkDrawWindow" class, which is a descendent
1256         of the Window class which leaves its background alone.
1257         Essentially, a toplevel drawing area, though it does
1258         allow adding a child.
1259
1260 Sat Oct 17 00:40:51 1998  Owen Taylor  <otaylor@redhat.com>
1261
1262         * gtk/gtkrc.c (gtk_rc_style_init): Duplicate bg_pixmap_name when
1263         merging RC styles. Report new share/themes path for
1264         themes directory. Deref theme engines when appropriate.
1265
1266         * gtk/gtkclist.c: Set all backgrounds in _style_set().
1267         Make sure that pixel for xor_gc is never 0.
1268
1269         * gtk/gtkctree.c: Choose colors for plus/minus more
1270         carefully, in a hopefully style-independent fashion.
1271         (Still needs a bit more work)
1272
1273         * gtk/gtkwidget.c: Don't send expose events to widgets
1274         which are about to be resized and redrawn. (Needs a
1275         bit more thought.)
1276
1277         * gtk/gtknotebook.c (gtk_notebook_draw_tab): Avoid
1278         drawing on tabs for newly allocated, un-sized
1279         pages - we'll get the size wrong.
1280
1281 Thu Oct  1 17:38:07 1998  Owen Taylor  <otaylor@redhat.com>
1282
1283         * gtk/gtkwidget.c (gtk_widget_redraw_queue_remove): Fixed
1284         up stupidities in last commit.
1285
1286 Thu Oct  1 14:25:43 1998  Owen Taylor  <otaylor@redhat.com>
1287
1288         * gtk/gtkwidget.c: When handling queued resizes, account
1289         for handleboxes, where the widget heirarchy is different
1290         than the window heirarchy by just queueing a resize on
1291         the entire handlebox if the detached child is changed.
1292
1293         - Remove widgets from the redraw queue when reparenting,
1294         even if not unrealizing. We queue a resize/redraw in
1295         any case.
1296
1297 Mon Sep 28 21:07:01 EDT 1998 The Rasterman <raster@redhat.com>
1298         * gtk/gtkstyle.c: added check to see if the widget has been shaped
1299         byt the app via gtk_widget_shape_combine_mask and if it has does
1300         not reset the shape on theme change.
1301         
1302 Tue Sep 15 11:30:03 1998  Owen Taylor  <otaylor@redhat.com>
1303
1304         * gtk/gtkfilesel.c: Keep a list of directories in which we never
1305         want to stat the entries (like /afs), and assume everything in
1306         those directories is a subdirectory.
1307
1308         - When following a path, try to open components even when
1309         we don't find them in their parent's directory to
1310         support automounters.
1311
1312 Fri Sep 11 15:36:33 1998  Owen Taylor  <otaylor@redhat.com>
1313
1314         * gdk/gdkinputgxi.h (gdk_input_gxi_grab_pointer): Hopefully
1315         now at least compiles again.
1316
1317         * gdk/gdk.c (gdk_event_translate): Don't pass events
1318         on destroyed widgets to the gdk_input layer.
1319
1320 Thu Sep  3 19:45:34 1998  Owen Taylor  <otaylor@redhat.com>
1321
1322         * gtk/gtkthemes.c: Use g_module instead of dlopen()
1323
1324 Thu Sep  3 19:30:11 1998  Owen Taylor  <otaylor@redhat.com>
1325
1326         * gtk/gtktooltips.c (gtk_tooltips_expose): Check
1327         if we've changed widgets since the expose event
1328         was queued.
1329
1330 Mon Aug 31 15:33:13 1998  Owen Taylor  <otaylor@redhat.com>
1331
1332         * gtk/gtkstyle.h (struct _GtkStyle): Reordered a bit
1333         to restore approximate bin compatibility with the
1334         non-themes branch. (This does break bin compat
1335         within the themes branch.)
1336
1337 Sun Aug 30 16:48:27 1998  Owen Taylor  <otaylor@gtk.org>
1338
1339         * gtk/gtklabel.c (gtk_label_set): Eliminate a 
1340         gdk_window_clear_area() that snuck in with the
1341         menu underlines merge.
1342
1343 Mon Aug 24 23:37:26 1998  Owen Taylor  <otaylor@redhat.com>
1344
1345         * gtk/gtktext.c: Fixed some remaining background drawing,
1346           merges from main branch, cleanups.
1347
1348 Mon Aug 24 10:55:51 1998  Owen Taylor  <otaylor@redhat.com>
1349
1350         * gtk/gtknotebook.c (gtk_notebook_draw_tab): Don't
1351           dereference NULL focus tab.
1352
1353         * gtk/gtkscale.c (gtk_scale_[un]map): Add map/unmap
1354           functions since we need to both show/hide and 
1355           queue a redraw. (There's some duplication of drawing here, 
1356           we probably should only be queuing a redraw on the
1357           "value" portion of the scale.)
1358
1359 Fri Aug 21 19:02:30 1998  Owen Taylor  <otaylor@redhat.com>
1360
1361         * gtk/gtkrange.[ch] gtk/gtkhscale.c gtk/gtkvscale.[ch]: Fit scales
1362           into the theme-drawing framework. We do this by making them,
1363           like check/radio-buttons, no-window widgets with subwindows. We
1364           then move the value by calling gtk_widget_queue_clear() and only
1365           redraw the value in our draw() / expose() handler.  A virtual
1366           function clear_background is added which queues a clear on the
1367           "background" portion of the widget.
1368
1369 Fri Aug 21 13:04:27 1998  Owen Taylor  <otaylor@redhat.com>
1370
1371         * gtk/gtktext.c (mark_bg_gc): Make background colors work
1372           again. (We can't always paint the background with a
1373           paint() function - only do that for selected text)
1374
1375 Mon Aug 17 20:31:01 1998  Owen Taylor  <otaylor@redhat.com>
1376
1377         * gtk/gtktearoffmenuitem.c gtk/gtkclist.[ch] gtk/gtkctree.[ch]
1378           gtk/gtklabel.c gtk/gtkmenu.c: Merges from main branch.
1379
1380         * Makefile.am (SRC_SUBDIRS): Removed themes from SRC_SUBDIRS.
1381           the themes can't be built as part of the same build since
1382           they depend on gdk_imlib.
1383
1384 Fri Aug 14 12:44:30 1998  Owen Taylor  <otaylor@redhat.com>
1385
1386         * gtk/gtkthemes.c (gtk_theme_engine_get): Removed sample engine code
1387           from gtkthemes.c.
1388                 
1389         * configure.in ltconfig.in ltmain.sh gdk/Makefile.am gtk/Makefile.am
1390           gtk/
1391
1392           - Upgrade to libtool-1.2b + patch to add shared library dependencies
1393             for Linux. (Needs to be extended to other platforms where they
1394             are safe)
1395
1396          - Check for -ldl so this branch should build on all platforms, though
1397            themes will work on all platforms they could work on.
1398
1399          - Use -version and -release simultaneously: sonames stay as they are
1400            in the current scheme, but -lgtk-1.1 changes to -lgtk.
1401
1402          - Added in extra -l flags to library LDFLAGS so we get shared library
1403            dependencies against X libs and -ldl. (But not libgtk against 
1404            libgdk or libglib yet, since dependencies against uninstalled
1405            libraries aren't portable)
1406
1407 Fri Aug 21 16:10:38 EDT 1998 The Rasterman <raster@redhat.com>
1408         * gtkrc.c - added api calls to find module and theme paths from gtk.
1409           nuked gtk_install_prefix global.
1410         
1411 Fri Aug 21 12:36:46 EDT 1998 The Rasterman <raster@redhat.com>
1412         * fixed gtk_install_prefix global.
1413           
1414 Thu Aug 20 19:27:49 EDT 1998 The Rasterman <raster@redhat.com>
1415         * added gtk_install_prefix global const variabel to find where gtk is
1416           installed.
1417           
1418 Thu Aug 20 18:27:29 EDT 1998 The Rasterman <raster@redhat.com>
1419         * added ~/.gtk/lib/themes/engines/ to the default searchpath for
1420           gtk theme engines
1421         
1422 Thu Aug 20 18:27:29 EDT 1998 The Rasterman <raster@redhat.com>
1423         * made gtkrc scanner append dir that gtkrc is read from to pixmap path.
1424
1425 Mon Aug 10 23:03:55 1998  The Rasterman <raster@redhat.com>
1426         * Fixed minor problem in gtkhandlebox.c with drawing, and some
1427           notebook stuff. Also pixmap theme is now "clean" again.
1428           
1429 Mon Aug 10 23:03:55 1998  Owen Taylor  <otaylor@redhat.com>
1430         * gtk/gtkwidget.c (gtk_widget_clip_rect): Fixed up 
1431           queued area resizing once more.
1432
1433 Mon Aug 10 23:09:30 EDT 1998
1434         * Added a few drawing fixes for notebook and other widgets. finished
1435           pixmap theme up to the level that can be supported so far. (need to
1436           add path discovery 9ie where is the rc fiel from - add to pixmap 
1437           path so we can get theimages from there too). then we can package 
1438           themes. After that need to add to theme seartch path stuff in users 
1439           home dir.
1440           
1441 Thu Aug  6 16:49:25 1998  Owen Taylor  <otaylor@redhat.com>
1442
1443         * gtk/gtktooltips.c (gtk_tooltips_expose): Draw into a
1444           drawing area, draw in an expose handler.
1445
1446         * gtk/gtknotebook.c (gtk_notebook_expose): Check for
1447           empty current page.
1448
1449 Wed Aug  5 16:13:15 1998  Owen Taylor  <otaylor@redhat.com>
1450
1451         * gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel): Moved
1452           creation of GC's so that they will be set before
1453           they are used for map events (why are they used there?)
1454
1455         * gtk/gtkwidget.c: Fixed mistake that caused widgets to
1456           be queued in multiple times in the queue.
1457
1458 Wed Aug  5 14:23:52 1998  Owen Taylor  <otaylor@redhat.com>
1459
1460         * gtk/gtkstyle.c (gtk_default_draw_shadow): Don't set
1461           clip rects (or do anything) for shadow_none.
1462
1463 Wed Aug  5 13:14:57 1998  Owen Taylor  <otaylor@redhat.com>
1464
1465         * gtk/gtkbutton.c (gtk_button_paint): Restored paint function.
1466           Yes, it was needed. draw() and expose() are _not_
1467           identical.
1468
1469 Sat Aug  1 17:44:31 EDT 1998 EDT 1998 The Rasterman <raster@redhat.com>
1470         * Wheeeeeeeeeeeeeeee fixed radiobittons to work in gimp again.
1471
1472 Fri Jul 31 19:45:12 EDT 1998 The Rasterman <raster@redhat.com>
1473         * YES YES YES YES YES clist borders work again! YES! YES YES! gimme 
1474           more baby oooh yeah more more MORE YES YES.
1475
1476 Fri Jul 31 19:45:12 EDT 1998 The Rasterman <raster@redhat.com>
1477         * hopefully fixed problem wiht togglebuttons acting like
1478           radiobuttons in gtktogglebutton.c
1479
1480 Thu Jul 30 23:36:46 EDT 1998 The Rasterman <raster@redhat.com>
1481         * fixed another drawing buglet in the frame drawing code (actually
1482           in the clearing code but anyway in gtkstyle.c)
1483
1484 Thu Jul 30 19:23:48 EDT 1998 The Rasterman <raster@redhat.com>
1485         * Fixed warning from colorsel widget...
1486
1487 Thu Jul 30 19:10:42 EDT 1998 The Rasterman <raster@redhat.com>
1488         * Fixed defautl drawing code to no longer clobber the original style
1489           pixmap bgs as it did and added a helper funciton og gtkstyle.c to
1490           help with this.
1491
1492 Thu Jul 30 18:09:21 1998  Owen Taylor  <otaylor@redhat.com>
1493
1494         * gtk/gtkrc.c gtk/gtkstyle.c: More mm fixups
1495
1496         * gtk/gtktooltips.c: Pass a widget (the window) to the
1497           drawing function instead of the GtkTooltips.
1498
1499 Thu Jul 30 17:27:10 1998  Owen Taylor  <otaylor@redhat.com>
1500
1501         * gdk/gdkwindow.c: Abstract out checking for shape
1502           extension into a function.
1503
1504         * gtk/gtkwindow.c: Fix up gtk_window_expose()/draw().
1505           Remove extra callls to gtk_window_draw().
1506
1507 Thu Jul 30 11:18:43 1998  Owen Taylor  <otaylor@redhat.com>
1508
1509         * gtk/gtkstyle.c gtk/gtkrc.c: Memory management fixups.
1510
1511         * themes/th_main.c: Moved messages around so they are
1512           printed before destroying strings.
1513
1514 Wed Jul 29 16:56:07 1998  Owen Taylor  <otaylor@redhat.com>
1515
1516         * gdk/gdk.c: Fairly simple implementation of expose compression.
1517           (No GraphicsExpose compression yet, always compress
1518           with the equivalent of XtCompressMultiple - no compression
1519           of Expose events across non-Expose events)
1520         
1521         * gdk/gdk.h gdk/gdkrectangle.c: gdk_rectangle_union()
1522           Find rectangle bounding two rectangles.
1523
1524         * gtk/gtkstyle.c: Set clip rects for a few extra GC's
1525           in gdk_default_draw_shadow()
1526         
1527 Wed Jul 29 16:03:20 EDT 1998 The Rasterman <raster@redhat.com>
1528         * Fixed drawing functions to handle switching themes on the fly 
1529           gracefully and look decent.
1530           
1531 Tue Jul 28 22:52:10 EDT 1998 The Rasterman <raster@redhat.com>
1532         * Added all the theme drawing code to all widgets, fixed up minor
1533           nigglies in some widgets when it comes to themes, seem to be
1534           running into some funky behavior with clipping rects in GC's. Too
1535           many files to list here. (all files that now use gtk_paint_* are
1536           affected).
1537
1538 Tue Jul 28 22:49:16 1998  Owen Taylor  <otaylor@redhat.com>
1539
1540         * themes/th_main.c themes/th_draw.c gtk/testgtkrc: 
1541           Set up the demo theme so it is loaded from the RC file.
1542
1543         * themes/th_draw.c: Alleviate the hardcoded paths a wee
1544           bit. (use $HOME/themes/)
1545
1546         * gtk/gtkthemes.[ch] gtk/gtkmain.c: Load engines specified in 
1547           the RC file via dlopen()
1548
1549 Tue Jul 28 20:30:56 1998  Owen Taylor  <otaylor@redhat.com>
1550
1551         Internal handling of styles and RC styles pretty much
1552         completely reworked for Theme work.
1553
1554         * gtkthemes.[ch]: 
1555          - Added routines for virtualization of RcStyle and Style handling.
1556          - Temporary "sample" inline theme-engine. (Does nothing
1557            but print out a few messages.
1558         
1559         * gtkrc.[ch]
1560          - Made GtkRcStyle public, added flags to tell if particular
1561            colors have been set.
1562          - RC Styles are "transparent", and the final style for
1563            a widget is the composition of all matching styles
1564          - Added pointer to GtkThemeEngine, and gpointer engine_data
1565            to RC style and style.
1566          - Parse "engine" keyword, load the appropriate theme engine
1567            and call the engine's parser.
1568         
1569         *  gtkstyle.[ch]
1570          - Keep a GtkRcStyle * in styles created from Rc Styles.
1571          - Load up images from RC file at style attachment time.
1572          - Call ->engine->foo() at appropriate times.
1573          - Don't use a GCache. All incarnations for a style are
1574            just linked together in a list, depend on the RC style 
1575            code to find the existing copy.
1576
1577 Tue Jul 28 14:41:54 1998  Owen Taylor  <otaylor@redhat.com>
1578
1579         * gtk/gtkwidget.[ch]: Added the concept of queued redraws
1580           of partial areas. This can be done either relative
1581           to the existing windows (gtk_widget_queue_clear[_area]())
1582           or relative to the future allocation of the widget
1583           (gtk_widget_queue_draw[_area]). 
1584
1585           The initial implementation is pretty braindead, but
1586           can be improved.
1587
1588         * gtk/gtkwidget.[ch]: Removed calls to gdk_window_clear_area()
1589           in favor of gtk_widget_queue_clear().
1590         
1591         * gtk/gtklabel.[ch] gtk/gtkpixmap.[ch]: Removed needs_clear
1592           flags in favor of gtk_widget_queue_clear()
1593         
1594 Tue Aug  4 19:12:14 1998  Owen Taylor  <otaylor@redhat.com>
1595
1596         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fixed up
1597           handling of partially clipped areas.
1598
1599 Thu Nov  5 18:52:35 1998  Lars Hamann  <lars@gtk.org>
1600
1601         * gtk/gtkclist.h (struct _GtkCListClass)
1602         * gtk/gtkclist.c (gtk_clist_class_init): removed scrollbar_spacing.
1603
1604 Thu Nov  5 16:00:32 1998  Lars Hamann  <lars@gtk.org>
1605
1606         * gtk/gtkclist.h (struct _GtkCList): removed vscrollbar, hscrollbar,
1607         vscrollbar_policy, hscrollbar_policy. added h/vadjustment.
1608
1609         * gtk/gtkclist.c (gtk_clist_class_init): added new args types
1610         "hadjustment" & "vadjustment"
1611          (gtk_clist_set_arg) (gtk_clist_get_arg): new object class
1612         set/get_arg functions
1613         (gtk_clist_construct): don't create/adjust scrollbars.
1614         (gtk_clist_set_hadjustment) (gtk_clist_set_vadjustment): new functions
1615         to set h/vadjustments
1616         (gtk_clist_get_vadjustment) (gtk_clist_get_hadjustment): new functions
1617         to query h/vadjustments
1618         (create_scrollbars): removed.
1619         (create_adjustments): replacement for create_scrollbars
1620         (gtk_clist_new): call gtk_clist_new_with_titles
1621         (gtk_clist_new_with_titles): don't warn on titles == NULL
1622         (move_horizontal): use CLAMP instead
1623         (gtk_clist_set_policy): deprecated method.
1624         use gtk_scrolled_window_set_policy instead.
1625         (vadjustment_value_changed): use clist->vadj.
1626         (adjust_scrollbars): renamed to adjust_adjustments
1627         (adjust_adjustments): former adjust_scrollbars
1628         (gtk_clist_destroy): unref adjustments
1629         (gtk_clist_size_allocate) (gtk_clist_map) (title_focus)
1630         (gtk_clist_unmap) (gtk_clist_size_request) (gtk_clist_focus)
1631         (gtk_clist_size_allocate) (gtk_clist_forall): don't use scrollbars
1632         (gtk_clist_thaw) (real_insert_row) (real_remove_row)
1633         (gtk_clist_set_row_height) (real_resize_column):
1634         call adjust_adjustments
1635         (gtk_clist_moveto): return if clist has no adjustments yet.
1636         (gtk_clist_parent_set): new GtkWidget::parent_set function.
1637         Autogenerate h/vadjustments if needed.  
1638         (move_horizontal) (move_vertical): some cleanups
1639
1640         * gtk/gtkviewport.c (gtk_viewport_set_arg) (gtk_viewport_new):
1641         call only gtk_viewport_set_h/vadjustment and let these functions
1642         do the work.
1643         (gtk_viewport_set_hadjustment) (gtk_viewport_set_vadjustment):
1644         generate a new adjustment if needed
1645
1646         * gtk/gtkscrolledwindow.h ((struct _GtkScrolledWindow):
1647         use a guint bitfield for h/vscrollbar_policy and h/vscrollbar_visible
1648         
1649         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
1650         queue_resize if visibility of scrollbars changes
1651         (gtk_scrolled_window_remove): only call container_remove with
1652         scrolled_window->viewport automatically if viewport was autogenerated
1653         (gtk_scrolled_window_add): add widget as scrolled_window->viewport.
1654         auto create a viewport only if widget does not take h/vadjustments.
1655         (gtk_scrolled_window_construct): don't generate a viewport
1656         automatically.
1657         (gtk_scrolled_window_forall): call callback with viewport in any case
1658         (gtk_scrolled_window_set_arg): call gtk_container_add in case of
1659         ARG_VIEWPORT
1660         (gtk_scrolled_window_size_allocate) (gtk_scrolled_window_size_request)
1661         (gtk_scrolled_window_map) (gtk_scrolled_window_unmap): check
1662         viewport != NULL
1663
1664         * gtk/testgtk.c 
1665         (create_ctree) (export_ctree) (create_clist): use a scrolled_window
1666         in conjunction with clists/ctrees
1667
1668         * gtk/gtkfilesel.c (gtk_file_selection_init): use a scrolled_window
1669         in conjunction with clists
1670
1671         * gtk/gtkfontsel.c (gtk_font_selection_init): use a scrolled_window
1672         in conjunction with clists
1673
1674 Wed Nov  4 21:52:57 1998  Lars Hamann  <lars@gtk.org>
1675
1676         * gtk/gtkctree.c (gtk_ctree_unlink): fix focus_row adjustment
1677         (gtk_ctree_remove_node): select focus_row if needed
1678         (cell_size_request): only get pixmap size if pixmap != NULL
1679
1680 Wed Nov  4 04:30:37 1998  Tim Janik  <timj@gtk.org>
1681
1682         * gtk/gtkwidget.c: added a bunch of checks for widget != NULL and
1683         GTK_IS_WIDGET (widget):
1684
1685 Wed Nov  4 02:02:07 1998  Lars Hamann  <lars@gtk.org>
1686
1687         * gtk/gtkclist.c (real_remove_row) (sync_selection): set correct
1688         focus_row after a remove_row call.
1689
1690 Sun Nov  1 21:00:06 GMT 1998  Austin Donnelly  <austin@greenend.org.uk>
1691
1692         * gtk/gtkoptionmenu.c
1693         * gtk/gtkmenushell.c: make option menus work when some of the
1694         menuitems are hidden - previously, option menu would popup too
1695         high.
1696
1697 1998-10-31  Raja R Harinath  <harinath@cs.umn.edu>
1698
1699         * gtk/gtkfeatures.h.in: Remove `#pragma }'.
1700
1701         * gdk/gdki18n.h: Update to use new `glib' widechar defines.
1702
1703         * configure.in (CFLAGS): Don't use test -z "echo .. | grep".  Use
1704         case instead.
1705         (wchar.h, wctype.h, iswalnum): Duplicate widechar tests from `glib'.
1706         (GDK_WLIBS): New variable.  Lists extra libraries needed to use
1707         widechar functions.
1708         * gtk-config.in (--libs): List $GDK_WLIBS, too.
1709
1710 Sat Oct 31 03:11:57 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1711
1712         * Released GTK+ 1.1.3
1713         
1714         * INSTALL:
1715         * NEWS:
1716         * README:
1717         * gtk+.spec:
1718         * docs/gtk-config.1: updated for v1.1.3
1719
1720         * Makefile.am
1721         * sanity_check
1722         * docs/Makefile.am: Includes new 'make release' as well as
1723           'make sanity'.  Also handles html and text creation from html,
1724           and puts them into the distribution
1725
1726         * docs/Makefile.sgml: removed, similar functionality is now in 
1727           the Makefile.am file
1728
1729         * docs/.cvsignore: ignore html and text directories
1730         * docs/glib.texi: removed (now in glib dist)
1731
1732 Fri Oct 30 20:02:36 1998  Lars Hamann  <lars@gtk.org>
1733
1734         * gtk/gtklist.c (gtk_list_remove_items_internal): 
1735         free undo_un/selection, unselect list_item before disconnect
1736         signal functions
1737         (gtk_list_destroy): removed. gtk_list_shutdown clears the list
1738         already
1739         (gtk_list_signal_item_select) (gtk_list_signal_item_deselect)
1740         (gtk_list_signal_item_toggle)   (gtk_list_signal_scroll_horizontal)
1741         (gtk_list_signal_toggle_focus_row) (gtk_list_signal_select_all)
1742         (gtk_list_signal_unselect_all) (gtk_list_signal_undo_selection)
1743         (gtk_list_signal_start_selection) (gtk_list_signal_end_selection)
1744         (gtk_list_signal_toggle_add_mode) (gtk_list_signal_scroll_vertical)
1745         (gtk_list_signal_extend_selection) (gtk_list_signal_focus_lost):
1746         new functions. These functions are signal connected to inserted
1747         list_items, to handle key bindings and GtkItem::de/select/toggle
1748         signals.
1749
1750         * gtk/gtklistitem.c (gtk_list_item_class_init): added missing
1751         gtk_object_class_add_signals call.
1752         (gtk_list_item_toggle_focus_row) (gtk_list_item_select_all)
1753         (gtk_list_item_unselect_all) (gtk_list_item_undo_selection)
1754         (gtk_list_item_start_selection) (gtk_list_item_end_selection)
1755         (gtk_list_item_extend_selection) (gtk_list_item_scroll_horizontal)
1756         (gtk_list_item_scroll_vertical) (gtk_list_item_toggle_add_mode):
1757         removed. These functions are handled via connected
1758         gtk_list_signal_* functions now
1759
1760 Fri Oct 30 05:24:43 1998  Tim Janik  <timj@gtk.org>
1761
1762         * gtk/Makefile.am: cause the built sources to be rebuild when possible,
1763         even with --include-deps:
1764         $(libgtk_la_SOURCES): $(BUILT_SOURCES)
1765
1766 Fri Oct 30 01:56:08 1998  Tim Janik  <timj@gtk.org>
1767
1768         * gtk/gtkobject.c (gtk_object_remove_no_notify): renamed from
1769         gtk_object_data_set_destroy to fit the gtkobject.h API.
1770
1771         * applied patch from Damon Chaplin <DAChaplin@email.msn.com>:
1772         * gtk/gtkfontsel.h:
1773         * gtk/gtkfontsel.c:
1774         Added support for an extra 'base' filter which an application can
1775         set to restrict the fonts available to the user (e.g. a terminal
1776         program only wants the user to be able to select fixed-width fonts).
1777         The type of font (bitmap/scalable/scaled bitmap) is now
1778         also a part of the filter, so that an application can
1779         request that only scalable fonts are shown.
1780         There are new functions to set the base & user filters.
1781         I've also stopped the up/down key press signals getting
1782         to the clists since the font selection widget handles
1783         them itself. It acted a bit strangely before.
1784
1785 Sun Oct 25 20:27:02 1998  Tim Janik  <timj@gtk.org>
1786
1787         * gtk/gtkmain.c (gtk_init): support an environment variable
1788         GTK_MODULES= which takes a colon sperated list of module names
1789         automatically loaded at gtk_init() startup.
1790
1791 Sun Oct 25 08:04:33 1998  Tim Janik  <timj@gtk.org>
1792
1793         * gtk/gtkwidget.c: added more g_return_if_fail() statements.
1794
1795 Thu Oct 22 22:40:35 1998  Lars Hamann  <lars@gtk.org>
1796
1797         * gtk/gtkctree.c (gtk_ctree_destroy): removed. gtk_clist_destroy
1798         is sufficient
1799
1800 Thu Oct 22 16:22:55 1998  Lars Hamann  <lars@gtk.org>
1801
1802         * gtk/gtkclist.c (COLUMN_FROM_XPIXEL): samll fix for invisible
1803         columns
1804
1805 Thu Oct 22 02:29:53 1998  Tim Janik  <timj@gtk.org>
1806
1807         * gtk/gtkfilesel.h: GtkType and macro fixups
1808         * gtk/gtkfilesel.c (gtk_file_selection_complete): set a pattern
1809         for the file selection widget to try a completion on (set the
1810         initial filter).
1811
1812 Wed Oct 14 14:34:04 1998  Tim Janik  <timj@gtk.org>
1813
1814         * gtk/gtkmain.c: implement idle functions via GHook. this gives a
1815         slight speed improvement and lessens code duplication.
1816
1817 Tue Oct 20 14:53:28 1998  Owen Taylor  <otaylor@redhat.com>
1818
1819         * gtk/gtkdnd.c: Always send "drag_leave" to dests
1820         without GTK_DEST_DEFAULT_MOTION. 
1821
1822 Tue Oct 20 11:55:24 1998  Owen Taylor  <otaylor@redhat.com>
1823
1824         * gdk/gdk.c (gdk_event_translate): Handle DestroyNotify
1825         on destroyed windows so we clear the XID table properly.
1826         Finish up restructure of return value handling that
1827         was half-done before.
1828
1829 Tue Oct 20 12:57:10 1998  Owen Taylor  <otaylor@redhat.com>
1830
1831         * gdk/gdk.c (gdk_send_clientmessage_to_all): Hunt
1832         the window tree more comprehensively, so that we find
1833         client windows hidden under non-toplevels.
1834
1835 Tue Oct 20 12:43:04 1998  Owen Taylor  <otaylor@redhat.com>
1836
1837         * gtk/gtkselection.c (gtk_selection_data_set): 
1838         Maintain the null-termintation guarantee, even when 
1839         data = NULL, length = 0. (Warn on data = NULL, 
1840         length > 0)
1841
1842 Mon Oct 19 16:41:44 1998  Owen Taylor  <otaylor@redhat.com>
1843
1844         * gtk/gtkwidget.h (struct _GtkWidgetClass): Add in coordinates
1845         into function prototype for drag_data_received. 
1846
1847 Tue, 20 Oct 1998 11:33:10 +0200 Paolo Molaro <lupus@debian.org>
1848
1849         * gtk/gtkdnd.h,gtk/gtkdnd.c: delete is a reserved word in c++.
1850
1851 Mon Oct 19 23:44:41 1998  Lars Hamann  <lars@gtk.org>
1852
1853         * gtk/gtkclist.c: rearranged some functions
1854         (gtk_clist_set_column_auto_resize): new function. toggle auto_resize
1855         flag of column
1856         (gtk_clist_set_column_resizeable): if resizeable disable auto_resize 
1857         (gtk_clist_set_border): deprecated function, use
1858         gtk_clist_set_shadow_type instead.
1859         (gtk_clist_set_shadow_type): replacement for gtk_clist_set_border
1860         (adjust_scrollbars): some cleanups
1861         (select_row) (unselect_row): removed. replaced by equivalent
1862         gtk_signal_emit calls
1863         (add_style_data): removed, use gtk_clist_style_set instead
1864         (gtk_clist_style_set): fill in size data, after style was set. 
1865         (set_cell_contents) (gtk_clist_set_shift) (gtk_clist_set_row_style)
1866         (gtk_clist_set_cell_style): auto_resize columns if needed
1867         (column_auto_resize): resize column if needed for auto_resize 
1868         (real_clear): disable auto_resize while list destroy
1869         (resize_column): removed
1870
1871         * gtk/gtkctree.c : (gtk_ctree_remove_node)
1872         (gtk_ctree_set_line_style) (gtk_ctree_set_expander_style)
1873         (gtk_ctree_node_set_row_style) (gtk_ctree_node_set_cell_style)
1874         (set_cell_contents) (gtk_ctree_node_set_shift) (gtk_ctree_set_spacing)
1875         (real_tree_move) (gtk_ctree_set_indent) (gtk_ctree_insert_node)
1876         (real_tree_collapse) (real_tree_expand) (column_auto_resize):
1877         auto_resize columns if needed
1878         (gtk_ctree_collapse_recursive) (gtk_ctree_collapse_to_depth)
1879         (real_clear): disable auto_resize while processing the tree
1880
1881         * gtk/testgtk.c (create_clist) (create_ctree): set auto_resize
1882         for one column
1883
1884 Mon Oct 19 08:31:36 1998  Owen Taylor  <otaylor@redhat.com>
1885
1886         * gtk/gtkdnd.c (gtk_drag_selection_received): Fixed
1887         typo - look for right atom on transfer failures.
1888
1889 Sun Oct 18 20:52:22 1998  Owen Taylor  <otaylor@gtk.org>
1890
1891         * gtk/gtkwidget.c gtkmarshal.list: Change signal 
1892         for drag_data_get to match the use that was being
1893         made of it everywhere else...
1894
1895 Sun Oct 18 18:16:39 1998  Owen Taylor  <otaylor@gtk.org>
1896
1897         * gdk/gdk.c gdkprivate.h: Added a modular client-message-filter
1898         mechanism, that is used for the DND messages.
1899
1900           Removed all the old DND code.
1901
1902         * gdk/gdkcolormap.c gdk/gdkcolormap.h: Add a function to
1903         get the visual of a given colormap.
1904         
1905         * gtk/gtkcolorsel.c: Conversion to new DND, drag 
1906         a color-swatch.
1907
1908         * gdk/gdk.h gdk/gdkdnd.c: The low-level
1909         X oriented portions of drag and drop protocols.
1910         Sending and receiving client messages, and navigating
1911         window trees.
1912
1913         * gdk/gdkimage.c: added a gdk_flush() when destroying
1914         SHM images to hopefully make it more likely that
1915         X will gracefully handle the segment being destroyed.
1916
1917         * gdk/gdkprivate.h gtk/gtkdebug.h: Add new 
1918         DND debugging flags.
1919
1920         * gtk/gtkeditable.[ch]: Updates for the selection handling
1921         changes.
1922         
1923         * gtk/gtkselection.[ch]: Added GtkTargetList, a 
1924         refcounted data structure for keeping track of lists
1925         of GdkAtom + information. Removed selection_handler_add
1926         in favor of a "drag_data_get" signal.
1927
1928         * gtk/gtkdnd.[ch] gtk/gtk.h: New files - highlevel (event loop
1929         dependent) parts of the DND protocols, display of drag icons,
1930         drag-under highlighting, and the "default handlers".
1931
1932         * gtk/gtkinvisible.[ch]: New widget - InputOnly offscreen
1933         windows that are used for reliable pointer grabs and
1934         selection handling in the DND code.
1935
1936         * gtk/testdnd.c: New test program for new DND. (Old
1937         DND tests in testgtk still need to be converted.)
1938
1939         * gtk/testselection.c: Use the new selection API.
1940         
1941         * docs/dnd_internals: Start at describing how
1942         all the new code works inside.
1943
1944         * docs/Changes-1.2.txt: New file describing source-incompatible
1945         changes in GTK+-1.2.
1946
1947 Sat Oct 17 22:50:34 1998  Owen Taylor  <otaylor@gtk.org>
1948
1949         * gdk/gdkwindow.c (gdk_window_remove_filter): Free
1950         the right list node.
1951
1952         * gdk/gdkwindow.c (gdk_window_init): Add gdk_root_parent
1953         to the XID table so we can receive events on it.
1954
1955 Wed Oct 14 12:57:40 1998  Owen Taylor  <otaylor@redhat.com>
1956
1957         * gdk/gdk.c gdk/gdk.h (gdk_event_get_time): New function
1958         to get the timestamp from a generic event.
1959
1960 Fri Oct  9 13:16:04 1998  Owen Taylor  <otaylor@redhat.com>
1961
1962         * gtk/gtkwidget.c (gtk_widget_add_events): Added function
1963         that safely adds additional events to a widget's event 
1964         mask, even if the widget has previously been realized.
1965         (We can do this, but not remove events from the event
1966          mask).
1967
1968 Fri Oct  2 17:35:35 1998  Owen Taylor  <otaylor@redhat.com>
1969
1970         * gdk/gdkproperty.c (gdk_property_get): Allow type == 0,
1971         for AnyPropertyType.
1972
1973 Fri Oct  2 10:32:21 1998  Owen Taylor  <otaylor@redhat.com>
1974
1975         * gdk/gdkproperty.c (gdk_atom_intern): Add client-local
1976         hashing.
1977
1978 Thu Sep 24 20:33:54 1998  Owen Taylor  <otaylor@redhat.com>
1979
1980         * gdk/gdk.c (gdk_event_send_clientmessage_toall): serial
1981         isn't a timestamp.
1982
1983 Thu Sep 17 14:23:03 1998  Owen Taylor  <otaylor@redhat.com>
1984
1985         * gdk/gdk.c (gdk_event_translate): Removed printing
1986         of unknown window lookup warnings. (Made it
1987         a GDK_NOTE) - they happen in many circumstances.
1988
1989 Tue Sep  8 12:38:43 1998  Owen Taylor  <otaylor@redhat.com>
1990
1991         * Call XFilterEvent() on events we get for unknown
1992         windows, since it may be the window Xlib uses to
1993         communicate with the IM. 
1994         (From Yung-Ching Hsiao <yhsiao@cae.wisc.edu>)
1995
1996 Tue Sep  1 10:53:52 1998  Owen Taylor  <otaylor@redhat.com>
1997
1998         * gtk/gtkprogress.c (gtk_progress_finalize): Unref
1999         the adjustment.
2000
2001 Thu Aug 27 12:03:14 1998  Owen Taylor  <otaylor@redhat.com>
2002
2003         * gtk/gtksignal.c (gtk_signal_newv): Improve warning
2004         message for return_value + GTK_RUN_FIRST.
2005
2006 1998-10-18  Martin Baulig  <martin@home-of-linux.org>
2007
2008         * gtk/gtktext.c (gtk_text_set_line_wrap): new function to toggle
2009         line wrapping like gtk_text_set_word_wrap () toggles word wrapping.
2010
2011 Fri Oct 16 15:59:02 1998  Lars Hamann  <lars@gtk.org>
2012
2013         * gtk/testgtk.c (insert_row_clist) (create_clist): change a few cell
2014         styles of inserted row
2015         (change_style): change style of focus_row
2016
2017         * gtk/gtkclist.c (gtk_clist_get_row_style) (gtk_clist_set_row_style)
2018         (gtk_clist_get_cell_style) (gtk_clist_set_cell_style): new functions
2019         to set/get row/cell styles.
2020         (gtk_clist_realize): attach row and cell style, allocate row colors.
2021         (gtk_clist_unrealize): detach row and cell styles.
2022         (get_cell_style): new function. get correct cell style.
2023         (draw_cell_pixmap): new function. 
2024         (draw_row): draw cells with row or cell styles.
2025         (row_new): set cell and row styles to NULL.
2026         (row_delete): detach & unref cell and row styles.
2027
2028         * gtk/gtkctree.c (ctree_detach_styles) (ctree_attach_styles): 
2029         new functions to attach/detach styles and allocate colors.
2030         (gtk_ctree_realize) (gtk_ctree_unrealize): attach/detach cell and row
2031         styles of invisible nodes.
2032         (draw_cell_pixmap): new function. 
2033         (get_cell_style):  new function. get correct cell style.
2034         (gtk_ctree_draw_expander): new function. draw tree expander.
2035         (gtk_ctree_draw_lines): new function.draw tree lines.
2036         (draw_row): draw cells with row or cell styles.
2037         (row_new): set cell and row styles to NULL.
2038         (row_delete): detach & unref cell and row styles.
2039         (gtk_ctree_node_get_row_style) (gtk_ctree_node_set_row_style) 
2040         (gtk_ctree_node_get_cell_style) (gtk_ctree_node_set_cell_style): 
2041         Analogons of GtkCList functions 
2042         (gtk_ctree_set_spacing): new function. set spacing between
2043         tree expander and cell contents
2044         (gtk_ctree_set_expander_style): new function. set expander style
2045         of ctree.
2046         (ctree_is_hot_spot): few changes due to draw_row modifications.
2047
2048 Wed 14 Oct 1998 10:17:13 +0200 Paolo Molaro <lupus@debian.org>
2049
2050         * gtk/gtkcombo.c: try completion on MOD1-TAB.
2051         Handle case when the combo->list is empty.
2052
2053 Mon Oct 12 07:51:34 1998  Tim Janik  <timj@gtk.org>
2054
2055         * gtk/gtksignal.c (gtk_signal_handlers_destroy): only unref those
2056         handlers that have not yet been disconnected (finally managed to
2057         trigger the gtk_signal_handler_unref() paranoid warning).
2058
2059 Sat Oct 10 03:37:50 1998  Tim Janik  <timj@gtk.org>
2060
2061         * gtk/gtkwidget.c (gtk_widget_get_arg): fixed default value for x, y,
2062         width and height which is -1 and not -2.
2063
2064 Sat Oct 10 00:50:53 PDT 1998 Manish Singh <yosh@gimp.org>
2065
2066         * HACKING
2067         * autogen.sh: we need libtool 1.2b now
2068
2069 Sat Oct 10 03:37:50 1998  Tim Janik  <timj@gtk.org>
2070
2071         * gtk/gtktable.c (gtk_table_set_child_arg): take the left, right, top
2072         and bottom attach arguments as mandatory and readjust the table size
2073         and opposing edge accordingly if required. this way the order in which
2074         the arguments are set doesn't matter.
2075
2076 Thu Oct  8 15:53:59 1998  Owen Taylor  <otaylor@redhat.com>
2077
2078         * gtk/gtktypeutils.c (gtk_type_class_init): Fixed warning
2079         message to print out parent class name correctly.
2080
2081 Thu Oct  8 07:07:10 1998  Tim Janik  <timj@gtk.org>
2082
2083         * gtk/gtkobject.h: 
2084         * gtk/gtkobject.c:
2085         removed functions gtk_object_set_data_destroy and
2086         gtk_object_set_data_destroy_by_id.
2087         added functions gtk_object_remove_no_notify and
2088         gtk_object_remove_no_notify_by_id which will remove a certain data
2089         portion without invokation of its destroy notifier, this should only
2090         be used in very controled circumstances.
2091
2092 Wed Oct  7 23:59:37 1998  Lars Hamann  <lars@gtk.org>
2093
2094         * gtk/gtkclist.c (gtk_clist_set_column_resizeable): added
2095         size_allocate_title_buttons call
2096         (gtk_clist_realize): changed initial column.window position
2097
2098 Wed Oct  7 20:27:28 1998  Lars Hamann  <lars@gtk.org>
2099
2100         * gtk/gtkctree.h (struct _GtkCTree): removed xor_gc, use clists
2101         xor_gc instead
2102         * gtk/gtkctree.c (create_xor_gc): removed
2103         (gtk_ctree_button_press): set correct line_attributes for
2104         clist->xor_gc on drag start
2105         (gtk_ctree_button_release): reset clist->xor_gc
2106
2107 Wed Oct  7 05:15:36 1998  Tim Janik  <timj@gtk.org>
2108
2109         * gtk/gtk*.h:
2110         * gdk/gdk.h: removed all occourances of #pragma } and #pragma {
2111         which were in place to fixup emacs' cc-mode indentation.
2112         putting (c-set-offset 'inextern-lang 0) into ~/.emacs is the
2113         proper way to achive this and doesn't produce problems for
2114         stupid pragma-related compiler bugs. ;)
2115
2116 Wed Oct  7 00:59:46 1998  Lars Hamann  <lars@gtk.org>
2117
2118         * gtk/gtkclist.h: new signal GtkCList::resize_column.
2119         * gtk/gtkclist.c (draw_row): don't draw invisible columns
2120         (size_allocate_title_buttons) (size_allocate_columns):
2121         skip invisible columns
2122         (new_column_width): take min/max_width into account 
2123         (gtk_clist_button_release) (gtk_clist_motion):
2124         changes due to changed new_column_width function
2125         (LIST_WIDTH): changed define to inline function.
2126         (real_resize_column): class function for resize_column signal
2127         (gtk_clist_motion): fixed autoscrolling for column resizes
2128         (gtk_clist_set_column_visibility): don't hide last visible column,
2129         changed visible arg to gboolean
2130         (gtk_clist_set_column_min_width)(gtk_clist_set_column_max_width):
2131         new functions : set min/max width of a column
2132         (gtk_clist_set_column_resizeable): new function : enable/disable
2133         column resize operations by mouse
2134
2135         * gtk/gtkctree.c (draw_row): don't draw invisible columns
2136         (ctree_is_hot_spot): return FALSE if tree_column is invisible
2137         (draw_xor_line)  (draw_xor_rect): draw full rectangle/line if
2138         tree_column is invisible
2139         (gtk_ctree_find_all_by_row_data)
2140         (gtk_ctree_find_all_by_row_data_custom):  new function from
2141         Ronan Bourlier <ronan@radioss.com>. Returns a GList of all
2142         GtkCTreeNodes with row->data == data.
2143
2144 Tue Oct  6 14:05:00 1998  Tim Janik  <timj@gtk.org>
2145
2146         * gtk/testgtk.c (cb_tree_destroy_event): use g_free to free g_malloced
2147         memory (Martin Pool <mbp@wistful.humbug.org.au>).
2148
2149 Mon Oct  5 15:26:30 1998  Raph Levien  <raph@gimp.org>
2150
2151         * gdk/gdkrgb.c (gdk_rgb_convert_0888_br): Fixed a few long's that
2152         should have been guint32. Thanks to Tristan Colgate for finding it.
2153
2154 Sun Oct  4 22:47:22 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2155
2156         * gtk/gtkcalendar.h:
2157           gtk/gtkcalendar.c: More changes:
2158           - The day with focus is now seperated from the day selected
2159           - The day with focus has the xor's line around it
2160           - The selected day is now standard selected style
2161           - The week names and week numbers are now also drawn
2162             with selected style
2163           - Space now selects the day which has focus
2164
2165 Sun Oct  4 17:55:52 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2166
2167         * gtk/gtkcalendar.h:
2168           gtk/gtkcalendar.c: Some significant changes, including:
2169           - No longer draw focus around entire widget, only around
2170             the day which has focus
2171           - Draw relief around entire widget like originally planned
2172           - Show header and day names by default 
2173           - Move data private to the widget out of GtkCalendar struct
2174             and only point to it with a gpointer
2175           - Remove some old unused variables from GtkCalendar struct
2176
2177 Sun Oct  4 17:45:43 BST 1998  Tony Gale  <gale@gtk.org>
2178
2179         * docs/gtk_tut.sgml: update I've had sat around:
2180           - Grammar patch from James R. Van Zandt <jrv@vanzandt.mv.com>
2181           - Range Widget update from David Huggins-Daines <bn711@freenet.carleton.ca>
2182           - New Toolbar section from Jacek Wojdel <J.C.Wojdel@cs.tudelft.nl>
2183
2184 1998-10-01  Martin Baulig  <martin@home-of-linux.org>
2185
2186         * gtk/gtkclist.h (GtkCListColumn): Added `visible'.
2187         
2188         * gtk/gtkclist.c (gtk_clist_set_column_visibility): New function.
2189         Makes it possible to individually show and hide columns.
2190         (size_allocate_columns): Adapted to keep track of hidden columns.
2191         (size_allocate_title_buttons): Likewise.
2192
2193 Sat Oct  3 17:54:48 1998  Tim Janik  <timj@gtk.org>
2194
2195         * gtk/gtkargcollector.c (GTK_ARG_COLLECT_VALUE): for unknown foreign
2196         fundamental types, collect an argument of the type returned from
2197         gtk_type_get_varargs_type(). removed the first macro argument which
2198         was just the same as the fundamental type of the *arg passed to
2199         the macro.
2200         * gtk/gtkarg.c (gtk_args_collect): 
2201         * gtk/gtksignal.c (gtk_signal_collect_params): changed callers.
2202
2203         * gtk/gtktypeutils.h: 
2204         * gtk/gtktypeutils.c: new functions gtk_type_set_varargs_type() and
2205         gtk_type_get_varargs_type() to set and query the varargs collect
2206         type used for a fundamental type, registered outside of Gtk.
2207
2208         * gtk/gtkmisc.c (gtk_misc_class_init): changed object arguments
2209         GtkMisc::xalign and GtkMisc::yalign from GTK_TYPE_DOUBLE to
2210         GTK_TYPE_FLOAT.
2211
2212         * gtk/gtkframe.c (gtk_frame_class_init): changed object arguments
2213         GtkFrame::label_xalign and GtkFrame::label_yalign from GTK_TYPE_DOUBLE
2214         to GTK_TYPE_FLOAT.
2215
2216 Sat Oct  3 01:25:24 1998  Lars Hamann  <lars@gtk.org>
2217
2218         * gtk/gtkctree.c (gtk_ctree_insert_gnode) (real_tree_collapse)
2219         (gtk_ctree_link) (gtk_ctree_unlink) (real_tree_expand): 
2220         fixes for assignment errors with GTK_CTREE_NODE_NEXT/PREV
2221
2222         (real_tree_expand) (real_tree_collapse):
2223         don't expand/collapse a leaf
2224
2225 Fri Oct  2 16:10:36 1998  Tim Janik  <timj@gtk.org>
2226
2227         * gtk/gtktypeutils.c (gtk_type_enum_find_value): make sure we don't
2228         segfault when looking up a non-existant value name (reported by
2229         Pablo <pcj+gtk@primenet.com>).
2230
2231 Thu Oct  1 10:40:20 1998  Tim Janik  <timj@gtk.org>
2232
2233         * gtk/gtkclist.h (gtk_clist_prepend):
2234         * gtk/gtkclist.c (gtk_clist_prepend): new function.
2235         (gtk_clist_insert): added g_return_val_if_fail()
2236         statements. accept a row parameter < 0 or > clist->rows to indicate
2237         append mode.
2238         (real_clear): first clean up all internal pointers and lists (e.g.
2239         clist->row_list or clist->rows), then delete the distinct rows. this
2240         is required because of destroy notifiers, we need to have all internal
2241         structures updated and be reentrant.
2242
2243         * gtk/gtkcalendar.h: 
2244         * gtk/gtkcalendar.c: removed the `gtk_calendar_' prefix from the
2245         GtkCalendarClass signal methods.
2246         GtkType and macro fixups, put `void' into () prototypes, avoid C++
2247         style comments, indentation fixes, fixed some g_return_if_fail()
2248         statements.
2249         (gtk_calendar_paint_header):
2250         (gtk_calendar_paint_day_names): 
2251         (gtk_calendar_paint_week_numbers): 
2252         (gtk_calendar_paint_main): made these static functions.
2253         (gtk_calendar_select_month):
2254         (gtk_calendar_select_day):
2255         (gtk_calendar_mark_day):
2256         (gtk_calendar_unmark_day):
2257         (gtk_calendar_get_date): signedness corrections, use guints
2258         rather than gints.
2259         (gtk_calendar_size_request): removed unused variables.
2260
2261 Wed Sep 30 13:11:09 1998  Tim Janik  <timj@gtk.org>
2262
2263         * gtk/gtkitemfactory.c (gtk_item_factory_add_item): list all
2264         widgets in the ->widgets_by_action list that have a callback
2265         defined (not only those with a callback_action!=0).
2266
2267 Sun Sep 27 22:02:48 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2268
2269         * gtk/gtkcalendar.h:
2270           gtk/gtkcalendar.c:
2271           examples/calendar/gcalendar.c: remove HAVE_FEATURES stuff
2272
2273 Sun Sep 27 02:18:06 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2274
2275         * gtk/gtkcalendar.h:
2276           gtk/gtkcalendar.c:
2277           examples/calendar: Added gtkcalendar widget and demo
2278
2279 Sat Sep 26 06:15:34 1998  Tim Janik  <timj@gtk.org>
2280
2281         * gtk/gtkclist.c (gtk_clist_sort): 
2282         (gtk_clist_clear): 
2283         (gtk_clist_unselect_all): 
2284         (gtk_clist_select_all): adde g_return_if_fail() statements.
2285
2286 Sat Sep 26 04:46:22 1998  Tim Janik  <timj@gtk.org>
2287
2288         * configure.in: set binary age and interface age to 0.
2289
2290         * gtk/gtkspinbutton.h: 
2291         * gtk/gtkspinbutton.c: changed gtk_spin_button_construct to
2292         gtk_spin_button_configure. gtk_spin_button_construct is still defined
2293         as an alias for gtk_spin_button_configure for source compatibility,
2294         but actuall use is deprecated.
2295         typeness corrections, i.e. gint->gboolean and gint->guint.
2296         added object arguments: GtkSpinButton::value, GtkSpinButton::wrap,
2297         GtkSpinButton::shadow_type, GtkSpinButton::update_policy,
2298         GtkSpinButton::numeric, GtkSpinButton::snap_to_ticks,
2299         GtkSpinButton::adjustment, GtkSpinButton::digits and
2300         GtkSpinButton::climb_rate.
2301         GtkType and macro fixups.
2302
2303 Sat Sep 25 23:33:55 1998  Tim Janik  <timj@gtk.org>
2304
2305         * gdk/gdkwindow.c (gdk_window_get_root_origin): new function to get
2306         the *real* geometry position of a window, taken possible window
2307         manager offsets into account.
2308         this has been succesfully tested with fvwm, fvwm-2, bowman, olwm,
2309         olvwm, twm, ctwm, mlvwm, windowmaker and enlightenment.
2310         it does fail though for amiwm which adds windows to a pseudo root
2311         window, and for icewm by a small offset because it defines the
2312         geometry position whithin its border.
2313
2314         * gtk/testgtk.c: added "saved position" test to figure how
2315         gdk_window_get_root_origin() interacts with window managers (repopup
2316         this window to figure ;).
2317
2318 Wed Sep 23 06:09:19 1998  Tim Janik  <timj@gtk.org>
2319
2320         * configure.in: update to Gtk+ version 1.1.3, binary age 1,
2321         interface age 1.
2322
2323         * gtk/gtkobject.c
2324         (gtk_object_ref): 
2325         (gtk_object_unref): check for ->ref_count to be greater than 0 (the
2326         existing code was buggy in letting ->ref_count==0 pass through and
2327         then failing the living_objs_ht assertion).
2328
2329         * gtk/gtkclist.c (draw_row): fix chopping bug for right justified
2330         pixtext fields (Roman Pozlevich <roma@botik.ru>).
2331
2332 Mon Sep 21 23:53:18 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2333
2334         * Released GTK+ 1.1.2
2335
2336 Mon Sep 21 01:12:44 1998  Jay Cox  (jaycox@earthlink.net)
2337
2338         * gtk/Makefile.am: use $(PERL) instead of perl
2339         * gtk/gtkcolorsel.c: render properly in non-square aspect ratios.
2340         also much faster to render.
2341
2342 Mon Sep 21 07:44:30 1998  Tim Janik  <timj@gtk.org>
2343
2344         * gtk/gtkobject.c (gtk_object_class_add_signals): reallocate
2345         the required memory block, rather than allocating it newly from
2346         scratch and doing a full-blown block copy on it.
2347
2348 Mon Sep 21 02:30:06 1998  Tim Janik  <timj@gtk.org>
2349
2350         * NEWS file update for upcoming release of Gtk+ version 1.1.2,
2351         binary age 0, interface age 0.
2352
2353         * gtk/gtkmain.c (gtk_init): enforce gtk-modules to always be resident.
2354
2355 Sun Sep 20 18:21:46 1998  Owen Taylor  <otaylor@redhat.com>
2356
2357         * ltmain.sh: Patch to libtool-1.2b to make --disable-static
2358         work.
2359
2360 Sun Sep 20 09:52:39 1998  Owen Taylor  <otaylor@gtk.org>
2361
2362         * HACKING: indent other than GNU indent should be OK
2363           now.
2364
2365         * gtk/genmarshal.pl gtk/Makefile.am: Call indent on file
2366           instead of piping through indent. If indent wasn't
2367           found in ./configure don't bother indenting at 
2368           all.
2369
2370 Fri Sep 18 19:11:10 1998  Owen Taylor  <otaylor@redhat.com>
2371
2372         * gdk/gdk.h: Add names to prototype for gdk_image_new_bitmap.
2373
2374 Fri Sep 18 18:54:59 1998  Jay Cox  (jaycox@earthlink.net)
2375
2376         * gtk/Makefile.am: use $(AWK) instead of awk
2377
2378 1998-09-18  Raja R Harinath  <harinath@cs.umn.edu>
2379
2380         * gtk/Makefile.am (gdk_headers): 
2381         Remove references to $(top_srcdir). 
2382         (gtk.defs, gtktypebuiltins{.h,_vars.c,_ids.c,_evals.c}): Simplify.
2383         * gtk/makeenums.pl (parse_entries): Don't look for $srcdir.
2384
2385 Fri Sep 18 19:58:24 1998  Tim Janik  <timj@gtk.org>
2386
2387         * gtk/gtkobject.h (struct _GtkObject): changed gpointer object_data; to
2388         GData*object_data to cure compiler warnings.
2389
2390 Thu Sep 17 19:06:47 PDT 1998 Manish Singh <yosh@gimp.org>
2391
2392         * install-sh
2393         * missing
2394         * mkinstalldirs: updated to latest automake version
2395
2396 1998-09-17  Raja R Harinath  <harinath@cs.umn.edu>
2397
2398         * gtk/Makefile.am (source_headers): Move `gtkfeature.h' ...
2399         (gtkinclude_HEADERS): ... here.
2400         (gtk.defs): Pass `g' flag to sed, to replace all occurances.
2401
2402 Thu Sep 17 10:49:51 1998  Raph Levien  <raph@gimp.org>
2403
2404         * HACKING: added GNU indent, as it is now required to successfully
2405         build gtk+. Should this be detected in autoconf, possibly?
2406
2407 Tue Sep 15 14:57:30 1998  Owen Taylor  <otaylor@redhat.com>
2408
2409         * Makefile.am gtk-config.in l*: Update to libtool-1.2b,
2410         change library versioning scheme to drop LT_RELEASE
2411         from the -l line, while keeping it in the soname.
2412
2413 Tue Sep 15 14:10:33 1998  Owen Taylor  <otaylor@redhat.com>
2414
2415         * configure.in Makefile.in: define a MAINT-like variable REBUILD
2416         which is set if Perl and awk are found, and autogenerated sources
2417         can be rebuilt. Remove the auto-generated sources from
2418         CVS. 
2419
2420         Add dependencies so that the autogenerated sources are 
2421         rebuilt if the files they depend on change. 
2422         (This unfortunately currently results in the entire
2423         gtk/ directory being rebuilt when any header changes.
2424         Moving all enums to gtkenums.h would fix this.)
2425
2426 Thu Sep 17 05:12:48 1998  Tim Janik  <timj@gtk.org>
2427
2428         * gtk/gtkobject.h: added gtk_object_set_data_destroy and
2429         gtk_object_set_data_destroy_by_id functions to set the destroy
2430         function pointer for an existing data portion.
2431
2432         * gtk/gtkobject.c: removed the GtkObjectData implementation and
2433         made all gtk_object_*data* functions use the GLib equivalents.
2434
2435 1998-09-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2436
2437         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): Test whether type
2438         is not equal to GTK_TOOLBAR_CHILD_RADIOBUTTON before checking that
2439         (widget != NULL), otherwise radio button insertion will not work
2440         -- the widget argument is NULL for the first radio button in the
2441         group.
2442
2443 Tue Sep 15 13:09:24 1998  Owen Taylor  <otaylor@redhat.com>
2444
2445         * gdk/gdkimage.c (gdk_image_new): Reverted global changes
2446         of g_new to malloc(), added back in the one place where
2447         it actually mattered. #include <stdlib.h>.
2448
2449         * gdk/gdkrgb.c: g_malloc() to malloc() as above.
2450
2451 Tue Sep 15 11:30:03 1998  Owen Taylor  <otaylor@redhat.com>
2452
2453         * gtk/gtkfilesel.c: Keep a list of directories in which we never
2454         want to stat the entries (like /afs), and assume everything in
2455         those directories is a subdirectory.
2456
2457         - When following a path, try to open components even when
2458         we don't find them in their parent's directory to
2459         support automounters.
2460
2461 Tue Sep 15 11:06:13 1998  Owen Taylor  <otaylor@redhat.com>
2462
2463         * gtk/gtkwindow.c (gtk_window_move_resize): Don't request
2464         a new size from the WM if we asked for the same size
2465         before and our request was rejected.
2466
2467         * gtk/gtkwindow.c (gtk_window_configure_event): If
2468         in response to a request, we get a configure event
2469         with unchanged dimensions, send a synthetic expose
2470         since ForgetGravity won't expose our window.
2471
2472 Mon Sep 14 14:28:24 1998  Owen Taylor  <otaylor@redhat.com>
2473
2474         * gtk/gtktext.c (adjust_adj): Change the way we
2475         set the adjustments on resize so that it tries to
2476         keep the beginning of the text in approximately
2477         the same place. 
2478
2479         Removed assertion that the above change made invalid.
2480
2481 Thu Sep 10 22:19:35 1998  Owen Taylor  <otaylor@redhat.com>
2482
2483         * gtk/gtktext.c: - Save first_cut_pixels when switching
2484         sizes, so that if we switch to the _same_ size,
2485         we don't move lines around.
2486
2487         - Make sure that the text area always has a size of at
2488         least 1x1, then do all computations when realized.
2489
2490         - When fetching lines in recompute_geometry, make
2491         sure we fetch enough lines to cover the screen.
2492         
2493 Mon Sep 14 21:47:35 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2494
2495         * gdk/gdkimage.c: changed g_new()s to malloc()s and 
2496           g_free()s to free()s to avoid mixing g_new()s with 
2497           free()s.  X itself uses free() on some of the 
2498           malloced memory.
2499
2500 Sat Sep 12 10:44:06 1998  Owen Taylor  <otaylor@redhat.com>
2501
2502         * gtkfilesel.c: Maintain a list of directories like
2503         /afs we know contain only directories, and avoid
2504         stat'ing files in those directories. (Because
2505         stat'ing all files in /afs is extremely expensive)
2506
2507         To support automounters, try to open directories,
2508         even if we couldn't find them when reading their
2509         parent directory.
2510
2511 Thu Sep  3 10:29:03 1998  Owen Taylor  <otaylor@redhat.com>
2512
2513         * gtk.m4: Conditionalize check for GTK_MAJOR_VERSION,
2514         to allow the same gtk.m4 to work for 1.0.x and
2515         1.1.x.
2516
2517 Fri Sep 11 15:25:10 1998  Lars Hamann  <lars@gtk.org>
2518
2519         * gtk/gtkclist.c (gtk_clist_set_selectable): new function
2520         to set/unset the selectable flag of a single row.
2521         (gtk_clist_get_selectable): new function 
2522         to get the state of the selectable flag
2523
2524         * gtk/gtkctree.c (gtk_ctree_node_set_selectable)
2525         (gtk_ctree_node_get_selectable): clist analogons
2526         
2527 Thu Sep 10 17:04:03 1998  Raph Levien  <raph@gimp.org>
2528
2529         * gtk/testrgb.c (testrgb_rgb_test): Small changes to the test
2530         pattern.
2531
2532         * gdk/gdkrgb.c (gdk_rgb_convert_gray4_pack): Fixed some alignment
2533         bugs in the 4bit gray cases.
2534
2535 Wed Sep  9 02:48:44 PDT 1998 Manish Singh <yosh@gimp.org>
2536
2537         * configure.in: added -posix check for NeXTStep
2538
2539         * gtk/testthreads.c: applied part of gtk-joke-980907-0 to use
2540         a unique buffer for each thread.
2541
2542         * docs/gtk-config.1: clarified copyright
2543
2544 Tue Sep  8 05:19:51 1998  Tim Janik  <timj@gtk.org>
2545
2546         * gdk/gdk.c (gdk_init): use g_atexit() instead of ATEXIT.
2547
2548         * gtk/gtkmain.c (gtk_init): use g_atexit() instead of ATEXIT.
2549
2550         * gtk/gtkobject.c (gtk_object_init_type): use g_atexit() instead of
2551         ATEXIT.
2552         
2553         * ltconfig: use GLib's ltconfig which honours lcc.
2554
2555 Mon Sep  7 20:09:23 PDT 1998 Manish Singh <yosh@gimp.org>
2556
2557         * configure.in: comment the -std1 check and save LIBS properly
2558
2559 Sun Sep  6 12:36:23 PDT 1998 Manish Singh <yosh@gimp.org>
2560
2561         * gtk/testrgb.c: #include <stdlib.h>
2562
2563 Sat Sep  5 16:01:19 1998  Owen Taylor  <otaylor@gtk.org>
2564
2565         * gdk/gdkinputxfree.h gdk/gdk.c gdk/gdkinputgxi.h:
2566         When the pointer is grabbed on an input window,
2567         either explicitely, or through press-grab, and
2568         then grabbed on a non-input window, ungrab the
2569         devices.
2570
2571 Sat Sep  5 07:13:19 1998  Tim Janik  <timj@gtk.org>
2572
2573         * gtk/gtktypeutils.h: don't include any gdk headers.
2574         added structure definitions for GtkTypeObject and GtkTypeClass,
2575         which cover the very basic fields of GtkObject and GtkObjectClass,
2576         which are actually used by the type system.
2577         
2578         * gtk/gtktypeutils.c: don't include gtkobject.h or gtkcontainer.h,
2579         we only refer to our own structures. improved class inheritance
2580         sanity checking a bit.
2581
2582         * gtk/gtkobject.h: placed appropriate comments at the beginnings
2583         of the GtkObject and GtkObjectClass structures, which explain
2584         their relationship to GtkTypeObject and GtkTypeClass.
2585
2586         * gtk/gtktypeutils.h:
2587         * gtk/gtkobject.h:
2588         moved GTK_STRUCT_OFFSET(), GTK_CHECK_CAST(), GTK_CHECK_CLASS_CAST(),
2589         GTK_CHECK_TYPE() and GTK_CHECK_CLASS_TYPE() macro definitions from
2590         gtkobject.h to gtktypeutils.h.
2591
2592         * gtk/gtkobject.h:
2593         * gtk/gtkobject.c:
2594         removed gtk_object_check_cast() and gtk_object_check_class_cast()
2595         functions. to keep source compatibility, we can provide macro aliases
2596         for the corresponding gtk_type_* functions. but then again, people
2597         shouldn't have been using these functions anyways since they were part
2598         of Gtk's internal API.
2599
2600         * gtk/gtktypeutils.h:
2601         * gtk/gtktypeutils.c:
2602         implemented gtk_type_check_object_cast() and gtk_type_check_class_cast()
2603         functions to check GtkTypeObject and GtkTypeClass types.
2604
2605 Thu Sep  3 07:16:54 1998  Tim Janik  <timj@gtk.org>
2606
2607         * gtk/gtkctree.h:
2608         * gtk/gtkctree.c: `const' fixups.
2609
2610         * gtk/gtkclist.h:
2611         * gtk/gtkclist.c: `const' fixups and some coding style adaptions.
2612
2613         * gtk/gtkctree.c (gtk_ctree_insert_node): don't dereference *text
2614         if it is passed as NULL.
2615
2616 Wed Sep  2 22:41:40 1998  Raph Levien  <raph@gimp.org>
2617
2618         * gdk/gdkrgb.c (gdk_rgb_select_conv): Fixed 32bpp image depth
2619         big-endian cases. Added a 4bpp packed gray mode (somewhat
2620         incorrectly hardwired to MSB), which should take care of
2621         Stric's hardware.
2622
2623 Thu Sep  3 04:45:57 1998  Tim Janik  <timj@gtk.org>
2624
2625         * gtk/gtkaccelgroup.c (gtk_accel_group_add): plug another small
2626         GtkSIgnalQuery leak.
2627
2628 Thu Sep  3 04:22:20 1998  Tim Janik  <timj@gtk.org>
2629
2630         * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current):
2631         GTK_MENU_DIR_CHILD: check for the existance of
2632         menu_shell->active_menu_item before accessing its child.
2633         GTK_MENU_DIR_PREV:
2634         GTK_MENU_DIR_NEXT: if we haven't had an active item and still
2635         don't, make a default selection.
2636
2637 Wed Sep  2 00:28:58 1998  Tim Janik  <timj@gtk.org>
2638
2639         * gtk/gtkwidget.c (gtk_widget_propagate_state): iterate
2640         the children with _forall for sensitivity changes and with
2641         _foreach on pure state changes. this fixes a lot of the
2642         old inclusions of internal widgets into _foreach calls.
2643
2644         * gtk/gtktree.c: removed gtk_tree_foreach, let gtk_tree_forall
2645         do the work. don't walk the subtrees of first level children.
2646
2647         * gtk/gtktreeitem.c: provide a _forall implementation,
2648         which walks the subtrees as well for include_internals.
2649
2650         * gtk/gtkmenuitem.c: provide a _forall implementation, which walks
2651         the submenus as well for include_internals.
2652
2653         * gtk/gtkscrolledwindow.c: removed gtk_scrolled_window_foreach and
2654         implemented gtk_scrolled_window_forall, which will iterate over
2655         the viewport and the scrollbars for gtk_container_forall or
2656         iterate over the viewports children for gtk_container_foreach.
2657
2658         * gtk/gtktoolbar.c: 
2659         * gtk/gtktable.c: 
2660         * gtk/gtkpaned.c:
2661         * gtk/gtkpacker.c:
2662         * gtk/gtkmenushell.c: 
2663         * gtk/gtklist.c: 
2664         * gtk/gtkfixed.c:
2665         * gtk/gtkclist.c:
2666         * gtk/gtkbox.c: 
2667         * gtk/gtkbin.c: 
2668         * gtk/gtknotebook.c:
2669         removed the old gtk_*_foreach functions and provided gtk_*_forall.
2670
2671         * gtk/gtknotebook.c:
2672         (gtk_notebook_real_switch_page): expose tabs.
2673         (gtk_notebook_page_num): new function to return the page number
2674         of a distinct child.
2675         (gtk_notebook_focus): minor fixups. foxus handling is still screwed
2676         under some circumstances.
2677
2678         * gtk/gtktreeitem.c:
2679         (gtk_real_tree_item_select):
2680         (gtk_real_tree_item_deselect): major fixes.
2681         some general fixups wrt queue_redraw, and tree items not being
2682         NO_WINDOW widgets.
2683
2684         * gtk/gtklistitem.c:
2685         (gtk_real_list_item_select): 
2686         (gtk_real_list_item_deselect): 
2687         (gtk_real_list_item_toggle): 
2688         removed unneccessary queue_redraw calls.
2689
2690 Wed Aug 30 09:42:07 1998  Tim Janik  <timj@gtk.org>
2691
2692         * gtk/gtkoptionmenu.c: allow optionmenus to have the focus and
2693         automatically popup the menu on space bar.
2694
2695 Wed Aug 26 06:40:34 1998  Tim Janik  <timj@gtk.org>
2696
2697         * gtk/gtkcontainer.h:
2698         * gtk/gtkcontainer.c: implemented gtk_container_forall() (as a class
2699         method), which acts similar to gtk_container_foreach(), but iterates
2700         over internal children. the GtkContainer::foreach signal vanished in
2701         favour of a new class method ->forall() that optionally includes
2702         internal widgets.
2703
2704         * gtk/gtkclist.c (gtk_clist_init): provide no _foreach implementation
2705         but a _forall implementation, since all child widgets we have are
2706         internal ones.
2707         (column_button_create): set the parent window prior
2708         to gtk_widget_set_parent().
2709
2710         * gtk/gtkwidget.c:
2711         exchanged all calls to gtk_container_foreach() with
2712         gtk_container_forall().
2713
2714         * gtk/gtkwidget.h: 
2715         * gtk/gtkwidget.c: added the GTK_COMPOSITE_CHILD, exported through
2716         the GtkWidget::composite_child argument. to have a widget created
2717         with the flag initially, two new functions got added to wrap a widgets
2718         creation:
2719         gtk_widget_push_composite_flag() and gtk_widget_pop_composite_flag().
2720
2721 Wed Aug 25 23:37:39 1998  Tim Janik  <timj@gtk.org>
2722
2723         * gtk/gtktooltips.h:
2724         * gtk/gtktooltips.c: exported gtk_tooltips_create_window() as
2725         gtk_tooltips_force_window(), so tooltips->tip_window can be accessed
2726         prior to the first tip being set.
2727         don't put an extra reference on the window, since it is a toplevel,
2728         it wont get destroyed from anywhere else.
2729
2730         * overall macro and GtkType fixups.
2731
2732 1998-09-02  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2733
2734         * gtk/gtkcolorsel.c: Replaced "foo == TRUE" and "foo == FALSE"
2735         constructs by more forgiving ones.  (Does anyone else feel like
2736         the color selector need rewriting?).
2737
2738 Tue Sep  1 10:53:52 1998  Owen Taylor  <otaylor@redhat.com>
2739
2740         * gtk/gtkprogress.c (gtk_progress_finalize): Unref
2741         the adjustment.
2742
2743         * gtk/gtkmenu.c: Modified reference counting so
2744         that the reference count from the toplevel that
2745         the menu creates to the menu is invisible to the
2746         application.
2747
2748 Mon Aug 31 21:36:31 1998  Raph Levien  <raph@gimp.org>
2749
2750         * gdk/gdkrgb.c (gdk_rgb_select_conv): Improved the 24bpp
2751         conversion selection logic, so Suns and other big-endian
2752         machines should get faster conv routines. This is also the
2753         point where 4bpp gray and 1bpp are checked in, although I
2754         wouldn't be surprised if 1bpp is a little buggy. This is
2755         synchronized with the 0.0.7 release of GdkRgb.
2756
2757         * gtk/Makefile.am: 
2758         * gtk/testrgb.c: Checked in testrgb.c to CVS, and made the
2759         appropriate change to the Makefile.am
2760
2761 Mon Aug 31 15:18:19 1998  Raph Levien  <raph@gimp.org>
2762
2763         * gdk/gdkrgb.[ch]: Added a gdk_draw_rgb_image_dithalign function,
2764         which is good for images that scroll (makes the dither patterns
2765         align correctly)
2766
2767 Sat Aug 29 14:50:56 PDT 1998 Manish Singh <yosh@gimp.org>
2768
2769         * gdk/gdkcolor.c:
2770         (gdk_colormap_new) (gdk_colormap_get_system):
2771         quell some warnings with g_hash_table_new
2772
2773         * gtk/gtkaccelgroup.c (gtk_accel_group_add): free the GtkSignalQuery
2774         when we're done with it
2775
2776         * gtk/itemfactory.c:
2777         (gtk_item_factory_from_path):
2778         (gtk_item_factory_create_item): free some strings
2779
2780         * gtk/gtklabel.c:
2781         (gtk_label_finalize): free label->pattern when done
2782         (gtk_label_parse_uline): null terminate pattern string, delete
2783         some duplicated code
2784
2785         * gtk/testthreads.c: add #include <unistd.h> for sleep()
2786
2787 Tue Aug 25 16:52:47 1998  Owen Taylor  <otaylor@redhat.com>
2788
2789         * gtk/gtktext.c (recompute_geometry): Make sure the
2790         mark we pass to line start is the beginning of a 
2791         real line, not a wrapped one.
2792
2793 Mon Aug 24 18:37:15 1998  Owen Taylor  <otaylor@redhat.com>
2794
2795         * gtk/gtktext.c: Reference count the fonts used in
2796         the text widget.
2797
2798         * gdk/gdk.h gdk/gdkcolor.c: Rename the color allocation
2799         freeing functions to be more consistent, and more 
2800         convenient; leave the old names in for backwards compatibility.
2801
2802         * gdk/gdkcolor.c gdk/gdkprivate.h: Reference count the
2803         allocations in pseudo-color colormaps to greatly reduce
2804         calls to XAllocColor. Keep a per-colormap hashtable to
2805         speed up finding if there is an already-allocated matching
2806         color.
2807
2808         * gdk/gdkcolor.c: Don't just match read the system colormap
2809         when the colormap is created, but synchronize our copy
2810         with the system colormap periodically.
2811         
2812         * gdk/gdk.c gdk/gdktypes.h gtk/gtkentry.c gtk/gtktext.c: 
2813         Change XIM constants names to match GDK conventions
2814
2815         * gtk/testinput.c: Allow the drawing area to get the focus.
2816
2817         * gtk/testgtk.c: Change around the Text test to demonstrates
2818         multiple fonts, use more colors.
2819
2820         * gtk/gtkwidget.c: Improve gtk_widget_get_colormap()/visual()
2821         so they work after a widget is unrealized.
2822
2823         * gtk/gtktext.[ch]: Remove the requirement that the text
2824         widget be realized before adding text (!) Allocate colors
2825         ourself, instead of requiring the caller allocate them.
2826         Allow changing styles to work properly by keeping track
2827         of the values for a certain property are default or
2828         set explicitely.
2829
2830         * gtk/gtkmenu.h: Added some comments.
2831
2832         * gtk/gtkentry.c: Changes to match XIM constants.
2833
2834         * gtk/gdk.h gdk/gdkwindow.c: Add gdk_drawable_set_data(),
2835         for adding keyed data to drawables. (Uses g_dataset
2836         internally)
2837
2838         * gdk/gdkpixmap.c: Keep track of the colors we allocate,
2839         when creating an XPM - store them as user data for the GdkPixmap,
2840         so we don't leak colors when we create pixmaps from XPM's.
2841
2842         Allocate memory for color information in large blocks instead of 
2843         as many little pieces.
2844         
2845 Mon Aug 24 11:09:32 PDT 1998 Manish Singh <yosh@gimp.org>
2846
2847         * gdk/gdkrgb.c: removed some unused variables
2848
2849         * gtk/gtkclist.c
2850         * gtk/gtkmain.c: #if 0'd out some unused code
2851
2852         * gtk/gtkobject.c: check for NULL object hash table in gtk_object_debug
2853
2854 Mon Aug 24 02:36:53 1998  Tim Janik  <timj@gtk.org>
2855
2856         * gtk/gtkarg.h:
2857         * gtk/gtkarg.c:
2858         * gtk/gtkwidget.h: 
2859         * gtk/gtkwidget.c: 
2860         * gtk/gtkobject.h:
2861         * gtk/gtkobject.c:
2862         * gtk/gtkcontainer.h: 
2863         * gtk/gtkcontainer.c: 
2864         (gtk_object_new):
2865         (gtk_object_set):
2866         (gtk_widget_new):
2867         (gtk_widget_set): 
2868         (gtk_container_add_with_args):
2869         (gtk_container_child_set):
2870         begin the parameter elipsis (...) after the first argument name. this
2871         change is source compatible, since it was always required, even as NULL.
2872         (gtk_args_collect): 
2873         (gtk_object_args_collect): 
2874         (gtk_container_child_args_collect):
2875         changed prototypes to pass first_arg_name, also, pass va_list variable
2876         by value (portability concerns). callers changed.
2877
2878         * gtk/gtkargcollector.c: implemented gtk_arg_collect_value() as
2879         a huge macro GTK_ARG_COLLECT_VALUE() <shrug>. this is needed because we
2880         can't pass va_list variables by reference for portability reasons.
2881
2882 Fri Aug 21 22:40:00  Raph Levien  <raph@gtk.org>
2883
2884         * gdk/gdkrgb.c: added calls to gdk_rgb_init in the get_cmap and
2885         get_visual calls, so that it gets implicitly initialized.
2886
2887 Fri Aug 21 13:06:04 1998  Stuart Parmenter  <pavlov@gimp.org>
2888         * gtk/gtkfeatures.h.in:  added GTK_HAVE_FEATURES_1_1_2 for changes
2889         such as GtkCTree function name changes
2890         
2891 Fri Aug 21 02:31:26 1998  Tim Janik  <timj@gtk.org>
2892
2893         * gtk/gtkmain.h:
2894         * gtk/gtkmain.c (gtk_check_version): added a function to perform a
2895         binary version check, returning a static string for error descriptions,
2896         or NULL on success.
2897
2898 Thu Aug 20 20:08:15 1998  Owen Taylor  <otaylor@redhat.com>
2899
2900         * gtk/gtktext.c ([un]draw_cursor): Check to see if we've
2901         computed our geometry yet, and if not, ignore the request.
2902
2903         * gtk/gtktext.c (correct_cache_insert): Fiddled around
2904         some more. All the bug-test codes seem to work at once
2905         now. (fingers crossed...)
2906
2907 Thu Aug 20 13:04:08 PDT 1998 Manish Singh <yosh@gimp.org>
2908
2909         * gdk/gdkrgb.c: silly visual fixes
2910
2911         * gtk/testgtk.c: call gdk_rgb_init so color preview test actually
2912         works
2913
2914 1998-08-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2915
2916         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Do not do
2917         anything if the event's window is not the bin window.
2918         (gtk_handle_box_motion): Likewise.
2919
2920 1998-08-19  Raph Levien  <raph@gimp.org>
2921
2922         * gtk/testgtk.c (create_color_preview): pushed the colormap and
2923         visual so it would work better with GdkRgb.
2924
2925 1998-08-19  Raph Levien  <raph@gimp.org>
2926
2927         * gdk/gdkrgb.c: fixed some bugs in the 565_d mode, and added a
2928         4bpp static_color mode (for vga displays). Also fixed a '64' value
2929         in the dither matrix, which was causing one pixel out of 16k to be
2930         dithered wrong.
2931
2932         * gtk/gtkpreview.{c,h}: Changed it to work with GdkRgb, gutting
2933         most of the contents. This is an API change - any apps that relied
2934         on the internal structure of GtkPreview will need some change -
2935         most notably in the use of reserved colors. The Gimp needed
2936         changes in this regard.
2937
2938 Wed Aug 19 00:11:14 1998  Tim Janik  <timj@gtk.org>
2939
2940         * gtk/gtkmain.c (gtk_init): allow argument parsing in gtk without
2941         G_ENABLE_DEBUG being defined (specifically --gtk-module= and
2942         --g-fatal-warnings), noticed by miguel.
2943
2944 Tue Aug 18 17:54:40 1998  Tim Janik  <timj@gtk.org>
2945
2946         * gtk/gtkrc.c (gtk_rc_parse_file): use g_get_current_dir() instead of
2947         getcwd().
2948
2949         * gdk/gdkprivate.h:
2950         * gdk/gdkglobals.c:
2951         * gdk/gdkwindow.c:
2952         * gdk/gdk.c:
2953         * gtk/gtkwindow.c: 
2954         * gtk/gtkitemfactory.c: 
2955         dropped gdk_progname, use g_get_prgname()/g_set_prgname() instead.
2956
2957         * gtk/gtkselection.c:
2958         * gtk/gtkpreview.c:
2959         * gtk/gtkobject.c: 
2960         * gtk/gtkmain.c: 
2961         * gtk/gtktypeutils.c: indentation fixes due to g_message() use.
2962
2963         * gdk/gdkrgb.c: exchanged occourances of g_print with g_message.
2964
2965 Tue Aug 18 17:22:22 1998  Lars Hamann  <lars@gtk.org>
2966
2967         * gtk/gtknotebook.c (gtk_notebook_switch_focus_tab): 
2968         * gtk/gtknotebook.c (gtk_notebook_update_labels): fix for sigsegv
2969         in case of show_tabs == NULL
2970
2971 Tue Aug 18 03:54:43 1998  Tim Janik  <timj@gtk.org>
2972
2973         * gtk/gtkmain.c (gtk_init): restricted the --g*fatal-* arguments
2974         to --g-fatal-warnings again. this option now causes log levels of
2975         WARNING and CRITICAL to abort().
2976
2977         * gdk/gdk.c: 
2978         * gdk/gdkdnd.c: 
2979         * gdk/gdkcc.c: 
2980         * gdk/gdkfont.c: 
2981         * gdk/gdkwindow.c:
2982         * gdk/gdkvisual.c:
2983         * gtk/gtkwidget.c:
2984         * gtk/gtktypeutils.c:
2985         * gtk/gtktree.c:
2986         * gtk/gtkfontsel.c:
2987         * gtk/gtkmain.c:
2988         * gtk/gtkobject.c:
2989         * gtk/gtkpreview.c:
2990         * gtk/gtkselection.c:
2991         * gtk/gtktext.c:
2992         * gtk/gtktree.c:
2993         * gtk/gtktreeitem.c:
2994         did a global search&replace to substitute g_print() calls with
2995         g_message(). libraries shouldn't use printf(), g_print() or
2996         g_printerr() at all.
2997         a bunch of the replacements should probably be wrapped into the
2998         G{D|T}K_NOTE() macros, so they are special cased for debugging
2999         purposes in a sane way, avoiding all the nasty #ifdef DEBUG_MY_TEDDY
3000         things.
3001
3002         * gdk/gdkdnd.c: added copyright notice.
3003
3004 Mon Aug 17 17:28:00  Raph Levien  <raph@gtk.org>
3005
3006         * gdk/gdkrgb.c: Further speedups of the 565_d case. It's
3007         impressively fast now - about 4.65 Mpix/s on an IBM TP 600
3008         running a PII 233. It's synced with the 0.0.5 release of
3009         GdkRgb.
3010
3011 Tue Aug 18 00:29:13 1998  Lars Hamann  <lars@gtk.org>
3012
3013         * gtk/gtkclist.h:
3014         (struct _GtkCListClass): new class methods:
3015         (sort_list) (insert_row) (remove_row) (set_cell_contents)
3016
3017         * gtk/gtkclist.c :
3018         (cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
3019         removed and replaced by (set_cell_contents)
3020         (set_cell_contents): function for class method set_cell_contents
3021         (real_insert_row): function for class method insert_row
3022         (real_remoce_row): function for class method remove_row
3023         (real_sort_list): function for class method sort_list
3024         (default_compare): fix to avoid problems with cell types != CELL_TEXT
3025
3026         * gtk/gtkctree.h :
3027         (gtk_ctree_export_to_gnode): new function to export a ctree as gnode 
3028         (gtk_ctree_node_is_visible): new function to return visibility state
3029         of a node
3030         (gtk_ctree_show_stub): new function to set visibility of root stub
3031
3032         renamed functions :
3033         (gtk_ctree_insert) -> (gtk_ctree_insert_node)
3034         (gtk_ctree_remove) -> (gtk_ctree_remove_node)
3035         (gtk_ctree_find_glist_ptr) -> (gtk_ctree_find_node_ptr)
3036         (gtk_ctree_set_text) -> (gtk_ctree_node_set_text)
3037         (gtk_ctree_set_pixmap) -> (gtk_ctree_node_set_pixmap)
3038         (gtk_ctree_set_pixtext) -> (gtk_ctree_node_set_pixtext)
3039         (gtk_ctree_set_shift) -> (gtk_ctree_node_set_shift)
3040         (gtk_ctree_get_cell_type) -> (gtk_ctree_node_get_cell_type)
3041         (gtk_ctree_get_text) -> (gtk_ctree_node_get_text)
3042         (gtk_ctree_get_pixmap) -> (gtk_ctree_node_get_pixmap)
3043         (gtk_ctree_get_pixtext) -> (gtk_ctree_node_get_pixtext)
3044         (gtk_ctree_set_foreground) -> (gtk_ctree_node_set_foreground)
3045         (gtk_ctree_set_background) -> (gtk_ctree_node_set_background)
3046         (gtk_ctree_set_row_data) -> (gtk_ctree_node_set_row_data)
3047         (gtk_ctree_set_row_data_full) -> (gtk_ctree_node_set_row_data_full)
3048         (gtk_ctree_get_row_data) -> (gtk_ctree_node_get_row_data)
3049         (gtk_ctree_moveto) -> (gtk_ctree_node_moveto)
3050         (gtk_ctree_sort) -> (gtk_ctree_sort_node)
3051         (gtk_ctree_is_visibe) -> (gtk_ctree_is_viewable)
3052
3053         * gtk/gtkctree.c :
3054         (cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
3055         removed and replaced by (set_cell_contents)
3056         (set_cell_contents): function for class method set_cell_contents
3057         (real_insert_row): function for class method insert_row
3058         (real_remoce_row): function for class method remove_row
3059         (real_sort_list): function for class method sort_list
3060         (default_compare): removed. CTree now also compares two GtkCTreeRows
3061         instead of two GtkCTreeNodes.
3062         (gtk_ctree_unlink): call gtk_ctree_collapse if parent is empty after
3063         unlinking the node
3064         (real_tree_expand) (real_tree_collapse): fix for refcounting of
3065         node pixmaps
3066         (set_node_info): call gtk_ctree_node_set_pixtext instead of
3067         manipulating the row itself
3068         
3069         * gtk/testgtk.c: use renamed functions of GtkCTree.
3070         new sample to show gtk_ctree_export_to_gnode and gtk_ctree_insert_gnode
3071         at work.
3072
3073 Mon Aug 17 15:31:38 1998  Tim Janik  <timj@gtk.org>
3074
3075         * gtk/gtkmain.c: removed gtk_input_add_interp.
3076
3077         * gtk/gtkeditable.c (gtk_editable_set_position): fixed bogus "return"
3078         keyword.
3079         (gtk_editable_get_event_time): fix default: case.
3080
3081         * gtk/gtkclist.c (gtk_clist_swap_rows): fixes for lvalue casts.
3082
3083         * gdk/gdkpixmap.c: made a bunch of unexported functions static.
3084
3085         * gdk/gdkcolor.c:
3086         * gdk/gdkvisual.c: include "gdkx.h", since it exports prototypes
3087         of our functions.
3088
3089         * various minor compilation cleanups, such as bogus commas in
3090         enums and similar things.
3091
3092 Mon Aug 17 07:47:43 1998  Tim Janik  <timj@gtk.org>
3093
3094         * gtk/gtkmain.c (gtk_init): NULL terminate the arg list to g_strconcat()
3095         (thanx raph).
3096
3097 Sun Aug 16 23:14:20 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3098
3099         * NEWS: updated for 1.1.2
3100         * gtk+.spec: version = 1.1.2
3101
3102 Mon Aug 17 05:10:29 1998  Tim Janik  <timj@gtk.org>
3103
3104         * gtk/gtkmain.c (gtk_init): don't call module initializers multiple
3105         times. changed --gtk-with-module to --gtk-module at owen's request.
3106
3107 Mon Aug 17 03:47:55 1998  Tim Janik  <timj@gtk.org>
3108
3109         * gtk/gtkmain.c (gtk_init): feature a new commandline option
3110         --gtk-with-module=<module> that allows additional loading and
3111         initialization of modules (e.g. GLE).
3112
3113 Mon Aug 17 01:40:00 1998  Tim Janik  <timj@gtk.org>
3114
3115         * configure.in: version bump to 1.1.2, binary age 0, interface age 0.
3116         pass "gmodule" to AM_PATH_GLIB, with that we require libgmodule.so now.
3117
3118         * gtk/gtkmain.c (gtk_init): since glib's g_return*_if_fail macros log
3119         with G_LOG_LEVEL_CRITICAL now, i added "--g-fatal-checks",
3120         "--gdk-fatal-checks" and "--gtk-fatal-checks". that makes up six
3121         different *-fatal-* arguments now. this needs to be revised and
3122         compressed to a reasonable amount of arguments.
3123
3124 Sun Aug 16 20:51:59 1998  Tim Janik  <timj@gtk.org>
3125
3126         * gtk/gtkmain.c (gtk_init): fatal warning option is split up now,
3127         "--g-fatal-warnings" causes fatal warnings in GLib,
3128         "--gdk-fatal-warnings" causes fatal warnings in Gdk,
3129         "--gtk-fatal-warnings" causes fatal warnings in Gtk.
3130
3131         * gtk/Makefile.am: define G_LOG_DOMAIN for gtk.
3132         * gdk/Makefile.am: define G_LOG_DOMAIN for gdk.
3133
3134         * gtk/testgtk.c: 
3135         * gdk/gxid.c:
3136         we need ugly #undef G_LOG_DOMAIN at the start of these files currently,
3137         since automake doesn't support per target _CFLAGS yet.
3138
3139         * configure.in: require GLib 1.1.3.
3140
3141 Sat Aug 15 03:19:30 1998  John Ellis  <johne@bellatlantic.net>
3142
3143         * gtk/gtkctree.[ch] (gtk_ctree_set_drag_compare_func): New function
3144         to set a callback to test if a node in drag can be dropped onto
3145         it's currrent location.
3146         * gtk/gtkctree.c (set_mouse_cursor),(check_cursor): New functions
3147         to change the pointer when a drag destination is not allowed.
3148
3149 Thu Aug 13 21:06:00 1998  Raph Levien  <raph@gtk.org>
3150
3151         * gdk/gdkrgb.c: committing a patch by Ray Lehtiniemi that
3152         speeds up the 565_d case by about 25% total. Thanks Ray!
3153
3154 Thu Aug 13 16:47:44 1998  Owen Taylor  <otaylor@redhat.com>
3155
3156         * Changed GtkSignalFunc back to () from (void). (again!)
3157
3158         * Added file README.cvs-commits
3159         
3160 Thu Aug 13 09:11:11 BST 1998  Tony Gale  <gale@gtk.org>
3161
3162         * docs/gtk_tut.sgml:
3163           - Tidy up of the menufactory example from
3164             Andy Kahn <kahn@zk3.dec.com>
3165           - New section on Range Widgets from
3166             David Huggins-Daines <bn711@freenet.carleton.ca>
3167           - Started a new section on 'Advanced Event and Signal
3168             Handling' - used an email from Owen.
3169           - New appendix on Gdk Event Types
3170           - Added the tictactoe full example code to the
3171             'Code Examples' appendix
3172
3173 Tue Jul 21 12:42:01 1998  Owen Taylor  <otaylor@redhat.com>
3174
3175         * gdk/gdk.h gdk/gdkfont.c: Added gdk_text/string_extents() - 
3176           to calculate all the metrics at once of a string, including
3177           things which weren't calculated before.
3178
3179         * gtk/Makefile.am gtk/gtk.h gtk/gtktearoffmenu.[ch]: New
3180           MenuItem type, that when put as the first thing in a
3181           menu, makes the menu tearoff. Currently drawn as a
3182           dashed line.
3183
3184         * gtk/gtkmenuitem.h gtk/gtkcheckmenuitem.c: Added a flag
3185           "hide_on_activate" to the MenuItem class structure to allow
3186           check and radio buttons to be changed with <Space> without
3187           hiding the menu.
3188
3189         * gtk/gtkitemfactory.c: 
3190           - Create a AccelGroup for each MenuShell we create.
3191           - If an '_' appears before a  character 'c' in the path,
3192             then make 'c' an accelerator in the menu's accel group,
3193             and if the menuitem is menubar <alt>C an accelerator 
3194             in the itemfactory's accel group. Double '__' inserts
3195             a literal '_'
3196
3197         * gtk/gtklabel.[ch]: Add support for a pattern arg - 
3198           which is a string. If an '_' appears in this string,
3199           the corresponding position in the label is underlined.
3200
3201           Add gtk_label_parse_uline() convenience function which
3202           takes a string with embedded underlines, sets the
3203           pattern and label, and returns the accelerator keyval.
3204
3205         * gtk/gtkmenu.[ch]: Make menus no longer a toplevel widget.
3206           Instead, they create a GtkWindow and add themselves
3207           to that. (When torn off, another new feature, they
3208           create another GtkWindow to hold the torn off menu)
3209
3210           New function gtk_menu_set_tearoff_state()
3211         
3212         * gtk/gtkenums.h gtk/gtkmenushell.[ch] gtk/gtkenums.h: 
3213           Added action signals  for keyboard navigation of menus.
3214
3215         * gtk/gtkmenushell.c: Key press handler which activates
3216           bindings for navigation, and accelerators, for handling
3217           underline accelerators. Exported functions to select 
3218           and activate menu items in a menushell.
3219
3220         * gtk/testgtk.c: Added a new "Item Factory" test which
3221           tests GtkItemFactory and the new keyboard navigation
3222           of menus.
3223
3224 Tue Aug 11 20:52:58 1998  Tim Janik  <timj@gtk.org>
3225
3226         * gtk/gtktypeutils.c (gtk_type_class_init): relookup nodes after
3227         external functions have been called. also relookup nodes after
3228         this function has been invoked.
3229
3230 Tue Aug 11 15:04:52 1998  Owen Taylor  <otaylor@redhat.com>
3231
3232         * gtk/gtktext.[ch]: Removed has_cursor, set the cursor
3233           beginning of Text when creating the Text widget.
3234
3235         * gtk/testgtk.c: Grab the focus on the text widget so
3236           as to test out the above.
3237
3238 Tue Aug 11 14:55:00 1998  Owen Taylor  <otaylor@redhat.com>
3239
3240         * gtk/gtkeditable.c: Reverted part of timj's change of Jul 16. 
3241           ::changed is a notification signal and should have no default
3242           handler. A complete redraw of the Text widget does _not_ need to
3243           be done on every text insertion.
3244
3245 Tue Aug 11 13:07:29 1998  Owen Taylor  <otaylor@redhat.com>
3246         (gtk-abilleira-072198-patch)
3247
3248         * gtk/gtkwindow.[ch]: 
3249           Add gtk_window_set_modal() which sets a flag; when
3250           set the window does a gtk_grab_add() when the window
3251           is shown, and a gtk_grab_remove() when the window
3252           is hidden. 
3253
3254         * gtk/gtkfilesel.[ch]: Test if it is running in modal form and in
3255           that case will run "Create Dir","Delete File" and "Rename File" 
3256           dialogs as modal too.
3257
3258         * gtk/testgtk.c: Added a button with an example of creating modal 
3259           dialog boxes. Including file selection and color selection standard
3260           dialogs.
3261         
3262 Tue Aug 11 00:44:47 1998  Owen Taylor  <otaylor@redhat.com>
3263
3264         * gtk/gtkhscrollbar.c gtk/gtkvscrollbar.c gtk/gtktoolbar.c:
3265           Removed CAN_FOCUS by default from scrollbars, button
3266           children of toolbar. (But not GTK_TOOLBAR_CHILD_WIDGET children)
3267           (Scrollbar definitely good change, toolbar bit more questionable)
3268
3269 Tue Aug 11 17:49:33 1998  Tim Janik  <timj@gtk.org>
3270
3271         * examples/packbox/packbox.c: #include fixes (reported by Asbjoern
3272         Pettersen).
3273
3274 Tue Aug 11 00:35:56 1998  Owen Taylor  <otaylor@redhat.com>
3275
3276         * gdk/gdkgc.c gdk/gdktypes.h: Applied gtk-pedersen-980727-0; 
3277           added all logical operations to gc->function.
3278
3279 Sun Aug  9 23:31:59 1998  Lars Hamann  <lars@gtk.org>
3280
3281         * gtk/gtkclist.c (adjust_scrollbars): Fix for resize bug. Call
3282         gtk_widget_size_allocate instead of gtk_widget_queue_resize
3283         if the visibility state of a scrollbar changes.
3284
3285 Mon Aug 10 12:49:54 1998  Tim Janik  <timj@gtk.org>
3286
3287         * gtk/gtkhbbox.h: fixed an #include statement (reported by Eric Kidd).
3288
3289 Thu Aug  6 22:37:21 1998  Stefan Jeske  <stefan@gtk.org>
3290
3291         * gtk/gtkclist.c: Renamed my_merge and my_mergesort to
3292         gtk_clist_merge and gtk_clist_mergesort. :)
3293
3294 1998-08-06  Martin Baulig  <martin@home-of-linux.org>
3295
3296         * gtk/gtkclist.c: Renamed `merge' -> `my_merge' and
3297         `mergesort' -> `my_mergesort'.
3298
3299 Wed Aug  5 21:12:37 1998  Stefan Jeske  <stefan@gtk.org>
3300
3301         * gtk/gtkenums.h: new enum GtkSortType.
3302         
3303         * gtk/gtkclist.h:
3304         * gtk/gtkclist.c:
3305         Added sorting capabilities to GtkCList. New APIs :
3306         gtk_clist_set_compare_func, gtk_clist_set_sort_column,
3307         gtk_clist_set_sort_type, gtk_clist_sort, gtk_clist_set_auto_sort. 
3308         New internal functions : default_compare, merge, mergesort.
3309
3310         (gtk_clist_append): This is just a wrapper for gtk_clist_insert now.
3311         
3312         (gtk_clist_insert): Modified to handle gtk_clist_append and the
3313         auto sort flag. Changed the return value from void to gint to
3314         return the row number where the element was actually inserted.
3315
3316         (gtk_clist_swap_rows): Return immediately if auto sort flag is set.
3317         
3318         * gtk/gtkctree.h:
3319         * gtk/gtkctree.c:
3320         Removed the auto_sort flag, replaced ctree->node_compare with
3321         clist->compare all over the place, modified default_compare to
3322         match clist's needs. Removed API´s : gtk_ctree_set_auto_sort,
3323         gtk_ctree_set_compare_func. Removed GtkCTreeCompareFunc typedef.
3324
3325         * gtk/testgtk.c: Modified clist/ctree samples to demonstrate
3326         sorting. The lists can be sorted by a column by clicking the 
3327         corresponding title button.
3328         
3329 Tue Aug  4 22:02:49 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
3330
3331         * Released GTK+ 1.1.1
3332
3333 Wed Aug  5 02:57:20 1998  Lars Hamann  <lars@gtk.org>
3334
3335         * gtk/gtkctree.h:
3336         * gtk/gtkctree.c:
3337         (gtk_ctree_find): changed to return a gboolean
3338         (gtk_ctree_insert_gnode): new function for recursive insertion of a
3339         GNode tree.
3340         (gtk_ctree_real_select_recursive): fix for extended selection
3341         (gtk_ctree_sort_recursive): in case node == NULL, sort root nodes too.
3342         (gtk_ctree_set_node_info) (set_node_info): few fixes for expanded flag
3343
3344 Tue Aug  4 16:18:26 1998  Tim Janik  <timj@gtk.org>
3345
3346         * configure.in: version bump to 1.1.1, binary age 0, interface age 0.
3347         GLib version 1.1.1 is now required at minimum.
3348
3349         * docs/Makefile.am: added gtk_tut_fr.sgml to EXTRA_DIST (french version
3350         of the Gtk+ tutorial, contributed by Eric Jacoboni <jaco@dotcom.fr>.
3351
3352 Mon Aug  3 19:24:48 1998  Owen Taylor  <otaylor@redhat.com>
3353  
3354         * gtk/gtktext.c (gtk_text_forward_delete): Undraw the
3355           cursor before (possibly) deleting the cursor's text
3356           property.
3357  
3358         * gtk/gtktext.c (correct_cache_delete): More attempts
3359           to clean the line-start cache up after inserting
3360           a property. Among other things, make sure to
3361           fix up text->current_line, since it is used to 
3362           refetch the changed lines.
3363  
3364 Tue Aug  4 10:59:19 1998  Owen Taylor  <otaylor@redhat.com>
3365
3366         * gtk/gtktable.[ch]: Empty rows/columns of the table
3367         should not have been marked as being able to shrink.
3368         (Fixes problem with shrinking scrollbarless GIMP canvases)
3369
3370 1998-08-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3371
3372         * gtk/gtkctree.c (gtk_ctree_find_by_row_data_custom): New public
3373         function to find a row by its data pointer using a custom
3374         comparison function.
3375
3376 Sun Aug 02 22:58:00 1998  George Lebl  <jirka@5z.com>
3377
3378         * gtk/gtkclist.c: draw the buttons during a "draw" as well,
3379           this fixes a bug when the whole widget is made non-sesitive
3380           the buttons weren't redrawn
3381
3382 Mon Aug  3 00:04:09 1998  Lars Hamann  <lars@gtk.org>
3383
3384         * gtk/gtkclist.c (abort_column_resize): reset drag_pos after abort
3385         * gtk/gtkclist.c (gtk_clist_key_press): removed a few unneeded lines
3386         * gtk/gtkcombo.c (gtk_combo_list_key_press): fixed compiler warning
3387
3388 Sun Aug  2 03:08:07 1998  Owen Taylor  <otaylor@gtk.org>
3389
3390         * gdk/gdkwindow.c (gdk_window_reparent): Change 
3391           window_private->parent pointer when reparenting.
3392
3393 Sat Aug  1 22:17:00 1998  Raph Levien  <raph@acm.org>
3394
3395         * gdk/gdkrgb.c: made some minor config changes to unify GdkRgb
3396         with the standalone release.
3397
3398 Fri Jul 31 20:45:07 1998  Lars Hamann  <lars@gtk.org>
3399
3400         * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_motion)
3401         (gtk_clist_button_release) (new_column_width): Few fixes for
3402         column resize. Store resize column in clist->drag_pos.
3403
3404 Thu Jul 31 15:18:36 1998  Lars Hamann  <lars@gtk.org>
3405
3406         * gtk/gtkctree.h 
3407         * gtk/gtkctree.c 
3408         * gtk/testgtk.c : New typedef GtkCTreeNode, changed all GList *node
3409         to GtkCTreeNode *node.
3410
3411         * gtk/gtklist.h : added extended selection mode and auto scrolling.
3412         (struct _GtkList): removed unneeded variables timer, button,
3413         selection_start_pos, selection_end_pos, scroll_direction, have_grab.
3414         Added new variables undo_selection, undo_unselection, last_focus_child,
3415         undo_focus_child, htimer, vtimer, anchor, drag_pos, anchor_state,
3416         drag_selection, add_mode.
3417  
3418         New functions :
3419         (gtk_list_extend_selection), (gtk_list_start_selection),
3420         (gtk_list_end_selection), (gtk_list_select_all),
3421         (gtk_list_unselect_all), (gtk_list_scroll_horizontal),
3422         (gtk_list_scroll_vertical), (gtk_list_toggle_add_mode),
3423         (gtk_list_toggle_focus_row), (gtk_list_toggle_row),
3424         (gtk_list_undo_selection), (gtk_list_end_drag_selection)
3425         
3426         * gtk/gtklist.c : 
3427         (gtk_list_enter_notify): removed, because auto scrolling now works
3428         with gtk_list_motion_notify
3429  
3430         New functions, needed for auto scrolling :
3431         (gtk_list_motion_notify) (gtk_list_move_focus_child)
3432  
3433         New functions for extended selection support :
3434         (gtk_list_set_anchor), (gtk_list_fake_unselect_all),
3435         (gtk_list_fake_toggle_row), (gtk_list_update_extended_selection),
3436         (gtk_list_focus_lost)
3437         
3438         (gtk_list_set_focus_child): modified gtk_container_set_focus_child
3439         function to support auto scrolling, and avoid out-of-sync errors in
3440         case auf GTK_SELECTION_BROWSE
3441         (gtk_list_focus): modified gtk_container_focus function to avoid out
3442         off sync errors in case auf GTK_SELECTION_EXTENDED
3443
3444         * gtk/gtklistitem.h 
3445         * gtk/gtklistitem.c :
3446         New signal functions for key binding support :
3447         (toggle_focus_row), (select_all), (list_item), (unselect_all)
3448         (list_item), (undo_selection), (start_selection), (end_selection)
3449         (extend_selection), (scroll_horizontal), (scroll_vertical),
3450         (toggle_add_mode)
3451         (gtk_list_item_realize): added  GDK_KEY_PRESS_MASK |
3452         GDK_KEY_RELEASE_MASK
3453         (gtk_list_item_draw_focus): modify gc if parent has add_mode set.
3454  
3455         * gtk/gtkcombo.c :
3456         (gtk_combo_popup_button_press):  grab pointer for combo->list
3457         (gtk_combo_button_release): ungrab only if combo->popwin HAS_GRAB
3458         (gtk_combo_list_key_press): take care of which child HAS_GRAB
3459         (gtk_comb_init): don't connect combo->button with button_release_event
3460
3461 Thu Jul 30 12:39:36 1998  Lars Hamann  <lars@gtk.org>
3462
3463         * gtk/gtkclist.c (gtk_clist_motion): removed a few unneeded lines
3464
3465 Wed Jul 29 23:31:50 1998  Lars Hamann  <lars@gtk.org>
3466
3467         * gtk/gtkclist.c (gtk_clist_motion): column resize now works with
3468         horizontal autoscrolling, GtkCTree's 'reorder ability' now works
3469         with horizontal and vertical autoscrolling.
3470
3471 Tue Jul 28 20:32:03 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3472
3473         * gtk/docs/man: new directory
3474         * gtk/docs/man/gtk_button.pod: new file, initial gtk_button man page
3475
3476 Tue Jul 28 00:03:20 1998  Lars Hamann  <lars@gtk.org>
3477
3478         * gtk/gtknotebook.c (gtk_notebook_paint): small fix for border drawing
3479         bug
3480
3481 Mon Jul 27 09:18:13 BST 1998  Tony Gale  <gale@gtk.org>
3482
3483         * docs/gtk_tut.sgml: GtkTree section from
3484           David Huggins-Daines <bn711@freenet.carleton.ca>,
3485           add a GtkText widget example
3486         * examples/text/* example/tree/* : new examples for the
3487           GtkTree and GtkText widgets
3488         * docs/gtk_tut.sgml: added an appendix to hold complete code
3489           examples that aren't in a full form elsewhere in the
3490           tutorial (e.g. scribble)
3491
3492 Mon Jul 27 00:46:21 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3493
3494         * Released GTK+ 1.1.0
3495
3496 Mon Jul 27 04:18:26 1998  Tim Janik  <timj@gtk.org>
3497
3498         * gtkfeatures.h.in: revamped the definitions for 1-1-0, so that all
3499         the new API stuff is reflected in one #define GTK_HAVE_FEATURES_1_1_0.
3500
3501 Mon Jul 27 03:11:20 1998  Tim Janik  <timj@gtk.org>
3502
3503         * gtk/gtkbindings.c (binding_compose_params): fixup, so that enum
3504         values are looked up.
3505
3506         * gtk/gtktypeutils.h:
3507         * gtk/gtktypeutils.c: new functions gtk_type_flags_find_value and
3508         gtk_type_enums_find_value to lookup enum values.
3509
3510         * gtk/gtkctree.h: 
3511         * gtk/gtkctree.c: change enum name from GtkCTreeExpansion to
3512         GtkCTreeExpansionType. fixed signal creations to pass the enum
3513         types not just the base type GTK_TYPE_ENUM.
3514
3515         * gtk/gtkclist.h: 
3516         * gtk/gtkclist.c: fixed signal creations to pass the real enum
3517         types not just the base type GTK_TYPE_ENUM.
3518
3519 Sun Jul 26 14:50:07 1998  Stefan Jeske  <stefan@gtk.org>
3520
3521         * gtk/testgtk.c : 
3522         Began cleanup, e.g. use gtk_widget_show_all instead of many 
3523         gtk_widget_show's. Completely rewrote the button box sample
3524         (only one window now). Removed "miscellaneous" button.
3525
3526 Sun Jul 26 14:48:14 1998  Stefan Jeske  <stefan@gtk.org>
3527
3528         * gtk/gtkvbbox.c (gtk_vbutton_box_size_allocate): 
3529         Fixed wrong allocation for GTK_BUTTONBOX_END.
3530         (allocation->x  =>  allocation->y)
3531
3532 Sun Jul 26 14:06:37 1998  Lars Hamann  <lars@gtk.org>
3533
3534         * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_button_release)
3535         (abort_column_resize) (gtk_clist_key_press): fix for pointer grab
3536         
3537         * gtk/gtkctree.c (real_tree_select): added check to avoid double
3538         selected rows
3539         (gtk_ctree_button_press)
3540         (gtk_ctree_button_release): fix for pointer grab
3541
3542 Sat Jul 25 13:16:00 1998 Damon Chaplin  <DAChaplin@msn.com>
3543
3544         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): 
3545         Fixed initialization problem - dirty memory could cause problems.
3546         Also checked that bitmapped fonts can be scaled when showing the
3547         available sizes.
3548
3549 Sat Jul 25 02:25:03 1998  Lars Hamann  <lars@gtk.org>
3550
3551         * gtk/gtkctree.c (gtk_ctree_sort_recursive)
3552         (gtk_ctree_sort_recursive): test for node != NULL
3553         (gtk_ctree_is_visible) (gtk_ctree_realize) (gtk_ctree_unrealize)
3554         (gtk_ctree_last) : added sanity checks
3555         * gtk/gtkclist.c (gtk_clist_button_press): removed "no_focus_row"
3556
3557 Fri Jul 24 18:15:49 1998  Lars Hamann  <lars@gtk.org>
3558
3559         * gtk/gtkclist.c (toggle_focus_row): mini code cleanup
3560
3561 Fri, 24 Jul 1998 10:56:22 +0200 Paolo Molaro <lupus@debian.org>
3562
3563         * gtk/gtkfeatures.h.in: added GTK_HAVE_ENUM_VALUE_STRUCT.
3564
3565 Thu Jul 23 00:11:39 1998  Tim Janik  <timj@gtk.org>
3566
3567         * gtk/testgtkrc: introduce testbindings on C-1 for buttons,
3568         to check out binding priorities. someone should really write
3569         gtkrc-mode for emacs.
3570
3571         * gtk/gtkwidget.c (gtk_widget_class_init): remove ugly bindings test.
3572         * gtk/testgtk.c (main): and move it here ;). this test says something
3573         on release of C-9. (this works only if the mouse pointer is on a
3574         spinbutton and there is no focus widget).
3575
3576         * gtk/gtkrc.h:
3577         * gtk/gtkrc.c:
3578         export gtk_rc_parse_color, gtk_rc_parse_state and a new function
3579         gtk_rc_parse_priority to parse path priority types.
3580         export rc tokens.
3581         feature binding parsing.
3582
3583 Wed Jul 22 23:41:17 1998  Tim Janik  <timj@gtk.org>
3584
3585         * gtk/gtkbindings.h: 
3586         * gtk/gtkbindings.c: new function gtk_binding_parse_binding() to
3587         feature binding parsing in rc files.
3588         * gtk/gtkbindings.c (gtk_binding_set_new): bug fix.
3589         * gtk/gtkbindings.c (gtk_binding_pattern_compare): bug fix, we used to
3590         order the bindings with lowest priority first.
3591
3592 Wed Jul 22 15:21:08 PDT 1998 Manish Singh <yosh@gimp.org>
3593
3594         * gdk/gdkrgb.c: actually builds and runs properly on big
3595         endian machines now, because we #include config.h. Also
3596         fixed up a compile error in the WORDS_BIGENDIAN case in
3597         gdk_rgb_convert_565_gray. I made the fix by looking at
3598         patterns in the other code; Raph can you verify this?
3599
3600         * gdk/gdkthreads.c: #include <unistd.h> to quell compiler
3601         warnings
3602
3603 Wed Jul 22 23:00:44 1998  Lars Hamann  <lars@gtk.org>
3604
3605         * gtk/gtkctree.c (tree_select/unselect) (tree_expand/collapse) 
3606         (tree_toggle_expansion) (real_select/unselect_row)
3607         (gtk_ctree_select/unselect) : few fixes for gtk_signal_emits
3608
3609 Wed Jul 15 17:44:47 1998  Owen Taylor  <otaylor@redhat.com>
3610
3611         * gtk/gtktext.c (new_text_property): We free things from
3612         the text property MemChunk, so it needs to be G_ALLOC_AND_FREE.
3613
3614         * Fix up line start cache when splitting a property
3615         during an insert.
3616
3617 Wed Jul 15 21:15:52 1998  Owen Taylor  <otaylor@redhat.com>
3618
3619         * gtk/gtkwidget.c: restauration => restoration
3620
3621 Thu Jul 16 20:11:36 1998  Owen Taylor  <otaylor@redhat.com>
3622
3623         * gdk/gdkxid.c (gdk_xid_table_lookup): If xid_ht
3624         hasn't been created yet, don't do the lookup.
3625
3626 1998-07-20  Raph Levien  <raph@acm.org>
3627
3628         * gdk/gdkrgb.c: More cleanups in the config process.
3629
3630 1998-07-20  Raph Levien  <raph@acm.org>
3631
3632         * gdkrgb.c: Fixed minor config bug preventing big-endian
3633         architectures from working.
3634
3635 Tue Jul 21 06:32:43 1998  Stefan Jeske  <stefan@gtk.org>
3636
3637         * gtk/gtkprogressbar.{c,h} gtk/testgtk.c: Fixed wrong size of
3638         activity indicator. It is settable now as a fraction of the
3639         total width/height using gtk_progress_bar_set_activity_blocks.
3640         Renamed gtk_progress_bar_set_number_of_blocks to
3641         gtk_progress_bar_set_discrete_blocks.
3642
3643 Mon Jul 20 21:28:18 1998  Lars Hamann  <lars@gtk.org>
3644
3645         * gtk/gtkctree.c (gtk_ctree_post_recursive_to_depth)
3646         (gtk_ctree_pre_recursive_to_depth): new functions, recursive process
3647         tree to specified depth
3648         (gtk_ctree_expand_to_depth): expand tree to specified depth
3649         (gtk_ctree_collapse_to_depth): collapse all nodes with level >= depth
3650
3651 Sun Jul 19 23:51:05 1998  Lars Hamann  <lars@gtk.org>
3652
3653         * gtk/gtkclist.c (scroll_vertical): fix for vertical scrolling in case
3654         of GTK_CLIST_ADD_MOD
3655         * gtk/testgtk.c (add1000_clist): changed pixmap
3656
3657 Sat Jul 18 22:59:04 1998  Tim Janik  <timj@gtk.org>
3658
3659         * gtk/gtkmain.h: 
3660         * gtk/gtkmain.c: export gtk_binary_age and gtk_interface_age.
3661
3662         * gtk/gtktypeutils.h:
3663         * gtk/gtkitemfactory.h: remove "void" from prototypes again.
3664
3665 Sat Jul 18 00:54:01 1998  Lars Hamann  <lars@gtk.org>
3666
3667         * gtk/gtknotebook.c (gtk_notebook_set_child_arg): added support for
3668         CHILD_ARG_MENU_LABEL, CHILD_ARG_TAB_LABEL
3669         (gtk_notebook_get_child_arg): added support for CHILD_ARG_MENU_LABEL,
3670         CHILD_ARG_POSITION
3671         (gtk_notebook_reorder_child): new funktion to change position of a
3672         notebook page
3673         (gtk_notebook_draw_arrow): draw left/right arrow with
3674         GTK_SHADOW_ETCHED_IN if focus_tab is first/last tab.
3675
3676         * gtk/gtkstyle.c (gtk_default_draw_arrow):
3677         added GTK_SHADOW_ETCHED_IN/OUT
3678
3679 Sun Jul 19 12:19:16 1998  Stefan Jeske  <stefan@gtk.org>
3680
3681         * gtk/gtkprogress.c gtk/gtkprogress.h gtk/gtkprogressbar.c
3682           gtk/gtkprogressbar.h gtk/Makefile.am gtk/gtk.h gtk/testgtk.c:
3683         Introduced generic GtkProgress widget. Derived GtkProgressBar from
3684         GtkProgress. Made GtkProgressBar much more flexible (see testgtk).
3685
3686 Fri Jul 17 23:49:28 PDT 1998 Manish Singh <yosh@gimp.org>
3687
3688         * gtk/gtktypeutils.h
3689         * gtk/gtkitemfactory.h: explicitly specify void in prototype
3690
3691 Fri Jul 17 17:54:02 1998  Lars Hamann  <lars@gtk.org>
3692
3693         * gtk/gtkclist.c (scroll_vertical): fix to avoid flicker at begin/end
3694         of list
3695
3696 Fri Jul 17 05:30:47 1998  Tim Janik  <timj@gtk.org>
3697
3698         * gtk/gtksignal.c (gtk_handlers_run) (gtk_signal_real_emit):
3699         sropped the approach of copying all signal specific data into a
3700         GtkHandlerInfo structure. we rather keep the signal data on the stack
3701         in gtk_signal_real_emit and pass that over to gtk_handlers_run. this
3702         avoids multiple lookups of the signal pointer and works savely together
3703         with destroy notifiers of handlers.
3704
3705         * gtk/gtkentry.c (gtk_entry_key_press): care for the posssibility that
3706         someone destroys the entry on the ::activate signal.
3707
3708 Fri Jul 17 01:21:32 1998  Tim Janik  <timj@gtk.org>
3709
3710         * gtk/gtkarrow.c (gtk_arrow_expose): use misc->xpad for x calculation
3711         instead of ypad (typo).
3712         (gtk_arrow_set): clear all of the arrow's allocation (left a 1 pixel
3713         border around the allocation).
3714         (gtk_arrow_init): the static requisition needs to be setup in this
3715         function rather than gtk_widget_new(), so arrow creation works without
3716         the gtk_arrow_new() constructing.
3717         (gtk_arrow_expose): return TRUE, since we actually handled the expose.
3718
3719         * gtk/gtkwidget.c (gtk_widget_real_size_request): provide a default
3720         implementation for GtkWidget::size_request, so size requisition for
3721         simple statically sized widgets like GtkArrow works.
3722
3723 Thu Jul 16 14:16:16 PDT 1998 Manish Singh <yosh@gimp.org>
3724
3725         * gtk-config.in: minor changes to gtk-config: --cflags doesn't
3726         prepend -I@libdir@/glib/include anymore, since glib-config handles
3727         it; --libs strips out redundant -L<path>'s properly (there was
3728         code in there to do it before, but it didn't work)
3729
3730 Thu Jul 16 18:24:41 1998  Tim Janik  <timj@gtk.org>
3731
3732         * gtk/gtknotebook.h: 
3733         * gtk/gtknotebook.c: signdness corrections all ove the place.
3734         implementation of object arguments: GtkNotebook::enable_popup,
3735         GtkNotebook::tab_pos, GtkNotebook::tab_border, GtkNotebook::show_tabs,
3736         GtkNotebook::show_border, GtkNotebook::scrollable and GtkNotebook::page.
3737         begun implementation of child args, we have GtkNotebook::tab_label, but
3738         GtkNotebook::menu_label and GtkNotebook::position still lack the
3739         implementation.
3740         (gtk_notebook_remove_page):
3741         (gtk_notebook_current_page): allow negative indices (-1) as alias for
3742         the last page.
3743
3744         * gtk/gtkentry.h:
3745         * gtk/gtkentry.c: GtkType and macro fixups. implementation of object
3746         arguments GtkEntry::max_length and GtkEntry::visibility.
3747         (gtk_entry_adjust_scroll): queue a redraw.
3748
3749         * gtk/gtkeditable.h:
3750         * gtk/gtkeditable.c: GtkType und macro fixups. implementation of
3751         object arguments GtkEditable::text_position and GtkEditable::editable.
3752         new (action) signal GtkEditable::set_editable.
3753         provide a default handler for GtkEditable::changed that queues a redraw.
3754
3755         * gtk/gtktext.h: 
3756         * gtk/gtktext.c: GtkType und macro fixups. override GtkEditable::
3757         set_editable.
3758
3759 Thu Jul 16 14:42:11 1998  Lars Hamann  <lars@gtk.org>
3760
3761         * gtk/gtkctree.c (gtk_ctree_button_release): fix for sigsegv in
3762         case of drag_target == NULL
3763         * gtk/gtkclist.c (gtk_clist_button_press): fix for GTK_2/3BUTTON_PRESS.
3764         Clist did not emit an select_row signal in case of GTK_2/3BUTTON_PRESS.
3765         * gtk/gtkfilesel.c (gtk_file_selection_file_button,
3766         gtk_dir_selection_file_button): fix due to changes in clist's
3767         select_row signal.
3768
3769 Thu Jul 16 01:27:15 1998  Tim Janik  <timj@gtk.org>
3770
3771         * gtk/gtkwidget.h:
3772         * gtk/gtkwidget.c (gtk_widget_set_usize): handle negative values
3773         similar to gtk_widget_set_uposition(). that is: -1=unspecified,
3774         -2=leave untouched. changed the width/height field of GtkWidgetAuxInfo
3775         to be gint16s rather than guint16s, since that's what the code expected
3776         (for a long time actually).
3777
3778         * gtk/gtkviewport.c:
3779         added support for object arguments: GtkViewport::shadow_type,
3780         GtkViewport::vadjustment and GtkViewport::hadjustment.
3781         (gtk_viewport_add): chain gtk_bin_add.
3782
3783         * gtk/gtkscrolledwindow.c: 
3784         added support for object argument: GtkScrolledWindow::hscrollbar_policy,
3785         GtkScrolledWindow::vscrollbar_policy and GtkScrolledWindow::viewport.
3786
3787         * gtk/gtkadjustment.h: 
3788         * gtk/gtkadjustment.c: 
3789         * gtk/gtkctree.h: 
3790         * gtk/gtkclist.h: 
3791         * gtk/gtkctree.c: 
3792         * gtk/gtkclist.c:
3793         * gtk/gtkscrolledwindow.h:
3794         * gtk/gtkscrolledwindow.c:
3795         * gtk/gtkviewport.h:
3796         * gtk/gtkviewport.c:
3797         GtkType and macro fixups.
3798
3799 Thu Jul 16 01:10:02 1998  Lars Hamann  <lars@gtk.org>
3800
3801         * gtk/gtkctree.h :
3802         * gtk/gtkctree.c :
3803         Added focus handling, horizontal and vertical autoscrolling,
3804         extended Selection Mode, key bindings
3805         Added gtk_ctree_toggle_expansion & gtk_ctree_toggle_expansion_recursive
3806         Changed gtk_ctree_scroll_to to gtk_ctree_moveto.
3807         Removed gtk_ctree_clear.
3808         
3809         * gtk/gtkclist.h :
3810         * gtk/gtkclist.c : 
3811         Added focus handling, horizontal and vertical autoscrolling,
3812         extended Selection Mode, key bindings
3813
3814 Wed Jul 15 12:39:27 1998  Raph Levien  <raph@acm.org>
3815
3816         * This checkin integrates GdkRgb version 0.0.3 into the Gtk 1.1
3817         source tree. For more information on GdkRgb, please see:
3818         http://www.levien.com/gdkrgb/
3819
3820         * gtk/gtkfeatures.h.in (GTK_HAVE_GDK_RGB): added this feature. It
3821         bothers me slightly that the feature is in gdk, and this file is
3822         in gtk, but it's probably ok.
3823
3824         * gdk/gdk.h: Added an #include of <gdk/gdkrgb.h>
3825
3826         * gdk/gdkrgb.c:
3827         * gdk/gdkrgb.h: Added this module.
3828
3829         * Makefile.am (EXTRA_DIST): Added gdkrgb.c and gdkrgb.h files.
3830
3831         * configure.in: added AC_C_BIGENDIAN test (needed by GdkRgb).
3832
3833 Wed Jul 15 14:20:10 1998  Tim Janik  <timj@gtk.org>
3834
3835         * gtk/gtksignal.c (gtk_signal_real_emit): pass only the signal_id
3836         to this function. it needs to relookup the signal multiple times.
3837         this fixes spurious segfaults that could show up with signal intensive
3838         code, when classes are created during a pending emission (which is
3839         normal case).
3840
3841 Tue Jul 14 19:12:12 1998  Tim Janik  <timj@gtk.org>
3842
3843         * gtk/gtkbutton.c (gtk_button_set_arg): don't destroy a buttons
3844         child if it isn't a label.
3845
3846 Tue Jul 14 11:41:38 1998  Tim Janik  <timj@gtk.org>
3847
3848         * gtk/gtkdialog.h: 
3849         * gtk/gtkseparator.h: 
3850         * gtk/gtkhseparator.h: 
3851         * gtk/gtkvseparator.h: macro and GtkType fixups.
3852
3853 Tue Jul 14 06:25:46 1998  Tim Janik  <timj@gtk.org>
3854
3855         * gtk/testgtk.c (create_cursors): display the current cursor name.
3856
3857         * gtk/gtktypeutils.h: 
3858         * gtk/gtktypeutils.c (gtk_type_init_builtin_types): cleanups to
3859         the fundamental type definition. the GtkArg union now only covers
3860         the required storage types for argument values. adapted the GTK_VALUE_*
3861         macro set. handle GTK_TYPE_UCHAR. definiton of type set bounds macros.
3862
3863         * gtk/gtkargcollector.c (gtk_arg_collect_value): clean ups of the
3864         code, fixed int/float collection. fixed a bug in the sanity checking
3865         code for GtkObjects.
3866
3867         * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixups of the
3868         argument collection code.
3869
3870         * gtk/gtksignal.c (gtk_signal_collect_params): use the type set bounds
3871         macros when distinguishing the return type.
3872
3873 Mon Jul 13 12:42:51 1998  George Lebl  <jirka@5z.com>
3874
3875         * gdk/gdkwindow.h: (gdk_window_reparent) check if old_parent_private
3876           is not NULL before trying to g_list_remove the child. A patch
3877           from Michael Lausch.
3878
3879 Sun Jul 12 16:40:06 1998  Tim Janik  <timj@gtk.org>
3880
3881         * gtk/gtkargcollector.c (gtk_arg_collect_value): fix float argument
3882         collection (always casted to doubles upon argument passing).
3883
3884 Sun Jul 12 05:59:26 1998  Tim Janik  <timj@gtk.org>
3885
3886         * gtk/gtktypeutils.c (gtk_type_new): call the base classes'
3887         object_init_func for derived objects with the object's ->klass field
3888         still pointing to the corresponding base class, otherwise overridden
3889         class functions could get called with partly-initialized objects.
3890         (change from Tero Pulkkinen <terop@modeemi.cs.tut.fi>).
3891
3892 Sun Jul 12 02:47:35 1998  Tim Janik  <timj@gtk.org>
3893
3894         * gtk/gtkobject.h:
3895         * gtk/gtkobject.c:
3896         (gtk_object_arg_get_info): new functions which wraps gtk_arg_get_info().
3897
3898         * gtk/gtkcontainer.h:
3899         * gtk/gtkcontainer.c:
3900         (gtk_container_child_arg_get_info): new function which wraps
3901         gtk_arg_get_info().
3902
3903 Fri Jul 10 13:29:53 1998  Tim Janik  <timj@gtk.org>
3904
3905         * gtk/gtkcontainer.c:
3906         (gtk_container_arg_get): 
3907         (gtk_container_arg_set): 
3908         * gtk/gtkobject.c:
3909         (gtk_object_arg_set): 
3910         (gtk_object_arg_get):
3911         strictly check for the associated get/set arg functions. if an
3912         arg is readable or writable, the associated class functions *must*
3913         be provided.
3914
3915 Fri Jul 10 09:37:50 1998  Tim Janik  <timj@gtk.org>
3916
3917         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): only take the
3918         padding into account if there is an accelerator.
3919
3920 Fri Jul 10 05:51:44 1998  Tim Janik  <timj@gtk.org>
3921
3922         * gtk/gtkcontainer.c:
3923         (gtk_container_add_with_args): collect the arguments with
3924         gtk_container_child_args_collect, not through gtk_object_args_collect.
3925         (gtk_container_child_set): likewise.
3926
3927 Fri Jul 10 04:20:35 1998  Tim Janik  <timj@gtk.org>
3928
3929         * gtk/gtktypeutils.h: 
3930         * gtk/gtktypeutils.c: added a new internal type GTK_TYPE_IDENTIFIER
3931         which is derived from GTK_TYPE_STRING.
3932
3933         * gtk/gtkbindings.c: reworked the argument type handling.
3934
3935 Thu Jul  9 21:03:19 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3936
3937         * gtk/gtkpreview.c: add in just enough support for 1 or 4 bits
3938           so that it seems to allow normal operation in those modes,
3939           although you will only see black  (GIMP toolbar now pops up,
3940           just don't create a new image and GIMP now works in 4 bit.)
3941
3942 Thu Jul  9 20:20:04 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3943
3944         * gdk/gdkvisuals.c: 4 bit support, increased available_depths
3945           array, which was too low (?)
3946
3947 Fri Jul 10 00:02:04 1998  Tim Janik  <timj@gtk.org>
3948
3949         * gtk/gtkcontainer.h: 
3950         * gtk/gtkcontainer.c: deleted most of the argument handling code, since
3951         that is now implemented in gtkarg.c. similar to gtk_object_args_collect,
3952         we now export a new function gtk_container_child_args_collect().
3953         for consistency with the object arguments, a few functions got renamed:
3954         gtk_container_child_arg_get -> gtk_container_child_get,
3955         gtk_container_child_arg_set -> gtk_container_child_set,
3956         gtk_container_child_arg_getv -> gtk_container_child_getv,
3957         gtk_container_child_arg_setv -> gtk_container_child_setv,
3958         gtk_container_add_with_argv -> gtk_container_addv.
3959         note, gtk_container_add_with_args() remained, because its equivalent
3960         would be gtk_container_add(,, ...) which would break all existing code.
3961         (gtk_container_add_child_arg_type): similar to gtk_object_add_arg_type,
3962         we expect the `arg_name' argument to be a const static string now.
3963         (gtk_container_get_child_arg_type): function removed.
3964
3965 Thu Jul  9 07:03:04 1998  Tim Janik  <timj@gtk.org>
3966
3967         * gtk/gtkargcollector.c: new file which holds gtk_arg_collect_value().
3968         this is a static inline function that collects command line arguments
3969         from a va_list. this file can just be included in all places that
3970         need this functionality.
3971
3972         * gtk/gtkarg.h: 
3973         * gtk/gtkarg.c: new files which implement most of the argument
3974         handling stuff from gtkobject.c. also collected a few more
3975         gtk_arg_* utility functions from else places.
3976
3977         * gtk/gtkobject.h: 
3978         * gtk/gtkobject.c: moved most of the argument handling code into
3979         gtkarg.c. we now export gtk_object_args_collect() as a non-public
3980         method with a blind va_list pointer.
3981         (gtk_object_add_arg_type): the `arg_name' argument is required to be a
3982         const static string now.
3983         (gtk_object_get_arg_type): function got removed.
3984
3985         * gtk/gtkwidget.c: 
3986         (gtk_widget_set): 
3987         (gtk_widget_new): adaptions for gtk_object_args_collect().
3988
3989         * gtk/gtktypeutils.c (gtk_type_init_builtin_types): changed the internal
3990         fundamental type name so as to have a valid prefix, e.g. "bool"->
3991         "gboolean", "string"->"GtkString" and somesuch, left "void" as is,
3992         though that should probably be something like GtkNone since the
3993         type itself is called GTK_TYPE_NONE.
3994         even the internal type names need to avoid name clashes and must live
3995         in their own namespace, several code portions rely on that.
3996         we should relly have typedefs such as typedef gchar* GtkString; so the
3997         fundamental type names can be used for code dumpers just like with all
3998         the Gtk/Gdk types.
3999
4000 Wed Jul  8 15:31:28 1998  Tim Janik  <timj@gtk.org>
4001
4002         * gtk/gtkbutton.c: handle GTK_RELIEF_HALF, which was introduced to
4003         keep either GTK_STATE_NORMAL for relief buttons (GTK_RELIEF_NONE) or
4004         to still honour GTK_WIDGET_STATE(), e.g. for coloured buttons
4005         (GTK_RELIEF_HALF).
4006         (gtk_button_paint): set the background for prelighted buttons with
4007         GTK_STATE_NORMAL only if GTK_RELIEF_NONE.
4008         (gtk_button_draw_focus): if GTK_RELIEF_NONE, use GTK_STATE_NORMAL for
4009         the shadow type (otherwise we get strange shadows for coloured buttons).
4010         (gtk_button_set_relief): queue a redraw after changing
4011         the relief.
4012         (gtk_button_class_init): 
4013         (gtk_button_set_arg): 
4014         (gtk_button_get_arg): added object argument "GtkButton::relief".
4015
4016         * gtk/gtkenums.h (enum): added GTK_RELIEF_HALF.
4017
4018 Mon Jul  6 18:30:48 1998  Tim Janik  <timj@gtk.org>
4019
4020         * gtk/gtkbutton.h:
4021         * gtk/gtkbutton.c: GtkButtons are now derived from GtkBin. we mirror
4022         GTK_BIN (button)->child to button->child to keep source compatibility.
4023
4024         * gtk/gtkoptionmenu.c:
4025         * gtk/gtkclist.c:
4026         * gtkcheckbutton.c: don't refer to button->child, but
4027         GTK_BIN (button)->child instead.
4028
4029 Mon Jul  6 12:06:23 BST 1998  Tony Gale  <gale@gtk.org>
4030
4031         * docs/gtkfaq.sgml: update anon CVS info
4032
4033 Sat Jul  4 13:16:24 1998  Tim Janik  <timj@gtk.org>
4034
4035         * gtk/*.c: changed reversed_[12] to reserved_[12] in gtk_*_get_type
4036         functions.
4037
4038         * gdk/gdkwindow.c:
4039         * gdk/gdkvisual.c: check for some pointer values to be != NULL, prior
4040         to XFree() calls.
4041
4042 1998-07-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4043
4044         * gtk/gtkfeatures.h.in: Added GDK_HAVE_FULL_CROSSING_EVENT, since
4045         I seem to have erroneously added it to gtkfeatures.h (not .h.in).
4046
4047 Fri Jul  3 14:55:31 PDT 1998 Manish Singh <yosh@gimp.org>
4048
4049         * gtk/gtkfeatures.h.in: added GTK_HAVE_RELIEF_STYLE
4050
4051 Wed Jul  1 20:58:46 1998  Tim Janik  <timj@gtk.org>
4052
4053         * gtk/gtkwidget.h:
4054         * gtk/gtkwidget.c: temporary implementation of action signal "debug_msg"
4055
4056         * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixed an off-by-one
4057         error that prevented signal to entry addition for signals with
4058         parameters.
4059
4060 Wed Jul  1 10:05:36 PDT 1998 Manish Singh <yosh@gimp.org>
4061
4062         * ltconfig: fix for properly detecting shared lib support on
4063         SunPro cc (taken from libtool 1.2.a)
4064
4065 Wed Jul  1 03:33:30 1998  Tim Janik  <timj@gtk.org>
4066
4067         * gtk/gtkrc.c: implementation of the "class" keyword for styles.
4068
4069 Tue Jun 30 14:30:37 1998  Tim Janik  <timj@gtk.org>
4070
4071         * gtk/gtkrc.c: fixed lookup order for rc styles. the latest defined
4072         rc set pattern is favoured, this is needed for overriding of style
4073         patterns with subsequently parsed rc files.
4074
4075 Tue Jun 30 12:45:19 1998  Tim Janik  <timj@gtk.org>
4076
4077         * gtk/gtkrc.c: code overhaul for simplicity and more descriptive
4078         error messages.
4079
4080 Tue Jun 30 09:24:40 1998  Tim Janik  <timj@gtk.org>
4081
4082         * gtk/gtkaccelgroup.c (gtk_accelerator_parse): parse "<Release>"
4083         modifier as well.
4084         (gtk_accelerator_name): add "<Release>" to the accelerator name if
4085         neccessary.
4086
4087         * gtk/gtkbindings.c (BINDING_MOD_MASK): take BINDING_MOD_MASK into
4088         account.
4089
4090         * gtk/gtkwidget.c (gtk_widget_real_key_release_event): implemented
4091         default handler for key-release events, which checks for activation
4092         of GDK_RELEASE_MASK key bindings.
4093
4094         * gdk/gdktypes.h (enum): added GDK_RELEASE_MASK to GdkModifierType.
4095
4096 Mon Jun 29 13:39:45 1998  Tim Janik  <timj@gtk.org>
4097
4098         * gtk/gtkarrow.h: GtkType and macro fixups.
4099         * gtk/gtkarrow.c: widget argument implementation: "GtkArrow::arrow_type",
4100         "GtkArrow::shadow_type".
4101
4102 Sun Jun 28 11:39:17 1998  Tim Janik  <timj@gtk.org>
4103
4104         * gtk/gtkalignment.h:
4105         * gtk/gtkbin.h: GtkType and macro fixups.
4106         
4107         * gtk/gtkalignment.c (gtk_alignment_class_init): widget argument
4108         implementation: GtkAlignment::xalign, GtkAlignment::yalign,
4109         GtkAlignment::xscale, GtkAlignment::yscale.
4110
4111 Sun Jun 28 04:29:10 1998  Tim Janik  <timj@gtk.org>
4112
4113         * gtk/gtktypeutils.c (gtk_type_class_init): call the base class init
4114         fucntions from all parent types upon class initialization.
4115
4116         * gtk/gtkcontainer.c:
4117         (gtk_container_get_type): announce gtk_container_base_class_init to
4118         the type system.
4119         (gtk_container_base_class_init): new function to feature base class
4120         initialization.
4121         (gtk_container_get_child_arg): 
4122         (gtk_container_set_child_arg): call the GtkContainerClass get_child_arg
4123         and set_child_arg methods of the class indicated through the argument
4124         name.
4125
4126         * gtk/gtkobject.c:
4127         (gtk_object_base_class_init): new function to feature base class
4128         initialization.
4129         (gtk_object_init_type): announce gtk_object_base_class_init to the type
4130         system.
4131         (gtk_object_class_init): setup the get_arg and set_arg pointers for
4132         GtkObjectClass.
4133         (gtk_object_setv): 
4134         (gtk_object_getv): call the GtkObjectClass get_arg and set_arg methods,
4135         instead of bothering the type system with this.
4136
4137         * gtk/gtkaccellabel.c: 
4138         * gtk/gtkbutton.c: 
4139         * gtk/gtkradiobutton.c: 
4140         * gtk/gtktable.c:
4141         * gtk/gtktogglebutton.c: 
4142         * gtk/gtktipsquery.c: 
4143         * gtk/gtkbox.c: 
4144         * gtk/gtkpacker.c: 
4145         * gtk/gtkwidget.c: 
4146         * gtk/gtkwindow.c: 
4147         * gtk/gtkframe.c: 
4148         * gtk/gtkmisc.c:
4149         * gtk/gtklabel.c: set the object_class->{g|s}et_arg pointers to the
4150         corresponding gtk_*_{g|s]et_arg functions and updated the gtk_*_get_type
4151         functions wrt GtkTypeInfo initialization. changed a lot of the set/get
4152         arg functions to take a GtkObject argument.
4153
4154         gtk/gtkadjustment.c:
4155         gtk/gtkalignment.c:
4156         gtk/gtkarrow.c:
4157         gtk/gtkaspectframe.c:
4158         gtk/gtkbbox.c:
4159         gtk/gtkbin.c:
4160         gtk/gtkcheckbutton.c:
4161         gtk/gtkcheckmenuitem.c:
4162         gtk/gtkclist.c:
4163         gtk/gtkcolorsel.c:
4164         gtk/gtkcombo.c:
4165         gtk/gtkctree.c:
4166         gtk/gtkcurve.c:
4167         gtk/gtkdata.c:
4168         gtk/gtkdialog.c:
4169         gtk/gtkdrawingarea.c:
4170         gtk/gtkeditable.c:
4171         gtk/gtkentry.c:
4172         gtk/gtkeventbox.c:
4173         gtk/gtkfilesel.c:
4174         gtk/gtkfixed.c:
4175         gtk/gtkfontsel.c:
4176         gtk/gtkgamma.c:
4177         gtk/gtkhandlebox.c:
4178         gtk/gtkhbbox.c:
4179         gtk/gtkhbox.c:
4180         gtk/gtkhpaned.c:
4181         gtk/gtkhruler.c:
4182         gtk/gtkhscale.c:
4183         gtk/gtkhscrollbar.c:
4184         gtk/gtkhseparator.c:
4185         gtk/gtkimage.c:
4186         gtk/gtkinputdialog.c:
4187         gtk/gtkitem.c:
4188         gtk/gtkitemfactory.c:
4189         gtk/gtklist.c:
4190         gtk/gtklistitem.c:
4191         gtk/gtkmenu.c:
4192         gtk/gtkmenubar.c:
4193         gtk/gtkmenuitem.c:
4194         gtk/gtkmenushell.c:
4195         gtk/gtknotebook.c:
4196         gtk/gtkoptionmenu.c:
4197         gtk/gtkpaned.c:
4198         gtk/gtkpixmap.c:
4199         gtk/gtkpreview.c:
4200         gtk/gtkprogressbar.c:
4201         gtk/gtkradiomenuitem.c:
4202         gtk/gtkrange.c:
4203         gtk/gtkruler.c:
4204         gtk/gtkscale.c:
4205         gtk/gtkscrollbar.c:
4206         gtk/gtkscrolledwindow.c:
4207         gtk/gtkseparator.c:
4208         gtk/gtkspinbutton.c:
4209         gtk/gtkstatusbar.c:
4210         gtk/gtktext.c:
4211         gtk/gtktoolbar.c:
4212         gtk/gtktooltips.c:
4213         gtk/gtktree.c:
4214         gtk/gtktreeitem.c:
4215         gtk/gtkvbbox.c:
4216         gtk/gtkvbox.c:
4217         gtk/gtkviewport.c:
4218         gtk/gtkvpaned.c:
4219         gtk/gtkvruler.c:
4220         gtk/gtkvscale.c:
4221         gtk/gtkvscrollbar.c:
4222         gtk/gtkvseparator.c: updated the GtkTypeInfo initialization code to
4223         match the modified GtkTypeInfo structure.
4224
4225 Sat Jun 27 23:23:27 PDT 1998 Manish Singh <yosh@gimp.org>
4226
4227         * gtk/testgtk.c: use rand() instead of random() for portability
4228
4229 Sat Jun 27 22:42:28 PDT 1998 Manish Singh <yosh@gimp.org>
4230
4231         * configure.in
4232         * acconfig.h
4233         * gdk/gdk.c: use native Xlib XConvertCase if it's available
4234
4235 Sat Jun 27 15:44:46 1998  Tim Janik  <timj@gtk.org>
4236
4237         * gdk/gdk.c (gdkx_XConvertCase): compatibility function to provide
4238         XConvertCase() functionality from X11R6 on X11R5 systems.
4239
4240 Thu Jun 25 10:50:34 1998  Stefan Jeske  <stefan@gtk.org>
4241
4242         * gdk/gdk.h gdk/gdkfont.c: Added functions gdk_text_height,
4243         gdk_string_height, gdk_char_height to retrieve the exact
4244         height of a text.
4245
4246 Thu Jun 25 07:53:51 BST 1998  Tony Gale  <gale@gtk.org>
4247
4248         * docs/gtk_tut.sgml: add section on GtkCList widget, contributed
4249           by Stefan Mars <mars@lysator.liu.se>
4250         * examples/clist/clist.c examples/clist/Makefile: example code
4251           for GtkCList widget from the Tutorial
4252
4253 Wed Jun 24 16:38:02 1998  Tim Janik  <timj@gtk.org>
4254
4255         * gtk/gtkbin.c (gtk_bin_remove): do not avoid to queue for a resize
4256         if the container is not visible, we might be a toplevel! this holds
4257         for all other base container implementations as well, that are
4258         candidates to derive toplevels from. in general the resizing code will
4259         care about visibility itself.
4260         * gtk/gtkmenushell.c (gtk_menu_shell_remove): likewise.
4261         * gtk/gtkbox.c (gtk_box_remove): likewise.
4262
4263         * gtk/gtkwindow.c (gtk_window_move_resize): save ->use_uposition around
4264         gtk_window_set_hints(), since we haven't calculated the new position
4265         yet.
4266
4267         * gdk/gdkwindow.c (gdk_window_get_pointer): take care that *x, *y and
4268         *mask are alway initialized in a sane way, regardless of the return
4269         value.
4270
4271 Wed Jun 24 14:14:32 1998  Tim Janik  <timj@gtk.org>
4272
4273         * gtk/gtkcontainer.c: new function gtk_container_child_arg_set, similar
4274         to gtk_container_child_arg_setv, but takes a variable argument list.
4275         new function gtk_container_get_child_arg_type, which is needed by
4276         gtk_object_collect_args.
4277
4278         * gtk/gtkobject.c: changed prototype for gtk_object_collect_args, to
4279         take a function pointer to figure the argument type.
4280         adapted callers to pass gtk_object_get_arg_type.
4281         * gtk/gtkwidget.c: adapted gtk_object_collect_args callers to pass
4282         gtk_object_get_arg_type..
4283
4284         * gtk/gtkpacker.h: 
4285         * gtk/gtkpacker.c:
4286         (gtk_packer_reorder_child): new function to change the packing order
4287         of a child.
4288         (gtk_packer_size_request): 
4289         (gtk_packer_size_allocate): take container->border_width into acount.
4290
4291         * gtk/gtkpacker.c: implemented widget arguments:
4292         "GtkPacker::spacing", "GtkPacker::border_width", "GtkPacker::pad_x",
4293         "GtkPacker::pad_y", "GtkPacker::ipad_x", "GtkPacker::ipad_y".
4294         implemented child arguments:
4295         "GtkPacker::side", "GtkPacker::anchor", "GtkPacker::expand",
4296         "GtkPacker::fill_x", "GtkPacker::fill_y", "GtkPacker::use_default",
4297         "GtkPacker::border_width", "GtkPacker::pad_x", "GtkPacker::pad_y",
4298         "GtkPacker::ipad_x", "GtkPacker::ipad_y", "GtkPacker::position".
4299
4300         * gtk/gtkmisc.c (gtk_misc_set_arg): for padding args, set the padding,
4301         not the alignment.
4302
4303         * gtk/gtkeventbox.h:
4304         * gtk/gtkeventbox.c: GtkType and macro fixups.
4305
4306         * gtk/testgtk.c (entry_toggle_sensitive): new function to toggle
4307         sensitivity of an entry.
4308
4309         * gtk/gtkstyle.c (gtk_style_new): support normal grey as default color
4310         for insensitive base and text.
4311
4312         * gtk/gtkentry.c (gtk_entry_realize): set the window backgrounds
4313         widget state dependent.
4314         (gtk_entry_style_set): likewise.
4315         (gtk_entry_state_changed): set background color on state changes.
4316         (gtk_entry_draw_text): for non selected text, use state dependent
4317         colors.
4318
4319         * gtk/gtktogglebutton.c: support for widget arguments
4320         "GtkToggleButton::active" and "GtkToggleButton::draw_indicator".
4321
4322 Wed Jun 24 08:35:45 1998  Stefan Jeske  <stefan@gtk.org>
4323
4324         * gtk/gtkspinbutton.c (gtk_spin_button_spin): Added compatibility 
4325         code for 1.0.x-like parameters. Changed internal interface of
4326         gtk_spin_button_real_spin. Several fixes to avoid emission of
4327         "value_changed" where possible.
4328
4329 Tue Jun 23 22:21:33 PDT 1998 Manish Singh <yosh@gimp.org>
4330
4331         * gtk-boxed.defs: s/GkWidget/GtkWidget/
4332
4333 Wed Jun 24 07:47:29 1998  Tim Janik  <timj@gtk.org>
4334
4335         * gtk/testgtk.c (create_idle_test): added a frame with radio buttons
4336         to select the resize_mode for the idle-labels container.
4337
4338         * gtk/gtkframe.h: 
4339         * gtk/gtkframe.c: GtkType and macro corrections.
4340
4341         * gtk/gtkradiobutton.c (gtk_radio_button_set_arg): new function to
4342         support widget argument "GtkRadioButton::group".
4343
4344 Tue Jun 23 08:01:09 1998  Tim Janik  <timj@gtk.org>
4345
4346         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): queue a resize
4347         unconditionally if resize_mode has changed.
4348
4349         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_init): set
4350         GTK_RESIZE_QUEUE on the scrolled window.
4351         (gtk_scrolled_window_construct): set GTK_RESIZE_PARENT for the vieport.
4352
4353 Tue Jun 23 04:20:30 1998  Tim Janik  <timj@gtk.org>
4354
4355         * gtk/gtkcontainer.h:
4356         * gtk/gtkcontainer.c:
4357         (GTK_IS_RESIZE_CONTAINER): new macro to find out if
4358         a given gtkobject is a container with resize_mode==GTK_RESIZE_PARENT.
4359         (gtk_container_queue_resize): new function to queue a container for
4360         a *size* reallocation (doesn't affect its position, and thus its
4361         parent is left untouched usually).
4362         (gtk_container_get_resize_container): new function to retrive the next
4363         most resize container which is not itself queued for a resize.
4364         (gtk_container_idle_sizer): new function to carefully process the
4365         container_resize_queue since it can change during invokation of
4366         gtk_container_check_resize().
4367         (gtk_container_resize_children): total rework of this function to
4368         properly handle resize containers. makes a lot of assumptions whitch
4369         are stated in the comments.
4370
4371         * gtk/gtkcontainer.c:
4372         (gtk_container_real_check_resize): only requeue ourselves if we are not
4373         a resize container.
4374         (gtk_container_clear_resize_widgets): care for automatic deletion of our
4375         resize_widgets list on size_allocate through a handler connection.
4376
4377         * gtk/gtkwindow.c (gtk_window_shutdown): new functionm to reset the
4378         focus and default widget of a window, so to take the burden from
4379         gtk_widget_unparent.
4380
4381         * gtk/gtkviewport.c: removed gtk_viewport_check_resize, which tried
4382         to be clever, but actually messed up the resize_children logic and
4383         caused unneccessary allocations on its whole branch. besides this,
4384         it messed up the display by not invoking a redraw after the allocation.
4385
4386         * gtk/gtktable.c (gtk_table_set_child_arg): reverted recent change, so
4387         that it is the child again that is queued for a resize.
4388         (gtk_table_attach): likewise.
4389         (gtk_table_remove): likewise.
4390
4391 1998-06-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4392
4393         * gtk/gtkentry.h, gtk/gtkentry.c: Export the
4394         gtk_entry_adjust_scroll.  Required if you change the cursor
4395         position and want to sync it up with your code (Midnight Commander
4396         gtk front end needs this).
4397
4398         * gtk/gtktable.c: Deal with tables that have size 0, 0.
4399
4400 Tue Jun 23 12:12:19 BST 1998  Tony Gale  <gale@gtk.org>
4401
4402         * examples/README.1ST: new file to explain how the
4403           code examples should be extracted from the tutorial.
4404
4405 Mon Jun 22 18:43:11 1998  Lars Hamann  <lars@gtk.org>
4406
4407         * gtk/gtkctree.c (draw_row): added new "line style"
4408         GTK_CTREE_LINES_TABBED 
4409         * gtk/gtkctree.c/h (gtk_ctree_find_glist_ptr): new function to
4410         search the glist pointer of an GtkCTreeRow
4411
4412 1998-06-21  Raja R Harinath  <harinath@cs.umn.edu>
4413  
4414         * gtk/Makefile.am (gtk.defs,gtktypebuiltins*): Remove $(srcdir)
4415         from, and clean up, the dependencies.  Generate to intermediate
4416         files to prevent problems with Ctrl-C.
4417
4418         * gtk/genmarshal.pl: Generate `gtkmarshal.[ch]' in $srcdir.
4419
4420 Fri Jun 19 14:46:56 1998  Stefan Jeske  <stefan@gtk.org>
4421
4422         * gtk/gtkspinbutton.h gtk/gtkspinbutton.c gtk/testgtk.c:
4423         - Bug fix for precision problem causing occasional double emission 
4424           of "value_changed" signal (hopefully works now).
4425         - API change (should be binary compatible) : 
4426           new enum GtkSpinType; modified gtk_spin_button_spin to use it.
4427           Modified cursor example appropriately.
4428           To spin by something other than step_/page_increment, use
4429           gtk_spin_button_spin (spin, GTK_SPIN_USER_DEFINED, increment).
4430         - Made GTK_SHADOW_NONE the default. ;)
4431         - Fixed casting of GtkAdjustment* to GtkWidget* in
4432           gtk_spin_button_value_changed.
4433
4434 Fri Jun 19 06:18:19 1998  Tim Janik  <timj@gtk.org>
4435
4436         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): fail silently
4437         for toplevels. if resize_mode changes to GTK_RESIZE_PARENT, clear the
4438         resize widget list before queuing the container for a new reize.
4439         (gtk_container_need_resize): changed return value to FALSE, since this
4440         used to indicate that no further resizes are needed.
4441         (gtk_container_set_arg): 
4442         (gtk_container_get_arg): 
4443         (gtk_container_class_init): implemented GtkContainer::resize_mode
4444         argument.
4445
4446         (gtk_container_resize_children): when we walk up the tree of a resize
4447         widget we need to stop if we are the current parent.
4448
4449         * gtk/gtkwidget.c (gtk_widget_queue_resize): flag the resize child with
4450         GTK_RESIZE_NEEDED for container->resize_mode==GTK_RESIZE_IMMEDIATE.
4451         (gtk_widget_hide_all): retrive the toplevel widget from via
4452         gtk_widget_get_resize_container().
4453
4454 Thu Jun 18 23:08:36 1998  Owen Taylor  <otaylor@gtk.org>
4455
4456         * gtk/gtklist.c (gtk_list_button_press): Only respond
4457           to selection with button 1. This allows context-sensitive
4458           menus to work correctly.
4459
4460 Fri Jun 19 03:29:04 1998  Tim Janik  <timj@gtk.org>
4461
4462         * gtk/gtkaccelgroup.c: 
4463         * gtk/gtkbindings.c: 
4464         * gtk/gtkcontainer.c:
4465         * gtk/gtkitemfactory.c:
4466         * gtk/gtkobject.c: 
4467         * gtk/gtksignal.c:
4468         * gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
4469         g_quark_from_static_string calls to save memory.
4470
4471         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
4472         function _after_ the new data has been setup.
4473         minor changes to object data functions to feature the GQuark type.
4474
4475 Thu Jun 18 21:13:54 1998  Owen Taylor  <otaylor@gtk.org>
4476
4477         * gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
4478           from argv.
4479
4480 Thu Jun 18 20:22:28 1998  Owen Taylor  <otaylor@gtk.org>
4481
4482         * gtk/genmarshal.pl: Modified to be more idiomatic Perl,
4483           to be more readable perl, to spit out stuff that looks
4484           more like readable C, and to pipe output through indent
4485           so output looks a lot like readable C. No functional
4486           changes.
4487
4488 Thu Jun 18 17:43:31 1998  Owen Taylor  <otaylor@gtk.org>
4489
4490         * gtk/gtkpixmap.[ch] (gtk_pixmap_set): Clear the background if
4491           necessary when switching to a masked pixmap. (Based on a patch
4492           from Ullrich Hafner <hafner@informatik.uni-wuerzburg.de>)
4493
4494 Thu Jun 18 16:18:10 1998  Owen Taylor  <otaylor@gtk.org>
4495
4496         * gtk/gtkeditable.[ch]: Added action signals for keyboard
4497           bindings. (move_cursor, kill_word, etc, etc, etc). 
4498
4499           removed the time argument from
4500           gtk_editable_cut/copy/paste_clipboard (source but not
4501           binary incompatible...) Instead get time from
4502           gtk_get_current_event ().
4503         
4504         * gtk/gtktext.c gtk/gtkentry.c: Support the new editable
4505           signals.
4506
4507 Thu Jun 18 02:52:09 1998  Owen Taylor  <otaylor@gtk.org>
4508
4509         Patches from Damon Chaplin <DAChaplin@email.msn.com>:
4510
4511         gtk/gtkfontsel.h: Fixed GtkFontSelectionClass - I forgot to change
4512              parent class to GtkNotebookClass when splitting the widget in
4513              two.  Also updated some comments.
4514
4515         gtk/gtkfontsel.c: Fixed bug when toggling 'Allow scaled bitmaps'
4516                button without a font selected.
4517
4518              Fixed bug in set_font_name - I hadn't updated the code to
4519                search for the style in the font_style clist - it was
4520                still assuming the style row was equal to its index,
4521                but it isn't any more.
4522         
4523              Changed 'Reset' button on filter page to 'Clear Filter'.
4524              Deleted old code relating to the old 'Filter Fonts' toggle
4525              Updated some comments.
4526              Cleared 'Actual Fontname' if no font is set.
4527
4528         gtk/testgtk.c: Fixed problem when 'OK' button is pressed - it was
4529              destroying the GtkFontSelection instead of the
4530              GtkFontSelectionDialog.
4531
4532 Thu Jun 18 02:15:31 1998  Owen Taylor  <otaylor@gtk.org>
4533
4534         * gtk/gtkmain.c (gtk_init): Added --g-fatal-warnings
4535           flag to make all warnings fatal errors.
4536
4537         * gtk/testthreads.c: moved <pthreads.h> include inside 
4538           #ifdef USE_PTHREADS
4539
4540 Thu Jun 18 01:37:31 1998  Owen Taylor  <otaylor@gtk.org>
4541
4542         * gtk/gtkenums.h gtk/gtkcontainer.[ch] gtk/gtkwidget.c 
4543           gtk/gtkmenu.c gtk/gtkviewport.c gtk/gtkwindow.c:
4544
4545         - Added new function gtk_container_set_resize_mode() for
4546           fine-grained control of where resize-queueing is done.
4547
4548         - Removed GtkContainer::need_resize and GtkWindow::move_resize
4549         - Added GtkContainer::check_resize to replace need_resize.
4550
4551         - Added function gtk_container_check_resize() to trigger
4552           queued resizes, and gtk_container_resize_children() to
4553           Figure which children need to be size-allocated. (logic
4554           moved from gtkwindow.c)
4555
4556         - Reorganized code in gtkwindow.c
4557         
4558         - Set the resize-mode for viewports so that resizes within
4559           a viewport don't propagate out of it. 
4560         
4561 1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4562
4563         * gtk/gtkfontsel.c: Use pointer<->int conversion macros to avoid warnings.
4564
4565         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): Use
4566         g_return_val_if_fail, because the function *does* return a value.
4567
4568 Thu Jun 18 03:30:06 1998  Tim Janik  <timj@gtk.org>
4569
4570         * gtk/gtkaccellabel.h:
4571         * gtk/gtkaccellabel.c: new function gtk_accel_label_accelerator_width to
4572         request the size of the accelerator portion of an accel label.
4573         (gtk_accel_label_size_request): don't request for the accelerators size.
4574         (gtk_accel_label_expose_event): only draw the accelerator if we got
4575         enough extra space.
4576
4577         * gtk/gtkmenuitem.c (gtk_menu_item_size_request): request accelerator
4578         width from children.
4579
4580         * gtk/gtkmenu.c (gtk_menu_key_press): when adding an accelerator to an
4581         object (after removal has been requested) check if there is still an
4582         accelerator remaining to avoid adding two accelerators on an object.
4583         this can happen for locked accelerators (or accelerator-frozen widgets).
4584         (gtk_menu_size_request): feature childrens accelerator width in size
4585         requests.
4586
4587         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): use
4588         gtk_widget_freeze_accelerators() for dynamically created menu items.
4589
4590         * gtk/gtksignal.h: 
4591         * gtk/gtksignal.c: new function gtk_signal_handler_pending_by_func()
4592         which will return a handler_id > 0 if the specified function is pending
4593         for `signal_id'.
4594
4595         * gtk/gtkwidget.h:
4596         * gtk/gtkwidget.c: remove gtk_widget_stop_accelerator, which was just
4597         a signal handler function to stop accelerator addition.
4598         added gtk_widget_freeze_accelerators and gtk_widget_thaw_accelerators
4599         which will prevent (undo) any accelerators from being added to or
4600         removed from a widget.
4601
4602 Wed Jun 17 21:59:09 1998  Stefan Jeske  <stefan@gtk.org>
4603
4604         * gtkspinbutton.h gtkspinbutton.c testgtk.c:
4605         Changed GtkSpinButtonUpdatePolicy enum, added keyboard
4606         acceleration, new API gtk_spin_button_set_snap_to_ticks.
4607
4608 Wed Jun 17 03:47:40 1998  Tim Janik  <timj@gtk.org>
4609
4610         * gdk/gdk.h:
4611         * gdk/gdkwindow.c: new function gdk_window_at_pointer() to retrive
4612         the current GdkWindow the pointer is on if there is any.
4613         
4614         * gtk/gtktable.c (gtk_table_init): preallocate a table with one row
4615         and one column, so we don't construction logic at all. changed a few
4616         (x < y - 1) to (x + 1 < y), to avoid failing evaluations due to
4617         unsigned int wraps.
4618
4619         * gtk/gtkwidget.c (gtk_widget_set_parent): removed left over code
4620         portion, added an additional check for parent != widget.
4621
4622         * more GtkType and macro fixups.
4623
4624 1998-06-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4625
4626         * gtk/gtkhandlebox.c (draw_textured_frame): Now accepts an extra
4627         "clip" parameter, which is the clipping rectangle to use.  This
4628         eliminates the extremely annoying flicker when exposing parts of
4629         the handlebox.
4630
4631 Tue Jun 16 14:08:08 PDT 1998 Manish Singh <yosh@gimp.org>
4632
4633         * gtk/gtktable.c: fix from TimJ for off-by-one error in table
4634         resizing
4635
4636 Tue Jun 16 06:29:57 1998  Tim Janik  <timj@gtk.org>
4637
4638         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_state): check for
4639         != 0 on the argument.
4640
4641         * gtk/gtktable.h: 
4642         * gtk/gtktable.c: new function gtk_table_resize() which allowes
4643         shrinking and expanding of tables. implementation of widget arguments
4644         and child arguments. many signedness corrections.
4645
4646 Mon Jun 15 04:15:03 1998  Tim Janik  <timj@gtk.org>
4647
4648         * gtk/gtkbox.c (gtk_box_set_child_packing): queue the resize for the box
4649         not only the child, otherwise we might end up taking away other
4650         childrens space after the resize.
4651
4652         * gtk/gtkitemfactory.c (gtk_item_factory_parse_menu_path): if we parse
4653         an unknown menu path from any source, that path must always be flagged
4654         as "modified", since we don't really know whether it has its default
4655         value or not.
4656
4657         * gtk/gtktree.c:
4658         * gtk/gtkpacker.c:
4659         * gtk/gtknotebook.c:
4660         * gtk/gtkmenushell.c:
4661         * gtk/gtklist.c:
4662         * gtk/gtkpaned.c:
4663         * gtk/gtkfixed.c: 
4664         * gtk/gtkbutton.c: implement gtk_*_child_type functions.
4665
4666         * gtk/gtkbox.h: 
4667         * gtk/gtkbox.c: type corrections for expand, fill, padding and pack_type
4668         arguments. implemented child arguments.
4669
4670         * more GtkType and macro fixups.
4671
4672 Sun Jun 14 16:30:02 1998  Tim Janik  <timj@gtk.org>
4673
4674         * gtk/gtkcheckbutton.h: GtkType and macro fixups.
4675
4676         * gtk/gtkclist.h: exported the prototypes for gtk_clist_get_vadjustment
4677         and gtk_clist_get_hadjustment.
4678
4679         * gtk/gtkcontainer.c:
4680         implementation of children arguments, new class member functions
4681         (child_type), (get_child_arg) and (set_child_arg) plus a new field
4682         n_child_args.
4683         (gtk_container_child_type): new function which returns the type of a
4684         child that the container expects for its next addition.
4685         (gtk_container_add_child_arg_type): new function to introduce a new
4686         child argument at class creation time.
4687         (gtk_container_query_child_args): new function to query all child
4688         arguments that are supported by a container class.
4689         (gtk_container_child_arg_getv): new fucntion to retrive the value of a
4690         child argument.
4691         (gtk_container_child_arg_setv): new function to set a child argument for
4692         a certain container and child combination.
4693         (gtk_container_add_with_args):
4694         (gtk_container_add_with_argv): new functions to feature addition of a
4695         new child in combination with the setting of certain child arguments.
4696
4697         * gtk/gtktypeuitils.c (gtk_type_class_init): feature initialization of
4698         GtkContainerClass.n_child_args, similar to the GtkObjectClass members.
4699         this should really be done through class cretion hooks some day.
4700
4701         * gtk/gtkcontainer.c: changed type of border_width from gint16 to
4702         guint : 16.
4703
4704         * gtk/gtkpacker.h:
4705         * gtk/gtkpacker.c: renamed all PadX and PadY to pad_x and pad_y to
4706         follow the gtk convention for lower case variable names (important
4707         for language wrappers and widget arguments), and made them guint : 16.
4708
4709         * examples/packer/pack.c: adaptions for the case converted GtkPacker
4710         fields.
4711
4712 Fri Jun 12 16:33:23 1998  Tim Janik  <timj@gtk.org>
4713
4714         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_scanner): do not
4715         change the character pair for single line comments.
4716         (gtk_item_factory_parse_rc): use the cpair_comment_signle specified in
4717         GtkItemFactoryClass.
4718         (gtk_item_factory_parse_rc_string): likewise.
4719
4720 Mon Jun 15 23:39:44 1998  Owen Taylor  <otaylor@gtk.org>
4721
4722         * gtk/gtkfontsel.[ch] (gtk_font_selection_dialog_init): Moved font
4723         lists from the klass structure to a static structure
4724         in gtkfontsel.c; cleans up global the namespace.
4725
4726 Mon Jun 15 22:16:10 1998  Owen Taylor  <otaylor@gtk.org>
4727
4728         * gtk/makeenums.pl (parse_entries): Fix (untriggered)
4729         bug with /*< skip >*/ and remove warning.
4730         
4731 Mon Jun 15 20:14:09 1998  Owen Taylor  <otaylor@gtk.org>
4732
4733         * gtk/Makefile.am: Made the gtkmarshal.* generation
4734         rules maintainer-only.
4735
4736 Mon Jun 15 16:29:45 1998  Owen Taylor  <otaylor@gtk.org>
4737
4738         * gdk/gdktypes.h gdk/gdkprivate.h gtk/gtk*.h 
4739           gtk/Makefile.am gtk/makenums.pl 
4740
4741         Removed out the G_ENUM/FLAGS mechanism in favor
4742         of a perl script that parses the standard headers
4743         (with occasional /*< nick=foo >*/ style overrides)
4744         and extracts the enumerations.
4745
4746           gtk/maketypes.awk: Small improvments to the
4747           translation of names. (Avoid splitting gc into
4748           g_c_.)
4749         
4750 Mon Jun 15 16:25:44 1998  Owen Taylor  <otaylor@gtk.org>
4751
4752         * gtk/gtk.h gtk/gtkfontsel.[ch]: 
4753         Damon Chaplin's <DAChaplin@email.msn.com> Font selection widget.
4754         
4755 Mon Jun 15 15:58:34 1998  Owen Taylor  <otaylor@gtk.org>
4756
4757         * gtk/gtkentry.c:
4758         - Restored gtk_entry_adjust_scroll to static 
4759         - Changed text positioning code so that we always
4760           display as large a portion of the text as possible.
4761
4762 Mon Jun 15 15:42:12 1998  Owen Taylor  <otaylor@gtk.org>
4763
4764         * gtk/gtktext.c (gtk_text_finalize): Free internal
4765         structures of text widget. Also, unreference pixmaps
4766         when unrealizing.
4767         
4768 Sat Jun 13 19:14:39 1998  Owen Taylor  <otaylor@gtk.org>
4769
4770         * gdk/gdkinputcommon.h (gdk_input_device_new): Change
4771         3.3.1 bug workaround to number keys starting at 1.
4772
4773 Sat Jun 13 11:56:57 1998  Owen Taylor  <otaylor@gtk.org>
4774
4775         * docs/gtk_tut.sgml: Fixed urls for complete example
4776         source for scribble+widget-writing examples.
4777
4778 Sat Jun 13 11:48:26 1998  Owen Taylor  <otaylor@gtk.org>
4779
4780         * gdk/gdkpixmap.c (gdk_pixmap_extract_color): 
4781         Patch from Tom Bech <tomb@ii.uib.no>, to handle color
4782         specs of the form c #abcdef [ more keys ] properly.
4783
4784 Sat Jun 13 10:51:56 1998  Stefan Jeske  <stefan@gtk.org>
4785
4786         * gtkspinbutton.h gtkspinbutton.c testgtk.c 
4787         (gtk_spin_button_set_shadow_type):
4788         New API to set the shadow type of the arrow panel.
4789
4790 Fri Jun 12 21:20:42 1998  Owen Taylor  <otaylor@gtk.org>
4791
4792         * gtk/gtkoptionmenu.c (gtk_option_menu_expose): Removed
4793         code for drawing the child in two places at once. Unfortunately,
4794         not only does it not work anymore (because reparenting has
4795         been fixed), but it also triggers reparent/expose loops
4796         in some cases.
4797
4798         * gtk/gtkoptionmenu.c (gtk_option_menu_remove_contents): Removed
4799         an unecessary unrealize.
4800
4801 Fri Jun 12 21:18:56 1998  Owen Taylor  <otaylor@gtk.org>
4802
4803         * gdk/gdkwindow.c (gdk_window_reparent): Update the
4804           old and new parents' child window lists properly.
4805
4806 Fri Jun 12 09:24:47 1998  Tim Janik  <timj@gtk.org>
4807
4808         * gtk/gtkpacker.h:
4809         * gtk/gtkpacker.c: renamed enum GtkAnchor and GtkSide to GtkAnchorType
4810         and GtkSideType, to be consistent with the rest of Gtk's enum
4811         definitions. wrapped the enum definitions with the G_ eunm wrappers.
4812         spelled out the GTK_ANCHOR_* enum values, since single letters don't
4813         work out corectly as nick-names (left the old values as aliases).
4814         some signdness corrections (border-width, spacing), could stand more.
4815
4816 Thu Jun 11 14:38:33 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
4817
4818         * gtk/gtkpacker.c, gtk/gtkpacker.h, gtk/gtk.h, gtk/Makefile.am: 
4819           Added gtkpacker
4820
4821         * examples/packer/pack.c, examples/packer/Makefile: Added
4822           gtkpacker example
4823
4824 Thu Jun 11 13:09:00 1998  Owen Taylor  <otaylor@gtk.org>
4825
4826         * gtk/gtktext.c (remove_cache_line): Fixed broken
4827         list-removal code.
4828
4829         * gtk/gtktext.c: (gtk_text_delete_(forward/backward)_cahr)
4830         Check bounds before deleting.
4831
4832 Wed Jun 10 23:21:33 1998  Owen Taylor  <otaylor@gtk.org>
4833
4834         * autogen.sh: Support ACLOCAL_FLAGS
4835
4836 Wed Jun 10 20:54:37 1998  Owen Taylor  <otaylor@gtk.org>
4837
4838         * gtk-config.in: Added missing quotes.
4839
4840 Wed Jun 10 18:44:22 PDT 1998 Manish Singh <yosh@gimp.org>
4841
4842         * gtk/gtkfeatures.in: #define GTK_HAVE_ACCEL_GROUP
4843
4844 1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
4845
4846         * acconfig.h (GTK_COMPILED_WITH_DEBUGGING): Renamed from
4847         G_COMPILED_WITH_DEBUGGING.
4848
4849         * configure.in (fd_set): Explain check better.
4850
4851         * acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
4852         the version from which gtk+'s libtool forked.  Needed for people
4853         who use post-1.2 alphas of libtool.
4854
4855 Wed Jun 10 19:36:35 1998  Owen Taylor  <otaylor@gtk.org>
4856
4857         * glib/* Moved to glib module
4858
4859         * INSTALL Makefile.am acconfig.h autogen.sh configure.in
4860           gtk-config.in gtk.m4 gdk/Makefile.am gtk/Makefile.am
4861
4862           configuration changes for the above:
4863          
4864           - Use AM_PATH_GLIB by default to find glib; also accept
4865             a --with-glib option for using an uninstalled glib.
4866          
4867           - Put --enable-debug information into config.h so
4868             that we rebuild when it changes. (was in glibconfig.h)
4869
4870 Wed Jun 10 22:23:27 1998  Lars Hamann  <lars@gtk.org>
4871
4872         * gtk/gtkctree.c (draw_row): adapted clist pixmap clipping
4873
4874         * gtk/gtknotebook.h (struct _GtkNotebookClass):
4875         * gtk/gtknotebook.c (gtk_real_notebook_switch_page): 
4876         added missing argument (according to Joseph Coleman's bug report)
4877
4878         * gtk/gtknotebook.c (gtk_notebook_set_focus_child): new class
4879         function to fix notebook focus handling
4880         
4881 Wed Jun 10 12:57:03 1998  Owen Taylor  <otaylor@gtk.org>
4882
4883         * gdk/gdkcc.c glib/ghash.c glib/glib.h glib/gstring.c
4884           glib/gutils.c glib/testglib.c glib/gdataset.c
4885           gtk/gtkaccelgroup.c gtk/gtkmain.c gtk/gtksignal.c
4886           gtk/gtktext.c gtk/gtkbindings.c:
4887
4888          renamed g_const_pointer => gconstpointer
4889
4890 Wed Jun 10 06:25:17 1998  Tim Janik  <timj@gtk.org>
4891
4892         * gdk/gdk.c (gdk_init): prevent gdk_init() from segfaulting when
4893         invoked with (NULL, NULL); (this worked sometime ago).
4894
4895         * gtk/gtktypeutils.h: 
4896         * gtk/gtktypeutils.c: enum and flags type creation can now be done
4897         through gtk_type_register_enum() and gtk_type_register_flags(),
4898         which allow to specify the enum value arrays directly.
4899         the NULL terminated value arrays can be retrived through
4900         gtk_type_enum_get_values() and gtk_type_flags_get_values();
4901         (gtk_type_children_types): new function to query derived types.
4902
4903 1998-06-09  Raja R Harinath  <harinath@cs.umn.edu>
4904
4905         * gtk/Makefile.am (gtkmarshal.c gtkmarshal.h): Pass $srcdir in
4906         environment to genmarshal.pl.
4907         (gtk.defs,gtktypebuiltins*): Add $(srcdir) where needed (in the
4908         rule), and removed it where not needed (in the dependencies).
4909
4910         * gtk/genmarshal.pl: Look for `gtkmarshal.list' in $srcdir.
4911
4912 Tue Jun  9 18:44:57 1998  Owen Taylor  <otaylor@gtk.org>
4913
4914         * gtk/gtkobject.c: Removed g_object_pointer_hash, which
4915         was just g_direct_hash.
4916
4917 Mon May 25 19:54:20 1998  Owen Taylor  <otaylor@gtk.org>
4918
4919         * configure.in: x_libs=, not $x_libs=. Enough said.
4920           (Case only hit for --disable-xshm)
4921         
4922 Mon May 25 12:08:14 1998  Owen Taylor  <otaylor@gtk.org>
4923
4924         * configure.in (LDFLAGS): Add to $CFLAGS and $LDFLAGS
4925           when testing for X libraries, don't replace them. Because
4926           the user might have specified the path to the X libraries
4927           themself before running configure.
4928
4929         * examples/**.c: Changed all gpointer * to gpointer
4930         
4931 1998-06-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4932
4933         * gtk/gtkhandlebox.h (struct _GtkHandleBox): Removed the
4934         fleur_cursor field.  Now the cursor is created/destroyed on demand
4935         by the routines that need it.
4936
4937         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): 
4938         (gtk_handle_box_motion): The fleur cursor is created and destroyed
4939         only when needed.
4940
4941 Tue Jun  9 09:57:09 1998  Tim Janik  <timj@gtk.org>
4942
4943         * gtk/gtktypeutils.h: 
4944         * gtk/gtktypeutils.c: renamed the newly created gtk_enum_get_values and
4945         gtk_enum_set_values to gtk_type_enum_get_values and
4946         gtk_type_enum_set_values respectively, since they are actually type
4947         system features.
4948
4949         * gtk/gtktypebuiltins_evals.c: oops, screwed the NULL termination with
4950         my last commit. ;)
4951
4952 Tue Jun  9 01:57:23 1998  Tim Janik  <timj@gtk.org>
4953
4954         * gtk/gtkselection.h: 
4955         * gtk/gtkselection.c: new functions gtk_selection_data_copy and
4956         gtk_selection_data_free.
4957
4958         * gtk/gtkwidget.c (gtk_widget_class_init): fixed gtk_signal_new() call
4959         for "selection_received", which was completely bogus.
4960         * other fixups to gtk_signal_new() calls all over the place.
4961
4962         * gtk/gtktypebuiltins.h: types as variables (formerly macros).
4963         * gtk/gtktypebuiltins_vars.c: type variable implementations.
4964         * gtk/gtktypebuiltins_ids.c: array entries for builtin type
4965         declarations.
4966         * gtk/gtktypebuiltins_evals.c: enum value arrays.
4967         * gtk/gtk-boxed.defs: gtk and gdk structure definitions, used to build
4968         gtk.defs.
4969         * gtk/gtk.defs: generated file with scheme syntax for type definitions
4970         of gtk and gdk structures and enums.
4971         * gtk/gtktypeutils.h: 
4972         * gtk/gtktypeutils.c: reworked type ids, so they are variables not
4973         macros anymore (this fixes binary incompatibility with new enum
4974         definitions).
4975
4976         * gtk/gtkwidget.c (gtk_widget_real_key_press_event): proccess possible
4977         key bindings for this widget.
4978         * gtk/gtkwindow.c (gtk_window_key_press_event): chain parent class'
4979         handler.
4980
4981         * gtk/gtkobject.h:
4982         * gtk/gtkobject.c: removed gtk_object_class_new_user_signal_no_recurse()
4983         again. new functions gtk_object_class_user_signal_new () and
4984         gtk_object_class_user_signal_newv (), to feature the GtkSignalRunType
4985         flag on the signal creation.
4986
4987 Mon Jun  8 20:52:21 1998  Tim Janik  <timj@gtk.org>
4988
4989         * gtk/gtkcontainer.h: new signal GtkContainer::set_focus_child.
4990
4991 Mon Jun  8 02:52:37 1998  Tim Janik  <timj@gtk.org>
4992
4993         * gdk/gdkprivate.h: 
4994         * gdk/gdktypes.h: 
4995         * gtk/gtkprivate.h: 
4996         * gtk/gtkwidget.h: 
4997         * gtk/gtkobject.h: wrapped enum definitions with glib macros.
4998
4999         * reworked enum value array generation code. gtk.defs is a generated
5000         file now.
5001
5002 Sun Jun  7 14:34:31 1998  Tim Janik  <timj@gtk.org>
5003
5004         * gtk/gtkitemfactory.c (gtk_item_factory_create_menu_entries): feature
5005         check menu items in the compatibility code (this required me to remove
5006         the "<check>" part from the menu item name, grrr).
5007
5008 1998-06-07  Marius Vollmer  <mvo@zagadka.ping.de>
5009
5010         * gdk/gdk.h (gdk_color_copy, gdk_color_free): New prototypes.
5011         * gdk/gdk.c (gdk_color_copy, gdk_color_free): New functions.
5012         
5013 Sun Jun  7 10:53:02 1998  Tim Janik  <timj@gtk.org>
5014
5015         * gtk/gtkitemfactory.h: 
5016         * gtk/gtkitemfactory.c: further additions to fit the gimp's code.
5017         additions to the dumping code to feature GtkPatternSpec.
5018         even found a bug to fix in the original code ;)
5019         
5020 Sun Jun  7 09:36:04 1998  Tim Janik  <timj@gtk.org>
5021
5022         * gtk/gtkitemfactory.c: support different types of callbacks, to
5023         maintain existing code.
5024
5025 Sat Jun  6 06:01:24 1998  Tim Janik  <timj@gtk.org>
5026
5027         * gtk/gtksignal.c (gtk_signal_emitv): fixed an assertment.
5028
5029         * gtk/makeenums.awk: a script to generate the GtkEnumValue arrays from,
5030         this should eventually be done by gentypeinfo.el somewhen.
5031         * gtk/gtkenumvalues.c: new generated file to hold GtkEnumValue arrays.
5032
5033         * gtk/gtktypeutils.h: new function gtk_enum_values() to retrive all the
5034         enum values of an enum type.
5035
5036         * gtk/gtk.defs:
5037         * gtk/gtkcurve.h: 
5038         * gtk/gtkobject.h: 
5039         * gtk/gtkprivate.h: 
5040         * gtk/gtkwidget.h:
5041         * gtk/gtkenums.h: 
5042         brought enum/flags definitions in sync, added a few more enum
5043         definitions for bindings and pattern matching.
5044
5045         * some more macro and GtkType fixups in various places.
5046
5047         * gdk/gdktypes.h (enum): added a new value GDK_AFTER_MASK, which is used
5048         as a key-release modifier for the binding system.
5049
5050 Fri Jun  5 06:06:06 1998  Tim Janik  <timj@gtk.org>
5051
5052         * gtk/gtkmenu.h (struct _GtkMenu): removed GList*children, since it
5053         was a stale list pointer that is already present in GtkMenuShell.
5054
5055         * gtk/gtkmenushell.h (struct _GtkMenuShellClass): added a signal
5056         GtkMenuShell::selection_done which is emitted after the menu shell
5057         poped down again and all possible menu items have been activated.
5058
5059 Thu Jun  4 02:20:42 1998  Tim Janik  <timj@gtk.org>
5060
5061         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): flush the x-queue
5062         before activation of the menuitem, so the menu is actually taken off the
5063         screen prior to any menu item activation.
5064
5065         * gtk/gtkctree.c (gtk_ctree_get_row_data): allow function invokation
5066         for NULL nodes.
5067
5068         * gtk/gtkwidget.h:
5069         * gtk/gtkwidget.c: new function gtk_widget_stop_accelerator to stop
5070         the emission of the "add-accelerator" signal on a widget. this is
5071         usefull to prevent accelerator installation on certain widgets.
5072
5073         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): keep the menu
5074         labels left justified, by setting their alignment. stop accelerator
5075         installation for the menu items, since we use dynamic menus.
5076
5077 Wed Jun  3 06:41:22 1998  Tim Janik  <timj@gtk.org>
5078
5079         * gtk/gtkmenufactory.c: adaptions to use the new accel groups. people
5080         should *really* use GtkItemFactory. this is only for preserving source
5081         compatibility where possible, use of GtkMenuFactory is deprecated as of
5082         now.
5083
5084         * gtk/gtkobject.h (gtk_object_class_add_user_signal): new function
5085         to create user signals of type GTK_RUN_NO_RECURSE. don't know why i
5086         missed this possibility when i added gtk_object_class_add_user_signal
5087         in late january.
5088
5089         * gtk/gtkmain.c (gtk_init): ignore subsequent function calls.
5090
5091 Sun May 31 07:31:09 1998  Tim Janik  <timj@gtk.org>
5092
5093         * gtk/gtkaccelgroup.h: 
5094         * gtk/gtkaccelgroup.c: new implementation of the accelerator concept.
5095
5096         * gtk/gtkaccellabel.h: 
5097         * gtk/gtkaccellabel.c: new widget derived from GtkLabel whitch features
5098         display of the accelerators associated with a certain widget.
5099
5100         * gtk/gtkitemfactory.h: 
5101         * gtk/gtkitemfactory.c: new widget, item factory with automatic rc
5102         parsing and accelerator handling.
5103
5104         * gtk/gtkmenu.c (gtk_menu_reposition): new function to care for
5105         positioning a menu.
5106         (gtk_menu_map): removed the allocation code.
5107         (gtk_menu_size_allocate): care for redrawing of children and resize
5108         our widget->window correctly.
5109         (gtk_menu_key_press): feature the new accelerator groups.
5110
5111         * gtk/gtkmenuitem.c (gtk_menu_item_size_allocate): reposition the
5112         submenu if neccessary.
5113
5114         * gtk/gtkmenuitem.c:
5115         * gtk/gtkcheckmenuitem.c:
5116         * gtk/gtkradiomenuitem.c: use GtkAccelLabel in the *_new_with_label()
5117         function variants.
5118
5119         * gdk/gdk.c:
5120         (gdk_keyval_from_name): 
5121         (gdk_keyval_name): new functions for keyval<->key-name associations.
5122         (gdk_keyval_to_upper): 
5123         (gdk_keyval_to_lower): 
5124         (gdk_keyval_is_upper): 
5125         (gdk_keyval_is_lower): new functions to check/translate keyvalues with
5126         regards to their cases.
5127
5128 Wed May 27 00:48:10 1998  Tim Janik  <timj@gtk.org>
5129
5130         * gtk/gtkwidget.c (gtk_widget_class_path): new function to calculate a
5131         widget's class path.
5132         (gtk_widget_path): new function to calculate a widget's name path.
5133
5134         * gtk/gtkrc.c: newly introduced GtkPatternSpec structures to speed up
5135         pattern matching, features reversed pattern matches.
5136
5137 Thu Jun  4 12:12:11 BST 1998  Tony Gale  <gale@gtk.org>
5138
5139         * examples/extract.sh, examples/extract.awk:
5140           New files to automagically extract code examples from the
5141           tutorial.
5142
5143 Tue Jun  2 20:04:45 1998  Lars Hamann  <lars@gtk.org>
5144
5145         * gtk/gtknotebook.c (gtk_notebook_page_select) (gtk_notebook_focus)
5146         * gtk/gtkcontainer.c (gtk_container_focus_move):
5147         reversed test sequence for GTK_WIDGET_CAN_FOCUS and GTK_IS_CONTAINER
5148
5149 Tue Jun  2 13:04:06 BST 1998  Tony Gale  <gale@gtk.org>
5150
5151         * docs/gtk_tut.sgml: minor changes to support auto
5152           extraction of example code
5153
5154 Mon Jun  1 12:47:56 BST 1998  Tony Gale  <gale@gtk.org>
5155
5156         * docs/gtk_tut_it.sgml: Update of Italian Tutorial
5157           to Tutorial of 24th May, from Daniele Canazza <dcanazz@tin.it>
5158
5159 Fri May 29 13:53:57 BST 1998  Tony Gale  <gale@gtk.org>
5160
5161         * docs/gtk_tut.sgml:
5162           - new section on Events
5163           - change all delete_event callbacks to include
5164             a GdkEvent parameter
5165           - clean up the formatting
5166
5167         * examples - helloworld.c, helloworld2.c, notebook.c,
5168           packbox.c, pixmap.c, progressbar.c, radiobuttons.c,
5169           rulers.c, table.c, wheelbarrow.c: change all delete_event
5170            callbacks to include a GdkEvent parameter.
5171
5172 1998-05-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5173
5174         * gdk/gdktypes.h (GdkCrossingMode): New enumeration for the "mode"
5175         field of crossing events.
5176         (struct _GdkEventCrossing): Added the following fields: time, x,
5177         y, x_root, y_root, mode, focus, state.
5178
5179         * gdk/gdk.c (gdk_event_translate): Fill in the new fields of the
5180         crossing event structure.
5181
5182         * gtk/gtkfeatures.h (GDK_HAVE_FULL_CROSSING_EVENT): Annotate
5183         changes to the crossing event structure.
5184
5185 Tue May 26 15:51:28 1998  Radek Doulik  <gis@academy.cas.cz>
5186
5187         * gdk/gdk.c: include gdkx.h always (for GDK_ROOT_WINDOW)
5188
5189 Sun May 24 12:11:38 BST 1998  Tony Gale  <gale@gtk.org>
5190
5191         * docs/gtk_tut.sgml:
5192            - GtkTooltips, update to current API
5193            - change all 'gpointer *data' to 'gpointer data'
5194            - other minor changes
5195
5196 Sat May 23 21:54:05 1998  Owen Taylor  <otaylor@gtk.org>
5197
5198         * configure.in (LDFLAGS): Bomb out with a moderately
5199           helpful message if detection of X libraries fails.
5200
5201 Sat May 23 18:57:06 1998  Owen Taylor  <otaylor@gtk.org>
5202
5203   [ Combination of:
5204      gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
5205      gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
5206
5207         * gdk/gdk.h gdk/gdkcc.c gdk/gdkfont.c gtk/gtkmain.c
5208           gtk/gtksignal.c gtk/gtktext.c: 
5209
5210           Fixups for warnings from adding const to type of GHashFunc,
5211           GCompareFunc
5212         
5213         * gtk/gtkcombo.c (gtk_combo_entry_key_press): Minor style/
5214           ansi-warnings fixups.
5215
5216 Sat May 23 17:48:58 1998  Owen Taylor  <otaylor@gtk.org>
5217
5218         * gtk/gtkeventbox.c (gtk_event_box_size_allocate): 
5219         Locate child at (border_width,border_width), not
5220         (2*border_width,2*border_width). [ The border is _outside_
5221         widget->window ]
5222         
5223         * gdk/gdk.[ch]: added gdk_screen_width_mm/gdk_screen_height_mm
5224           functions. [From: Alexander Larsson <alla@lysator.liu.se> ]
5225
5226 1998-05-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5227
5228         * gtk/gtkfeatures.h.in: Define GTK_HAVE_RC_SET_IMAGE_LOADER, to be
5229         used in gnome-libs
5230
5231 1998-05-22    <sopwith@redhat.com>
5232
5233         * gtk/gtkeventbox.c: Pass size_allocate on to the child
5234         regardless of whether it is visible or not. Also
5235         locate child at (border_width,border_width), not (0,0)
5236
5237 Fri May 22 03:02:40 1998  Owen Taylor  <otaylor@gtk.org>
5238
5239         * gtk/gtkhandlebox.c: Added style_set handler.
5240
5241 Fri May 22 02:55:57 1998  Owen Taylor  <otaylor@gtk.org>
5242  [ From: Chris Lahey  <clahey@umich.edu> ]
5243         
5244         * gtk/gtkeditable.c, gtk/gtkeditable.h,
5245           gtk/gtktext.c, gtk/gtkentry.c: Added get_position,
5246           and set_position functions to get and set the cursor position.
5247
5248         * gtk/gtkeditable.c: Restored "insert_text" and "delete_text" to
5249           signal status. Make GtkText do user-controlled insertion
5250           and deletion through the Editable widget so that these
5251           signals are properly emitted.
5252
5253         * gtk/gtkentry.c: Changed gtk_entry_set_visibility to 
5254           display asterisks instead of empty space when visible = FALSE)
5255
5256 Fri May 22 08:51:10 CEST 1998  Paolo Molaro <lupus@debian.org>
5257
5258         * gtk/gtkclist.c: use GTK_TYPE_GDK_EVENT in (un)?select_row
5259         signal.
5260
5261 1998-05-21    <sopwith@redhat.com>
5262
5263         * gtk/gtkrc.[ch]: gtk_rc_set_image_loader() - allow apps to set a
5264         custom routine for loading images specified in gtkrc's.
5265
5266 Tue May 19 23:41:04 1998  Owen Taylor  <otaylor@gtk.org>
5267
5268         * configure.in: Use pthread_attr_init() as a test function,
5269         since most of the rest of -lpthread is macros on DU4.
5270
5271 Tue, 19 May 1998 09:03:03 +0200  Paolo Molaro <lupus@debian.org>
5272
5273         * gtk/gtkcombo.c: implemented completion in the entry.
5274
5275 1998-05-18    <sopwith@moebuis.labs.redhat.com>
5276
5277         * gtk/gtk{debug.h,signal.c,main.c}: Allow GTK_DEBUG=signals
5278
5279 Mon May 18 04:01:41 1998  Tim Janik  <timj@gtk.org>
5280
5281         * gtk/gtkwidget.c (gtk_widget_class_init): changed "proximity-in-event",
5282         "drop-data-available-event", "drop-enter-event" and "drop-leave-event"
5283         to be of runtype GTK_RUN_LAST.
5284
5285         * gtk/gtkcontainer.c (gtk_container_class_init): likewise for
5286         "need-resize".
5287
5288         * gtk/gtktipsquery.c (gtk_tips_query_class_init): likewise for
5289         "widget-selected".
5290
5291 Sat May 16 09:04:32 1998  Tim Janik  <timj@gtk.org>
5292
5293         * gtk/gtkfilesel.c (gtk_file_selection_key_press): g_strdup() the
5294         text retrived from GtkEntry. only intercept the Tab key if there
5295         was some text to complete.
5296
5297 Fri May 15 21:16:54 1998  Owen Taylor  <otaylor@gtk.org>
5298
5299         Basic thread-awareness:
5300
5301         * acconfig.h configure.in: New option --with-threads=[yes/posix/no]
5302
5303         * gdk/Makefile.am gdk/gdkthreads.c: Added new functions 
5304         gdk_threads_[init/enter/leave] for applications, plus
5305         gdk_threads_wake to wake the mainloop thread out of
5306         the select().
5307
5308         * gtk/Makefile.am: gtk/testthreads.c: Test program for threads
5309
5310 Fri May 15 12:08:48 1998  Owen Taylor  <otaylor@gtk.org>
5311
5312         * gtk/testgtk.c (list_clear): Account for the fact
5313         that gtk_list_clear_items is not inclusive. (Clears
5314         [start, end))
5315
5316 Fri May 15 12:31:27 1998  rodo  <doulik@karlin.mff.cuni.cz>
5317
5318         * gdk/gdk.c: include gdkkeysyms.h always
5319         
5320
5321 Fri May 15 09:44:10 1998  Tim Janik  <timj@gtk.org>
5322
5323         * gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of
5324         the visibility_notify_event method and changed method order.
5325
5326 1998-05-14    <sopwith@moebuis.labs.redhat.com>
5327
5328         * gtk/gtkwidget.[ch] Added visibility_notify_event to GtkWidget
5329
5330 Thu May 14 03:04:43 1998  Tim Janik  <timj@gtk.org>
5331
5332         * gtk/gtk.defs: added GtkButtonBoxStyle and GtkOrientation definitions
5333         from Olli Helenius <ollhel@batman.jytol.fi>.
5334
5335         * gtk/gtktypeutils.c (gtk_type_free): new function to take care about
5336         freeing types.
5337         (gtk_type_set_chunk_alloc): new function to allow allocation of new
5338         types from a mem_chunk of certain size (n_chunks==0 indicates allocation
5339         thorugh g_malloc).
5340
5341         * gtk/gtkobject.c (gtk_object_finalize): free an object through
5342         gtk_type_free().
5343
5344         * gtk/gtkbutton.c (gtk_button_get_type): set chunk preallocation for
5345         GtkButtons to 16.
5346         * gtk/gtkmenuitem.c (gtk_menu_item_get_type): likewise (16).
5347         * gtk/gtklabel.c (gtk_label_get_type): likewise (32).
5348
5349 Wed May 13 00:53:52 1998  Owen Taylor  <otaylor@gtk.org>
5350
5351         * gtk/gtktypeutils.c gtk/gtksignal.c gdk/gdkdnd.c: A few more 
5352           GPOINTER_TO_UINT fixes.
5353
5354         * gtk/gtksignal.c: Include <string.h> for memset.
5355
5356 Tue May 12 23:10:53 1998  Owen Taylor  <otaylor@gtk.org>
5357         (Maximilian Bisani <bisani@kawo2.rwth-aachen.de>: gtk-bisani-980320-0)
5358
5359         * gtk/gtkvruler.c gtk/gtkhruler.c gtk/gtkruler.h: 
5360         Cleanups, comments and the ability to have rulers with 
5361         a reversed direction.
5362
5363 Tue May 12 19:37:55 1998  Owen Taylor  <otaylor@gtk.org>
5364
5365         * gtk/gtkrc.c (gtk_rc_parse_file): Fixed up a stat()
5366         that Sopwith missed when changing stat => lstat.
5367
5368 Tue May 12 19:19:29 1998  Owen Taylor  <otaylor@gtk.org>
5369
5370         * gtk/gtkinputdialog.c gtk/gtkgamma.c gtk/gtkrc.c
5371           gtk/gtkcolorsel.c gtk/gtkclist.c gtk/testgtk.c: Use
5372         GPOINTER_TO_INT/GINT_TO_POINTER macros where appropriate.
5373
5374         * gdk/gdk.c: Print sizeof() results
5375         as g_print("%ld", (glong)sizeof(foo)), to deal with
5376         sizeof() being long on Alpha's.
5377
5378         * gtk/testgtk.c: include <string.h> for strlen
5379
5380 Tue May 12 16:56:35 1998  Owen Taylor  <otaylor@gtk.org>
5381         (James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
5382         
5383         * gtk/gtkbbox.h gtk/gtkcolorsel.h gtk/gtkvbbox.h:
5384         Changed #include "gtkfoo.h" to #include <gtk/gtkfoo.h>
5385
5386         * gtk/gtkwindow.[ch]: Added const to gtk_window_set_wmclass
5387
5388 Tue May 12 15:16:10 1998  Owen Taylor  <otaylor@gtk.org>
5389         (From: Christopher James Lahey <clahey@umich.edu>)
5390         
5391         * gtk/gtkbutton.[ch] gtk/gtkenums.h gtk/gtktoolbar.[ch]
5392           gtk/testgtk.c:
5393
5394         Added 'relief' for buttons - they can be either GTK_RELIEF_NORMAL
5395         (old style), or GTK_RELIEF_NONE - no relief in the NORMAL
5396         state. Added gtk_toolbar_{set,get}_button_relief, which set/get
5397         the default relief for the toolbars buttons. Added an
5398         toggle for the toolbar test in testgtk.c.
5399
5400 Tue May 12 00:24:59 1998  Owen Taylor  <otaylor@gtk.org>
5401
5402         * docs/gtk-config.1: Rewritten and hopefully improved.
5403
5404 Mon May 11 20:26:39 PDT 1998 Manish Singh <yosh@gimp.org>
5405
5406         * docs/Makefile.am
5407         * docs/gtk-config.1: added man page for gtk-config by Ben Gertzfield
5408
5409 1998-05-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5410
5411         * gtk/gtkpreview.c (gtk_preview_realize): Create the window using
5412         GtkPreview's visual and colormap, otherwise things can BadMatch.
5413
5414         * gtk/testgtk.c (create_color_preview): 
5415         (create_gray_preview): Removed pushing/popping of visual/colormap
5416         now that GtkPreview does things correctly.
5417
5418         * gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel_frame): 
5419         (gtk_color_selection_draw_wheel): Pick the style from the correct
5420         place (the colorsel->wheel_area widget) so that the GCs will match
5421         with where we are going to paint to.
5422
5423         * gtk/testgtk.c (create_color_selection): Removed pushing/popping
5424         of visual/colormap now that GtkColorSelection does things the
5425         right way.
5426
5427 Mon May 11 21:04:51 1998  Owen Taylor  <otaylor@gtk.org>
5428
5429         * gtk/gtkwindow.c (gtk_real_window_move_resize): Use the
5430         previously unused window->need_resize flag to mark if a window's
5431         descendents changed size while the window was not visible. In this
5432         case, when the window becomes visible, we reallocate everything,
5433         since we didn't keep track of what actually changed.
5434
5435         (Fixes bug where changing the popdown strings of a
5436         combo to something of the same length caused them to
5437         blank out, as reported by Todd Dukes <tdukes@ibmoto.com>)
5438
5439 Tue May 12 02:31:57 1998  Tim Janik  <timj@gtk.org>
5440
5441         [security audit by Alan Cox]
5442
5443         * gtk/gtkobject.c (gtk_object_get_arg_type): check for arg_name to not
5444         exceed maximum assumed size.
5445
5446         * gtk/gtkmenufactory.c (gtk_menu_factory_create): check that `path' does
5447         not exceed maximum assumed size.
5448         (gtk_menu_factory_remove): likewise.
5449         (gtk_menu_factory_find_recurse): likewise.
5450
5451 Mon May 11 23:53:38 1998  Tim Janik  <timj@gtk.org>
5452
5453         * gtk/gtkwidget.c (gtk_widget_queue_resize): queue the idle_sizer with
5454         GTK_PRIORITY_INTERNAL - 1, so widgets get first resized and then
5455         redrawn if that is still neccessary. don't allow queueing of already
5456         destructed objects.
5457         (gtk_widget_idle_sizer): proccess the resize queue in a save manner, so
5458         widgets which are in the queue can be destroyed safely, handle
5459         requeueing properly.
5460         (gtk_widget_idle_draw): proccess the redraw queue in a save manner, so
5461         widgets which are in the queue can be destroyed/unrealized safely.
5462
5463 Mon May 11 17:54:44 BST 1998 Tony Gale  <gale@gtk.org>
5464
5465         * gtkfaq.sgml: add question on multi-threading,
5466           minor URL cleanups.
5467
5468 Mon May 11 09:56:45 1998  Tim Janik  <timj@gtk.org>
5469
5470         * configure.in (cflags_set): preserve automake CFLAGS.
5471
5472         * Makefile.am: fully rename the created libraries to libgtk-1.1.la
5473         and libgdk-1.1.la. this means we need to change certain portions of
5474         the Makefile.am on major/minor version bumps.
5475
5476         * ltmain.sh: the -release option is not required anymore.
5477         
5478         * gtk/gtkobject.h (gtk_trace_referencing): compile time check the type
5479         of the first argument to be of type GtkObject. unconditionally compile
5480         this function. removed __GNUC__ dependancy of the gtk_object_ref and
5481         gtk_object_unref macro wrappers for this function.
5482
5483 Mon May 11 02:31:19 1998  Tim Janik  <timj@gtk.org>
5484
5485         * gtk/gtkobject.h:
5486         * gtk/gtkobject.c:
5487         (gtk_object_data_try_key):
5488         (gtk_object_data_force_id): these are now macros substituting the old
5489         functions. we just use the corresponding g_dataset_* functions for
5490         key->id associations. (this is to assure unique key<->id associations).
5491
5492 1998-05-10  Stefan Jeske  <stefan@gtk.org>
5493
5494         * gtk/gtkctree.c (gtk_ctree_is_visible): Changed return value
5495         to gboolean.
5496
5497         * docs/gtk.texi (GtkCTree): Started documentation of GtkCTree.
5498
5499 Sat May  9 20:11:20 1998  Owen Taylor  <otaylor@gtk.org>
5500
5501         * configure.in (LIBS): Try to figure out if this
5502         is Digital Unix and we need -std1 to get the
5503         right prototypes.
5504
5505 Sat May  9 16:30:33 BST 1998 Tony Gale  <gale@gtk.org>
5506
5507         * docs/gtk_tut_it.sgml: update of Italian tutorial
5508           translation from Daniele Canazza <dcanazz@tin.it>
5509
5510 Sat May  9 02:34:41 1998  Tim Janik  <timj@gtk.org>
5511
5512         * gtk/gtkfeatures.h.in: new file used as template for
5513         * gtk/gtkfeatures.h: new file to define macros indicating newly
5514         introduced features, such as GTK_HAVE_SIGNAL_INIT.
5515
5516         * gtk/gtksignal.c:
5517         (gtk_signal_emitv_by_name):
5518         (gtk_signal_emitv):
5519         new functions to emit signals with an already provided parameter set.
5520         (provided by Kenneth Albanowski <kjahds@kjahds.com>).
5521         (gtk_signal_real_emit): prototype changes, so this functions always
5522         gets its parameters and signal structure as arguments.
5523         (gtk_signal_emit): provide the signal structure and parameter list for
5524         gtk_signal_real_emit.
5525         (gtk_signal_emit_by_name): likewise.
5526
5527 Sat May  9 00:03:12 1998  Tim Janik  <timj@gtk.org>
5528
5529         * gtk/gtksignal.c (gtk_signal_handler_unref): reflect the presence of
5530         signal connections through unsetting GTK_CONNECTED.
5531         (gtk_signal_handler_insert): reflect the presence of signal connections
5532         through setting GTK_CONNECTED.
5533         (gtk_signal_real_emit): only check for handler emissions if the object
5534         has the GTK_CONNECTED flag set.
5535         (gtk_signal_handler_pending): don't check for pending handlers if the
5536         GTK_CONNECTED flag is not set for this object.
5537
5538         * gtk/gtkobject.h (enum): new flag GTK_CONNECTED to indicate whether
5539         a GtkObject has signal handler connections.
5540
5541         * gtk/gtkobject.c (gtk_object_real_destroy): only if GTK_CONNECTED is
5542         set for this object call gtk_signal_handlers_destroy().
5543         
5544         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): deprecated macro, since it caused
5545         multiple processing of macro args.
5546
5547         * gtk/gtktypeutils.c:
5548         * gtk/gtkobject.c:
5549         * gtk/gtkwidget.c:
5550         * gtk/gtksignal.c: reverted GTK_TYPE_IS_A back to gtk_type_is_a.
5551
5552 Fri May  8 21:31:50 1998  Owen Taylor  <otaylor@gtk.org>
5553
5554         * gtk/gtkwidget.c (gtk_widget_queue_draw): Free the
5555         draw-queue when we are done. 
5556
5557         (gtk_widget_queue_draw/_queu_resize): Always return
5558         FALSE and avoid having two idles at the same time.
5559         
5560 Fri May  8 21:04:00 1998  Owen Taylor  <otaylor@gtk.org>
5561
5562         * gtk/gtktext.c: Various fixes to make sure cache
5563         lines are freed if line_start_cache doesn't point to the
5564         beginning of the cache.
5565
5566 Thu May  7 09:44:22 1998  Owen Taylor  <otaylor@gtk.org>
5567
5568         * style_set improvements for GtkText and GtkEntry
5569
5570 Thu May  7 19:03:50 1998  Tim Janik  <timj@gtk.org>
5571
5572         * gtk/gtktypeutils.c (gtk_type_unique): asure that the type system has
5573         been initialized.
5574
5575 Thu May  7 12:52:45 1998  Tim Janik  <timj@gtk.org>
5576
5577         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): allocate object
5578         data chunks through a global object data structure list. unlink
5579         object data before invoking its destroy function.
5580         (gtk_object_finalize): slight modification to allow usage of object
5581         data during object finalization.
5582
5583 Thu May  7 10:29:24 1998  Tim Janik  <timj@gtk.org>
5584
5585         * gtk/gtksignal.c (gtk_signal_newv): suport middle dashes ('-') in
5586         signal names, e.g. "signal-name" is now an alias for "signal_name".
5587         (gtk_signal_handler_new): allocate handlers through a global handler
5588         structure list, that's faster than memchunks.
5589         (gtk_emission_new): allocate emissions through a global emission
5590         structure list, that's faster than memchunks.
5591
5592 Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
5593
5594         * gtk-config.in (--libs): postfix -lg* libraries with LT_RELEASE.
5595
5596         * ltmain.sh: added a new commandline flag -postfix similar to -release,
5597         but will immediately change the library name.
5598
5599         * gdk/Makefile.am:
5600         * gtk/Makefile.am: specify -postfix and -version-info
5601
5602         * configure.in: version bump to 1.1.0. added GTK_INTERFACE_AGE and
5603         GTK_BINARY_AGE. calculate LT_* variables for libtool.
5604
5605 1998-05-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5606
5607         * gtk/gtkclist.c (draw_row): Fixed incorrect painting of row
5608         background (fg_set -> bg_set confusion).
5609
5610 1998-05-06  Stefan Jeske  <stefan@gtk.org>
5611
5612         * gtk/testgtk.c (unselect_all): Removed code that caused an
5613         endless loop.
5614
5615 Wed May  6 02:16:34 1998  Tim Janik  <timj@gtk.org>
5616
5617         * gtk/gtksignal.c: reimplemented the signal storage system to use a
5618         linear array rather than a hash table.
5619         be carefull *not* to keep any GtkSignal pointers across invokations
5620         of gtk_signal_next_and_invalidate() and therefore gtk_signal_new[v]().
5621         general code cleanups, made all allocations through memchunks.
5622         (gtk_signal_lookup): we now do the lookup of signals through a key_id
5623         for the signal names to avoid multiple hashing of the signal name on
5624         lookups for the several hirarchy levels of an object.
5625
5626 Tue May  5 19:49:27 1998  Owen Taylor  <otaylor@gtk.org>
5627
5628         * gdk/gdkpixmap.c: Patches from Gordon Matzigkeit
5629         to speed things up and remove code duplication.
5630
5631         Reintegrated buffer overflow patches, and added
5632         some extra paranoia.
5633         
5634 Tue May  5 17:04:14 1998  Owen Taylor  <otaylor@gtk.org>
5635
5636         * gdk/gdk.c (gdk_event_translate): A guint * was
5637         being passed where X expected a Keysym *, and
5638         keysyms are long's on Alpha Linux. This was causing
5639         segfaults in Xlib, apparently because of alignment.
5640         (Bug located by Juergen Haas <haas@forwiss.uni-passau.de>)
5641         
5642 Tue May  5 19:11:27 1998  Owen Taylor  <otaylor@gtk.org>
5643
5644         * gtk/gtkdrawingarea.c (gtk_drawing_area_realize): Always
5645         set GDK_EXPOSURE_MASK for DrawingAreas
5646
5647 Tue May  5 14:32:37 1998  Owen Taylor  <otaylor@gtk.org>
5648
5649         * gtk/gtkwidget.[ch]: removed gtk_widge_propagate_default_style
5650         (superceded by RC file reparsing capabilities)
5651
5652         * gtk/gtkwindow.c: Add handling for _GDK_READ_RFCILES client
5653         events. (Shouldn't be sent to the InputOnly leader, which
5654         it is now by gdk_event_send_clientmessage_toall
5655
5656         * gtk/testgtk.c: Added extra button to rcfiles test
5657         to send out _GDK_READ_RCFILES events.
5658         
5659 Tue May  5 11:03:00 1998  Owen Taylor  <otaylor@gtk.org>
5660
5661         * gtk/gtkselection.c (gtk_selection_clear): Fixed
5662         reversed conditionals that caused segfault on some
5663         platforms.
5664
5665 Tue May  5 00:44:47 1998  Owen Taylor  <otaylor@gtk.org>
5666
5667         * gtk/gtkcontainer.c (gtk_container_set_focus_[hv]adjustment):
5668         cast to GTK_OBJECT for gtk_object_ref.
5669
5670 Tue May  5 15:33:27 1998  Tim Janik  <timj@gtk.org>
5671
5672         * gtk/gtkmain.c (gtk_init): added gtk_signal_init() to avoid repeatedly
5673         checking for signal initialization in gtksignal.c.
5674
5675         * gtk/gtktypeutils.c (TYPE_NODES_BLOCK_SIZE): reseted this to 200 after
5676         a long debugging period ;)
5677
5678 1998-05-05  Stefan Jeske  <stefan@gtk.org>
5679
5680         * gdk/gdkgc.c gdk/gdk.h gtk/gtkctree.c (gdk_gc_set_dashes):
5681         New function to wrap XSetDashes; modified gtkctree.c to use it.
5682
5683 1998-05-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5684
5685         * configure.in: Added $x_libs in the other_libraries field in the
5686         check for XShapeCombineMask.
5687
5688 Mon May  4 00:30:11 1998  Tim Janik  <timj@gtk.org>
5689
5690         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): new macro to speedup
5691         gtk_type_is_a().
5692         * gtk/gtktypeutils.c: reimplemented the type storage system to use a
5693         linear array rather than a hash table. it actually speeded up testgtk
5694         for a *considerable* amount. be carefull *not* to keep any GtkTypeNode
5695         pointers across invokations of gtk_type_node_next_and_invalidate() and
5696         therefore gtk_type_unique()!
5697
5698         * gtk/gtkobject.h (GTK_IS_OBJECT_CLASS): new macro to test for the
5699         inheritance of a class pointer.
5700         (GTK_OBJECT): modifications for speedups.
5701         (GTK_IS_OBJECT): likewise.
5702         (GTK_OBJECT_CLASS): likewise.
5703         (suggested by owen).
5704
5705         * gtk/gtkcontainer.h (GTK_IS_CONTAINER_CLASS): new macro.
5706
5707         * gtk/gtkwidget.h (GTK_IS_WIDGET_CLASS): new macro.
5708
5709         * gtk/gtk.defs (GtkTooltips): define GtkTooltips as object not as boxed,
5710         since its derivation changed 4 month ago ;(. showed up with the unique
5711         type name checking code in gtk_type_unique().
5712
5713         * random guint->GtkType and macro fixups.
5714
5715 Sat May  2 23:14:34 1998  Owen Taylor  <otaylor@gtk.org>
5716
5717         * gtk/gtkcurve.c (gtk_curve_graph_events): Ignore
5718         Configure events that would result in a negative
5719         size.
5720
5721 Sun May  3 14:55:34 1998  Owen Taylor  <otaylor@gtk.org>
5722
5723         * docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
5724         "glibconfig.h" and another about writing another IRC
5725         client.
5726
5727 Sat May  2 00:14:05 1998  Owen Taylor  <otaylor@gtk.org>
5728
5729         * gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
5730         parameters to log are doubles. Digital Unix apparently
5731         is missing the argument in its prototype.
5732
5733 Sun May  3 19:04:46 1998  Owen Taylor  <otaylor@gtk.org>
5734
5735         * gtk/gtklabel.c (gtk_label_state_changed): Don't
5736         force a clear until the widget is actually on
5737         screen.
5738
5739 Sun May  3 21:32:35 1998  Owen Taylor  <otaylor@gtk.org>
5740
5741         * gdk/gdk.c (gdk_event_translate): Grab with OwnerEvents = False
5742         to make this consistent with the gtk-1-0 tree.
5743
5744 Sun May  3 13:38:22 1998  Owen Taylor  <otaylor@gtk.org>
5745
5746         * configure.in acheader.h gdk/gdkwindow.c 
5747         Check for Shape extension both on the client and server
5748         side. (And, more importantly, check for the shape extension
5749         so we may include -lXext even when compiling with --disable-xshm)
5750
5751         Don't set override_redirect on all shaped windows. It isn't
5752         necessary.
5753
5754         * gdk/gdkwindow.c: Set ->colormap to NULL for root 
5755         and foreign windows. Use this to check if we
5756         need to get the colormap from X.
5757
5758 Fri May  1 22:32:47 1998  Owen Taylor  <otaylor@gtk.org>
5759
5760         * gtk/gtkbutton.c (gtk_button_paint): Draw the areas
5761         between the default and the button always in GTK_STATE_NORMAL.
5762
5763         * gtk/gtkrange.c (gtk_range_style_set): Added a style_set
5764         callback.
5765
5766 Fri May  1 16:40:57 1998  Owen Taylor  <otaylor@gtk.org>
5767
5768         * gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
5769           Fix a buffer overflow on pixmaps that claim to have
5770           more than 31 characters per pixel.
5771
5772           (gdk_pixmap_read_string): Don't wrap around strings longer
5773           than half of address space ;-)
5774
5775         * gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
5776         that were used for printing integers.
5777
5778         * */* (almost):
5779
5780         Style: All 
5781           int foo () { ... }
5782         changed to
5783           int foo (void) { ... }
5784
5785         Even where there were proper prototypes elsewhere.
5786
5787         * gdk/gxid.c (handle_claim_device): Some extra checks.
5788         It isn't safe against being fed bad X id's, but at
5789         least it should be safe against deleting all your
5790         files.
5791
5792 Sun May  3 19:45:09 1998  Tim Janik  <timj@gtk.org>
5793
5794         * gtk/gtkadjustment.c (gtk_adjustment_assimilate_value): new function
5795         to set the adjustments value when there is no current emission.
5796         [ Removed by mutual agreement owt 5/3/1998 ]
5797
5798         * gtk/gtksignal.c: added new functions to retrive the number of
5799         existing emissions for a certain signal.
5800         (gtk_signal_n_emissions): new function.
5801         (gtk_signal_n_emissions_by_name): new function.
5802
5803 Sun May  3 16:55:43 1998  Tim Janik  <timj@gtk.org>
5804
5805         * gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
5806         set the current focus_child of a container, does proper referencing and
5807         adjusts the vadjustment/hadjustment associated with the focus widget.
5808
5809         * gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
5810         containers via gtk_container_set_focus_child.
5811
5812         * gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
5813         where appropriate.
5814
5815         * gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
5816         child since not every child removal goes through this function (this
5817         showed up after gtk_container_set_focus_child() started to reference the
5818         focus_child of a container).
5819
5820         * gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
5821         of a container from gtk_container_remove into this place.
5822
5823 Sat May  2 22:33:45 1998  Tim Janik  <timj@gtk.org>
5824
5825         * gtk/gtksignal.c: added new functions to operate on intermediate
5826         function pointers. implemented incremental blocking.
5827         (gtk_signal_disconnect_by_func): new function.
5828         (gtk_signal_handler_block_by_func): new function.
5829         (gtk_signal_handler_unblock_by_func): new function
5830
5831 Fri May  1 22:45:55 1998  Owen Taylor  <otaylor@gtk.org>
5832
5833         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
5834         Always show the scrollbars when the policy is
5835         GTK_POLICY_ALWAYS...
5836
5837 Sat May  2 20:19:03 1998  Tim Janik  <timj@gtk.org>
5838
5839         * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit
5840         "value_changed" if we really passed a new value.
5841         (gtk_adjustment_changed): new function to emit the "changed" signal.
5842         (gtk_adjustment_set_value): new function to emit the "value_changed"
5843         signal.
5844
5845 Fri May  1 12:28:35 1998  Owen Taylor  <otaylor@gtk.org>
5846
5847         * gtk/gtkcombo.c: Further changes to the way the window
5848         is popped up so that it will be compatible with 
5849         auto-scrolling in the future.
5850
5851 Fri May  1 20:25:29 1998  Tim Janik  <timj@gtk.org>
5852
5853         * gtk/gtkcombo.c (gtk_combo_popup_list): do not just return if
5854         the combo-list is empty since that will cause the combo to operate
5855         on a non existing GtkList window.
5856         (gtk_combo_get_pos): provide the combo list with a usfull default
5857         height if empty.
5858         (gtk_combo_popup_button_press): grab the focus.
5859         (gtk_combo_activate): grab the focus.
5860
5861 Fri May  1 12:06:43 1998  Owen Taylor  <otaylor@gtk.org>
5862
5863         * gtk/gtkwindow.[ch] (gtk_widget_reset_rc_styles): New
5864         function to reset the RC styles for a heirarchy
5865
5866         Clear the window background if necessary in
5867         gtk_window_style_set.
5868
5869         * gtk/gtkrc.[ch]: New function gtk_rc_reparse_all() which
5870         rereads all previously read RC files.
5871
5872         * gdk/gdkwindow.c gdk/gdk.h: New function gdk_window_get_toplevels().
5873         (Should it just be called gdk_get_toplevels?)
5874
5875         * gtk/testgtk.c: New test to reload RC files.
5876
5877 Fri May  1 13:57:36 1998  Tim Janik  <timj@gtk.org>
5878
5879         * gtk/gtkclist.h:
5880         * gtk/gtkclist.c: prefixed all clist flags with GTK_ to avoid name
5881         clashes. redefined GTK_CLIST_SET_FLAGS and GTK_CLIST_UNSET_FLAGS as
5882         GTK_CLIST_SET_FLAG and GTK_CLIST_UNSET_FLAG to automatically add
5883         the GTK_ prefix (this solution involved less changes in the
5884         gtkclist.c code). added a GTK_CLIST_CONSTRUCTED flag to substitute
5885         the mem_chunk==NULL test in gtk_clist_construct. merged in changes
5886         from lars & stefan to support the derivation of GtkCtree.
5887
5888         * gtkctree.h:
5889         * gtkctree.c:
5890         initial import of a tree widget derived from gtkclist, courtesy
5891         of Lars Hamann <lars@gtk.org> and Stefan Jeske <jeske@gtk.org>,
5892         it just damn rocks!
5893
5894 Fri May  1 10:05:44 1998  Tim Janik  <timj@gtk.org>
5895
5896         * gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
5897         for us.
5898         (gtk_list_insert_items):
5899         (gtk_list_remove_items_internal): 
5900         (gtk_list_clear_items): 
5901         remove a possible pointer grab, we might get thrown into a loop
5902         otherwise.
5903         (gtk_list_button_press): grab the pointer *before* selecting the child,
5904         because selection of items may cause the lists children to change,
5905         resulting in a grab release.
5906         (gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
5907         children.
5908         (gtk_list_shutdown): remove all children from the list.
5909         (gtk_real_list_unselect_child): 
5910         (gtk_real_list_select_child): *always* put our internal structures into
5911         sane state *before* signal emisions (i.e. list->selection updates prior
5912         to gtk_list_item_[de]select() calls).
5913
5914         * gtk/gtkcombo.c (gtk_combo_init): adjust the scrollbar if the lists
5915         focused child walks out of the window.
5916         removed CAN_FOCUS for the combo arrow's button since it doesn't react
5917         to keyboard events ("clicked" connection is missing).
5918
5919 Fri May  1 00:42:25 1998  Owen Taylor  <otaylor@gtk.org>
5920
5921         * gdk/gdkwindow.c (gdk_window_get_colormap): Fix up
5922         getting colormap for FOREIGN windows to go along with
5923         Raster's fix for visuals.
5924
5925 Merges from gtk-1-0
5926 ===================
5927         
5928 Thu Apr 30 23:32:51 1998  Owen Taylor  <otaylor@gtk.org>
5929
5930         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
5931         Check to catch the case when the viewport fits in either
5932         direction or both, instead of flip-flopping infinitely.
5933
5934         Only show/hide the scrollbars once at the end.
5935
5936 Thu Apr 30 21:56:07 1998  Owen Taylor  <otaylor@gtk.org>
5937
5938         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): 
5939         Include the scrollbars in the foreach call.
5940         (gtk-fortier-980405-0.patch; 
5941          Patrice Fortier <Patrice.Fortier@aquarel.fr>). 
5942
5943         The notebook widget
5944         really should also include its tabs, but that might cause
5945         problems for programs if they
5946
5947 Thu Apr 30 21:51:52 1998  Owen Taylor  <otaylor@gtk.org>
5948
5949         * gtk/gtkpixmap.c (gtk_pixmap_set): Only request a
5950         resize if the size actually changed. 
5951         (gtk-johannes-980414-0.patch ;  
5952          johannes@nada.kth.se (Johannes Keukelaar) )
5953
5954 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
5955
5956         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
5957           ltmain.sh ltconfig config.sub config.guess:
5958
5959         Reverted back to libtool-1.2 (plus minor patches) so as not to
5960         force the issue for everyone else.
5961
5962 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
5963
5964         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
5965         Updated to libtool 1.2a.
5966
5967         * gtk/gtkclist.c: Draw the in-between lines with style->base
5968         instead of style->white.
5969         
5970 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
5971
5972         * gdk/gdkprivate.h gdk/gdkwindow.c gdk/gdkpixmap.c: 
5973         Cache the colormap and children of a window locally
5974         instead of fetching them from the server when needed.
5975         Huge performance difference for creating/destroying
5976         windows.
5977
5978         * gtk/gtkstyle.c: Find the depth from the cached
5979         visual, instead of asking the server.
5980
5981         * gtk.m4: Distribute the new version which tries to
5982         figure out what went wrong and give helpful error
5983         messages.
5984
5985         * ltmain.sh ltconfig config.sub config.sh: 
5986         Updated to libtool 1.2a
5987
5988         * gtk/gtktext.c: Fixed a bug where the drawn level
5989         was being messed up when the text was scrolled
5990         during a deletion.
5991         
5992 Thu Apr 30 02:42:11 PDT 1998 Manish Singh <yosh@gimp.org>
5993
5994         * gtk/gtkfilesel.c: don't die when naughty people remove parts of
5995         the filesystem under you (fix from Josh)
5996
5997 Thu Apr 30 09:49:14 1998  Tim Janik  <timj@gtk.org>
5998
5999         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): check
6000         if the viewport already exists before iterating over it, maybe we
6001         haven't been constructed yet.
6002
6003 Thu Apr 30 01:51:00 1998  Tim Janik  <timj@gtk.org>
6004
6005         * gtk/gtkbin.c (gtk_bin_add): made this function issue a warning if
6006         the GtkBin widget already has a child.
6007
6008         * gtk/gtkbox.c (gtk_box_pack_{start|end}):
6009         check that child->parent == NULL;
6010
6011 Tue Apr 28 22:13:54 1998  Owen Taylor  <otaylor@gtk.org>
6012
6013         * gtk/gtkselection.c (gtk_selection_clear): Only return
6014         FALSE when the clear event is been rejected, not when
6015         widget has already lost the selection. (Which should
6016         only happen when we are setting the selection to another
6017         widget ourself.)
6018         
6019 Fri Apr 24 19:07:32 1998  Owen Taylor  <otaylor@gtk.org>
6020
6021         * gtk/gtkfixed.c gtk/gtkpaned.c gtk/gtktable.c:
6022
6023         Removed the "check visibility after gtk_widget_unparent" bug 
6024         in hopefully the last three places.
6025
6026 Tue Apr 28 15:46:41 1998  Tim Janik  <timj@gtk.org>
6027
6028         * gtk/gtkrc.c (gtk_rc_parse_statement): allow the inclusion of other
6029         rc-files.
6030
6031 Mon Apr 27 15:11:52 1998  Tim Janik  <timj@gtk.org>
6032
6033         * gtk/gtkwidget.c (gtk_widget_grab_focus): only allow grabbing of focus
6034         for CAN_FOCUS widgets.
6035
6036         * gtk/testgtk.c (create_scrolled_windows): feature h/v focus
6037         adjustments for the table.
6038         (create_list): feature automatic adjustment of the scrolled window to
6039         always contain the focused child.
6040         (create_main_window): keep the focussed button always inside of the
6041         scrolled windoww.
6042
6043         * gtk/gtkcontainer.c (gtk_real_container_focus): set the h/v focus
6044         adjustments, to contain the allocation of the currently focused child.
6045         (gtk_container_set_focus_hadjustment): new functin to set the
6046         horizontal focus adjustment.
6047         (gtk_container_set_focus_vadjustment): new functin to set the vertical
6048         focus adjustment.
6049
6050         * gtk/gtkadjustment.c (gtk_adjustment_clamp_page): new fucntion to
6051         clamp the currents adjustment page into a specific range.
6052
6053         * random GtkType fixups for gtk_*_get_type() functions.
6054
6055 Fri Apr 24 18:37:16 1998  Owen Taylor  <otaylor@gtk.org>
6056
6057         * gtk/gtktreeitem.c (gtk_tree_item_remove_subtree): 
6058         Account for the fact that gtk_tree_item_remove_subtree
6059         will be called recursively. 
6060
6061         Handle removing a collapsed subtree.
6062
6063         (From Andy Dustman <adustman@comstar.net>)
6064         
6065         * gtk/gtktree.c (gtk_tree_remove_items): Look for the
6066         root tree when removing items from a non-previously
6067         mapped tree.
6068
6069         * gtk/testgtk.c: Added a remove_subtree button.
6070         
6071 Thu Apr 23 23:44:17 1998  Owen Taylor  <otaylor@gtk.org>
6072
6073         * gtk/gtkobject.c (gtk_object_finalize): Notify all weak references
6074         before object removing data. This change fixes a bug where 
6075         removing the last weak references would cause it to be 
6076         triggered.
6077
6078 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
6079
6080         * gdk/Makefile.am: Removed mostly useless dependency that
6081         was causing problems for SGI's make, when used with
6082         the 'make dist' form of GTK+. (Dependency caused dependencies
6083         to be redone when BUILT_SOURCES changed)
6084
6085 Thu Apr 30 11:18:00 1998  Owen Taylor  <otaylor@gtk.org>
6086
6087         * gtk/gtkcombo.[ch]: Allow the user to use the popup list
6088         like a menu.
6089         
6090         * gtk/gtkmenuitem.c gtk/gtkitem.c: Moved enter/leave handlers
6091         to gtkitem.c so dragging can also work in lists.
6092
6093         * gtk/gtklist.[ch]: Track child enter events and use
6094         those to allow dragging the selection. 
6095
6096 Thu Apr 30 11:16:06 1998  Owen Taylor  <otaylor@gtk.org>
6097
6098         * gtk/gtktext.c: Try enabling background pixmaps for editable text
6099         widgets.  There is a bit of flashing, but not too bad. If you
6100         don't want the flashing, you can always not set a background
6101         pixmap.
6102
6103 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
6104
6105         * gtk/gtktext.c: Fixed a bug where the drawn level
6106         was being messed up when the text was scrolled
6107         during a deletion.
6108         
6109 1998-04-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6110
6111         * gdk/gdk.c (gdk_event_translate): Random debugging fixed this
6112         bug:  There is no need to set the ExposureMask in the XGrabPointer
6113         (this caused DnD programs to crash).
6114
6115 Fri Apr 24 01:29:04 1998  Tim Janik  <timj@gtk.org>
6116
6117         * gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
6118         field to be of type guint.
6119         * gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
6120         ref_count>0;
6121         (gtk_accelerator_table_install): keep a per object list of accelerator
6122         tables that refer to this object.
6123         (gtk_accelerator_table_remove): remove the accelerator table from the
6124         per object list.
6125         (gtk_accelerator_table_clean): warn if there are any object references
6126         left in an accelerator table upon destruction.
6127         (gtk_accelerator_tables_delete): new function to delete object
6128         references from the accelerator tables associated with this object.
6129
6130         * gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
6131         GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
6132         of an accelerator can be prevented by gtk_signal_emit_stop().
6133         (gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
6134         so there are no stale pointers in accelerator tables left.
6135
6136 1998-04-22  Federico Mena Quintero  <federico@nuclecu.unam.mx>
6137
6138         * gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
6139         visible before we unparent it.
6140
6141 Wed Apr 22 04:15:26 1998  Tim Janik  <timj@gtk.org>
6142
6143         * gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
6144         running_timeouts list with the tmp_list link itself, not with a new
6145         GList structure pointing to our link. that would fill up memory and
6146         causes the GList.data fields of the running_timeouts list to point to
6147         GList structures and not GtkTimeoutFunction structures which is a
6148         *really* bad thing.
6149         (gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
6150         the above entry ;).
6151
6152 Sat Apr 18 22:18:12 1998  Tim Janik  <timj@gtk.org>
6153
6154         * gtk/gtkradiomenuitem.h: 
6155         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
6156         ala gtk_radio_button_set_group.
6157         (gtk_radio_menu_item_init): assure that we always have at least a group
6158         that points to self.
6159
6160         * gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
6161         added g_return_if_fail() statements.
6162         (gtk_radio_button_init): assure that we always have at least a group
6163         that points to self.
6164
6165 Fri Apr 17 03:05:05 1998  Tim Janik  <timj@gtk.org>
6166
6167         * ChangeLog split up into ChangeLog.pre-1-0 and ChangeLog.
6168
6169 Wed Apr 15 05:13:09 1998  Tim Janik  <timj@gtk.org>
6170
6171         * gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
6172         (Damon Chaplin), which i got wrong when applying Damon's patch the last
6173         time.
6174
6175 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
6176
6177         * gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
6178         that when we are running with a non-installed colormap,
6179         in 8-bit pseudo-color, we actually are using the system
6180         visual. (Fixes *Bad Match* errors on Digital Unix machines
6181         with multiple 8-bit pseudo-color visuals)
6182
6183 1998-04-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6184
6185         * gdk/gdkwindow.c (gdk_window_xid_at): Fix the problem introduced
6186         by whoever thought that randomly changing ints to unsigned int
6187         without reviewing the code was a good idea.  It is, btw not
6188         mentioned in the ChangeLog as usual, but I know it was not Elliot
6189         the culprit this time. 
6190
6191 Mon Apr 13 19:16:22 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
6192
6193         * Released GTK+ 1.0.0