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