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