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