]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-10
Try to figure out if this is Digital Unix and we need -std1 to get the
[~andy/gtk] / ChangeLog.pre-2-10
1 Sat May  9 20:11:20 1998  Owen Taylor  <otaylor@gtk.org>
2
3         * configure.in (LIBS): Try to figure out if this
4         is Digital Unix and we need -std1 to get the
5         right prototypes.
6
7 Sat May  9 20:08:12 1998  Owen Taylor  <otaylor@gtk.org>
8
9         * glib/gmem.c: Experimentally restore GMemChunk
10         to its primeval state - where mem areas are
11         freed incrementally instead of searching the tree
12         every time a mem area is completely empty. Also,
13         always keep one mem chunk around. (Reduced calls
14         to malloc() a lot, but doesn't really improve 
15         performance significiantly)
16
17 Fri May  8 21:31:50 1998  Owen Taylor  <otaylor@gtk.org>
18
19         * gtk/gtkwidget.c (gtk_widget_queue_draw): Free the
20         draw-queue when we are done. 
21
22         (gtk_widget_queue_draw/_queu_resize): Always return
23         FALSE and avoid having two idles at the same time.
24         
25 Fri May  8 21:04:00 1998  Owen Taylor  <otaylor@gtk.org>
26
27         * gtk/gtktext.c: Various fixes to make sure cache
28         lines are freed if line_start_cache doesn't point to the
29         beginning of the cache.
30
31 Thu May  7 09:44:22 1998  Owen Taylor  <otaylor@gtk.org>
32
33         * style_set improvements for GtkText and GtkEntry
34
35 Tue May  5 19:49:27 1998  Owen Taylor  <otaylor@gtk.org>
36
37         * gdk/gdkpixmap.c: Patches from Gordon Matzigkeit
38         to speed things up and remove code duplication.
39
40         Reintegrated buffer overflow patches, and added
41         some extra paranoia.
42         
43 Tue May  5 17:04:14 1998  Owen Taylor  <otaylor@gtk.org>
44
45         * gdk/gdk.c (gdk_event_translate): A guint * was
46         being passed where X expected a Keysym *, and
47         keysyms are long's on Alpha Linux. This was causing
48         segfaults in Xlib, apparently because of alignment.
49         (Bug located by Juergen Haas <haas@forwiss.uni-passau.de>)
50         
51 Tue May  5 19:11:27 1998  Owen Taylor  <otaylor@gtk.org>
52
53         * gtk/gtkdrawingarea.c (gtk_drawing_area_realize): Always
54         set GDK_EXPOSURE_MASK for DrawingAreas
55
56 Tue May  5 14:32:37 1998  Owen Taylor  <otaylor@gtk.org>
57
58         * gtk/gtkwidget.[ch]: removed gtk_widge_propagate_default_style
59         (superceded by RC file reparsing capabilities)
60
61         * gtk/gtkwindow.c: Add handling for _GDK_READ_RFCILES client
62         events. (Shouldn't be sent to the InputOnly leader, which
63         it is now by gdk_event_send_clientmessage_toall
64
65         * gtk/testgtk.c: Added extra button to rcfiles test
66         to send out _GDK_READ_RCFILES events.
67         
68 Tue May  5 11:03:00 1998  Owen Taylor  <otaylor@gtk.org>
69
70         * gtk/gtkselection.c (gtk_selection_clear): Fixed
71         reversed conditionals that caused segfault on some
72         platforms.
73
74 Tue May  5 00:44:47 1998  Owen Taylor  <otaylor@gtk.org>
75
76         * gtk/gtkcontainer.c (gtk_container_set_focus_[hv]adjustment):
77         cast to GTK_OBJECT for gtk_object_ref.
78
79 Sat May  9 16:30:33 BST 1998 Tony Gale  <gale@gtk.org>
80
81         * docs/gtk_tut_it.sgml: update of Italian tutorial
82           translation from Daniele Canazza <dcanazz@tin.it>
83
84 Sat May  9 02:34:41 1998  Tim Janik  <timj@gtk.org>
85
86         * gtk/gtkfeatures.h.in: new file used as template for
87         * gtk/gtkfeatures.h: new file to define macros indicating newly
88         introduced features, such as GTK_HAVE_SIGNAL_INIT.
89
90         * gtk/gtksignal.c:
91         (gtk_signal_emitv_by_name):
92         (gtk_signal_emitv):
93         new functions to emit signals with an already provided parameter set.
94         (provided by Kenneth Albanowski <kjahds@kjahds.com>).
95         (gtk_signal_real_emit): prototype changes, so this functions always
96         gets its parameters and signal structure as arguments.
97         (gtk_signal_emit): provide the signal structure and parameter list for
98         gtk_signal_real_emit.
99         (gtk_signal_emit_by_name): likewise.
100
101 Sat May  9 00:03:12 1998  Tim Janik  <timj@gtk.org>
102
103         * gtk/gtksignal.c (gtk_signal_handler_unref): reflect the presence of
104         signal connections through unsetting GTK_CONNECTED.
105         (gtk_signal_handler_insert): reflect the presence of signal connections
106         through setting GTK_CONNECTED.
107         (gtk_signal_real_emit): only check for handler emissions if the object
108         has the GTK_CONNECTED flag set.
109         (gtk_signal_handler_pending): don't check for pending handlers if the
110         GTK_CONNECTED flag is not set for this object.
111
112         * gtk/gtkobject.h (enum): new flag GTK_CONNECTED to indicate whether
113         a GtkObject has signal handler connections.
114
115         * gtk/gtkobject.c (gtk_object_real_destroy): only if GTK_CONNECTED is
116         set for this object call gtk_signal_handlers_destroy().
117         
118         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): deprecated macro, since it caused
119         multiple processing of macro args.
120
121         * gtk/gtktypeutils.c:
122         * gtk/gtkobject.c:
123         * gtk/gtkwidget.c:
124         * gtk/gtksignal.c: reverted GTK_TYPE_IS_A back to gtk_type_is_a.
125
126 Thu May  7 19:03:50 1998  Tim Janik  <timj@gtk.org>
127
128         * gtk/gtktypeutils.c (gtk_type_unique): asure that the type system has
129         been initialized.
130
131 Thu May  7 12:52:45 1998  Tim Janik  <timj@gtk.org>
132
133         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): allocate object
134         data chunks through a global object data structure list. unlink
135         object data before invoking its destroy function.
136         (gtk_object_finalize): slight modification to allow usage of object
137         data during object finalization.
138
139 Thu May  7 10:29:24 1998  Tim Janik  <timj@gtk.org>
140
141         * gtk/gtksignal.c (gtk_signal_newv): suport middle dashes ('-') in
142         signal names, e.g. "signal-name" is now an alias for "signal_name".
143         (gtk_signal_handler_new): allocate handlers through a global handler
144         structure list, that's faster than memchunks.
145         (gtk_emission_new): allocate emissions through a global emission
146         structure list, that's faster than memchunks.
147
148 Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
149
150         * gtk-config.in (--libs): postfix -lg* libraries with LT_RELEASE.
151
152         * ltmain.sh: added a new commandline flag -postfix similar to -release,
153         but will immediately change the library name.
154
155         * gdk/Makefile.am:
156         * gtk/Makefile.am: specify -postfix and -version-info
157
158         * configure.in: version bump to 1.1.0. added GTK_INTERFACE_AGE and
159         GTK_BINARY_AGE. calculate LT_* variables for libtool.
160
161 1998-05-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
162
163         * gtk/gtkclist.c (draw_row): Fixed incorrect painting of row
164         background (fg_set -> bg_set confusion).
165
166 1998-05-06  Stefan Jeske  <stefan@gtk.org>
167
168         * gtk/testgtk.c (unselect_all): Removed code that caused an
169         endless loop.
170
171 Wed May  6 02:16:34 1998  Tim Janik  <timj@gtk.org>
172
173         * gtk/gtksignal.c: reimplemented the signal storage system to use a
174         linear array rather than a hash table.
175         be carefull *not* to keep any GtkSignal pointers across invokations
176         of gtk_signal_next_and_invalidate() and therefore gtk_signal_new[v]().
177         general code cleanups, made all allocations through memchunks.
178         (gtk_signal_lookup): we now do the lookup of signals through a key_id
179         for the signal names to avoid multiple hashing of the signal name on
180         lookups for the several hirarchy levels of an object.
181
182 Tue May  5 15:33:27 1998  Tim Janik  <timj@gtk.org>
183
184         * gtk/gtkmain.c (gtk_init): added gtk_signal_init() to avoid repeatedly
185         checking for signal initialization in gtksignal.c.
186
187         * gtk/gtktypeutils.c (TYPE_NODES_BLOCK_SIZE): reseted this to 200 after
188         a long debugging period ;)
189
190 1998-05-05  Stefan Jeske  <stefan@gtk.org>
191
192         * gdk/gdkgc.c gdk/gdk.h gtk/gtkctree.c (gdk_gc_set_dashes):
193         New function to wrap XSetDashes; modified gtkctree.c to use it.
194
195 1998-05-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
196
197         * configure.in: Added $x_libs in the other_libraries field in the
198         check for XShapeCombineMask.
199
200 Mon May  4 00:30:11 1998  Tim Janik  <timj@gtk.org>
201
202         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): new macro to speedup
203         gtk_type_is_a().
204         * gtk/gtktypeutils.c: reimplemented the type storage system to use a
205         linear array rather than a hash table. it actually speeded up testgtk
206         for a *considerable* amount. be carefull *not* to keep any GtkTypeNode
207         pointers across invokations of gtk_type_node_next_and_invalidate() and
208         therefore gtk_type_unique()!
209
210         * gtk/gtkobject.h (GTK_IS_OBJECT_CLASS): new macro to test for the
211         inheritance of a class pointer.
212         (GTK_OBJECT): modifications for speedups.
213         (GTK_IS_OBJECT): likewise.
214         (GTK_OBJECT_CLASS): likewise.
215         (suggested by owen).
216
217         * gtk/gtkcontainer.h (GTK_IS_CONTAINER_CLASS): new macro.
218
219         * gtk/gtkwidget.h (GTK_IS_WIDGET_CLASS): new macro.
220
221         * gtk/gtk.defs (GtkTooltips): define GtkTooltips as object not as boxed,
222         since its derivation changed 4 month ago ;(. showed up with the unique
223         type name checking code in gtk_type_unique().
224
225         * random guint->GtkType and macro fixups.
226
227 Sat May  2 23:14:34 1998  Owen Taylor  <otaylor@gtk.org>
228
229         * gtk/gtkcurve.c (gtk_curve_graph_events): Ignore
230         Configure events that would result in a negative
231         size.
232
233 Sun May  3 14:55:34 1998  Owen Taylor  <otaylor@gtk.org>
234
235         * docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
236         "glibconfig.h" and another about writing another IRC
237         client.
238
239 Sat May  2 00:14:05 1998  Owen Taylor  <otaylor@gtk.org>
240
241         * gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
242         parameters to log are doubles. Digital Unix apparently
243         is missing the argument in its prototype.
244
245 Sun May  3 19:04:46 1998  Owen Taylor  <otaylor@gtk.org>
246
247         * gtk/gtklabel.c (gtk_label_state_changed): Don't
248         force a clear until the widget is actually on
249         screen.
250
251 Sun May  3 21:32:35 1998  Owen Taylor  <otaylor@gtk.org>
252
253         * gdk/gdk.c (gdk_event_translate): Grab with OwnerEvents = False
254         to make this consistent with the gtk-1-0 tree.
255
256 Sun May  3 13:38:22 1998  Owen Taylor  <otaylor@gtk.org>
257
258         * configure.in acheader.h gdk/gdkwindow.c 
259         Check for Shape extension both on the client and server
260         side. (And, more importantly, check for the shape extension
261         so we may include -lXext even when compiling with --disable-xshm)
262
263         Don't set override_redirect on all shaped windows. It isn't
264         necessary.
265
266         * gdk/gdkwindow.c: Set ->colormap to NULL for root 
267         and foreign windows. Use this to check if we
268         need to get the colormap from X.
269
270 Fri May  1 22:32:47 1998  Owen Taylor  <otaylor@gtk.org>
271
272         * gtk/gtkbutton.c (gtk_button_paint): Draw the areas
273         between the default and the button always in GTK_STATE_NORMAL.
274
275         * gtk/gtkrange.c (gtk_range_style_set): Added a style_set
276         callback.
277
278 Fri May  1 16:40:57 1998  Owen Taylor  <otaylor@gtk.org>
279
280         * gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
281           Fix a buffer overflow on pixmaps that claim to have
282           more than 31 characters per pixel.
283
284           (gdk_pixmap_read_string): Don't wrap around strings longer
285           than half of address space ;-)
286
287         * gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
288         that were used for printing integers.
289
290         * */* (almost):
291
292         Style: All 
293           int foo () { ... }
294         changed to
295           int foo (void) { ... }
296
297         Even where there were proper prototypes elsewhere.
298
299         * gdk/gxid.c (handle_claim_device): Some extra checks.
300         It isn't safe against being fed bad X id's, but at
301         least it should be safe against deleting all your
302         files.
303
304 Sun May  3 19:45:09 1998  Tim Janik  <timj@gtk.org>
305
306         * gtk/gtkadjustment.c (gtk_adjustment_assimilate_value): new function
307         to set the adjustments value when there is no current emission.
308         [ Removed by mutual agreement owt 5/3/1998 ]
309
310         * gtk/gtksignal.c: added new functions to retrive the number of
311         existing emissions for a certain signal.
312         (gtk_signal_n_emissions): new function.
313         (gtk_signal_n_emissions_by_name): new function.
314
315 Sun May  3 16:55:43 1998  Tim Janik  <timj@gtk.org>
316
317         * gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
318         set the current focus_child of a container, does proper referencing and
319         adjusts the vadjustment/hadjustment associated with the focus widget.
320
321         * gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
322         containers via gtk_container_set_focus_child.
323
324         * gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
325         where appropriate.
326
327         * gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
328         child since not every child removal goes through this function (this
329         showed up after gtk_container_set_focus_child() started to reference the
330         focus_child of a container).
331
332         * gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
333         of a container from gtk_container_remove into this place.
334
335 Sat May  2 22:33:45 1998  Tim Janik  <timj@gtk.org>
336
337         * gtk/gtksignal.c: added new functions to operate on intermediate
338         function pointers. implemented incremental blocking.
339         (gtk_signal_disconnect_by_func): new function.
340         (gtk_signal_handler_block_by_func): new function.
341         (gtk_signal_handler_unblock_by_func): new function
342
343 Fri May  1 22:45:55 1998  Owen Taylor  <otaylor@gtk.org>
344
345         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
346         Always show the scrollbars when the policy is
347         GTK_POLICY_ALWAYS...
348
349 Sat May  2 20:19:03 1998  Tim Janik  <timj@gtk.org>
350
351         * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit
352         "value_changed" if we really passed a new value.
353         (gtk_adjustment_changed): new function to emit the "changed" signal.
354         (gtk_adjustment_set_value): new function to emit the "value_changed"
355         signal.
356
357 Fri May  1 12:28:35 1998  Owen Taylor  <otaylor@gtk.org>
358
359         * gtk/gtkcombo.c: Further changes to the way the window
360         is popped up so that it will be compatible with 
361         auto-scrolling in the future.
362
363 Fri May  1 20:25:29 1998  Tim Janik  <timj@gtk.org>
364
365         * gtk/gtkcombo.c (gtk_combo_popup_list): do not just return if
366         the combo-list is empty since that will cause the combo to operate
367         on a non existing GtkList window.
368         (gtk_combo_get_pos): provide the combo list with a usfull default
369         height if empty.
370         (gtk_combo_popup_button_press): grab the focus.
371         (gtk_combo_activate): grab the focus.
372
373 Fri May  1 12:06:43 1998  Owen Taylor  <otaylor@gtk.org>
374
375         * gtk/gtkwindow.[ch] (gtk_widget_reset_rc_styles): New
376         function to reset the RC styles for a heirarchy
377
378         Clear the window background if necessary in
379         gtk_window_style_set.
380
381         * gtk/gtkrc.[ch]: New function gtk_rc_reparse_all() which
382         rereads all previously read RC files.
383
384         * gdk/gdkwindow.c gdk/gdk.h: New function gdk_window_get_toplevels().
385         (Should it just be called gdk_get_toplevels?)
386
387         * gtk/testgtk.c: New test to reload RC files.
388
389 Fri May  1 13:57:36 1998  Tim Janik  <timj@gtk.org>
390
391         * gtk/gtkclist.h:
392         * gtk/gtkclist.c: prefixed all clist flags with GTK_ to avoid name
393         clashes. redefined GTK_CLIST_SET_FLAGS and GTK_CLIST_UNSET_FLAGS as
394         GTK_CLIST_SET_FLAG and GTK_CLIST_UNSET_FLAG to automatically add
395         the GTK_ prefix (this solution involved less changes in the
396         gtkclist.c code). added a GTK_CLIST_CONSTRUCTED flag to substitute
397         the mem_chunk==NULL test in gtk_clist_construct. merged in changes
398         from lars & stefan to support the derivation of GtkCtree.
399
400         * gtkctree.h:
401         * gtkctree.c:
402         initial import of a tree widget derived from gtkclist, courtesy
403         of Lars Hamann <lars@gtk.org> and Stefan Jeske <jeske@gtk.org>,
404         it just damn rocks!
405
406 Fri May  1 10:05:44 1998  Tim Janik  <timj@gtk.org>
407
408         * gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
409         for us.
410         (gtk_list_insert_items):
411         (gtk_list_remove_items_internal): 
412         (gtk_list_clear_items): 
413         remove a possible pointer grab, we might get thrown into a loop
414         otherwise.
415         (gtk_list_button_press): grab the pointer *before* selecting the child,
416         because selection of items may cause the lists children to change,
417         resulting in a grab release.
418         (gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
419         children.
420         (gtk_list_shutdown): remove all children from the list.
421         (gtk_real_list_unselect_child): 
422         (gtk_real_list_select_child): *always* put our internal structures into
423         sane state *before* signal emisions (i.e. list->selection updates prior
424         to gtk_list_item_[de]select() calls).
425
426         * gtk/gtkcombo.c (gtk_combo_init): adjust the scrollbar if the lists
427         focused child walks out of the window.
428         removed CAN_FOCUS for the combo arrow's button since it doesn't react
429         to keyboard events ("clicked" connection is missing).
430
431 Fri May  1 00:42:25 1998  Owen Taylor  <otaylor@gtk.org>
432
433         * gdk/gdkwindow.c (gdk_window_get_colormap): Fix up
434         getting colormap for FOREIGN windows to go along with
435         Raster's fix for visuals.
436
437 Merges from gtk-1-0
438 ===================
439         
440 Thu Apr 30 23:32:51 1998  Owen Taylor  <otaylor@gtk.org>
441
442         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
443         Check to catch the case when the viewport fits in either
444         direction or both, instead of flip-flopping infinitely.
445
446         Only show/hide the scrollbars once at the end.
447
448 Thu Apr 30 21:56:07 1998  Owen Taylor  <otaylor@gtk.org>
449
450         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): 
451         Include the scrollbars in the foreach call.
452         (gtk-fortier-980405-0.patch; 
453          Patrice Fortier <Patrice.Fortier@aquarel.fr>). 
454
455         The notebook widget
456         really should also include its tabs, but that might cause
457         problems for programs if they
458
459 Thu Apr 30 21:51:52 1998  Owen Taylor  <otaylor@gtk.org>
460
461         * gtk/gtkpixmap.c (gtk_pixmap_set): Only request a
462         resize if the size actually changed. 
463         (gtk-johannes-980414-0.patch ;  
464          johannes@nada.kth.se (Johannes Keukelaar) )
465
466 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
467
468         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
469           ltmain.sh ltconfig config.sub config.guess:
470
471         Reverted back to libtool-1.2 (plus minor patches) so as not to
472         force the issue for everyone else.
473
474 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
475
476         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
477         Updated to libtool 1.2a.
478
479         * gtk/gtkclist.c: Draw the in-between lines with style->base
480         instead of style->white.
481         
482 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
483
484         * gdk/gdkprivate.h gdk/gdkwindow.c gdk/gdkpixmap.c: 
485         Cache the colormap and children of a window locally
486         instead of fetching them from the server when needed.
487         Huge performance difference for creating/destroying
488         windows.
489
490         * gtk/gtkstyle.c: Find the depth from the cached
491         visual, instead of asking the server.
492
493         * gtk.m4: Distribute the new version which tries to
494         figure out what went wrong and give helpful error
495         messages.
496
497         * ltmain.sh ltconfig config.sub config.sh: 
498         Updated to libtool 1.2a
499
500         * gtk/gtktext.c: Fixed a bug where the drawn level
501         was being messed up when the text was scrolled
502         during a deletion.
503         
504 Thu Apr 30 02:42:11 PDT 1998 Manish Singh <yosh@gimp.org>
505
506         * gtk/gtkfilesel.c: don't die when naughty people remove parts of
507         the filesystem under you (fix from Josh)
508
509 Thu Apr 30 09:49:14 1998  Tim Janik  <timj@gtk.org>
510
511         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): check
512         if the viewport already exists before iterating over it, maybe we
513         haven't been constructed yet.
514
515 Thu Apr 30 01:51:00 1998  Tim Janik  <timj@gtk.org>
516
517         * gtk/gtkbin.c (gtk_bin_add): made this function issue a warning if
518         the GtkBin widget already has a child.
519
520         * gtk/gtkbox.c (gtk_box_pack_{start|end}):
521         check that child->parent == NULL;
522
523 Tue Apr 28 22:13:54 1998  Owen Taylor  <otaylor@gtk.org>
524
525         * gtk/gtkselection.c (gtk_selection_clear): Only return
526         FALSE when the clear event is been rejected, not when
527         widget has already lost the selection. (Which should
528         only happen when we are setting the selection to another
529         widget ourself.)
530         
531 Fri Apr 24 19:07:32 1998  Owen Taylor  <otaylor@gtk.org>
532
533         * gtk/gtkfixed.c gtk/gtkpaned.c gtk/gtktable.c:
534
535         Removed the "check visibility after gtk_widget_unparent" bug 
536         in hopefully the last three places.
537
538 Tue Apr 28 15:46:41 1998  Tim Janik  <timj@gtk.org>
539
540         * gtk/gtkrc.c (gtk_rc_parse_statement): allow the inclusion of other
541         rc-files.
542
543 Mon Apr 27 15:11:52 1998  Tim Janik  <timj@gtk.org>
544
545         * gtk/gtkwidget.c (gtk_widget_grab_focus): only allow grabbing of focus
546         for CAN_FOCUS widgets.
547
548         * gtk/testgtk.c (create_scrolled_windows): feature h/v focus
549         adjustments for the table.
550         (create_list): feature automatic adjustment of the scrolled window to
551         always contain the focused child.
552         (create_main_window): keep the focussed button always inside of the
553         scrolled windoww.
554
555         * gtk/gtkcontainer.c (gtk_real_container_focus): set the h/v focus
556         adjustments, to contain the allocation of the currently focused child.
557         (gtk_container_set_focus_hadjustment): new functin to set the
558         horizontal focus adjustment.
559         (gtk_container_set_focus_vadjustment): new functin to set the vertical
560         focus adjustment.
561
562         * gtk/gtkadjustment.c (gtk_adjustment_clamp_page): new fucntion to
563         clamp the currents adjustment page into a specific range.
564
565         * random GtkType fixups for gtk_*_get_type() functions.
566
567 Fri Apr 24 18:37:16 1998  Owen Taylor  <otaylor@gtk.org>
568
569         * gtk/gtktreeitem.c (gtk_tree_item_remove_subtree): 
570         Account for the fact that gtk_tree_item_remove_subtree
571         will be called recursively. 
572
573         Handle removing a collapsed subtree.
574
575         (From Andy Dustman <adustman@comstar.net>)
576         
577         * gtk/gtktree.c (gtk_tree_remove_items): Look for the
578         root tree when removing items from a non-previously
579         mapped tree.
580
581         * gtk/testgtk.c: Added a remove_subtree button.
582         
583 Thu Apr 23 23:44:17 1998  Owen Taylor  <otaylor@gtk.org>
584
585         * gtk/gtkobject.c (gtk_object_finalize): Notify all weak references
586         before object removing data. This change fixes a bug where 
587         removing the last weak references would cause it to be 
588         triggered.
589
590 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
591
592         * gdk/Makefile.am: Removed mostly useless dependency that
593         was causing problems for SGI's make, when used with
594         the 'make dist' form of GTK+. (Dependency caused dependencies
595         to be redone when BUILT_SOURCES changed)
596
597 ==========
598
599 Thu Apr 30 11:18:00 1998  Owen Taylor  <otaylor@gtk.org>
600
601         * gtk/gtkcombo.[ch]: Allow the user to use the popup list
602         like a menu.
603         
604         * gtk/gtkmenuitem.c gtk/gtkitem.c: Moved enter/leave handlers
605         to gtkitem.c so dragging can also work in lists.
606
607         * gtk/gtklist.[ch]: Track child enter events and use
608         those to allow dragging the selection. 
609
610 Thu Apr 30 11:16:06 1998  Owen Taylor  <otaylor@gtk.org>
611
612         * gtk/gtktext.c: Try enabling background pixmaps for editable text
613         widgets.  There is a bit of flashing, but not too bad. If you
614         don't want the flashing, you can always not set a background
615         pixmap.
616
617 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
618
619         * gtk/gtktext.c: Fixed a bug where the drawn level
620         was being messed up when the text was scrolled
621         during a deletion.
622         
623 1998-04-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
624
625         * gdk/gdk.c (gdk_event_translate): Random debugging fixed this
626         bug:  There is no need to set the ExposureMask in the XGrabPointer
627         (this caused DnD programs to crash).
628
629 Fri Apr 24 01:29:04 1998  Tim Janik  <timj@gtk.org>
630
631         * gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
632         field to be of type guint.
633         * gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
634         ref_count>0;
635         (gtk_accelerator_table_install): keep a per object list of accelerator
636         tables that refer to this object.
637         (gtk_accelerator_table_remove): remove the accelerator table from the
638         per object list.
639         (gtk_accelerator_table_clean): warn if there are any object references
640         left in an accelerator table upon destruction.
641         (gtk_accelerator_tables_delete): new function to delete object
642         references from the accelerator tables associated with this object.
643
644         * gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
645         GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
646         of an accelerator can be prevented by gtk_signal_emit_stop().
647         (gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
648         so there are no stale pointers in accelerator tables left.
649
650 1998-04-22  Federico Mena Quintero  <federico@nuclecu.unam.mx>
651
652         * gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
653         visible before we unparent it.
654
655 Wed Apr 22 04:15:26 1998  Tim Janik  <timj@gtk.org>
656
657         * gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
658         running_timeouts list with the tmp_list link itself, not with a new
659         GList structure pointing to our link. that would fill up memory and
660         causes the GList.data fields of the running_timeouts list to point to
661         GList structures and not GtkTimeoutFunction structures which is a
662         *really* bad thing.
663         (gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
664         the above entry ;).
665
666 Sat Apr 18 22:18:12 1998  Tim Janik  <timj@gtk.org>
667
668         * gtk/gtkradiomenuitem.h: 
669         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
670         ala gtk_radio_button_set_group.
671         (gtk_radio_menu_item_init): assure that we always have at least a group
672         that points to self.
673
674         * gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
675         added g_return_if_fail() statements.
676         (gtk_radio_button_init): assure that we always have at least a group
677         that points to self.
678
679 Fri Apr 17 03:05:05 1998  Tim Janik  <timj@gtk.org>
680
681         * ChangeLog split up into ChangeLog.pre-1-0 and ChangeLog.
682
683 Wed Apr 15 05:13:09 1998  Tim Janik  <timj@gtk.org>
684
685         * gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
686         (Damon Chaplin), which i got wrong when applying Damon's patch the last
687         time.
688
689 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
690
691         * gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
692         that when we are running with a non-installed colormap,
693         in 8-bit pseudo-color, we actually are using the system
694         visual. (Fixes *Bad Match* errors on Digital Unix machines
695         with multiple 8-bit pseudo-color visuals)
696
697 1998-04-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
698
699         * gdk/gdkwindow.c (gdk_window_xid_at): Fix the problem introduced
700         by whoever thought that randomly changing ints to unsigned int
701         without reviewing the code was a good idea.  It is, btw not
702         mentioned in the ChangeLog as usual, but I know it was not Elliot
703         the culprit this time. 
704
705 Mon Apr 13 19:16:22 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
706
707         * Released GTK+ 1.0.0