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