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