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