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