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