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