]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-4
call the base class init fucntions from all parent types upon class
[~andy/gtk] / ChangeLog.pre-2-4
1 Sun Jun 28 04:29:10 1998  Tim Janik  <timj@gtk.org>
2
3         * gtk/gtktypeutils.c (gtk_type_class_init): call the base class init
4         fucntions from all parent types upon class initialization.
5
6         * gtk/gtkcontainer.c:
7         (gtk_container_get_type): announce gtk_container_base_class_init to
8         the type system.
9         (gtk_container_base_class_init): new function to feature base class
10         initialization.
11         (gtk_container_get_child_arg): 
12         (gtk_container_set_child_arg): call the GtkContainerClass get_child_arg
13         and set_child_arg methods of the class indicated through the argument
14         name.
15
16         * gtk/gtkobject.c:
17         (gtk_object_base_class_init): new function to feature base class
18         initialization.
19         (gtk_object_init_type): announce gtk_object_base_class_init to the type
20         system.
21         (gtk_object_class_init): setup the get_arg and set_arg pointers for
22         GtkObjectClass.
23         (gtk_object_setv): 
24         (gtk_object_getv): call the GtkObjectClass get_arg and set_arg methods,
25         instead of bothering the type system with this.
26
27         * gtk/gtkaccellabel.c: 
28         * gtk/gtkbutton.c: 
29         * gtk/gtkradiobutton.c: 
30         * gtk/gtktable.c:
31         * gtk/gtktogglebutton.c: 
32         * gtk/gtktipsquery.c: 
33         * gtk/gtkbox.c: 
34         * gtk/gtkpacker.c: 
35         * gtk/gtkwidget.c: 
36         * gtk/gtkwindow.c: 
37         * gtk/gtkframe.c: 
38         * gtk/gtkmisc.c:
39         * gtk/gtklabel.c: set the object_class->{g|s}et_arg pointers to the
40         corresponding gtk_*_{g|s]et_arg functions and updated the gtk_*_get_type
41         functions wrt GtkTypeInfo initialization. changed a lot of the set/get
42         arg functions to take a GtkObject argument.
43
44         gtk/gtkadjustment.c:
45         gtk/gtkalignment.c:
46         gtk/gtkarrow.c:
47         gtk/gtkaspectframe.c:
48         gtk/gtkbbox.c:
49         gtk/gtkbin.c:
50         gtk/gtkcheckbutton.c:
51         gtk/gtkcheckmenuitem.c:
52         gtk/gtkclist.c:
53         gtk/gtkcolorsel.c:
54         gtk/gtkcombo.c:
55         gtk/gtkctree.c:
56         gtk/gtkcurve.c:
57         gtk/gtkdata.c:
58         gtk/gtkdialog.c:
59         gtk/gtkdrawingarea.c:
60         gtk/gtkeditable.c:
61         gtk/gtkentry.c:
62         gtk/gtkeventbox.c:
63         gtk/gtkfilesel.c:
64         gtk/gtkfixed.c:
65         gtk/gtkfontsel.c:
66         gtk/gtkgamma.c:
67         gtk/gtkhandlebox.c:
68         gtk/gtkhbbox.c:
69         gtk/gtkhbox.c:
70         gtk/gtkhpaned.c:
71         gtk/gtkhruler.c:
72         gtk/gtkhscale.c:
73         gtk/gtkhscrollbar.c:
74         gtk/gtkhseparator.c:
75         gtk/gtkimage.c:
76         gtk/gtkinputdialog.c:
77         gtk/gtkitem.c:
78         gtk/gtkitemfactory.c:
79         gtk/gtklist.c:
80         gtk/gtklistitem.c:
81         gtk/gtkmenu.c:
82         gtk/gtkmenubar.c:
83         gtk/gtkmenuitem.c:
84         gtk/gtkmenushell.c:
85         gtk/gtknotebook.c:
86         gtk/gtkoptionmenu.c:
87         gtk/gtkpaned.c:
88         gtk/gtkpixmap.c:
89         gtk/gtkpreview.c:
90         gtk/gtkprogressbar.c:
91         gtk/gtkradiomenuitem.c:
92         gtk/gtkrange.c:
93         gtk/gtkruler.c:
94         gtk/gtkscale.c:
95         gtk/gtkscrollbar.c:
96         gtk/gtkscrolledwindow.c:
97         gtk/gtkseparator.c:
98         gtk/gtkspinbutton.c:
99         gtk/gtkstatusbar.c:
100         gtk/gtktext.c:
101         gtk/gtktoolbar.c:
102         gtk/gtktooltips.c:
103         gtk/gtktree.c:
104         gtk/gtktreeitem.c:
105         gtk/gtkvbbox.c:
106         gtk/gtkvbox.c:
107         gtk/gtkviewport.c:
108         gtk/gtkvpaned.c:
109         gtk/gtkvruler.c:
110         gtk/gtkvscale.c:
111         gtk/gtkvscrollbar.c:
112         gtk/gtkvseparator.c: updated the GtkTypeInfo initialization code to
113         match the modified GtkTypeInfo structure.
114
115 Sat Jun 27 23:23:27 PDT 1998 Manish Singh <yosh@gimp.org>
116
117         * gtk/testgtk.c: use rand() instead of random() for portability
118
119 Sat Jun 27 22:42:28 PDT 1998 Manish Singh <yosh@gimp.org>
120
121         * configure.in
122         * acconfig.h
123         * gdk/gdk.c: use native Xlib XConvertCase if it's available
124
125 Sat Jun 27 15:44:46 1998  Tim Janik  <timj@gtk.org>
126
127         * gdk/gdk.c (gdkx_XConvertCase): compatibility function to provide
128         XConvertCase() functionality from X11R6 on X11R5 systems.
129
130 Thu Jun 25 10:50:34 1998  Stefan Jeske  <stefan@gtk.org>
131
132         * gdk/gdk.h gdk/gdkfont.c: Added functions gdk_text_height,
133         gdk_string_height, gdk_char_height to retrieve the exact
134         height of a text.
135
136 Thu Jun 25 07:53:51 BST 1998  Tony Gale  <gale@gtk.org>
137
138         * docs/gtk_tut.sgml: add section on GtkCList widget, contributed
139           by Stefan Mars <mars@lysator.liu.se>
140         * examples/clist/clist.c examples/clist/Makefile: example code
141           for GtkCList widget from the Tutorial
142
143 Wed Jun 24 16:38:02 1998  Tim Janik  <timj@gtk.org>
144
145         * gtk/gtkbin.c (gtk_bin_remove): do not avoid to queue for a resize
146         if the container is not visible, we might be a toplevel! this holds
147         for all other base container implementations as well, that are
148         candidates to derive toplevels from. in general the resizing code will
149         care about visibility itself.
150         * gtk/gtkmenushell.c (gtk_menu_shell_remove): likewise.
151         * gtk/gtkbox.c (gtk_box_remove): likewise.
152
153         * gtk/gtkwindow.c (gtk_window_move_resize): save ->use_uposition around
154         gtk_window_set_hints(), since we haven't calculated the new position
155         yet.
156
157         * gdk/gdkwindow.c (gdk_window_get_pointer): take care that *x, *y and
158         *mask are alway initialized in a sane way, regardless of the return
159         value.
160
161 Wed Jun 24 14:14:32 1998  Tim Janik  <timj@gtk.org>
162
163         * gtk/gtkcontainer.c: new function gtk_container_child_arg_set, similar
164         to gtk_container_child_arg_setv, but takes a variable argument list.
165         new function gtk_container_get_child_arg_type, which is needed by
166         gtk_object_collect_args.
167
168         * gtk/gtkobject.c: changed prototype for gtk_object_collect_args, to
169         take a function pointer to figure the argument type.
170         adapted callers to pass gtk_object_get_arg_type.
171         * gtk/gtkwidget.c: adapted gtk_object_collect_args callers to pass
172         gtk_object_get_arg_type..
173
174         * gtk/gtkpacker.h: 
175         * gtk/gtkpacker.c:
176         (gtk_packer_reorder_child): new function to change the packing order
177         of a child.
178         (gtk_packer_size_request): 
179         (gtk_packer_size_allocate): take container->border_width into acount.
180
181         * gtk/gtkpacker.c: implemented widget arguments:
182         "GtkPacker::spacing", "GtkPacker::border_width", "GtkPacker::pad_x",
183         "GtkPacker::pad_y", "GtkPacker::ipad_x", "GtkPacker::ipad_y".
184         implemented child arguments:
185         "GtkPacker::side", "GtkPacker::anchor", "GtkPacker::expand",
186         "GtkPacker::fill_x", "GtkPacker::fill_y", "GtkPacker::use_default",
187         "GtkPacker::border_width", "GtkPacker::pad_x", "GtkPacker::pad_y",
188         "GtkPacker::ipad_x", "GtkPacker::ipad_y", "GtkPacker::position".
189
190         * gtk/gtkmisc.c (gtk_misc_set_arg): for padding args, set the padding,
191         not the alignment.
192
193         * gtk/gtkeventbox.h:
194         * gtk/gtkeventbox.c: GtkType and macro fixups.
195
196         * gtk/testgtk.c (entry_toggle_sensitive): new function to toggle
197         sensitivity of an entry.
198
199         * gtk/gtkstyle.c (gtk_style_new): support normal grey as default color
200         for insensitive base and text.
201
202         * gtk/gtkentry.c (gtk_entry_realize): set the window backgrounds
203         widget state dependent.
204         (gtk_entry_style_set): likewise.
205         (gtk_entry_state_changed): set background color on state changes.
206         (gtk_entry_draw_text): for non selected text, use state dependent
207         colors.
208
209         * gtk/gtktogglebutton.c: support for widget arguments
210         "GtkToggleButton::active" and "GtkToggleButton::draw_indicator".
211
212 Wed Jun 24 08:35:45 1998  Stefan Jeske  <stefan@gtk.org>
213
214         * gtk/gtkspinbutton.c (gtk_spin_button_spin): Added compatibility 
215         code for 1.0.x-like parameters. Changed internal interface of
216         gtk_spin_button_real_spin. Several fixes to avoid emission of
217         "value_changed" where possible.
218
219 Tue Jun 23 22:21:33 PDT 1998 Manish Singh <yosh@gimp.org>
220
221         * gtk-boxed.defs: s/GkWidget/GtkWidget/
222
223 Wed Jun 24 07:47:29 1998  Tim Janik  <timj@gtk.org>
224
225         * gtk/testgtk.c (create_idle_test): added a frame with radio buttons
226         to select the resize_mode for the idle-labels container.
227
228         * gtk/gtkframe.h: 
229         * gtk/gtkframe.c: GtkType and macro corrections.
230
231         * gtk/gtkradiobutton.c (gtk_radio_button_set_arg): new function to
232         support widget argument "GtkRadioButton::group".
233
234 Tue Jun 23 08:01:09 1998  Tim Janik  <timj@gtk.org>
235
236         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): queue a resize
237         unconditionally if resize_mode has changed.
238
239         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_init): set
240         GTK_RESIZE_QUEUE on the scrolled window.
241         (gtk_scrolled_window_construct): set GTK_RESIZE_PARENT for the vieport.
242
243 Tue Jun 23 04:20:30 1998  Tim Janik  <timj@gtk.org>
244
245         * gtk/gtkcontainer.h:
246         * gtk/gtkcontainer.c:
247         (GTK_IS_RESIZE_CONTAINER): new macro to find out if
248         a given gtkobject is a container with resize_mode==GTK_RESIZE_PARENT.
249         (gtk_container_queue_resize): new function to queue a container for
250         a *size* reallocation (doesn't affect its position, and thus its
251         parent is left untouched usually).
252         (gtk_container_get_resize_container): new function to retrive the next
253         most resize container which is not itself queued for a resize.
254         (gtk_container_idle_sizer): new function to carefully process the
255         container_resize_queue since it can change during invokation of
256         gtk_container_check_resize().
257         (gtk_container_resize_children): total rework of this function to
258         properly handle resize containers. makes a lot of assumptions whitch
259         are stated in the comments.
260
261         * gtk/gtkcontainer.c:
262         (gtk_container_real_check_resize): only requeue ourselves if we are not
263         a resize container.
264         (gtk_container_clear_resize_widgets): care for automatic deletion of our
265         resize_widgets list on size_allocate through a handler connection.
266
267         * gtk/gtkwindow.c (gtk_window_shutdown): new functionm to reset the
268         focus and default widget of a window, so to take the burden from
269         gtk_widget_unparent.
270
271         * gtk/gtkviewport.c: removed gtk_viewport_check_resize, which tried
272         to be clever, but actually messed up the resize_children logic and
273         caused unneccessary allocations on its whole branch. besides this,
274         it messed up the display by not invoking a redraw after the allocation.
275
276         * gtk/gtktable.c (gtk_table_set_child_arg): reverted recent change, so
277         that it is the child again that is queued for a resize.
278         (gtk_table_attach): likewise.
279         (gtk_table_remove): likewise.
280
281 1998-06-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
282
283         * gtk/gtkentry.h, gtk/gtkentry.c: Export the
284         gtk_entry_adjust_scroll.  Required if you change the cursor
285         position and want to sync it up with your code (Midnight Commander
286         gtk front end needs this).
287
288         * gtk/gtktable.c: Deal with tables that have size 0, 0.
289
290 Tue Jun 23 12:12:19 BST 1998  Tony Gale  <gale@gtk.org>
291
292         * examples/README.1ST: new file to explain how the
293           code examples should be extracted from the tutorial.
294
295 Mon Jun 22 18:43:11 1998  Lars Hamann  <lars@gtk.org>
296
297         * gtk/gtkctree.c (draw_row): added new "line style"
298         GTK_CTREE_LINES_TABBED 
299         * gtk/gtkctree.c/h (gtk_ctree_find_glist_ptr): new function to
300         search the glist pointer of an GtkCTreeRow
301
302 1998-06-21  Raja R Harinath  <harinath@cs.umn.edu>
303  
304         * gtk/Makefile.am (gtk.defs,gtktypebuiltins*): Remove $(srcdir)
305         from, and clean up, the dependencies.  Generate to intermediate
306         files to prevent problems with Ctrl-C.
307
308         * gtk/genmarshal.pl: Generate `gtkmarshal.[ch]' in $srcdir.
309
310 Fri Jun 19 14:46:56 1998  Stefan Jeske  <stefan@gtk.org>
311
312         * gtk/gtkspinbutton.h gtk/gtkspinbutton.c gtk/testgtk.c:
313         - Bug fix for precision problem causing occasional double emission 
314           of "value_changed" signal (hopefully works now).
315         - API change (should be binary compatible) : 
316           new enum GtkSpinType; modified gtk_spin_button_spin to use it.
317           Modified cursor example appropriately.
318           To spin by something other than step_/page_increment, use
319           gtk_spin_button_spin (spin, GTK_SPIN_USER_DEFINED, increment).
320         - Made GTK_SHADOW_NONE the default. ;)
321         - Fixed casting of GtkAdjustment* to GtkWidget* in
322           gtk_spin_button_value_changed.
323
324 Fri Jun 19 06:18:19 1998  Tim Janik  <timj@gtk.org>
325
326         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): fail silently
327         for toplevels. if resize_mode changes to GTK_RESIZE_PARENT, clear the
328         resize widget list before queuing the container for a new reize.
329         (gtk_container_need_resize): changed return value to FALSE, since this
330         used to indicate that no further resizes are needed.
331         (gtk_container_set_arg): 
332         (gtk_container_get_arg): 
333         (gtk_container_class_init): implemented GtkContainer::resize_mode
334         argument.
335
336         (gtk_container_resize_children): when we walk up the tree of a resize
337         widget we need to stop if we are the current parent.
338
339         * gtk/gtkwidget.c (gtk_widget_queue_resize): flag the resize child with
340         GTK_RESIZE_NEEDED for container->resize_mode==GTK_RESIZE_IMMEDIATE.
341         (gtk_widget_hide_all): retrive the toplevel widget from via
342         gtk_widget_get_resize_container().
343
344 Thu Jun 18 23:08:36 1998  Owen Taylor  <otaylor@gtk.org>
345
346         * gtk/gtklist.c (gtk_list_button_press): Only respond
347           to selection with button 1. This allows context-sensitive
348           menus to work correctly.
349
350 Fri Jun 19 03:29:04 1998  Tim Janik  <timj@gtk.org>
351
352         * gtk/gtkaccelgroup.c: 
353         * gtk/gtkbindings.c: 
354         * gtk/gtkcontainer.c:
355         * gtk/gtkitemfactory.c:
356         * gtk/gtkobject.c: 
357         * gtk/gtksignal.c:
358         * gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
359         g_quark_from_static_string calls to save memory.
360
361         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
362         function _after_ the new data has been setup.
363         minor changes to object data functions to feature the GQuark type.
364
365 Thu Jun 18 21:13:54 1998  Owen Taylor  <otaylor@gtk.org>
366
367         * gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
368           from argv.
369
370 Thu Jun 18 20:22:28 1998  Owen Taylor  <otaylor@gtk.org>
371
372         * gtk/genmarshal.pl: Modified to be more idiomatic Perl,
373           to be more readable perl, to spit out stuff that looks
374           more like readable C, and to pipe output through indent
375           so output looks a lot like readable C. No functional
376           changes.
377
378 Thu Jun 18 17:43:31 1998  Owen Taylor  <otaylor@gtk.org>
379
380         * gtk/gtkpixmap.[ch] (gtk_pixmap_set): Clear the background if
381           necessary when switching to a masked pixmap. (Based on a patch
382           from Ullrich Hafner <hafner@informatik.uni-wuerzburg.de>)
383
384 Thu Jun 18 16:18:10 1998  Owen Taylor  <otaylor@gtk.org>
385
386         * gtk/gtkeditable.[ch]: Added action signals for keyboard
387           bindings. (move_cursor, kill_word, etc, etc, etc). 
388
389           removed the time argument from
390           gtk_editable_cut/copy/paste_clipboard (source but not
391           binary incompatible...) Instead get time from
392           gtk_get_current_event ().
393         
394         * gtk/gtktext.c gtk/gtkentry.c: Support the new editable
395           signals.
396
397 Thu Jun 18 02:52:09 1998  Owen Taylor  <otaylor@gtk.org>
398
399         Patches from Damon Chaplin <DAChaplin@email.msn.com>:
400
401         gtk/gtkfontsel.h: Fixed GtkFontSelectionClass - I forgot to change
402              parent class to GtkNotebookClass when splitting the widget in
403              two.  Also updated some comments.
404
405         gtk/gtkfontsel.c: Fixed bug when toggling 'Allow scaled bitmaps'
406                button without a font selected.
407
408              Fixed bug in set_font_name - I hadn't updated the code to
409                search for the style in the font_style clist - it was
410                still assuming the style row was equal to its index,
411                but it isn't any more.
412         
413              Changed 'Reset' button on filter page to 'Clear Filter'.
414              Deleted old code relating to the old 'Filter Fonts' toggle
415              Updated some comments.
416              Cleared 'Actual Fontname' if no font is set.
417
418         gtk/testgtk.c: Fixed problem when 'OK' button is pressed - it was
419              destroying the GtkFontSelection instead of the
420              GtkFontSelectionDialog.
421
422 Thu Jun 18 02:15:31 1998  Owen Taylor  <otaylor@gtk.org>
423
424         * gtk/gtkmain.c (gtk_init): Added --g-fatal-warnings
425           flag to make all warnings fatal errors.
426
427         * gtk/testthreads.c: moved <pthreads.h> include inside 
428           #ifdef USE_PTHREADS
429
430 Thu Jun 18 01:37:31 1998  Owen Taylor  <otaylor@gtk.org>
431
432         * gtk/gtkenums.h gtk/gtkcontainer.[ch] gtk/gtkwidget.c 
433           gtk/gtkmenu.c gtk/gtkviewport.c gtk/gtkwindow.c:
434
435         - Added new function gtk_container_set_resize_mode() for
436           fine-grained control of where resize-queueing is done.
437
438         - Removed GtkContainer::need_resize and GtkWindow::move_resize
439         - Added GtkContainer::check_resize to replace need_resize.
440
441         - Added function gtk_container_check_resize() to trigger
442           queued resizes, and gtk_container_resize_children() to
443           Figure which children need to be size-allocated. (logic
444           moved from gtkwindow.c)
445
446         - Reorganized code in gtkwindow.c
447         
448         - Set the resize-mode for viewports so that resizes within
449           a viewport don't propagate out of it. 
450         
451 1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
452
453         * gtk/gtkfontsel.c: Use pointer<->int conversion macros to avoid warnings.
454
455         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): Use
456         g_return_val_if_fail, because the function *does* return a value.
457
458 Thu Jun 18 03:30:06 1998  Tim Janik  <timj@gtk.org>
459
460         * gtk/gtkaccellabel.h:
461         * gtk/gtkaccellabel.c: new function gtk_accel_label_accelerator_width to
462         request the size of the accelerator portion of an accel label.
463         (gtk_accel_label_size_request): don't request for the accelerators size.
464         (gtk_accel_label_expose_event): only draw the accelerator if we got
465         enough extra space.
466
467         * gtk/gtkmenuitem.c (gtk_menu_item_size_request): request accelerator
468         width from children.
469
470         * gtk/gtkmenu.c (gtk_menu_key_press): when adding an accelerator to an
471         object (after removal has been requested) check if there is still an
472         accelerator remaining to avoid adding two accelerators on an object.
473         this can happen for locked accelerators (or accelerator-frozen widgets).
474         (gtk_menu_size_request): feature childrens accelerator width in size
475         requests.
476
477         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): use
478         gtk_widget_freeze_accelerators() for dynamically created menu items.
479
480         * gtk/gtksignal.h: 
481         * gtk/gtksignal.c: new function gtk_signal_handler_pending_by_func()
482         which will return a handler_id > 0 if the specified function is pending
483         for `signal_id'.
484
485         * gtk/gtkwidget.h:
486         * gtk/gtkwidget.c: remove gtk_widget_stop_accelerator, which was just
487         a signal handler function to stop accelerator addition.
488         added gtk_widget_freeze_accelerators and gtk_widget_thaw_accelerators
489         which will prevent (undo) any accelerators from being added to or
490         removed from a widget.
491
492 Wed Jun 17 21:59:09 1998  Stefan Jeske  <stefan@gtk.org>
493
494         * gtkspinbutton.h gtkspinbutton.c testgtk.c:
495         Changed GtkSpinButtonUpdatePolicy enum, added keyboard
496         acceleration, new API gtk_spin_button_set_snap_to_ticks.
497
498 Wed Jun 17 03:47:40 1998  Tim Janik  <timj@gtk.org>
499
500         * gdk/gdk.h:
501         * gdk/gdkwindow.c: new function gdk_window_at_pointer() to retrive
502         the current GdkWindow the pointer is on if there is any.
503         
504         * gtk/gtktable.c (gtk_table_init): preallocate a table with one row
505         and one column, so we don't construction logic at all. changed a few
506         (x < y - 1) to (x + 1 < y), to avoid failing evaluations due to
507         unsigned int wraps.
508
509         * gtk/gtkwidget.c (gtk_widget_set_parent): removed left over code
510         portion, added an additional check for parent != widget.
511
512         * more GtkType and macro fixups.
513
514 1998-06-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
515
516         * gtk/gtkhandlebox.c (draw_textured_frame): Now accepts an extra
517         "clip" parameter, which is the clipping rectangle to use.  This
518         eliminates the extremely annoying flicker when exposing parts of
519         the handlebox.
520
521 Tue Jun 16 14:08:08 PDT 1998 Manish Singh <yosh@gimp.org>
522
523         * gtk/gtktable.c: fix from TimJ for off-by-one error in table
524         resizing
525
526 Tue Jun 16 06:29:57 1998  Tim Janik  <timj@gtk.org>
527
528         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_state): check for
529         != 0 on the argument.
530
531         * gtk/gtktable.h: 
532         * gtk/gtktable.c: new function gtk_table_resize() which allowes
533         shrinking and expanding of tables. implementation of widget arguments
534         and child arguments. many signedness corrections.
535
536 Mon Jun 15 04:15:03 1998  Tim Janik  <timj@gtk.org>
537
538         * gtk/gtkbox.c (gtk_box_set_child_packing): queue the resize for the box
539         not only the child, otherwise we might end up taking away other
540         childrens space after the resize.
541
542         * gtk/gtkitemfactory.c (gtk_item_factory_parse_menu_path): if we parse
543         an unknown menu path from any source, that path must always be flagged
544         as "modified", since we don't really know whether it has its default
545         value or not.
546
547         * gtk/gtktree.c:
548         * gtk/gtkpacker.c:
549         * gtk/gtknotebook.c:
550         * gtk/gtkmenushell.c:
551         * gtk/gtklist.c:
552         * gtk/gtkpaned.c:
553         * gtk/gtkfixed.c: 
554         * gtk/gtkbutton.c: implement gtk_*_child_type functions.
555
556         * gtk/gtkbox.h: 
557         * gtk/gtkbox.c: type corrections for expand, fill, padding and pack_type
558         arguments. implemented child arguments.
559
560         * more GtkType and macro fixups.
561
562 Sun Jun 14 16:30:02 1998  Tim Janik  <timj@gtk.org>
563
564         * gtk/gtkcheckbutton.h: GtkType and macro fixups.
565
566         * gtk/gtkclist.h: exported the prototypes for gtk_clist_get_vadjustment
567         and gtk_clist_get_hadjustment.
568
569         * gtk/gtkcontainer.c:
570         implementation of children arguments, new class member functions
571         (child_type), (get_child_arg) and (set_child_arg) plus a new field
572         n_child_args.
573         (gtk_container_child_type): new function which returns the type of a
574         child that the container expects for its next addition.
575         (gtk_container_add_child_arg_type): new function to introduce a new
576         child argument at class creation time.
577         (gtk_container_query_child_args): new function to query all child
578         arguments that are supported by a container class.
579         (gtk_container_child_arg_getv): new fucntion to retrive the value of a
580         child argument.
581         (gtk_container_child_arg_setv): new function to set a child argument for
582         a certain container and child combination.
583         (gtk_container_add_with_args):
584         (gtk_container_add_with_argv): new functions to feature addition of a
585         new child in combination with the setting of certain child arguments.
586
587         * gtk/gtktypeuitils.c (gtk_type_class_init): feature initialization of
588         GtkContainerClass.n_child_args, similar to the GtkObjectClass members.
589         this should really be done through class cretion hooks some day.
590
591         * gtk/gtkcontainer.c: changed type of border_width from gint16 to
592         guint : 16.
593
594         * gtk/gtkpacker.h:
595         * gtk/gtkpacker.c: renamed all PadX and PadY to pad_x and pad_y to
596         follow the gtk convention for lower case variable names (important
597         for language wrappers and widget arguments), and made them guint : 16.
598
599         * examples/packer/pack.c: adaptions for the case converted GtkPacker
600         fields.
601
602 Fri Jun 12 16:33:23 1998  Tim Janik  <timj@gtk.org>
603
604         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_scanner): do not
605         change the character pair for single line comments.
606         (gtk_item_factory_parse_rc): use the cpair_comment_signle specified in
607         GtkItemFactoryClass.
608         (gtk_item_factory_parse_rc_string): likewise.
609
610 Mon Jun 15 23:39:44 1998  Owen Taylor  <otaylor@gtk.org>
611
612         * gtk/gtkfontsel.[ch] (gtk_font_selection_dialog_init): Moved font
613         lists from the klass structure to a static structure
614         in gtkfontsel.c; cleans up global the namespace.
615
616 Mon Jun 15 22:16:10 1998  Owen Taylor  <otaylor@gtk.org>
617
618         * gtk/makeenums.pl (parse_entries): Fix (untriggered)
619         bug with /*< skip >*/ and remove warning.
620         
621 Mon Jun 15 20:14:09 1998  Owen Taylor  <otaylor@gtk.org>
622
623         * gtk/Makefile.am: Made the gtkmarshal.* generation
624         rules maintainer-only.
625
626 Mon Jun 15 16:29:45 1998  Owen Taylor  <otaylor@gtk.org>
627
628         * gdk/gdktypes.h gdk/gdkprivate.h gtk/gtk*.h 
629           gtk/Makefile.am gtk/makenums.pl 
630
631         Removed out the G_ENUM/FLAGS mechanism in favor
632         of a perl script that parses the standard headers
633         (with occasional /*< nick=foo >*/ style overrides)
634         and extracts the enumerations.
635
636           gtk/maketypes.awk: Small improvments to the
637           translation of names. (Avoid splitting gc into
638           g_c_.)
639         
640 Mon Jun 15 16:25:44 1998  Owen Taylor  <otaylor@gtk.org>
641
642         * gtk/gtk.h gtk/gtkfontsel.[ch]: 
643         Damon Chaplin's <DAChaplin@email.msn.com> Font selection widget.
644         
645 Mon Jun 15 15:58:34 1998  Owen Taylor  <otaylor@gtk.org>
646
647         * gtk/gtkentry.c:
648         - Restored gtk_entry_adjust_scroll to static 
649         - Changed text positioning code so that we always
650           display as large a portion of the text as possible.
651
652 Mon Jun 15 15:42:12 1998  Owen Taylor  <otaylor@gtk.org>
653
654         * gtk/gtktext.c (gtk_text_finalize): Free internal
655         structures of text widget. Also, unreference pixmaps
656         when unrealizing.
657         
658 Sat Jun 13 19:14:39 1998  Owen Taylor  <otaylor@gtk.org>
659
660         * gdk/gdkinputcommon.h (gdk_input_device_new): Change
661         3.3.1 bug workaround to number keys starting at 1.
662
663 Sat Jun 13 11:56:57 1998  Owen Taylor  <otaylor@gtk.org>
664
665         * docs/gtk_tut.sgml: Fixed urls for complete example
666         source for scribble+widget-writing examples.
667
668 Sat Jun 13 11:48:26 1998  Owen Taylor  <otaylor@gtk.org>
669
670         * gdk/gdkpixmap.c (gdk_pixmap_extract_color): 
671         Patch from Tom Bech <tomb@ii.uib.no>, to handle color
672         specs of the form c #abcdef [ more keys ] properly.
673
674 Sat Jun 13 10:51:56 1998  Stefan Jeske  <stefan@gtk.org>
675
676         * gtkspinbutton.h gtkspinbutton.c testgtk.c 
677         (gtk_spin_button_set_shadow_type):
678         New API to set the shadow type of the arrow panel.
679
680 Fri Jun 12 21:20:42 1998  Owen Taylor  <otaylor@gtk.org>
681
682         * gtk/gtkoptionmenu.c (gtk_option_menu_expose): Removed
683         code for drawing the child in two places at once. Unfortunately,
684         not only does it not work anymore (because reparenting has
685         been fixed), but it also triggers reparent/expose loops
686         in some cases.
687
688         * gtk/gtkoptionmenu.c (gtk_option_menu_remove_contents): Removed
689         an unecessary unrealize.
690
691 Fri Jun 12 21:18:56 1998  Owen Taylor  <otaylor@gtk.org>
692
693         * gdk/gdkwindow.c (gdk_window_reparent): Update the
694           old and new parents' child window lists properly.
695
696 Fri Jun 12 09:24:47 1998  Tim Janik  <timj@gtk.org>
697
698         * gtk/gtkpacker.h:
699         * gtk/gtkpacker.c: renamed enum GtkAnchor and GtkSide to GtkAnchorType
700         and GtkSideType, to be consistent with the rest of Gtk's enum
701         definitions. wrapped the enum definitions with the G_ eunm wrappers.
702         spelled out the GTK_ANCHOR_* enum values, since single letters don't
703         work out corectly as nick-names (left the old values as aliases).
704         some signdness corrections (border-width, spacing), could stand more.
705
706 Thu Jun 11 14:38:33 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
707
708         * gtk/gtkpacker.c, gtk/gtkpacker.h, gtk/gtk.h, gtk/Makefile.am: 
709           Added gtkpacker
710
711         * examples/packer/pack.c, examples/packer/Makefile: Added
712           gtkpacker example
713
714 Thu Jun 11 13:09:00 1998  Owen Taylor  <otaylor@gtk.org>
715
716         * gtk/gtktext.c (remove_cache_line): Fixed broken
717         list-removal code.
718
719         * gtk/gtktext.c: (gtk_text_delete_(forward/backward)_cahr)
720         Check bounds before deleting.
721
722 Wed Jun 10 23:21:33 1998  Owen Taylor  <otaylor@gtk.org>
723
724         * autogen.sh: Support ACLOCAL_FLAGS
725
726 Wed Jun 10 20:54:37 1998  Owen Taylor  <otaylor@gtk.org>
727
728         * gtk-config.in: Added missing quotes.
729
730 Wed Jun 10 18:44:22 PDT 1998 Manish Singh <yosh@gimp.org>
731
732         * gtk/gtkfeatures.in: #define GTK_HAVE_ACCEL_GROUP
733
734 1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
735
736         * acconfig.h (GTK_COMPILED_WITH_DEBUGGING): Renamed from
737         G_COMPILED_WITH_DEBUGGING.
738
739         * configure.in (fd_set): Explain check better.
740
741         * acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
742         the version from which gtk+'s libtool forked.  Needed for people
743         who use post-1.2 alphas of libtool.
744
745 Wed Jun 10 19:36:35 1998  Owen Taylor  <otaylor@gtk.org>
746
747         * glib/* Moved to glib module
748
749         * INSTALL Makefile.am acconfig.h autogen.sh configure.in
750           gtk-config.in gtk.m4 gdk/Makefile.am gtk/Makefile.am
751
752           configuration changes for the above:
753          
754           - Use AM_PATH_GLIB by default to find glib; also accept
755             a --with-glib option for using an uninstalled glib.
756          
757           - Put --enable-debug information into config.h so
758             that we rebuild when it changes. (was in glibconfig.h)
759
760 Wed Jun 10 22:23:27 1998  Lars Hamann  <lars@gtk.org>
761
762         * gtk/gtkctree.c (draw_row): adapted clist pixmap clipping
763
764         * gtk/gtknotebook.h (struct _GtkNotebookClass):
765         * gtk/gtknotebook.c (gtk_real_notebook_switch_page): 
766         added missing argument (according to Joseph Coleman's bug report)
767
768         * gtk/gtknotebook.c (gtk_notebook_set_focus_child): new class
769         function to fix notebook focus handling
770         
771 Wed Jun 10 12:57:03 1998  Owen Taylor  <otaylor@gtk.org>
772
773         * gdk/gdkcc.c glib/ghash.c glib/glib.h glib/gstring.c
774           glib/gutils.c glib/testglib.c glib/gdataset.c
775           gtk/gtkaccelgroup.c gtk/gtkmain.c gtk/gtksignal.c
776           gtk/gtktext.c gtk/gtkbindings.c:
777
778          renamed g_const_pointer => gconstpointer
779
780 Wed Jun 10 06:25:17 1998  Tim Janik  <timj@gtk.org>
781
782         * gdk/gdk.c (gdk_init): prevent gdk_init() from segfaulting when
783         invoked with (NULL, NULL); (this worked sometime ago).
784
785         * gtk/gtktypeutils.h: 
786         * gtk/gtktypeutils.c: enum and flags type creation can now be done
787         through gtk_type_register_enum() and gtk_type_register_flags(),
788         which allow to specify the enum value arrays directly.
789         the NULL terminated value arrays can be retrived through
790         gtk_type_enum_get_values() and gtk_type_flags_get_values();
791         (gtk_type_children_types): new function to query derived types.
792
793 1998-06-09  Raja R Harinath  <harinath@cs.umn.edu>
794
795         * gtk/Makefile.am (gtkmarshal.c gtkmarshal.h): Pass $srcdir in
796         environment to genmarshal.pl.
797         (gtk.defs,gtktypebuiltins*): Add $(srcdir) where needed (in the
798         rule), and removed it where not needed (in the dependencies).
799
800         * gtk/genmarshal.pl: Look for `gtkmarshal.list' in $srcdir.
801
802 Tue Jun  9 18:44:57 1998  Owen Taylor  <otaylor@gtk.org>
803
804         * gtk/gtkobject.c: Removed g_object_pointer_hash, which
805         was just g_direct_hash.
806
807 Mon May 25 19:54:20 1998  Owen Taylor  <otaylor@gtk.org>
808
809         * configure.in: x_libs=, not $x_libs=. Enough said.
810           (Case only hit for --disable-xshm)
811         
812 Mon May 25 12:08:14 1998  Owen Taylor  <otaylor@gtk.org>
813
814         * configure.in (LDFLAGS): Add to $CFLAGS and $LDFLAGS
815           when testing for X libraries, don't replace them. Because
816           the user might have specified the path to the X libraries
817           themself before running configure.
818
819         * examples/**.c: Changed all gpointer * to gpointer
820         
821 1998-06-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
822
823         * gtk/gtkhandlebox.h (struct _GtkHandleBox): Removed the
824         fleur_cursor field.  Now the cursor is created/destroyed on demand
825         by the routines that need it.
826
827         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): 
828         (gtk_handle_box_motion): The fleur cursor is created and destroyed
829         only when needed.
830
831 Tue Jun  9 09:57:09 1998  Tim Janik  <timj@gtk.org>
832
833         * gtk/gtktypeutils.h: 
834         * gtk/gtktypeutils.c: renamed the newly created gtk_enum_get_values and
835         gtk_enum_set_values to gtk_type_enum_get_values and
836         gtk_type_enum_set_values respectively, since they are actually type
837         system features.
838
839         * gtk/gtktypebuiltins_evals.c: oops, screwed the NULL termination with
840         my last commit. ;)
841
842 Tue Jun  9 01:57:23 1998  Tim Janik  <timj@gtk.org>
843
844         * gtk/gtkselection.h: 
845         * gtk/gtkselection.c: new functions gtk_selection_data_copy and
846         gtk_selection_data_free.
847
848         * gtk/gtkwidget.c (gtk_widget_class_init): fixed gtk_signal_new() call
849         for "selection_received", which was completely bogus.
850         * other fixups to gtk_signal_new() calls all over the place.
851
852         * gtk/gtktypebuiltins.h: types as variables (formerly macros).
853         * gtk/gtktypebuiltins_vars.c: type variable implementations.
854         * gtk/gtktypebuiltins_ids.c: array entries for builtin type
855         declarations.
856         * gtk/gtktypebuiltins_evals.c: enum value arrays.
857         * gtk/gtk-boxed.defs: gtk and gdk structure definitions, used to build
858         gtk.defs.
859         * gtk/gtk.defs: generated file with scheme syntax for type definitions
860         of gtk and gdk structures and enums.
861         * gtk/gtktypeutils.h: 
862         * gtk/gtktypeutils.c: reworked type ids, so they are variables not
863         macros anymore (this fixes binary incompatibility with new enum
864         definitions).
865
866         * gtk/gtkwidget.c (gtk_widget_real_key_press_event): proccess possible
867         key bindings for this widget.
868         * gtk/gtkwindow.c (gtk_window_key_press_event): chain parent class'
869         handler.
870
871         * gtk/gtkobject.h:
872         * gtk/gtkobject.c: removed gtk_object_class_new_user_signal_no_recurse()
873         again. new functions gtk_object_class_user_signal_new () and
874         gtk_object_class_user_signal_newv (), to feature the GtkSignalRunType
875         flag on the signal creation.
876
877 Mon Jun  8 20:52:21 1998  Tim Janik  <timj@gtk.org>
878
879         * gtk/gtkcontainer.h: new signal GtkContainer::set_focus_child.
880
881 Mon Jun  8 02:52:37 1998  Tim Janik  <timj@gtk.org>
882
883         * gdk/gdkprivate.h: 
884         * gdk/gdktypes.h: 
885         * gtk/gtkprivate.h: 
886         * gtk/gtkwidget.h: 
887         * gtk/gtkobject.h: wrapped enum definitions with glib macros.
888
889         * reworked enum value array generation code. gtk.defs is a generated
890         file now.
891
892 Sun Jun  7 14:34:31 1998  Tim Janik  <timj@gtk.org>
893
894         * gtk/gtkitemfactory.c (gtk_item_factory_create_menu_entries): feature
895         check menu items in the compatibility code (this required me to remove
896         the "<check>" part from the menu item name, grrr).
897
898 1998-06-07  Marius Vollmer  <mvo@zagadka.ping.de>
899
900         * gdk/gdk.h (gdk_color_copy, gdk_color_free): New prototypes.
901         * gdk/gdk.c (gdk_color_copy, gdk_color_free): New functions.
902         
903 Sun Jun  7 10:53:02 1998  Tim Janik  <timj@gtk.org>
904
905         * gtk/gtkitemfactory.h: 
906         * gtk/gtkitemfactory.c: further additions to fit the gimp's code.
907         additions to the dumping code to feature GtkPatternSpec.
908         even found a bug to fix in the original code ;)
909         
910 Sun Jun  7 09:36:04 1998  Tim Janik  <timj@gtk.org>
911
912         * gtk/gtkitemfactory.c: support different types of callbacks, to
913         maintain existing code.
914
915 Sat Jun  6 06:01:24 1998  Tim Janik  <timj@gtk.org>
916
917         * gtk/gtksignal.c (gtk_signal_emitv): fixed an assertment.
918
919         * gtk/makeenums.awk: a script to generate the GtkEnumValue arrays from,
920         this should eventually be done by gentypeinfo.el somewhen.
921         * gtk/gtkenumvalues.c: new generated file to hold GtkEnumValue arrays.
922
923         * gtk/gtktypeutils.h: new function gtk_enum_values() to retrive all the
924         enum values of an enum type.
925
926         * gtk/gtk.defs:
927         * gtk/gtkcurve.h: 
928         * gtk/gtkobject.h: 
929         * gtk/gtkprivate.h: 
930         * gtk/gtkwidget.h:
931         * gtk/gtkenums.h: 
932         brought enum/flags definitions in sync, added a few more enum
933         definitions for bindings and pattern matching.
934
935         * some more macro and GtkType fixups in various places.
936
937         * gdk/gdktypes.h (enum): added a new value GDK_AFTER_MASK, which is used
938         as a key-release modifier for the binding system.
939
940 Fri Jun  5 06:06:06 1998  Tim Janik  <timj@gtk.org>
941
942         * gtk/gtkmenu.h (struct _GtkMenu): removed GList*children, since it
943         was a stale list pointer that is already present in GtkMenuShell.
944
945         * gtk/gtkmenushell.h (struct _GtkMenuShellClass): added a signal
946         GtkMenuShell::selection_done which is emitted after the menu shell
947         poped down again and all possible menu items have been activated.
948
949 Thu Jun  4 02:20:42 1998  Tim Janik  <timj@gtk.org>
950
951         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): flush the x-queue
952         before activation of the menuitem, so the menu is actually taken off the
953         screen prior to any menu item activation.
954
955         * gtk/gtkctree.c (gtk_ctree_get_row_data): allow function invokation
956         for NULL nodes.
957
958         * gtk/gtkwidget.h:
959         * gtk/gtkwidget.c: new function gtk_widget_stop_accelerator to stop
960         the emission of the "add-accelerator" signal on a widget. this is
961         usefull to prevent accelerator installation on certain widgets.
962
963         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): keep the menu
964         labels left justified, by setting their alignment. stop accelerator
965         installation for the menu items, since we use dynamic menus.
966
967 Wed Jun  3 06:41:22 1998  Tim Janik  <timj@gtk.org>
968
969         * gtk/gtkmenufactory.c: adaptions to use the new accel groups. people
970         should *really* use GtkItemFactory. this is only for preserving source
971         compatibility where possible, use of GtkMenuFactory is deprecated as of
972         now.
973
974         * gtk/gtkobject.h (gtk_object_class_add_user_signal): new function
975         to create user signals of type GTK_RUN_NO_RECURSE. don't know why i
976         missed this possibility when i added gtk_object_class_add_user_signal
977         in late january.
978
979         * gtk/gtkmain.c (gtk_init): ignore subsequent function calls.
980
981 Sun May 31 07:31:09 1998  Tim Janik  <timj@gtk.org>
982
983         * gtk/gtkaccelgroup.h: 
984         * gtk/gtkaccelgroup.c: new implementation of the accelerator concept.
985
986         * gtk/gtkaccellabel.h: 
987         * gtk/gtkaccellabel.c: new widget derived from GtkLabel whitch features
988         display of the accelerators associated with a certain widget.
989
990         * gtk/gtkitemfactory.h: 
991         * gtk/gtkitemfactory.c: new widget, item factory with automatic rc
992         parsing and accelerator handling.
993
994         * gtk/gtkmenu.c (gtk_menu_reposition): new function to care for
995         positioning a menu.
996         (gtk_menu_map): removed the allocation code.
997         (gtk_menu_size_allocate): care for redrawing of children and resize
998         our widget->window correctly.
999         (gtk_menu_key_press): feature the new accelerator groups.
1000
1001         * gtk/gtkmenuitem.c (gtk_menu_item_size_allocate): reposition the
1002         submenu if neccessary.
1003
1004         * gtk/gtkmenuitem.c:
1005         * gtk/gtkcheckmenuitem.c:
1006         * gtk/gtkradiomenuitem.c: use GtkAccelLabel in the *_new_with_label()
1007         function variants.
1008
1009         * gdk/gdk.c:
1010         (gdk_keyval_from_name): 
1011         (gdk_keyval_name): new functions for keyval<->key-name associations.
1012         (gdk_keyval_to_upper): 
1013         (gdk_keyval_to_lower): 
1014         (gdk_keyval_is_upper): 
1015         (gdk_keyval_is_lower): new functions to check/translate keyvalues with
1016         regards to their cases.
1017
1018 Wed May 27 00:48:10 1998  Tim Janik  <timj@gtk.org>
1019
1020         * gtk/gtkwidget.c (gtk_widget_class_path): new function to calculate a
1021         widget's class path.
1022         (gtk_widget_path): new function to calculate a widget's name path.
1023
1024         * gtk/gtkrc.c: newly introduced GtkPatternSpec structures to speed up
1025         pattern matching, features reversed pattern matches.
1026
1027 Thu Jun  4 12:12:11 BST 1998  Tony Gale  <gale@gtk.org>
1028
1029         * examples/extract.sh, examples/extract.awk:
1030           New files to automagically extract code examples from the
1031           tutorial.
1032
1033 Tue Jun  2 20:04:45 1998  Lars Hamann  <lars@gtk.org>
1034
1035         * gtk/gtknotebook.c (gtk_notebook_page_select) (gtk_notebook_focus)
1036         * gtk/gtkcontainer.c (gtk_container_focus_move):
1037         reversed test sequence for GTK_WIDGET_CAN_FOCUS and GTK_IS_CONTAINER
1038
1039 Tue Jun  2 13:04:06 BST 1998  Tony Gale  <gale@gtk.org>
1040
1041         * docs/gtk_tut.sgml: minor changes to support auto
1042           extraction of example code
1043
1044 Mon Jun  1 12:47:56 BST 1998  Tony Gale  <gale@gtk.org>
1045
1046         * docs/gtk_tut_it.sgml: Update of Italian Tutorial
1047           to Tutorial of 24th May, from Daniele Canazza <dcanazz@tin.it>
1048
1049 Fri May 29 13:53:57 BST 1998  Tony Gale  <gale@gtk.org>
1050
1051         * docs/gtk_tut.sgml:
1052           - new section on Events
1053           - change all delete_event callbacks to include
1054             a GdkEvent parameter
1055           - clean up the formatting
1056
1057         * examples - helloworld.c, helloworld2.c, notebook.c,
1058           packbox.c, pixmap.c, progressbar.c, radiobuttons.c,
1059           rulers.c, table.c, wheelbarrow.c: change all delete_event
1060            callbacks to include a GdkEvent parameter.
1061
1062 1998-05-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1063
1064         * gdk/gdktypes.h (GdkCrossingMode): New enumeration for the "mode"
1065         field of crossing events.
1066         (struct _GdkEventCrossing): Added the following fields: time, x,
1067         y, x_root, y_root, mode, focus, state.
1068
1069         * gdk/gdk.c (gdk_event_translate): Fill in the new fields of the
1070         crossing event structure.
1071
1072         * gtk/gtkfeatures.h (GDK_HAVE_FULL_CROSSING_EVENT): Annotate
1073         changes to the crossing event structure.
1074
1075 Tue May 26 15:51:28 1998  Radek Doulik  <gis@academy.cas.cz>
1076
1077         * gdk/gdk.c: include gdkx.h always (for GDK_ROOT_WINDOW)
1078
1079 Sun May 24 12:11:38 BST 1998  Tony Gale  <gale@gtk.org>
1080
1081         * docs/gtk_tut.sgml:
1082            - GtkTooltips, update to current API
1083            - change all 'gpointer *data' to 'gpointer data'
1084            - other minor changes
1085
1086 Sat May 23 21:54:05 1998  Owen Taylor  <otaylor@gtk.org>
1087
1088         * configure.in (LDFLAGS): Bomb out with a moderately
1089           helpful message if detection of X libraries fails.
1090
1091 Sat May 23 18:57:06 1998  Owen Taylor  <otaylor@gtk.org>
1092
1093   [ Combination of:
1094      gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
1095      gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
1096
1097         * gdk/gdk.h gdk/gdkcc.c gdk/gdkfont.c gtk/gtkmain.c
1098           gtk/gtksignal.c gtk/gtktext.c: 
1099
1100           Fixups for warnings from adding const to type of GHashFunc,
1101           GCompareFunc
1102         
1103         * gtk/gtkcombo.c (gtk_combo_entry_key_press): Minor style/
1104           ansi-warnings fixups.
1105
1106 Sat May 23 17:48:58 1998  Owen Taylor  <otaylor@gtk.org>
1107
1108         * gtk/gtkeventbox.c (gtk_event_box_size_allocate): 
1109         Locate child at (border_width,border_width), not
1110         (2*border_width,2*border_width). [ The border is _outside_
1111         widget->window ]
1112         
1113         * gdk/gdk.[ch]: added gdk_screen_width_mm/gdk_screen_height_mm
1114           functions. [From: Alexander Larsson <alla@lysator.liu.se> ]
1115
1116 1998-05-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
1117
1118         * gtk/gtkfeatures.h.in: Define GTK_HAVE_RC_SET_IMAGE_LOADER, to be
1119         used in gnome-libs
1120
1121 1998-05-22    <sopwith@redhat.com>
1122
1123         * gtk/gtkeventbox.c: Pass size_allocate on to the child
1124         regardless of whether it is visible or not. Also
1125         locate child at (border_width,border_width), not (0,0)
1126
1127 Fri May 22 03:02:40 1998  Owen Taylor  <otaylor@gtk.org>
1128
1129         * gtk/gtkhandlebox.c: Added style_set handler.
1130
1131 Fri May 22 02:55:57 1998  Owen Taylor  <otaylor@gtk.org>
1132  [ From: Chris Lahey  <clahey@umich.edu> ]
1133         
1134         * gtk/gtkeditable.c, gtk/gtkeditable.h,
1135           gtk/gtktext.c, gtk/gtkentry.c: Added get_position,
1136           and set_position functions to get and set the cursor position.
1137
1138         * gtk/gtkeditable.c: Restored "insert_text" and "delete_text" to
1139           signal status. Make GtkText do user-controlled insertion
1140           and deletion through the Editable widget so that these
1141           signals are properly emitted.
1142
1143         * gtk/gtkentry.c: Changed gtk_entry_set_visibility to 
1144           display asterisks instead of empty space when visible = FALSE)
1145
1146 Fri May 22 08:51:10 CEST 1998  Paolo Molaro <lupus@debian.org>
1147
1148         * gtk/gtkclist.c: use GTK_TYPE_GDK_EVENT in (un)?select_row
1149         signal.
1150
1151 1998-05-21    <sopwith@redhat.com>
1152
1153         * gtk/gtkrc.[ch]: gtk_rc_set_image_loader() - allow apps to set a
1154         custom routine for loading images specified in gtkrc's.
1155
1156 Tue May 19 23:41:04 1998  Owen Taylor  <otaylor@gtk.org>
1157
1158         * configure.in: Use pthread_attr_init() as a test function,
1159         since most of the rest of -lpthread is macros on DU4.
1160
1161 Tue, 19 May 1998 09:03:03 +0200  Paolo Molaro <lupus@debian.org>
1162
1163         * gtk/gtkcombo.c: implemented completion in the entry.
1164
1165 1998-05-18    <sopwith@moebuis.labs.redhat.com>
1166
1167         * gtk/gtk{debug.h,signal.c,main.c}: Allow GTK_DEBUG=signals
1168
1169 Mon May 18 04:01:41 1998  Tim Janik  <timj@gtk.org>
1170
1171         * gtk/gtkwidget.c (gtk_widget_class_init): changed "proximity-in-event",
1172         "drop-data-available-event", "drop-enter-event" and "drop-leave-event"
1173         to be of runtype GTK_RUN_LAST.
1174
1175         * gtk/gtkcontainer.c (gtk_container_class_init): likewise for
1176         "need-resize".
1177
1178         * gtk/gtktipsquery.c (gtk_tips_query_class_init): likewise for
1179         "widget-selected".
1180
1181 Sat May 16 09:04:32 1998  Tim Janik  <timj@gtk.org>
1182
1183         * gtk/gtkfilesel.c (gtk_file_selection_key_press): g_strdup() the
1184         text retrived from GtkEntry. only intercept the Tab key if there
1185         was some text to complete.
1186
1187 Fri May 15 21:16:54 1998  Owen Taylor  <otaylor@gtk.org>
1188
1189         Basic thread-awareness:
1190
1191         * acconfig.h configure.in: New option --with-threads=[yes/posix/no]
1192
1193         * gdk/Makefile.am gdk/gdkthreads.c: Added new functions 
1194         gdk_threads_[init/enter/leave] for applications, plus
1195         gdk_threads_wake to wake the mainloop thread out of
1196         the select().
1197
1198         * gtk/Makefile.am: gtk/testthreads.c: Test program for threads
1199
1200 Fri May 15 12:08:48 1998  Owen Taylor  <otaylor@gtk.org>
1201
1202         * gtk/testgtk.c (list_clear): Account for the fact
1203         that gtk_list_clear_items is not inclusive. (Clears
1204         [start, end))
1205
1206 Fri May 15 12:31:27 1998  rodo  <doulik@karlin.mff.cuni.cz>
1207
1208         * gdk/gdk.c: include gdkkeysyms.h always
1209         
1210
1211 Fri May 15 09:44:10 1998  Tim Janik  <timj@gtk.org>
1212
1213         * gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of
1214         the visibility_notify_event method and changed method order.
1215
1216 1998-05-14    <sopwith@moebuis.labs.redhat.com>
1217
1218         * gtk/gtkwidget.[ch] Added visibility_notify_event to GtkWidget
1219
1220 Thu May 14 03:04:43 1998  Tim Janik  <timj@gtk.org>
1221
1222         * gtk/gtk.defs: added GtkButtonBoxStyle and GtkOrientation definitions
1223         from Olli Helenius <ollhel@batman.jytol.fi>.
1224
1225         * gtk/gtktypeutils.c (gtk_type_free): new function to take care about
1226         freeing types.
1227         (gtk_type_set_chunk_alloc): new function to allow allocation of new
1228         types from a mem_chunk of certain size (n_chunks==0 indicates allocation
1229         thorugh g_malloc).
1230
1231         * gtk/gtkobject.c (gtk_object_finalize): free an object through
1232         gtk_type_free().
1233
1234         * gtk/gtkbutton.c (gtk_button_get_type): set chunk preallocation for
1235         GtkButtons to 16.
1236         * gtk/gtkmenuitem.c (gtk_menu_item_get_type): likewise (16).
1237         * gtk/gtklabel.c (gtk_label_get_type): likewise (32).
1238
1239 Wed May 13 00:53:52 1998  Owen Taylor  <otaylor@gtk.org>
1240
1241         * gtk/gtktypeutils.c gtk/gtksignal.c gdk/gdkdnd.c: A few more 
1242           GPOINTER_TO_UINT fixes.
1243
1244         * gtk/gtksignal.c: Include <string.h> for memset.
1245
1246 Tue May 12 23:10:53 1998  Owen Taylor  <otaylor@gtk.org>
1247         (Maximilian Bisani <bisani@kawo2.rwth-aachen.de>: gtk-bisani-980320-0)
1248
1249         * gtk/gtkvruler.c gtk/gtkhruler.c gtk/gtkruler.h: 
1250         Cleanups, comments and the ability to have rulers with 
1251         a reversed direction.
1252
1253 Tue May 12 19:37:55 1998  Owen Taylor  <otaylor@gtk.org>
1254
1255         * gtk/gtkrc.c (gtk_rc_parse_file): Fixed up a stat()
1256         that Sopwith missed when changing stat => lstat.
1257
1258 Tue May 12 19:19:29 1998  Owen Taylor  <otaylor@gtk.org>
1259
1260         * gtk/gtkinputdialog.c gtk/gtkgamma.c gtk/gtkrc.c
1261           gtk/gtkcolorsel.c gtk/gtkclist.c gtk/testgtk.c: Use
1262         GPOINTER_TO_INT/GINT_TO_POINTER macros where appropriate.
1263
1264         * gdk/gdk.c: Print sizeof() results
1265         as g_print("%ld", (glong)sizeof(foo)), to deal with
1266         sizeof() being long on Alpha's.
1267
1268         * gtk/testgtk.c: include <string.h> for strlen
1269
1270 Tue May 12 16:56:35 1998  Owen Taylor  <otaylor@gtk.org>
1271         (James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
1272         
1273         * gtk/gtkbbox.h gtk/gtkcolorsel.h gtk/gtkvbbox.h:
1274         Changed #include "gtkfoo.h" to #include <gtk/gtkfoo.h>
1275
1276         * gtk/gtkwindow.[ch]: Added const to gtk_window_set_wmclass
1277
1278 Tue May 12 15:16:10 1998  Owen Taylor  <otaylor@gtk.org>
1279         (From: Christopher James Lahey <clahey@umich.edu>)
1280         
1281         * gtk/gtkbutton.[ch] gtk/gtkenums.h gtk/gtktoolbar.[ch]
1282           gtk/testgtk.c:
1283
1284         Added 'relief' for buttons - they can be either GTK_RELIEF_NORMAL
1285         (old style), or GTK_RELIEF_NONE - no relief in the NORMAL
1286         state. Added gtk_toolbar_{set,get}_button_relief, which set/get
1287         the default relief for the toolbars buttons. Added an
1288         toggle for the toolbar test in testgtk.c.
1289
1290 Tue May 12 00:24:59 1998  Owen Taylor  <otaylor@gtk.org>
1291
1292         * docs/gtk-config.1: Rewritten and hopefully improved.
1293
1294 Mon May 11 20:26:39 PDT 1998 Manish Singh <yosh@gimp.org>
1295
1296         * docs/Makefile.am
1297         * docs/gtk-config.1: added man page for gtk-config by Ben Gertzfield
1298
1299 1998-05-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1300
1301         * gtk/gtkpreview.c (gtk_preview_realize): Create the window using
1302         GtkPreview's visual and colormap, otherwise things can BadMatch.
1303
1304         * gtk/testgtk.c (create_color_preview): 
1305         (create_gray_preview): Removed pushing/popping of visual/colormap
1306         now that GtkPreview does things correctly.
1307
1308         * gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel_frame): 
1309         (gtk_color_selection_draw_wheel): Pick the style from the correct
1310         place (the colorsel->wheel_area widget) so that the GCs will match
1311         with where we are going to paint to.
1312
1313         * gtk/testgtk.c (create_color_selection): Removed pushing/popping
1314         of visual/colormap now that GtkColorSelection does things the
1315         right way.
1316
1317 Mon May 11 21:04:51 1998  Owen Taylor  <otaylor@gtk.org>
1318
1319         * gtk/gtkwindow.c (gtk_real_window_move_resize): Use the
1320         previously unused window->need_resize flag to mark if a window's
1321         descendents changed size while the window was not visible. In this
1322         case, when the window becomes visible, we reallocate everything,
1323         since we didn't keep track of what actually changed.
1324
1325         (Fixes bug where changing the popdown strings of a
1326         combo to something of the same length caused them to
1327         blank out, as reported by Todd Dukes <tdukes@ibmoto.com>)
1328
1329 Tue May 12 02:31:57 1998  Tim Janik  <timj@gtk.org>
1330
1331         [security audit by Alan Cox]
1332
1333         * gtk/gtkobject.c (gtk_object_get_arg_type): check for arg_name to not
1334         exceed maximum assumed size.
1335
1336         * gtk/gtkmenufactory.c (gtk_menu_factory_create): check that `path' does
1337         not exceed maximum assumed size.
1338         (gtk_menu_factory_remove): likewise.
1339         (gtk_menu_factory_find_recurse): likewise.
1340
1341 Mon May 11 23:53:38 1998  Tim Janik  <timj@gtk.org>
1342
1343         * gtk/gtkwidget.c (gtk_widget_queue_resize): queue the idle_sizer with
1344         GTK_PRIORITY_INTERNAL - 1, so widgets get first resized and then
1345         redrawn if that is still neccessary. don't allow queueing of already
1346         destructed objects.
1347         (gtk_widget_idle_sizer): proccess the resize queue in a save manner, so
1348         widgets which are in the queue can be destroyed safely, handle
1349         requeueing properly.
1350         (gtk_widget_idle_draw): proccess the redraw queue in a save manner, so
1351         widgets which are in the queue can be destroyed/unrealized safely.
1352
1353 Mon May 11 17:54:44 BST 1998 Tony Gale  <gale@gtk.org>
1354
1355         * gtkfaq.sgml: add question on multi-threading,
1356           minor URL cleanups.
1357
1358 Mon May 11 09:56:45 1998  Tim Janik  <timj@gtk.org>
1359
1360         * configure.in (cflags_set): preserve automake CFLAGS.
1361
1362         * Makefile.am: fully rename the created libraries to libgtk-1.1.la
1363         and libgdk-1.1.la. this means we need to change certain portions of
1364         the Makefile.am on major/minor version bumps.
1365
1366         * ltmain.sh: the -release option is not required anymore.
1367         
1368         * gtk/gtkobject.h (gtk_trace_referencing): compile time check the type
1369         of the first argument to be of type GtkObject. unconditionally compile
1370         this function. removed __GNUC__ dependancy of the gtk_object_ref and
1371         gtk_object_unref macro wrappers for this function.
1372
1373 Mon May 11 02:31:19 1998  Tim Janik  <timj@gtk.org>
1374
1375         * gtk/gtkobject.h:
1376         * gtk/gtkobject.c:
1377         (gtk_object_data_try_key):
1378         (gtk_object_data_force_id): these are now macros substituting the old
1379         functions. we just use the corresponding g_dataset_* functions for
1380         key->id associations. (this is to assure unique key<->id associations).
1381
1382 1998-05-10  Stefan Jeske  <stefan@gtk.org>
1383
1384         * gtk/gtkctree.c (gtk_ctree_is_visible): Changed return value
1385         to gboolean.
1386
1387         * docs/gtk.texi (GtkCTree): Started documentation of GtkCTree.
1388
1389 Sat May  9 20:11:20 1998  Owen Taylor  <otaylor@gtk.org>
1390
1391         * configure.in (LIBS): Try to figure out if this
1392         is Digital Unix and we need -std1 to get the
1393         right prototypes.
1394
1395 Sat May  9 16:30:33 BST 1998 Tony Gale  <gale@gtk.org>
1396
1397         * docs/gtk_tut_it.sgml: update of Italian tutorial
1398           translation from Daniele Canazza <dcanazz@tin.it>
1399
1400 Sat May  9 02:34:41 1998  Tim Janik  <timj@gtk.org>
1401
1402         * gtk/gtkfeatures.h.in: new file used as template for
1403         * gtk/gtkfeatures.h: new file to define macros indicating newly
1404         introduced features, such as GTK_HAVE_SIGNAL_INIT.
1405
1406         * gtk/gtksignal.c:
1407         (gtk_signal_emitv_by_name):
1408         (gtk_signal_emitv):
1409         new functions to emit signals with an already provided parameter set.
1410         (provided by Kenneth Albanowski <kjahds@kjahds.com>).
1411         (gtk_signal_real_emit): prototype changes, so this functions always
1412         gets its parameters and signal structure as arguments.
1413         (gtk_signal_emit): provide the signal structure and parameter list for
1414         gtk_signal_real_emit.
1415         (gtk_signal_emit_by_name): likewise.
1416
1417 Sat May  9 00:03:12 1998  Tim Janik  <timj@gtk.org>
1418
1419         * gtk/gtksignal.c (gtk_signal_handler_unref): reflect the presence of
1420         signal connections through unsetting GTK_CONNECTED.
1421         (gtk_signal_handler_insert): reflect the presence of signal connections
1422         through setting GTK_CONNECTED.
1423         (gtk_signal_real_emit): only check for handler emissions if the object
1424         has the GTK_CONNECTED flag set.
1425         (gtk_signal_handler_pending): don't check for pending handlers if the
1426         GTK_CONNECTED flag is not set for this object.
1427
1428         * gtk/gtkobject.h (enum): new flag GTK_CONNECTED to indicate whether
1429         a GtkObject has signal handler connections.
1430
1431         * gtk/gtkobject.c (gtk_object_real_destroy): only if GTK_CONNECTED is
1432         set for this object call gtk_signal_handlers_destroy().
1433         
1434         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): deprecated macro, since it caused
1435         multiple processing of macro args.
1436
1437         * gtk/gtktypeutils.c:
1438         * gtk/gtkobject.c:
1439         * gtk/gtkwidget.c:
1440         * gtk/gtksignal.c: reverted GTK_TYPE_IS_A back to gtk_type_is_a.
1441
1442 Fri May  8 21:31:50 1998  Owen Taylor  <otaylor@gtk.org>
1443
1444         * gtk/gtkwidget.c (gtk_widget_queue_draw): Free the
1445         draw-queue when we are done. 
1446
1447         (gtk_widget_queue_draw/_queu_resize): Always return
1448         FALSE and avoid having two idles at the same time.
1449         
1450 Fri May  8 21:04:00 1998  Owen Taylor  <otaylor@gtk.org>
1451
1452         * gtk/gtktext.c: Various fixes to make sure cache
1453         lines are freed if line_start_cache doesn't point to the
1454         beginning of the cache.
1455
1456 Thu May  7 09:44:22 1998  Owen Taylor  <otaylor@gtk.org>
1457
1458         * style_set improvements for GtkText and GtkEntry
1459
1460 Thu May  7 19:03:50 1998  Tim Janik  <timj@gtk.org>
1461
1462         * gtk/gtktypeutils.c (gtk_type_unique): asure that the type system has
1463         been initialized.
1464
1465 Thu May  7 12:52:45 1998  Tim Janik  <timj@gtk.org>
1466
1467         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): allocate object
1468         data chunks through a global object data structure list. unlink
1469         object data before invoking its destroy function.
1470         (gtk_object_finalize): slight modification to allow usage of object
1471         data during object finalization.
1472
1473 Thu May  7 10:29:24 1998  Tim Janik  <timj@gtk.org>
1474
1475         * gtk/gtksignal.c (gtk_signal_newv): suport middle dashes ('-') in
1476         signal names, e.g. "signal-name" is now an alias for "signal_name".
1477         (gtk_signal_handler_new): allocate handlers through a global handler
1478         structure list, that's faster than memchunks.
1479         (gtk_emission_new): allocate emissions through a global emission
1480         structure list, that's faster than memchunks.
1481
1482 Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
1483
1484         * gtk-config.in (--libs): postfix -lg* libraries with LT_RELEASE.
1485
1486         * ltmain.sh: added a new commandline flag -postfix similar to -release,
1487         but will immediately change the library name.
1488
1489         * gdk/Makefile.am:
1490         * gtk/Makefile.am: specify -postfix and -version-info
1491
1492         * configure.in: version bump to 1.1.0. added GTK_INTERFACE_AGE and
1493         GTK_BINARY_AGE. calculate LT_* variables for libtool.
1494
1495 1998-05-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1496
1497         * gtk/gtkclist.c (draw_row): Fixed incorrect painting of row
1498         background (fg_set -> bg_set confusion).
1499
1500 1998-05-06  Stefan Jeske  <stefan@gtk.org>
1501
1502         * gtk/testgtk.c (unselect_all): Removed code that caused an
1503         endless loop.
1504
1505 Wed May  6 02:16:34 1998  Tim Janik  <timj@gtk.org>
1506
1507         * gtk/gtksignal.c: reimplemented the signal storage system to use a
1508         linear array rather than a hash table.
1509         be carefull *not* to keep any GtkSignal pointers across invokations
1510         of gtk_signal_next_and_invalidate() and therefore gtk_signal_new[v]().
1511         general code cleanups, made all allocations through memchunks.
1512         (gtk_signal_lookup): we now do the lookup of signals through a key_id
1513         for the signal names to avoid multiple hashing of the signal name on
1514         lookups for the several hirarchy levels of an object.
1515
1516 Tue May  5 19:49:27 1998  Owen Taylor  <otaylor@gtk.org>
1517
1518         * gdk/gdkpixmap.c: Patches from Gordon Matzigkeit
1519         to speed things up and remove code duplication.
1520
1521         Reintegrated buffer overflow patches, and added
1522         some extra paranoia.
1523         
1524 Tue May  5 17:04:14 1998  Owen Taylor  <otaylor@gtk.org>
1525
1526         * gdk/gdk.c (gdk_event_translate): A guint * was
1527         being passed where X expected a Keysym *, and
1528         keysyms are long's on Alpha Linux. This was causing
1529         segfaults in Xlib, apparently because of alignment.
1530         (Bug located by Juergen Haas <haas@forwiss.uni-passau.de>)
1531         
1532 Tue May  5 19:11:27 1998  Owen Taylor  <otaylor@gtk.org>
1533
1534         * gtk/gtkdrawingarea.c (gtk_drawing_area_realize): Always
1535         set GDK_EXPOSURE_MASK for DrawingAreas
1536
1537 Tue May  5 14:32:37 1998  Owen Taylor  <otaylor@gtk.org>
1538
1539         * gtk/gtkwidget.[ch]: removed gtk_widge_propagate_default_style
1540         (superceded by RC file reparsing capabilities)
1541
1542         * gtk/gtkwindow.c: Add handling for _GDK_READ_RFCILES client
1543         events. (Shouldn't be sent to the InputOnly leader, which
1544         it is now by gdk_event_send_clientmessage_toall
1545
1546         * gtk/testgtk.c: Added extra button to rcfiles test
1547         to send out _GDK_READ_RCFILES events.
1548         
1549 Tue May  5 11:03:00 1998  Owen Taylor  <otaylor@gtk.org>
1550
1551         * gtk/gtkselection.c (gtk_selection_clear): Fixed
1552         reversed conditionals that caused segfault on some
1553         platforms.
1554
1555 Tue May  5 00:44:47 1998  Owen Taylor  <otaylor@gtk.org>
1556
1557         * gtk/gtkcontainer.c (gtk_container_set_focus_[hv]adjustment):
1558         cast to GTK_OBJECT for gtk_object_ref.
1559
1560 Tue May  5 15:33:27 1998  Tim Janik  <timj@gtk.org>
1561
1562         * gtk/gtkmain.c (gtk_init): added gtk_signal_init() to avoid repeatedly
1563         checking for signal initialization in gtksignal.c.
1564
1565         * gtk/gtktypeutils.c (TYPE_NODES_BLOCK_SIZE): reseted this to 200 after
1566         a long debugging period ;)
1567
1568 1998-05-05  Stefan Jeske  <stefan@gtk.org>
1569
1570         * gdk/gdkgc.c gdk/gdk.h gtk/gtkctree.c (gdk_gc_set_dashes):
1571         New function to wrap XSetDashes; modified gtkctree.c to use it.
1572
1573 1998-05-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1574
1575         * configure.in: Added $x_libs in the other_libraries field in the
1576         check for XShapeCombineMask.
1577
1578 Mon May  4 00:30:11 1998  Tim Janik  <timj@gtk.org>
1579
1580         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): new macro to speedup
1581         gtk_type_is_a().
1582         * gtk/gtktypeutils.c: reimplemented the type storage system to use a
1583         linear array rather than a hash table. it actually speeded up testgtk
1584         for a *considerable* amount. be carefull *not* to keep any GtkTypeNode
1585         pointers across invokations of gtk_type_node_next_and_invalidate() and
1586         therefore gtk_type_unique()!
1587
1588         * gtk/gtkobject.h (GTK_IS_OBJECT_CLASS): new macro to test for the
1589         inheritance of a class pointer.
1590         (GTK_OBJECT): modifications for speedups.
1591         (GTK_IS_OBJECT): likewise.
1592         (GTK_OBJECT_CLASS): likewise.
1593         (suggested by owen).
1594
1595         * gtk/gtkcontainer.h (GTK_IS_CONTAINER_CLASS): new macro.
1596
1597         * gtk/gtkwidget.h (GTK_IS_WIDGET_CLASS): new macro.
1598
1599         * gtk/gtk.defs (GtkTooltips): define GtkTooltips as object not as boxed,
1600         since its derivation changed 4 month ago ;(. showed up with the unique
1601         type name checking code in gtk_type_unique().
1602
1603         * random guint->GtkType and macro fixups.
1604
1605 Sat May  2 23:14:34 1998  Owen Taylor  <otaylor@gtk.org>
1606
1607         * gtk/gtkcurve.c (gtk_curve_graph_events): Ignore
1608         Configure events that would result in a negative
1609         size.
1610
1611 Sun May  3 14:55:34 1998  Owen Taylor  <otaylor@gtk.org>
1612
1613         * docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
1614         "glibconfig.h" and another about writing another IRC
1615         client.
1616
1617 Sat May  2 00:14:05 1998  Owen Taylor  <otaylor@gtk.org>
1618
1619         * gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
1620         parameters to log are doubles. Digital Unix apparently
1621         is missing the argument in its prototype.
1622
1623 Sun May  3 19:04:46 1998  Owen Taylor  <otaylor@gtk.org>
1624
1625         * gtk/gtklabel.c (gtk_label_state_changed): Don't
1626         force a clear until the widget is actually on
1627         screen.
1628
1629 Sun May  3 21:32:35 1998  Owen Taylor  <otaylor@gtk.org>
1630
1631         * gdk/gdk.c (gdk_event_translate): Grab with OwnerEvents = False
1632         to make this consistent with the gtk-1-0 tree.
1633
1634 Sun May  3 13:38:22 1998  Owen Taylor  <otaylor@gtk.org>
1635
1636         * configure.in acheader.h gdk/gdkwindow.c 
1637         Check for Shape extension both on the client and server
1638         side. (And, more importantly, check for the shape extension
1639         so we may include -lXext even when compiling with --disable-xshm)
1640
1641         Don't set override_redirect on all shaped windows. It isn't
1642         necessary.
1643
1644         * gdk/gdkwindow.c: Set ->colormap to NULL for root 
1645         and foreign windows. Use this to check if we
1646         need to get the colormap from X.
1647
1648 Fri May  1 22:32:47 1998  Owen Taylor  <otaylor@gtk.org>
1649
1650         * gtk/gtkbutton.c (gtk_button_paint): Draw the areas
1651         between the default and the button always in GTK_STATE_NORMAL.
1652
1653         * gtk/gtkrange.c (gtk_range_style_set): Added a style_set
1654         callback.
1655
1656 Fri May  1 16:40:57 1998  Owen Taylor  <otaylor@gtk.org>
1657
1658         * gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
1659           Fix a buffer overflow on pixmaps that claim to have
1660           more than 31 characters per pixel.
1661
1662           (gdk_pixmap_read_string): Don't wrap around strings longer
1663           than half of address space ;-)
1664
1665         * gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
1666         that were used for printing integers.
1667
1668         * */* (almost):
1669
1670         Style: All 
1671           int foo () { ... }
1672         changed to
1673           int foo (void) { ... }
1674
1675         Even where there were proper prototypes elsewhere.
1676
1677         * gdk/gxid.c (handle_claim_device): Some extra checks.
1678         It isn't safe against being fed bad X id's, but at
1679         least it should be safe against deleting all your
1680         files.
1681
1682 Sun May  3 19:45:09 1998  Tim Janik  <timj@gtk.org>
1683
1684         * gtk/gtkadjustment.c (gtk_adjustment_assimilate_value): new function
1685         to set the adjustments value when there is no current emission.
1686         [ Removed by mutual agreement owt 5/3/1998 ]
1687
1688         * gtk/gtksignal.c: added new functions to retrive the number of
1689         existing emissions for a certain signal.
1690         (gtk_signal_n_emissions): new function.
1691         (gtk_signal_n_emissions_by_name): new function.
1692
1693 Sun May  3 16:55:43 1998  Tim Janik  <timj@gtk.org>
1694
1695         * gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
1696         set the current focus_child of a container, does proper referencing and
1697         adjusts the vadjustment/hadjustment associated with the focus widget.
1698
1699         * gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
1700         containers via gtk_container_set_focus_child.
1701
1702         * gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
1703         where appropriate.
1704
1705         * gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
1706         child since not every child removal goes through this function (this
1707         showed up after gtk_container_set_focus_child() started to reference the
1708         focus_child of a container).
1709
1710         * gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
1711         of a container from gtk_container_remove into this place.
1712
1713 Sat May  2 22:33:45 1998  Tim Janik  <timj@gtk.org>
1714
1715         * gtk/gtksignal.c: added new functions to operate on intermediate
1716         function pointers. implemented incremental blocking.
1717         (gtk_signal_disconnect_by_func): new function.
1718         (gtk_signal_handler_block_by_func): new function.
1719         (gtk_signal_handler_unblock_by_func): new function
1720
1721 Fri May  1 22:45:55 1998  Owen Taylor  <otaylor@gtk.org>
1722
1723         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
1724         Always show the scrollbars when the policy is
1725         GTK_POLICY_ALWAYS...
1726
1727 Sat May  2 20:19:03 1998  Tim Janik  <timj@gtk.org>
1728
1729         * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit
1730         "value_changed" if we really passed a new value.
1731         (gtk_adjustment_changed): new function to emit the "changed" signal.
1732         (gtk_adjustment_set_value): new function to emit the "value_changed"
1733         signal.
1734
1735 Fri May  1 12:28:35 1998  Owen Taylor  <otaylor@gtk.org>
1736
1737         * gtk/gtkcombo.c: Further changes to the way the window
1738         is popped up so that it will be compatible with 
1739         auto-scrolling in the future.
1740
1741 Fri May  1 20:25:29 1998  Tim Janik  <timj@gtk.org>
1742
1743         * gtk/gtkcombo.c (gtk_combo_popup_list): do not just return if
1744         the combo-list is empty since that will cause the combo to operate
1745         on a non existing GtkList window.
1746         (gtk_combo_get_pos): provide the combo list with a usfull default
1747         height if empty.
1748         (gtk_combo_popup_button_press): grab the focus.
1749         (gtk_combo_activate): grab the focus.
1750
1751 Fri May  1 12:06:43 1998  Owen Taylor  <otaylor@gtk.org>
1752
1753         * gtk/gtkwindow.[ch] (gtk_widget_reset_rc_styles): New
1754         function to reset the RC styles for a heirarchy
1755
1756         Clear the window background if necessary in
1757         gtk_window_style_set.
1758
1759         * gtk/gtkrc.[ch]: New function gtk_rc_reparse_all() which
1760         rereads all previously read RC files.
1761
1762         * gdk/gdkwindow.c gdk/gdk.h: New function gdk_window_get_toplevels().
1763         (Should it just be called gdk_get_toplevels?)
1764
1765         * gtk/testgtk.c: New test to reload RC files.
1766
1767 Fri May  1 13:57:36 1998  Tim Janik  <timj@gtk.org>
1768
1769         * gtk/gtkclist.h:
1770         * gtk/gtkclist.c: prefixed all clist flags with GTK_ to avoid name
1771         clashes. redefined GTK_CLIST_SET_FLAGS and GTK_CLIST_UNSET_FLAGS as
1772         GTK_CLIST_SET_FLAG and GTK_CLIST_UNSET_FLAG to automatically add
1773         the GTK_ prefix (this solution involved less changes in the
1774         gtkclist.c code). added a GTK_CLIST_CONSTRUCTED flag to substitute
1775         the mem_chunk==NULL test in gtk_clist_construct. merged in changes
1776         from lars & stefan to support the derivation of GtkCtree.
1777
1778         * gtkctree.h:
1779         * gtkctree.c:
1780         initial import of a tree widget derived from gtkclist, courtesy
1781         of Lars Hamann <lars@gtk.org> and Stefan Jeske <jeske@gtk.org>,
1782         it just damn rocks!
1783
1784 Fri May  1 10:05:44 1998  Tim Janik  <timj@gtk.org>
1785
1786         * gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
1787         for us.
1788         (gtk_list_insert_items):
1789         (gtk_list_remove_items_internal): 
1790         (gtk_list_clear_items): 
1791         remove a possible pointer grab, we might get thrown into a loop
1792         otherwise.
1793         (gtk_list_button_press): grab the pointer *before* selecting the child,
1794         because selection of items may cause the lists children to change,
1795         resulting in a grab release.
1796         (gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
1797         children.
1798         (gtk_list_shutdown): remove all children from the list.
1799         (gtk_real_list_unselect_child): 
1800         (gtk_real_list_select_child): *always* put our internal structures into
1801         sane state *before* signal emisions (i.e. list->selection updates prior
1802         to gtk_list_item_[de]select() calls).
1803
1804         * gtk/gtkcombo.c (gtk_combo_init): adjust the scrollbar if the lists
1805         focused child walks out of the window.
1806         removed CAN_FOCUS for the combo arrow's button since it doesn't react
1807         to keyboard events ("clicked" connection is missing).
1808
1809 Fri May  1 00:42:25 1998  Owen Taylor  <otaylor@gtk.org>
1810
1811         * gdk/gdkwindow.c (gdk_window_get_colormap): Fix up
1812         getting colormap for FOREIGN windows to go along with
1813         Raster's fix for visuals.
1814
1815 Merges from gtk-1-0
1816 ===================
1817         
1818 Thu Apr 30 23:32:51 1998  Owen Taylor  <otaylor@gtk.org>
1819
1820         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
1821         Check to catch the case when the viewport fits in either
1822         direction or both, instead of flip-flopping infinitely.
1823
1824         Only show/hide the scrollbars once at the end.
1825
1826 Thu Apr 30 21:56:07 1998  Owen Taylor  <otaylor@gtk.org>
1827
1828         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): 
1829         Include the scrollbars in the foreach call.
1830         (gtk-fortier-980405-0.patch; 
1831          Patrice Fortier <Patrice.Fortier@aquarel.fr>). 
1832
1833         The notebook widget
1834         really should also include its tabs, but that might cause
1835         problems for programs if they
1836
1837 Thu Apr 30 21:51:52 1998  Owen Taylor  <otaylor@gtk.org>
1838
1839         * gtk/gtkpixmap.c (gtk_pixmap_set): Only request a
1840         resize if the size actually changed. 
1841         (gtk-johannes-980414-0.patch ;  
1842          johannes@nada.kth.se (Johannes Keukelaar) )
1843
1844 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
1845
1846         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
1847           ltmain.sh ltconfig config.sub config.guess:
1848
1849         Reverted back to libtool-1.2 (plus minor patches) so as not to
1850         force the issue for everyone else.
1851
1852 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
1853
1854         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
1855         Updated to libtool 1.2a.
1856
1857         * gtk/gtkclist.c: Draw the in-between lines with style->base
1858         instead of style->white.
1859         
1860 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
1861
1862         * gdk/gdkprivate.h gdk/gdkwindow.c gdk/gdkpixmap.c: 
1863         Cache the colormap and children of a window locally
1864         instead of fetching them from the server when needed.
1865         Huge performance difference for creating/destroying
1866         windows.
1867
1868         * gtk/gtkstyle.c: Find the depth from the cached
1869         visual, instead of asking the server.
1870
1871         * gtk.m4: Distribute the new version which tries to
1872         figure out what went wrong and give helpful error
1873         messages.
1874
1875         * ltmain.sh ltconfig config.sub config.sh: 
1876         Updated to libtool 1.2a
1877
1878         * gtk/gtktext.c: Fixed a bug where the drawn level
1879         was being messed up when the text was scrolled
1880         during a deletion.
1881         
1882 Thu Apr 30 02:42:11 PDT 1998 Manish Singh <yosh@gimp.org>
1883
1884         * gtk/gtkfilesel.c: don't die when naughty people remove parts of
1885         the filesystem under you (fix from Josh)
1886
1887 Thu Apr 30 09:49:14 1998  Tim Janik  <timj@gtk.org>
1888
1889         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): check
1890         if the viewport already exists before iterating over it, maybe we
1891         haven't been constructed yet.
1892
1893 Thu Apr 30 01:51:00 1998  Tim Janik  <timj@gtk.org>
1894
1895         * gtk/gtkbin.c (gtk_bin_add): made this function issue a warning if
1896         the GtkBin widget already has a child.
1897
1898         * gtk/gtkbox.c (gtk_box_pack_{start|end}):
1899         check that child->parent == NULL;
1900
1901 Tue Apr 28 22:13:54 1998  Owen Taylor  <otaylor@gtk.org>
1902
1903         * gtk/gtkselection.c (gtk_selection_clear): Only return
1904         FALSE when the clear event is been rejected, not when
1905         widget has already lost the selection. (Which should
1906         only happen when we are setting the selection to another
1907         widget ourself.)
1908         
1909 Fri Apr 24 19:07:32 1998  Owen Taylor  <otaylor@gtk.org>
1910
1911         * gtk/gtkfixed.c gtk/gtkpaned.c gtk/gtktable.c:
1912
1913         Removed the "check visibility after gtk_widget_unparent" bug 
1914         in hopefully the last three places.
1915
1916 Tue Apr 28 15:46:41 1998  Tim Janik  <timj@gtk.org>
1917
1918         * gtk/gtkrc.c (gtk_rc_parse_statement): allow the inclusion of other
1919         rc-files.
1920
1921 Mon Apr 27 15:11:52 1998  Tim Janik  <timj@gtk.org>
1922
1923         * gtk/gtkwidget.c (gtk_widget_grab_focus): only allow grabbing of focus
1924         for CAN_FOCUS widgets.
1925
1926         * gtk/testgtk.c (create_scrolled_windows): feature h/v focus
1927         adjustments for the table.
1928         (create_list): feature automatic adjustment of the scrolled window to
1929         always contain the focused child.
1930         (create_main_window): keep the focussed button always inside of the
1931         scrolled windoww.
1932
1933         * gtk/gtkcontainer.c (gtk_real_container_focus): set the h/v focus
1934         adjustments, to contain the allocation of the currently focused child.
1935         (gtk_container_set_focus_hadjustment): new functin to set the
1936         horizontal focus adjustment.
1937         (gtk_container_set_focus_vadjustment): new functin to set the vertical
1938         focus adjustment.
1939
1940         * gtk/gtkadjustment.c (gtk_adjustment_clamp_page): new fucntion to
1941         clamp the currents adjustment page into a specific range.
1942
1943         * random GtkType fixups for gtk_*_get_type() functions.
1944
1945 Fri Apr 24 18:37:16 1998  Owen Taylor  <otaylor@gtk.org>
1946
1947         * gtk/gtktreeitem.c (gtk_tree_item_remove_subtree): 
1948         Account for the fact that gtk_tree_item_remove_subtree
1949         will be called recursively. 
1950
1951         Handle removing a collapsed subtree.
1952
1953         (From Andy Dustman <adustman@comstar.net>)
1954         
1955         * gtk/gtktree.c (gtk_tree_remove_items): Look for the
1956         root tree when removing items from a non-previously
1957         mapped tree.
1958
1959         * gtk/testgtk.c: Added a remove_subtree button.
1960         
1961 Thu Apr 23 23:44:17 1998  Owen Taylor  <otaylor@gtk.org>
1962
1963         * gtk/gtkobject.c (gtk_object_finalize): Notify all weak references
1964         before object removing data. This change fixes a bug where 
1965         removing the last weak references would cause it to be 
1966         triggered.
1967
1968 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
1969
1970         * gdk/Makefile.am: Removed mostly useless dependency that
1971         was causing problems for SGI's make, when used with
1972         the 'make dist' form of GTK+. (Dependency caused dependencies
1973         to be redone when BUILT_SOURCES changed)
1974
1975 Thu Apr 30 11:18:00 1998  Owen Taylor  <otaylor@gtk.org>
1976
1977         * gtk/gtkcombo.[ch]: Allow the user to use the popup list
1978         like a menu.
1979         
1980         * gtk/gtkmenuitem.c gtk/gtkitem.c: Moved enter/leave handlers
1981         to gtkitem.c so dragging can also work in lists.
1982
1983         * gtk/gtklist.[ch]: Track child enter events and use
1984         those to allow dragging the selection. 
1985
1986 Thu Apr 30 11:16:06 1998  Owen Taylor  <otaylor@gtk.org>
1987
1988         * gtk/gtktext.c: Try enabling background pixmaps for editable text
1989         widgets.  There is a bit of flashing, but not too bad. If you
1990         don't want the flashing, you can always not set a background
1991         pixmap.
1992
1993 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
1994
1995         * gtk/gtktext.c: Fixed a bug where the drawn level
1996         was being messed up when the text was scrolled
1997         during a deletion.
1998         
1999 1998-04-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2000
2001         * gdk/gdk.c (gdk_event_translate): Random debugging fixed this
2002         bug:  There is no need to set the ExposureMask in the XGrabPointer
2003         (this caused DnD programs to crash).
2004
2005 Fri Apr 24 01:29:04 1998  Tim Janik  <timj@gtk.org>
2006
2007         * gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
2008         field to be of type guint.
2009         * gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
2010         ref_count>0;
2011         (gtk_accelerator_table_install): keep a per object list of accelerator
2012         tables that refer to this object.
2013         (gtk_accelerator_table_remove): remove the accelerator table from the
2014         per object list.
2015         (gtk_accelerator_table_clean): warn if there are any object references
2016         left in an accelerator table upon destruction.
2017         (gtk_accelerator_tables_delete): new function to delete object
2018         references from the accelerator tables associated with this object.
2019
2020         * gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
2021         GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
2022         of an accelerator can be prevented by gtk_signal_emit_stop().
2023         (gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
2024         so there are no stale pointers in accelerator tables left.
2025
2026 1998-04-22  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2027
2028         * gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
2029         visible before we unparent it.
2030
2031 Wed Apr 22 04:15:26 1998  Tim Janik  <timj@gtk.org>
2032
2033         * gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
2034         running_timeouts list with the tmp_list link itself, not with a new
2035         GList structure pointing to our link. that would fill up memory and
2036         causes the GList.data fields of the running_timeouts list to point to
2037         GList structures and not GtkTimeoutFunction structures which is a
2038         *really* bad thing.
2039         (gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
2040         the above entry ;).
2041
2042 Sat Apr 18 22:18:12 1998  Tim Janik  <timj@gtk.org>
2043
2044         * gtk/gtkradiomenuitem.h: 
2045         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
2046         ala gtk_radio_button_set_group.
2047         (gtk_radio_menu_item_init): assure that we always have at least a group
2048         that points to self.
2049
2050         * gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
2051         added g_return_if_fail() statements.
2052         (gtk_radio_button_init): assure that we always have at least a group
2053         that points to self.
2054
2055 Fri Apr 17 03:05:05 1998  Tim Janik  <timj@gtk.org>
2056
2057         * ChangeLog split up into ChangeLog.pre-1-0 and ChangeLog.
2058
2059 Wed Apr 15 05:13:09 1998  Tim Janik  <timj@gtk.org>
2060
2061         * gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
2062         (Damon Chaplin), which i got wrong when applying Damon's patch the last
2063         time.
2064
2065 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
2066
2067         * gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
2068         that when we are running with a non-installed colormap,
2069         in 8-bit pseudo-color, we actually are using the system
2070         visual. (Fixes *Bad Match* errors on Digital Unix machines
2071         with multiple 8-bit pseudo-color visuals)
2072
2073 1998-04-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2074
2075         * gdk/gdkwindow.c (gdk_window_xid_at): Fix the problem introduced
2076         by whoever thought that randomly changing ints to unsigned int
2077         without reviewing the code was a good idea.  It is, btw not
2078         mentioned in the ChangeLog as usual, but I know it was not Elliot
2079         the culprit this time. 
2080
2081 Mon Apr 13 19:16:22 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
2082
2083         * Released GTK+ 1.0.0