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