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