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