]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-2
Reverted global changes of g_new to malloc(), added back in the one place
[~andy/gtk] / ChangeLog.pre-2-2
1 Tue Sep 15 13:09:24 1998  Owen Taylor  <otaylor@redhat.com>
2
3         * gdk/gdkimage.c (gdk_image_new): Reverted global changes
4         of g_new to malloc(), added back in the one place where
5         it actually mattered. #include <stdlib.h>.
6
7         * gdk/gdkrgb.c: g_malloc() to malloc() as above.
8
9 Tue Sep 15 11:30:03 1998  Owen Taylor  <otaylor@redhat.com>
10
11         * gtk/gtkfilesel.c: Keep a list of directories in which we never
12         want to stat the entries (like /afs), and assume everything in
13         those directories is a subdirectory.
14
15         - When following a path, try to open components even when
16         we don't find them in their parent's directory to
17         support automounters.
18
19 Tue Sep 15 11:06:13 1998  Owen Taylor  <otaylor@redhat.com>
20
21         * gtk/gtkwindow.c (gtk_window_move_resize): Don't request
22         a new size from the WM if we asked for the same size
23         before and our request was rejected.
24
25         * gtk/gtkwindow.c (gtk_window_configure_event): If
26         in response to a request, we get a configure event
27         with unchanged dimensions, send a synthetic expose
28         since ForgetGravity won't expose our window.
29
30 Mon Sep 14 14:28:24 1998  Owen Taylor  <otaylor@redhat.com>
31
32         * gtk/gtktext.c (adjust_adj): Change the way we
33         set the adjustments on resize so that it tries to
34         keep the beginning of the text in approximately
35         the same place. 
36
37         Removed assertion that the above change made invalid.
38
39 Thu Sep 10 22:19:35 1998  Owen Taylor  <otaylor@redhat.com>
40
41         * gtk/gtktext.c: - Save first_cut_pixels when switching
42         sizes, so that if we switch to the _same_ size,
43         we don't move lines around.
44
45         - Make sure that the text area always has a size of at
46         least 1x1, then do all computations when realized.
47
48         - When fetching lines in recompute_geometry, make
49         sure we fetch enough lines to cover the screen.
50         
51 Mon Sep 14 21:47:35 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
52
53         * gdk/gdkimage.c: changed g_new()s to malloc()s and 
54           g_free()s to free()s to avoid mixing g_new()s with 
55           free()s.  X itself uses free() on some of the 
56           malloced memory.
57
58 Sat Sep 12 10:44:06 1998  Owen Taylor  <otaylor@redhat.com>
59
60         * gtkfilesel.c: Maintain a list of directories like
61         /afs we know contain only directories, and avoid
62         stat'ing files in those directories. (Because
63         stat'ing all files in /afs is extremely expensive)
64
65         To support automounters, try to open directories,
66         even if we couldn't find them when reading their
67         parent directory.
68
69 Thu Sep  3 10:29:03 1998  Owen Taylor  <otaylor@redhat.com>
70
71         * gtk.m4: Conditionalize check for GTK_MAJOR_VERSION,
72         to allow the same gtk.m4 to work for 1.0.x and
73         1.1.x.
74
75 Fri Sep 11 15:25:10 1998  Lars Hamann  <lars@gtk.org>
76
77         * gtk/gtkclist.c (gtk_clist_set_selectable): new function
78         to set/unset the selectable flag of a single row.
79         (gtk_clist_get_selectable): new function 
80         to get the state of the selectable flag
81
82         * gtk/gtkctree.c (gtk_ctree_node_set_selectable)
83         (gtk_ctree_node_get_selectable): clist analogons
84         
85 Thu Sep 10 17:04:03 1998  Raph Levien  <raph@gimp.org>
86
87         * gtk/testrgb.c (testrgb_rgb_test): Small changes to the test
88         pattern.
89
90         * gdk/gdkrgb.c (gdk_rgb_convert_gray4_pack): Fixed some alignment
91         bugs in the 4bit gray cases.
92
93 Wed Sep  9 02:48:44 PDT 1998 Manish Singh <yosh@gimp.org>
94
95         * configure.in: added -posix check for NeXTStep
96
97         * gtk/testthreads.c: applied part of gtk-joke-980907-0 to use
98         a unique buffer for each thread.
99
100         * docs/gtk-config.1: clarified copyright
101
102 Tue Sep  8 05:19:51 1998  Tim Janik  <timj@gtk.org>
103
104         * gdk/gdk.c (gdk_init): use g_atexit() instead of ATEXIT.
105
106         * gtk/gtkmain.c (gtk_init): use g_atexit() instead of ATEXIT.
107
108         * gtk/gtkobject.c (gtk_object_init_type): use g_atexit() instead of
109         ATEXIT.
110         
111         * ltconfig: use GLib's ltconfig which honours lcc.
112
113 Mon Sep  7 20:09:23 PDT 1998 Manish Singh <yosh@gimp.org>
114
115         * configure.in: comment the -std1 check and save LIBS properly
116
117 Sun Sep  6 12:36:23 PDT 1998 Manish Singh <yosh@gimp.org>
118
119         * gtk/testrgb.c: #include <stdlib.h>
120
121 Sat Sep  5 16:01:19 1998  Owen Taylor  <otaylor@gtk.org>
122
123         * gdk/gdkinputxfree.h gdk/gdk.c gdk/gdkinputgxi.h:
124         When the pointer is grabbed on an input window,
125         either explicitely, or through press-grab, and
126         then grabbed on a non-input window, ungrab the
127         devices.
128
129 Sat Sep  5 07:13:19 1998  Tim Janik  <timj@gtk.org>
130
131         * gtk/gtktypeutils.h: don't include any gdk headers.
132         added structure definitions for GtkTypeObject and GtkTypeClass,
133         which cover the very basic fields of GtkObject and GtkObjectClass,
134         which are actually used by the type system.
135         
136         * gtk/gtktypeutils.c: don't include gtkobject.h or gtkcontainer.h,
137         we only refer to our own structures. improved class inheritance
138         sanity checking a bit.
139
140         * gtk/gtkobject.h: placed appropriate comments at the beginnings
141         of the GtkObject and GtkObjectClass structures, which explain
142         their relationship to GtkTypeObject and GtkTypeClass.
143
144         * gtk/gtktypeutils.h:
145         * gtk/gtkobject.h:
146         moved GTK_STRUCT_OFFSET(), GTK_CHECK_CAST(), GTK_CHECK_CLASS_CAST(),
147         GTK_CHECK_TYPE() and GTK_CHECK_CLASS_TYPE() macro definitions from
148         gtkobject.h to gtktypeutils.h.
149
150         * gtk/gtkobject.h:
151         * gtk/gtkobject.c:
152         removed gtk_object_check_cast() and gtk_object_check_class_cast()
153         functions. to keep source compatibility, we can provide macro aliases
154         for the corresponding gtk_type_* functions. but then again, people
155         shouldn't have been using these functions anyways since they were part
156         of Gtk's internal API.
157
158         * gtk/gtktypeutils.h:
159         * gtk/gtktypeutils.c:
160         implemented gtk_type_check_object_cast() and gtk_type_check_class_cast()
161         functions to check GtkTypeObject and GtkTypeClass types.
162
163 Thu Sep  3 07:16:54 1998  Tim Janik  <timj@gtk.org>
164
165         * gtk/gtkctree.h:
166         * gtk/gtkctree.c: `const' fixups.
167
168         * gtk/gtkclist.h:
169         * gtk/gtkclist.c: `const' fixups and some coding style adaptions.
170
171         * gtk/gtkctree.c (gtk_ctree_insert_node): don't dereference *text
172         if it is passed as NULL.
173
174 Wed Sep  2 22:41:40 1998  Raph Levien  <raph@gimp.org>
175
176         * gdk/gdkrgb.c (gdk_rgb_select_conv): Fixed 32bpp image depth
177         big-endian cases. Added a 4bpp packed gray mode (somewhat
178         incorrectly hardwired to MSB), which should take care of
179         Stric's hardware.
180
181 Thu Sep  3 04:45:57 1998  Tim Janik  <timj@gtk.org>
182
183         * gtk/gtkaccelgroup.c (gtk_accel_group_add): plug another small
184         GtkSIgnalQuery leak.
185
186 Thu Sep  3 04:22:20 1998  Tim Janik  <timj@gtk.org>
187
188         * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current):
189         GTK_MENU_DIR_CHILD: check for the existance of
190         menu_shell->active_menu_item before accessing its child.
191         GTK_MENU_DIR_PREV:
192         GTK_MENU_DIR_NEXT: if we haven't had an active item and still
193         don't, make a default selection.
194
195 Wed Sep  2 00:28:58 1998  Tim Janik  <timj@gtk.org>
196
197         * gtk/gtkwidget.c (gtk_widget_propagate_state): iterate
198         the children with _forall for sensitivity changes and with
199         _foreach on pure state changes. this fixes a lot of the
200         old inclusions of internal widgets into _foreach calls.
201
202         * gtk/gtktree.c: removed gtk_tree_foreach, let gtk_tree_forall
203         do the work. don't walk the subtrees of first level children.
204
205         * gtk/gtktreeitem.c: provide a _forall implementation,
206         which walks the subtrees as well for include_internals.
207
208         * gtk/gtkmenuitem.c: provide a _forall implementation, which walks
209         the submenus as well for include_internals.
210
211         * gtk/gtkscrolledwindow.c: removed gtk_scrolled_window_foreach and
212         implemented gtk_scrolled_window_forall, which will iterate over
213         the viewport and the scrollbars for gtk_container_forall or
214         iterate over the viewports children for gtk_container_foreach.
215
216         * gtk/gtktoolbar.c: 
217         * gtk/gtktable.c: 
218         * gtk/gtkpaned.c:
219         * gtk/gtkpacker.c:
220         * gtk/gtkmenushell.c: 
221         * gtk/gtklist.c: 
222         * gtk/gtkfixed.c:
223         * gtk/gtkclist.c:
224         * gtk/gtkbox.c: 
225         * gtk/gtkbin.c: 
226         * gtk/gtknotebook.c:
227         removed the old gtk_*_foreach functions and provided gtk_*_forall.
228
229         * gtk/gtknotebook.c:
230         (gtk_notebook_real_switch_page): expose tabs.
231         (gtk_notebook_page_num): new function to return the page number
232         of a distinct child.
233         (gtk_notebook_focus): minor fixups. foxus handling is still screwed
234         under some circumstances.
235
236         * gtk/gtktreeitem.c:
237         (gtk_real_tree_item_select):
238         (gtk_real_tree_item_deselect): major fixes.
239         some general fixups wrt queue_redraw, and tree items not being
240         NO_WINDOW widgets.
241
242         * gtk/gtklistitem.c:
243         (gtk_real_list_item_select): 
244         (gtk_real_list_item_deselect): 
245         (gtk_real_list_item_toggle): 
246         removed unneccessary queue_redraw calls.
247
248 Wed Aug 30 09:42:07 1998  Tim Janik  <timj@gtk.org>
249
250         * gtk/gtkoptionmenu.c: allow optionmenus to have the focus and
251         automatically popup the menu on space bar.
252
253 Wed Aug 26 06:40:34 1998  Tim Janik  <timj@gtk.org>
254
255         * gtk/gtkcontainer.h:
256         * gtk/gtkcontainer.c: implemented gtk_container_forall() (as a class
257         method), which acts similar to gtk_container_foreach(), but iterates
258         over internal children. the GtkContainer::foreach signal vanished in
259         favour of a new class method ->forall() that optionally includes
260         internal widgets.
261
262         * gtk/gtkclist.c (gtk_clist_init): provide no _foreach implementation
263         but a _forall implementation, since all child widgets we have are
264         internal ones.
265         (column_button_create): set the parent window prior
266         to gtk_widget_set_parent().
267
268         * gtk/gtkwidget.c:
269         exchanged all calls to gtk_container_foreach() with
270         gtk_container_forall().
271
272         * gtk/gtkwidget.h: 
273         * gtk/gtkwidget.c: added the GTK_COMPOSITE_CHILD, exported through
274         the GtkWidget::composite_child argument. to have a widget created
275         with the flag initially, two new functions got added to wrap a widgets
276         creation:
277         gtk_widget_push_composite_flag() and gtk_widget_pop_composite_flag().
278
279 Wed Aug 25 23:37:39 1998  Tim Janik  <timj@gtk.org>
280
281         * gtk/gtktooltips.h:
282         * gtk/gtktooltips.c: exported gtk_tooltips_create_window() as
283         gtk_tooltips_force_window(), so tooltips->tip_window can be accessed
284         prior to the first tip being set.
285         don't put an extra reference on the window, since it is a toplevel,
286         it wont get destroyed from anywhere else.
287
288         * overall macro and GtkType fixups.
289
290 1998-09-02  Federico Mena Quintero  <federico@nuclecu.unam.mx>
291
292         * gtk/gtkcolorsel.c: Replaced "foo == TRUE" and "foo == FALSE"
293         constructs by more forgiving ones.  (Does anyone else feel like
294         the color selector need rewriting?).
295
296 Tue Sep  1 10:53:52 1998  Owen Taylor  <otaylor@redhat.com>
297
298         * gtk/gtkprogress.c (gtk_progress_finalize): Unref
299         the adjustment.
300
301         * gtk/gtkmenu.c: Modified reference counting so
302         that the reference count from the toplevel that
303         the menu creates to the menu is invisible to the
304         application.
305
306 Mon Aug 31 21:36:31 1998  Raph Levien  <raph@gimp.org>
307
308         * gdk/gdkrgb.c (gdk_rgb_select_conv): Improved the 24bpp
309         conversion selection logic, so Suns and other big-endian
310         machines should get faster conv routines. This is also the
311         point where 4bpp gray and 1bpp are checked in, although I
312         wouldn't be surprised if 1bpp is a little buggy. This is
313         synchronized with the 0.0.7 release of GdkRgb.
314
315         * gtk/Makefile.am: 
316         * gtk/testrgb.c: Checked in testrgb.c to CVS, and made the
317         appropriate change to the Makefile.am
318
319 Mon Aug 31 15:18:19 1998  Raph Levien  <raph@gimp.org>
320
321         * gdk/gdkrgb.[ch]: Added a gdk_draw_rgb_image_dithalign function,
322         which is good for images that scroll (makes the dither patterns
323         align correctly)
324
325 Sat Aug 29 14:50:56 PDT 1998 Manish Singh <yosh@gimp.org>
326
327         * gdk/gdkcolor.c:
328         (gdk_colormap_new) (gdk_colormap_get_system):
329         quell some warnings with g_hash_table_new
330
331         * gtk/gtkaccelgroup.c (gtk_accel_group_add): free the GtkSignalQuery
332         when we're done with it
333
334         * gtk/itemfactory.c:
335         (gtk_item_factory_from_path):
336         (gtk_item_factory_create_item): free some strings
337
338         * gtk/gtklabel.c:
339         (gtk_label_finalize): free label->pattern when done
340         (gtk_label_parse_uline): null terminate pattern string, delete
341         some duplicated code
342
343         * gtk/testthreads.c: add #include <unistd.h> for sleep()
344
345 Tue Aug 25 16:52:47 1998  Owen Taylor  <otaylor@redhat.com>
346
347         * gtk/gtktext.c (recompute_geometry): Make sure the
348         mark we pass to line start is the beginning of a 
349         real line, not a wrapped one.
350
351 Mon Aug 24 18:37:15 1998  Owen Taylor  <otaylor@redhat.com>
352
353         * gtk/gtktext.c: Reference count the fonts used in
354         the text widget.
355
356         * gdk/gdk.h gdk/gdkcolor.c: Rename the color allocation
357         freeing functions to be more consistent, and more 
358         convenient; leave the old names in for backwards compatibility.
359
360         * gdk/gdkcolor.c gdk/gdkprivate.h: Reference count the
361         allocations in pseudo-color colormaps to greatly reduce
362         calls to XAllocColor. Keep a per-colormap hashtable to
363         speed up finding if there is an already-allocated matching
364         color.
365
366         * gdk/gdkcolor.c: Don't just match read the system colormap
367         when the colormap is created, but synchronize our copy
368         with the system colormap periodically.
369         
370         * gdk/gdk.c gdk/gdktypes.h gtk/gtkentry.c gtk/gtktext.c: 
371         Change XIM constants names to match GDK conventions
372
373         * gtk/testinput.c: Allow the drawing area to get the focus.
374
375         * gtk/testgtk.c: Change around the Text test to demonstrates
376         multiple fonts, use more colors.
377
378         * gtk/gtkwidget.c: Improve gtk_widget_get_colormap()/visual()
379         so they work after a widget is unrealized.
380
381         * gtk/gtktext.[ch]: Remove the requirement that the text
382         widget be realized before adding text (!) Allocate colors
383         ourself, instead of requiring the caller allocate them.
384         Allow changing styles to work properly by keeping track
385         of the values for a certain property are default or
386         set explicitely.
387
388         * gtk/gtkmenu.h: Added some comments.
389
390         * gtk/gtkentry.c: Changes to match XIM constants.
391
392         * gtk/gdk.h gdk/gdkwindow.c: Add gdk_drawable_set_data(),
393         for adding keyed data to drawables. (Uses g_dataset
394         internally)
395
396         * gdk/gdkpixmap.c: Keep track of the colors we allocate,
397         when creating an XPM - store them as user data for the GdkPixmap,
398         so we don't leak colors when we create pixmaps from XPM's.
399
400         Allocate memory for color information in large blocks instead of 
401         as many little pieces.
402         
403 Mon Aug 24 11:09:32 PDT 1998 Manish Singh <yosh@gimp.org>
404
405         * gdk/gdkrgb.c: removed some unused variables
406
407         * gtk/gtkclist.c
408         * gtk/gtkmain.c: #if 0'd out some unused code
409
410         * gtk/gtkobject.c: check for NULL object hash table in gtk_object_debug
411
412 Mon Aug 24 02:36:53 1998  Tim Janik  <timj@gtk.org>
413
414         * gtk/gtkarg.h:
415         * gtk/gtkarg.c:
416         * gtk/gtkwidget.h: 
417         * gtk/gtkwidget.c: 
418         * gtk/gtkobject.h:
419         * gtk/gtkobject.c:
420         * gtk/gtkcontainer.h: 
421         * gtk/gtkcontainer.c: 
422         (gtk_object_new):
423         (gtk_object_set):
424         (gtk_widget_new):
425         (gtk_widget_set): 
426         (gtk_container_add_with_args):
427         (gtk_container_child_set):
428         begin the parameter elipsis (...) after the first argument name. this
429         change is source compatible, since it was always required, even as NULL.
430         (gtk_args_collect): 
431         (gtk_object_args_collect): 
432         (gtk_container_child_args_collect):
433         changed prototypes to pass first_arg_name, also, pass va_list variable
434         by value (portability concerns). callers changed.
435
436         * gtk/gtkargcollector.c: implemented gtk_arg_collect_value() as
437         a huge macro GTK_ARG_COLLECT_VALUE() <shrug>. this is needed because we
438         can't pass va_list variables by reference for portability reasons.
439
440 Fri Aug 21 22:40:00  Raph Levien  <raph@gtk.org>
441
442         * gdk/gdkrgb.c: added calls to gdk_rgb_init in the get_cmap and
443         get_visual calls, so that it gets implicitly initialized.
444
445 Fri Aug 21 13:06:04 1998  Stuart Parmenter  <pavlov@gimp.org>
446         * gtk/gtkfeatures.h.in:  added GTK_HAVE_FEATURES_1_1_2 for changes
447         such as GtkCTree function name changes
448         
449 Fri Aug 21 02:31:26 1998  Tim Janik  <timj@gtk.org>
450
451         * gtk/gtkmain.h:
452         * gtk/gtkmain.c (gtk_check_version): added a function to perform a
453         binary version check, returning a static string for error descriptions,
454         or NULL on success.
455
456 Thu Aug 20 20:08:15 1998  Owen Taylor  <otaylor@redhat.com>
457
458         * gtk/gtktext.c ([un]draw_cursor): Check to see if we've
459         computed our geometry yet, and if not, ignore the request.
460
461         * gtk/gtktext.c (correct_cache_insert): Fiddled around
462         some more. All the bug-test codes seem to work at once
463         now. (fingers crossed...)
464
465 Thu Aug 20 13:04:08 PDT 1998 Manish Singh <yosh@gimp.org>
466
467         * gdk/gdkrgb.c: silly visual fixes
468
469         * gtk/testgtk.c: call gdk_rgb_init so color preview test actually
470         works
471
472 1998-08-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>
473
474         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Do not do
475         anything if the event's window is not the bin window.
476         (gtk_handle_box_motion): Likewise.
477
478 1998-08-19  Raph Levien  <raph@gimp.org>
479
480         * gtk/testgtk.c (create_color_preview): pushed the colormap and
481         visual so it would work better with GdkRgb.
482
483 1998-08-19  Raph Levien  <raph@gimp.org>
484
485         * gdk/gdkrgb.c: fixed some bugs in the 565_d mode, and added a
486         4bpp static_color mode (for vga displays). Also fixed a '64' value
487         in the dither matrix, which was causing one pixel out of 16k to be
488         dithered wrong.
489
490         * gtk/gtkpreview.{c,h}: Changed it to work with GdkRgb, gutting
491         most of the contents. This is an API change - any apps that relied
492         on the internal structure of GtkPreview will need some change -
493         most notably in the use of reserved colors. The Gimp needed
494         changes in this regard.
495
496 Wed Aug 19 00:11:14 1998  Tim Janik  <timj@gtk.org>
497
498         * gtk/gtkmain.c (gtk_init): allow argument parsing in gtk without
499         G_ENABLE_DEBUG being defined (specifically --gtk-module= and
500         --g-fatal-warnings), noticed by miguel.
501
502 Tue Aug 18 17:54:40 1998  Tim Janik  <timj@gtk.org>
503
504         * gtk/gtkrc.c (gtk_rc_parse_file): use g_get_current_dir() instead of
505         getcwd().
506
507         * gdk/gdkprivate.h:
508         * gdk/gdkglobals.c:
509         * gdk/gdkwindow.c:
510         * gdk/gdk.c:
511         * gtk/gtkwindow.c: 
512         * gtk/gtkitemfactory.c: 
513         dropped gdk_progname, use g_get_prgname()/g_set_prgname() instead.
514
515         * gtk/gtkselection.c:
516         * gtk/gtkpreview.c:
517         * gtk/gtkobject.c: 
518         * gtk/gtkmain.c: 
519         * gtk/gtktypeutils.c: indentation fixes due to g_message() use.
520
521         * gdk/gdkrgb.c: exchanged occourances of g_print with g_message.
522
523 Tue Aug 18 17:22:22 1998  Lars Hamann  <lars@gtk.org>
524
525         * gtk/gtknotebook.c (gtk_notebook_switch_focus_tab): 
526         * gtk/gtknotebook.c (gtk_notebook_update_labels): fix for sigsegv
527         in case of show_tabs == NULL
528
529 Tue Aug 18 03:54:43 1998  Tim Janik  <timj@gtk.org>
530
531         * gtk/gtkmain.c (gtk_init): restricted the --g*fatal-* arguments
532         to --g-fatal-warnings again. this option now causes log levels of
533         WARNING and CRITICAL to abort().
534
535         * gdk/gdk.c: 
536         * gdk/gdkdnd.c: 
537         * gdk/gdkcc.c: 
538         * gdk/gdkfont.c: 
539         * gdk/gdkwindow.c:
540         * gdk/gdkvisual.c:
541         * gtk/gtkwidget.c:
542         * gtk/gtktypeutils.c:
543         * gtk/gtktree.c:
544         * gtk/gtkfontsel.c:
545         * gtk/gtkmain.c:
546         * gtk/gtkobject.c:
547         * gtk/gtkpreview.c:
548         * gtk/gtkselection.c:
549         * gtk/gtktext.c:
550         * gtk/gtktree.c:
551         * gtk/gtktreeitem.c:
552         did a global search&replace to substitute g_print() calls with
553         g_message(). libraries shouldn't use printf(), g_print() or
554         g_printerr() at all.
555         a bunch of the replacements should probably be wrapped into the
556         G{D|T}K_NOTE() macros, so they are special cased for debugging
557         purposes in a sane way, avoiding all the nasty #ifdef DEBUG_MY_TEDDY
558         things.
559
560         * gdk/gdkdnd.c: added copyright notice.
561
562 Mon Aug 17 17:28:00  Raph Levien  <raph@gtk.org>
563
564         * gdk/gdkrgb.c: Further speedups of the 565_d case. It's
565         impressively fast now - about 4.65 Mpix/s on an IBM TP 600
566         running a PII 233. It's synced with the 0.0.5 release of
567         GdkRgb.
568
569 Tue Aug 18 00:29:13 1998  Lars Hamann  <lars@gtk.org>
570
571         * gtk/gtkclist.h:
572         (struct _GtkCListClass): new class methods:
573         (sort_list) (insert_row) (remove_row) (set_cell_contents)
574
575         * gtk/gtkclist.c :
576         (cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
577         removed and replaced by (set_cell_contents)
578         (set_cell_contents): function for class method set_cell_contents
579         (real_insert_row): function for class method insert_row
580         (real_remoce_row): function for class method remove_row
581         (real_sort_list): function for class method sort_list
582         (default_compare): fix to avoid problems with cell types != CELL_TEXT
583
584         * gtk/gtkctree.h :
585         (gtk_ctree_export_to_gnode): new function to export a ctree as gnode 
586         (gtk_ctree_node_is_visible): new function to return visibility state
587         of a node
588         (gtk_ctree_show_stub): new function to set visibility of root stub
589
590         renamed functions :
591         (gtk_ctree_insert) -> (gtk_ctree_insert_node)
592         (gtk_ctree_remove) -> (gtk_ctree_remove_node)
593         (gtk_ctree_find_glist_ptr) -> (gtk_ctree_find_node_ptr)
594         (gtk_ctree_set_text) -> (gtk_ctree_node_set_text)
595         (gtk_ctree_set_pixmap) -> (gtk_ctree_node_set_pixmap)
596         (gtk_ctree_set_pixtext) -> (gtk_ctree_node_set_pixtext)
597         (gtk_ctree_set_shift) -> (gtk_ctree_node_set_shift)
598         (gtk_ctree_get_cell_type) -> (gtk_ctree_node_get_cell_type)
599         (gtk_ctree_get_text) -> (gtk_ctree_node_get_text)
600         (gtk_ctree_get_pixmap) -> (gtk_ctree_node_get_pixmap)
601         (gtk_ctree_get_pixtext) -> (gtk_ctree_node_get_pixtext)
602         (gtk_ctree_set_foreground) -> (gtk_ctree_node_set_foreground)
603         (gtk_ctree_set_background) -> (gtk_ctree_node_set_background)
604         (gtk_ctree_set_row_data) -> (gtk_ctree_node_set_row_data)
605         (gtk_ctree_set_row_data_full) -> (gtk_ctree_node_set_row_data_full)
606         (gtk_ctree_get_row_data) -> (gtk_ctree_node_get_row_data)
607         (gtk_ctree_moveto) -> (gtk_ctree_node_moveto)
608         (gtk_ctree_sort) -> (gtk_ctree_sort_node)
609         (gtk_ctree_is_visibe) -> (gtk_ctree_is_viewable)
610
611         * gtk/gtkctree.c :
612         (cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
613         removed and replaced by (set_cell_contents)
614         (set_cell_contents): function for class method set_cell_contents
615         (real_insert_row): function for class method insert_row
616         (real_remoce_row): function for class method remove_row
617         (real_sort_list): function for class method sort_list
618         (default_compare): removed. CTree now also compares two GtkCTreeRows
619         instead of two GtkCTreeNodes.
620         (gtk_ctree_unlink): call gtk_ctree_collapse if parent is empty after
621         unlinking the node
622         (real_tree_expand) (real_tree_collapse): fix for refcounting of
623         node pixmaps
624         (set_node_info): call gtk_ctree_node_set_pixtext instead of
625         manipulating the row itself
626         
627         * gtk/testgtk.c: use renamed functions of GtkCTree.
628         new sample to show gtk_ctree_export_to_gnode and gtk_ctree_insert_gnode
629         at work.
630
631 Mon Aug 17 15:31:38 1998  Tim Janik  <timj@gtk.org>
632
633         * gtk/gtkmain.c: removed gtk_input_add_interp.
634
635         * gtk/gtkeditable.c (gtk_editable_set_position): fixed bogus "return"
636         keyword.
637         (gtk_editable_get_event_time): fix default: case.
638
639         * gtk/gtkclist.c (gtk_clist_swap_rows): fixes for lvalue casts.
640
641         * gdk/gdkpixmap.c: made a bunch of unexported functions static.
642
643         * gdk/gdkcolor.c:
644         * gdk/gdkvisual.c: include "gdkx.h", since it exports prototypes
645         of our functions.
646
647         * various minor compilation cleanups, such as bogus commas in
648         enums and similar things.
649
650 Mon Aug 17 07:47:43 1998  Tim Janik  <timj@gtk.org>
651
652         * gtk/gtkmain.c (gtk_init): NULL terminate the arg list to g_strconcat()
653         (thanx raph).
654
655 Sun Aug 16 23:14:20 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
656
657         * NEWS: updated for 1.1.2
658         * gtk+.spec: version = 1.1.2
659
660 Mon Aug 17 05:10:29 1998  Tim Janik  <timj@gtk.org>
661
662         * gtk/gtkmain.c (gtk_init): don't call module initializers multiple
663         times. changed --gtk-with-module to --gtk-module at owen's request.
664
665 Mon Aug 17 03:47:55 1998  Tim Janik  <timj@gtk.org>
666
667         * gtk/gtkmain.c (gtk_init): feature a new commandline option
668         --gtk-with-module=<module> that allows additional loading and
669         initialization of modules (e.g. GLE).
670
671 Mon Aug 17 01:40:00 1998  Tim Janik  <timj@gtk.org>
672
673         * configure.in: version bump to 1.1.2, binary age 0, interface age 0.
674         pass "gmodule" to AM_PATH_GLIB, with that we require libgmodule.so now.
675
676         * gtk/gtkmain.c (gtk_init): since glib's g_return*_if_fail macros log
677         with G_LOG_LEVEL_CRITICAL now, i added "--g-fatal-checks",
678         "--gdk-fatal-checks" and "--gtk-fatal-checks". that makes up six
679         different *-fatal-* arguments now. this needs to be revised and
680         compressed to a reasonable amount of arguments.
681
682 Sun Aug 16 20:51:59 1998  Tim Janik  <timj@gtk.org>
683
684         * gtk/gtkmain.c (gtk_init): fatal warning option is split up now,
685         "--g-fatal-warnings" causes fatal warnings in GLib,
686         "--gdk-fatal-warnings" causes fatal warnings in Gdk,
687         "--gtk-fatal-warnings" causes fatal warnings in Gtk.
688
689         * gtk/Makefile.am: define G_LOG_DOMAIN for gtk.
690         * gdk/Makefile.am: define G_LOG_DOMAIN for gdk.
691
692         * gtk/testgtk.c: 
693         * gdk/gxid.c:
694         we need ugly #undef G_LOG_DOMAIN at the start of these files currently,
695         since automake doesn't support per target _CFLAGS yet.
696
697         * configure.in: require GLib 1.1.3.
698
699 Sat Aug 15 03:19:30 1998  John Ellis  <johne@bellatlantic.net>
700
701         * gtk/gtkctree.[ch] (gtk_ctree_set_drag_compare_func): New function
702         to set a callback to test if a node in drag can be dropped onto
703         it's currrent location.
704         * gtk/gtkctree.c (set_mouse_cursor),(check_cursor): New functions
705         to change the pointer when a drag destination is not allowed.
706
707 Thu Aug 13 21:06:00 1998  Raph Levien  <raph@gtk.org>
708
709         * gdk/gdkrgb.c: committing a patch by Ray Lehtiniemi that
710         speeds up the 565_d case by about 25% total. Thanks Ray!
711
712 Thu Aug 13 16:47:44 1998  Owen Taylor  <otaylor@redhat.com>
713
714         * Changed GtkSignalFunc back to () from (void). (again!)
715
716         * Added file README.cvs-commits
717         
718 Thu Aug 13 09:11:11 BST 1998  Tony Gale  <gale@gtk.org>
719
720         * docs/gtk_tut.sgml:
721           - Tidy up of the menufactory example from
722             Andy Kahn <kahn@zk3.dec.com>
723           - New section on Range Widgets from
724             David Huggins-Daines <bn711@freenet.carleton.ca>
725           - Started a new section on 'Advanced Event and Signal
726             Handling' - used an email from Owen.
727           - New appendix on Gdk Event Types
728           - Added the tictactoe full example code to the
729             'Code Examples' appendix
730
731 Tue Jul 21 12:42:01 1998  Owen Taylor  <otaylor@redhat.com>
732
733         * gdk/gdk.h gdk/gdkfont.c: Added gdk_text/string_extents() - 
734           to calculate all the metrics at once of a string, including
735           things which weren't calculated before.
736
737         * gtk/Makefile.am gtk/gtk.h gtk/gtktearoffmenu.[ch]: New
738           MenuItem type, that when put as the first thing in a
739           menu, makes the menu tearoff. Currently drawn as a
740           dashed line.
741
742         * gtk/gtkmenuitem.h gtk/gtkcheckmenuitem.c: Added a flag
743           "hide_on_activate" to the MenuItem class structure to allow
744           check and radio buttons to be changed with <Space> without
745           hiding the menu.
746
747         * gtk/gtkitemfactory.c: 
748           - Create a AccelGroup for each MenuShell we create.
749           - If an '_' appears before a  character 'c' in the path,
750             then make 'c' an accelerator in the menu's accel group,
751             and if the menuitem is menubar <alt>C an accelerator 
752             in the itemfactory's accel group. Double '__' inserts
753             a literal '_'
754
755         * gtk/gtklabel.[ch]: Add support for a pattern arg - 
756           which is a string. If an '_' appears in this string,
757           the corresponding position in the label is underlined.
758
759           Add gtk_label_parse_uline() convenience function which
760           takes a string with embedded underlines, sets the
761           pattern and label, and returns the accelerator keyval.
762
763         * gtk/gtkmenu.[ch]: Make menus no longer a toplevel widget.
764           Instead, they create a GtkWindow and add themselves
765           to that. (When torn off, another new feature, they
766           create another GtkWindow to hold the torn off menu)
767
768           New function gtk_menu_set_tearoff_state()
769         
770         * gtk/gtkenums.h gtk/gtkmenushell.[ch] gtk/gtkenums.h: 
771           Added action signals  for keyboard navigation of menus.
772
773         * gtk/gtkmenushell.c: Key press handler which activates
774           bindings for navigation, and accelerators, for handling
775           underline accelerators. Exported functions to select 
776           and activate menu items in a menushell.
777
778         * gtk/testgtk.c: Added a new "Item Factory" test which
779           tests GtkItemFactory and the new keyboard navigation
780           of menus.
781
782 Tue Aug 11 20:52:58 1998  Tim Janik  <timj@gtk.org>
783
784         * gtk/gtktypeutils.c (gtk_type_class_init): relookup nodes after
785         external functions have been called. also relookup nodes after
786         this function has been invoked.
787
788 Tue Aug 11 15:04:52 1998  Owen Taylor  <otaylor@redhat.com>
789
790         * gtk/gtktext.[ch]: Removed has_cursor, set the cursor
791           beginning of Text when creating the Text widget.
792
793         * gtk/testgtk.c: Grab the focus on the text widget so
794           as to test out the above.
795
796 Tue Aug 11 14:55:00 1998  Owen Taylor  <otaylor@redhat.com>
797
798         * gtk/gtkeditable.c: Reverted part of timj's change of Jul 16. 
799           ::changed is a notification signal and should have no default
800           handler. A complete redraw of the Text widget does _not_ need to
801           be done on every text insertion.
802
803 Tue Aug 11 13:07:29 1998  Owen Taylor  <otaylor@redhat.com>
804         (gtk-abilleira-072198-patch)
805
806         * gtk/gtkwindow.[ch]: 
807           Add gtk_window_set_modal() which sets a flag; when
808           set the window does a gtk_grab_add() when the window
809           is shown, and a gtk_grab_remove() when the window
810           is hidden. 
811
812         * gtk/gtkfilesel.[ch]: Test if it is running in modal form and in
813           that case will run "Create Dir","Delete File" and "Rename File" 
814           dialogs as modal too.
815
816         * gtk/testgtk.c: Added a button with an example of creating modal 
817           dialog boxes. Including file selection and color selection standard
818           dialogs.
819         
820 Tue Aug 11 00:44:47 1998  Owen Taylor  <otaylor@redhat.com>
821
822         * gtk/gtkhscrollbar.c gtk/gtkvscrollbar.c gtk/gtktoolbar.c:
823           Removed CAN_FOCUS by default from scrollbars, button
824           children of toolbar. (But not GTK_TOOLBAR_CHILD_WIDGET children)
825           (Scrollbar definitely good change, toolbar bit more questionable)
826
827 Tue Aug 11 17:49:33 1998  Tim Janik  <timj@gtk.org>
828
829         * examples/packbox/packbox.c: #include fixes (reported by Asbjoern
830         Pettersen).
831
832 Tue Aug 11 00:35:56 1998  Owen Taylor  <otaylor@redhat.com>
833
834         * gdk/gdkgc.c gdk/gdktypes.h: Applied gtk-pedersen-980727-0; 
835           added all logical operations to gc->function.
836
837 Sun Aug  9 23:31:59 1998  Lars Hamann  <lars@gtk.org>
838
839         * gtk/gtkclist.c (adjust_scrollbars): Fix for resize bug. Call
840         gtk_widget_size_allocate instead of gtk_widget_queue_resize
841         if the visibility state of a scrollbar changes.
842
843 Mon Aug 10 12:49:54 1998  Tim Janik  <timj@gtk.org>
844
845         * gtk/gtkhbbox.h: fixed an #include statement (reported by Eric Kidd).
846
847 Thu Aug  6 22:37:21 1998  Stefan Jeske  <stefan@gtk.org>
848
849         * gtk/gtkclist.c: Renamed my_merge and my_mergesort to
850         gtk_clist_merge and gtk_clist_mergesort. :)
851
852 1998-08-06  Martin Baulig  <martin@home-of-linux.org>
853
854         * gtk/gtkclist.c: Renamed `merge' -> `my_merge' and
855         `mergesort' -> `my_mergesort'.
856
857 Wed Aug  5 21:12:37 1998  Stefan Jeske  <stefan@gtk.org>
858
859         * gtk/gtkenums.h: new enum GtkSortType.
860         
861         * gtk/gtkclist.h:
862         * gtk/gtkclist.c:
863         Added sorting capabilities to GtkCList. New APIs :
864         gtk_clist_set_compare_func, gtk_clist_set_sort_column,
865         gtk_clist_set_sort_type, gtk_clist_sort, gtk_clist_set_auto_sort. 
866         New internal functions : default_compare, merge, mergesort.
867
868         (gtk_clist_append): This is just a wrapper for gtk_clist_insert now.
869         
870         (gtk_clist_insert): Modified to handle gtk_clist_append and the
871         auto sort flag. Changed the return value from void to gint to
872         return the row number where the element was actually inserted.
873
874         (gtk_clist_swap_rows): Return immediately if auto sort flag is set.
875         
876         * gtk/gtkctree.h:
877         * gtk/gtkctree.c:
878         Removed the auto_sort flag, replaced ctree->node_compare with
879         clist->compare all over the place, modified default_compare to
880         match clist's needs. Removed API´s : gtk_ctree_set_auto_sort,
881         gtk_ctree_set_compare_func. Removed GtkCTreeCompareFunc typedef.
882
883         * gtk/testgtk.c: Modified clist/ctree samples to demonstrate
884         sorting. The lists can be sorted by a column by clicking the 
885         corresponding title button.
886         
887 Tue Aug  4 22:02:49 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
888
889         * Released GTK+ 1.1.1
890
891 Wed Aug  5 02:57:20 1998  Lars Hamann  <lars@gtk.org>
892
893         * gtk/gtkctree.h:
894         * gtk/gtkctree.c:
895         (gtk_ctree_find): changed to return a gboolean
896         (gtk_ctree_insert_gnode): new function for recursive insertion of a
897         GNode tree.
898         (gtk_ctree_real_select_recursive): fix for extended selection
899         (gtk_ctree_sort_recursive): in case node == NULL, sort root nodes too.
900         (gtk_ctree_set_node_info) (set_node_info): few fixes for expanded flag
901
902 Tue Aug  4 16:18:26 1998  Tim Janik  <timj@gtk.org>
903
904         * configure.in: version bump to 1.1.1, binary age 0, interface age 0.
905         GLib version 1.1.1 is now required at minimum.
906
907         * docs/Makefile.am: added gtk_tut_fr.sgml to EXTRA_DIST (french version
908         of the Gtk+ tutorial, contributed by Eric Jacoboni <jaco@dotcom.fr>.
909
910 Mon Aug  3 19:24:48 1998  Owen Taylor  <otaylor@redhat.com>
911  
912         * gtk/gtktext.c (gtk_text_forward_delete): Undraw the
913           cursor before (possibly) deleting the cursor's text
914           property.
915  
916         * gtk/gtktext.c (correct_cache_delete): More attempts
917           to clean the line-start cache up after inserting
918           a property. Among other things, make sure to
919           fix up text->current_line, since it is used to 
920           refetch the changed lines.
921  
922 Tue Aug  4 10:59:19 1998  Owen Taylor  <otaylor@redhat.com>
923
924         * gtk/gtktable.[ch]: Empty rows/columns of the table
925         should not have been marked as being able to shrink.
926         (Fixes problem with shrinking scrollbarless GIMP canvases)
927
928 1998-08-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
929
930         * gtk/gtkctree.c (gtk_ctree_find_by_row_data_custom): New public
931         function to find a row by its data pointer using a custom
932         comparison function.
933
934 Sun Aug 02 22:58:00 1998  George Lebl  <jirka@5z.com>
935
936         * gtk/gtkclist.c: draw the buttons during a "draw" as well,
937           this fixes a bug when the whole widget is made non-sesitive
938           the buttons weren't redrawn
939
940 Mon Aug  3 00:04:09 1998  Lars Hamann  <lars@gtk.org>
941
942         * gtk/gtkclist.c (abort_column_resize): reset drag_pos after abort
943         * gtk/gtkclist.c (gtk_clist_key_press): removed a few unneeded lines
944         * gtk/gtkcombo.c (gtk_combo_list_key_press): fixed compiler warning
945
946 Sun Aug  2 03:08:07 1998  Owen Taylor  <otaylor@gtk.org>
947
948         * gdk/gdkwindow.c (gdk_window_reparent): Change 
949           window_private->parent pointer when reparenting.
950
951 Sat Aug  1 22:17:00 1998  Raph Levien  <raph@acm.org>
952
953         * gdk/gdkrgb.c: made some minor config changes to unify GdkRgb
954         with the standalone release.
955
956 Fri Jul 31 20:45:07 1998  Lars Hamann  <lars@gtk.org>
957
958         * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_motion)
959         (gtk_clist_button_release) (new_column_width): Few fixes for
960         column resize. Store resize column in clist->drag_pos.
961
962 Thu Jul 31 15:18:36 1998  Lars Hamann  <lars@gtk.org>
963
964         * gtk/gtkctree.h 
965         * gtk/gtkctree.c 
966         * gtk/testgtk.c : New typedef GtkCTreeNode, changed all GList *node
967         to GtkCTreeNode *node.
968
969         * gtk/gtklist.h : added extended selection mode and auto scrolling.
970         (struct _GtkList): removed unneeded variables timer, button,
971         selection_start_pos, selection_end_pos, scroll_direction, have_grab.
972         Added new variables undo_selection, undo_unselection, last_focus_child,
973         undo_focus_child, htimer, vtimer, anchor, drag_pos, anchor_state,
974         drag_selection, add_mode.
975  
976         New functions :
977         (gtk_list_extend_selection), (gtk_list_start_selection),
978         (gtk_list_end_selection), (gtk_list_select_all),
979         (gtk_list_unselect_all), (gtk_list_scroll_horizontal),
980         (gtk_list_scroll_vertical), (gtk_list_toggle_add_mode),
981         (gtk_list_toggle_focus_row), (gtk_list_toggle_row),
982         (gtk_list_undo_selection), (gtk_list_end_drag_selection)
983         
984         * gtk/gtklist.c : 
985         (gtk_list_enter_notify): removed, because auto scrolling now works
986         with gtk_list_motion_notify
987  
988         New functions, needed for auto scrolling :
989         (gtk_list_motion_notify) (gtk_list_move_focus_child)
990  
991         New functions for extended selection support :
992         (gtk_list_set_anchor), (gtk_list_fake_unselect_all),
993         (gtk_list_fake_toggle_row), (gtk_list_update_extended_selection),
994         (gtk_list_focus_lost)
995         
996         (gtk_list_set_focus_child): modified gtk_container_set_focus_child
997         function to support auto scrolling, and avoid out-of-sync errors in
998         case auf GTK_SELECTION_BROWSE
999         (gtk_list_focus): modified gtk_container_focus function to avoid out
1000         off sync errors in case auf GTK_SELECTION_EXTENDED
1001
1002         * gtk/gtklistitem.h 
1003         * gtk/gtklistitem.c :
1004         New signal functions for key binding support :
1005         (toggle_focus_row), (select_all), (list_item), (unselect_all)
1006         (list_item), (undo_selection), (start_selection), (end_selection)
1007         (extend_selection), (scroll_horizontal), (scroll_vertical),
1008         (toggle_add_mode)
1009         (gtk_list_item_realize): added  GDK_KEY_PRESS_MASK |
1010         GDK_KEY_RELEASE_MASK
1011         (gtk_list_item_draw_focus): modify gc if parent has add_mode set.
1012  
1013         * gtk/gtkcombo.c :
1014         (gtk_combo_popup_button_press):  grab pointer for combo->list
1015         (gtk_combo_button_release): ungrab only if combo->popwin HAS_GRAB
1016         (gtk_combo_list_key_press): take care of which child HAS_GRAB
1017         (gtk_comb_init): don't connect combo->button with button_release_event
1018
1019 Thu Jul 30 12:39:36 1998  Lars Hamann  <lars@gtk.org>
1020
1021         * gtk/gtkclist.c (gtk_clist_motion): removed a few unneeded lines
1022
1023 Wed Jul 29 23:31:50 1998  Lars Hamann  <lars@gtk.org>
1024
1025         * gtk/gtkclist.c (gtk_clist_motion): column resize now works with
1026         horizontal autoscrolling, GtkCTree's 'reorder ability' now works
1027         with horizontal and vertical autoscrolling.
1028
1029 Tue Jul 28 20:32:03 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1030
1031         * gtk/docs/man: new directory
1032         * gtk/docs/man/gtk_button.pod: new file, initial gtk_button man page
1033
1034 Tue Jul 28 00:03:20 1998  Lars Hamann  <lars@gtk.org>
1035
1036         * gtk/gtknotebook.c (gtk_notebook_paint): small fix for border drawing
1037         bug
1038
1039 Mon Jul 27 09:18:13 BST 1998  Tony Gale  <gale@gtk.org>
1040
1041         * docs/gtk_tut.sgml: GtkTree section from
1042           David Huggins-Daines <bn711@freenet.carleton.ca>,
1043           add a GtkText widget example
1044         * examples/text/* example/tree/* : new examples for the
1045           GtkTree and GtkText widgets
1046         * docs/gtk_tut.sgml: added an appendix to hold complete code
1047           examples that aren't in a full form elsewhere in the
1048           tutorial (e.g. scribble)
1049
1050 Mon Jul 27 00:46:21 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1051
1052         * Released GTK+ 1.1.0
1053
1054 Mon Jul 27 04:18:26 1998  Tim Janik  <timj@gtk.org>
1055
1056         * gtkfeatures.h.in: revamped the definitions for 1-1-0, so that all
1057         the new API stuff is reflected in one #define GTK_HAVE_FEATURES_1_1_0.
1058
1059 Mon Jul 27 03:11:20 1998  Tim Janik  <timj@gtk.org>
1060
1061         * gtk/gtkbindings.c (binding_compose_params): fixup, so that enum
1062         values are looked up.
1063
1064         * gtk/gtktypeutils.h:
1065         * gtk/gtktypeutils.c: new functions gtk_type_flags_find_value and
1066         gtk_type_enums_find_value to lookup enum values.
1067
1068         * gtk/gtkctree.h: 
1069         * gtk/gtkctree.c: change enum name from GtkCTreeExpansion to
1070         GtkCTreeExpansionType. fixed signal creations to pass the enum
1071         types not just the base type GTK_TYPE_ENUM.
1072
1073         * gtk/gtkclist.h: 
1074         * gtk/gtkclist.c: fixed signal creations to pass the real enum
1075         types not just the base type GTK_TYPE_ENUM.
1076
1077 Sun Jul 26 14:50:07 1998  Stefan Jeske  <stefan@gtk.org>
1078
1079         * gtk/testgtk.c : 
1080         Began cleanup, e.g. use gtk_widget_show_all instead of many 
1081         gtk_widget_show's. Completely rewrote the button box sample
1082         (only one window now). Removed "miscellaneous" button.
1083
1084 Sun Jul 26 14:48:14 1998  Stefan Jeske  <stefan@gtk.org>
1085
1086         * gtk/gtkvbbox.c (gtk_vbutton_box_size_allocate): 
1087         Fixed wrong allocation for GTK_BUTTONBOX_END.
1088         (allocation->x  =>  allocation->y)
1089
1090 Sun Jul 26 14:06:37 1998  Lars Hamann  <lars@gtk.org>
1091
1092         * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_button_release)
1093         (abort_column_resize) (gtk_clist_key_press): fix for pointer grab
1094         
1095         * gtk/gtkctree.c (real_tree_select): added check to avoid double
1096         selected rows
1097         (gtk_ctree_button_press)
1098         (gtk_ctree_button_release): fix for pointer grab
1099
1100 Sat Jul 25 13:16:00 1998 Damon Chaplin  <DAChaplin@msn.com>
1101
1102         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): 
1103         Fixed initialization problem - dirty memory could cause problems.
1104         Also checked that bitmapped fonts can be scaled when showing the
1105         available sizes.
1106
1107 Sat Jul 25 02:25:03 1998  Lars Hamann  <lars@gtk.org>
1108
1109         * gtk/gtkctree.c (gtk_ctree_sort_recursive)
1110         (gtk_ctree_sort_recursive): test for node != NULL
1111         (gtk_ctree_is_visible) (gtk_ctree_realize) (gtk_ctree_unrealize)
1112         (gtk_ctree_last) : added sanity checks
1113         * gtk/gtkclist.c (gtk_clist_button_press): removed "no_focus_row"
1114
1115 Fri Jul 24 18:15:49 1998  Lars Hamann  <lars@gtk.org>
1116
1117         * gtk/gtkclist.c (toggle_focus_row): mini code cleanup
1118
1119 Fri, 24 Jul 1998 10:56:22 +0200 Paolo Molaro <lupus@debian.org>
1120
1121         * gtk/gtkfeatures.h.in: added GTK_HAVE_ENUM_VALUE_STRUCT.
1122
1123 Thu Jul 23 00:11:39 1998  Tim Janik  <timj@gtk.org>
1124
1125         * gtk/testgtkrc: introduce testbindings on C-1 for buttons,
1126         to check out binding priorities. someone should really write
1127         gtkrc-mode for emacs.
1128
1129         * gtk/gtkwidget.c (gtk_widget_class_init): remove ugly bindings test.
1130         * gtk/testgtk.c (main): and move it here ;). this test says something
1131         on release of C-9. (this works only if the mouse pointer is on a
1132         spinbutton and there is no focus widget).
1133
1134         * gtk/gtkrc.h:
1135         * gtk/gtkrc.c:
1136         export gtk_rc_parse_color, gtk_rc_parse_state and a new function
1137         gtk_rc_parse_priority to parse path priority types.
1138         export rc tokens.
1139         feature binding parsing.
1140
1141 Wed Jul 22 23:41:17 1998  Tim Janik  <timj@gtk.org>
1142
1143         * gtk/gtkbindings.h: 
1144         * gtk/gtkbindings.c: new function gtk_binding_parse_binding() to
1145         feature binding parsing in rc files.
1146         * gtk/gtkbindings.c (gtk_binding_set_new): bug fix.
1147         * gtk/gtkbindings.c (gtk_binding_pattern_compare): bug fix, we used to
1148         order the bindings with lowest priority first.
1149
1150 Wed Jul 22 15:21:08 PDT 1998 Manish Singh <yosh@gimp.org>
1151
1152         * gdk/gdkrgb.c: actually builds and runs properly on big
1153         endian machines now, because we #include config.h. Also
1154         fixed up a compile error in the WORDS_BIGENDIAN case in
1155         gdk_rgb_convert_565_gray. I made the fix by looking at
1156         patterns in the other code; Raph can you verify this?
1157
1158         * gdk/gdkthreads.c: #include <unistd.h> to quell compiler
1159         warnings
1160
1161 Wed Jul 22 23:00:44 1998  Lars Hamann  <lars@gtk.org>
1162
1163         * gtk/gtkctree.c (tree_select/unselect) (tree_expand/collapse) 
1164         (tree_toggle_expansion) (real_select/unselect_row)
1165         (gtk_ctree_select/unselect) : few fixes for gtk_signal_emits
1166
1167 Wed Jul 15 17:44:47 1998  Owen Taylor  <otaylor@redhat.com>
1168
1169         * gtk/gtktext.c (new_text_property): We free things from
1170         the text property MemChunk, so it needs to be G_ALLOC_AND_FREE.
1171
1172         * Fix up line start cache when splitting a property
1173         during an insert.
1174
1175 Wed Jul 15 21:15:52 1998  Owen Taylor  <otaylor@redhat.com>
1176
1177         * gtk/gtkwidget.c: restauration => restoration
1178
1179 Thu Jul 16 20:11:36 1998  Owen Taylor  <otaylor@redhat.com>
1180
1181         * gdk/gdkxid.c (gdk_xid_table_lookup): If xid_ht
1182         hasn't been created yet, don't do the lookup.
1183
1184 1998-07-20  Raph Levien  <raph@acm.org>
1185
1186         * gdk/gdkrgb.c: More cleanups in the config process.
1187
1188 1998-07-20  Raph Levien  <raph@acm.org>
1189
1190         * gdkrgb.c: Fixed minor config bug preventing big-endian
1191         architectures from working.
1192
1193 Tue Jul 21 06:32:43 1998  Stefan Jeske  <stefan@gtk.org>
1194
1195         * gtk/gtkprogressbar.{c,h} gtk/testgtk.c: Fixed wrong size of
1196         activity indicator. It is settable now as a fraction of the
1197         total width/height using gtk_progress_bar_set_activity_blocks.
1198         Renamed gtk_progress_bar_set_number_of_blocks to
1199         gtk_progress_bar_set_discrete_blocks.
1200
1201 Mon Jul 20 21:28:18 1998  Lars Hamann  <lars@gtk.org>
1202
1203         * gtk/gtkctree.c (gtk_ctree_post_recursive_to_depth)
1204         (gtk_ctree_pre_recursive_to_depth): new functions, recursive process
1205         tree to specified depth
1206         (gtk_ctree_expand_to_depth): expand tree to specified depth
1207         (gtk_ctree_collapse_to_depth): collapse all nodes with level >= depth
1208
1209 Sun Jul 19 23:51:05 1998  Lars Hamann  <lars@gtk.org>
1210
1211         * gtk/gtkclist.c (scroll_vertical): fix for vertical scrolling in case
1212         of GTK_CLIST_ADD_MOD
1213         * gtk/testgtk.c (add1000_clist): changed pixmap
1214
1215 Sat Jul 18 22:59:04 1998  Tim Janik  <timj@gtk.org>
1216
1217         * gtk/gtkmain.h: 
1218         * gtk/gtkmain.c: export gtk_binary_age and gtk_interface_age.
1219
1220         * gtk/gtktypeutils.h:
1221         * gtk/gtkitemfactory.h: remove "void" from prototypes again.
1222
1223 Sat Jul 18 00:54:01 1998  Lars Hamann  <lars@gtk.org>
1224
1225         * gtk/gtknotebook.c (gtk_notebook_set_child_arg): added support for
1226         CHILD_ARG_MENU_LABEL, CHILD_ARG_TAB_LABEL
1227         (gtk_notebook_get_child_arg): added support for CHILD_ARG_MENU_LABEL,
1228         CHILD_ARG_POSITION
1229         (gtk_notebook_reorder_child): new funktion to change position of a
1230         notebook page
1231         (gtk_notebook_draw_arrow): draw left/right arrow with
1232         GTK_SHADOW_ETCHED_IN if focus_tab is first/last tab.
1233
1234         * gtk/gtkstyle.c (gtk_default_draw_arrow):
1235         added GTK_SHADOW_ETCHED_IN/OUT
1236
1237 Sun Jul 19 12:19:16 1998  Stefan Jeske  <stefan@gtk.org>
1238
1239         * gtk/gtkprogress.c gtk/gtkprogress.h gtk/gtkprogressbar.c
1240           gtk/gtkprogressbar.h gtk/Makefile.am gtk/gtk.h gtk/testgtk.c:
1241         Introduced generic GtkProgress widget. Derived GtkProgressBar from
1242         GtkProgress. Made GtkProgressBar much more flexible (see testgtk).
1243
1244 Fri Jul 17 23:49:28 PDT 1998 Manish Singh <yosh@gimp.org>
1245
1246         * gtk/gtktypeutils.h
1247         * gtk/gtkitemfactory.h: explicitly specify void in prototype
1248
1249 Fri Jul 17 17:54:02 1998  Lars Hamann  <lars@gtk.org>
1250
1251         * gtk/gtkclist.c (scroll_vertical): fix to avoid flicker at begin/end
1252         of list
1253
1254 Fri Jul 17 05:30:47 1998  Tim Janik  <timj@gtk.org>
1255
1256         * gtk/gtksignal.c (gtk_handlers_run) (gtk_signal_real_emit):
1257         sropped the approach of copying all signal specific data into a
1258         GtkHandlerInfo structure. we rather keep the signal data on the stack
1259         in gtk_signal_real_emit and pass that over to gtk_handlers_run. this
1260         avoids multiple lookups of the signal pointer and works savely together
1261         with destroy notifiers of handlers.
1262
1263         * gtk/gtkentry.c (gtk_entry_key_press): care for the posssibility that
1264         someone destroys the entry on the ::activate signal.
1265
1266 Fri Jul 17 01:21:32 1998  Tim Janik  <timj@gtk.org>
1267
1268         * gtk/gtkarrow.c (gtk_arrow_expose): use misc->xpad for x calculation
1269         instead of ypad (typo).
1270         (gtk_arrow_set): clear all of the arrow's allocation (left a 1 pixel
1271         border around the allocation).
1272         (gtk_arrow_init): the static requisition needs to be setup in this
1273         function rather than gtk_widget_new(), so arrow creation works without
1274         the gtk_arrow_new() constructing.
1275         (gtk_arrow_expose): return TRUE, since we actually handled the expose.
1276
1277         * gtk/gtkwidget.c (gtk_widget_real_size_request): provide a default
1278         implementation for GtkWidget::size_request, so size requisition for
1279         simple statically sized widgets like GtkArrow works.
1280
1281 Thu Jul 16 14:16:16 PDT 1998 Manish Singh <yosh@gimp.org>
1282
1283         * gtk-config.in: minor changes to gtk-config: --cflags doesn't
1284         prepend -I@libdir@/glib/include anymore, since glib-config handles
1285         it; --libs strips out redundant -L<path>'s properly (there was
1286         code in there to do it before, but it didn't work)
1287
1288 Thu Jul 16 18:24:41 1998  Tim Janik  <timj@gtk.org>
1289
1290         * gtk/gtknotebook.h: 
1291         * gtk/gtknotebook.c: signdness corrections all ove the place.
1292         implementation of object arguments: GtkNotebook::enable_popup,
1293         GtkNotebook::tab_pos, GtkNotebook::tab_border, GtkNotebook::show_tabs,
1294         GtkNotebook::show_border, GtkNotebook::scrollable and GtkNotebook::page.
1295         begun implementation of child args, we have GtkNotebook::tab_label, but
1296         GtkNotebook::menu_label and GtkNotebook::position still lack the
1297         implementation.
1298         (gtk_notebook_remove_page):
1299         (gtk_notebook_current_page): allow negative indices (-1) as alias for
1300         the last page.
1301
1302         * gtk/gtkentry.h:
1303         * gtk/gtkentry.c: GtkType and macro fixups. implementation of object
1304         arguments GtkEntry::max_length and GtkEntry::visibility.
1305         (gtk_entry_adjust_scroll): queue a redraw.
1306
1307         * gtk/gtkeditable.h:
1308         * gtk/gtkeditable.c: GtkType und macro fixups. implementation of
1309         object arguments GtkEditable::text_position and GtkEditable::editable.
1310         new (action) signal GtkEditable::set_editable.
1311         provide a default handler for GtkEditable::changed that queues a redraw.
1312
1313         * gtk/gtktext.h: 
1314         * gtk/gtktext.c: GtkType und macro fixups. override GtkEditable::
1315         set_editable.
1316
1317 Thu Jul 16 14:42:11 1998  Lars Hamann  <lars@gtk.org>
1318
1319         * gtk/gtkctree.c (gtk_ctree_button_release): fix for sigsegv in
1320         case of drag_target == NULL
1321         * gtk/gtkclist.c (gtk_clist_button_press): fix for GTK_2/3BUTTON_PRESS.
1322         Clist did not emit an select_row signal in case of GTK_2/3BUTTON_PRESS.
1323         * gtk/gtkfilesel.c (gtk_file_selection_file_button,
1324         gtk_dir_selection_file_button): fix due to changes in clist's
1325         select_row signal.
1326
1327 Thu Jul 16 01:27:15 1998  Tim Janik  <timj@gtk.org>
1328
1329         * gtk/gtkwidget.h:
1330         * gtk/gtkwidget.c (gtk_widget_set_usize): handle negative values
1331         similar to gtk_widget_set_uposition(). that is: -1=unspecified,
1332         -2=leave untouched. changed the width/height field of GtkWidgetAuxInfo
1333         to be gint16s rather than guint16s, since that's what the code expected
1334         (for a long time actually).
1335
1336         * gtk/gtkviewport.c:
1337         added support for object arguments: GtkViewport::shadow_type,
1338         GtkViewport::vadjustment and GtkViewport::hadjustment.
1339         (gtk_viewport_add): chain gtk_bin_add.
1340
1341         * gtk/gtkscrolledwindow.c: 
1342         added support for object argument: GtkScrolledWindow::hscrollbar_policy,
1343         GtkScrolledWindow::vscrollbar_policy and GtkScrolledWindow::viewport.
1344
1345         * gtk/gtkadjustment.h: 
1346         * gtk/gtkadjustment.c: 
1347         * gtk/gtkctree.h: 
1348         * gtk/gtkclist.h: 
1349         * gtk/gtkctree.c: 
1350         * gtk/gtkclist.c:
1351         * gtk/gtkscrolledwindow.h:
1352         * gtk/gtkscrolledwindow.c:
1353         * gtk/gtkviewport.h:
1354         * gtk/gtkviewport.c:
1355         GtkType and macro fixups.
1356
1357 Thu Jul 16 01:10:02 1998  Lars Hamann  <lars@gtk.org>
1358
1359         * gtk/gtkctree.h :
1360         * gtk/gtkctree.c :
1361         Added focus handling, horizontal and vertical autoscrolling,
1362         extended Selection Mode, key bindings
1363         Added gtk_ctree_toggle_expansion & gtk_ctree_toggle_expansion_recursive
1364         Changed gtk_ctree_scroll_to to gtk_ctree_moveto.
1365         Removed gtk_ctree_clear.
1366         
1367         * gtk/gtkclist.h :
1368         * gtk/gtkclist.c : 
1369         Added focus handling, horizontal and vertical autoscrolling,
1370         extended Selection Mode, key bindings
1371
1372 Wed Jul 15 12:39:27 1998  Raph Levien  <raph@acm.org>
1373
1374         * This checkin integrates GdkRgb version 0.0.3 into the Gtk 1.1
1375         source tree. For more information on GdkRgb, please see:
1376         http://www.levien.com/gdkrgb/
1377
1378         * gtk/gtkfeatures.h.in (GTK_HAVE_GDK_RGB): added this feature. It
1379         bothers me slightly that the feature is in gdk, and this file is
1380         in gtk, but it's probably ok.
1381
1382         * gdk/gdk.h: Added an #include of <gdk/gdkrgb.h>
1383
1384         * gdk/gdkrgb.c:
1385         * gdk/gdkrgb.h: Added this module.
1386
1387         * Makefile.am (EXTRA_DIST): Added gdkrgb.c and gdkrgb.h files.
1388
1389         * configure.in: added AC_C_BIGENDIAN test (needed by GdkRgb).
1390
1391 Wed Jul 15 14:20:10 1998  Tim Janik  <timj@gtk.org>
1392
1393         * gtk/gtksignal.c (gtk_signal_real_emit): pass only the signal_id
1394         to this function. it needs to relookup the signal multiple times.
1395         this fixes spurious segfaults that could show up with signal intensive
1396         code, when classes are created during a pending emission (which is
1397         normal case).
1398
1399 Tue Jul 14 19:12:12 1998  Tim Janik  <timj@gtk.org>
1400
1401         * gtk/gtkbutton.c (gtk_button_set_arg): don't destroy a buttons
1402         child if it isn't a label.
1403
1404 Tue Jul 14 11:41:38 1998  Tim Janik  <timj@gtk.org>
1405
1406         * gtk/gtkdialog.h: 
1407         * gtk/gtkseparator.h: 
1408         * gtk/gtkhseparator.h: 
1409         * gtk/gtkvseparator.h: macro and GtkType fixups.
1410
1411 Tue Jul 14 06:25:46 1998  Tim Janik  <timj@gtk.org>
1412
1413         * gtk/testgtk.c (create_cursors): display the current cursor name.
1414
1415         * gtk/gtktypeutils.h: 
1416         * gtk/gtktypeutils.c (gtk_type_init_builtin_types): cleanups to
1417         the fundamental type definition. the GtkArg union now only covers
1418         the required storage types for argument values. adapted the GTK_VALUE_*
1419         macro set. handle GTK_TYPE_UCHAR. definiton of type set bounds macros.
1420
1421         * gtk/gtkargcollector.c (gtk_arg_collect_value): clean ups of the
1422         code, fixed int/float collection. fixed a bug in the sanity checking
1423         code for GtkObjects.
1424
1425         * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixups of the
1426         argument collection code.
1427
1428         * gtk/gtksignal.c (gtk_signal_collect_params): use the type set bounds
1429         macros when distinguishing the return type.
1430
1431 Mon Jul 13 12:42:51 1998  George Lebl  <jirka@5z.com>
1432
1433         * gdk/gdkwindow.h: (gdk_window_reparent) check if old_parent_private
1434           is not NULL before trying to g_list_remove the child. A patch
1435           from Michael Lausch.
1436
1437 Sun Jul 12 16:40:06 1998  Tim Janik  <timj@gtk.org>
1438
1439         * gtk/gtkargcollector.c (gtk_arg_collect_value): fix float argument
1440         collection (always casted to doubles upon argument passing).
1441
1442 Sun Jul 12 05:59:26 1998  Tim Janik  <timj@gtk.org>
1443
1444         * gtk/gtktypeutils.c (gtk_type_new): call the base classes'
1445         object_init_func for derived objects with the object's ->klass field
1446         still pointing to the corresponding base class, otherwise overridden
1447         class functions could get called with partly-initialized objects.
1448         (change from Tero Pulkkinen <terop@modeemi.cs.tut.fi>).
1449
1450 Sun Jul 12 02:47:35 1998  Tim Janik  <timj@gtk.org>
1451
1452         * gtk/gtkobject.h:
1453         * gtk/gtkobject.c:
1454         (gtk_object_arg_get_info): new functions which wraps gtk_arg_get_info().
1455
1456         * gtk/gtkcontainer.h:
1457         * gtk/gtkcontainer.c:
1458         (gtk_container_child_arg_get_info): new function which wraps
1459         gtk_arg_get_info().
1460
1461 Fri Jul 10 13:29:53 1998  Tim Janik  <timj@gtk.org>
1462
1463         * gtk/gtkcontainer.c:
1464         (gtk_container_arg_get): 
1465         (gtk_container_arg_set): 
1466         * gtk/gtkobject.c:
1467         (gtk_object_arg_set): 
1468         (gtk_object_arg_get):
1469         strictly check for the associated get/set arg functions. if an
1470         arg is readable or writable, the associated class functions *must*
1471         be provided.
1472
1473 Fri Jul 10 09:37:50 1998  Tim Janik  <timj@gtk.org>
1474
1475         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): only take the
1476         padding into account if there is an accelerator.
1477
1478 Fri Jul 10 05:51:44 1998  Tim Janik  <timj@gtk.org>
1479
1480         * gtk/gtkcontainer.c:
1481         (gtk_container_add_with_args): collect the arguments with
1482         gtk_container_child_args_collect, not through gtk_object_args_collect.
1483         (gtk_container_child_set): likewise.
1484
1485 Fri Jul 10 04:20:35 1998  Tim Janik  <timj@gtk.org>
1486
1487         * gtk/gtktypeutils.h: 
1488         * gtk/gtktypeutils.c: added a new internal type GTK_TYPE_IDENTIFIER
1489         which is derived from GTK_TYPE_STRING.
1490
1491         * gtk/gtkbindings.c: reworked the argument type handling.
1492
1493 Thu Jul  9 21:03:19 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1494
1495         * gtk/gtkpreview.c: add in just enough support for 1 or 4 bits
1496           so that it seems to allow normal operation in those modes,
1497           although you will only see black  (GIMP toolbar now pops up,
1498           just don't create a new image and GIMP now works in 4 bit.)
1499
1500 Thu Jul  9 20:20:04 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
1501
1502         * gdk/gdkvisuals.c: 4 bit support, increased available_depths
1503           array, which was too low (?)
1504
1505 Fri Jul 10 00:02:04 1998  Tim Janik  <timj@gtk.org>
1506
1507         * gtk/gtkcontainer.h: 
1508         * gtk/gtkcontainer.c: deleted most of the argument handling code, since
1509         that is now implemented in gtkarg.c. similar to gtk_object_args_collect,
1510         we now export a new function gtk_container_child_args_collect().
1511         for consistency with the object arguments, a few functions got renamed:
1512         gtk_container_child_arg_get -> gtk_container_child_get,
1513         gtk_container_child_arg_set -> gtk_container_child_set,
1514         gtk_container_child_arg_getv -> gtk_container_child_getv,
1515         gtk_container_child_arg_setv -> gtk_container_child_setv,
1516         gtk_container_add_with_argv -> gtk_container_addv.
1517         note, gtk_container_add_with_args() remained, because its equivalent
1518         would be gtk_container_add(,, ...) which would break all existing code.
1519         (gtk_container_add_child_arg_type): similar to gtk_object_add_arg_type,
1520         we expect the `arg_name' argument to be a const static string now.
1521         (gtk_container_get_child_arg_type): function removed.
1522
1523 Thu Jul  9 07:03:04 1998  Tim Janik  <timj@gtk.org>
1524
1525         * gtk/gtkargcollector.c: new file which holds gtk_arg_collect_value().
1526         this is a static inline function that collects command line arguments
1527         from a va_list. this file can just be included in all places that
1528         need this functionality.
1529
1530         * gtk/gtkarg.h: 
1531         * gtk/gtkarg.c: new files which implement most of the argument
1532         handling stuff from gtkobject.c. also collected a few more
1533         gtk_arg_* utility functions from else places.
1534
1535         * gtk/gtkobject.h: 
1536         * gtk/gtkobject.c: moved most of the argument handling code into
1537         gtkarg.c. we now export gtk_object_args_collect() as a non-public
1538         method with a blind va_list pointer.
1539         (gtk_object_add_arg_type): the `arg_name' argument is required to be a
1540         const static string now.
1541         (gtk_object_get_arg_type): function got removed.
1542
1543         * gtk/gtkwidget.c: 
1544         (gtk_widget_set): 
1545         (gtk_widget_new): adaptions for gtk_object_args_collect().
1546
1547         * gtk/gtktypeutils.c (gtk_type_init_builtin_types): changed the internal
1548         fundamental type name so as to have a valid prefix, e.g. "bool"->
1549         "gboolean", "string"->"GtkString" and somesuch, left "void" as is,
1550         though that should probably be something like GtkNone since the
1551         type itself is called GTK_TYPE_NONE.
1552         even the internal type names need to avoid name clashes and must live
1553         in their own namespace, several code portions rely on that.
1554         we should relly have typedefs such as typedef gchar* GtkString; so the
1555         fundamental type names can be used for code dumpers just like with all
1556         the Gtk/Gdk types.
1557
1558 Wed Jul  8 15:31:28 1998  Tim Janik  <timj@gtk.org>
1559
1560         * gtk/gtkbutton.c: handle GTK_RELIEF_HALF, which was introduced to
1561         keep either GTK_STATE_NORMAL for relief buttons (GTK_RELIEF_NONE) or
1562         to still honour GTK_WIDGET_STATE(), e.g. for coloured buttons
1563         (GTK_RELIEF_HALF).
1564         (gtk_button_paint): set the background for prelighted buttons with
1565         GTK_STATE_NORMAL only if GTK_RELIEF_NONE.
1566         (gtk_button_draw_focus): if GTK_RELIEF_NONE, use GTK_STATE_NORMAL for
1567         the shadow type (otherwise we get strange shadows for coloured buttons).
1568         (gtk_button_set_relief): queue a redraw after changing
1569         the relief.
1570         (gtk_button_class_init): 
1571         (gtk_button_set_arg): 
1572         (gtk_button_get_arg): added object argument "GtkButton::relief".
1573
1574         * gtk/gtkenums.h (enum): added GTK_RELIEF_HALF.
1575
1576 Mon Jul  6 18:30:48 1998  Tim Janik  <timj@gtk.org>
1577
1578         * gtk/gtkbutton.h:
1579         * gtk/gtkbutton.c: GtkButtons are now derived from GtkBin. we mirror
1580         GTK_BIN (button)->child to button->child to keep source compatibility.
1581
1582         * gtk/gtkoptionmenu.c:
1583         * gtk/gtkclist.c:
1584         * gtkcheckbutton.c: don't refer to button->child, but
1585         GTK_BIN (button)->child instead.
1586
1587 Mon Jul  6 12:06:23 BST 1998  Tony Gale  <gale@gtk.org>
1588
1589         * docs/gtkfaq.sgml: update anon CVS info
1590
1591 Sat Jul  4 13:16:24 1998  Tim Janik  <timj@gtk.org>
1592
1593         * gtk/*.c: changed reversed_[12] to reserved_[12] in gtk_*_get_type
1594         functions.
1595
1596         * gdk/gdkwindow.c:
1597         * gdk/gdkvisual.c: check for some pointer values to be != NULL, prior
1598         to XFree() calls.
1599
1600 1998-07-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1601
1602         * gtk/gtkfeatures.h.in: Added GDK_HAVE_FULL_CROSSING_EVENT, since
1603         I seem to have erroneously added it to gtkfeatures.h (not .h.in).
1604
1605 Fri Jul  3 14:55:31 PDT 1998 Manish Singh <yosh@gimp.org>
1606
1607         * gtk/gtkfeatures.h.in: added GTK_HAVE_RELIEF_STYLE
1608
1609 Wed Jul  1 20:58:46 1998  Tim Janik  <timj@gtk.org>
1610
1611         * gtk/gtkwidget.h:
1612         * gtk/gtkwidget.c: temporary implementation of action signal "debug_msg"
1613
1614         * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixed an off-by-one
1615         error that prevented signal to entry addition for signals with
1616         parameters.
1617
1618 Wed Jul  1 10:05:36 PDT 1998 Manish Singh <yosh@gimp.org>
1619
1620         * ltconfig: fix for properly detecting shared lib support on
1621         SunPro cc (taken from libtool 1.2.a)
1622
1623 Wed Jul  1 03:33:30 1998  Tim Janik  <timj@gtk.org>
1624
1625         * gtk/gtkrc.c: implementation of the "class" keyword for styles.
1626
1627 Tue Jun 30 14:30:37 1998  Tim Janik  <timj@gtk.org>
1628
1629         * gtk/gtkrc.c: fixed lookup order for rc styles. the latest defined
1630         rc set pattern is favoured, this is needed for overriding of style
1631         patterns with subsequently parsed rc files.
1632
1633 Tue Jun 30 12:45:19 1998  Tim Janik  <timj@gtk.org>
1634
1635         * gtk/gtkrc.c: code overhaul for simplicity and more descriptive
1636         error messages.
1637
1638 Tue Jun 30 09:24:40 1998  Tim Janik  <timj@gtk.org>
1639
1640         * gtk/gtkaccelgroup.c (gtk_accelerator_parse): parse "<Release>"
1641         modifier as well.
1642         (gtk_accelerator_name): add "<Release>" to the accelerator name if
1643         neccessary.
1644
1645         * gtk/gtkbindings.c (BINDING_MOD_MASK): take BINDING_MOD_MASK into
1646         account.
1647
1648         * gtk/gtkwidget.c (gtk_widget_real_key_release_event): implemented
1649         default handler for key-release events, which checks for activation
1650         of GDK_RELEASE_MASK key bindings.
1651
1652         * gdk/gdktypes.h (enum): added GDK_RELEASE_MASK to GdkModifierType.
1653
1654 Mon Jun 29 13:39:45 1998  Tim Janik  <timj@gtk.org>
1655
1656         * gtk/gtkarrow.h: GtkType and macro fixups.
1657         * gtk/gtkarrow.c: widget argument implementation: "GtkArrow::arrow_type",
1658         "GtkArrow::shadow_type".
1659
1660 Sun Jun 28 11:39:17 1998  Tim Janik  <timj@gtk.org>
1661
1662         * gtk/gtkalignment.h:
1663         * gtk/gtkbin.h: GtkType and macro fixups.
1664         
1665         * gtk/gtkalignment.c (gtk_alignment_class_init): widget argument
1666         implementation: GtkAlignment::xalign, GtkAlignment::yalign,
1667         GtkAlignment::xscale, GtkAlignment::yscale.
1668
1669 Sun Jun 28 04:29:10 1998  Tim Janik  <timj@gtk.org>
1670
1671         * gtk/gtktypeutils.c (gtk_type_class_init): call the base class init
1672         fucntions from all parent types upon class initialization.
1673
1674         * gtk/gtkcontainer.c:
1675         (gtk_container_get_type): announce gtk_container_base_class_init to
1676         the type system.
1677         (gtk_container_base_class_init): new function to feature base class
1678         initialization.
1679         (gtk_container_get_child_arg): 
1680         (gtk_container_set_child_arg): call the GtkContainerClass get_child_arg
1681         and set_child_arg methods of the class indicated through the argument
1682         name.
1683
1684         * gtk/gtkobject.c:
1685         (gtk_object_base_class_init): new function to feature base class
1686         initialization.
1687         (gtk_object_init_type): announce gtk_object_base_class_init to the type
1688         system.
1689         (gtk_object_class_init): setup the get_arg and set_arg pointers for
1690         GtkObjectClass.
1691         (gtk_object_setv): 
1692         (gtk_object_getv): call the GtkObjectClass get_arg and set_arg methods,
1693         instead of bothering the type system with this.
1694
1695         * gtk/gtkaccellabel.c: 
1696         * gtk/gtkbutton.c: 
1697         * gtk/gtkradiobutton.c: 
1698         * gtk/gtktable.c:
1699         * gtk/gtktogglebutton.c: 
1700         * gtk/gtktipsquery.c: 
1701         * gtk/gtkbox.c: 
1702         * gtk/gtkpacker.c: 
1703         * gtk/gtkwidget.c: 
1704         * gtk/gtkwindow.c: 
1705         * gtk/gtkframe.c: 
1706         * gtk/gtkmisc.c:
1707         * gtk/gtklabel.c: set the object_class->{g|s}et_arg pointers to the
1708         corresponding gtk_*_{g|s]et_arg functions and updated the gtk_*_get_type
1709         functions wrt GtkTypeInfo initialization. changed a lot of the set/get
1710         arg functions to take a GtkObject argument.
1711
1712         gtk/gtkadjustment.c:
1713         gtk/gtkalignment.c:
1714         gtk/gtkarrow.c:
1715         gtk/gtkaspectframe.c:
1716         gtk/gtkbbox.c:
1717         gtk/gtkbin.c:
1718         gtk/gtkcheckbutton.c:
1719         gtk/gtkcheckmenuitem.c:
1720         gtk/gtkclist.c:
1721         gtk/gtkcolorsel.c:
1722         gtk/gtkcombo.c:
1723         gtk/gtkctree.c:
1724         gtk/gtkcurve.c:
1725         gtk/gtkdata.c:
1726         gtk/gtkdialog.c:
1727         gtk/gtkdrawingarea.c:
1728         gtk/gtkeditable.c:
1729         gtk/gtkentry.c:
1730         gtk/gtkeventbox.c:
1731         gtk/gtkfilesel.c:
1732         gtk/gtkfixed.c:
1733         gtk/gtkfontsel.c:
1734         gtk/gtkgamma.c:
1735         gtk/gtkhandlebox.c:
1736         gtk/gtkhbbox.c:
1737         gtk/gtkhbox.c:
1738         gtk/gtkhpaned.c:
1739         gtk/gtkhruler.c:
1740         gtk/gtkhscale.c:
1741         gtk/gtkhscrollbar.c:
1742         gtk/gtkhseparator.c:
1743         gtk/gtkimage.c:
1744         gtk/gtkinputdialog.c:
1745         gtk/gtkitem.c:
1746         gtk/gtkitemfactory.c:
1747         gtk/gtklist.c:
1748         gtk/gtklistitem.c:
1749         gtk/gtkmenu.c:
1750         gtk/gtkmenubar.c:
1751         gtk/gtkmenuitem.c:
1752         gtk/gtkmenushell.c:
1753         gtk/gtknotebook.c:
1754         gtk/gtkoptionmenu.c:
1755         gtk/gtkpaned.c:
1756         gtk/gtkpixmap.c:
1757         gtk/gtkpreview.c:
1758         gtk/gtkprogressbar.c:
1759         gtk/gtkradiomenuitem.c:
1760         gtk/gtkrange.c:
1761         gtk/gtkruler.c:
1762         gtk/gtkscale.c:
1763         gtk/gtkscrollbar.c:
1764         gtk/gtkscrolledwindow.c:
1765         gtk/gtkseparator.c:
1766         gtk/gtkspinbutton.c:
1767         gtk/gtkstatusbar.c:
1768         gtk/gtktext.c:
1769         gtk/gtktoolbar.c:
1770         gtk/gtktooltips.c:
1771         gtk/gtktree.c:
1772         gtk/gtktreeitem.c:
1773         gtk/gtkvbbox.c:
1774         gtk/gtkvbox.c:
1775         gtk/gtkviewport.c:
1776         gtk/gtkvpaned.c:
1777         gtk/gtkvruler.c:
1778         gtk/gtkvscale.c:
1779         gtk/gtkvscrollbar.c:
1780         gtk/gtkvseparator.c: updated the GtkTypeInfo initialization code to
1781         match the modified GtkTypeInfo structure.
1782
1783 Sat Jun 27 23:23:27 PDT 1998 Manish Singh <yosh@gimp.org>
1784
1785         * gtk/testgtk.c: use rand() instead of random() for portability
1786
1787 Sat Jun 27 22:42:28 PDT 1998 Manish Singh <yosh@gimp.org>
1788
1789         * configure.in
1790         * acconfig.h
1791         * gdk/gdk.c: use native Xlib XConvertCase if it's available
1792
1793 Sat Jun 27 15:44:46 1998  Tim Janik  <timj@gtk.org>
1794
1795         * gdk/gdk.c (gdkx_XConvertCase): compatibility function to provide
1796         XConvertCase() functionality from X11R6 on X11R5 systems.
1797
1798 Thu Jun 25 10:50:34 1998  Stefan Jeske  <stefan@gtk.org>
1799
1800         * gdk/gdk.h gdk/gdkfont.c: Added functions gdk_text_height,
1801         gdk_string_height, gdk_char_height to retrieve the exact
1802         height of a text.
1803
1804 Thu Jun 25 07:53:51 BST 1998  Tony Gale  <gale@gtk.org>
1805
1806         * docs/gtk_tut.sgml: add section on GtkCList widget, contributed
1807           by Stefan Mars <mars@lysator.liu.se>
1808         * examples/clist/clist.c examples/clist/Makefile: example code
1809           for GtkCList widget from the Tutorial
1810
1811 Wed Jun 24 16:38:02 1998  Tim Janik  <timj@gtk.org>
1812
1813         * gtk/gtkbin.c (gtk_bin_remove): do not avoid to queue for a resize
1814         if the container is not visible, we might be a toplevel! this holds
1815         for all other base container implementations as well, that are
1816         candidates to derive toplevels from. in general the resizing code will
1817         care about visibility itself.
1818         * gtk/gtkmenushell.c (gtk_menu_shell_remove): likewise.
1819         * gtk/gtkbox.c (gtk_box_remove): likewise.
1820
1821         * gtk/gtkwindow.c (gtk_window_move_resize): save ->use_uposition around
1822         gtk_window_set_hints(), since we haven't calculated the new position
1823         yet.
1824
1825         * gdk/gdkwindow.c (gdk_window_get_pointer): take care that *x, *y and
1826         *mask are alway initialized in a sane way, regardless of the return
1827         value.
1828
1829 Wed Jun 24 14:14:32 1998  Tim Janik  <timj@gtk.org>
1830
1831         * gtk/gtkcontainer.c: new function gtk_container_child_arg_set, similar
1832         to gtk_container_child_arg_setv, but takes a variable argument list.
1833         new function gtk_container_get_child_arg_type, which is needed by
1834         gtk_object_collect_args.
1835
1836         * gtk/gtkobject.c: changed prototype for gtk_object_collect_args, to
1837         take a function pointer to figure the argument type.
1838         adapted callers to pass gtk_object_get_arg_type.
1839         * gtk/gtkwidget.c: adapted gtk_object_collect_args callers to pass
1840         gtk_object_get_arg_type..
1841
1842         * gtk/gtkpacker.h: 
1843         * gtk/gtkpacker.c:
1844         (gtk_packer_reorder_child): new function to change the packing order
1845         of a child.
1846         (gtk_packer_size_request): 
1847         (gtk_packer_size_allocate): take container->border_width into acount.
1848
1849         * gtk/gtkpacker.c: implemented widget arguments:
1850         "GtkPacker::spacing", "GtkPacker::border_width", "GtkPacker::pad_x",
1851         "GtkPacker::pad_y", "GtkPacker::ipad_x", "GtkPacker::ipad_y".
1852         implemented child arguments:
1853         "GtkPacker::side", "GtkPacker::anchor", "GtkPacker::expand",
1854         "GtkPacker::fill_x", "GtkPacker::fill_y", "GtkPacker::use_default",
1855         "GtkPacker::border_width", "GtkPacker::pad_x", "GtkPacker::pad_y",
1856         "GtkPacker::ipad_x", "GtkPacker::ipad_y", "GtkPacker::position".
1857
1858         * gtk/gtkmisc.c (gtk_misc_set_arg): for padding args, set the padding,
1859         not the alignment.
1860
1861         * gtk/gtkeventbox.h:
1862         * gtk/gtkeventbox.c: GtkType and macro fixups.
1863
1864         * gtk/testgtk.c (entry_toggle_sensitive): new function to toggle
1865         sensitivity of an entry.
1866
1867         * gtk/gtkstyle.c (gtk_style_new): support normal grey as default color
1868         for insensitive base and text.
1869
1870         * gtk/gtkentry.c (gtk_entry_realize): set the window backgrounds
1871         widget state dependent.
1872         (gtk_entry_style_set): likewise.
1873         (gtk_entry_state_changed): set background color on state changes.
1874         (gtk_entry_draw_text): for non selected text, use state dependent
1875         colors.
1876
1877         * gtk/gtktogglebutton.c: support for widget arguments
1878         "GtkToggleButton::active" and "GtkToggleButton::draw_indicator".
1879
1880 Wed Jun 24 08:35:45 1998  Stefan Jeske  <stefan@gtk.org>
1881
1882         * gtk/gtkspinbutton.c (gtk_spin_button_spin): Added compatibility 
1883         code for 1.0.x-like parameters. Changed internal interface of
1884         gtk_spin_button_real_spin. Several fixes to avoid emission of
1885         "value_changed" where possible.
1886
1887 Tue Jun 23 22:21:33 PDT 1998 Manish Singh <yosh@gimp.org>
1888
1889         * gtk-boxed.defs: s/GkWidget/GtkWidget/
1890
1891 Wed Jun 24 07:47:29 1998  Tim Janik  <timj@gtk.org>
1892
1893         * gtk/testgtk.c (create_idle_test): added a frame with radio buttons
1894         to select the resize_mode for the idle-labels container.
1895
1896         * gtk/gtkframe.h: 
1897         * gtk/gtkframe.c: GtkType and macro corrections.
1898
1899         * gtk/gtkradiobutton.c (gtk_radio_button_set_arg): new function to
1900         support widget argument "GtkRadioButton::group".
1901
1902 Tue Jun 23 08:01:09 1998  Tim Janik  <timj@gtk.org>
1903
1904         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): queue a resize
1905         unconditionally if resize_mode has changed.
1906
1907         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_init): set
1908         GTK_RESIZE_QUEUE on the scrolled window.
1909         (gtk_scrolled_window_construct): set GTK_RESIZE_PARENT for the vieport.
1910
1911 Tue Jun 23 04:20:30 1998  Tim Janik  <timj@gtk.org>
1912
1913         * gtk/gtkcontainer.h:
1914         * gtk/gtkcontainer.c:
1915         (GTK_IS_RESIZE_CONTAINER): new macro to find out if
1916         a given gtkobject is a container with resize_mode==GTK_RESIZE_PARENT.
1917         (gtk_container_queue_resize): new function to queue a container for
1918         a *size* reallocation (doesn't affect its position, and thus its
1919         parent is left untouched usually).
1920         (gtk_container_get_resize_container): new function to retrive the next
1921         most resize container which is not itself queued for a resize.
1922         (gtk_container_idle_sizer): new function to carefully process the
1923         container_resize_queue since it can change during invokation of
1924         gtk_container_check_resize().
1925         (gtk_container_resize_children): total rework of this function to
1926         properly handle resize containers. makes a lot of assumptions whitch
1927         are stated in the comments.
1928
1929         * gtk/gtkcontainer.c:
1930         (gtk_container_real_check_resize): only requeue ourselves if we are not
1931         a resize container.
1932         (gtk_container_clear_resize_widgets): care for automatic deletion of our
1933         resize_widgets list on size_allocate through a handler connection.
1934
1935         * gtk/gtkwindow.c (gtk_window_shutdown): new functionm to reset the
1936         focus and default widget of a window, so to take the burden from
1937         gtk_widget_unparent.
1938
1939         * gtk/gtkviewport.c: removed gtk_viewport_check_resize, which tried
1940         to be clever, but actually messed up the resize_children logic and
1941         caused unneccessary allocations on its whole branch. besides this,
1942         it messed up the display by not invoking a redraw after the allocation.
1943
1944         * gtk/gtktable.c (gtk_table_set_child_arg): reverted recent change, so
1945         that it is the child again that is queued for a resize.
1946         (gtk_table_attach): likewise.
1947         (gtk_table_remove): likewise.
1948
1949 1998-06-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1950
1951         * gtk/gtkentry.h, gtk/gtkentry.c: Export the
1952         gtk_entry_adjust_scroll.  Required if you change the cursor
1953         position and want to sync it up with your code (Midnight Commander
1954         gtk front end needs this).
1955
1956         * gtk/gtktable.c: Deal with tables that have size 0, 0.
1957
1958 Tue Jun 23 12:12:19 BST 1998  Tony Gale  <gale@gtk.org>
1959
1960         * examples/README.1ST: new file to explain how the
1961           code examples should be extracted from the tutorial.
1962
1963 Mon Jun 22 18:43:11 1998  Lars Hamann  <lars@gtk.org>
1964
1965         * gtk/gtkctree.c (draw_row): added new "line style"
1966         GTK_CTREE_LINES_TABBED 
1967         * gtk/gtkctree.c/h (gtk_ctree_find_glist_ptr): new function to
1968         search the glist pointer of an GtkCTreeRow
1969
1970 1998-06-21  Raja R Harinath  <harinath@cs.umn.edu>
1971  
1972         * gtk/Makefile.am (gtk.defs,gtktypebuiltins*): Remove $(srcdir)
1973         from, and clean up, the dependencies.  Generate to intermediate
1974         files to prevent problems with Ctrl-C.
1975
1976         * gtk/genmarshal.pl: Generate `gtkmarshal.[ch]' in $srcdir.
1977
1978 Fri Jun 19 14:46:56 1998  Stefan Jeske  <stefan@gtk.org>
1979
1980         * gtk/gtkspinbutton.h gtk/gtkspinbutton.c gtk/testgtk.c:
1981         - Bug fix for precision problem causing occasional double emission 
1982           of "value_changed" signal (hopefully works now).
1983         - API change (should be binary compatible) : 
1984           new enum GtkSpinType; modified gtk_spin_button_spin to use it.
1985           Modified cursor example appropriately.
1986           To spin by something other than step_/page_increment, use
1987           gtk_spin_button_spin (spin, GTK_SPIN_USER_DEFINED, increment).
1988         - Made GTK_SHADOW_NONE the default. ;)
1989         - Fixed casting of GtkAdjustment* to GtkWidget* in
1990           gtk_spin_button_value_changed.
1991
1992 Fri Jun 19 06:18:19 1998  Tim Janik  <timj@gtk.org>
1993
1994         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): fail silently
1995         for toplevels. if resize_mode changes to GTK_RESIZE_PARENT, clear the
1996         resize widget list before queuing the container for a new reize.
1997         (gtk_container_need_resize): changed return value to FALSE, since this
1998         used to indicate that no further resizes are needed.
1999         (gtk_container_set_arg): 
2000         (gtk_container_get_arg): 
2001         (gtk_container_class_init): implemented GtkContainer::resize_mode
2002         argument.
2003
2004         (gtk_container_resize_children): when we walk up the tree of a resize
2005         widget we need to stop if we are the current parent.
2006
2007         * gtk/gtkwidget.c (gtk_widget_queue_resize): flag the resize child with
2008         GTK_RESIZE_NEEDED for container->resize_mode==GTK_RESIZE_IMMEDIATE.
2009         (gtk_widget_hide_all): retrive the toplevel widget from via
2010         gtk_widget_get_resize_container().
2011
2012 Thu Jun 18 23:08:36 1998  Owen Taylor  <otaylor@gtk.org>
2013
2014         * gtk/gtklist.c (gtk_list_button_press): Only respond
2015           to selection with button 1. This allows context-sensitive
2016           menus to work correctly.
2017
2018 Fri Jun 19 03:29:04 1998  Tim Janik  <timj@gtk.org>
2019
2020         * gtk/gtkaccelgroup.c: 
2021         * gtk/gtkbindings.c: 
2022         * gtk/gtkcontainer.c:
2023         * gtk/gtkitemfactory.c:
2024         * gtk/gtkobject.c: 
2025         * gtk/gtksignal.c:
2026         * gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
2027         g_quark_from_static_string calls to save memory.
2028
2029         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
2030         function _after_ the new data has been setup.
2031         minor changes to object data functions to feature the GQuark type.
2032
2033 Thu Jun 18 21:13:54 1998  Owen Taylor  <otaylor@gtk.org>
2034
2035         * gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
2036           from argv.
2037
2038 Thu Jun 18 20:22:28 1998  Owen Taylor  <otaylor@gtk.org>
2039
2040         * gtk/genmarshal.pl: Modified to be more idiomatic Perl,
2041           to be more readable perl, to spit out stuff that looks
2042           more like readable C, and to pipe output through indent
2043           so output looks a lot like readable C. No functional
2044           changes.
2045
2046 Thu Jun 18 17:43:31 1998  Owen Taylor  <otaylor@gtk.org>
2047
2048         * gtk/gtkpixmap.[ch] (gtk_pixmap_set): Clear the background if
2049           necessary when switching to a masked pixmap. (Based on a patch
2050           from Ullrich Hafner <hafner@informatik.uni-wuerzburg.de>)
2051
2052 Thu Jun 18 16:18:10 1998  Owen Taylor  <otaylor@gtk.org>
2053
2054         * gtk/gtkeditable.[ch]: Added action signals for keyboard
2055           bindings. (move_cursor, kill_word, etc, etc, etc). 
2056
2057           removed the time argument from
2058           gtk_editable_cut/copy/paste_clipboard (source but not
2059           binary incompatible...) Instead get time from
2060           gtk_get_current_event ().
2061         
2062         * gtk/gtktext.c gtk/gtkentry.c: Support the new editable
2063           signals.
2064
2065 Thu Jun 18 02:52:09 1998  Owen Taylor  <otaylor@gtk.org>
2066
2067         Patches from Damon Chaplin <DAChaplin@email.msn.com>:
2068
2069         gtk/gtkfontsel.h: Fixed GtkFontSelectionClass - I forgot to change
2070              parent class to GtkNotebookClass when splitting the widget in
2071              two.  Also updated some comments.
2072
2073         gtk/gtkfontsel.c: Fixed bug when toggling 'Allow scaled bitmaps'
2074                button without a font selected.
2075
2076              Fixed bug in set_font_name - I hadn't updated the code to
2077                search for the style in the font_style clist - it was
2078                still assuming the style row was equal to its index,
2079                but it isn't any more.
2080         
2081              Changed 'Reset' button on filter page to 'Clear Filter'.
2082              Deleted old code relating to the old 'Filter Fonts' toggle
2083              Updated some comments.
2084              Cleared 'Actual Fontname' if no font is set.
2085
2086         gtk/testgtk.c: Fixed problem when 'OK' button is pressed - it was
2087              destroying the GtkFontSelection instead of the
2088              GtkFontSelectionDialog.
2089
2090 Thu Jun 18 02:15:31 1998  Owen Taylor  <otaylor@gtk.org>
2091
2092         * gtk/gtkmain.c (gtk_init): Added --g-fatal-warnings
2093           flag to make all warnings fatal errors.
2094
2095         * gtk/testthreads.c: moved <pthreads.h> include inside 
2096           #ifdef USE_PTHREADS
2097
2098 Thu Jun 18 01:37:31 1998  Owen Taylor  <otaylor@gtk.org>
2099
2100         * gtk/gtkenums.h gtk/gtkcontainer.[ch] gtk/gtkwidget.c 
2101           gtk/gtkmenu.c gtk/gtkviewport.c gtk/gtkwindow.c:
2102
2103         - Added new function gtk_container_set_resize_mode() for
2104           fine-grained control of where resize-queueing is done.
2105
2106         - Removed GtkContainer::need_resize and GtkWindow::move_resize
2107         - Added GtkContainer::check_resize to replace need_resize.
2108
2109         - Added function gtk_container_check_resize() to trigger
2110           queued resizes, and gtk_container_resize_children() to
2111           Figure which children need to be size-allocated. (logic
2112           moved from gtkwindow.c)
2113
2114         - Reorganized code in gtkwindow.c
2115         
2116         - Set the resize-mode for viewports so that resizes within
2117           a viewport don't propagate out of it. 
2118         
2119 1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2120
2121         * gtk/gtkfontsel.c: Use pointer<->int conversion macros to avoid warnings.
2122
2123         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): Use
2124         g_return_val_if_fail, because the function *does* return a value.
2125
2126 Thu Jun 18 03:30:06 1998  Tim Janik  <timj@gtk.org>
2127
2128         * gtk/gtkaccellabel.h:
2129         * gtk/gtkaccellabel.c: new function gtk_accel_label_accelerator_width to
2130         request the size of the accelerator portion of an accel label.
2131         (gtk_accel_label_size_request): don't request for the accelerators size.
2132         (gtk_accel_label_expose_event): only draw the accelerator if we got
2133         enough extra space.
2134
2135         * gtk/gtkmenuitem.c (gtk_menu_item_size_request): request accelerator
2136         width from children.
2137
2138         * gtk/gtkmenu.c (gtk_menu_key_press): when adding an accelerator to an
2139         object (after removal has been requested) check if there is still an
2140         accelerator remaining to avoid adding two accelerators on an object.
2141         this can happen for locked accelerators (or accelerator-frozen widgets).
2142         (gtk_menu_size_request): feature childrens accelerator width in size
2143         requests.
2144
2145         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): use
2146         gtk_widget_freeze_accelerators() for dynamically created menu items.
2147
2148         * gtk/gtksignal.h: 
2149         * gtk/gtksignal.c: new function gtk_signal_handler_pending_by_func()
2150         which will return a handler_id > 0 if the specified function is pending
2151         for `signal_id'.
2152
2153         * gtk/gtkwidget.h:
2154         * gtk/gtkwidget.c: remove gtk_widget_stop_accelerator, which was just
2155         a signal handler function to stop accelerator addition.
2156         added gtk_widget_freeze_accelerators and gtk_widget_thaw_accelerators
2157         which will prevent (undo) any accelerators from being added to or
2158         removed from a widget.
2159
2160 Wed Jun 17 21:59:09 1998  Stefan Jeske  <stefan@gtk.org>
2161
2162         * gtkspinbutton.h gtkspinbutton.c testgtk.c:
2163         Changed GtkSpinButtonUpdatePolicy enum, added keyboard
2164         acceleration, new API gtk_spin_button_set_snap_to_ticks.
2165
2166 Wed Jun 17 03:47:40 1998  Tim Janik  <timj@gtk.org>
2167
2168         * gdk/gdk.h:
2169         * gdk/gdkwindow.c: new function gdk_window_at_pointer() to retrive
2170         the current GdkWindow the pointer is on if there is any.
2171         
2172         * gtk/gtktable.c (gtk_table_init): preallocate a table with one row
2173         and one column, so we don't construction logic at all. changed a few
2174         (x < y - 1) to (x + 1 < y), to avoid failing evaluations due to
2175         unsigned int wraps.
2176
2177         * gtk/gtkwidget.c (gtk_widget_set_parent): removed left over code
2178         portion, added an additional check for parent != widget.
2179
2180         * more GtkType and macro fixups.
2181
2182 1998-06-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2183
2184         * gtk/gtkhandlebox.c (draw_textured_frame): Now accepts an extra
2185         "clip" parameter, which is the clipping rectangle to use.  This
2186         eliminates the extremely annoying flicker when exposing parts of
2187         the handlebox.
2188
2189 Tue Jun 16 14:08:08 PDT 1998 Manish Singh <yosh@gimp.org>
2190
2191         * gtk/gtktable.c: fix from TimJ for off-by-one error in table
2192         resizing
2193
2194 Tue Jun 16 06:29:57 1998  Tim Janik  <timj@gtk.org>
2195
2196         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_state): check for
2197         != 0 on the argument.
2198
2199         * gtk/gtktable.h: 
2200         * gtk/gtktable.c: new function gtk_table_resize() which allowes
2201         shrinking and expanding of tables. implementation of widget arguments
2202         and child arguments. many signedness corrections.
2203
2204 Mon Jun 15 04:15:03 1998  Tim Janik  <timj@gtk.org>
2205
2206         * gtk/gtkbox.c (gtk_box_set_child_packing): queue the resize for the box
2207         not only the child, otherwise we might end up taking away other
2208         childrens space after the resize.
2209
2210         * gtk/gtkitemfactory.c (gtk_item_factory_parse_menu_path): if we parse
2211         an unknown menu path from any source, that path must always be flagged
2212         as "modified", since we don't really know whether it has its default
2213         value or not.
2214
2215         * gtk/gtktree.c:
2216         * gtk/gtkpacker.c:
2217         * gtk/gtknotebook.c:
2218         * gtk/gtkmenushell.c:
2219         * gtk/gtklist.c:
2220         * gtk/gtkpaned.c:
2221         * gtk/gtkfixed.c: 
2222         * gtk/gtkbutton.c: implement gtk_*_child_type functions.
2223
2224         * gtk/gtkbox.h: 
2225         * gtk/gtkbox.c: type corrections for expand, fill, padding and pack_type
2226         arguments. implemented child arguments.
2227
2228         * more GtkType and macro fixups.
2229
2230 Sun Jun 14 16:30:02 1998  Tim Janik  <timj@gtk.org>
2231
2232         * gtk/gtkcheckbutton.h: GtkType and macro fixups.
2233
2234         * gtk/gtkclist.h: exported the prototypes for gtk_clist_get_vadjustment
2235         and gtk_clist_get_hadjustment.
2236
2237         * gtk/gtkcontainer.c:
2238         implementation of children arguments, new class member functions
2239         (child_type), (get_child_arg) and (set_child_arg) plus a new field
2240         n_child_args.
2241         (gtk_container_child_type): new function which returns the type of a
2242         child that the container expects for its next addition.
2243         (gtk_container_add_child_arg_type): new function to introduce a new
2244         child argument at class creation time.
2245         (gtk_container_query_child_args): new function to query all child
2246         arguments that are supported by a container class.
2247         (gtk_container_child_arg_getv): new fucntion to retrive the value of a
2248         child argument.
2249         (gtk_container_child_arg_setv): new function to set a child argument for
2250         a certain container and child combination.
2251         (gtk_container_add_with_args):
2252         (gtk_container_add_with_argv): new functions to feature addition of a
2253         new child in combination with the setting of certain child arguments.
2254
2255         * gtk/gtktypeuitils.c (gtk_type_class_init): feature initialization of
2256         GtkContainerClass.n_child_args, similar to the GtkObjectClass members.
2257         this should really be done through class cretion hooks some day.
2258
2259         * gtk/gtkcontainer.c: changed type of border_width from gint16 to
2260         guint : 16.
2261
2262         * gtk/gtkpacker.h:
2263         * gtk/gtkpacker.c: renamed all PadX and PadY to pad_x and pad_y to
2264         follow the gtk convention for lower case variable names (important
2265         for language wrappers and widget arguments), and made them guint : 16.
2266
2267         * examples/packer/pack.c: adaptions for the case converted GtkPacker
2268         fields.
2269
2270 Fri Jun 12 16:33:23 1998  Tim Janik  <timj@gtk.org>
2271
2272         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_scanner): do not
2273         change the character pair for single line comments.
2274         (gtk_item_factory_parse_rc): use the cpair_comment_signle specified in
2275         GtkItemFactoryClass.
2276         (gtk_item_factory_parse_rc_string): likewise.
2277
2278 Mon Jun 15 23:39:44 1998  Owen Taylor  <otaylor@gtk.org>
2279
2280         * gtk/gtkfontsel.[ch] (gtk_font_selection_dialog_init): Moved font
2281         lists from the klass structure to a static structure
2282         in gtkfontsel.c; cleans up global the namespace.
2283
2284 Mon Jun 15 22:16:10 1998  Owen Taylor  <otaylor@gtk.org>
2285
2286         * gtk/makeenums.pl (parse_entries): Fix (untriggered)
2287         bug with /*< skip >*/ and remove warning.
2288         
2289 Mon Jun 15 20:14:09 1998  Owen Taylor  <otaylor@gtk.org>
2290
2291         * gtk/Makefile.am: Made the gtkmarshal.* generation
2292         rules maintainer-only.
2293
2294 Mon Jun 15 16:29:45 1998  Owen Taylor  <otaylor@gtk.org>
2295
2296         * gdk/gdktypes.h gdk/gdkprivate.h gtk/gtk*.h 
2297           gtk/Makefile.am gtk/makenums.pl 
2298
2299         Removed out the G_ENUM/FLAGS mechanism in favor
2300         of a perl script that parses the standard headers
2301         (with occasional /*< nick=foo >*/ style overrides)
2302         and extracts the enumerations.
2303
2304           gtk/maketypes.awk: Small improvments to the
2305           translation of names. (Avoid splitting gc into
2306           g_c_.)
2307         
2308 Mon Jun 15 16:25:44 1998  Owen Taylor  <otaylor@gtk.org>
2309
2310         * gtk/gtk.h gtk/gtkfontsel.[ch]: 
2311         Damon Chaplin's <DAChaplin@email.msn.com> Font selection widget.
2312         
2313 Mon Jun 15 15:58:34 1998  Owen Taylor  <otaylor@gtk.org>
2314
2315         * gtk/gtkentry.c:
2316         - Restored gtk_entry_adjust_scroll to static 
2317         - Changed text positioning code so that we always
2318           display as large a portion of the text as possible.
2319
2320 Mon Jun 15 15:42:12 1998  Owen Taylor  <otaylor@gtk.org>
2321
2322         * gtk/gtktext.c (gtk_text_finalize): Free internal
2323         structures of text widget. Also, unreference pixmaps
2324         when unrealizing.
2325         
2326 Sat Jun 13 19:14:39 1998  Owen Taylor  <otaylor@gtk.org>
2327
2328         * gdk/gdkinputcommon.h (gdk_input_device_new): Change
2329         3.3.1 bug workaround to number keys starting at 1.
2330
2331 Sat Jun 13 11:56:57 1998  Owen Taylor  <otaylor@gtk.org>
2332
2333         * docs/gtk_tut.sgml: Fixed urls for complete example
2334         source for scribble+widget-writing examples.
2335
2336 Sat Jun 13 11:48:26 1998  Owen Taylor  <otaylor@gtk.org>
2337
2338         * gdk/gdkpixmap.c (gdk_pixmap_extract_color): 
2339         Patch from Tom Bech <tomb@ii.uib.no>, to handle color
2340         specs of the form c #abcdef [ more keys ] properly.
2341
2342 Sat Jun 13 10:51:56 1998  Stefan Jeske  <stefan@gtk.org>
2343
2344         * gtkspinbutton.h gtkspinbutton.c testgtk.c 
2345         (gtk_spin_button_set_shadow_type):
2346         New API to set the shadow type of the arrow panel.
2347
2348 Fri Jun 12 21:20:42 1998  Owen Taylor  <otaylor@gtk.org>
2349
2350         * gtk/gtkoptionmenu.c (gtk_option_menu_expose): Removed
2351         code for drawing the child in two places at once. Unfortunately,
2352         not only does it not work anymore (because reparenting has
2353         been fixed), but it also triggers reparent/expose loops
2354         in some cases.
2355
2356         * gtk/gtkoptionmenu.c (gtk_option_menu_remove_contents): Removed
2357         an unecessary unrealize.
2358
2359 Fri Jun 12 21:18:56 1998  Owen Taylor  <otaylor@gtk.org>
2360
2361         * gdk/gdkwindow.c (gdk_window_reparent): Update the
2362           old and new parents' child window lists properly.
2363
2364 Fri Jun 12 09:24:47 1998  Tim Janik  <timj@gtk.org>
2365
2366         * gtk/gtkpacker.h:
2367         * gtk/gtkpacker.c: renamed enum GtkAnchor and GtkSide to GtkAnchorType
2368         and GtkSideType, to be consistent with the rest of Gtk's enum
2369         definitions. wrapped the enum definitions with the G_ eunm wrappers.
2370         spelled out the GTK_ANCHOR_* enum values, since single letters don't
2371         work out corectly as nick-names (left the old values as aliases).
2372         some signdness corrections (border-width, spacing), could stand more.
2373
2374 Thu Jun 11 14:38:33 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2375
2376         * gtk/gtkpacker.c, gtk/gtkpacker.h, gtk/gtk.h, gtk/Makefile.am: 
2377           Added gtkpacker
2378
2379         * examples/packer/pack.c, examples/packer/Makefile: Added
2380           gtkpacker example
2381
2382 Thu Jun 11 13:09:00 1998  Owen Taylor  <otaylor@gtk.org>
2383
2384         * gtk/gtktext.c (remove_cache_line): Fixed broken
2385         list-removal code.
2386
2387         * gtk/gtktext.c: (gtk_text_delete_(forward/backward)_cahr)
2388         Check bounds before deleting.
2389
2390 Wed Jun 10 23:21:33 1998  Owen Taylor  <otaylor@gtk.org>
2391
2392         * autogen.sh: Support ACLOCAL_FLAGS
2393
2394 Wed Jun 10 20:54:37 1998  Owen Taylor  <otaylor@gtk.org>
2395
2396         * gtk-config.in: Added missing quotes.
2397
2398 Wed Jun 10 18:44:22 PDT 1998 Manish Singh <yosh@gimp.org>
2399
2400         * gtk/gtkfeatures.in: #define GTK_HAVE_ACCEL_GROUP
2401
2402 1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
2403
2404         * acconfig.h (GTK_COMPILED_WITH_DEBUGGING): Renamed from
2405         G_COMPILED_WITH_DEBUGGING.
2406
2407         * configure.in (fd_set): Explain check better.
2408
2409         * acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
2410         the version from which gtk+'s libtool forked.  Needed for people
2411         who use post-1.2 alphas of libtool.
2412
2413 Wed Jun 10 19:36:35 1998  Owen Taylor  <otaylor@gtk.org>
2414
2415         * glib/* Moved to glib module
2416
2417         * INSTALL Makefile.am acconfig.h autogen.sh configure.in
2418           gtk-config.in gtk.m4 gdk/Makefile.am gtk/Makefile.am
2419
2420           configuration changes for the above:
2421          
2422           - Use AM_PATH_GLIB by default to find glib; also accept
2423             a --with-glib option for using an uninstalled glib.
2424          
2425           - Put --enable-debug information into config.h so
2426             that we rebuild when it changes. (was in glibconfig.h)
2427
2428 Wed Jun 10 22:23:27 1998  Lars Hamann  <lars@gtk.org>
2429
2430         * gtk/gtkctree.c (draw_row): adapted clist pixmap clipping
2431
2432         * gtk/gtknotebook.h (struct _GtkNotebookClass):
2433         * gtk/gtknotebook.c (gtk_real_notebook_switch_page): 
2434         added missing argument (according to Joseph Coleman's bug report)
2435
2436         * gtk/gtknotebook.c (gtk_notebook_set_focus_child): new class
2437         function to fix notebook focus handling
2438         
2439 Wed Jun 10 12:57:03 1998  Owen Taylor  <otaylor@gtk.org>
2440
2441         * gdk/gdkcc.c glib/ghash.c glib/glib.h glib/gstring.c
2442           glib/gutils.c glib/testglib.c glib/gdataset.c
2443           gtk/gtkaccelgroup.c gtk/gtkmain.c gtk/gtksignal.c
2444           gtk/gtktext.c gtk/gtkbindings.c:
2445
2446          renamed g_const_pointer => gconstpointer
2447
2448 Wed Jun 10 06:25:17 1998  Tim Janik  <timj@gtk.org>
2449
2450         * gdk/gdk.c (gdk_init): prevent gdk_init() from segfaulting when
2451         invoked with (NULL, NULL); (this worked sometime ago).
2452
2453         * gtk/gtktypeutils.h: 
2454         * gtk/gtktypeutils.c: enum and flags type creation can now be done
2455         through gtk_type_register_enum() and gtk_type_register_flags(),
2456         which allow to specify the enum value arrays directly.
2457         the NULL terminated value arrays can be retrived through
2458         gtk_type_enum_get_values() and gtk_type_flags_get_values();
2459         (gtk_type_children_types): new function to query derived types.
2460
2461 1998-06-09  Raja R Harinath  <harinath@cs.umn.edu>
2462
2463         * gtk/Makefile.am (gtkmarshal.c gtkmarshal.h): Pass $srcdir in
2464         environment to genmarshal.pl.
2465         (gtk.defs,gtktypebuiltins*): Add $(srcdir) where needed (in the
2466         rule), and removed it where not needed (in the dependencies).
2467
2468         * gtk/genmarshal.pl: Look for `gtkmarshal.list' in $srcdir.
2469
2470 Tue Jun  9 18:44:57 1998  Owen Taylor  <otaylor@gtk.org>
2471
2472         * gtk/gtkobject.c: Removed g_object_pointer_hash, which
2473         was just g_direct_hash.
2474
2475 Mon May 25 19:54:20 1998  Owen Taylor  <otaylor@gtk.org>
2476
2477         * configure.in: x_libs=, not $x_libs=. Enough said.
2478           (Case only hit for --disable-xshm)
2479         
2480 Mon May 25 12:08:14 1998  Owen Taylor  <otaylor@gtk.org>
2481
2482         * configure.in (LDFLAGS): Add to $CFLAGS and $LDFLAGS
2483           when testing for X libraries, don't replace them. Because
2484           the user might have specified the path to the X libraries
2485           themself before running configure.
2486
2487         * examples/**.c: Changed all gpointer * to gpointer
2488         
2489 1998-06-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2490
2491         * gtk/gtkhandlebox.h (struct _GtkHandleBox): Removed the
2492         fleur_cursor field.  Now the cursor is created/destroyed on demand
2493         by the routines that need it.
2494
2495         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): 
2496         (gtk_handle_box_motion): The fleur cursor is created and destroyed
2497         only when needed.
2498
2499 Tue Jun  9 09:57:09 1998  Tim Janik  <timj@gtk.org>
2500
2501         * gtk/gtktypeutils.h: 
2502         * gtk/gtktypeutils.c: renamed the newly created gtk_enum_get_values and
2503         gtk_enum_set_values to gtk_type_enum_get_values and
2504         gtk_type_enum_set_values respectively, since they are actually type
2505         system features.
2506
2507         * gtk/gtktypebuiltins_evals.c: oops, screwed the NULL termination with
2508         my last commit. ;)
2509
2510 Tue Jun  9 01:57:23 1998  Tim Janik  <timj@gtk.org>
2511
2512         * gtk/gtkselection.h: 
2513         * gtk/gtkselection.c: new functions gtk_selection_data_copy and
2514         gtk_selection_data_free.
2515
2516         * gtk/gtkwidget.c (gtk_widget_class_init): fixed gtk_signal_new() call
2517         for "selection_received", which was completely bogus.
2518         * other fixups to gtk_signal_new() calls all over the place.
2519
2520         * gtk/gtktypebuiltins.h: types as variables (formerly macros).
2521         * gtk/gtktypebuiltins_vars.c: type variable implementations.
2522         * gtk/gtktypebuiltins_ids.c: array entries for builtin type
2523         declarations.
2524         * gtk/gtktypebuiltins_evals.c: enum value arrays.
2525         * gtk/gtk-boxed.defs: gtk and gdk structure definitions, used to build
2526         gtk.defs.
2527         * gtk/gtk.defs: generated file with scheme syntax for type definitions
2528         of gtk and gdk structures and enums.
2529         * gtk/gtktypeutils.h: 
2530         * gtk/gtktypeutils.c: reworked type ids, so they are variables not
2531         macros anymore (this fixes binary incompatibility with new enum
2532         definitions).
2533
2534         * gtk/gtkwidget.c (gtk_widget_real_key_press_event): proccess possible
2535         key bindings for this widget.
2536         * gtk/gtkwindow.c (gtk_window_key_press_event): chain parent class'
2537         handler.
2538
2539         * gtk/gtkobject.h:
2540         * gtk/gtkobject.c: removed gtk_object_class_new_user_signal_no_recurse()
2541         again. new functions gtk_object_class_user_signal_new () and
2542         gtk_object_class_user_signal_newv (), to feature the GtkSignalRunType
2543         flag on the signal creation.
2544
2545 Mon Jun  8 20:52:21 1998  Tim Janik  <timj@gtk.org>
2546
2547         * gtk/gtkcontainer.h: new signal GtkContainer::set_focus_child.
2548
2549 Mon Jun  8 02:52:37 1998  Tim Janik  <timj@gtk.org>
2550
2551         * gdk/gdkprivate.h: 
2552         * gdk/gdktypes.h: 
2553         * gtk/gtkprivate.h: 
2554         * gtk/gtkwidget.h: 
2555         * gtk/gtkobject.h: wrapped enum definitions with glib macros.
2556
2557         * reworked enum value array generation code. gtk.defs is a generated
2558         file now.
2559
2560 Sun Jun  7 14:34:31 1998  Tim Janik  <timj@gtk.org>
2561
2562         * gtk/gtkitemfactory.c (gtk_item_factory_create_menu_entries): feature
2563         check menu items in the compatibility code (this required me to remove
2564         the "<check>" part from the menu item name, grrr).
2565
2566 1998-06-07  Marius Vollmer  <mvo@zagadka.ping.de>
2567
2568         * gdk/gdk.h (gdk_color_copy, gdk_color_free): New prototypes.
2569         * gdk/gdk.c (gdk_color_copy, gdk_color_free): New functions.
2570         
2571 Sun Jun  7 10:53:02 1998  Tim Janik  <timj@gtk.org>
2572
2573         * gtk/gtkitemfactory.h: 
2574         * gtk/gtkitemfactory.c: further additions to fit the gimp's code.
2575         additions to the dumping code to feature GtkPatternSpec.
2576         even found a bug to fix in the original code ;)
2577         
2578 Sun Jun  7 09:36:04 1998  Tim Janik  <timj@gtk.org>
2579
2580         * gtk/gtkitemfactory.c: support different types of callbacks, to
2581         maintain existing code.
2582
2583 Sat Jun  6 06:01:24 1998  Tim Janik  <timj@gtk.org>
2584
2585         * gtk/gtksignal.c (gtk_signal_emitv): fixed an assertment.
2586
2587         * gtk/makeenums.awk: a script to generate the GtkEnumValue arrays from,
2588         this should eventually be done by gentypeinfo.el somewhen.
2589         * gtk/gtkenumvalues.c: new generated file to hold GtkEnumValue arrays.
2590
2591         * gtk/gtktypeutils.h: new function gtk_enum_values() to retrive all the
2592         enum values of an enum type.
2593
2594         * gtk/gtk.defs:
2595         * gtk/gtkcurve.h: 
2596         * gtk/gtkobject.h: 
2597         * gtk/gtkprivate.h: 
2598         * gtk/gtkwidget.h:
2599         * gtk/gtkenums.h: 
2600         brought enum/flags definitions in sync, added a few more enum
2601         definitions for bindings and pattern matching.
2602
2603         * some more macro and GtkType fixups in various places.
2604
2605         * gdk/gdktypes.h (enum): added a new value GDK_AFTER_MASK, which is used
2606         as a key-release modifier for the binding system.
2607
2608 Fri Jun  5 06:06:06 1998  Tim Janik  <timj@gtk.org>
2609
2610         * gtk/gtkmenu.h (struct _GtkMenu): removed GList*children, since it
2611         was a stale list pointer that is already present in GtkMenuShell.
2612
2613         * gtk/gtkmenushell.h (struct _GtkMenuShellClass): added a signal
2614         GtkMenuShell::selection_done which is emitted after the menu shell
2615         poped down again and all possible menu items have been activated.
2616
2617 Thu Jun  4 02:20:42 1998  Tim Janik  <timj@gtk.org>
2618
2619         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): flush the x-queue
2620         before activation of the menuitem, so the menu is actually taken off the
2621         screen prior to any menu item activation.
2622
2623         * gtk/gtkctree.c (gtk_ctree_get_row_data): allow function invokation
2624         for NULL nodes.
2625
2626         * gtk/gtkwidget.h:
2627         * gtk/gtkwidget.c: new function gtk_widget_stop_accelerator to stop
2628         the emission of the "add-accelerator" signal on a widget. this is
2629         usefull to prevent accelerator installation on certain widgets.
2630
2631         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): keep the menu
2632         labels left justified, by setting their alignment. stop accelerator
2633         installation for the menu items, since we use dynamic menus.
2634
2635 Wed Jun  3 06:41:22 1998  Tim Janik  <timj@gtk.org>
2636
2637         * gtk/gtkmenufactory.c: adaptions to use the new accel groups. people
2638         should *really* use GtkItemFactory. this is only for preserving source
2639         compatibility where possible, use of GtkMenuFactory is deprecated as of
2640         now.
2641
2642         * gtk/gtkobject.h (gtk_object_class_add_user_signal): new function
2643         to create user signals of type GTK_RUN_NO_RECURSE. don't know why i
2644         missed this possibility when i added gtk_object_class_add_user_signal
2645         in late january.
2646
2647         * gtk/gtkmain.c (gtk_init): ignore subsequent function calls.
2648
2649 Sun May 31 07:31:09 1998  Tim Janik  <timj@gtk.org>
2650
2651         * gtk/gtkaccelgroup.h: 
2652         * gtk/gtkaccelgroup.c: new implementation of the accelerator concept.
2653
2654         * gtk/gtkaccellabel.h: 
2655         * gtk/gtkaccellabel.c: new widget derived from GtkLabel whitch features
2656         display of the accelerators associated with a certain widget.
2657
2658         * gtk/gtkitemfactory.h: 
2659         * gtk/gtkitemfactory.c: new widget, item factory with automatic rc
2660         parsing and accelerator handling.
2661
2662         * gtk/gtkmenu.c (gtk_menu_reposition): new function to care for
2663         positioning a menu.
2664         (gtk_menu_map): removed the allocation code.
2665         (gtk_menu_size_allocate): care for redrawing of children and resize
2666         our widget->window correctly.
2667         (gtk_menu_key_press): feature the new accelerator groups.
2668
2669         * gtk/gtkmenuitem.c (gtk_menu_item_size_allocate): reposition the
2670         submenu if neccessary.
2671
2672         * gtk/gtkmenuitem.c:
2673         * gtk/gtkcheckmenuitem.c:
2674         * gtk/gtkradiomenuitem.c: use GtkAccelLabel in the *_new_with_label()
2675         function variants.
2676
2677         * gdk/gdk.c:
2678         (gdk_keyval_from_name): 
2679         (gdk_keyval_name): new functions for keyval<->key-name associations.
2680         (gdk_keyval_to_upper): 
2681         (gdk_keyval_to_lower): 
2682         (gdk_keyval_is_upper): 
2683         (gdk_keyval_is_lower): new functions to check/translate keyvalues with
2684         regards to their cases.
2685
2686 Wed May 27 00:48:10 1998  Tim Janik  <timj@gtk.org>
2687
2688         * gtk/gtkwidget.c (gtk_widget_class_path): new function to calculate a
2689         widget's class path.
2690         (gtk_widget_path): new function to calculate a widget's name path.
2691
2692         * gtk/gtkrc.c: newly introduced GtkPatternSpec structures to speed up
2693         pattern matching, features reversed pattern matches.
2694
2695 Thu Jun  4 12:12:11 BST 1998  Tony Gale  <gale@gtk.org>
2696
2697         * examples/extract.sh, examples/extract.awk:
2698           New files to automagically extract code examples from the
2699           tutorial.
2700
2701 Tue Jun  2 20:04:45 1998  Lars Hamann  <lars@gtk.org>
2702
2703         * gtk/gtknotebook.c (gtk_notebook_page_select) (gtk_notebook_focus)
2704         * gtk/gtkcontainer.c (gtk_container_focus_move):
2705         reversed test sequence for GTK_WIDGET_CAN_FOCUS and GTK_IS_CONTAINER
2706
2707 Tue Jun  2 13:04:06 BST 1998  Tony Gale  <gale@gtk.org>
2708
2709         * docs/gtk_tut.sgml: minor changes to support auto
2710           extraction of example code
2711
2712 Mon Jun  1 12:47:56 BST 1998  Tony Gale  <gale@gtk.org>
2713
2714         * docs/gtk_tut_it.sgml: Update of Italian Tutorial
2715           to Tutorial of 24th May, from Daniele Canazza <dcanazz@tin.it>
2716
2717 Fri May 29 13:53:57 BST 1998  Tony Gale  <gale@gtk.org>
2718
2719         * docs/gtk_tut.sgml:
2720           - new section on Events
2721           - change all delete_event callbacks to include
2722             a GdkEvent parameter
2723           - clean up the formatting
2724
2725         * examples - helloworld.c, helloworld2.c, notebook.c,
2726           packbox.c, pixmap.c, progressbar.c, radiobuttons.c,
2727           rulers.c, table.c, wheelbarrow.c: change all delete_event
2728            callbacks to include a GdkEvent parameter.
2729
2730 1998-05-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2731
2732         * gdk/gdktypes.h (GdkCrossingMode): New enumeration for the "mode"
2733         field of crossing events.
2734         (struct _GdkEventCrossing): Added the following fields: time, x,
2735         y, x_root, y_root, mode, focus, state.
2736
2737         * gdk/gdk.c (gdk_event_translate): Fill in the new fields of the
2738         crossing event structure.
2739
2740         * gtk/gtkfeatures.h (GDK_HAVE_FULL_CROSSING_EVENT): Annotate
2741         changes to the crossing event structure.
2742
2743 Tue May 26 15:51:28 1998  Radek Doulik  <gis@academy.cas.cz>
2744
2745         * gdk/gdk.c: include gdkx.h always (for GDK_ROOT_WINDOW)
2746
2747 Sun May 24 12:11:38 BST 1998  Tony Gale  <gale@gtk.org>
2748
2749         * docs/gtk_tut.sgml:
2750            - GtkTooltips, update to current API
2751            - change all 'gpointer *data' to 'gpointer data'
2752            - other minor changes
2753
2754 Sat May 23 21:54:05 1998  Owen Taylor  <otaylor@gtk.org>
2755
2756         * configure.in (LDFLAGS): Bomb out with a moderately
2757           helpful message if detection of X libraries fails.
2758
2759 Sat May 23 18:57:06 1998  Owen Taylor  <otaylor@gtk.org>
2760
2761   [ Combination of:
2762      gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
2763      gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
2764
2765         * gdk/gdk.h gdk/gdkcc.c gdk/gdkfont.c gtk/gtkmain.c
2766           gtk/gtksignal.c gtk/gtktext.c: 
2767
2768           Fixups for warnings from adding const to type of GHashFunc,
2769           GCompareFunc
2770         
2771         * gtk/gtkcombo.c (gtk_combo_entry_key_press): Minor style/
2772           ansi-warnings fixups.
2773
2774 Sat May 23 17:48:58 1998  Owen Taylor  <otaylor@gtk.org>
2775
2776         * gtk/gtkeventbox.c (gtk_event_box_size_allocate): 
2777         Locate child at (border_width,border_width), not
2778         (2*border_width,2*border_width). [ The border is _outside_
2779         widget->window ]
2780         
2781         * gdk/gdk.[ch]: added gdk_screen_width_mm/gdk_screen_height_mm
2782           functions. [From: Alexander Larsson <alla@lysator.liu.se> ]
2783
2784 1998-05-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2785
2786         * gtk/gtkfeatures.h.in: Define GTK_HAVE_RC_SET_IMAGE_LOADER, to be
2787         used in gnome-libs
2788
2789 1998-05-22    <sopwith@redhat.com>
2790
2791         * gtk/gtkeventbox.c: Pass size_allocate on to the child
2792         regardless of whether it is visible or not. Also
2793         locate child at (border_width,border_width), not (0,0)
2794
2795 Fri May 22 03:02:40 1998  Owen Taylor  <otaylor@gtk.org>
2796
2797         * gtk/gtkhandlebox.c: Added style_set handler.
2798
2799 Fri May 22 02:55:57 1998  Owen Taylor  <otaylor@gtk.org>
2800  [ From: Chris Lahey  <clahey@umich.edu> ]
2801         
2802         * gtk/gtkeditable.c, gtk/gtkeditable.h,
2803           gtk/gtktext.c, gtk/gtkentry.c: Added get_position,
2804           and set_position functions to get and set the cursor position.
2805
2806         * gtk/gtkeditable.c: Restored "insert_text" and "delete_text" to
2807           signal status. Make GtkText do user-controlled insertion
2808           and deletion through the Editable widget so that these
2809           signals are properly emitted.
2810
2811         * gtk/gtkentry.c: Changed gtk_entry_set_visibility to 
2812           display asterisks instead of empty space when visible = FALSE)
2813
2814 Fri May 22 08:51:10 CEST 1998  Paolo Molaro <lupus@debian.org>
2815
2816         * gtk/gtkclist.c: use GTK_TYPE_GDK_EVENT in (un)?select_row
2817         signal.
2818
2819 1998-05-21    <sopwith@redhat.com>
2820
2821         * gtk/gtkrc.[ch]: gtk_rc_set_image_loader() - allow apps to set a
2822         custom routine for loading images specified in gtkrc's.
2823
2824 Tue May 19 23:41:04 1998  Owen Taylor  <otaylor@gtk.org>
2825
2826         * configure.in: Use pthread_attr_init() as a test function,
2827         since most of the rest of -lpthread is macros on DU4.
2828
2829 Tue, 19 May 1998 09:03:03 +0200  Paolo Molaro <lupus@debian.org>
2830
2831         * gtk/gtkcombo.c: implemented completion in the entry.
2832
2833 1998-05-18    <sopwith@moebuis.labs.redhat.com>
2834
2835         * gtk/gtk{debug.h,signal.c,main.c}: Allow GTK_DEBUG=signals
2836
2837 Mon May 18 04:01:41 1998  Tim Janik  <timj@gtk.org>
2838
2839         * gtk/gtkwidget.c (gtk_widget_class_init): changed "proximity-in-event",
2840         "drop-data-available-event", "drop-enter-event" and "drop-leave-event"
2841         to be of runtype GTK_RUN_LAST.
2842
2843         * gtk/gtkcontainer.c (gtk_container_class_init): likewise for
2844         "need-resize".
2845
2846         * gtk/gtktipsquery.c (gtk_tips_query_class_init): likewise for
2847         "widget-selected".
2848
2849 Sat May 16 09:04:32 1998  Tim Janik  <timj@gtk.org>
2850
2851         * gtk/gtkfilesel.c (gtk_file_selection_key_press): g_strdup() the
2852         text retrived from GtkEntry. only intercept the Tab key if there
2853         was some text to complete.
2854
2855 Fri May 15 21:16:54 1998  Owen Taylor  <otaylor@gtk.org>
2856
2857         Basic thread-awareness:
2858
2859         * acconfig.h configure.in: New option --with-threads=[yes/posix/no]
2860
2861         * gdk/Makefile.am gdk/gdkthreads.c: Added new functions 
2862         gdk_threads_[init/enter/leave] for applications, plus
2863         gdk_threads_wake to wake the mainloop thread out of
2864         the select().
2865
2866         * gtk/Makefile.am: gtk/testthreads.c: Test program for threads
2867
2868 Fri May 15 12:08:48 1998  Owen Taylor  <otaylor@gtk.org>
2869
2870         * gtk/testgtk.c (list_clear): Account for the fact
2871         that gtk_list_clear_items is not inclusive. (Clears
2872         [start, end))
2873
2874 Fri May 15 12:31:27 1998  rodo  <doulik@karlin.mff.cuni.cz>
2875
2876         * gdk/gdk.c: include gdkkeysyms.h always
2877         
2878
2879 Fri May 15 09:44:10 1998  Tim Janik  <timj@gtk.org>
2880
2881         * gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of
2882         the visibility_notify_event method and changed method order.
2883
2884 1998-05-14    <sopwith@moebuis.labs.redhat.com>
2885
2886         * gtk/gtkwidget.[ch] Added visibility_notify_event to GtkWidget
2887
2888 Thu May 14 03:04:43 1998  Tim Janik  <timj@gtk.org>
2889
2890         * gtk/gtk.defs: added GtkButtonBoxStyle and GtkOrientation definitions
2891         from Olli Helenius <ollhel@batman.jytol.fi>.
2892
2893         * gtk/gtktypeutils.c (gtk_type_free): new function to take care about
2894         freeing types.
2895         (gtk_type_set_chunk_alloc): new function to allow allocation of new
2896         types from a mem_chunk of certain size (n_chunks==0 indicates allocation
2897         thorugh g_malloc).
2898
2899         * gtk/gtkobject.c (gtk_object_finalize): free an object through
2900         gtk_type_free().
2901
2902         * gtk/gtkbutton.c (gtk_button_get_type): set chunk preallocation for
2903         GtkButtons to 16.
2904         * gtk/gtkmenuitem.c (gtk_menu_item_get_type): likewise (16).
2905         * gtk/gtklabel.c (gtk_label_get_type): likewise (32).
2906
2907 Wed May 13 00:53:52 1998  Owen Taylor  <otaylor@gtk.org>
2908
2909         * gtk/gtktypeutils.c gtk/gtksignal.c gdk/gdkdnd.c: A few more 
2910           GPOINTER_TO_UINT fixes.
2911
2912         * gtk/gtksignal.c: Include <string.h> for memset.
2913
2914 Tue May 12 23:10:53 1998  Owen Taylor  <otaylor@gtk.org>
2915         (Maximilian Bisani <bisani@kawo2.rwth-aachen.de>: gtk-bisani-980320-0)
2916
2917         * gtk/gtkvruler.c gtk/gtkhruler.c gtk/gtkruler.h: 
2918         Cleanups, comments and the ability to have rulers with 
2919         a reversed direction.
2920
2921 Tue May 12 19:37:55 1998  Owen Taylor  <otaylor@gtk.org>
2922
2923         * gtk/gtkrc.c (gtk_rc_parse_file): Fixed up a stat()
2924         that Sopwith missed when changing stat => lstat.
2925
2926 Tue May 12 19:19:29 1998  Owen Taylor  <otaylor@gtk.org>
2927
2928         * gtk/gtkinputdialog.c gtk/gtkgamma.c gtk/gtkrc.c
2929           gtk/gtkcolorsel.c gtk/gtkclist.c gtk/testgtk.c: Use
2930         GPOINTER_TO_INT/GINT_TO_POINTER macros where appropriate.
2931
2932         * gdk/gdk.c: Print sizeof() results
2933         as g_print("%ld", (glong)sizeof(foo)), to deal with
2934         sizeof() being long on Alpha's.
2935
2936         * gtk/testgtk.c: include <string.h> for strlen
2937
2938 Tue May 12 16:56:35 1998  Owen Taylor  <otaylor@gtk.org>
2939         (James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
2940         
2941         * gtk/gtkbbox.h gtk/gtkcolorsel.h gtk/gtkvbbox.h:
2942         Changed #include "gtkfoo.h" to #include <gtk/gtkfoo.h>
2943
2944         * gtk/gtkwindow.[ch]: Added const to gtk_window_set_wmclass
2945
2946 Tue May 12 15:16:10 1998  Owen Taylor  <otaylor@gtk.org>
2947         (From: Christopher James Lahey <clahey@umich.edu>)
2948         
2949         * gtk/gtkbutton.[ch] gtk/gtkenums.h gtk/gtktoolbar.[ch]
2950           gtk/testgtk.c:
2951
2952         Added 'relief' for buttons - they can be either GTK_RELIEF_NORMAL
2953         (old style), or GTK_RELIEF_NONE - no relief in the NORMAL
2954         state. Added gtk_toolbar_{set,get}_button_relief, which set/get
2955         the default relief for the toolbars buttons. Added an
2956         toggle for the toolbar test in testgtk.c.
2957
2958 Tue May 12 00:24:59 1998  Owen Taylor  <otaylor@gtk.org>
2959
2960         * docs/gtk-config.1: Rewritten and hopefully improved.
2961
2962 Mon May 11 20:26:39 PDT 1998 Manish Singh <yosh@gimp.org>
2963
2964         * docs/Makefile.am
2965         * docs/gtk-config.1: added man page for gtk-config by Ben Gertzfield
2966
2967 1998-05-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2968
2969         * gtk/gtkpreview.c (gtk_preview_realize): Create the window using
2970         GtkPreview's visual and colormap, otherwise things can BadMatch.
2971
2972         * gtk/testgtk.c (create_color_preview): 
2973         (create_gray_preview): Removed pushing/popping of visual/colormap
2974         now that GtkPreview does things correctly.
2975
2976         * gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel_frame): 
2977         (gtk_color_selection_draw_wheel): Pick the style from the correct
2978         place (the colorsel->wheel_area widget) so that the GCs will match
2979         with where we are going to paint to.
2980
2981         * gtk/testgtk.c (create_color_selection): Removed pushing/popping
2982         of visual/colormap now that GtkColorSelection does things the
2983         right way.
2984
2985 Mon May 11 21:04:51 1998  Owen Taylor  <otaylor@gtk.org>
2986
2987         * gtk/gtkwindow.c (gtk_real_window_move_resize): Use the
2988         previously unused window->need_resize flag to mark if a window's
2989         descendents changed size while the window was not visible. In this
2990         case, when the window becomes visible, we reallocate everything,
2991         since we didn't keep track of what actually changed.
2992
2993         (Fixes bug where changing the popdown strings of a
2994         combo to something of the same length caused them to
2995         blank out, as reported by Todd Dukes <tdukes@ibmoto.com>)
2996
2997 Tue May 12 02:31:57 1998  Tim Janik  <timj@gtk.org>
2998
2999         [security audit by Alan Cox]
3000
3001         * gtk/gtkobject.c (gtk_object_get_arg_type): check for arg_name to not
3002         exceed maximum assumed size.
3003
3004         * gtk/gtkmenufactory.c (gtk_menu_factory_create): check that `path' does
3005         not exceed maximum assumed size.
3006         (gtk_menu_factory_remove): likewise.
3007         (gtk_menu_factory_find_recurse): likewise.
3008
3009 Mon May 11 23:53:38 1998  Tim Janik  <timj@gtk.org>
3010
3011         * gtk/gtkwidget.c (gtk_widget_queue_resize): queue the idle_sizer with
3012         GTK_PRIORITY_INTERNAL - 1, so widgets get first resized and then
3013         redrawn if that is still neccessary. don't allow queueing of already
3014         destructed objects.
3015         (gtk_widget_idle_sizer): proccess the resize queue in a save manner, so
3016         widgets which are in the queue can be destroyed safely, handle
3017         requeueing properly.
3018         (gtk_widget_idle_draw): proccess the redraw queue in a save manner, so
3019         widgets which are in the queue can be destroyed/unrealized safely.
3020
3021 Mon May 11 17:54:44 BST 1998 Tony Gale  <gale@gtk.org>
3022
3023         * gtkfaq.sgml: add question on multi-threading,
3024           minor URL cleanups.
3025
3026 Mon May 11 09:56:45 1998  Tim Janik  <timj@gtk.org>
3027
3028         * configure.in (cflags_set): preserve automake CFLAGS.
3029
3030         * Makefile.am: fully rename the created libraries to libgtk-1.1.la
3031         and libgdk-1.1.la. this means we need to change certain portions of
3032         the Makefile.am on major/minor version bumps.
3033
3034         * ltmain.sh: the -release option is not required anymore.
3035         
3036         * gtk/gtkobject.h (gtk_trace_referencing): compile time check the type
3037         of the first argument to be of type GtkObject. unconditionally compile
3038         this function. removed __GNUC__ dependancy of the gtk_object_ref and
3039         gtk_object_unref macro wrappers for this function.
3040
3041 Mon May 11 02:31:19 1998  Tim Janik  <timj@gtk.org>
3042
3043         * gtk/gtkobject.h:
3044         * gtk/gtkobject.c:
3045         (gtk_object_data_try_key):
3046         (gtk_object_data_force_id): these are now macros substituting the old
3047         functions. we just use the corresponding g_dataset_* functions for
3048         key->id associations. (this is to assure unique key<->id associations).
3049
3050 1998-05-10  Stefan Jeske  <stefan@gtk.org>
3051
3052         * gtk/gtkctree.c (gtk_ctree_is_visible): Changed return value
3053         to gboolean.
3054
3055         * docs/gtk.texi (GtkCTree): Started documentation of GtkCTree.
3056
3057 Sat May  9 20:11:20 1998  Owen Taylor  <otaylor@gtk.org>
3058
3059         * configure.in (LIBS): Try to figure out if this
3060         is Digital Unix and we need -std1 to get the
3061         right prototypes.
3062
3063 Sat May  9 16:30:33 BST 1998 Tony Gale  <gale@gtk.org>
3064
3065         * docs/gtk_tut_it.sgml: update of Italian tutorial
3066           translation from Daniele Canazza <dcanazz@tin.it>
3067
3068 Sat May  9 02:34:41 1998  Tim Janik  <timj@gtk.org>
3069
3070         * gtk/gtkfeatures.h.in: new file used as template for
3071         * gtk/gtkfeatures.h: new file to define macros indicating newly
3072         introduced features, such as GTK_HAVE_SIGNAL_INIT.
3073
3074         * gtk/gtksignal.c:
3075         (gtk_signal_emitv_by_name):
3076         (gtk_signal_emitv):
3077         new functions to emit signals with an already provided parameter set.
3078         (provided by Kenneth Albanowski <kjahds@kjahds.com>).
3079         (gtk_signal_real_emit): prototype changes, so this functions always
3080         gets its parameters and signal structure as arguments.
3081         (gtk_signal_emit): provide the signal structure and parameter list for
3082         gtk_signal_real_emit.
3083         (gtk_signal_emit_by_name): likewise.
3084
3085 Sat May  9 00:03:12 1998  Tim Janik  <timj@gtk.org>
3086
3087         * gtk/gtksignal.c (gtk_signal_handler_unref): reflect the presence of
3088         signal connections through unsetting GTK_CONNECTED.
3089         (gtk_signal_handler_insert): reflect the presence of signal connections
3090         through setting GTK_CONNECTED.
3091         (gtk_signal_real_emit): only check for handler emissions if the object
3092         has the GTK_CONNECTED flag set.
3093         (gtk_signal_handler_pending): don't check for pending handlers if the
3094         GTK_CONNECTED flag is not set for this object.
3095
3096         * gtk/gtkobject.h (enum): new flag GTK_CONNECTED to indicate whether
3097         a GtkObject has signal handler connections.
3098
3099         * gtk/gtkobject.c (gtk_object_real_destroy): only if GTK_CONNECTED is
3100         set for this object call gtk_signal_handlers_destroy().
3101         
3102         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): deprecated macro, since it caused
3103         multiple processing of macro args.
3104
3105         * gtk/gtktypeutils.c:
3106         * gtk/gtkobject.c:
3107         * gtk/gtkwidget.c:
3108         * gtk/gtksignal.c: reverted GTK_TYPE_IS_A back to gtk_type_is_a.
3109
3110 Fri May  8 21:31:50 1998  Owen Taylor  <otaylor@gtk.org>
3111
3112         * gtk/gtkwidget.c (gtk_widget_queue_draw): Free the
3113         draw-queue when we are done. 
3114
3115         (gtk_widget_queue_draw/_queu_resize): Always return
3116         FALSE and avoid having two idles at the same time.
3117         
3118 Fri May  8 21:04:00 1998  Owen Taylor  <otaylor@gtk.org>
3119
3120         * gtk/gtktext.c: Various fixes to make sure cache
3121         lines are freed if line_start_cache doesn't point to the
3122         beginning of the cache.
3123
3124 Thu May  7 09:44:22 1998  Owen Taylor  <otaylor@gtk.org>
3125
3126         * style_set improvements for GtkText and GtkEntry
3127
3128 Thu May  7 19:03:50 1998  Tim Janik  <timj@gtk.org>
3129
3130         * gtk/gtktypeutils.c (gtk_type_unique): asure that the type system has
3131         been initialized.
3132
3133 Thu May  7 12:52:45 1998  Tim Janik  <timj@gtk.org>
3134
3135         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): allocate object
3136         data chunks through a global object data structure list. unlink
3137         object data before invoking its destroy function.
3138         (gtk_object_finalize): slight modification to allow usage of object
3139         data during object finalization.
3140
3141 Thu May  7 10:29:24 1998  Tim Janik  <timj@gtk.org>
3142
3143         * gtk/gtksignal.c (gtk_signal_newv): suport middle dashes ('-') in
3144         signal names, e.g. "signal-name" is now an alias for "signal_name".
3145         (gtk_signal_handler_new): allocate handlers through a global handler
3146         structure list, that's faster than memchunks.
3147         (gtk_emission_new): allocate emissions through a global emission
3148         structure list, that's faster than memchunks.
3149
3150 Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
3151
3152         * gtk-config.in (--libs): postfix -lg* libraries with LT_RELEASE.
3153
3154         * ltmain.sh: added a new commandline flag -postfix similar to -release,
3155         but will immediately change the library name.
3156
3157         * gdk/Makefile.am:
3158         * gtk/Makefile.am: specify -postfix and -version-info
3159
3160         * configure.in: version bump to 1.1.0. added GTK_INTERFACE_AGE and
3161         GTK_BINARY_AGE. calculate LT_* variables for libtool.
3162
3163 1998-05-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3164
3165         * gtk/gtkclist.c (draw_row): Fixed incorrect painting of row
3166         background (fg_set -> bg_set confusion).
3167
3168 1998-05-06  Stefan Jeske  <stefan@gtk.org>
3169
3170         * gtk/testgtk.c (unselect_all): Removed code that caused an
3171         endless loop.
3172
3173 Wed May  6 02:16:34 1998  Tim Janik  <timj@gtk.org>
3174
3175         * gtk/gtksignal.c: reimplemented the signal storage system to use a
3176         linear array rather than a hash table.
3177         be carefull *not* to keep any GtkSignal pointers across invokations
3178         of gtk_signal_next_and_invalidate() and therefore gtk_signal_new[v]().
3179         general code cleanups, made all allocations through memchunks.
3180         (gtk_signal_lookup): we now do the lookup of signals through a key_id
3181         for the signal names to avoid multiple hashing of the signal name on
3182         lookups for the several hirarchy levels of an object.
3183
3184 Tue May  5 19:49:27 1998  Owen Taylor  <otaylor@gtk.org>
3185
3186         * gdk/gdkpixmap.c: Patches from Gordon Matzigkeit
3187         to speed things up and remove code duplication.
3188
3189         Reintegrated buffer overflow patches, and added
3190         some extra paranoia.
3191         
3192 Tue May  5 17:04:14 1998  Owen Taylor  <otaylor@gtk.org>
3193
3194         * gdk/gdk.c (gdk_event_translate): A guint * was
3195         being passed where X expected a Keysym *, and
3196         keysyms are long's on Alpha Linux. This was causing
3197         segfaults in Xlib, apparently because of alignment.
3198         (Bug located by Juergen Haas <haas@forwiss.uni-passau.de>)
3199         
3200 Tue May  5 19:11:27 1998  Owen Taylor  <otaylor@gtk.org>
3201
3202         * gtk/gtkdrawingarea.c (gtk_drawing_area_realize): Always
3203         set GDK_EXPOSURE_MASK for DrawingAreas
3204
3205 Tue May  5 14:32:37 1998  Owen Taylor  <otaylor@gtk.org>
3206
3207         * gtk/gtkwidget.[ch]: removed gtk_widge_propagate_default_style
3208         (superceded by RC file reparsing capabilities)
3209
3210         * gtk/gtkwindow.c: Add handling for _GDK_READ_RFCILES client
3211         events. (Shouldn't be sent to the InputOnly leader, which
3212         it is now by gdk_event_send_clientmessage_toall
3213
3214         * gtk/testgtk.c: Added extra button to rcfiles test
3215         to send out _GDK_READ_RCFILES events.
3216         
3217 Tue May  5 11:03:00 1998  Owen Taylor  <otaylor@gtk.org>
3218
3219         * gtk/gtkselection.c (gtk_selection_clear): Fixed
3220         reversed conditionals that caused segfault on some
3221         platforms.
3222
3223 Tue May  5 00:44:47 1998  Owen Taylor  <otaylor@gtk.org>
3224
3225         * gtk/gtkcontainer.c (gtk_container_set_focus_[hv]adjustment):
3226         cast to GTK_OBJECT for gtk_object_ref.
3227
3228 Tue May  5 15:33:27 1998  Tim Janik  <timj@gtk.org>
3229
3230         * gtk/gtkmain.c (gtk_init): added gtk_signal_init() to avoid repeatedly
3231         checking for signal initialization in gtksignal.c.
3232
3233         * gtk/gtktypeutils.c (TYPE_NODES_BLOCK_SIZE): reseted this to 200 after
3234         a long debugging period ;)
3235
3236 1998-05-05  Stefan Jeske  <stefan@gtk.org>
3237
3238         * gdk/gdkgc.c gdk/gdk.h gtk/gtkctree.c (gdk_gc_set_dashes):
3239         New function to wrap XSetDashes; modified gtkctree.c to use it.
3240
3241 1998-05-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3242
3243         * configure.in: Added $x_libs in the other_libraries field in the
3244         check for XShapeCombineMask.
3245
3246 Mon May  4 00:30:11 1998  Tim Janik  <timj@gtk.org>
3247
3248         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): new macro to speedup
3249         gtk_type_is_a().
3250         * gtk/gtktypeutils.c: reimplemented the type storage system to use a
3251         linear array rather than a hash table. it actually speeded up testgtk
3252         for a *considerable* amount. be carefull *not* to keep any GtkTypeNode
3253         pointers across invokations of gtk_type_node_next_and_invalidate() and
3254         therefore gtk_type_unique()!
3255
3256         * gtk/gtkobject.h (GTK_IS_OBJECT_CLASS): new macro to test for the
3257         inheritance of a class pointer.
3258         (GTK_OBJECT): modifications for speedups.
3259         (GTK_IS_OBJECT): likewise.
3260         (GTK_OBJECT_CLASS): likewise.
3261         (suggested by owen).
3262
3263         * gtk/gtkcontainer.h (GTK_IS_CONTAINER_CLASS): new macro.
3264
3265         * gtk/gtkwidget.h (GTK_IS_WIDGET_CLASS): new macro.
3266
3267         * gtk/gtk.defs (GtkTooltips): define GtkTooltips as object not as boxed,
3268         since its derivation changed 4 month ago ;(. showed up with the unique
3269         type name checking code in gtk_type_unique().
3270
3271         * random guint->GtkType and macro fixups.
3272
3273 Sat May  2 23:14:34 1998  Owen Taylor  <otaylor@gtk.org>
3274
3275         * gtk/gtkcurve.c (gtk_curve_graph_events): Ignore
3276         Configure events that would result in a negative
3277         size.
3278
3279 Sun May  3 14:55:34 1998  Owen Taylor  <otaylor@gtk.org>
3280
3281         * docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
3282         "glibconfig.h" and another about writing another IRC
3283         client.
3284
3285 Sat May  2 00:14:05 1998  Owen Taylor  <otaylor@gtk.org>
3286
3287         * gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
3288         parameters to log are doubles. Digital Unix apparently
3289         is missing the argument in its prototype.
3290
3291 Sun May  3 19:04:46 1998  Owen Taylor  <otaylor@gtk.org>
3292
3293         * gtk/gtklabel.c (gtk_label_state_changed): Don't
3294         force a clear until the widget is actually on
3295         screen.
3296
3297 Sun May  3 21:32:35 1998  Owen Taylor  <otaylor@gtk.org>
3298
3299         * gdk/gdk.c (gdk_event_translate): Grab with OwnerEvents = False
3300         to make this consistent with the gtk-1-0 tree.
3301
3302 Sun May  3 13:38:22 1998  Owen Taylor  <otaylor@gtk.org>
3303
3304         * configure.in acheader.h gdk/gdkwindow.c 
3305         Check for Shape extension both on the client and server
3306         side. (And, more importantly, check for the shape extension
3307         so we may include -lXext even when compiling with --disable-xshm)
3308
3309         Don't set override_redirect on all shaped windows. It isn't
3310         necessary.
3311
3312         * gdk/gdkwindow.c: Set ->colormap to NULL for root 
3313         and foreign windows. Use this to check if we
3314         need to get the colormap from X.
3315
3316 Fri May  1 22:32:47 1998  Owen Taylor  <otaylor@gtk.org>
3317
3318         * gtk/gtkbutton.c (gtk_button_paint): Draw the areas
3319         between the default and the button always in GTK_STATE_NORMAL.
3320
3321         * gtk/gtkrange.c (gtk_range_style_set): Added a style_set
3322         callback.
3323
3324 Fri May  1 16:40:57 1998  Owen Taylor  <otaylor@gtk.org>
3325
3326         * gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
3327           Fix a buffer overflow on pixmaps that claim to have
3328           more than 31 characters per pixel.
3329
3330           (gdk_pixmap_read_string): Don't wrap around strings longer
3331           than half of address space ;-)
3332
3333         * gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
3334         that were used for printing integers.
3335
3336         * */* (almost):
3337
3338         Style: All 
3339           int foo () { ... }
3340         changed to
3341           int foo (void) { ... }
3342
3343         Even where there were proper prototypes elsewhere.
3344
3345         * gdk/gxid.c (handle_claim_device): Some extra checks.
3346         It isn't safe against being fed bad X id's, but at
3347         least it should be safe against deleting all your
3348         files.
3349
3350 Sun May  3 19:45:09 1998  Tim Janik  <timj@gtk.org>
3351
3352         * gtk/gtkadjustment.c (gtk_adjustment_assimilate_value): new function
3353         to set the adjustments value when there is no current emission.
3354         [ Removed by mutual agreement owt 5/3/1998 ]
3355
3356         * gtk/gtksignal.c: added new functions to retrive the number of
3357         existing emissions for a certain signal.
3358         (gtk_signal_n_emissions): new function.
3359         (gtk_signal_n_emissions_by_name): new function.
3360
3361 Sun May  3 16:55:43 1998  Tim Janik  <timj@gtk.org>
3362
3363         * gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
3364         set the current focus_child of a container, does proper referencing and
3365         adjusts the vadjustment/hadjustment associated with the focus widget.
3366
3367         * gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
3368         containers via gtk_container_set_focus_child.
3369
3370         * gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
3371         where appropriate.
3372
3373         * gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
3374         child since not every child removal goes through this function (this
3375         showed up after gtk_container_set_focus_child() started to reference the
3376         focus_child of a container).
3377
3378         * gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
3379         of a container from gtk_container_remove into this place.
3380
3381 Sat May  2 22:33:45 1998  Tim Janik  <timj@gtk.org>
3382
3383         * gtk/gtksignal.c: added new functions to operate on intermediate
3384         function pointers. implemented incremental blocking.
3385         (gtk_signal_disconnect_by_func): new function.
3386         (gtk_signal_handler_block_by_func): new function.
3387         (gtk_signal_handler_unblock_by_func): new function
3388
3389 Fri May  1 22:45:55 1998  Owen Taylor  <otaylor@gtk.org>
3390
3391         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
3392         Always show the scrollbars when the policy is
3393         GTK_POLICY_ALWAYS...
3394
3395 Sat May  2 20:19:03 1998  Tim Janik  <timj@gtk.org>
3396
3397         * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit
3398         "value_changed" if we really passed a new value.
3399         (gtk_adjustment_changed): new function to emit the "changed" signal.
3400         (gtk_adjustment_set_value): new function to emit the "value_changed"
3401         signal.
3402
3403 Fri May  1 12:28:35 1998  Owen Taylor  <otaylor@gtk.org>
3404
3405         * gtk/gtkcombo.c: Further changes to the way the window
3406         is popped up so that it will be compatible with 
3407         auto-scrolling in the future.
3408
3409 Fri May  1 20:25:29 1998  Tim Janik  <timj@gtk.org>
3410
3411         * gtk/gtkcombo.c (gtk_combo_popup_list): do not just return if
3412         the combo-list is empty since that will cause the combo to operate
3413         on a non existing GtkList window.
3414         (gtk_combo_get_pos): provide the combo list with a usfull default
3415         height if empty.
3416         (gtk_combo_popup_button_press): grab the focus.
3417         (gtk_combo_activate): grab the focus.
3418
3419 Fri May  1 12:06:43 1998  Owen Taylor  <otaylor@gtk.org>
3420
3421         * gtk/gtkwindow.[ch] (gtk_widget_reset_rc_styles): New
3422         function to reset the RC styles for a heirarchy
3423
3424         Clear the window background if necessary in
3425         gtk_window_style_set.
3426
3427         * gtk/gtkrc.[ch]: New function gtk_rc_reparse_all() which
3428         rereads all previously read RC files.
3429
3430         * gdk/gdkwindow.c gdk/gdk.h: New function gdk_window_get_toplevels().
3431         (Should it just be called gdk_get_toplevels?)
3432
3433         * gtk/testgtk.c: New test to reload RC files.
3434
3435 Fri May  1 13:57:36 1998  Tim Janik  <timj@gtk.org>
3436
3437         * gtk/gtkclist.h:
3438         * gtk/gtkclist.c: prefixed all clist flags with GTK_ to avoid name
3439         clashes. redefined GTK_CLIST_SET_FLAGS and GTK_CLIST_UNSET_FLAGS as
3440         GTK_CLIST_SET_FLAG and GTK_CLIST_UNSET_FLAG to automatically add
3441         the GTK_ prefix (this solution involved less changes in the
3442         gtkclist.c code). added a GTK_CLIST_CONSTRUCTED flag to substitute
3443         the mem_chunk==NULL test in gtk_clist_construct. merged in changes
3444         from lars & stefan to support the derivation of GtkCtree.
3445
3446         * gtkctree.h:
3447         * gtkctree.c:
3448         initial import of a tree widget derived from gtkclist, courtesy
3449         of Lars Hamann <lars@gtk.org> and Stefan Jeske <jeske@gtk.org>,
3450         it just damn rocks!
3451
3452 Fri May  1 10:05:44 1998  Tim Janik  <timj@gtk.org>
3453
3454         * gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
3455         for us.
3456         (gtk_list_insert_items):
3457         (gtk_list_remove_items_internal): 
3458         (gtk_list_clear_items): 
3459         remove a possible pointer grab, we might get thrown into a loop
3460         otherwise.
3461         (gtk_list_button_press): grab the pointer *before* selecting the child,
3462         because selection of items may cause the lists children to change,
3463         resulting in a grab release.
3464         (gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
3465         children.
3466         (gtk_list_shutdown): remove all children from the list.
3467         (gtk_real_list_unselect_child): 
3468         (gtk_real_list_select_child): *always* put our internal structures into
3469         sane state *before* signal emisions (i.e. list->selection updates prior
3470         to gtk_list_item_[de]select() calls).
3471
3472         * gtk/gtkcombo.c (gtk_combo_init): adjust the scrollbar if the lists
3473         focused child walks out of the window.
3474         removed CAN_FOCUS for the combo arrow's button since it doesn't react
3475         to keyboard events ("clicked" connection is missing).
3476
3477 Fri May  1 00:42:25 1998  Owen Taylor  <otaylor@gtk.org>
3478
3479         * gdk/gdkwindow.c (gdk_window_get_colormap): Fix up
3480         getting colormap for FOREIGN windows to go along with
3481         Raster's fix for visuals.
3482
3483 Merges from gtk-1-0
3484 ===================
3485         
3486 Thu Apr 30 23:32:51 1998  Owen Taylor  <otaylor@gtk.org>
3487
3488         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
3489         Check to catch the case when the viewport fits in either
3490         direction or both, instead of flip-flopping infinitely.
3491
3492         Only show/hide the scrollbars once at the end.
3493
3494 Thu Apr 30 21:56:07 1998  Owen Taylor  <otaylor@gtk.org>
3495
3496         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): 
3497         Include the scrollbars in the foreach call.
3498         (gtk-fortier-980405-0.patch; 
3499          Patrice Fortier <Patrice.Fortier@aquarel.fr>). 
3500
3501         The notebook widget
3502         really should also include its tabs, but that might cause
3503         problems for programs if they
3504
3505 Thu Apr 30 21:51:52 1998  Owen Taylor  <otaylor@gtk.org>
3506
3507         * gtk/gtkpixmap.c (gtk_pixmap_set): Only request a
3508         resize if the size actually changed. 
3509         (gtk-johannes-980414-0.patch ;  
3510          johannes@nada.kth.se (Johannes Keukelaar) )
3511
3512 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
3513
3514         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
3515           ltmain.sh ltconfig config.sub config.guess:
3516
3517         Reverted back to libtool-1.2 (plus minor patches) so as not to
3518         force the issue for everyone else.
3519
3520 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
3521
3522         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
3523         Updated to libtool 1.2a.
3524
3525         * gtk/gtkclist.c: Draw the in-between lines with style->base
3526         instead of style->white.
3527         
3528 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
3529
3530         * gdk/gdkprivate.h gdk/gdkwindow.c gdk/gdkpixmap.c: 
3531         Cache the colormap and children of a window locally
3532         instead of fetching them from the server when needed.
3533         Huge performance difference for creating/destroying
3534         windows.
3535
3536         * gtk/gtkstyle.c: Find the depth from the cached
3537         visual, instead of asking the server.
3538
3539         * gtk.m4: Distribute the new version which tries to
3540         figure out what went wrong and give helpful error
3541         messages.
3542
3543         * ltmain.sh ltconfig config.sub config.sh: 
3544         Updated to libtool 1.2a
3545
3546         * gtk/gtktext.c: Fixed a bug where the drawn level
3547         was being messed up when the text was scrolled
3548         during a deletion.
3549         
3550 Thu Apr 30 02:42:11 PDT 1998 Manish Singh <yosh@gimp.org>
3551
3552         * gtk/gtkfilesel.c: don't die when naughty people remove parts of
3553         the filesystem under you (fix from Josh)
3554
3555 Thu Apr 30 09:49:14 1998  Tim Janik  <timj@gtk.org>
3556
3557         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): check
3558         if the viewport already exists before iterating over it, maybe we
3559         haven't been constructed yet.
3560
3561 Thu Apr 30 01:51:00 1998  Tim Janik  <timj@gtk.org>
3562
3563         * gtk/gtkbin.c (gtk_bin_add): made this function issue a warning if
3564         the GtkBin widget already has a child.
3565
3566         * gtk/gtkbox.c (gtk_box_pack_{start|end}):
3567         check that child->parent == NULL;
3568
3569 Tue Apr 28 22:13:54 1998  Owen Taylor  <otaylor@gtk.org>
3570
3571         * gtk/gtkselection.c (gtk_selection_clear): Only return
3572         FALSE when the clear event is been rejected, not when
3573         widget has already lost the selection. (Which should
3574         only happen when we are setting the selection to another
3575         widget ourself.)
3576         
3577 Fri Apr 24 19:07:32 1998  Owen Taylor  <otaylor@gtk.org>
3578
3579         * gtk/gtkfixed.c gtk/gtkpaned.c gtk/gtktable.c:
3580
3581         Removed the "check visibility after gtk_widget_unparent" bug 
3582         in hopefully the last three places.
3583
3584 Tue Apr 28 15:46:41 1998  Tim Janik  <timj@gtk.org>
3585
3586         * gtk/gtkrc.c (gtk_rc_parse_statement): allow the inclusion of other
3587         rc-files.
3588
3589 Mon Apr 27 15:11:52 1998  Tim Janik  <timj@gtk.org>
3590
3591         * gtk/gtkwidget.c (gtk_widget_grab_focus): only allow grabbing of focus
3592         for CAN_FOCUS widgets.
3593
3594         * gtk/testgtk.c (create_scrolled_windows): feature h/v focus
3595         adjustments for the table.
3596         (create_list): feature automatic adjustment of the scrolled window to
3597         always contain the focused child.
3598         (create_main_window): keep the focussed button always inside of the
3599         scrolled windoww.
3600
3601         * gtk/gtkcontainer.c (gtk_real_container_focus): set the h/v focus
3602         adjustments, to contain the allocation of the currently focused child.
3603         (gtk_container_set_focus_hadjustment): new functin to set the
3604         horizontal focus adjustment.
3605         (gtk_container_set_focus_vadjustment): new functin to set the vertical
3606         focus adjustment.
3607
3608         * gtk/gtkadjustment.c (gtk_adjustment_clamp_page): new fucntion to
3609         clamp the currents adjustment page into a specific range.
3610
3611         * random GtkType fixups for gtk_*_get_type() functions.
3612
3613 Fri Apr 24 18:37:16 1998  Owen Taylor  <otaylor@gtk.org>
3614
3615         * gtk/gtktreeitem.c (gtk_tree_item_remove_subtree): 
3616         Account for the fact that gtk_tree_item_remove_subtree
3617         will be called recursively. 
3618
3619         Handle removing a collapsed subtree.
3620
3621         (From Andy Dustman <adustman@comstar.net>)
3622         
3623         * gtk/gtktree.c (gtk_tree_remove_items): Look for the
3624         root tree when removing items from a non-previously
3625         mapped tree.
3626
3627         * gtk/testgtk.c: Added a remove_subtree button.
3628         
3629 Thu Apr 23 23:44:17 1998  Owen Taylor  <otaylor@gtk.org>
3630
3631         * gtk/gtkobject.c (gtk_object_finalize): Notify all weak references
3632         before object removing data. This change fixes a bug where 
3633         removing the last weak references would cause it to be 
3634         triggered.
3635
3636 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
3637
3638         * gdk/Makefile.am: Removed mostly useless dependency that
3639         was causing problems for SGI's make, when used with
3640         the 'make dist' form of GTK+. (Dependency caused dependencies
3641         to be redone when BUILT_SOURCES changed)
3642
3643 Thu Apr 30 11:18:00 1998  Owen Taylor  <otaylor@gtk.org>
3644
3645         * gtk/gtkcombo.[ch]: Allow the user to use the popup list
3646         like a menu.
3647         
3648         * gtk/gtkmenuitem.c gtk/gtkitem.c: Moved enter/leave handlers
3649         to gtkitem.c so dragging can also work in lists.
3650
3651         * gtk/gtklist.[ch]: Track child enter events and use
3652         those to allow dragging the selection. 
3653
3654 Thu Apr 30 11:16:06 1998  Owen Taylor  <otaylor@gtk.org>
3655
3656         * gtk/gtktext.c: Try enabling background pixmaps for editable text
3657         widgets.  There is a bit of flashing, but not too bad. If you
3658         don't want the flashing, you can always not set a background
3659         pixmap.
3660
3661 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
3662
3663         * gtk/gtktext.c: Fixed a bug where the drawn level
3664         was being messed up when the text was scrolled
3665         during a deletion.
3666         
3667 1998-04-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3668
3669         * gdk/gdk.c (gdk_event_translate): Random debugging fixed this
3670         bug:  There is no need to set the ExposureMask in the XGrabPointer
3671         (this caused DnD programs to crash).
3672
3673 Fri Apr 24 01:29:04 1998  Tim Janik  <timj@gtk.org>
3674
3675         * gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
3676         field to be of type guint.
3677         * gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
3678         ref_count>0;
3679         (gtk_accelerator_table_install): keep a per object list of accelerator
3680         tables that refer to this object.
3681         (gtk_accelerator_table_remove): remove the accelerator table from the
3682         per object list.
3683         (gtk_accelerator_table_clean): warn if there are any object references
3684         left in an accelerator table upon destruction.
3685         (gtk_accelerator_tables_delete): new function to delete object
3686         references from the accelerator tables associated with this object.
3687
3688         * gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
3689         GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
3690         of an accelerator can be prevented by gtk_signal_emit_stop().
3691         (gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
3692         so there are no stale pointers in accelerator tables left.
3693
3694 1998-04-22  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3695
3696         * gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
3697         visible before we unparent it.
3698
3699 Wed Apr 22 04:15:26 1998  Tim Janik  <timj@gtk.org>
3700
3701         * gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
3702         running_timeouts list with the tmp_list link itself, not with a new
3703         GList structure pointing to our link. that would fill up memory and
3704         causes the GList.data fields of the running_timeouts list to point to
3705         GList structures and not GtkTimeoutFunction structures which is a
3706         *really* bad thing.
3707         (gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
3708         the above entry ;).
3709
3710 Sat Apr 18 22:18:12 1998  Tim Janik  <timj@gtk.org>
3711
3712         * gtk/gtkradiomenuitem.h: 
3713         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
3714         ala gtk_radio_button_set_group.
3715         (gtk_radio_menu_item_init): assure that we always have at least a group
3716         that points to self.
3717
3718         * gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
3719         added g_return_if_fail() statements.
3720         (gtk_radio_button_init): assure that we always have at least a group
3721         that points to self.
3722
3723 Fri Apr 17 03:05:05 1998  Tim Janik  <timj@gtk.org>
3724
3725         * ChangeLog split up into ChangeLog.pre-1-0 and ChangeLog.
3726
3727 Wed Apr 15 05:13:09 1998  Tim Janik  <timj@gtk.org>
3728
3729         * gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
3730         (Damon Chaplin), which i got wrong when applying Damon's patch the last
3731         time.
3732
3733 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
3734
3735         * gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
3736         that when we are running with a non-installed colormap,
3737         in 8-bit pseudo-color, we actually are using the system
3738         visual. (Fixes *Bad Match* errors on Digital Unix machines
3739         with multiple 8-bit pseudo-color visuals)
3740
3741 1998-04-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3742
3743         * gdk/gdkwindow.c (gdk_window_xid_at): Fix the problem introduced
3744         by whoever thought that randomly changing ints to unsigned int
3745         without reviewing the code was a good idea.  It is, btw not
3746         mentioned in the ChangeLog as usual, but I know it was not Elliot
3747         the culprit this time. 
3748
3749 Mon Apr 13 19:16:22 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
3750
3751         * Released GTK+ 1.0.0