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