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