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