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