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