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