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