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