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