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