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