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