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