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