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