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