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