]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-2
Add in a "style_set" handler so that the background of the clist changes
[~andy/gtk] / ChangeLog.pre-2-2
1 Fri Dec 11 05:49:30 1998  Owen Taylor  <otaylor@redhat.com>
2
3         * gtk/gtkclist.c (gtk_clist_style_set): Add in a "style_set"
4         handler so that the background of the clist changes
5         with the theme.
6
7 Thu Dec 10 22:02:49 CST 1998 Shawn T. Amundson <amundson@gtk.org>
8
9         * Released GTK+ 1.1.7
10
11         * INSTALL:
12           NEWS:
13           README:
14           configure.in:
15           gtk+.spec:
16           gtk/gtkfeatures.h.in: 
17           docs/gtk-config.1: Version to 1.1.7
18
19 Thu Dec 10 20:48:19 PST 1998 Manish Singh <yosh@gimp.org>
20
21         * gtk/gtkclist.c: avoid void pointer math
22
23         * gtk/gtkhscale.c
24         * gtk/gtkhscrollbar.c
25         * gtk/gtkvscale.c
26         * gtk/gtkvscrollbar.c: removed trailing , from enums
27
28         * gtk/gtksignal.c: can't use enums as a bitfield type, use guint
29
30         * gtk/testgtk.c: removed C++ comment added by owenpoo
31
32 Thu Dec 10 21:48:34 1998  Owen Taylor  <otaylor@redhat.com>
33
34         * gtk/gtkdnd.[ch]: Added gtk_drag_source_unset()
35
36 Thu Dec 10 20:42:22 1998  Owen Taylor  <otaylor@redhat.com>
37
38         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Use 
39         gdk_window_get_origin() instead of gdk_window_get_position,
40         because get_position is unreliable for plugs. 
41
42         This is a bad hack, maybe we need GDK_WINDOW_PLUG?
43
44 Thu Dec 10 17:58:49 GMT 1998  Tony Gale  <gale@gtk.org>
45
46         * docs/gtk_tut.sgml:
47           - re-write the GtkProgressBar section to the 1.1 API.
48           - add an Appendix listing all the signals
49             (apologies to TimJ for taking so long in using his hard work
50              in automating the extraction - thanx Tim). 
51         * examples/*: bring them all upto the tutorial versions
52
53 Thu Dec 10 02:21:16 1998  Jeff Garzik  <jgarzik@pobox.com>
54
55         * gtk/testdnd.c: use g_snprintf, eliminate need for string.h
56         * gtk/testrgb.c: include string.h, for strlen
57
58 Wed Dec  9 17:39:26 1998  Owen Taylor  <otaylor@redhat.com>
59
60         * configure.in: Add a case for success in 
61         test for XUnregisterIMInstantiate, to prevent
62         screwing up $LIBS.
63
64 Wed Dec  9 13:06:31 1998  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
65  
66         * gdk/gdkim.c (gdk_ic_new,gdk_ic_{set,get}_attr): Fixed argument
67         list and return type for non-XIM fallback.
68  
69         * configure.in: Only build XIM-support if available.
70  
71 Wed Dec  9 12:23:30 1998  Owen Taylor  <otaylor@redhat.com>
72         
73         * gtk/testselection.c (main): Add in missing 'flags'
74         field to target list.
75
76         * gdk/gdkproperty.c (gdk_atom_intern): Actually
77         add the atoms to the local cache.
78
79 Wed Dec  9 04:57:31 PST 1998 Manish Singh <yosh@gimp.org>
80
81         * gdk/gdkprivate.h: put text after #endif in comment
82
83         * gdk/gdktypes.h: change whitespace in enum to shut up makeenums.pl
84
85         * gtk/testdnd.c: #include <string.h>
86
87 Mon Dec  7 10:27:09 1998  Owen Taylor  <otaylor@redhat.com>
88
89         * gtk/gtkwidget.c: Destroy widgets _after_ propagating unrealize
90         signals through the widget heirarchy. This is unpleasant, as it
91         causes more X traffic, but is necessary, because we have to clean
92         up our Input Contexts before destroying the X windows.
93         (from matsu-981109-0.patch)
94         
95 Mon Dec  7 10:18:18 1998  Owen Taylor  <otaylor@redhat.com>
96
97         Applied gtk-a-higuti-981202-0 : 
98         [ a-higuti@math.sci.hokudai.ac.jp (Akira Higuchi) ]
99         
100         * gdk/gdk.h gdk/gdk.c
101                 (gdk_mbstowcs): New function. Nearly equals to mbstowcs, but
102                         implemented by a combination of Xlib functions, so
103                         it works even with X_LOCALE.
104                 (gdk_wcstombs): New function.
105                 (g_mbtowc): Removed. No longer needed.
106
107         * gdk/gdk.h gdk/gdkfont.c gdk/gdkdraw.c: 
108                 Added _wc() variants to gdk_text_width(), 
109                 gdk_char_width(), gdk_draw_text(),
110                 
111         * gdk/gdki18n.h
112                 (mblen, mbtowc, wctomb, mbstowcs, wcstombs,
113                  wcslen, wcscpy, wcsncpy):
114                         Removed. No longer needed.
115                 (iswalnum): Removed.
116                 (gdk_iswalnum): New macro.
117                 (gdk_iswspace): New macro.
118         * gdk/gdktype.h
119                 (GdkWChar): New typedef.
120         
121         * gtk/gtkentry.h, gtk/gtkentry.c
122                 There are many changes according to the change of the
123                 internal representation of text, from multibyte string
124                 to wide characters. 
125         * gtk/gtkprivate.h, gtk/gtkmain.c
126                 Removed the variable gtk_use_mb and related codes.
127         * gtk/gtkspinbutton.c
128                 Some changes according to the change of type of entry->text.
129         * gtk/gtktext.h, gtk/gtktext.c
130                 Changed the internal representation of text. We use GdkWchar
131                 if a fontset is supplied. If not, we use guchar to save
132                 memory.
133         
134 Tue Dec  1 15:20:39 1998  Owen Taylor  <otaylor@redhat.com>
135
136         * gdk/gdkwindow.c (gdk_window_new): When creating
137         a window with a specified non-system visual, use
138         a matching colormap.
139
140 Mon Nov 30 11:50:13 1998  Owen Taylor  <otaylor@redhat.com>
141
142         * gdk/gdk.c gdk/gdkim.c gdk/gdkprivate.h gdk/gdk.h
143           gdk/gdktypes.h gtk/gtkeditable.c gtk/gtkmain.c
144           gtk/gtkentry.c gtk/gtktext.c:
145
146          Applied matsu-981109-0
147          [ matsu@arch.comp.kyutech.ac.jp (Takashi Matsuda) ]
148         
149          - Change system of setting input method values 
150            from varargs to a structure, similar to GC's
151            or window attributes.
152
153          - Various fixes to event handling.
154
155          Also:
156
157          * gdk/gdkim.c: Split of input method stuff into
158            a separate source file.
159
160          * Remove GdkIM typedef, change everything from
161            GdkIC to GdkIC * to be consistent with the
162            rest of GTK.
163         
164 Wed Dec  9 00:41:41 1998  Owen Taylor  <otaylor@redhat.com>
165
166         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Allocate
167         correct amount of memory for strings.
168
169 Tue Dec  8 18:29:05 CST 1998 Shawn T. Amundson <amundson@gtk.org>
170
171         * Released GTK+ 1.1.6
172
173         * NEWS: updated
174
175         * gtk/Makefile.am:
176           gtk/testgtk.c:
177           gtk/gtkrc.h:
178           gtk/gtkrc.c: Read in default files.
179
180 Wed Dec  9 00:49:12 1998  Tim Janik  <timj@gtk.org>
181
182         * gtk/gtktypeutils.h:
183         * gtk/gtktypeutils.c: added gtk_type_query() which returns a newly
184         allocated structure holding certain type specific informations.
185         fixed the big bunch of `discards const' warnings with the
186         initialization of enum/flags values.
187
188 Tue Dec  8 15:10:17 1998  Owen Taylor  <otaylor@redhat.com>
189
190         * gtk/gtkwindow.c (gtk_window_transient_parent_realized):
191         Fixed order of arguments to gdk_window_transient_for().
192
193 Tue Dec  8 18:02:57 GMT 1998  Tony Gale  <gale@gtk.org>
194
195         * examples/Makefile: simple top level Makefile that invokes all
196           the sub-directory Makefiles.
197
198 1998-12-08  Andrew T. Veliath  <andrewtv@usa.net>
199
200         * gtk/testgtk.c: Functions to test the toolbar space style.
201
202         * gtk/gtktoolbar.c: Add a private GtkToolbarChildSpace subclass of
203         GtkToolbarChild to hold allocation. Set default space style to
204         GTK_TOOLBAR_SPACE_EMPTY, define SPACE_LINE_* for separator
205         fraction defaults.
206         (gtk_toolbar_paint_space_line): New function; paints the separator
207         line, using "toolbar" as the detail.
208         (gtk_toolbar_expose): (gtk_toolbar_draw): Handle CHILD_SPACE when
209         style is set to SPACE_LINE.
210         (gtk_toolbar_size_allocate): Store space allocations.
211         (gtk_toolbar_insert_element): If we are a space, allocate and
212         initialize a GtkToolbarChildSpace instead of a GtkToolbarChild.
213         (gtk_toolbar_set_space_style): New function.
214
215         * gtk/gtktoolbar.h: Add GtkToolbarSpaceStyle, with styles of EMPTY
216         and LINE. Add prototype for gtk_toolbar_set_space_style.
217
218 Mon Dec  7 16:03:55 1998  Owen Taylor  <otaylor@redhat.com>
219
220         * gtk/gtkthemes.h: Remove random unnecessary includes
221         of standard headers.
222
223 1998-12-07  Damon Chaplin  <DAChaplin@msn.com>
224
225         * gtk/gtkfontsel.c (gtk_font_selection_select_best_style): made sure
226         we only try to match styles which are currently shown.
227
228         (gtk_font_selection_init): set the notebook tabs homogeneous and set
229         the border, so we don't need to set the size explicitly (bad for i18n).
230         Used the clist auto-resize feature for the font and style lists on the
231         main page and all the filters. Used padding for the 'Reset Filter'
232         button instead of spaces around it (bad for i18n).
233
234         (gtk_font_selection_find_font): when searching for
235         a font, if we can't match both the family and foundry, we return any
236         font where just the family matches. (The foundry can even be '*'.)
237
238         (gtk_font_selection_show_available_styles): 
239         (gtk_font_selection_realize_list): don't set the style clist row
240         colours (for the charset rows) until the clist is realized, since we
241         use the clist style's insensitive colours.
242
243 Mon Dec  7 13:38:06 1998  Owen Taylor  <otaylor@redhat.com>
244
245         * gdk/gdkimage.c (gdk_image_new): Use IPC_RMID
246         _after_ doing XShmAttach. This should work everywhere,
247         and avoid the need for signal handlers or configure
248         checks.
249
250 Thu Dec  3 19:58:45 1998  Owen Taylor  <otaylor@redhat.com>
251
252         * gtk/gtkinputdialog.c: Use _add_with_viewport() for
253         scrolled window contents.
254
255 1998-12-07  Federico Mena Quintero  <federico@nuclecu.unam.mx>
256
257         * gtk/gtkpaned.h (struct _GtkPaned): Removed the unused cursor
258         field in the structure.
259
260 Mon Dec  7 15:15:06 GMT 1998  Tony Gale <gale@gtk.org>
261
262         * docs/gtk_tut.sgml: Start mass update for GTK 1.1
263         * examples/extract.sh: Look for the best version of awk
264         * examples/extract.awk: Fix FD leak
265         * example/base: minimal example from Tutorial
266
267 Mon Dec  7 01:29:27 1998  Owen Taylor  <otaylor@gtk.org>
268
269         * gtk/gtkwindow.c: New functions
270         gtk_window_set_transient_for() - set up a "transient for" relationship.
271         gtk_window_set_default_size() - set the initial size of a window
272            distinct from its minimum size.
273         gtk_window_set_geometry_hints() - Allow the user to set
274            minimum, maximum sizes, aspect rations, and gridded geometry, 
275            possibly all with respect to a subwidget of the window.
276         These interfaces are still a wee bit experimental.
277
278         * gdk/gdk.c: Added gdk_window_set_transient_for(),
279         gdk_window_set_geometry_hints(), and gdk_window_set_role().
280
281         * gdk/gdktypes.h: Added new types for find-grained specification
282         of WM hints.
283
284         * gtk/testgtk.c: Various changes to tests to test the
285         above new functions.
286
287         * gtk/gtkfontsel.c: Squash a few 'const' warnings.
288         
289         * gtk/gtktogglebutton.c (gtk_toggle_button_realize): Restored
290         call to gtk_style_set_background() to prevent egregious
291         flashing to black.
292
293 Mon Dec  7 03:52:01 1998  Tim Janik  <timj@gtk.org>
294
295         * gtk/gtksignal.c (gtk_handlers_run): when marshalling connect_object
296         signals, don't pass the data pointer twice, but swap it with the
297         object pointer (proposed on Nov 30 1998 on gtk-devel-list).
298
299 Mon Dec  7 03:08:39 1998  Tim Janik  <timj@gtk.org>
300
301         * gtk/gtktypeutils.h: 
302         * gtk/gtktypeutils.c: reverted Marius's change to expose the type systems
303         internal type info data to the user. if such functionality is required
304         we should provide wrapping accessors, ala gtk_signal_query(). also the
305         GtkTypeInfo structures are dynamically allocated memory portions, so
306         only the type system is really allowed to access that stuff.
307
308         * gtk/gtksignal.c (gtk_signal_connect_by_type): reverted marius change,
309         since it destroys the possibility to implement automatic marshaller
310         lookups some day, and it also disables third party code's ability to
311         connect to any signal.
312
313 Mon Dec  7 01:32:18 1998  Tim Janik  <timj@gtk.org>
314
315         * gtk/gtkfilesel.c (gtk_file_selection_key_press): always intercept the
316         Tab key on the entry. the focus shouldn't get lost even if completion
317         is attempted from an empty entry, since an empty entry string does
318         indeed have a valid completion meaning (complete all).
319         (gtk_file_selection_init): cast the gchar array parameter in calls to
320         gtk_clist_new_with_titles() to quit compiler warnings.
321         (check_dir): the no_stat_dirs struct must not be const, since we do
322         indeed modify its contents.
323
324         * gtk/testgtk.c (event_watcher): adapted prototype to fit new emission
325         hook semantics.
326
327         * gtk/gtksignal.h:
328         * gtk/gtksignal.c:
329         changed emission allocation, so we don't use a doubly linked list
330         but link ourselfs (singly linked).
331         changed emission hooks, they get the emision parameters passed as
332         well now and are emitted during the actuall signal emission (after
333         the RUN_FIRST class method, but prior to RUN_FIRST handlers).
334         the existing restrictions do still apply to signal emission hooks,
335         i.e. an emission may not be stopped or restarted from an emission hook.
336         due to possibly huge perfomance impacts, frequent use of emision hooks
337         is also not recommended.
338         (gtk_signal_next_and_invalidate): added an
339         assertments which explicits what the code assumes anyways: a
340         maximum amount of 65535 signals.
341
342         * gtk/gtkcontainer.h: deprecated gtk_container_foreach_interp(),
343         gtk_container_foreach_full() should be used instead.
344
345         * gtk/gtkmain.h:
346         deprecated gtk_timeout_add_interp and gtk_idle_add_interp, since
347         we provide _full variants.
348
349         * gtk/gtksignal.h: deprecated gtk_signal_connect_interp(), we provide
350         gtk_signal_connect_full() for long enough now.
351
352 1998-12-06  Marius Vollmer  <mvo@zagadka.ping.de>
353
354         * gtk/gtksignal.c (gtk_signal_newv): Allow a NULL marshaller.
355         (gtk_signal_connect_by_type): Allow only no_marshal handlers to
356         connect to signals with a NULL marshaller.
357
358         * gtk/gtktypeutils.c (gtk_type_get_info): New.
359         gtk/gtktypeutils.h (gtk_type_get_info): New prototype.
360
361 Sun Dec  6 14:27:35 1998  Stefan Jeske  <stefan@gtk.org>
362
363         * gtk/gtkspinbutton.c (gtk_spin_button_draw_arrow): Grey out
364         arrows if wrap == FALSE and interval borders are reached.
365
366 Sat Dec  5 21:07:09 1998  Owen Taylor  <otaylor@gtk.org>
367
368         * gtk/gtkaspectframe.c (gtk_aspect_frame_size_allocate): Fixed
369         long-standing typo in aspect ratio computation code.
370         (pointed out by Sebastian Rittau <srittau@jroger.in-berlin.de>)
371
372 Fri Dec  4 01:20:06 1998  Lars Hamann  <lars@gtk.org>
373
374         * gtk/gtkclist.c (gtk_clist_button_release): call toggle_row with
375         valid row numbers only
376         (toggle_row): check if clist_row != NULL
377
378 Fri Dec  4 00:50:12 1998  Lars Hamann  <lars@gtk.org>
379
380         * gtk/gtkctree.c (gtk_ctree_export_to_gnode): fixed for-loop.
381
382         * gtk/gtkclist.c 
383         (gtk_clist_set_column_visibility)
384         (gtk_clist_column_titles_active)
385         (gtk_clist_column_titles_active)
386         (gtk_clist_column_title_passive)
387         (gtk_clist_column_title_active): few additional tests whether
388         column->button != NULL
389
390 Thu Dec  3 16:49:18 1998  Owen Taylor  <otaylor@redhat.com>
391
392         * gtk/gtkdnd.c (DROP_ABORT_TIME): Changed to 5 min
393         from 10 seconds, so it doesn't abort while users
394         have an ACTION_ASK menu up.
395
396         * gtk/gtkdnd.c: Hide the icon window between sending a a 
397         drop event to the destination and displaying the
398         snapback animation, so that it doesn't hang around
399         during ACTION_ASK.
400
401 Thu Dec  3 16:37:42 1998  Owen Taylor  <otaylor@redhat.com>
402
403         * gtk/gtkclist.c (get_cell_style): Use GTK_STATE_INSENSITIVE
404         for the foreground of cells for CLists in the insensitive
405         state, instead of GTK_STATE_PRELIGHT.
406
407 Thu Dec  3 06:20:59 1998  Tim Janik  <timj@gtk.org>
408
409         * gtk/gtkwindow.c: moved checks upon focus setting from
410         gtk_window_real_set_focus to gtk_window_set_focus, so we don't
411         emit the signal if unneccessary.
412
413         * gtk/gtkwidget.c (gtk_widget_grab_focus): clear up the old focus
414         containers when grabbing focus on a new widget. this is based on
415         a patch from Alexis Mikhailov, submitted to gtk-list on 4 Nov 1998.
416
417         * gtk/gtkclist.c (gtk_clist_focus_out): set CLIST_CHILD_HAS_FOCUS
418         flag, so we take the buttons into consideration upon the next focus
419         request.
420
421         * gtk/gtkcontainer.c (gtk_container_set_focus_child): fixed an
422         assertment.
423
424 Wed Dec  2 17:45:21 CST 1998 Shawn T. Amundson <amundson@gtk.org>
425
426         * gtk/gtkpixmap.c: Fixes for low-color displays and a slight
427           enhancement for true-color displays.
428
429         * INSTALL:
430           README:
431           configure.in:
432           gtk+.spec:
433           docs/gtk-config.1: up to version 1.1.6
434
435 Wed Dec  2 01:36:49 PST 1998 Manish Singh <yosh@gimp.org>
436
437         * gtk/gtkfeatures.h.in: lets #define GTK_HAVE_FEATURES_1_1_6 before
438         we release it this time
439
440 Wed Dec  2 01:39:02 1998  Tim Janik  <timj@gtk.org>
441
442         * gtk/gtknotebook.h: 
443         * gtk/gtknotebook.c: s/gtk_notebook_nth_page/gtk_notebook_get_nth_page/.
444
445         * incremented version number to 1.1.6 and made Gtk
446         dependant on GLib 1.1.6.
447
448         * gtk/gtkwidget.h (struct _GtkRequisition): changed width and height
449         from guint16 to gint16, since sizes bigger than 32767 are not supported
450         anyways, and aritmethics with intermediate negative values are possible
451         now.
452
453 Tue Dec  1 00:00:04 1998  Tim Janik  <timj@gtk.org>
454
455         * gtk/gtkscrolledwindow.c:
456         implementation of GTK_POLICY_NEVER functionality, added rationales
457         on the policy and size requisition handling at the top.
458         (gtk_scrolled_window_size_request):
459         we assume a default minimum for our child's width and height
460         if [hv]scrollbar_policy != GTK_POLICY_NEVER, except when the user
461         specified the dimension explicitely.
462         (gtk_scrolled_window_size_allocate): 
463         do not show scrollbars if [hv]scrollbar_policy == GTK_POLICY_NEVER.
464
465         * gtk/gtkviewport.c (gtk_viewport_size_request): report the real
466         size we require (including the child).
467
468         * gtk/gtkclist.c:
469         (gtk_clist_size_request): report the real size required.
470
471         * gtk/gtkenums.h (enum GtkPolicyType): added GTK_POLICY_NEVER.
472
473         * gtk/gtkobject.c (gtk_object_init_type): object_type doesn't
474         need to be a static variable.
475
476 Mon Nov 30 22:41:25 1998  Tim Janik  <timj@gtk.org>
477
478         * gtk/gtkclist.h: 
479         * gtk/gtkclist.c: 
480         * gtk/gtkviewport.h:
481         * gtk/gtkviewport.c:
482         * gtk/gtktext.h:
483         * gtk/gtktext.c:
484         * gtk/gtklayout.h:
485         * gtk/gtklayout.c:
486         * gtk/gtkwidget.h:
487         * gtk/gtkwidget.c:
488         * gtk/gtkscrolledwindow.h:
489         * gtk/gtkscrolledwindow.c:
490         s/scroll_adjustements/scroll_adjustments/
491         s/scroll_adjustments/set_scroll_adjustments/g
492
493 Tue Dec  1 22:45:58 1998  Lars Hamann  <lars@gtk.org>
494
495         * gtk/gtkclist.h (struct _GtkCListClass): new class method/signal
496         row_move.
497         * gtk/gtkclist.c (gtk_clist_row_move): new public function.
498         emit a row_move signal
499         (real_row_move): move source_row to dest_row
500         (gtk_clist_swap_rows): use gtk_clist_row_move calls.
501         (gtk_clist_columns_autosize): resize all columns to their optimal
502         width
503         * gtk/gtkctree.c (real_row_move): use gtk_ctree_move to move
504         entire sub-tree.
505         * gtk/gtknotebook.c (gtk_notebook_nth_page): get nth page widget.
506
507 Tue Dec  1 02:40:22 PST 1998 Manish Singh <yosh@gimp.org>
508
509         * configure.in
510         * gdk/Makefile.am
511         * gtk/Makefile.am: Put -DFOO stuff into Makefile.am INCLUDES.
512         Separate vars for each, for granularity.
513
514 Tue Dec  1 02:19:54 1998  Tim Janik  <timj@gtk.org>
515
516         * gtk/gtkenums.h: fixed a stupid error of mine about the run type
517         values.
518
519 1998-11-30  Elliot Lee  <sopwith@cuc.ml.org>
520
521         * {gdk,gtk}/*.c: Make read-only data structures "static const" to
522         allow them to be shared, mainly including (but not limited to) the
523         GtkTypeInfo structures for each class.
524
525         * gtk/gtkfilesel.c: Add /net to the "leave me alone" directory listing.
526
527 Mon Nov 30 12:17:10 1998  Jeff Garzik  <jgarzik@pobox.com>
528
529         * gtk/gtksignal.c:
530         Surround debug variable with #ifdef to silence gcc.
531
532         * gtk/gtknotebook.c (gtk_notebook_reorder_child):
533         Added initializer to quiet gcc warning.
534         Added assertion to check for null pointer deref.
535
536 Mon Nov 30 10:11:29 1998  Tim Janik  <timj@gtk.org>
537
538         * gtk/testgtkrc: merged testgtkrc with the pre-themes one, removed
539         system specific includes.
540
541         * gtk/gtksignal.c: asured that stop and restart emissions are also
542         checked and processed for not connected objects. fixed up restart
543         emission administration. invoke emission hooks after emission, hooks
544         are not supposed to muck around with the current emission, and
545         may also not cause emission restarts. fixed up stop emission
546         administration.
547
548 Mon Nov 30 06:20:36 1998  Tim Janik  <timj@gtk.org>
549
550         * gtk/testgtk.c: added an event watcher for enter/leave based on
551         signal emission hooks.
552
553         * gtk/gtkobject.c (gtk_object_class_init): made GtkObject::destroy a
554         GTK_RUN_NO_HOOKS signal.
555
556         * gtk/gtksignal.h: 
557         * gtk/gtksignal.c: implemented emission hooks, new hooks can be added
558         to a signal with gtk_signal_add_emission_hook or
559         gtk_signal_add_emission_hook_full, and can be removed again with
560         gtk_signal_remove_emission_hook.
561
562         * gtk/gtkenums.h: remove GTK_RUN_MASK, since it doesn't represent
563         an appropriate mask for signal runtypes for a long time now.
564         added GTK_RUN_NO_HOOKS value, which is used to flag signals
565         that do not allow the running of signal hooks.
566
567 1998-11-26  Michael Krause  <m.krause@tu-harburg.de>
568
569         * gtk/gtknotebook.c (gtk_notebook_switch_page): made 'page_num'
570         argument a gint: switch_page signal delivers valid page numbers
571         again.
572
573 Sun Nov 29 06:12:01 1998  Tim Janik  <timj@gtk.org>
574
575         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_[hv]adjustment): 
576         set composite names.
577
578         * gtk/gtktypeutils.c (gtk_type_unique): removed default initialization
579         check, people must use gtk_type_init().
580         fixed up type allocation for foreign fundamentals.
581
582         * gtk/gtkwidget.h: 
583         * gtk/gtkwidget.c: added gtk_widget_set_composite_name() which is meant
584         for internal use by containers, that want to assign specific composite
585         names to their composite children.
586         added gtk_widget_get_composite_name() which will return a newly
587         allocated string, containing the composite name of a widget. valid
588         composite names can only be retrived from widgets that have a parent
589         assigned and are flagged as GTK_COMPOSITE_CHILD.
590
591         * gtk/gtkcontainer.h:
592         * gtk/gtkcontainer.c: added a new function
593         gtk_container_child_default_composite_name() which will return a
594         newly allocated string, holding the composite name of a containers
595         child. a default implementation is provided which will compose the
596         composite name out of the widgets type and its sequential children
597         id. this implementation can be overidden through a new class function
598         *(composite_name)().
599
600 Sat Nov 28 10:57:59 1998  Owen Taylor  <otaylor@redhat.com>
601
602         * gtk/gtkwindow.c (gtk_window_expose_event): Removed bogus
603         expose_event handler - we had two expose_event
604         handlers!
605
606 Sat Nov 28 03:13:42 1998  Tim Janik  <timj@gtk.org>
607
608         * gtk/gtkscrolledwindow.h: 
609         * gtk/gtkscrolledwindow.c: changed scrolled window inheritance,
610         it inherits from GtkBin now.
611
612         * gtk/gtkbin.c (gtk_bin_unmap): removed superfluous check for
613         visibility of child.
614         (gtk_bin_draw): removed superfluous check for GTK_WIDGET_DRAWABLE().
615         added check so a child gets only drawn if it's visible.
616
617         * gtk/gtkwidget.h: 
618         * gtk/gtkwidget.c: removed gtk_widget_draw_children().
619
620         * gtk/gtkstyle.h: 
621         * gtk/gtkstyle.c: rmoved gtk_reset_widget_shapes.
622
623         * gtk/gtkwidget.h: 
624         * gtk/gtkwidget.c: removed crufty relict: gtk_widget_is_child().
625         added internal function gtk_widget_reset_shapes() from gtkstyle.c.
626
627         * gtk/gtkrc.h:
628         * gtk/gtkrc.c: (gtk_rc_find_pixmap_in_path): removed bogus gscanner
629         argument, changed callers.
630
631         * gtk/gtkmenufactory.c: GtkMenuFactory is deprecated for a long time,
632         it will issue a warning now.
633
634         * gtk/gtkcompat.h: new file to #define aliases for historic
635         function names.
636
637         * changed 8 function names for consistency and provided aliases to keep
638         source compatibility in gtkcompat.h:
639         (gtk_accel_label_get_accel_width): renamed from gtk_accel_label_accelerator_width
640         (gtk_container_set_border_width): renamed from gtk_container_border_width
641         (gtk_notebook_get_current_page): renamed from gtk_notebook_current_page
642         (gtk_packer_configure): renamed from gtk_packer_set_child_packing
643         (gtk_paned_set_gutter_size): renamed from gtk_paned_gutter_size
644         (gtk_paned_set_handle_size): renamed from gtk_paned_handle_size
645         (gtk_scale_get_value_width): renamed from gtk_scale_value_width
646         (gtk_window_set_position): renamed from gtk_window_position
647
648         * renamed a few recently added funtions for consistency:
649         (gtk_notebook_get_tab_label): renamed from gtk_notebook_query_tab_label.
650         (gtk_notebook_get_menu_label): renamed from gtk_notebook_query_menu_label.
651         (gtk_progress_configure): renamed from gtk_progress_reconfigure.
652
653 Fri Nov 27 18:57:20 PST 1998 Manish Singh <yosh@gimp.org>
654
655         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add_with_viewport):
656         check for existing viewport first, and don't add one if there
657         already is one
658
659 Sat Nov 28 00:06:49 1998  Tim Janik  <timj@gtk.org>
660
661         * gtk/gtkwidget.h: 
662         * gtk/gtkwidget.c: deprecated gtk_widget_freeze_accelerators and
663         gtk_widget_thaw_accelerators, we provide gtk_widget_lock_accelerators
664         and gtk_widget_unlock_accelerators.
665
666         * gtk/gtklayout.h:
667         * gtk/gtklayout.c: implemented incremental freezing facility.
668
669         * gtk/gtktext.h: 
670         * gtk/gtktext.c: implemented incremental freezing facility.
671
672         * gtk/gtkenums.h:
673         * gtk/gtkaccelgroup.h: moved enum GtkAccelFlags into this place.
674
675         * gtk/gtkentry.h:
676         * gtk/gtkentry.c:
677         deprecated gtk_entry_adjust_scroll().
678         
679         * random GtkType, macro and indentation fixes.
680
681 Fri Nov 27 22:50:15 1998  Tim Janik  <timj@gtk.org>
682
683         * gtk/gtkclist.h: 
684         * gtk/gtkclist.c: implemented incremental freezing facility, added
685         a new class member (*refresh)() which takes over the thaw
686         functionality. the clist FROZEN flag got removed on the way.
687         * gtk/gtkctree.c: adaptions to feature the clist refresh functionality
688         and incremental freezing.
689
690         * gtk/gtkcalendar.c: implemented incremental freezing facility.
691
692 Fri Nov 27 11:41:27 1998  Raph Levien  <raph@gimp.org>
693
694         * gdk/gdkinputcommon.h (gdk_input_common_init): Fixed it so that
695         it still includes the core pointer in gdk_input_devices even
696         if the XInput extension is not present in the X server.
697
698 Fri Nov 27 12:17:15 1998  Owen Taylor  <otaylor@redhat.com>
699
700         * gtk/gtkdnd.[ch] (gtk_drag_get_source_widget): New function to
701         get the source widget of a drag.
702
703         * gtk/gtkdnd.[ch]: Target flags GTK_TARGET_SAME_[WIDGET/APP]
704         to restrict certain targets to the same widget or to
705         the same application.
706
707         * gtk/testdnd.c: Test gtk_drag_get_source_widget().
708         
709 Thu Nov 26 19:11:46 1998  Lars Hamann  <lars@gtk.org>
710
711         * gtk/gtk-boxed.defs (GtkCTreeNode): define GtkCTreeNode as boxed type
712         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_CTREE_NODE_TYPE
713         instead of GTK_TYPE_POINTER in signal definitions.
714         (patch from James Henstridge <james@daa.com.au>)
715
716 Thu Nov 26 18:48:44 1998  Lars Hamann  <lars@gtk.org>
717
718         * gtk/gtkclist.c (set_cell_contents)
719         * gtk/gtkctree.c (set_cell_contents): call column_auto_resize only
720         if auto.resize == TRUE
721
722         * gtk/gtknotebook.c (gtk_notebook_set_shape) (gtk_notebook_expose):
723         don't draw tab, if show_tabs == FALSE
724         (bug reports from Alexis Mikhailov / Dave Cole)
725         (gtk_notebook_focus_changed) (gtk_notebook_draw_focus): draw only
726         the focus rectangle, not the hole tab.
727
728 Thu Nov 26 03:18:08 1998  Tim Janik  <timj@gtk.org>
729
730         * gtk/gtkclist.h: 
731         * gtk/gtkctree.h: 
732         * gtk/gtkclist.c:
733         * gtk/gtkctree.c: reverted bogus and undocumented!!! changes from
734         Jay Cox (98/11/23 13:53:26) which `const' qualified char* arrays.
735
736         * gtk/maketypes.awk: changed underline substitution, so we get
737         GTK_TYPE_CTREE_POS instead of the broken GTK_TYPE_C_TREE_POS.
738         * gtk/makeenums.pl: likewise.
739         * gtk/gtkctree.c: adapted type names accordingly.
740
741 Tue Nov 24 11:31:06 1998  Owen Taylor  <otaylor@redhat.com>
742
743         * docs/Changes-1.2.txt: Edited section on the ScrolledWindow.
744
745         * gtk/gtklayout.c (gtk_layout_set_[hv]adjustment): Remove
746         some code duplication.
747
748         * gtk/gtklayout.[ch] Fixed mapping and unmapping of child windows
749         and child widgets when scrolling greater than 32k pixels.
750
751         * testgtk.c: Modified layout test to test scrolling over 
752         long distances.
753
754 Tue Nov 24 11:11:05 1998  Owen Taylor  <otaylor@redhat.com>
755
756         * gtk/gtklayout.[ch]: Fixed up copyright message.
757
758         * gdk/gdkrgb.c (DM): Make the dither matrix constant
759         so it can be shared.
760
761         * gtk/gtkdnd.c: Make cursor bitmaps const.
762
763         * gdk/gdk.h gdk/gdkpixmap.c: Added const to 
764         gdk_pixmap/bitmap_create_from_data.
765
766 Tue Nov 24 07:46:09 1998  Tim Janik  <timj@gtk.org>
767
768         * docs/Changes-1.2.txt: added a section on scrolled windows and
769         scrollable widgets.
770
771 1998-11-24  Andrew T. Veliath  <andrewtv@usa.net>
772
773         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): Include radio
774         buttons when setting relief for button items.
775         (gtk_toolbar_set_button_relief): Same.
776
777 1998-11-23  Jeff Garzik  <jgarzik@pobox.com>
778
779         * gdk/Makefile.am, gtk/Makefile.am:
780         Removed DEFS "+=" mess that breaks recent automakes.
781         INCLUDES is the correct way to add to CFLAGS from Makefile.am.
782
783         * gdk/gdk.c, gdk/gdkglobals.c, gdk/gdkimage.c, gdk/gdkinput.c,
784         gdk/gdkpixmap.c, gdk/gdkthreads.c, gdk/gdkwindow.c,
785         gdk/gxid_lib.c, gtk/fnmatch.c, gtk/gtkclist.c, gtk/gtkmain.c,
786         gtk/testthreads.c:
787         Include "config.h" instead of "../config.h".
788         Now that DEFS works again, automake will automatically pass us
789         the location of config.h in -I.
790
791 Mon Nov 23 22:10:09 1998  Owen Taylor  <otaylor@redhat.com>
792
793         * gtk/Makefile.am gtk/gtk.h gtk/gtklayout.[ch]
794         gtk/gtkplug.[ch] gtk/gtksocket.[ch] gtk/gtk.h:
795
796         Added layout widget for scrolling arbitrarily big areas.
797         Added plug/socket widgets for interprocess embedding.
798
799         These widgets still, at some point, need to be
800         made more pure in their use of GDK, as opposed
801         to raw X.
802
803         * gtk/testgtk.c: Added test for layout widget.
804         
805 1998-11-23  Jeff Garzik  <jgarzik@pobox.com>
806
807         * gtk/gtkclist.c: (gtk_clist_swap_rows):  Bugfix from
808         Brandon Long <blong@fiction.net> - do the right thing with first
809         and last, which are the absolute values of row arguments row1
810         and row2.
811
812 Mon Nov 23 04:24:55 PST 1998 Manish Singh <yosh@gimp.org>
813
814         * gtk/gtkprogress.c: (gtk_progress_set_adjustment): make a saner
815         default adjustment (from 0 to 100) instead. I'm not sure if this
816         is the correct level for the fix, but gtk_progress_bar_new()'s
817         original default behavior is restored.
818
819 1998-11-23  Martin Baulig  <martin@home-of-linux.org>
820
821         * gtk/gtkfeatures.h.in (GTK_HAVE_FEATURES_1_1_5): Define this so
822         we can check for latest GTK features.
823
824 1998-11-23  Havoc Pennington  <hp@pobox.com>
825
826         * gtk/gtktoolbar.c: (gtk_toolbar_set_relief):
827         (gtk_toolbar_insert_element): When setting relief, also affect
828         toggle buttons.
829
830 Sun Nov 22 20:37:06 PST 1998 Manish Singh <yosh@gimp.org>
831
832         * gtk/gtkobject.h: remove extraneous comma
833
834 Mon Nov 23 05:21:50 1998  Tim Janik  <timj@gtk.org>
835
836         * gtk/gtkcontainer.c:
837         (gtk_container_add_with_args): 
838         (gtk_container_addv): 
839         (gtk_container_add): removed assertements for constructed containers
840         again, since this essentially breaks the "child" arg.
841
842         * gtk/gtktooltips.c (gtk_tooltips_force_window): fixup the draw_window
843         reference count, we don't need to reference toplevels that already have
844         destroy notifiers.
845
846         * gtk/gtkscrolledwindow.c: check for the composites existance in
847         _forall since we might not be already constructed.
848
849 Sun Nov 22 14:34:58 CST 1998 Shawn T. Amundson <amundson@gtk.org>
850
851         * Released GTK+ 1.1.5
852
853         * configure.in: require GLib 1.1.5
854
855 Mon Nov 23 03:21:17 1998  Tim Janik  <timj@gtk.org>
856
857         * gtk/gtktext.c (gtk_text_destroy): disconnect hadj & vadj, not
858         2 * hadj.
859         (gtk_text_finalize): only unref the current_font if we have
860         been realized.
861
862 Sat Nov 21 18:41:13 CST 1998 Shawn T. Amundson <amundson@gtk.org>
863
864         * configure.in:
865           INSTALL:
866           NEWS:
867           README:
868           gtk+.spec:
869           docs/gtk-config.1: Version incremented to 1.1.5
870
871 Sun Nov 22 16:21:28 1998  Tim Janik  <timj@gtk.org>
872
873         * gtk/gtkprogress.c: added args ::show_text, ::text_xalign,
874         ::text_yalign, ::activity_mode.
875
876         * gtk/gtkprogressbar.c: added construct arg ::adjustment. added args
877         ::bar_style, ::orientation, ::discrete_blocks, ::activity_step,
878         ::activity_blocks.
879         (gtk_progress_bar_new):
880         (gtk_progress_bar_new_with_adjustment): use gtk_widget_new().
881         (gtk_progress_bar_construct): deprecated.
882
883         * gtk/gtkvscrollbar.c:
884         (gtk_vscrollbar_draw_step_back): 
885         (gtk_vscrollbar_draw_step_forw): use "vscrollbar" as detail for
886         gtk_paint_arrow, to be consistent with hscrollbar.
887
888         * gtk/gtktext.c
889         added construct args ::hadjustment, ::vadjustment.
890         added args ::line_wrap, ::word_wrap.
891         (gtk_text_class_init): added scroll_adjustments signal.
892         (gtk_text_new): use gtk_widget_new.
893         (gtk_text_disconnect): remove adjustement with gtk_text_set_adjustments,
894         so we don't screw the reference counts and don't leave signals connected.
895         (gtk_text_destroy): disconnect adjustments signals.
896         (gtk_text_finalize): unref adjustments.
897
898         * gtk/gtkctree.c: added construct args ::n_columns and ::tree_column.
899         added args ::indent, ::spacing, ::show_stub, ::reorderable,
900         ::use_drag_icons, ::line_style and ::expander_style.
901         (gtk_ctree_set_show_stub): renamed from gtk_ctree_show_stub, which is
902         deprecated now.
903
904         * gtk/gtkclist.h: remove GTK_CLIST_CONSTRUCT flag.
905         * gtk/gtkclist.c:
906         removed ::vadjustment and ::hadjustment args, introduced
907         ::scroll_adjustments signal.
908         added ::shadow_type, ::selection_mode and ::row_height args.
909         added n_columns construct arg.
910         (gtk_clist_construct): call gtk_object_constructed().
911         (gtk_clist_set_row_height): if height is passed as 0,
912         revert to automatic height calculation.
913         (gtk_clist_destroy): before unrefing the adjustments, disconnect our
914         signal handlers.
915
916 Fri Nov 21 22:34:58 1998  Tim Janik  <timj@gtk.org>
917
918         * gtk/gtkwidget.c (gtk_widget_new): call gtk_object_default_construct
919         like gtk_object_new.
920         (gtk_widget_destroy): assert that we only destroy constructed widgets.
921
922         * gtk/gtkobject.h (enum GtkArgFlags): new flag GTK_ARG_CONSTRUCT_ONLY
923         to identify args that may only be used for construction.
924         GTK_ARG_CONSTRUCT maybe used as normal arguments besides construction
925         time.
926         * gtk/gtkobject.c (gtk_object_new): invoke gtk_object_default_construct
927         at the end if the object is not fully constructed.
928         (gtk_object_newv): likewise.
929         (gtk_object_destroy): assert that we only destroy constructed objects.
930         (gtk_object_init): setup GTK_CONSTRUCTED from the
931         objects real klass.
932         (gtk_object_default_construct): new function to complete default
933         construction of an object by applying missing construtor args with
934         default values of 0, 0.0 or NULL.
935         (gtk_object_constructed): new function to mark an object as being
936         constructed (used from within constructors).
937
938         * gtk/gtkarg.c (gtk_arg_type_new_static): return the args info pointer
939         so it is immediatedly available for the caller.
940
941         * gtk/gtktypeutils.c (gtk_type_new): pass an object's real class to
942         the object initilizer (GtkObjectInitFunc takes a second arg now, the
943         real klass), and asure that object initializers may temporarily alter
944         the class pointer.
945
946 Fri Nov 20 08:00:30 1998  Tim Janik  <timj@gtk.org>
947
948         * gtk/testgtk.c: change all occourances of gtk_container_add (
949         scrolled_window, widget) to gtk_scrolled_window_add_with_viewport (...)
950         for widget!=(clist, ctree, text, viewport).
951
952         * gtk/gtkcombo.c:
953         (gtk_combo_init): use gtk_scrolled_window_add_with_viewport()
954         to add children to the scrolled window.
955
956         * gtk/gtkscrolledwindow.h:
957         * gtk/gtkscrolledwindow.c:
958         changed scrolled_window->viewport to scrolled_window->child, and use
959         gtk_widget_scroll_adjustements() to set the scroll adjustments for the
960         widget, we do not create an additional viewport anymore.
961         added ::hadjustment and ::vadjustment constructor args.
962         (gtk_scrolled_window_new): use gtk_widget_new() to create the widget.
963         (gtk_scrolled_window_set_hadjustment):
964         (gtk_scrolled_window_set_vadjustment): new functions that superceed
965         gtk_scrolled_window_construct.
966         (gtk_scrolled_window_construct): deprecated this function.
967         
968         * gtk/gtkhscrollbar.c:
969         * gtk/gtkvscrollbar.c:
970         * gtk/gtkhscale.c:
971         * gtk/gtkvscale.c:
972         support a constructor arg "::adjustment", and use gtk_widget_new() for
973         the widget creation.
974
975         * gtk/gtkrange.c: added ::update_policy arg.
976         (gtk_range_set_adjustment): if adjustment is passed in as NULL, create
977         a default adjustment so this function can be used for derived widgets
978         that depend on the adjustment's existance.
979         (gtk_range_destroy): disconnect the adjustment signal, so we don't
980         get called after we got destroyed, we don't destroy the adjustment
981         in here, because it might have been provided from another widget.
982
983         * gtk/gtkviewport.c: introduced ::scroll_adjustments signal.
984         (gtk_viewport_destroy): same as gtk_range_destroy.
985
986         * gtk/gtkprogress.c (gtk_progress_destroy): same as gtk_range_destroy.
987
988         * gtk/gtkwidget.h: 
989         * gtk/gtkwidget.c: changed gtk_widget_activate() to return a
990         gboolean, indicating whether this widget supports activation.
991         added gtk_widget_scroll_adjustements() to set the scrolling
992         adjustments of a widget.
993
994 Wed Nov 19 01:22:42 1998  Tim Janik  <timj@gtk.org>
995
996         * gtk/gtkoptionmenu.c:
997         (gtk_option_menu_remove_contents):
998         (gtk_option_menu_update_contents): removed
999         gtk_container_[un]block_resize() pairs.
1000
1001         * gtk/gtknotebook.h: 
1002         * gtk/gtknotebook.c: removed the tab_border field, since it shouldn't
1003         be used outside of gtknotebook.c anyways. made ARG_TAB_BORDER a
1004         wrtie-only argument.
1005
1006         * *.c: made deprecated functions issue a message:
1007         gtk_clist_set_border, gtk_container_block_resize,
1008         gtk_container_unblock_resize, gtk_container_need_resize,
1009         gtk_object_class_add_user_signal, gtk_spin_button_construct,
1010         gtk_scrolled_window_construct.
1011         removed non-functional functions:
1012         gtk_container_disable_resize, gtk_container_enable_resize,
1013         gtk_clist_set_policy.
1014
1015 Wed Nov 18 22:54:36 1998  Tim Janik  <timj@gtk.org>
1016
1017         * gtk/gtkbox.c (gtk_box_init): 
1018         * gtk/gtkdrawingarea.c (gtk_drawing_area_init): 
1019         * gtk/gtkeventbox.c (gtk_event_box_init): 
1020         * gtk/gtkfixed.c (gtk_fixed_init): 
1021         * gtk/gtkframe.c (gtk_frame_init): 
1022         * gtk/gtkhandlebox.c (gtk_handle_box_init): 
1023         * gtk/gtkpacker.c (gtk_packer_init): 
1024         * gtk/gtkmisc.c (gtk_misc_init): 
1025         * gtk/gtkpreview.c (gtk_preview_init): 
1026         * gtk/gtkprogress.c (gtk_progress_init): 
1027         * gtk/gtkprogressbar.c (gtk_progress_bar_init): 
1028         * gtk/gtkseparator.c (gtk_separator_init): 
1029         * gtk/gtktable.c (gtk_table_init): 
1030         * gtk/gtkviewport.c (gtk_viewport_init): 
1031         * gtk/gtkalignment.c (gtk_alignment_init): 
1032         removed setting of the GTK_BASIC flag.
1033
1034         * gtk/gtkwidget.h:
1035         * gtk/gtkwidget.c:
1036         removed GTK_BASIC, GTK_WIDGET_BASIC and gtk_widget_basic.
1037
1038         * miscellaneous GtkType and macro fixups.
1039
1040 Sat Nov 21 18:53:13 1998  Owen Taylor  <otaylor@redhat.com>
1041
1042         * gdk/gdkwindow.c (gdk_window_get_deskrelative_origin): 
1043         Fixed so it at least works with window managers other
1044         than Enlightenment, though it probably needs to be
1045         removed altogether.
1046
1047 1998-11-21  Andrew T. Veliath  <andrewtv@usa.net>
1048
1049         * gtk/gtkhandlebox.[ch]: Add shadow_type and
1050         gtk_handle_box_set_shadow_type function (plus a
1051         GtkHandleBox::shadow arg) to allow configuration of shadow in the
1052         bin window.
1053
1054 Thu Nov 19 23:47:38 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1055
1056         * gtk/gtkcalendar.c: Fix for marking days from 
1057           Dan Reish <dreish@izzy.net>.
1058
1059 Thu Nov 19 00:15:27 1998  Lars Hamann  <lars@gtk.org>
1060
1061         * gtk/gtkctree.c (gtk_ctree_node_nth): return the nth GtkCTreeNode
1062         in row_list. (from Samuel Solon <ssolon@usa.net>)
1063         
1064         * gtk/gtkclist.c (gtk_clist_get_column_title): return column title
1065         (gtk_clist_get_column_widget): return column widget
1066
1067 Wed Nov 18 11:54:57 1998  Owen Taylor  <otaylor@redhat.com>
1068
1069         * gtk/gtkdnd.c (gtk_drag_find_widget): Accept drops
1070         that are sent to a toplevel but are not within the
1071         toplevels bounds.
1072
1073         * gdk/gdkdnd.c gdk/gdk.h: Added support for a
1074         XdndProxy atom which proxies the drag to another window.
1075
1076 1998-11-17  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1077
1078         * gtk/gtkpaned.h (struct _GtkPaned): Removed the cursor field, now
1079         that it is not needed.
1080
1081 Tue Nov 17 1998 The Rasterman <raster@redhat.com>
1082         * gdk/gdk.h, gdk/gdkwindow.c: Added gdk_window_get_deskrelative_origin
1083           function to correctly determine gdk window position relative to
1084           its "root window" - contains check for an Enlightenment
1085           virtual root window.
1086         * gtk/gtkhandlebox.c: changed gdk_window_get_origin ->
1087           gdk_window_get_deskrelative_origin to get the origin of dragged
1088           handleboxes correctly. Now it works correctly with E.
1089           
1090 Tue Nov 17 1998  Tuomas Lukka <lukka@iki.fi>
1091
1092         * gtk/gtktypeutils.c: Fix vital bug where LOOKUP was used when
1093           getting types even though we were not using real type names,
1094           just the index.  This caused random crashes when more than 
1095           256 types were defined.
1096
1097 1998-11-17  Martin Baulig  <martin@home-of-linux.org>
1098
1099         * gtk/genmarshal.pl: Put output files in the current directory
1100         and not in the $(srcdir) since the VPATH is ignored for built
1101         sources.
1102
1103 Tue Nov 17 01:37:53 PST 1998 Manish Singh <yosh@gimp.org>
1104
1105         * gtk/genmarshal.pl
1106         * gtk/Makefile.am: check for unchanged autogenerated files, so
1107         we don't rebuild everything just for adding a new function
1108
1109 Mon Nov 16 19:19:00 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1110
1111         * gtk/gtkpixmap.h
1112           gtk/gtkpixmap.c: Pixmaps now grey out when insensitive,
1113           code thanks to GNOME stock by Eckehard Berns.  New function
1114           gtk_pixmap_set_build_insensitive to provide ability to turn 
1115           this off.
1116
1117 Tue Nov 17 00:06:29 1998  Lars Hamann  <lars@gtk.org>
1118
1119         * gtk/gtknotebook.h (struct _GtkNotebook): new flags : homogeneous;
1120         new guints : tab_hborder, tab_vborder; marked tab_border deprecated
1121         (struct _GtkNotebookPage): new flags : expand, fill, pack
1122
1123         * gtk/gtknotebook.h/c
1124         (gtk_notebook_set_homogeneous_tabs): new function. set homogeneneous
1125         tabs
1126         (gtk_notebook_set_tab_border): set tab_h/vborder to tab_border
1127         (gtk_notebook_set_tab_hborder): new function. set tab_hborder
1128         (gtk_notebook_set_tab_vborder): new function. set tab_vborder
1129         (gtk_notebook_query_tab_label): new function. get tab_label widget.
1130         (gtk_notebook_set_tab_label): new function. set tab_label widget.
1131         (gtk_notebook_set_tab_label_text): new function. set tab_label text.
1132         (gtk_notebook_query_menu_label): new function. get tab_label widget.
1133         (gtk_notebook_set_menu_label): new function. set tab_label widget.
1134         (gtk_notebook_set_menu_label_text): new function. set tab_label text.
1135         (gtk_notebook_set_tab_label_packing): new function. set tab_label
1136         fill, expand, fill_type
1137         (gtk_notebook_query_tab_label_packing): new function. get tab_label
1138         fill, expand, fill_type
1139
1140         (gtk_notebook_real_page_position): return logic page number
1141         (gtk_notebook_search_page) search next/prev logic page
1142         (gtk_notebook_update_labels): set logic page number.
1143         (gtk_notebook_page_compare): renamed gtk_notebook_find_page
1144         (gtk_notebook_set/get_child_arg): new args CHILD_ARG_TAB_EXPAND,
1145         CHILD_ARG_TAB_FILL, CHILD_ARG_TAB_PACK
1146         (gtk_notebook_button_press) (gtk_notebook_key_press)
1147         (gtk_notebook_focus) (gtk_notebook_pages_allocate)
1148         (gtk_notebook_calc_tabs) (gtk_notebook_switch_focus_tab)
1149         use gtk_notebook_search_page
1150         (gtk_notebook_page_allocate): fixed allocation bug
1151         (gtk_notebook_set/get_arg): new args TAB_HBORDER, TAB_VBORDER.
1152         (gtk_notebook_init): unset GTK_NO_WINDOW flag
1153         (gtk_notebook_size_request): check whether page->child is visible.
1154         changes due to tab h/vborder, homogeneous tabs
1155         (gtk_notebook_paint): don't draw invisible tabs
1156         (gtk_notebook_switch_page): calculate page_num if it's less than 0
1157         (gtk_notebook_append_*) (gtk_notebook_prepend_*)
1158         (gtk_notebook_insert_page): removed sanity checks
1159
1160         * gtk/testgtk.c (create_notebook): extended Notebook sample a bit.
1161
1162 Mon Nov 16 15:10:33 1998  Owen Taylor  <otaylor@redhat.com>
1163
1164         * gtk/gtktext.c: Optimizations for [advance/decrement]_mark_n.
1165         (gtk-mailund-980718-0, Thomas Mailund Jensen <mailund@daimi.aau.dk>)
1166
1167         * gtk/gtkfixed.c: Removed gtk_fixed_umap, which was 
1168         broken. (GtkWidget's default unmap handler should work fine).
1169         Pointed out by Patrice Fortier <Patrice.Fortier@aquarel.fr>
1170
1171 Mon Nov 16 00:59:26 PST 1998 Manish Singh <yosh@gimp.org>
1172
1173         * gtk/gtkmenubar.[ch]: added shadow_type setting and
1174         gtk_menu_bar_set_shadow_type function to allow shadow
1175         configurability for menubars
1176
1177         * gtk/gtkviewport.h: use GtkShadowType enum instead of generic
1178         guint
1179
1180 Mon Nov 16 00:17:53 1998  Tim Janik  <timj@gtk.org>
1181
1182         * gtk/gtktypeutils.c (gtk_type_new): relookup type node after
1183         class creation and parent class' object initializer.
1184
1185 1998-11-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>
1186
1187         * gtk/gtkpaned.c (gtk_paned_realize): Destroy the cursor after we
1188         have assigned it to the window -- there is no point in keeping it around.
1189         (gtk_paned_unrealize): No need to destroy the cursor here.
1190
1191         * gtk/gtkpaned.h (struct _GtkPaned): Removed the cursor field, as
1192         it is not needed.
1193
1194 Fri Nov 13 11:22:38 1998  Owen Taylor  <otaylor@redhat.com>
1195
1196         * gdk/gdkpixmap.c: New function gdk_pixmap_foreign_new().
1197         (gtk-blizzard-981005-0. 
1198          Christopher Blizzard <blizzard@applied-theory.com)
1199
1200         * gdk/gdk.h gdk/gdkx.h: Moved gdk_window_foreign_new and
1201         gdk_pixmap_foreign_new to gdkx.h.
1202
1203 Fri Nov 13 16:06:48 1998  Owen Taylor  <otaylor@redhat.com>
1204
1205         * gtk/Makefile.am: Added rules to generate an empty
1206         GTK+ theme called "Default" upon installation.
1207         
1208         * gtk/gtkrc.c (gtk_rc_parse_style): Fix inheritance
1209         of fonts and fontsets. 
1210         (gtk-matsu-980924. Takashi Matsuda matsu@arch.comp.kyutech.ac.jp)
1211
1212         * gtk/gtkmain.c: Change test to detect glibc's
1213         utf8 based mb* functions to be more specific.
1214
1215         * gtk/gtkwindow.[ch] gtk/gtkfixed.c: Indentation 
1216         cleanups.
1217
1218 Fri Nov 13 16:43:36 1998  Lars Hamann  <lars@gtk.org>
1219
1220         * gtk/gtktogglebutton.c (gtk_toggle_button_realize): don't
1221         show event_window
1222         (gtk_toggle_button_map) (gtk_toggle_button_unmap): show/hide
1223         event_window if draw_indicator is set
1224         (gtk_toggle_button_set_mode):
1225
1226 Thu Nov 12 15:33:54 PST 1998 Manish Singh <yosh@gimp.org>
1227
1228         * gtk/gtkitemfactory.c: cast NULL to GtkItemFactoryCallback to
1229         ensure proper type (SunPro cc complains)
1230
1231         * gtk/gtklist.c: removed bogus '*' from "*GTK_CONTAINER_CLASS"
1232
1233         * gtk/gtktogglebutton.c: use our own draw method so we get proper
1234         redraws on active state
1235
1236 Thu Nov 12 00:26:13 1998  Lars Hamann  <lars@gtk.org>
1237
1238         * gtk/gtkstyle.c (gtk_default_draw_box_gap): use GtkPositionType
1239         defines.
1240
1241         * gtk/gtknotebook.c (gtk_notebook_draw_tab): fixed gap_side for
1242         GTP_POS_RIGHT
1243
1244 Wed Nov 11 19:54:58 1998  Lars Hamann  <lars@gtk.org>
1245
1246         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_class_init)
1247         (gtk_scrolled_window_set_arg) (gtk_scrolled_window_get_arg):
1248         added ARG_WINDOW_PLACEMENT
1249
1250         * gtk/gtkclist.c (size_allocate_columns): resize column if column
1251         button > column width and auto_resize is set
1252         (real_clear) (column_auto_resize) (gtk_clist_optimal_column_width):
1253         consider column button width of auto resized columns
1254         (gtk_clist_parent_set): removed 
1255
1256         * gtk/gtkctree.c (gtk_ctree_insert_node): call column_auto_resize.
1257         (auto_resize_columns): auto_resize all columns
1258         (real_tree_collapse) (gtk_ctree_remove_node): call auto_resize_columns
1259         (column_auto_resize): respect column button width of auto resized
1260         columns
1261
1262 1998-11-10  Martin Baulig  <baulig@merkur.uni-trier.de>
1263
1264         * gtk/gtkfeatures.h.in (GTK_HAVE_FEATURES_1_1_4): Define this so
1265         we can check for latest GTK features.
1266
1267 Mon Nov  9 00:39:20 1998  Lars Hamann  <lars@gtk.org>
1268
1269         * gtk/gtkenums.h : new enum GtkCornerType 
1270         * gtk/gtkscrolledwindow.h (struct _GtkScrolledWindow): added
1271         window_placement.
1272         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_placement): 
1273         new method to set window_placement.
1274         (gtk_scrolled_window_viewport_allocate)
1275         (gtk_scrolled_window_size_allocate): few changes due to
1276         window_placement.
1277         * gtk/testgtk.c (remove_selection): fixed while loop.
1278
1279 Sat Nov  7 21:55:00 PST 1998 Manish Singh <yosh@gimp.org>
1280
1281         * gtk/gtkclist.c: check if column[i].button is valid before calling
1282         gtk_widget_intersect on it in gtk_clist_draw
1283
1284         * gtk/gtkdnd.c: removed unused variable empty_bits
1285
1286         * gtk/gtkrc.c: we should use gslist_* functions with GSLists...
1287
1288         * gtk/gtktypeutils.[ch]: makes more send for gtk_type_is_a to return
1289         a boolean (thanks to Elrond for noticing this)
1290
1291 1998-11-07  Jay Cox  <jaycox@earthlink.net>
1292
1293         * gtk/gtkwindow.c: forward declaration for gtk_window_paint
1294         * gdk/gdkxid.c: declare xid_ht static
1295         * examples/*/Makefile: get the link ordering right.
1296
1297 Sat Nov  7 16:31:56 1998  Stefan Jeske  <stefan@gtk.org>
1298
1299         * gtk/gtkclist.c (gtk_clist_realize): Set background of
1300         title button window to GTK_STATE_NORMAL instead of
1301         GTK_STATE_SELECTED to avoid ugly flicker.
1302
1303 Fri Nov  6 23:29:40 1998  Lars Hamann  <lars@gtk.org>
1304
1305         * gtk/gtkclist.c (real_clear) (adjust_adjustments): resize clist
1306         if adjustments are NULL and list size has changed
1307         (gtk_clist_size_request): return real list requsition,
1308         if adjustments are NULL.
1309         (size_allocate_columns): use button->requisition.with, if column
1310         width is not set.
1311         (list_requisition_width): new function. return full list width.
1312         (gtk_clist_set_hadjustment) (gtk_clist_set_vadjustment): do not
1313         auto create adjustments.
1314         (gtk_clist_motion) (move_vertical) (move_horizontal):
1315         check adjustment != NULL.
1316
1317 Thu Nov  5 12:06:16 1998  Owen Taylor  <otaylor@redhat.com>
1318
1319         * gtk/gtkcheckbutton.c (gtk_check_button_draw_focus): Queue
1320         a clear/redraw, not just a redraw, so the focus
1321         gets undrawn properly.
1322
1323         * gtk/gtktogglebutton.c (gtk_toggle_button_unrealize): 
1324         Chain to gtk_widget_unrealize() instead of duplicating
1325         code.
1326
1327 Wed Nov  4 14:34:51 1998  Owen Taylor  <otaylor@redhat.com>
1328
1329         * gdk/gdk.c gdk/gdkprivate.h gdk/gdkwindow.c: Removed
1330         last vestiges of old DND.
1331
1332 Tue Nov  3 12:27:52 1998  Owen Taylor  <otaylor@redhat.com>
1333
1334         * gtk/gtkentry.c: Restored inner border to entries,
1335         erase cursors to background image.
1336
1337 Fri Oct 30 12:09:21 1998  Owen Taylor  <otaylor@redhat.com>
1338
1339         * gtk/gtkentry.c gtk/gtkstyle.[ch]: removed paint_entry() -
1340         it was identical to paint_flat_box().
1341
1342         * gtk/gtkstyle.c: Coding style fixups.
1343
1344         * gtk/gtkwindow.c (gtk_window_move_resize): removed useless
1345         test.
1346
1347         * gtk/gtkframe.c gtkstyle.[ch] gtknotebook.c: 
1348         Change 'side' for paint_[box/shadow]_gap and paint_extension
1349         to be GtkPositionType instead of a random int.
1350
1351         * gtk/gtkaspectframe.c (gtk_aspect_frame_paint): Use 
1352         "frame" as detail - an aspectframe should draw identical
1353         to a frame.
1354
1355 Tue Oct 27 09:58:11 1998  Owen Taylor  <otaylor@redhat.com>
1356
1357         * gdk/gdkwindow.c (gdk_window_merge_child_shapes): renamed
1358         from combine_child_shapes().
1359
1360         * gdk/gdkwindow.c: Merge propagate_shapes() and
1361         propagate_combine_shapes() to remove code duplication.
1362
1363 Thu Nov  5 14:31:57 PST 1998 Manish Singh <yosh@gimp.org>
1364
1365         * gdk/gdk.c: sometimes we get a KeyRelease before a KeyPress in
1366         gdk_event_translate, and the USE_XIM buffer isn't allocated yet.
1367         So allocate some mem if it's not already done.
1368
1369         * clist scrollbar merges from HEAD
1370
1371 Tue Nov  3 13:16:36 PST 1998 Manish Singh <yosh@gimp.org>
1372
1373         * gtk/Makefile.am: remove explict -ldl, gmodule takes care of that
1374
1375         * gtk/gtkdnd.c: start TARGET_MOTIF_SUCCESS from 0x40000000 instead
1376         of 0x80000000, so we stay within the bounds of a postive signed
1377         int (it broke some compilers)
1378
1379         * gtk/gtkmenushell.c
1380         * gtk/gtkoptionmenu.c: merges from HEAD to make option menus work
1381         when some of the menuitems are hidden
1382
1383         * gtk/gtkthemes.h: don't include dlfcn.h explictly, gmodule takes
1384         care of that
1385
1386         * gtk/gtkwidget.c: add a dummy continue after the line label
1387         next_rect, since some compilers don't like label: }
1388
1389 Sun Nov  1 20:05:55 PST 1998 Manish Singh <yosh@gimp.org>
1390
1391         * Okay, so we need the X11R6 keysyms so programs don't have to
1392         worry about them. They don't conflict anyway. Reverted the #ifdef
1393         changes to gtk/*.c
1394
1395         * gdk/Makefile.am: remove the BUILT_SOURCES rule, and make a
1396         special rule for them (X-derived-headers)
1397
1398 Sun Nov  1 05:30:32 PST 1998 Manish Singh <yosh@gimp.org>
1399
1400         * gdk/Makefile.am: changed the awk scripts to generate gdkcursors.h
1401         and gdkkeysyms.h into sed scripts, since the awk scripts weren't
1402         portable, and we really shouldn't be using awk anyway.
1403
1404         * makecursors.awk
1405         * makekeysyms.awk: bye bye
1406
1407         * gtk/gtkaccelgroup.c
1408         * gtk/gtkclist.c
1409         * gtk/gtknotebook.c
1410         * gtk/gtkwindow.c: don't use X11R6 keysyms if they aren't there
1411
1412 Sat Oct 31 15:22:14 PST 1998 Manish Singh <yosh@gimp.org>
1413
1414         * gdk/Makefile.am: do the same built sources trick for gdkcursors.h
1415         and gdkkeysyms.h. Remove those files from CVS.
1416
1417 Sat Oct 31 14:44:01 PST 1998 Manish Singh <yosh@gimp.org>
1418
1419         * gdk/gdk.c: move prototype of gdk_wm_protocols_filter outside
1420         of the USE_XIM #ifdef
1421
1422         * gtk/Makefile.am: cause the built sources to be rebuild when possible,
1423         even with --include-deps. Slightly different from timj's fix, to avoid
1424         circular dependency with gtkmarshal.c
1425
1426         * autogen.sh
1427         * gtk/gtkclist.[ch]
1428         * gtk/gtkctree.c
1429         * gtk/gtkfontsel.[ch]
1430         * gtk/gtklist.c
1431         * gtk/gtklistitem.c
1432         * gtk/gtkobject.[ch]
1433         * gtk/testgtk.c: merges from HEAD
1434
1435         * gtk/gtkmenubar.c
1436         * gtk/gtkradiomenuitem.c
1437         * gtk/gtktreeitem.c: cleanups
1438
1439 Wed Oct 28 23:32:19 PST 1998 Manish Singh <yosh@gimp.org>
1440
1441         * gdk/gdkrgb.c: Oops. s/BIGENDIAN/BIG_ENDIAN/
1442
1443 Wed Oct 28 19:04:49 PST 1998 Manish Singh <yosh@gimp.org>
1444
1445         * configure.in: AIX has libpthreads, to make sure you can have
1446         more than one thread. Also add -D_THREAD_SAFE, and reorder
1447         configure.in so CFLAGS doesn't get clobbered when we actually
1448         want to modify it
1449
1450         * gdk/gdkimage.c: initialize the bpp and byte_order fields properly
1451         in gdk_image_get
1452
1453         * gtk/testdnd.c: removed unused variable "buf"
1454
1455 Mon Oct 26 16:46:15 1998  Owen Taylor  <otaylor@redhat.com>
1456
1457         * gtk/gtkcontainer.c (gtk_container_unregister_toplevel): 
1458         remove_link(), not remove()
1459
1460 Thu Oct 22 02:27:30 PDT 1998 Manish Singh <yosh@gimp.org>
1461
1462         * gdk/gdkrgb.c: use glib endian stuff
1463
1464         * configure.in: don't need to check for endianness anymore
1465
1466         * gtk/gtkstyle.h: removed #pragma }, causing a silly warning
1467
1468 Wed Oct 21 17:44:27 1998  Owen Taylor  <otaylor@redhat.com>
1469
1470         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Reset
1471         all toplevel widgets, not toplevel windows. (I.e.,
1472         plugs should be reset)
1473
1474         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Yes, we
1475         _do_ need to notify the other toplevels - by the time
1476         the get the client messages, the RC file dates will
1477         have been updated.
1478
1479         * gtk/gtkcontainer.h: Added a function call to list
1480         every toplevel widget.
1481
1482         * gdk/gdk.c (gdk_event_send_client_message_to_all_recurse): 
1483         Don't send client messages to _every_ window on display!
1484         
1485 Tue Oct 20 16:21:04 1998  Owen Taylor  <otaylor@redhat.com>
1486
1487         * gtk/gtkdnd.c (gtk_drag_source_event_cb): Don't start drags 
1488         when dragging across widgets, only in drags
1489         starting in widget.
1490
1491 Tue Oct 20 15:59:49 1998  Owen Taylor  <otaylor@redhat.com>
1492
1493         * gtk/gtkdnd.c (gtk_drag_source_info_destroy): 
1494         Emit "drag_end" signal at end of drag.
1495
1496 Tue Oct 20 13:07:54 1998  Owen Taylor  <otaylor@redhat.com>
1497
1498         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Look
1499         for "gtk-embedded" data currently set by 
1500         GtkSocket, and use that to forward client message
1501         on to embedded windows. Only reset our own toplevel -
1502         the others will handle themselves. (Now that
1503         GtkMenus live in GtkWindows)
1504
1505 Mon Oct 19 16:40:40 1998  Owen Taylor  <otaylor@redhat.com>
1506
1507         * gdk/gdkdnd.c (get_client_window_at_coords_recurse): Modify
1508         client window finding code so that it works with
1509         WM's other than fvwm.
1510  
1511 Sun Oct 18 22:48:27 1998  Owen Taylor  <otaylor@redhat.com>
1512
1513         * gtk/gtkdrawwindow.c (gtk_draw_window_get_type): Added
1514         the "GtkDrawWindow" class, which is a descendent
1515         of the Window class which leaves its background alone.
1516         Essentially, a toplevel drawing area, though it does
1517         allow adding a child.
1518
1519 Sat Oct 17 00:40:51 1998  Owen Taylor  <otaylor@redhat.com>
1520
1521         * gtk/gtkrc.c (gtk_rc_style_init): Duplicate bg_pixmap_name when
1522         merging RC styles. Report new share/themes path for
1523         themes directory. Deref theme engines when appropriate.
1524
1525         * gtk/gtkclist.c: Set all backgrounds in _style_set().
1526         Make sure that pixel for xor_gc is never 0.
1527
1528         * gtk/gtkctree.c: Choose colors for plus/minus more
1529         carefully, in a hopefully style-independent fashion.
1530         (Still needs a bit more work)
1531
1532         * gtk/gtkwidget.c: Don't send expose events to widgets
1533         which are about to be resized and redrawn. (Needs a
1534         bit more thought.)
1535
1536         * gtk/gtknotebook.c (gtk_notebook_draw_tab): Avoid
1537         drawing on tabs for newly allocated, un-sized
1538         pages - we'll get the size wrong.
1539
1540 Thu Oct  1 17:38:07 1998  Owen Taylor  <otaylor@redhat.com>
1541
1542         * gtk/gtkwidget.c (gtk_widget_redraw_queue_remove): Fixed
1543         up stupidities in last commit.
1544
1545 Thu Oct  1 14:25:43 1998  Owen Taylor  <otaylor@redhat.com>
1546
1547         * gtk/gtkwidget.c: When handling queued resizes, account
1548         for handleboxes, where the widget heirarchy is different
1549         than the window heirarchy by just queueing a resize on
1550         the entire handlebox if the detached child is changed.
1551
1552         - Remove widgets from the redraw queue when reparenting,
1553         even if not unrealizing. We queue a resize/redraw in
1554         any case.
1555
1556 Mon Sep 28 21:07:01 EDT 1998 The Rasterman <raster@redhat.com>
1557         * gtk/gtkstyle.c: added check to see if the widget has been shaped
1558         byt the app via gtk_widget_shape_combine_mask and if it has does
1559         not reset the shape on theme change.
1560         
1561 Tue Sep 15 11:30:03 1998  Owen Taylor  <otaylor@redhat.com>
1562
1563         * gtk/gtkfilesel.c: Keep a list of directories in which we never
1564         want to stat the entries (like /afs), and assume everything in
1565         those directories is a subdirectory.
1566
1567         - When following a path, try to open components even when
1568         we don't find them in their parent's directory to
1569         support automounters.
1570
1571 Fri Sep 11 15:36:33 1998  Owen Taylor  <otaylor@redhat.com>
1572
1573         * gdk/gdkinputgxi.h (gdk_input_gxi_grab_pointer): Hopefully
1574         now at least compiles again.
1575
1576         * gdk/gdk.c (gdk_event_translate): Don't pass events
1577         on destroyed widgets to the gdk_input layer.
1578
1579 Thu Sep  3 19:45:34 1998  Owen Taylor  <otaylor@redhat.com>
1580
1581         * gtk/gtkthemes.c: Use g_module instead of dlopen()
1582
1583 Thu Sep  3 19:30:11 1998  Owen Taylor  <otaylor@redhat.com>
1584
1585         * gtk/gtktooltips.c (gtk_tooltips_expose): Check
1586         if we've changed widgets since the expose event
1587         was queued.
1588
1589 Mon Aug 31 15:33:13 1998  Owen Taylor  <otaylor@redhat.com>
1590
1591         * gtk/gtkstyle.h (struct _GtkStyle): Reordered a bit
1592         to restore approximate bin compatibility with the
1593         non-themes branch. (This does break bin compat
1594         within the themes branch.)
1595
1596 Sun Aug 30 16:48:27 1998  Owen Taylor  <otaylor@gtk.org>
1597
1598         * gtk/gtklabel.c (gtk_label_set): Eliminate a 
1599         gdk_window_clear_area() that snuck in with the
1600         menu underlines merge.
1601
1602 Mon Aug 24 23:37:26 1998  Owen Taylor  <otaylor@redhat.com>
1603
1604         * gtk/gtktext.c: Fixed some remaining background drawing,
1605           merges from main branch, cleanups.
1606
1607 Mon Aug 24 10:55:51 1998  Owen Taylor  <otaylor@redhat.com>
1608
1609         * gtk/gtknotebook.c (gtk_notebook_draw_tab): Don't
1610           dereference NULL focus tab.
1611
1612         * gtk/gtkscale.c (gtk_scale_[un]map): Add map/unmap
1613           functions since we need to both show/hide and 
1614           queue a redraw. (There's some duplication of drawing here, 
1615           we probably should only be queuing a redraw on the
1616           "value" portion of the scale.)
1617
1618 Fri Aug 21 19:02:30 1998  Owen Taylor  <otaylor@redhat.com>
1619
1620         * gtk/gtkrange.[ch] gtk/gtkhscale.c gtk/gtkvscale.[ch]: Fit scales
1621           into the theme-drawing framework. We do this by making them,
1622           like check/radio-buttons, no-window widgets with subwindows. We
1623           then move the value by calling gtk_widget_queue_clear() and only
1624           redraw the value in our draw() / expose() handler.  A virtual
1625           function clear_background is added which queues a clear on the
1626           "background" portion of the widget.
1627
1628 Fri Aug 21 13:04:27 1998  Owen Taylor  <otaylor@redhat.com>
1629
1630         * gtk/gtktext.c (mark_bg_gc): Make background colors work
1631           again. (We can't always paint the background with a
1632           paint() function - only do that for selected text)
1633
1634 Mon Aug 17 20:31:01 1998  Owen Taylor  <otaylor@redhat.com>
1635
1636         * gtk/gtktearoffmenuitem.c gtk/gtkclist.[ch] gtk/gtkctree.[ch]
1637           gtk/gtklabel.c gtk/gtkmenu.c: Merges from main branch.
1638
1639         * Makefile.am (SRC_SUBDIRS): Removed themes from SRC_SUBDIRS.
1640           the themes can't be built as part of the same build since
1641           they depend on gdk_imlib.
1642
1643 Fri Aug 14 12:44:30 1998  Owen Taylor  <otaylor@redhat.com>
1644
1645         * gtk/gtkthemes.c (gtk_theme_engine_get): Removed sample engine code
1646           from gtkthemes.c.
1647                 
1648         * configure.in ltconfig.in ltmain.sh gdk/Makefile.am gtk/Makefile.am
1649           gtk/
1650
1651           - Upgrade to libtool-1.2b + patch to add shared library dependencies
1652             for Linux. (Needs to be extended to other platforms where they
1653             are safe)
1654
1655          - Check for -ldl so this branch should build on all platforms, though
1656            themes will work on all platforms they could work on.
1657
1658          - Use -version and -release simultaneously: sonames stay as they are
1659            in the current scheme, but -lgtk-1.1 changes to -lgtk.
1660
1661          - Added in extra -l flags to library LDFLAGS so we get shared library
1662            dependencies against X libs and -ldl. (But not libgtk against 
1663            libgdk or libglib yet, since dependencies against uninstalled
1664            libraries aren't portable)
1665
1666 Fri Aug 21 16:10:38 EDT 1998 The Rasterman <raster@redhat.com>
1667         * gtkrc.c - added api calls to find module and theme paths from gtk.
1668           nuked gtk_install_prefix global.
1669         
1670 Fri Aug 21 12:36:46 EDT 1998 The Rasterman <raster@redhat.com>
1671         * fixed gtk_install_prefix global.
1672           
1673 Thu Aug 20 19:27:49 EDT 1998 The Rasterman <raster@redhat.com>
1674         * added gtk_install_prefix global const variabel to find where gtk is
1675           installed.
1676           
1677 Thu Aug 20 18:27:29 EDT 1998 The Rasterman <raster@redhat.com>
1678         * added ~/.gtk/lib/themes/engines/ to the default searchpath for
1679           gtk theme engines
1680         
1681 Thu Aug 20 18:27:29 EDT 1998 The Rasterman <raster@redhat.com>
1682         * made gtkrc scanner append dir that gtkrc is read from to pixmap path.
1683
1684 Mon Aug 10 23:03:55 1998  The Rasterman <raster@redhat.com>
1685         * Fixed minor problem in gtkhandlebox.c with drawing, and some
1686           notebook stuff. Also pixmap theme is now "clean" again.
1687           
1688 Mon Aug 10 23:03:55 1998  Owen Taylor  <otaylor@redhat.com>
1689         * gtk/gtkwidget.c (gtk_widget_clip_rect): Fixed up 
1690           queued area resizing once more.
1691
1692 Mon Aug 10 23:09:30 EDT 1998
1693         * Added a few drawing fixes for notebook and other widgets. finished
1694           pixmap theme up to the level that can be supported so far. (need to
1695           add path discovery 9ie where is the rc fiel from - add to pixmap 
1696           path so we can get theimages from there too). then we can package 
1697           themes. After that need to add to theme seartch path stuff in users 
1698           home dir.
1699           
1700 Thu Aug  6 16:49:25 1998  Owen Taylor  <otaylor@redhat.com>
1701
1702         * gtk/gtktooltips.c (gtk_tooltips_expose): Draw into a
1703           drawing area, draw in an expose handler.
1704
1705         * gtk/gtknotebook.c (gtk_notebook_expose): Check for
1706           empty current page.
1707
1708 Wed Aug  5 16:13:15 1998  Owen Taylor  <otaylor@redhat.com>
1709
1710         * gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel): Moved
1711           creation of GC's so that they will be set before
1712           they are used for map events (why are they used there?)
1713
1714         * gtk/gtkwidget.c: Fixed mistake that caused widgets to
1715           be queued in multiple times in the queue.
1716
1717 Wed Aug  5 14:23:52 1998  Owen Taylor  <otaylor@redhat.com>
1718
1719         * gtk/gtkstyle.c (gtk_default_draw_shadow): Don't set
1720           clip rects (or do anything) for shadow_none.
1721
1722 Wed Aug  5 13:14:57 1998  Owen Taylor  <otaylor@redhat.com>
1723
1724         * gtk/gtkbutton.c (gtk_button_paint): Restored paint function.
1725           Yes, it was needed. draw() and expose() are _not_
1726           identical.
1727
1728 Sat Aug  1 17:44:31 EDT 1998 EDT 1998 The Rasterman <raster@redhat.com>
1729         * Wheeeeeeeeeeeeeeee fixed radiobittons to work in gimp again.
1730
1731 Fri Jul 31 19:45:12 EDT 1998 The Rasterman <raster@redhat.com>
1732         * YES YES YES YES YES clist borders work again! YES! YES YES! gimme 
1733           more baby oooh yeah more more MORE YES YES.
1734
1735 Fri Jul 31 19:45:12 EDT 1998 The Rasterman <raster@redhat.com>
1736         * hopefully fixed problem wiht togglebuttons acting like
1737           radiobuttons in gtktogglebutton.c
1738
1739 Thu Jul 30 23:36:46 EDT 1998 The Rasterman <raster@redhat.com>
1740         * fixed another drawing buglet in the frame drawing code (actually
1741           in the clearing code but anyway in gtkstyle.c)
1742
1743 Thu Jul 30 19:23:48 EDT 1998 The Rasterman <raster@redhat.com>
1744         * Fixed warning from colorsel widget...
1745
1746 Thu Jul 30 19:10:42 EDT 1998 The Rasterman <raster@redhat.com>
1747         * Fixed defautl drawing code to no longer clobber the original style
1748           pixmap bgs as it did and added a helper funciton og gtkstyle.c to
1749           help with this.
1750
1751 Thu Jul 30 18:09:21 1998  Owen Taylor  <otaylor@redhat.com>
1752
1753         * gtk/gtkrc.c gtk/gtkstyle.c: More mm fixups
1754
1755         * gtk/gtktooltips.c: Pass a widget (the window) to the
1756           drawing function instead of the GtkTooltips.
1757
1758 Thu Jul 30 17:27:10 1998  Owen Taylor  <otaylor@redhat.com>
1759
1760         * gdk/gdkwindow.c: Abstract out checking for shape
1761           extension into a function.
1762
1763         * gtk/gtkwindow.c: Fix up gtk_window_expose()/draw().
1764           Remove extra callls to gtk_window_draw().
1765
1766 Thu Jul 30 11:18:43 1998  Owen Taylor  <otaylor@redhat.com>
1767
1768         * gtk/gtkstyle.c gtk/gtkrc.c: Memory management fixups.
1769
1770         * themes/th_main.c: Moved messages around so they are
1771           printed before destroying strings.
1772
1773 Wed Jul 29 16:56:07 1998  Owen Taylor  <otaylor@redhat.com>
1774
1775         * gdk/gdk.c: Fairly simple implementation of expose compression.
1776           (No GraphicsExpose compression yet, always compress
1777           with the equivalent of XtCompressMultiple - no compression
1778           of Expose events across non-Expose events)
1779         
1780         * gdk/gdk.h gdk/gdkrectangle.c: gdk_rectangle_union()
1781           Find rectangle bounding two rectangles.
1782
1783         * gtk/gtkstyle.c: Set clip rects for a few extra GC's
1784           in gdk_default_draw_shadow()
1785         
1786 Wed Jul 29 16:03:20 EDT 1998 The Rasterman <raster@redhat.com>
1787         * Fixed drawing functions to handle switching themes on the fly 
1788           gracefully and look decent.
1789           
1790 Tue Jul 28 22:52:10 EDT 1998 The Rasterman <raster@redhat.com>
1791         * Added all the theme drawing code to all widgets, fixed up minor
1792           nigglies in some widgets when it comes to themes, seem to be
1793           running into some funky behavior with clipping rects in GC's. Too
1794           many files to list here. (all files that now use gtk_paint_* are
1795           affected).
1796
1797 Tue Jul 28 22:49:16 1998  Owen Taylor  <otaylor@redhat.com>
1798
1799         * themes/th_main.c themes/th_draw.c gtk/testgtkrc: 
1800           Set up the demo theme so it is loaded from the RC file.
1801
1802         * themes/th_draw.c: Alleviate the hardcoded paths a wee
1803           bit. (use $HOME/themes/)
1804
1805         * gtk/gtkthemes.[ch] gtk/gtkmain.c: Load engines specified in 
1806           the RC file via dlopen()
1807
1808 Tue Jul 28 20:30:56 1998  Owen Taylor  <otaylor@redhat.com>
1809
1810         Internal handling of styles and RC styles pretty much
1811         completely reworked for Theme work.
1812
1813         * gtkthemes.[ch]: 
1814          - Added routines for virtualization of RcStyle and Style handling.
1815          - Temporary "sample" inline theme-engine. (Does nothing
1816            but print out a few messages.
1817         
1818         * gtkrc.[ch]
1819          - Made GtkRcStyle public, added flags to tell if particular
1820            colors have been set.
1821          - RC Styles are "transparent", and the final style for
1822            a widget is the composition of all matching styles
1823          - Added pointer to GtkThemeEngine, and gpointer engine_data
1824            to RC style and style.
1825          - Parse "engine" keyword, load the appropriate theme engine
1826            and call the engine's parser.
1827         
1828         *  gtkstyle.[ch]
1829          - Keep a GtkRcStyle * in styles created from Rc Styles.
1830          - Load up images from RC file at style attachment time.
1831          - Call ->engine->foo() at appropriate times.
1832          - Don't use a GCache. All incarnations for a style are
1833            just linked together in a list, depend on the RC style 
1834            code to find the existing copy.
1835
1836 Tue Jul 28 14:41:54 1998  Owen Taylor  <otaylor@redhat.com>
1837
1838         * gtk/gtkwidget.[ch]: Added the concept of queued redraws
1839           of partial areas. This can be done either relative
1840           to the existing windows (gtk_widget_queue_clear[_area]())
1841           or relative to the future allocation of the widget
1842           (gtk_widget_queue_draw[_area]). 
1843
1844           The initial implementation is pretty braindead, but
1845           can be improved.
1846
1847         * gtk/gtkwidget.[ch]: Removed calls to gdk_window_clear_area()
1848           in favor of gtk_widget_queue_clear().
1849         
1850         * gtk/gtklabel.[ch] gtk/gtkpixmap.[ch]: Removed needs_clear
1851           flags in favor of gtk_widget_queue_clear()
1852         
1853 Tue Aug  4 19:12:14 1998  Owen Taylor  <otaylor@redhat.com>
1854
1855         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fixed up
1856           handling of partially clipped areas.
1857
1858 Thu Nov  5 18:52:35 1998  Lars Hamann  <lars@gtk.org>
1859
1860         * gtk/gtkclist.h (struct _GtkCListClass)
1861         * gtk/gtkclist.c (gtk_clist_class_init): removed scrollbar_spacing.
1862
1863 Thu Nov  5 16:00:32 1998  Lars Hamann  <lars@gtk.org>
1864
1865         * gtk/gtkclist.h (struct _GtkCList): removed vscrollbar, hscrollbar,
1866         vscrollbar_policy, hscrollbar_policy. added h/vadjustment.
1867
1868         * gtk/gtkclist.c (gtk_clist_class_init): added new args types
1869         "hadjustment" & "vadjustment"
1870          (gtk_clist_set_arg) (gtk_clist_get_arg): new object class
1871         set/get_arg functions
1872         (gtk_clist_construct): don't create/adjust scrollbars.
1873         (gtk_clist_set_hadjustment) (gtk_clist_set_vadjustment): new functions
1874         to set h/vadjustments
1875         (gtk_clist_get_vadjustment) (gtk_clist_get_hadjustment): new functions
1876         to query h/vadjustments
1877         (create_scrollbars): removed.
1878         (create_adjustments): replacement for create_scrollbars
1879         (gtk_clist_new): call gtk_clist_new_with_titles
1880         (gtk_clist_new_with_titles): don't warn on titles == NULL
1881         (move_horizontal): use CLAMP instead
1882         (gtk_clist_set_policy): deprecated method.
1883         use gtk_scrolled_window_set_policy instead.
1884         (vadjustment_value_changed): use clist->vadj.
1885         (adjust_scrollbars): renamed to adjust_adjustments
1886         (adjust_adjustments): former adjust_scrollbars
1887         (gtk_clist_destroy): unref adjustments
1888         (gtk_clist_size_allocate) (gtk_clist_map) (title_focus)
1889         (gtk_clist_unmap) (gtk_clist_size_request) (gtk_clist_focus)
1890         (gtk_clist_size_allocate) (gtk_clist_forall): don't use scrollbars
1891         (gtk_clist_thaw) (real_insert_row) (real_remove_row)
1892         (gtk_clist_set_row_height) (real_resize_column):
1893         call adjust_adjustments
1894         (gtk_clist_moveto): return if clist has no adjustments yet.
1895         (gtk_clist_parent_set): new GtkWidget::parent_set function.
1896         Autogenerate h/vadjustments if needed.  
1897         (move_horizontal) (move_vertical): some cleanups
1898
1899         * gtk/gtkviewport.c (gtk_viewport_set_arg) (gtk_viewport_new):
1900         call only gtk_viewport_set_h/vadjustment and let these functions
1901         do the work.
1902         (gtk_viewport_set_hadjustment) (gtk_viewport_set_vadjustment):
1903         generate a new adjustment if needed
1904
1905         * gtk/gtkscrolledwindow.h ((struct _GtkScrolledWindow):
1906         use a guint bitfield for h/vscrollbar_policy and h/vscrollbar_visible
1907         
1908         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
1909         queue_resize if visibility of scrollbars changes
1910         (gtk_scrolled_window_remove): only call container_remove with
1911         scrolled_window->viewport automatically if viewport was autogenerated
1912         (gtk_scrolled_window_add): add widget as scrolled_window->viewport.
1913         auto create a viewport only if widget does not take h/vadjustments.
1914         (gtk_scrolled_window_construct): don't generate a viewport
1915         automatically.
1916         (gtk_scrolled_window_forall): call callback with viewport in any case
1917         (gtk_scrolled_window_set_arg): call gtk_container_add in case of
1918         ARG_VIEWPORT
1919         (gtk_scrolled_window_size_allocate) (gtk_scrolled_window_size_request)
1920         (gtk_scrolled_window_map) (gtk_scrolled_window_unmap): check
1921         viewport != NULL
1922
1923         * gtk/testgtk.c 
1924         (create_ctree) (export_ctree) (create_clist): use a scrolled_window
1925         in conjunction with clists/ctrees
1926
1927         * gtk/gtkfilesel.c (gtk_file_selection_init): use a scrolled_window
1928         in conjunction with clists
1929
1930         * gtk/gtkfontsel.c (gtk_font_selection_init): use a scrolled_window
1931         in conjunction with clists
1932
1933 Wed Nov  4 21:52:57 1998  Lars Hamann  <lars@gtk.org>
1934
1935         * gtk/gtkctree.c (gtk_ctree_unlink): fix focus_row adjustment
1936         (gtk_ctree_remove_node): select focus_row if needed
1937         (cell_size_request): only get pixmap size if pixmap != NULL
1938
1939 Wed Nov  4 04:30:37 1998  Tim Janik  <timj@gtk.org>
1940
1941         * gtk/gtkwidget.c: added a bunch of checks for widget != NULL and
1942         GTK_IS_WIDGET (widget):
1943
1944 Wed Nov  4 02:02:07 1998  Lars Hamann  <lars@gtk.org>
1945
1946         * gtk/gtkclist.c (real_remove_row) (sync_selection): set correct
1947         focus_row after a remove_row call.
1948
1949 Sun Nov  1 21:00:06 GMT 1998  Austin Donnelly  <austin@greenend.org.uk>
1950
1951         * gtk/gtkoptionmenu.c
1952         * gtk/gtkmenushell.c: make option menus work when some of the
1953         menuitems are hidden - previously, option menu would popup too
1954         high.
1955
1956 1998-10-31  Raja R Harinath  <harinath@cs.umn.edu>
1957
1958         * gtk/gtkfeatures.h.in: Remove `#pragma }'.
1959
1960         * gdk/gdki18n.h: Update to use new `glib' widechar defines.
1961
1962         * configure.in (CFLAGS): Don't use test -z "echo .. | grep".  Use
1963         case instead.
1964         (wchar.h, wctype.h, iswalnum): Duplicate widechar tests from `glib'.
1965         (GDK_WLIBS): New variable.  Lists extra libraries needed to use
1966         widechar functions.
1967         * gtk-config.in (--libs): List $GDK_WLIBS, too.
1968
1969 Sat Oct 31 03:11:57 CST 1998 Shawn T. Amundson <amundson@gtk.org>
1970
1971         * Released GTK+ 1.1.3
1972         
1973         * INSTALL:
1974         * NEWS:
1975         * README:
1976         * gtk+.spec:
1977         * docs/gtk-config.1: updated for v1.1.3
1978
1979         * Makefile.am
1980         * sanity_check
1981         * docs/Makefile.am: Includes new 'make release' as well as
1982           'make sanity'.  Also handles html and text creation from html,
1983           and puts them into the distribution
1984
1985         * docs/Makefile.sgml: removed, similar functionality is now in 
1986           the Makefile.am file
1987
1988         * docs/.cvsignore: ignore html and text directories
1989         * docs/glib.texi: removed (now in glib dist)
1990
1991 Fri Oct 30 20:02:36 1998  Lars Hamann  <lars@gtk.org>
1992
1993         * gtk/gtklist.c (gtk_list_remove_items_internal): 
1994         free undo_un/selection, unselect list_item before disconnect
1995         signal functions
1996         (gtk_list_destroy): removed. gtk_list_shutdown clears the list
1997         already
1998         (gtk_list_signal_item_select) (gtk_list_signal_item_deselect)
1999         (gtk_list_signal_item_toggle)   (gtk_list_signal_scroll_horizontal)
2000         (gtk_list_signal_toggle_focus_row) (gtk_list_signal_select_all)
2001         (gtk_list_signal_unselect_all) (gtk_list_signal_undo_selection)
2002         (gtk_list_signal_start_selection) (gtk_list_signal_end_selection)
2003         (gtk_list_signal_toggle_add_mode) (gtk_list_signal_scroll_vertical)
2004         (gtk_list_signal_extend_selection) (gtk_list_signal_focus_lost):
2005         new functions. These functions are signal connected to inserted
2006         list_items, to handle key bindings and GtkItem::de/select/toggle
2007         signals.
2008
2009         * gtk/gtklistitem.c (gtk_list_item_class_init): added missing
2010         gtk_object_class_add_signals call.
2011         (gtk_list_item_toggle_focus_row) (gtk_list_item_select_all)
2012         (gtk_list_item_unselect_all) (gtk_list_item_undo_selection)
2013         (gtk_list_item_start_selection) (gtk_list_item_end_selection)
2014         (gtk_list_item_extend_selection) (gtk_list_item_scroll_horizontal)
2015         (gtk_list_item_scroll_vertical) (gtk_list_item_toggle_add_mode):
2016         removed. These functions are handled via connected
2017         gtk_list_signal_* functions now
2018
2019 Fri Oct 30 05:24:43 1998  Tim Janik  <timj@gtk.org>
2020
2021         * gtk/Makefile.am: cause the built sources to be rebuild when possible,
2022         even with --include-deps:
2023         $(libgtk_la_SOURCES): $(BUILT_SOURCES)
2024
2025 Fri Oct 30 01:56:08 1998  Tim Janik  <timj@gtk.org>
2026
2027         * gtk/gtkobject.c (gtk_object_remove_no_notify): renamed from
2028         gtk_object_data_set_destroy to fit the gtkobject.h API.
2029
2030         * applied patch from Damon Chaplin <DAChaplin@email.msn.com>:
2031         * gtk/gtkfontsel.h:
2032         * gtk/gtkfontsel.c:
2033         Added support for an extra 'base' filter which an application can
2034         set to restrict the fonts available to the user (e.g. a terminal
2035         program only wants the user to be able to select fixed-width fonts).
2036         The type of font (bitmap/scalable/scaled bitmap) is now
2037         also a part of the filter, so that an application can
2038         request that only scalable fonts are shown.
2039         There are new functions to set the base & user filters.
2040         I've also stopped the up/down key press signals getting
2041         to the clists since the font selection widget handles
2042         them itself. It acted a bit strangely before.
2043
2044 Sun Oct 25 20:27:02 1998  Tim Janik  <timj@gtk.org>
2045
2046         * gtk/gtkmain.c (gtk_init): support an environment variable
2047         GTK_MODULES= which takes a colon sperated list of module names
2048         automatically loaded at gtk_init() startup.
2049
2050 Sun Oct 25 08:04:33 1998  Tim Janik  <timj@gtk.org>
2051
2052         * gtk/gtkwidget.c: added more g_return_if_fail() statements.
2053
2054 Thu Oct 22 22:40:35 1998  Lars Hamann  <lars@gtk.org>
2055
2056         * gtk/gtkctree.c (gtk_ctree_destroy): removed. gtk_clist_destroy
2057         is sufficient
2058
2059 Thu Oct 22 16:22:55 1998  Lars Hamann  <lars@gtk.org>
2060
2061         * gtk/gtkclist.c (COLUMN_FROM_XPIXEL): samll fix for invisible
2062         columns
2063
2064 Thu Oct 22 02:29:53 1998  Tim Janik  <timj@gtk.org>
2065
2066         * gtk/gtkfilesel.h: GtkType and macro fixups
2067         * gtk/gtkfilesel.c (gtk_file_selection_complete): set a pattern
2068         for the file selection widget to try a completion on (set the
2069         initial filter).
2070
2071 Wed Oct 14 14:34:04 1998  Tim Janik  <timj@gtk.org>
2072
2073         * gtk/gtkmain.c: implement idle functions via GHook. this gives a
2074         slight speed improvement and lessens code duplication.
2075
2076 Tue Oct 20 14:53:28 1998  Owen Taylor  <otaylor@redhat.com>
2077
2078         * gtk/gtkdnd.c: Always send "drag_leave" to dests
2079         without GTK_DEST_DEFAULT_MOTION. 
2080
2081 Tue Oct 20 11:55:24 1998  Owen Taylor  <otaylor@redhat.com>
2082
2083         * gdk/gdk.c (gdk_event_translate): Handle DestroyNotify
2084         on destroyed windows so we clear the XID table properly.
2085         Finish up restructure of return value handling that
2086         was half-done before.
2087
2088 Tue Oct 20 12:57:10 1998  Owen Taylor  <otaylor@redhat.com>
2089
2090         * gdk/gdk.c (gdk_send_clientmessage_to_all): Hunt
2091         the window tree more comprehensively, so that we find
2092         client windows hidden under non-toplevels.
2093
2094 Tue Oct 20 12:43:04 1998  Owen Taylor  <otaylor@redhat.com>
2095
2096         * gtk/gtkselection.c (gtk_selection_data_set): 
2097         Maintain the null-termintation guarantee, even when 
2098         data = NULL, length = 0. (Warn on data = NULL, 
2099         length > 0)
2100
2101 Mon Oct 19 16:41:44 1998  Owen Taylor  <otaylor@redhat.com>
2102
2103         * gtk/gtkwidget.h (struct _GtkWidgetClass): Add in coordinates
2104         into function prototype for drag_data_received. 
2105
2106 Tue, 20 Oct 1998 11:33:10 +0200 Paolo Molaro <lupus@debian.org>
2107
2108         * gtk/gtkdnd.h,gtk/gtkdnd.c: delete is a reserved word in c++.
2109
2110 Mon Oct 19 23:44:41 1998  Lars Hamann  <lars@gtk.org>
2111
2112         * gtk/gtkclist.c: rearranged some functions
2113         (gtk_clist_set_column_auto_resize): new function. toggle auto_resize
2114         flag of column
2115         (gtk_clist_set_column_resizeable): if resizeable disable auto_resize 
2116         (gtk_clist_set_border): deprecated function, use
2117         gtk_clist_set_shadow_type instead.
2118         (gtk_clist_set_shadow_type): replacement for gtk_clist_set_border
2119         (adjust_scrollbars): some cleanups
2120         (select_row) (unselect_row): removed. replaced by equivalent
2121         gtk_signal_emit calls
2122         (add_style_data): removed, use gtk_clist_style_set instead
2123         (gtk_clist_style_set): fill in size data, after style was set. 
2124         (set_cell_contents) (gtk_clist_set_shift) (gtk_clist_set_row_style)
2125         (gtk_clist_set_cell_style): auto_resize columns if needed
2126         (column_auto_resize): resize column if needed for auto_resize 
2127         (real_clear): disable auto_resize while list destroy
2128         (resize_column): removed
2129
2130         * gtk/gtkctree.c : (gtk_ctree_remove_node)
2131         (gtk_ctree_set_line_style) (gtk_ctree_set_expander_style)
2132         (gtk_ctree_node_set_row_style) (gtk_ctree_node_set_cell_style)
2133         (set_cell_contents) (gtk_ctree_node_set_shift) (gtk_ctree_set_spacing)
2134         (real_tree_move) (gtk_ctree_set_indent) (gtk_ctree_insert_node)
2135         (real_tree_collapse) (real_tree_expand) (column_auto_resize):
2136         auto_resize columns if needed
2137         (gtk_ctree_collapse_recursive) (gtk_ctree_collapse_to_depth)
2138         (real_clear): disable auto_resize while processing the tree
2139
2140         * gtk/testgtk.c (create_clist) (create_ctree): set auto_resize
2141         for one column
2142
2143 Mon Oct 19 08:31:36 1998  Owen Taylor  <otaylor@redhat.com>
2144
2145         * gtk/gtkdnd.c (gtk_drag_selection_received): Fixed
2146         typo - look for right atom on transfer failures.
2147
2148 Sun Oct 18 20:52:22 1998  Owen Taylor  <otaylor@gtk.org>
2149
2150         * gtk/gtkwidget.c gtkmarshal.list: Change signal 
2151         for drag_data_get to match the use that was being
2152         made of it everywhere else...
2153
2154 Sun Oct 18 18:16:39 1998  Owen Taylor  <otaylor@gtk.org>
2155
2156         * gdk/gdk.c gdkprivate.h: Added a modular client-message-filter
2157         mechanism, that is used for the DND messages.
2158
2159           Removed all the old DND code.
2160
2161         * gdk/gdkcolormap.c gdk/gdkcolormap.h: Add a function to
2162         get the visual of a given colormap.
2163         
2164         * gtk/gtkcolorsel.c: Conversion to new DND, drag 
2165         a color-swatch.
2166
2167         * gdk/gdk.h gdk/gdkdnd.c: The low-level
2168         X oriented portions of drag and drop protocols.
2169         Sending and receiving client messages, and navigating
2170         window trees.
2171
2172         * gdk/gdkimage.c: added a gdk_flush() when destroying
2173         SHM images to hopefully make it more likely that
2174         X will gracefully handle the segment being destroyed.
2175
2176         * gdk/gdkprivate.h gtk/gtkdebug.h: Add new 
2177         DND debugging flags.
2178
2179         * gtk/gtkeditable.[ch]: Updates for the selection handling
2180         changes.
2181         
2182         * gtk/gtkselection.[ch]: Added GtkTargetList, a 
2183         refcounted data structure for keeping track of lists
2184         of GdkAtom + information. Removed selection_handler_add
2185         in favor of a "drag_data_get" signal.
2186
2187         * gtk/gtkdnd.[ch] gtk/gtk.h: New files - highlevel (event loop
2188         dependent) parts of the DND protocols, display of drag icons,
2189         drag-under highlighting, and the "default handlers".
2190
2191         * gtk/gtkinvisible.[ch]: New widget - InputOnly offscreen
2192         windows that are used for reliable pointer grabs and
2193         selection handling in the DND code.
2194
2195         * gtk/testdnd.c: New test program for new DND. (Old
2196         DND tests in testgtk still need to be converted.)
2197
2198         * gtk/testselection.c: Use the new selection API.
2199         
2200         * docs/dnd_internals: Start at describing how
2201         all the new code works inside.
2202
2203         * docs/Changes-1.2.txt: New file describing source-incompatible
2204         changes in GTK+-1.2.
2205
2206 Sat Oct 17 22:50:34 1998  Owen Taylor  <otaylor@gtk.org>
2207
2208         * gdk/gdkwindow.c (gdk_window_remove_filter): Free
2209         the right list node.
2210
2211         * gdk/gdkwindow.c (gdk_window_init): Add gdk_root_parent
2212         to the XID table so we can receive events on it.
2213
2214 Wed Oct 14 12:57:40 1998  Owen Taylor  <otaylor@redhat.com>
2215
2216         * gdk/gdk.c gdk/gdk.h (gdk_event_get_time): New function
2217         to get the timestamp from a generic event.
2218
2219 Fri Oct  9 13:16:04 1998  Owen Taylor  <otaylor@redhat.com>
2220
2221         * gtk/gtkwidget.c (gtk_widget_add_events): Added function
2222         that safely adds additional events to a widget's event 
2223         mask, even if the widget has previously been realized.
2224         (We can do this, but not remove events from the event
2225          mask).
2226
2227 Fri Oct  2 17:35:35 1998  Owen Taylor  <otaylor@redhat.com>
2228
2229         * gdk/gdkproperty.c (gdk_property_get): Allow type == 0,
2230         for AnyPropertyType.
2231
2232 Fri Oct  2 10:32:21 1998  Owen Taylor  <otaylor@redhat.com>
2233
2234         * gdk/gdkproperty.c (gdk_atom_intern): Add client-local
2235         hashing.
2236
2237 Thu Sep 24 20:33:54 1998  Owen Taylor  <otaylor@redhat.com>
2238
2239         * gdk/gdk.c (gdk_event_send_clientmessage_toall): serial
2240         isn't a timestamp.
2241
2242 Thu Sep 17 14:23:03 1998  Owen Taylor  <otaylor@redhat.com>
2243
2244         * gdk/gdk.c (gdk_event_translate): Removed printing
2245         of unknown window lookup warnings. (Made it
2246         a GDK_NOTE) - they happen in many circumstances.
2247
2248 Tue Sep  8 12:38:43 1998  Owen Taylor  <otaylor@redhat.com>
2249
2250         * Call XFilterEvent() on events we get for unknown
2251         windows, since it may be the window Xlib uses to
2252         communicate with the IM. 
2253         (From Yung-Ching Hsiao <yhsiao@cae.wisc.edu>)
2254
2255 Tue Sep  1 10:53:52 1998  Owen Taylor  <otaylor@redhat.com>
2256
2257         * gtk/gtkprogress.c (gtk_progress_finalize): Unref
2258         the adjustment.
2259
2260 Thu Aug 27 12:03:14 1998  Owen Taylor  <otaylor@redhat.com>
2261
2262         * gtk/gtksignal.c (gtk_signal_newv): Improve warning
2263         message for return_value + GTK_RUN_FIRST.
2264
2265 1998-10-18  Martin Baulig  <martin@home-of-linux.org>
2266
2267         * gtk/gtktext.c (gtk_text_set_line_wrap): new function to toggle
2268         line wrapping like gtk_text_set_word_wrap () toggles word wrapping.
2269
2270 Fri Oct 16 15:59:02 1998  Lars Hamann  <lars@gtk.org>
2271
2272         * gtk/testgtk.c (insert_row_clist) (create_clist): change a few cell
2273         styles of inserted row
2274         (change_style): change style of focus_row
2275
2276         * gtk/gtkclist.c (gtk_clist_get_row_style) (gtk_clist_set_row_style)
2277         (gtk_clist_get_cell_style) (gtk_clist_set_cell_style): new functions
2278         to set/get row/cell styles.
2279         (gtk_clist_realize): attach row and cell style, allocate row colors.
2280         (gtk_clist_unrealize): detach row and cell styles.
2281         (get_cell_style): new function. get correct cell style.
2282         (draw_cell_pixmap): new function. 
2283         (draw_row): draw cells with row or cell styles.
2284         (row_new): set cell and row styles to NULL.
2285         (row_delete): detach & unref cell and row styles.
2286
2287         * gtk/gtkctree.c (ctree_detach_styles) (ctree_attach_styles): 
2288         new functions to attach/detach styles and allocate colors.
2289         (gtk_ctree_realize) (gtk_ctree_unrealize): attach/detach cell and row
2290         styles of invisible nodes.
2291         (draw_cell_pixmap): new function. 
2292         (get_cell_style):  new function. get correct cell style.
2293         (gtk_ctree_draw_expander): new function. draw tree expander.
2294         (gtk_ctree_draw_lines): new function.draw tree lines.
2295         (draw_row): draw cells with row or cell styles.
2296         (row_new): set cell and row styles to NULL.
2297         (row_delete): detach & unref cell and row styles.
2298         (gtk_ctree_node_get_row_style) (gtk_ctree_node_set_row_style) 
2299         (gtk_ctree_node_get_cell_style) (gtk_ctree_node_set_cell_style): 
2300         Analogons of GtkCList functions 
2301         (gtk_ctree_set_spacing): new function. set spacing between
2302         tree expander and cell contents
2303         (gtk_ctree_set_expander_style): new function. set expander style
2304         of ctree.
2305         (ctree_is_hot_spot): few changes due to draw_row modifications.
2306
2307 Wed 14 Oct 1998 10:17:13 +0200 Paolo Molaro <lupus@debian.org>
2308
2309         * gtk/gtkcombo.c: try completion on MOD1-TAB.
2310         Handle case when the combo->list is empty.
2311
2312 Mon Oct 12 07:51:34 1998  Tim Janik  <timj@gtk.org>
2313
2314         * gtk/gtksignal.c (gtk_signal_handlers_destroy): only unref those
2315         handlers that have not yet been disconnected (finally managed to
2316         trigger the gtk_signal_handler_unref() paranoid warning).
2317
2318 Sat Oct 10 03:37:50 1998  Tim Janik  <timj@gtk.org>
2319
2320         * gtk/gtkwidget.c (gtk_widget_get_arg): fixed default value for x, y,
2321         width and height which is -1 and not -2.
2322
2323 Sat Oct 10 00:50:53 PDT 1998 Manish Singh <yosh@gimp.org>
2324
2325         * HACKING
2326         * autogen.sh: we need libtool 1.2b now
2327
2328 Sat Oct 10 03:37:50 1998  Tim Janik  <timj@gtk.org>
2329
2330         * gtk/gtktable.c (gtk_table_set_child_arg): take the left, right, top
2331         and bottom attach arguments as mandatory and readjust the table size
2332         and opposing edge accordingly if required. this way the order in which
2333         the arguments are set doesn't matter.
2334
2335 Thu Oct  8 15:53:59 1998  Owen Taylor  <otaylor@redhat.com>
2336
2337         * gtk/gtktypeutils.c (gtk_type_class_init): Fixed warning
2338         message to print out parent class name correctly.
2339
2340 Thu Oct  8 07:07:10 1998  Tim Janik  <timj@gtk.org>
2341
2342         * gtk/gtkobject.h: 
2343         * gtk/gtkobject.c:
2344         removed functions gtk_object_set_data_destroy and
2345         gtk_object_set_data_destroy_by_id.
2346         added functions gtk_object_remove_no_notify and
2347         gtk_object_remove_no_notify_by_id which will remove a certain data
2348         portion without invokation of its destroy notifier, this should only
2349         be used in very controled circumstances.
2350
2351 Wed Oct  7 23:59:37 1998  Lars Hamann  <lars@gtk.org>
2352
2353         * gtk/gtkclist.c (gtk_clist_set_column_resizeable): added
2354         size_allocate_title_buttons call
2355         (gtk_clist_realize): changed initial column.window position
2356
2357 Wed Oct  7 20:27:28 1998  Lars Hamann  <lars@gtk.org>
2358
2359         * gtk/gtkctree.h (struct _GtkCTree): removed xor_gc, use clists
2360         xor_gc instead
2361         * gtk/gtkctree.c (create_xor_gc): removed
2362         (gtk_ctree_button_press): set correct line_attributes for
2363         clist->xor_gc on drag start
2364         (gtk_ctree_button_release): reset clist->xor_gc
2365
2366 Wed Oct  7 05:15:36 1998  Tim Janik  <timj@gtk.org>
2367
2368         * gtk/gtk*.h:
2369         * gdk/gdk.h: removed all occourances of #pragma } and #pragma {
2370         which were in place to fixup emacs' cc-mode indentation.
2371         putting (c-set-offset 'inextern-lang 0) into ~/.emacs is the
2372         proper way to achive this and doesn't produce problems for
2373         stupid pragma-related compiler bugs. ;)
2374
2375 Wed Oct  7 00:59:46 1998  Lars Hamann  <lars@gtk.org>
2376
2377         * gtk/gtkclist.h: new signal GtkCList::resize_column.
2378         * gtk/gtkclist.c (draw_row): don't draw invisible columns
2379         (size_allocate_title_buttons) (size_allocate_columns):
2380         skip invisible columns
2381         (new_column_width): take min/max_width into account 
2382         (gtk_clist_button_release) (gtk_clist_motion):
2383         changes due to changed new_column_width function
2384         (LIST_WIDTH): changed define to inline function.
2385         (real_resize_column): class function for resize_column signal
2386         (gtk_clist_motion): fixed autoscrolling for column resizes
2387         (gtk_clist_set_column_visibility): don't hide last visible column,
2388         changed visible arg to gboolean
2389         (gtk_clist_set_column_min_width)(gtk_clist_set_column_max_width):
2390         new functions : set min/max width of a column
2391         (gtk_clist_set_column_resizeable): new function : enable/disable
2392         column resize operations by mouse
2393
2394         * gtk/gtkctree.c (draw_row): don't draw invisible columns
2395         (ctree_is_hot_spot): return FALSE if tree_column is invisible
2396         (draw_xor_line)  (draw_xor_rect): draw full rectangle/line if
2397         tree_column is invisible
2398         (gtk_ctree_find_all_by_row_data)
2399         (gtk_ctree_find_all_by_row_data_custom):  new function from
2400         Ronan Bourlier <ronan@radioss.com>. Returns a GList of all
2401         GtkCTreeNodes with row->data == data.
2402
2403 Tue Oct  6 14:05:00 1998  Tim Janik  <timj@gtk.org>
2404
2405         * gtk/testgtk.c (cb_tree_destroy_event): use g_free to free g_malloced
2406         memory (Martin Pool <mbp@wistful.humbug.org.au>).
2407
2408 Mon Oct  5 15:26:30 1998  Raph Levien  <raph@gimp.org>
2409
2410         * gdk/gdkrgb.c (gdk_rgb_convert_0888_br): Fixed a few long's that
2411         should have been guint32. Thanks to Tristan Colgate for finding it.
2412
2413 Sun Oct  4 22:47:22 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2414
2415         * gtk/gtkcalendar.h:
2416           gtk/gtkcalendar.c: More changes:
2417           - The day with focus is now seperated from the day selected
2418           - The day with focus has the xor's line around it
2419           - The selected day is now standard selected style
2420           - The week names and week numbers are now also drawn
2421             with selected style
2422           - Space now selects the day which has focus
2423
2424 Sun Oct  4 17:55:52 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2425
2426         * gtk/gtkcalendar.h:
2427           gtk/gtkcalendar.c: Some significant changes, including:
2428           - No longer draw focus around entire widget, only around
2429             the day which has focus
2430           - Draw relief around entire widget like originally planned
2431           - Show header and day names by default 
2432           - Move data private to the widget out of GtkCalendar struct
2433             and only point to it with a gpointer
2434           - Remove some old unused variables from GtkCalendar struct
2435
2436 Sun Oct  4 17:45:43 BST 1998  Tony Gale  <gale@gtk.org>
2437
2438         * docs/gtk_tut.sgml: update I've had sat around:
2439           - Grammar patch from James R. Van Zandt <jrv@vanzandt.mv.com>
2440           - Range Widget update from David Huggins-Daines <bn711@freenet.carleton.ca>
2441           - New Toolbar section from Jacek Wojdel <J.C.Wojdel@cs.tudelft.nl>
2442
2443 1998-10-01  Martin Baulig  <martin@home-of-linux.org>
2444
2445         * gtk/gtkclist.h (GtkCListColumn): Added `visible'.
2446         
2447         * gtk/gtkclist.c (gtk_clist_set_column_visibility): New function.
2448         Makes it possible to individually show and hide columns.
2449         (size_allocate_columns): Adapted to keep track of hidden columns.
2450         (size_allocate_title_buttons): Likewise.
2451
2452 Sat Oct  3 17:54:48 1998  Tim Janik  <timj@gtk.org>
2453
2454         * gtk/gtkargcollector.c (GTK_ARG_COLLECT_VALUE): for unknown foreign
2455         fundamental types, collect an argument of the type returned from
2456         gtk_type_get_varargs_type(). removed the first macro argument which
2457         was just the same as the fundamental type of the *arg passed to
2458         the macro.
2459         * gtk/gtkarg.c (gtk_args_collect): 
2460         * gtk/gtksignal.c (gtk_signal_collect_params): changed callers.
2461
2462         * gtk/gtktypeutils.h: 
2463         * gtk/gtktypeutils.c: new functions gtk_type_set_varargs_type() and
2464         gtk_type_get_varargs_type() to set and query the varargs collect
2465         type used for a fundamental type, registered outside of Gtk.
2466
2467         * gtk/gtkmisc.c (gtk_misc_class_init): changed object arguments
2468         GtkMisc::xalign and GtkMisc::yalign from GTK_TYPE_DOUBLE to
2469         GTK_TYPE_FLOAT.
2470
2471         * gtk/gtkframe.c (gtk_frame_class_init): changed object arguments
2472         GtkFrame::label_xalign and GtkFrame::label_yalign from GTK_TYPE_DOUBLE
2473         to GTK_TYPE_FLOAT.
2474
2475 Sat Oct  3 01:25:24 1998  Lars Hamann  <lars@gtk.org>
2476
2477         * gtk/gtkctree.c (gtk_ctree_insert_gnode) (real_tree_collapse)
2478         (gtk_ctree_link) (gtk_ctree_unlink) (real_tree_expand): 
2479         fixes for assignment errors with GTK_CTREE_NODE_NEXT/PREV
2480
2481         (real_tree_expand) (real_tree_collapse):
2482         don't expand/collapse a leaf
2483
2484 Fri Oct  2 16:10:36 1998  Tim Janik  <timj@gtk.org>
2485
2486         * gtk/gtktypeutils.c (gtk_type_enum_find_value): make sure we don't
2487         segfault when looking up a non-existant value name (reported by
2488         Pablo <pcj+gtk@primenet.com>).
2489
2490 Thu Oct  1 10:40:20 1998  Tim Janik  <timj@gtk.org>
2491
2492         * gtk/gtkclist.h (gtk_clist_prepend):
2493         * gtk/gtkclist.c (gtk_clist_prepend): new function.
2494         (gtk_clist_insert): added g_return_val_if_fail()
2495         statements. accept a row parameter < 0 or > clist->rows to indicate
2496         append mode.
2497         (real_clear): first clean up all internal pointers and lists (e.g.
2498         clist->row_list or clist->rows), then delete the distinct rows. this
2499         is required because of destroy notifiers, we need to have all internal
2500         structures updated and be reentrant.
2501
2502         * gtk/gtkcalendar.h: 
2503         * gtk/gtkcalendar.c: removed the `gtk_calendar_' prefix from the
2504         GtkCalendarClass signal methods.
2505         GtkType and macro fixups, put `void' into () prototypes, avoid C++
2506         style comments, indentation fixes, fixed some g_return_if_fail()
2507         statements.
2508         (gtk_calendar_paint_header):
2509         (gtk_calendar_paint_day_names): 
2510         (gtk_calendar_paint_week_numbers): 
2511         (gtk_calendar_paint_main): made these static functions.
2512         (gtk_calendar_select_month):
2513         (gtk_calendar_select_day):
2514         (gtk_calendar_mark_day):
2515         (gtk_calendar_unmark_day):
2516         (gtk_calendar_get_date): signedness corrections, use guints
2517         rather than gints.
2518         (gtk_calendar_size_request): removed unused variables.
2519
2520 Wed Sep 30 13:11:09 1998  Tim Janik  <timj@gtk.org>
2521
2522         * gtk/gtkitemfactory.c (gtk_item_factory_add_item): list all
2523         widgets in the ->widgets_by_action list that have a callback
2524         defined (not only those with a callback_action!=0).
2525
2526 Sun Sep 27 22:02:48 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2527
2528         * gtk/gtkcalendar.h:
2529           gtk/gtkcalendar.c:
2530           examples/calendar/gcalendar.c: remove HAVE_FEATURES stuff
2531
2532 Sun Sep 27 02:18:06 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2533
2534         * gtk/gtkcalendar.h:
2535           gtk/gtkcalendar.c:
2536           examples/calendar: Added gtkcalendar widget and demo
2537
2538 Sat Sep 26 06:15:34 1998  Tim Janik  <timj@gtk.org>
2539
2540         * gtk/gtkclist.c (gtk_clist_sort): 
2541         (gtk_clist_clear): 
2542         (gtk_clist_unselect_all): 
2543         (gtk_clist_select_all): adde g_return_if_fail() statements.
2544
2545 Sat Sep 26 04:46:22 1998  Tim Janik  <timj@gtk.org>
2546
2547         * configure.in: set binary age and interface age to 0.
2548
2549         * gtk/gtkspinbutton.h: 
2550         * gtk/gtkspinbutton.c: changed gtk_spin_button_construct to
2551         gtk_spin_button_configure. gtk_spin_button_construct is still defined
2552         as an alias for gtk_spin_button_configure for source compatibility,
2553         but actuall use is deprecated.
2554         typeness corrections, i.e. gint->gboolean and gint->guint.
2555         added object arguments: GtkSpinButton::value, GtkSpinButton::wrap,
2556         GtkSpinButton::shadow_type, GtkSpinButton::update_policy,
2557         GtkSpinButton::numeric, GtkSpinButton::snap_to_ticks,
2558         GtkSpinButton::adjustment, GtkSpinButton::digits and
2559         GtkSpinButton::climb_rate.
2560         GtkType and macro fixups.
2561
2562 Sat Sep 25 23:33:55 1998  Tim Janik  <timj@gtk.org>
2563
2564         * gdk/gdkwindow.c (gdk_window_get_root_origin): new function to get
2565         the *real* geometry position of a window, taken possible window
2566         manager offsets into account.
2567         this has been succesfully tested with fvwm, fvwm-2, bowman, olwm,
2568         olvwm, twm, ctwm, mlvwm, windowmaker and enlightenment.
2569         it does fail though for amiwm which adds windows to a pseudo root
2570         window, and for icewm by a small offset because it defines the
2571         geometry position whithin its border.
2572
2573         * gtk/testgtk.c: added "saved position" test to figure how
2574         gdk_window_get_root_origin() interacts with window managers (repopup
2575         this window to figure ;).
2576
2577 Wed Sep 23 06:09:19 1998  Tim Janik  <timj@gtk.org>
2578
2579         * configure.in: update to Gtk+ version 1.1.3, binary age 1,
2580         interface age 1.
2581
2582         * gtk/gtkobject.c
2583         (gtk_object_ref): 
2584         (gtk_object_unref): check for ->ref_count to be greater than 0 (the
2585         existing code was buggy in letting ->ref_count==0 pass through and
2586         then failing the living_objs_ht assertion).
2587
2588         * gtk/gtkclist.c (draw_row): fix chopping bug for right justified
2589         pixtext fields (Roman Pozlevich <roma@botik.ru>).
2590
2591 Mon Sep 21 23:53:18 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2592
2593         * Released GTK+ 1.1.2
2594
2595 Mon Sep 21 01:12:44 1998  Jay Cox  (jaycox@earthlink.net)
2596
2597         * gtk/Makefile.am: use $(PERL) instead of perl
2598         * gtk/gtkcolorsel.c: render properly in non-square aspect ratios.
2599         also much faster to render.
2600
2601 Mon Sep 21 07:44:30 1998  Tim Janik  <timj@gtk.org>
2602
2603         * gtk/gtkobject.c (gtk_object_class_add_signals): reallocate
2604         the required memory block, rather than allocating it newly from
2605         scratch and doing a full-blown block copy on it.
2606
2607 Mon Sep 21 02:30:06 1998  Tim Janik  <timj@gtk.org>
2608
2609         * NEWS file update for upcoming release of Gtk+ version 1.1.2,
2610         binary age 0, interface age 0.
2611
2612         * gtk/gtkmain.c (gtk_init): enforce gtk-modules to always be resident.
2613
2614 Sun Sep 20 18:21:46 1998  Owen Taylor  <otaylor@redhat.com>
2615
2616         * ltmain.sh: Patch to libtool-1.2b to make --disable-static
2617         work.
2618
2619 Sun Sep 20 09:52:39 1998  Owen Taylor  <otaylor@gtk.org>
2620
2621         * HACKING: indent other than GNU indent should be OK
2622           now.
2623
2624         * gtk/genmarshal.pl gtk/Makefile.am: Call indent on file
2625           instead of piping through indent. If indent wasn't
2626           found in ./configure don't bother indenting at 
2627           all.
2628
2629 Fri Sep 18 19:11:10 1998  Owen Taylor  <otaylor@redhat.com>
2630
2631         * gdk/gdk.h: Add names to prototype for gdk_image_new_bitmap.
2632
2633 Fri Sep 18 18:54:59 1998  Jay Cox  (jaycox@earthlink.net)
2634
2635         * gtk/Makefile.am: use $(AWK) instead of awk
2636
2637 1998-09-18  Raja R Harinath  <harinath@cs.umn.edu>
2638
2639         * gtk/Makefile.am (gdk_headers): 
2640         Remove references to $(top_srcdir). 
2641         (gtk.defs, gtktypebuiltins{.h,_vars.c,_ids.c,_evals.c}): Simplify.
2642         * gtk/makeenums.pl (parse_entries): Don't look for $srcdir.
2643
2644 Fri Sep 18 19:58:24 1998  Tim Janik  <timj@gtk.org>
2645
2646         * gtk/gtkobject.h (struct _GtkObject): changed gpointer object_data; to
2647         GData*object_data to cure compiler warnings.
2648
2649 Thu Sep 17 19:06:47 PDT 1998 Manish Singh <yosh@gimp.org>
2650
2651         * install-sh
2652         * missing
2653         * mkinstalldirs: updated to latest automake version
2654
2655 1998-09-17  Raja R Harinath  <harinath@cs.umn.edu>
2656
2657         * gtk/Makefile.am (source_headers): Move `gtkfeature.h' ...
2658         (gtkinclude_HEADERS): ... here.
2659         (gtk.defs): Pass `g' flag to sed, to replace all occurances.
2660
2661 Thu Sep 17 10:49:51 1998  Raph Levien  <raph@gimp.org>
2662
2663         * HACKING: added GNU indent, as it is now required to successfully
2664         build gtk+. Should this be detected in autoconf, possibly?
2665
2666 Tue Sep 15 14:57:30 1998  Owen Taylor  <otaylor@redhat.com>
2667
2668         * Makefile.am gtk-config.in l*: Update to libtool-1.2b,
2669         change library versioning scheme to drop LT_RELEASE
2670         from the -l line, while keeping it in the soname.
2671
2672 Tue Sep 15 14:10:33 1998  Owen Taylor  <otaylor@redhat.com>
2673
2674         * configure.in Makefile.in: define a MAINT-like variable REBUILD
2675         which is set if Perl and awk are found, and autogenerated sources
2676         can be rebuilt. Remove the auto-generated sources from
2677         CVS. 
2678
2679         Add dependencies so that the autogenerated sources are 
2680         rebuilt if the files they depend on change. 
2681         (This unfortunately currently results in the entire
2682         gtk/ directory being rebuilt when any header changes.
2683         Moving all enums to gtkenums.h would fix this.)
2684
2685 Thu Sep 17 05:12:48 1998  Tim Janik  <timj@gtk.org>
2686
2687         * gtk/gtkobject.h: added gtk_object_set_data_destroy and
2688         gtk_object_set_data_destroy_by_id functions to set the destroy
2689         function pointer for an existing data portion.
2690
2691         * gtk/gtkobject.c: removed the GtkObjectData implementation and
2692         made all gtk_object_*data* functions use the GLib equivalents.
2693
2694 1998-09-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2695
2696         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): Test whether type
2697         is not equal to GTK_TOOLBAR_CHILD_RADIOBUTTON before checking that
2698         (widget != NULL), otherwise radio button insertion will not work
2699         -- the widget argument is NULL for the first radio button in the
2700         group.
2701
2702 Tue Sep 15 13:09:24 1998  Owen Taylor  <otaylor@redhat.com>
2703
2704         * gdk/gdkimage.c (gdk_image_new): Reverted global changes
2705         of g_new to malloc(), added back in the one place where
2706         it actually mattered. #include <stdlib.h>.
2707
2708         * gdk/gdkrgb.c: g_malloc() to malloc() as above.
2709
2710 Tue Sep 15 11:30:03 1998  Owen Taylor  <otaylor@redhat.com>
2711
2712         * gtk/gtkfilesel.c: Keep a list of directories in which we never
2713         want to stat the entries (like /afs), and assume everything in
2714         those directories is a subdirectory.
2715
2716         - When following a path, try to open components even when
2717         we don't find them in their parent's directory to
2718         support automounters.
2719
2720 Tue Sep 15 11:06:13 1998  Owen Taylor  <otaylor@redhat.com>
2721
2722         * gtk/gtkwindow.c (gtk_window_move_resize): Don't request
2723         a new size from the WM if we asked for the same size
2724         before and our request was rejected.
2725
2726         * gtk/gtkwindow.c (gtk_window_configure_event): If
2727         in response to a request, we get a configure event
2728         with unchanged dimensions, send a synthetic expose
2729         since ForgetGravity won't expose our window.
2730
2731 Mon Sep 14 14:28:24 1998  Owen Taylor  <otaylor@redhat.com>
2732
2733         * gtk/gtktext.c (adjust_adj): Change the way we
2734         set the adjustments on resize so that it tries to
2735         keep the beginning of the text in approximately
2736         the same place. 
2737
2738         Removed assertion that the above change made invalid.
2739
2740 Thu Sep 10 22:19:35 1998  Owen Taylor  <otaylor@redhat.com>
2741
2742         * gtk/gtktext.c: - Save first_cut_pixels when switching
2743         sizes, so that if we switch to the _same_ size,
2744         we don't move lines around.
2745
2746         - Make sure that the text area always has a size of at
2747         least 1x1, then do all computations when realized.
2748
2749         - When fetching lines in recompute_geometry, make
2750         sure we fetch enough lines to cover the screen.
2751         
2752 Mon Sep 14 21:47:35 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
2753
2754         * gdk/gdkimage.c: changed g_new()s to malloc()s and 
2755           g_free()s to free()s to avoid mixing g_new()s with 
2756           free()s.  X itself uses free() on some of the 
2757           malloced memory.
2758
2759 Sat Sep 12 10:44:06 1998  Owen Taylor  <otaylor@redhat.com>
2760
2761         * gtkfilesel.c: Maintain a list of directories like
2762         /afs we know contain only directories, and avoid
2763         stat'ing files in those directories. (Because
2764         stat'ing all files in /afs is extremely expensive)
2765
2766         To support automounters, try to open directories,
2767         even if we couldn't find them when reading their
2768         parent directory.
2769
2770 Thu Sep  3 10:29:03 1998  Owen Taylor  <otaylor@redhat.com>
2771
2772         * gtk.m4: Conditionalize check for GTK_MAJOR_VERSION,
2773         to allow the same gtk.m4 to work for 1.0.x and
2774         1.1.x.
2775
2776 Fri Sep 11 15:25:10 1998  Lars Hamann  <lars@gtk.org>
2777
2778         * gtk/gtkclist.c (gtk_clist_set_selectable): new function
2779         to set/unset the selectable flag of a single row.
2780         (gtk_clist_get_selectable): new function 
2781         to get the state of the selectable flag
2782
2783         * gtk/gtkctree.c (gtk_ctree_node_set_selectable)
2784         (gtk_ctree_node_get_selectable): clist analogons
2785         
2786 Thu Sep 10 17:04:03 1998  Raph Levien  <raph@gimp.org>
2787
2788         * gtk/testrgb.c (testrgb_rgb_test): Small changes to the test
2789         pattern.
2790
2791         * gdk/gdkrgb.c (gdk_rgb_convert_gray4_pack): Fixed some alignment
2792         bugs in the 4bit gray cases.
2793
2794 Wed Sep  9 02:48:44 PDT 1998 Manish Singh <yosh@gimp.org>
2795
2796         * configure.in: added -posix check for NeXTStep
2797
2798         * gtk/testthreads.c: applied part of gtk-joke-980907-0 to use
2799         a unique buffer for each thread.
2800
2801         * docs/gtk-config.1: clarified copyright
2802
2803 Tue Sep  8 05:19:51 1998  Tim Janik  <timj@gtk.org>
2804
2805         * gdk/gdk.c (gdk_init): use g_atexit() instead of ATEXIT.
2806
2807         * gtk/gtkmain.c (gtk_init): use g_atexit() instead of ATEXIT.
2808
2809         * gtk/gtkobject.c (gtk_object_init_type): use g_atexit() instead of
2810         ATEXIT.
2811         
2812         * ltconfig: use GLib's ltconfig which honours lcc.
2813
2814 Mon Sep  7 20:09:23 PDT 1998 Manish Singh <yosh@gimp.org>
2815
2816         * configure.in: comment the -std1 check and save LIBS properly
2817
2818 Sun Sep  6 12:36:23 PDT 1998 Manish Singh <yosh@gimp.org>
2819
2820         * gtk/testrgb.c: #include <stdlib.h>
2821
2822 Sat Sep  5 16:01:19 1998  Owen Taylor  <otaylor@gtk.org>
2823
2824         * gdk/gdkinputxfree.h gdk/gdk.c gdk/gdkinputgxi.h:
2825         When the pointer is grabbed on an input window,
2826         either explicitely, or through press-grab, and
2827         then grabbed on a non-input window, ungrab the
2828         devices.
2829
2830 Sat Sep  5 07:13:19 1998  Tim Janik  <timj@gtk.org>
2831
2832         * gtk/gtktypeutils.h: don't include any gdk headers.
2833         added structure definitions for GtkTypeObject and GtkTypeClass,
2834         which cover the very basic fields of GtkObject and GtkObjectClass,
2835         which are actually used by the type system.
2836         
2837         * gtk/gtktypeutils.c: don't include gtkobject.h or gtkcontainer.h,
2838         we only refer to our own structures. improved class inheritance
2839         sanity checking a bit.
2840
2841         * gtk/gtkobject.h: placed appropriate comments at the beginnings
2842         of the GtkObject and GtkObjectClass structures, which explain
2843         their relationship to GtkTypeObject and GtkTypeClass.
2844
2845         * gtk/gtktypeutils.h:
2846         * gtk/gtkobject.h:
2847         moved GTK_STRUCT_OFFSET(), GTK_CHECK_CAST(), GTK_CHECK_CLASS_CAST(),
2848         GTK_CHECK_TYPE() and GTK_CHECK_CLASS_TYPE() macro definitions from
2849         gtkobject.h to gtktypeutils.h.
2850
2851         * gtk/gtkobject.h:
2852         * gtk/gtkobject.c:
2853         removed gtk_object_check_cast() and gtk_object_check_class_cast()
2854         functions. to keep source compatibility, we can provide macro aliases
2855         for the corresponding gtk_type_* functions. but then again, people
2856         shouldn't have been using these functions anyways since they were part
2857         of Gtk's internal API.
2858
2859         * gtk/gtktypeutils.h:
2860         * gtk/gtktypeutils.c:
2861         implemented gtk_type_check_object_cast() and gtk_type_check_class_cast()
2862         functions to check GtkTypeObject and GtkTypeClass types.
2863
2864 Thu Sep  3 07:16:54 1998  Tim Janik  <timj@gtk.org>
2865
2866         * gtk/gtkctree.h:
2867         * gtk/gtkctree.c: `const' fixups.
2868
2869         * gtk/gtkclist.h:
2870         * gtk/gtkclist.c: `const' fixups and some coding style adaptions.
2871
2872         * gtk/gtkctree.c (gtk_ctree_insert_node): don't dereference *text
2873         if it is passed as NULL.
2874
2875 Wed Sep  2 22:41:40 1998  Raph Levien  <raph@gimp.org>
2876
2877         * gdk/gdkrgb.c (gdk_rgb_select_conv): Fixed 32bpp image depth
2878         big-endian cases. Added a 4bpp packed gray mode (somewhat
2879         incorrectly hardwired to MSB), which should take care of
2880         Stric's hardware.
2881
2882 Thu Sep  3 04:45:57 1998  Tim Janik  <timj@gtk.org>
2883
2884         * gtk/gtkaccelgroup.c (gtk_accel_group_add): plug another small
2885         GtkSIgnalQuery leak.
2886
2887 Thu Sep  3 04:22:20 1998  Tim Janik  <timj@gtk.org>
2888
2889         * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current):
2890         GTK_MENU_DIR_CHILD: check for the existance of
2891         menu_shell->active_menu_item before accessing its child.
2892         GTK_MENU_DIR_PREV:
2893         GTK_MENU_DIR_NEXT: if we haven't had an active item and still
2894         don't, make a default selection.
2895
2896 Wed Sep  2 00:28:58 1998  Tim Janik  <timj@gtk.org>
2897
2898         * gtk/gtkwidget.c (gtk_widget_propagate_state): iterate
2899         the children with _forall for sensitivity changes and with
2900         _foreach on pure state changes. this fixes a lot of the
2901         old inclusions of internal widgets into _foreach calls.
2902
2903         * gtk/gtktree.c: removed gtk_tree_foreach, let gtk_tree_forall
2904         do the work. don't walk the subtrees of first level children.
2905
2906         * gtk/gtktreeitem.c: provide a _forall implementation,
2907         which walks the subtrees as well for include_internals.
2908
2909         * gtk/gtkmenuitem.c: provide a _forall implementation, which walks
2910         the submenus as well for include_internals.
2911
2912         * gtk/gtkscrolledwindow.c: removed gtk_scrolled_window_foreach and
2913         implemented gtk_scrolled_window_forall, which will iterate over
2914         the viewport and the scrollbars for gtk_container_forall or
2915         iterate over the viewports children for gtk_container_foreach.
2916
2917         * gtk/gtktoolbar.c: 
2918         * gtk/gtktable.c: 
2919         * gtk/gtkpaned.c:
2920         * gtk/gtkpacker.c:
2921         * gtk/gtkmenushell.c: 
2922         * gtk/gtklist.c: 
2923         * gtk/gtkfixed.c:
2924         * gtk/gtkclist.c:
2925         * gtk/gtkbox.c: 
2926         * gtk/gtkbin.c: 
2927         * gtk/gtknotebook.c:
2928         removed the old gtk_*_foreach functions and provided gtk_*_forall.
2929
2930         * gtk/gtknotebook.c:
2931         (gtk_notebook_real_switch_page): expose tabs.
2932         (gtk_notebook_page_num): new function to return the page number
2933         of a distinct child.
2934         (gtk_notebook_focus): minor fixups. foxus handling is still screwed
2935         under some circumstances.
2936
2937         * gtk/gtktreeitem.c:
2938         (gtk_real_tree_item_select):
2939         (gtk_real_tree_item_deselect): major fixes.
2940         some general fixups wrt queue_redraw, and tree items not being
2941         NO_WINDOW widgets.
2942
2943         * gtk/gtklistitem.c:
2944         (gtk_real_list_item_select): 
2945         (gtk_real_list_item_deselect): 
2946         (gtk_real_list_item_toggle): 
2947         removed unneccessary queue_redraw calls.
2948
2949 Wed Aug 30 09:42:07 1998  Tim Janik  <timj@gtk.org>
2950
2951         * gtk/gtkoptionmenu.c: allow optionmenus to have the focus and
2952         automatically popup the menu on space bar.
2953
2954 Wed Aug 26 06:40:34 1998  Tim Janik  <timj@gtk.org>
2955
2956         * gtk/gtkcontainer.h:
2957         * gtk/gtkcontainer.c: implemented gtk_container_forall() (as a class
2958         method), which acts similar to gtk_container_foreach(), but iterates
2959         over internal children. the GtkContainer::foreach signal vanished in
2960         favour of a new class method ->forall() that optionally includes
2961         internal widgets.
2962
2963         * gtk/gtkclist.c (gtk_clist_init): provide no _foreach implementation
2964         but a _forall implementation, since all child widgets we have are
2965         internal ones.
2966         (column_button_create): set the parent window prior
2967         to gtk_widget_set_parent().
2968
2969         * gtk/gtkwidget.c:
2970         exchanged all calls to gtk_container_foreach() with
2971         gtk_container_forall().
2972
2973         * gtk/gtkwidget.h: 
2974         * gtk/gtkwidget.c: added the GTK_COMPOSITE_CHILD, exported through
2975         the GtkWidget::composite_child argument. to have a widget created
2976         with the flag initially, two new functions got added to wrap a widgets
2977         creation:
2978         gtk_widget_push_composite_flag() and gtk_widget_pop_composite_flag().
2979
2980 Wed Aug 25 23:37:39 1998  Tim Janik  <timj@gtk.org>
2981
2982         * gtk/gtktooltips.h:
2983         * gtk/gtktooltips.c: exported gtk_tooltips_create_window() as
2984         gtk_tooltips_force_window(), so tooltips->tip_window can be accessed
2985         prior to the first tip being set.
2986         don't put an extra reference on the window, since it is a toplevel,
2987         it wont get destroyed from anywhere else.
2988
2989         * overall macro and GtkType fixups.
2990
2991 1998-09-02  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2992
2993         * gtk/gtkcolorsel.c: Replaced "foo == TRUE" and "foo == FALSE"
2994         constructs by more forgiving ones.  (Does anyone else feel like
2995         the color selector need rewriting?).
2996
2997 Tue Sep  1 10:53:52 1998  Owen Taylor  <otaylor@redhat.com>
2998
2999         * gtk/gtkprogress.c (gtk_progress_finalize): Unref
3000         the adjustment.
3001
3002         * gtk/gtkmenu.c: Modified reference counting so
3003         that the reference count from the toplevel that
3004         the menu creates to the menu is invisible to the
3005         application.
3006
3007 Mon Aug 31 21:36:31 1998  Raph Levien  <raph@gimp.org>
3008
3009         * gdk/gdkrgb.c (gdk_rgb_select_conv): Improved the 24bpp
3010         conversion selection logic, so Suns and other big-endian
3011         machines should get faster conv routines. This is also the
3012         point where 4bpp gray and 1bpp are checked in, although I
3013         wouldn't be surprised if 1bpp is a little buggy. This is
3014         synchronized with the 0.0.7 release of GdkRgb.
3015
3016         * gtk/Makefile.am: 
3017         * gtk/testrgb.c: Checked in testrgb.c to CVS, and made the
3018         appropriate change to the Makefile.am
3019
3020 Mon Aug 31 15:18:19 1998  Raph Levien  <raph@gimp.org>
3021
3022         * gdk/gdkrgb.[ch]: Added a gdk_draw_rgb_image_dithalign function,
3023         which is good for images that scroll (makes the dither patterns
3024         align correctly)
3025
3026 Sat Aug 29 14:50:56 PDT 1998 Manish Singh <yosh@gimp.org>
3027
3028         * gdk/gdkcolor.c:
3029         (gdk_colormap_new) (gdk_colormap_get_system):
3030         quell some warnings with g_hash_table_new
3031
3032         * gtk/gtkaccelgroup.c (gtk_accel_group_add): free the GtkSignalQuery
3033         when we're done with it
3034
3035         * gtk/itemfactory.c:
3036         (gtk_item_factory_from_path):
3037         (gtk_item_factory_create_item): free some strings
3038
3039         * gtk/gtklabel.c:
3040         (gtk_label_finalize): free label->pattern when done
3041         (gtk_label_parse_uline): null terminate pattern string, delete
3042         some duplicated code
3043
3044         * gtk/testthreads.c: add #include <unistd.h> for sleep()
3045
3046 Tue Aug 25 16:52:47 1998  Owen Taylor  <otaylor@redhat.com>
3047
3048         * gtk/gtktext.c (recompute_geometry): Make sure the
3049         mark we pass to line start is the beginning of a 
3050         real line, not a wrapped one.
3051
3052 Mon Aug 24 18:37:15 1998  Owen Taylor  <otaylor@redhat.com>
3053
3054         * gtk/gtktext.c: Reference count the fonts used in
3055         the text widget.
3056
3057         * gdk/gdk.h gdk/gdkcolor.c: Rename the color allocation
3058         freeing functions to be more consistent, and more 
3059         convenient; leave the old names in for backwards compatibility.
3060
3061         * gdk/gdkcolor.c gdk/gdkprivate.h: Reference count the
3062         allocations in pseudo-color colormaps to greatly reduce
3063         calls to XAllocColor. Keep a per-colormap hashtable to
3064         speed up finding if there is an already-allocated matching
3065         color.
3066
3067         * gdk/gdkcolor.c: Don't just match read the system colormap
3068         when the colormap is created, but synchronize our copy
3069         with the system colormap periodically.
3070         
3071         * gdk/gdk.c gdk/gdktypes.h gtk/gtkentry.c gtk/gtktext.c: 
3072         Change XIM constants names to match GDK conventions
3073
3074         * gtk/testinput.c: Allow the drawing area to get the focus.
3075
3076         * gtk/testgtk.c: Change around the Text test to demonstrates
3077         multiple fonts, use more colors.
3078
3079         * gtk/gtkwidget.c: Improve gtk_widget_get_colormap()/visual()
3080         so they work after a widget is unrealized.
3081
3082         * gtk/gtktext.[ch]: Remove the requirement that the text
3083         widget be realized before adding text (!) Allocate colors
3084         ourself, instead of requiring the caller allocate them.
3085         Allow changing styles to work properly by keeping track
3086         of the values for a certain property are default or
3087         set explicitely.
3088
3089         * gtk/gtkmenu.h: Added some comments.
3090
3091         * gtk/gtkentry.c: Changes to match XIM constants.
3092
3093         * gtk/gdk.h gdk/gdkwindow.c: Add gdk_drawable_set_data(),
3094         for adding keyed data to drawables. (Uses g_dataset
3095         internally)
3096
3097         * gdk/gdkpixmap.c: Keep track of the colors we allocate,
3098         when creating an XPM - store them as user data for the GdkPixmap,
3099         so we don't leak colors when we create pixmaps from XPM's.
3100
3101         Allocate memory for color information in large blocks instead of 
3102         as many little pieces.
3103         
3104 Mon Aug 24 11:09:32 PDT 1998 Manish Singh <yosh@gimp.org>
3105
3106         * gdk/gdkrgb.c: removed some unused variables
3107
3108         * gtk/gtkclist.c
3109         * gtk/gtkmain.c: #if 0'd out some unused code
3110
3111         * gtk/gtkobject.c: check for NULL object hash table in gtk_object_debug
3112
3113 Mon Aug 24 02:36:53 1998  Tim Janik  <timj@gtk.org>
3114
3115         * gtk/gtkarg.h:
3116         * gtk/gtkarg.c:
3117         * gtk/gtkwidget.h: 
3118         * gtk/gtkwidget.c: 
3119         * gtk/gtkobject.h:
3120         * gtk/gtkobject.c:
3121         * gtk/gtkcontainer.h: 
3122         * gtk/gtkcontainer.c: 
3123         (gtk_object_new):
3124         (gtk_object_set):
3125         (gtk_widget_new):
3126         (gtk_widget_set): 
3127         (gtk_container_add_with_args):
3128         (gtk_container_child_set):
3129         begin the parameter elipsis (...) after the first argument name. this
3130         change is source compatible, since it was always required, even as NULL.
3131         (gtk_args_collect): 
3132         (gtk_object_args_collect): 
3133         (gtk_container_child_args_collect):
3134         changed prototypes to pass first_arg_name, also, pass va_list variable
3135         by value (portability concerns). callers changed.
3136
3137         * gtk/gtkargcollector.c: implemented gtk_arg_collect_value() as
3138         a huge macro GTK_ARG_COLLECT_VALUE() <shrug>. this is needed because we
3139         can't pass va_list variables by reference for portability reasons.
3140
3141 Fri Aug 21 22:40:00  Raph Levien  <raph@gtk.org>
3142
3143         * gdk/gdkrgb.c: added calls to gdk_rgb_init in the get_cmap and
3144         get_visual calls, so that it gets implicitly initialized.
3145
3146 Fri Aug 21 13:06:04 1998  Stuart Parmenter  <pavlov@gimp.org>
3147         * gtk/gtkfeatures.h.in:  added GTK_HAVE_FEATURES_1_1_2 for changes
3148         such as GtkCTree function name changes
3149         
3150 Fri Aug 21 02:31:26 1998  Tim Janik  <timj@gtk.org>
3151
3152         * gtk/gtkmain.h:
3153         * gtk/gtkmain.c (gtk_check_version): added a function to perform a
3154         binary version check, returning a static string for error descriptions,
3155         or NULL on success.
3156
3157 Thu Aug 20 20:08:15 1998  Owen Taylor  <otaylor@redhat.com>
3158
3159         * gtk/gtktext.c ([un]draw_cursor): Check to see if we've
3160         computed our geometry yet, and if not, ignore the request.
3161
3162         * gtk/gtktext.c (correct_cache_insert): Fiddled around
3163         some more. All the bug-test codes seem to work at once
3164         now. (fingers crossed...)
3165
3166 Thu Aug 20 13:04:08 PDT 1998 Manish Singh <yosh@gimp.org>
3167
3168         * gdk/gdkrgb.c: silly visual fixes
3169
3170         * gtk/testgtk.c: call gdk_rgb_init so color preview test actually
3171         works
3172
3173 1998-08-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3174
3175         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Do not do
3176         anything if the event's window is not the bin window.
3177         (gtk_handle_box_motion): Likewise.
3178
3179 1998-08-19  Raph Levien  <raph@gimp.org>
3180
3181         * gtk/testgtk.c (create_color_preview): pushed the colormap and
3182         visual so it would work better with GdkRgb.
3183
3184 1998-08-19  Raph Levien  <raph@gimp.org>
3185
3186         * gdk/gdkrgb.c: fixed some bugs in the 565_d mode, and added a
3187         4bpp static_color mode (for vga displays). Also fixed a '64' value
3188         in the dither matrix, which was causing one pixel out of 16k to be
3189         dithered wrong.
3190
3191         * gtk/gtkpreview.{c,h}: Changed it to work with GdkRgb, gutting
3192         most of the contents. This is an API change - any apps that relied
3193         on the internal structure of GtkPreview will need some change -
3194         most notably in the use of reserved colors. The Gimp needed
3195         changes in this regard.
3196
3197 Wed Aug 19 00:11:14 1998  Tim Janik  <timj@gtk.org>
3198
3199         * gtk/gtkmain.c (gtk_init): allow argument parsing in gtk without
3200         G_ENABLE_DEBUG being defined (specifically --gtk-module= and
3201         --g-fatal-warnings), noticed by miguel.
3202
3203 Tue Aug 18 17:54:40 1998  Tim Janik  <timj@gtk.org>
3204
3205         * gtk/gtkrc.c (gtk_rc_parse_file): use g_get_current_dir() instead of
3206         getcwd().
3207
3208         * gdk/gdkprivate.h:
3209         * gdk/gdkglobals.c:
3210         * gdk/gdkwindow.c:
3211         * gdk/gdk.c:
3212         * gtk/gtkwindow.c: 
3213         * gtk/gtkitemfactory.c: 
3214         dropped gdk_progname, use g_get_prgname()/g_set_prgname() instead.
3215
3216         * gtk/gtkselection.c:
3217         * gtk/gtkpreview.c:
3218         * gtk/gtkobject.c: 
3219         * gtk/gtkmain.c: 
3220         * gtk/gtktypeutils.c: indentation fixes due to g_message() use.
3221
3222         * gdk/gdkrgb.c: exchanged occourances of g_print with g_message.
3223
3224 Tue Aug 18 17:22:22 1998  Lars Hamann  <lars@gtk.org>
3225
3226         * gtk/gtknotebook.c (gtk_notebook_switch_focus_tab): 
3227         * gtk/gtknotebook.c (gtk_notebook_update_labels): fix for sigsegv
3228         in case of show_tabs == NULL
3229
3230 Tue Aug 18 03:54:43 1998  Tim Janik  <timj@gtk.org>
3231
3232         * gtk/gtkmain.c (gtk_init): restricted the --g*fatal-* arguments
3233         to --g-fatal-warnings again. this option now causes log levels of
3234         WARNING and CRITICAL to abort().
3235
3236         * gdk/gdk.c: 
3237         * gdk/gdkdnd.c: 
3238         * gdk/gdkcc.c: 
3239         * gdk/gdkfont.c: 
3240         * gdk/gdkwindow.c:
3241         * gdk/gdkvisual.c:
3242         * gtk/gtkwidget.c:
3243         * gtk/gtktypeutils.c:
3244         * gtk/gtktree.c:
3245         * gtk/gtkfontsel.c:
3246         * gtk/gtkmain.c:
3247         * gtk/gtkobject.c:
3248         * gtk/gtkpreview.c:
3249         * gtk/gtkselection.c:
3250         * gtk/gtktext.c:
3251         * gtk/gtktree.c:
3252         * gtk/gtktreeitem.c:
3253         did a global search&replace to substitute g_print() calls with
3254         g_message(). libraries shouldn't use printf(), g_print() or
3255         g_printerr() at all.
3256         a bunch of the replacements should probably be wrapped into the
3257         G{D|T}K_NOTE() macros, so they are special cased for debugging
3258         purposes in a sane way, avoiding all the nasty #ifdef DEBUG_MY_TEDDY
3259         things.
3260
3261         * gdk/gdkdnd.c: added copyright notice.
3262
3263 Mon Aug 17 17:28:00  Raph Levien  <raph@gtk.org>
3264
3265         * gdk/gdkrgb.c: Further speedups of the 565_d case. It's
3266         impressively fast now - about 4.65 Mpix/s on an IBM TP 600
3267         running a PII 233. It's synced with the 0.0.5 release of
3268         GdkRgb.
3269
3270 Tue Aug 18 00:29:13 1998  Lars Hamann  <lars@gtk.org>
3271
3272         * gtk/gtkclist.h:
3273         (struct _GtkCListClass): new class methods:
3274         (sort_list) (insert_row) (remove_row) (set_cell_contents)
3275
3276         * gtk/gtkclist.c :
3277         (cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
3278         removed and replaced by (set_cell_contents)
3279         (set_cell_contents): function for class method set_cell_contents
3280         (real_insert_row): function for class method insert_row
3281         (real_remoce_row): function for class method remove_row
3282         (real_sort_list): function for class method sort_list
3283         (default_compare): fix to avoid problems with cell types != CELL_TEXT
3284
3285         * gtk/gtkctree.h :
3286         (gtk_ctree_export_to_gnode): new function to export a ctree as gnode 
3287         (gtk_ctree_node_is_visible): new function to return visibility state
3288         of a node
3289         (gtk_ctree_show_stub): new function to set visibility of root stub
3290
3291         renamed functions :
3292         (gtk_ctree_insert) -> (gtk_ctree_insert_node)
3293         (gtk_ctree_remove) -> (gtk_ctree_remove_node)
3294         (gtk_ctree_find_glist_ptr) -> (gtk_ctree_find_node_ptr)
3295         (gtk_ctree_set_text) -> (gtk_ctree_node_set_text)
3296         (gtk_ctree_set_pixmap) -> (gtk_ctree_node_set_pixmap)
3297         (gtk_ctree_set_pixtext) -> (gtk_ctree_node_set_pixtext)
3298         (gtk_ctree_set_shift) -> (gtk_ctree_node_set_shift)
3299         (gtk_ctree_get_cell_type) -> (gtk_ctree_node_get_cell_type)
3300         (gtk_ctree_get_text) -> (gtk_ctree_node_get_text)
3301         (gtk_ctree_get_pixmap) -> (gtk_ctree_node_get_pixmap)
3302         (gtk_ctree_get_pixtext) -> (gtk_ctree_node_get_pixtext)
3303         (gtk_ctree_set_foreground) -> (gtk_ctree_node_set_foreground)
3304         (gtk_ctree_set_background) -> (gtk_ctree_node_set_background)
3305         (gtk_ctree_set_row_data) -> (gtk_ctree_node_set_row_data)
3306         (gtk_ctree_set_row_data_full) -> (gtk_ctree_node_set_row_data_full)
3307         (gtk_ctree_get_row_data) -> (gtk_ctree_node_get_row_data)
3308         (gtk_ctree_moveto) -> (gtk_ctree_node_moveto)
3309         (gtk_ctree_sort) -> (gtk_ctree_sort_node)
3310         (gtk_ctree_is_visibe) -> (gtk_ctree_is_viewable)
3311
3312         * gtk/gtkctree.c :
3313         (cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
3314         removed and replaced by (set_cell_contents)
3315         (set_cell_contents): function for class method set_cell_contents
3316         (real_insert_row): function for class method insert_row
3317         (real_remoce_row): function for class method remove_row
3318         (real_sort_list): function for class method sort_list
3319         (default_compare): removed. CTree now also compares two GtkCTreeRows
3320         instead of two GtkCTreeNodes.
3321         (gtk_ctree_unlink): call gtk_ctree_collapse if parent is empty after
3322         unlinking the node
3323         (real_tree_expand) (real_tree_collapse): fix for refcounting of
3324         node pixmaps
3325         (set_node_info): call gtk_ctree_node_set_pixtext instead of
3326         manipulating the row itself
3327         
3328         * gtk/testgtk.c: use renamed functions of GtkCTree.
3329         new sample to show gtk_ctree_export_to_gnode and gtk_ctree_insert_gnode
3330         at work.
3331
3332 Mon Aug 17 15:31:38 1998  Tim Janik  <timj@gtk.org>
3333
3334         * gtk/gtkmain.c: removed gtk_input_add_interp.
3335
3336         * gtk/gtkeditable.c (gtk_editable_set_position): fixed bogus "return"
3337         keyword.
3338         (gtk_editable_get_event_time): fix default: case.
3339
3340         * gtk/gtkclist.c (gtk_clist_swap_rows): fixes for lvalue casts.
3341
3342         * gdk/gdkpixmap.c: made a bunch of unexported functions static.
3343
3344         * gdk/gdkcolor.c:
3345         * gdk/gdkvisual.c: include "gdkx.h", since it exports prototypes
3346         of our functions.
3347
3348         * various minor compilation cleanups, such as bogus commas in
3349         enums and similar things.
3350
3351 Mon Aug 17 07:47:43 1998  Tim Janik  <timj@gtk.org>
3352
3353         * gtk/gtkmain.c (gtk_init): NULL terminate the arg list to g_strconcat()
3354         (thanx raph).
3355
3356 Sun Aug 16 23:14:20 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3357
3358         * NEWS: updated for 1.1.2
3359         * gtk+.spec: version = 1.1.2
3360
3361 Mon Aug 17 05:10:29 1998  Tim Janik  <timj@gtk.org>
3362
3363         * gtk/gtkmain.c (gtk_init): don't call module initializers multiple
3364         times. changed --gtk-with-module to --gtk-module at owen's request.
3365
3366 Mon Aug 17 03:47:55 1998  Tim Janik  <timj@gtk.org>
3367
3368         * gtk/gtkmain.c (gtk_init): feature a new commandline option
3369         --gtk-with-module=<module> that allows additional loading and
3370         initialization of modules (e.g. GLE).
3371
3372 Mon Aug 17 01:40:00 1998  Tim Janik  <timj@gtk.org>
3373
3374         * configure.in: version bump to 1.1.2, binary age 0, interface age 0.
3375         pass "gmodule" to AM_PATH_GLIB, with that we require libgmodule.so now.
3376
3377         * gtk/gtkmain.c (gtk_init): since glib's g_return*_if_fail macros log
3378         with G_LOG_LEVEL_CRITICAL now, i added "--g-fatal-checks",
3379         "--gdk-fatal-checks" and "--gtk-fatal-checks". that makes up six
3380         different *-fatal-* arguments now. this needs to be revised and
3381         compressed to a reasonable amount of arguments.
3382
3383 Sun Aug 16 20:51:59 1998  Tim Janik  <timj@gtk.org>
3384
3385         * gtk/gtkmain.c (gtk_init): fatal warning option is split up now,
3386         "--g-fatal-warnings" causes fatal warnings in GLib,
3387         "--gdk-fatal-warnings" causes fatal warnings in Gdk,
3388         "--gtk-fatal-warnings" causes fatal warnings in Gtk.
3389
3390         * gtk/Makefile.am: define G_LOG_DOMAIN for gtk.
3391         * gdk/Makefile.am: define G_LOG_DOMAIN for gdk.
3392
3393         * gtk/testgtk.c: 
3394         * gdk/gxid.c:
3395         we need ugly #undef G_LOG_DOMAIN at the start of these files currently,
3396         since automake doesn't support per target _CFLAGS yet.
3397
3398         * configure.in: require GLib 1.1.3.
3399
3400 Sat Aug 15 03:19:30 1998  John Ellis  <johne@bellatlantic.net>
3401
3402         * gtk/gtkctree.[ch] (gtk_ctree_set_drag_compare_func): New function
3403         to set a callback to test if a node in drag can be dropped onto
3404         it's currrent location.
3405         * gtk/gtkctree.c (set_mouse_cursor),(check_cursor): New functions
3406         to change the pointer when a drag destination is not allowed.
3407
3408 Thu Aug 13 21:06:00 1998  Raph Levien  <raph@gtk.org>
3409
3410         * gdk/gdkrgb.c: committing a patch by Ray Lehtiniemi that
3411         speeds up the 565_d case by about 25% total. Thanks Ray!
3412
3413 Thu Aug 13 16:47:44 1998  Owen Taylor  <otaylor@redhat.com>
3414
3415         * Changed GtkSignalFunc back to () from (void). (again!)
3416
3417         * Added file README.cvs-commits
3418         
3419 Thu Aug 13 09:11:11 BST 1998  Tony Gale  <gale@gtk.org>
3420
3421         * docs/gtk_tut.sgml:
3422           - Tidy up of the menufactory example from
3423             Andy Kahn <kahn@zk3.dec.com>
3424           - New section on Range Widgets from
3425             David Huggins-Daines <bn711@freenet.carleton.ca>
3426           - Started a new section on 'Advanced Event and Signal
3427             Handling' - used an email from Owen.
3428           - New appendix on Gdk Event Types
3429           - Added the tictactoe full example code to the
3430             'Code Examples' appendix
3431
3432 Tue Jul 21 12:42:01 1998  Owen Taylor  <otaylor@redhat.com>
3433
3434         * gdk/gdk.h gdk/gdkfont.c: Added gdk_text/string_extents() - 
3435           to calculate all the metrics at once of a string, including
3436           things which weren't calculated before.
3437
3438         * gtk/Makefile.am gtk/gtk.h gtk/gtktearoffmenu.[ch]: New
3439           MenuItem type, that when put as the first thing in a
3440           menu, makes the menu tearoff. Currently drawn as a
3441           dashed line.
3442
3443         * gtk/gtkmenuitem.h gtk/gtkcheckmenuitem.c: Added a flag
3444           "hide_on_activate" to the MenuItem class structure to allow
3445           check and radio buttons to be changed with <Space> without
3446           hiding the menu.
3447
3448         * gtk/gtkitemfactory.c: 
3449           - Create a AccelGroup for each MenuShell we create.
3450           - If an '_' appears before a  character 'c' in the path,
3451             then make 'c' an accelerator in the menu's accel group,
3452             and if the menuitem is menubar <alt>C an accelerator 
3453             in the itemfactory's accel group. Double '__' inserts
3454             a literal '_'
3455
3456         * gtk/gtklabel.[ch]: Add support for a pattern arg - 
3457           which is a string. If an '_' appears in this string,
3458           the corresponding position in the label is underlined.
3459
3460           Add gtk_label_parse_uline() convenience function which
3461           takes a string with embedded underlines, sets the
3462           pattern and label, and returns the accelerator keyval.
3463
3464         * gtk/gtkmenu.[ch]: Make menus no longer a toplevel widget.
3465           Instead, they create a GtkWindow and add themselves
3466           to that. (When torn off, another new feature, they
3467           create another GtkWindow to hold the torn off menu)
3468
3469           New function gtk_menu_set_tearoff_state()
3470         
3471         * gtk/gtkenums.h gtk/gtkmenushell.[ch] gtk/gtkenums.h: 
3472           Added action signals  for keyboard navigation of menus.
3473
3474         * gtk/gtkmenushell.c: Key press handler which activates
3475           bindings for navigation, and accelerators, for handling
3476           underline accelerators. Exported functions to select 
3477           and activate menu items in a menushell.
3478
3479         * gtk/testgtk.c: Added a new "Item Factory" test which
3480           tests GtkItemFactory and the new keyboard navigation
3481           of menus.
3482
3483 Tue Aug 11 20:52:58 1998  Tim Janik  <timj@gtk.org>
3484
3485         * gtk/gtktypeutils.c (gtk_type_class_init): relookup nodes after
3486         external functions have been called. also relookup nodes after
3487         this function has been invoked.
3488
3489 Tue Aug 11 15:04:52 1998  Owen Taylor  <otaylor@redhat.com>
3490
3491         * gtk/gtktext.[ch]: Removed has_cursor, set the cursor
3492           beginning of Text when creating the Text widget.
3493
3494         * gtk/testgtk.c: Grab the focus on the text widget so
3495           as to test out the above.
3496
3497 Tue Aug 11 14:55:00 1998  Owen Taylor  <otaylor@redhat.com>
3498
3499         * gtk/gtkeditable.c: Reverted part of timj's change of Jul 16. 
3500           ::changed is a notification signal and should have no default
3501           handler. A complete redraw of the Text widget does _not_ need to
3502           be done on every text insertion.
3503
3504 Tue Aug 11 13:07:29 1998  Owen Taylor  <otaylor@redhat.com>
3505         (gtk-abilleira-072198-patch)
3506
3507         * gtk/gtkwindow.[ch]: 
3508           Add gtk_window_set_modal() which sets a flag; when
3509           set the window does a gtk_grab_add() when the window
3510           is shown, and a gtk_grab_remove() when the window
3511           is hidden. 
3512
3513         * gtk/gtkfilesel.[ch]: Test if it is running in modal form and in
3514           that case will run "Create Dir","Delete File" and "Rename File" 
3515           dialogs as modal too.
3516
3517         * gtk/testgtk.c: Added a button with an example of creating modal 
3518           dialog boxes. Including file selection and color selection standard
3519           dialogs.
3520         
3521 Tue Aug 11 00:44:47 1998  Owen Taylor  <otaylor@redhat.com>
3522
3523         * gtk/gtkhscrollbar.c gtk/gtkvscrollbar.c gtk/gtktoolbar.c:
3524           Removed CAN_FOCUS by default from scrollbars, button
3525           children of toolbar. (But not GTK_TOOLBAR_CHILD_WIDGET children)
3526           (Scrollbar definitely good change, toolbar bit more questionable)
3527
3528 Tue Aug 11 17:49:33 1998  Tim Janik  <timj@gtk.org>
3529
3530         * examples/packbox/packbox.c: #include fixes (reported by Asbjoern
3531         Pettersen).
3532
3533 Tue Aug 11 00:35:56 1998  Owen Taylor  <otaylor@redhat.com>
3534
3535         * gdk/gdkgc.c gdk/gdktypes.h: Applied gtk-pedersen-980727-0; 
3536           added all logical operations to gc->function.
3537
3538 Sun Aug  9 23:31:59 1998  Lars Hamann  <lars@gtk.org>
3539
3540         * gtk/gtkclist.c (adjust_scrollbars): Fix for resize bug. Call
3541         gtk_widget_size_allocate instead of gtk_widget_queue_resize
3542         if the visibility state of a scrollbar changes.
3543
3544 Mon Aug 10 12:49:54 1998  Tim Janik  <timj@gtk.org>
3545
3546         * gtk/gtkhbbox.h: fixed an #include statement (reported by Eric Kidd).
3547
3548 Thu Aug  6 22:37:21 1998  Stefan Jeske  <stefan@gtk.org>
3549
3550         * gtk/gtkclist.c: Renamed my_merge and my_mergesort to
3551         gtk_clist_merge and gtk_clist_mergesort. :)
3552
3553 1998-08-06  Martin Baulig  <martin@home-of-linux.org>
3554
3555         * gtk/gtkclist.c: Renamed `merge' -> `my_merge' and
3556         `mergesort' -> `my_mergesort'.
3557
3558 Wed Aug  5 21:12:37 1998  Stefan Jeske  <stefan@gtk.org>
3559
3560         * gtk/gtkenums.h: new enum GtkSortType.
3561         
3562         * gtk/gtkclist.h:
3563         * gtk/gtkclist.c:
3564         Added sorting capabilities to GtkCList. New APIs :
3565         gtk_clist_set_compare_func, gtk_clist_set_sort_column,
3566         gtk_clist_set_sort_type, gtk_clist_sort, gtk_clist_set_auto_sort. 
3567         New internal functions : default_compare, merge, mergesort.
3568
3569         (gtk_clist_append): This is just a wrapper for gtk_clist_insert now.
3570         
3571         (gtk_clist_insert): Modified to handle gtk_clist_append and the
3572         auto sort flag. Changed the return value from void to gint to
3573         return the row number where the element was actually inserted.
3574
3575         (gtk_clist_swap_rows): Return immediately if auto sort flag is set.
3576         
3577         * gtk/gtkctree.h:
3578         * gtk/gtkctree.c:
3579         Removed the auto_sort flag, replaced ctree->node_compare with
3580         clist->compare all over the place, modified default_compare to
3581         match clist's needs. Removed API´s : gtk_ctree_set_auto_sort,
3582         gtk_ctree_set_compare_func. Removed GtkCTreeCompareFunc typedef.
3583
3584         * gtk/testgtk.c: Modified clist/ctree samples to demonstrate
3585         sorting. The lists can be sorted by a column by clicking the 
3586         corresponding title button.
3587         
3588 Tue Aug  4 22:02:49 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
3589
3590         * Released GTK+ 1.1.1
3591
3592 Wed Aug  5 02:57:20 1998  Lars Hamann  <lars@gtk.org>
3593
3594         * gtk/gtkctree.h:
3595         * gtk/gtkctree.c:
3596         (gtk_ctree_find): changed to return a gboolean
3597         (gtk_ctree_insert_gnode): new function for recursive insertion of a
3598         GNode tree.
3599         (gtk_ctree_real_select_recursive): fix for extended selection
3600         (gtk_ctree_sort_recursive): in case node == NULL, sort root nodes too.
3601         (gtk_ctree_set_node_info) (set_node_info): few fixes for expanded flag
3602
3603 Tue Aug  4 16:18:26 1998  Tim Janik  <timj@gtk.org>
3604
3605         * configure.in: version bump to 1.1.1, binary age 0, interface age 0.
3606         GLib version 1.1.1 is now required at minimum.
3607
3608         * docs/Makefile.am: added gtk_tut_fr.sgml to EXTRA_DIST (french version
3609         of the Gtk+ tutorial, contributed by Eric Jacoboni <jaco@dotcom.fr>.
3610
3611 Mon Aug  3 19:24:48 1998  Owen Taylor  <otaylor@redhat.com>
3612  
3613         * gtk/gtktext.c (gtk_text_forward_delete): Undraw the
3614           cursor before (possibly) deleting the cursor's text
3615           property.
3616  
3617         * gtk/gtktext.c (correct_cache_delete): More attempts
3618           to clean the line-start cache up after inserting
3619           a property. Among other things, make sure to
3620           fix up text->current_line, since it is used to 
3621           refetch the changed lines.
3622  
3623 Tue Aug  4 10:59:19 1998  Owen Taylor  <otaylor@redhat.com>
3624
3625         * gtk/gtktable.[ch]: Empty rows/columns of the table
3626         should not have been marked as being able to shrink.
3627         (Fixes problem with shrinking scrollbarless GIMP canvases)
3628
3629 1998-08-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3630
3631         * gtk/gtkctree.c (gtk_ctree_find_by_row_data_custom): New public
3632         function to find a row by its data pointer using a custom
3633         comparison function.
3634
3635 Sun Aug 02 22:58:00 1998  George Lebl  <jirka@5z.com>
3636
3637         * gtk/gtkclist.c: draw the buttons during a "draw" as well,
3638           this fixes a bug when the whole widget is made non-sesitive
3639           the buttons weren't redrawn
3640
3641 Mon Aug  3 00:04:09 1998  Lars Hamann  <lars@gtk.org>
3642
3643         * gtk/gtkclist.c (abort_column_resize): reset drag_pos after abort
3644         * gtk/gtkclist.c (gtk_clist_key_press): removed a few unneeded lines
3645         * gtk/gtkcombo.c (gtk_combo_list_key_press): fixed compiler warning
3646
3647 Sun Aug  2 03:08:07 1998  Owen Taylor  <otaylor@gtk.org>
3648
3649         * gdk/gdkwindow.c (gdk_window_reparent): Change 
3650           window_private->parent pointer when reparenting.
3651
3652 Sat Aug  1 22:17:00 1998  Raph Levien  <raph@acm.org>
3653
3654         * gdk/gdkrgb.c: made some minor config changes to unify GdkRgb
3655         with the standalone release.
3656
3657 Fri Jul 31 20:45:07 1998  Lars Hamann  <lars@gtk.org>
3658
3659         * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_motion)
3660         (gtk_clist_button_release) (new_column_width): Few fixes for
3661         column resize. Store resize column in clist->drag_pos.
3662
3663 Thu Jul 31 15:18:36 1998  Lars Hamann  <lars@gtk.org>
3664
3665         * gtk/gtkctree.h 
3666         * gtk/gtkctree.c 
3667         * gtk/testgtk.c : New typedef GtkCTreeNode, changed all GList *node
3668         to GtkCTreeNode *node.
3669
3670         * gtk/gtklist.h : added extended selection mode and auto scrolling.
3671         (struct _GtkList): removed unneeded variables timer, button,
3672         selection_start_pos, selection_end_pos, scroll_direction, have_grab.
3673         Added new variables undo_selection, undo_unselection, last_focus_child,
3674         undo_focus_child, htimer, vtimer, anchor, drag_pos, anchor_state,
3675         drag_selection, add_mode.
3676  
3677         New functions :
3678         (gtk_list_extend_selection), (gtk_list_start_selection),
3679         (gtk_list_end_selection), (gtk_list_select_all),
3680         (gtk_list_unselect_all), (gtk_list_scroll_horizontal),
3681         (gtk_list_scroll_vertical), (gtk_list_toggle_add_mode),
3682         (gtk_list_toggle_focus_row), (gtk_list_toggle_row),
3683         (gtk_list_undo_selection), (gtk_list_end_drag_selection)
3684         
3685         * gtk/gtklist.c : 
3686         (gtk_list_enter_notify): removed, because auto scrolling now works
3687         with gtk_list_motion_notify
3688  
3689         New functions, needed for auto scrolling :
3690         (gtk_list_motion_notify) (gtk_list_move_focus_child)
3691  
3692         New functions for extended selection support :
3693         (gtk_list_set_anchor), (gtk_list_fake_unselect_all),
3694         (gtk_list_fake_toggle_row), (gtk_list_update_extended_selection),
3695         (gtk_list_focus_lost)
3696         
3697         (gtk_list_set_focus_child): modified gtk_container_set_focus_child
3698         function to support auto scrolling, and avoid out-of-sync errors in
3699         case auf GTK_SELECTION_BROWSE
3700         (gtk_list_focus): modified gtk_container_focus function to avoid out
3701         off sync errors in case auf GTK_SELECTION_EXTENDED
3702
3703         * gtk/gtklistitem.h 
3704         * gtk/gtklistitem.c :
3705         New signal functions for key binding support :
3706         (toggle_focus_row), (select_all), (list_item), (unselect_all)
3707         (list_item), (undo_selection), (start_selection), (end_selection)
3708         (extend_selection), (scroll_horizontal), (scroll_vertical),
3709         (toggle_add_mode)
3710         (gtk_list_item_realize): added  GDK_KEY_PRESS_MASK |
3711         GDK_KEY_RELEASE_MASK
3712         (gtk_list_item_draw_focus): modify gc if parent has add_mode set.
3713  
3714         * gtk/gtkcombo.c :
3715         (gtk_combo_popup_button_press):  grab pointer for combo->list
3716         (gtk_combo_button_release): ungrab only if combo->popwin HAS_GRAB
3717         (gtk_combo_list_key_press): take care of which child HAS_GRAB
3718         (gtk_comb_init): don't connect combo->button with button_release_event
3719
3720 Thu Jul 30 12:39:36 1998  Lars Hamann  <lars@gtk.org>
3721
3722         * gtk/gtkclist.c (gtk_clist_motion): removed a few unneeded lines
3723
3724 Wed Jul 29 23:31:50 1998  Lars Hamann  <lars@gtk.org>
3725
3726         * gtk/gtkclist.c (gtk_clist_motion): column resize now works with
3727         horizontal autoscrolling, GtkCTree's 'reorder ability' now works
3728         with horizontal and vertical autoscrolling.
3729
3730 Tue Jul 28 20:32:03 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3731
3732         * gtk/docs/man: new directory
3733         * gtk/docs/man/gtk_button.pod: new file, initial gtk_button man page
3734
3735 Tue Jul 28 00:03:20 1998  Lars Hamann  <lars@gtk.org>
3736
3737         * gtk/gtknotebook.c (gtk_notebook_paint): small fix for border drawing
3738         bug
3739
3740 Mon Jul 27 09:18:13 BST 1998  Tony Gale  <gale@gtk.org>
3741
3742         * docs/gtk_tut.sgml: GtkTree section from
3743           David Huggins-Daines <bn711@freenet.carleton.ca>,
3744           add a GtkText widget example
3745         * examples/text/* example/tree/* : new examples for the
3746           GtkTree and GtkText widgets
3747         * docs/gtk_tut.sgml: added an appendix to hold complete code
3748           examples that aren't in a full form elsewhere in the
3749           tutorial (e.g. scribble)
3750
3751 Mon Jul 27 00:46:21 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
3752
3753         * Released GTK+ 1.1.0
3754
3755 Mon Jul 27 04:18:26 1998  Tim Janik  <timj@gtk.org>
3756
3757         * gtkfeatures.h.in: revamped the definitions for 1-1-0, so that all
3758         the new API stuff is reflected in one #define GTK_HAVE_FEATURES_1_1_0.
3759
3760 Mon Jul 27 03:11:20 1998  Tim Janik  <timj@gtk.org>
3761
3762         * gtk/gtkbindings.c (binding_compose_params): fixup, so that enum
3763         values are looked up.
3764
3765         * gtk/gtktypeutils.h:
3766         * gtk/gtktypeutils.c: new functions gtk_type_flags_find_value and
3767         gtk_type_enums_find_value to lookup enum values.
3768
3769         * gtk/gtkctree.h: 
3770         * gtk/gtkctree.c: change enum name from GtkCTreeExpansion to
3771         GtkCTreeExpansionType. fixed signal creations to pass the enum
3772         types not just the base type GTK_TYPE_ENUM.
3773
3774         * gtk/gtkclist.h: 
3775         * gtk/gtkclist.c: fixed signal creations to pass the real enum
3776         types not just the base type GTK_TYPE_ENUM.
3777
3778 Sun Jul 26 14:50:07 1998  Stefan Jeske  <stefan@gtk.org>
3779
3780         * gtk/testgtk.c : 
3781         Began cleanup, e.g. use gtk_widget_show_all instead of many 
3782         gtk_widget_show's. Completely rewrote the button box sample
3783         (only one window now). Removed "miscellaneous" button.
3784
3785 Sun Jul 26 14:48:14 1998  Stefan Jeske  <stefan@gtk.org>
3786
3787         * gtk/gtkvbbox.c (gtk_vbutton_box_size_allocate): 
3788         Fixed wrong allocation for GTK_BUTTONBOX_END.
3789         (allocation->x  =>  allocation->y)
3790
3791 Sun Jul 26 14:06:37 1998  Lars Hamann  <lars@gtk.org>
3792
3793         * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_button_release)
3794         (abort_column_resize) (gtk_clist_key_press): fix for pointer grab
3795         
3796         * gtk/gtkctree.c (real_tree_select): added check to avoid double
3797         selected rows
3798         (gtk_ctree_button_press)
3799         (gtk_ctree_button_release): fix for pointer grab
3800
3801 Sat Jul 25 13:16:00 1998 Damon Chaplin  <DAChaplin@msn.com>
3802
3803         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): 
3804         Fixed initialization problem - dirty memory could cause problems.
3805         Also checked that bitmapped fonts can be scaled when showing the
3806         available sizes.
3807
3808 Sat Jul 25 02:25:03 1998  Lars Hamann  <lars@gtk.org>
3809
3810         * gtk/gtkctree.c (gtk_ctree_sort_recursive)
3811         (gtk_ctree_sort_recursive): test for node != NULL
3812         (gtk_ctree_is_visible) (gtk_ctree_realize) (gtk_ctree_unrealize)
3813         (gtk_ctree_last) : added sanity checks
3814         * gtk/gtkclist.c (gtk_clist_button_press): removed "no_focus_row"
3815
3816 Fri Jul 24 18:15:49 1998  Lars Hamann  <lars@gtk.org>
3817
3818         * gtk/gtkclist.c (toggle_focus_row): mini code cleanup
3819
3820 Fri, 24 Jul 1998 10:56:22 +0200 Paolo Molaro <lupus@debian.org>
3821
3822         * gtk/gtkfeatures.h.in: added GTK_HAVE_ENUM_VALUE_STRUCT.
3823
3824 Thu Jul 23 00:11:39 1998  Tim Janik  <timj@gtk.org>
3825
3826         * gtk/testgtkrc: introduce testbindings on C-1 for buttons,
3827         to check out binding priorities. someone should really write
3828         gtkrc-mode for emacs.
3829
3830         * gtk/gtkwidget.c (gtk_widget_class_init): remove ugly bindings test.
3831         * gtk/testgtk.c (main): and move it here ;). this test says something
3832         on release of C-9. (this works only if the mouse pointer is on a
3833         spinbutton and there is no focus widget).
3834
3835         * gtk/gtkrc.h:
3836         * gtk/gtkrc.c:
3837         export gtk_rc_parse_color, gtk_rc_parse_state and a new function
3838         gtk_rc_parse_priority to parse path priority types.
3839         export rc tokens.
3840         feature binding parsing.
3841
3842 Wed Jul 22 23:41:17 1998  Tim Janik  <timj@gtk.org>
3843
3844         * gtk/gtkbindings.h: 
3845         * gtk/gtkbindings.c: new function gtk_binding_parse_binding() to
3846         feature binding parsing in rc files.
3847         * gtk/gtkbindings.c (gtk_binding_set_new): bug fix.
3848         * gtk/gtkbindings.c (gtk_binding_pattern_compare): bug fix, we used to
3849         order the bindings with lowest priority first.
3850
3851 Wed Jul 22 15:21:08 PDT 1998 Manish Singh <yosh@gimp.org>
3852
3853         * gdk/gdkrgb.c: actually builds and runs properly on big
3854         endian machines now, because we #include config.h. Also
3855         fixed up a compile error in the WORDS_BIGENDIAN case in
3856         gdk_rgb_convert_565_gray. I made the fix by looking at
3857         patterns in the other code; Raph can you verify this?
3858
3859         * gdk/gdkthreads.c: #include <unistd.h> to quell compiler
3860         warnings
3861
3862 Wed Jul 22 23:00:44 1998  Lars Hamann  <lars@gtk.org>
3863
3864         * gtk/gtkctree.c (tree_select/unselect) (tree_expand/collapse) 
3865         (tree_toggle_expansion) (real_select/unselect_row)
3866         (gtk_ctree_select/unselect) : few fixes for gtk_signal_emits
3867
3868 Wed Jul 15 17:44:47 1998  Owen Taylor  <otaylor@redhat.com>
3869
3870         * gtk/gtktext.c (new_text_property): We free things from
3871         the text property MemChunk, so it needs to be G_ALLOC_AND_FREE.
3872
3873         * Fix up line start cache when splitting a property
3874         during an insert.
3875
3876 Wed Jul 15 21:15:52 1998  Owen Taylor  <otaylor@redhat.com>
3877
3878         * gtk/gtkwidget.c: restauration => restoration
3879
3880 Thu Jul 16 20:11:36 1998  Owen Taylor  <otaylor@redhat.com>
3881
3882         * gdk/gdkxid.c (gdk_xid_table_lookup): If xid_ht
3883         hasn't been created yet, don't do the lookup.
3884
3885 1998-07-20  Raph Levien  <raph@acm.org>
3886
3887         * gdk/gdkrgb.c: More cleanups in the config process.
3888
3889 1998-07-20  Raph Levien  <raph@acm.org>
3890
3891         * gdkrgb.c: Fixed minor config bug preventing big-endian
3892         architectures from working.
3893
3894 Tue Jul 21 06:32:43 1998  Stefan Jeske  <stefan@gtk.org>
3895
3896         * gtk/gtkprogressbar.{c,h} gtk/testgtk.c: Fixed wrong size of
3897         activity indicator. It is settable now as a fraction of the
3898         total width/height using gtk_progress_bar_set_activity_blocks.
3899         Renamed gtk_progress_bar_set_number_of_blocks to
3900         gtk_progress_bar_set_discrete_blocks.
3901
3902 Mon Jul 20 21:28:18 1998  Lars Hamann  <lars@gtk.org>
3903
3904         * gtk/gtkctree.c (gtk_ctree_post_recursive_to_depth)
3905         (gtk_ctree_pre_recursive_to_depth): new functions, recursive process
3906         tree to specified depth
3907         (gtk_ctree_expand_to_depth): expand tree to specified depth
3908         (gtk_ctree_collapse_to_depth): collapse all nodes with level >= depth
3909
3910 Sun Jul 19 23:51:05 1998  Lars Hamann  <lars@gtk.org>
3911
3912         * gtk/gtkclist.c (scroll_vertical): fix for vertical scrolling in case
3913         of GTK_CLIST_ADD_MOD
3914         * gtk/testgtk.c (add1000_clist): changed pixmap
3915
3916 Sat Jul 18 22:59:04 1998  Tim Janik  <timj@gtk.org>
3917
3918         * gtk/gtkmain.h: 
3919         * gtk/gtkmain.c: export gtk_binary_age and gtk_interface_age.
3920
3921         * gtk/gtktypeutils.h:
3922         * gtk/gtkitemfactory.h: remove "void" from prototypes again.
3923
3924 Sat Jul 18 00:54:01 1998  Lars Hamann  <lars@gtk.org>
3925
3926         * gtk/gtknotebook.c (gtk_notebook_set_child_arg): added support for
3927         CHILD_ARG_MENU_LABEL, CHILD_ARG_TAB_LABEL
3928         (gtk_notebook_get_child_arg): added support for CHILD_ARG_MENU_LABEL,
3929         CHILD_ARG_POSITION
3930         (gtk_notebook_reorder_child): new funktion to change position of a
3931         notebook page
3932         (gtk_notebook_draw_arrow): draw left/right arrow with
3933         GTK_SHADOW_ETCHED_IN if focus_tab is first/last tab.
3934
3935         * gtk/gtkstyle.c (gtk_default_draw_arrow):
3936         added GTK_SHADOW_ETCHED_IN/OUT
3937
3938 Sun Jul 19 12:19:16 1998  Stefan Jeske  <stefan@gtk.org>
3939
3940         * gtk/gtkprogress.c gtk/gtkprogress.h gtk/gtkprogressbar.c
3941           gtk/gtkprogressbar.h gtk/Makefile.am gtk/gtk.h gtk/testgtk.c:
3942         Introduced generic GtkProgress widget. Derived GtkProgressBar from
3943         GtkProgress. Made GtkProgressBar much more flexible (see testgtk).
3944
3945 Fri Jul 17 23:49:28 PDT 1998 Manish Singh <yosh@gimp.org>
3946
3947         * gtk/gtktypeutils.h
3948         * gtk/gtkitemfactory.h: explicitly specify void in prototype
3949
3950 Fri Jul 17 17:54:02 1998  Lars Hamann  <lars@gtk.org>
3951
3952         * gtk/gtkclist.c (scroll_vertical): fix to avoid flicker at begin/end
3953         of list
3954
3955 Fri Jul 17 05:30:47 1998  Tim Janik  <timj@gtk.org>
3956
3957         * gtk/gtksignal.c (gtk_handlers_run) (gtk_signal_real_emit):
3958         sropped the approach of copying all signal specific data into a
3959         GtkHandlerInfo structure. we rather keep the signal data on the stack
3960         in gtk_signal_real_emit and pass that over to gtk_handlers_run. this
3961         avoids multiple lookups of the signal pointer and works savely together
3962         with destroy notifiers of handlers.
3963
3964         * gtk/gtkentry.c (gtk_entry_key_press): care for the posssibility that
3965         someone destroys the entry on the ::activate signal.
3966
3967 Fri Jul 17 01:21:32 1998  Tim Janik  <timj@gtk.org>
3968
3969         * gtk/gtkarrow.c (gtk_arrow_expose): use misc->xpad for x calculation
3970         instead of ypad (typo).
3971         (gtk_arrow_set): clear all of the arrow's allocation (left a 1 pixel
3972         border around the allocation).
3973         (gtk_arrow_init): the static requisition needs to be setup in this
3974         function rather than gtk_widget_new(), so arrow creation works without
3975         the gtk_arrow_new() constructing.
3976         (gtk_arrow_expose): return TRUE, since we actually handled the expose.
3977
3978         * gtk/gtkwidget.c (gtk_widget_real_size_request): provide a default
3979         implementation for GtkWidget::size_request, so size requisition for
3980         simple statically sized widgets like GtkArrow works.
3981
3982 Thu Jul 16 14:16:16 PDT 1998 Manish Singh <yosh@gimp.org>
3983
3984         * gtk-config.in: minor changes to gtk-config: --cflags doesn't
3985         prepend -I@libdir@/glib/include anymore, since glib-config handles
3986         it; --libs strips out redundant -L<path>'s properly (there was
3987         code in there to do it before, but it didn't work)
3988
3989 Thu Jul 16 18:24:41 1998  Tim Janik  <timj@gtk.org>
3990
3991         * gtk/gtknotebook.h: 
3992         * gtk/gtknotebook.c: signdness corrections all ove the place.
3993         implementation of object arguments: GtkNotebook::enable_popup,
3994         GtkNotebook::tab_pos, GtkNotebook::tab_border, GtkNotebook::show_tabs,
3995         GtkNotebook::show_border, GtkNotebook::scrollable and GtkNotebook::page.
3996         begun implementation of child args, we have GtkNotebook::tab_label, but
3997         GtkNotebook::menu_label and GtkNotebook::position still lack the
3998         implementation.
3999         (gtk_notebook_remove_page):
4000         (gtk_notebook_current_page): allow negative indices (-1) as alias for
4001         the last page.
4002
4003         * gtk/gtkentry.h:
4004         * gtk/gtkentry.c: GtkType and macro fixups. implementation of object
4005         arguments GtkEntry::max_length and GtkEntry::visibility.
4006         (gtk_entry_adjust_scroll): queue a redraw.
4007
4008         * gtk/gtkeditable.h:
4009         * gtk/gtkeditable.c: GtkType und macro fixups. implementation of
4010         object arguments GtkEditable::text_position and GtkEditable::editable.
4011         new (action) signal GtkEditable::set_editable.
4012         provide a default handler for GtkEditable::changed that queues a redraw.
4013
4014         * gtk/gtktext.h: 
4015         * gtk/gtktext.c: GtkType und macro fixups. override GtkEditable::
4016         set_editable.
4017
4018 Thu Jul 16 14:42:11 1998  Lars Hamann  <lars@gtk.org>
4019
4020         * gtk/gtkctree.c (gtk_ctree_button_release): fix for sigsegv in
4021         case of drag_target == NULL
4022         * gtk/gtkclist.c (gtk_clist_button_press): fix for GTK_2/3BUTTON_PRESS.
4023         Clist did not emit an select_row signal in case of GTK_2/3BUTTON_PRESS.
4024         * gtk/gtkfilesel.c (gtk_file_selection_file_button,
4025         gtk_dir_selection_file_button): fix due to changes in clist's
4026         select_row signal.
4027
4028 Thu Jul 16 01:27:15 1998  Tim Janik  <timj@gtk.org>
4029
4030         * gtk/gtkwidget.h:
4031         * gtk/gtkwidget.c (gtk_widget_set_usize): handle negative values
4032         similar to gtk_widget_set_uposition(). that is: -1=unspecified,
4033         -2=leave untouched. changed the width/height field of GtkWidgetAuxInfo
4034         to be gint16s rather than guint16s, since that's what the code expected
4035         (for a long time actually).
4036
4037         * gtk/gtkviewport.c:
4038         added support for object arguments: GtkViewport::shadow_type,
4039         GtkViewport::vadjustment and GtkViewport::hadjustment.
4040         (gtk_viewport_add): chain gtk_bin_add.
4041
4042         * gtk/gtkscrolledwindow.c: 
4043         added support for object argument: GtkScrolledWindow::hscrollbar_policy,
4044         GtkScrolledWindow::vscrollbar_policy and GtkScrolledWindow::viewport.
4045
4046         * gtk/gtkadjustment.h: 
4047         * gtk/gtkadjustment.c: 
4048         * gtk/gtkctree.h: 
4049         * gtk/gtkclist.h: 
4050         * gtk/gtkctree.c: 
4051         * gtk/gtkclist.c:
4052         * gtk/gtkscrolledwindow.h:
4053         * gtk/gtkscrolledwindow.c:
4054         * gtk/gtkviewport.h:
4055         * gtk/gtkviewport.c:
4056         GtkType and macro fixups.
4057
4058 Thu Jul 16 01:10:02 1998  Lars Hamann  <lars@gtk.org>
4059
4060         * gtk/gtkctree.h :
4061         * gtk/gtkctree.c :
4062         Added focus handling, horizontal and vertical autoscrolling,
4063         extended Selection Mode, key bindings
4064         Added gtk_ctree_toggle_expansion & gtk_ctree_toggle_expansion_recursive
4065         Changed gtk_ctree_scroll_to to gtk_ctree_moveto.
4066         Removed gtk_ctree_clear.
4067         
4068         * gtk/gtkclist.h :
4069         * gtk/gtkclist.c : 
4070         Added focus handling, horizontal and vertical autoscrolling,
4071         extended Selection Mode, key bindings
4072
4073 Wed Jul 15 12:39:27 1998  Raph Levien  <raph@acm.org>
4074
4075         * This checkin integrates GdkRgb version 0.0.3 into the Gtk 1.1
4076         source tree. For more information on GdkRgb, please see:
4077         http://www.levien.com/gdkrgb/
4078
4079         * gtk/gtkfeatures.h.in (GTK_HAVE_GDK_RGB): added this feature. It
4080         bothers me slightly that the feature is in gdk, and this file is
4081         in gtk, but it's probably ok.
4082
4083         * gdk/gdk.h: Added an #include of <gdk/gdkrgb.h>
4084
4085         * gdk/gdkrgb.c:
4086         * gdk/gdkrgb.h: Added this module.
4087
4088         * Makefile.am (EXTRA_DIST): Added gdkrgb.c and gdkrgb.h files.
4089
4090         * configure.in: added AC_C_BIGENDIAN test (needed by GdkRgb).
4091
4092 Wed Jul 15 14:20:10 1998  Tim Janik  <timj@gtk.org>
4093
4094         * gtk/gtksignal.c (gtk_signal_real_emit): pass only the signal_id
4095         to this function. it needs to relookup the signal multiple times.
4096         this fixes spurious segfaults that could show up with signal intensive
4097         code, when classes are created during a pending emission (which is
4098         normal case).
4099
4100 Tue Jul 14 19:12:12 1998  Tim Janik  <timj@gtk.org>
4101
4102         * gtk/gtkbutton.c (gtk_button_set_arg): don't destroy a buttons
4103         child if it isn't a label.
4104
4105 Tue Jul 14 11:41:38 1998  Tim Janik  <timj@gtk.org>
4106
4107         * gtk/gtkdialog.h: 
4108         * gtk/gtkseparator.h: 
4109         * gtk/gtkhseparator.h: 
4110         * gtk/gtkvseparator.h: macro and GtkType fixups.
4111
4112 Tue Jul 14 06:25:46 1998  Tim Janik  <timj@gtk.org>
4113
4114         * gtk/testgtk.c (create_cursors): display the current cursor name.
4115
4116         * gtk/gtktypeutils.h: 
4117         * gtk/gtktypeutils.c (gtk_type_init_builtin_types): cleanups to
4118         the fundamental type definition. the GtkArg union now only covers
4119         the required storage types for argument values. adapted the GTK_VALUE_*
4120         macro set. handle GTK_TYPE_UCHAR. definiton of type set bounds macros.
4121
4122         * gtk/gtkargcollector.c (gtk_arg_collect_value): clean ups of the
4123         code, fixed int/float collection. fixed a bug in the sanity checking
4124         code for GtkObjects.
4125
4126         * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixups of the
4127         argument collection code.
4128
4129         * gtk/gtksignal.c (gtk_signal_collect_params): use the type set bounds
4130         macros when distinguishing the return type.
4131
4132 Mon Jul 13 12:42:51 1998  George Lebl  <jirka@5z.com>
4133
4134         * gdk/gdkwindow.h: (gdk_window_reparent) check if old_parent_private
4135           is not NULL before trying to g_list_remove the child. A patch
4136           from Michael Lausch.
4137
4138 Sun Jul 12 16:40:06 1998  Tim Janik  <timj@gtk.org>
4139
4140         * gtk/gtkargcollector.c (gtk_arg_collect_value): fix float argument
4141         collection (always casted to doubles upon argument passing).
4142
4143 Sun Jul 12 05:59:26 1998  Tim Janik  <timj@gtk.org>
4144
4145         * gtk/gtktypeutils.c (gtk_type_new): call the base classes'
4146         object_init_func for derived objects with the object's ->klass field
4147         still pointing to the corresponding base class, otherwise overridden
4148         class functions could get called with partly-initialized objects.
4149         (change from Tero Pulkkinen <terop@modeemi.cs.tut.fi>).
4150
4151 Sun Jul 12 02:47:35 1998  Tim Janik  <timj@gtk.org>
4152
4153         * gtk/gtkobject.h:
4154         * gtk/gtkobject.c:
4155         (gtk_object_arg_get_info): new functions which wraps gtk_arg_get_info().
4156
4157         * gtk/gtkcontainer.h:
4158         * gtk/gtkcontainer.c:
4159         (gtk_container_child_arg_get_info): new function which wraps
4160         gtk_arg_get_info().
4161
4162 Fri Jul 10 13:29:53 1998  Tim Janik  <timj@gtk.org>
4163
4164         * gtk/gtkcontainer.c:
4165         (gtk_container_arg_get): 
4166         (gtk_container_arg_set): 
4167         * gtk/gtkobject.c:
4168         (gtk_object_arg_set): 
4169         (gtk_object_arg_get):
4170         strictly check for the associated get/set arg functions. if an
4171         arg is readable or writable, the associated class functions *must*
4172         be provided.
4173
4174 Fri Jul 10 09:37:50 1998  Tim Janik  <timj@gtk.org>
4175
4176         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): only take the
4177         padding into account if there is an accelerator.
4178
4179 Fri Jul 10 05:51:44 1998  Tim Janik  <timj@gtk.org>
4180
4181         * gtk/gtkcontainer.c:
4182         (gtk_container_add_with_args): collect the arguments with
4183         gtk_container_child_args_collect, not through gtk_object_args_collect.
4184         (gtk_container_child_set): likewise.
4185
4186 Fri Jul 10 04:20:35 1998  Tim Janik  <timj@gtk.org>
4187
4188         * gtk/gtktypeutils.h: 
4189         * gtk/gtktypeutils.c: added a new internal type GTK_TYPE_IDENTIFIER
4190         which is derived from GTK_TYPE_STRING.
4191
4192         * gtk/gtkbindings.c: reworked the argument type handling.
4193
4194 Thu Jul  9 21:03:19 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
4195
4196         * gtk/gtkpreview.c: add in just enough support for 1 or 4 bits
4197           so that it seems to allow normal operation in those modes,
4198           although you will only see black  (GIMP toolbar now pops up,
4199           just don't create a new image and GIMP now works in 4 bit.)
4200
4201 Thu Jul  9 20:20:04 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
4202
4203         * gdk/gdkvisuals.c: 4 bit support, increased available_depths
4204           array, which was too low (?)
4205
4206 Fri Jul 10 00:02:04 1998  Tim Janik  <timj@gtk.org>
4207
4208         * gtk/gtkcontainer.h: 
4209         * gtk/gtkcontainer.c: deleted most of the argument handling code, since
4210         that is now implemented in gtkarg.c. similar to gtk_object_args_collect,
4211         we now export a new function gtk_container_child_args_collect().
4212         for consistency with the object arguments, a few functions got renamed:
4213         gtk_container_child_arg_get -> gtk_container_child_get,
4214         gtk_container_child_arg_set -> gtk_container_child_set,
4215         gtk_container_child_arg_getv -> gtk_container_child_getv,
4216         gtk_container_child_arg_setv -> gtk_container_child_setv,
4217         gtk_container_add_with_argv -> gtk_container_addv.
4218         note, gtk_container_add_with_args() remained, because its equivalent
4219         would be gtk_container_add(,, ...) which would break all existing code.
4220         (gtk_container_add_child_arg_type): similar to gtk_object_add_arg_type,
4221         we expect the `arg_name' argument to be a const static string now.
4222         (gtk_container_get_child_arg_type): function removed.
4223
4224 Thu Jul  9 07:03:04 1998  Tim Janik  <timj@gtk.org>
4225
4226         * gtk/gtkargcollector.c: new file which holds gtk_arg_collect_value().
4227         this is a static inline function that collects command line arguments
4228         from a va_list. this file can just be included in all places that
4229         need this functionality.
4230
4231         * gtk/gtkarg.h: 
4232         * gtk/gtkarg.c: new files which implement most of the argument
4233         handling stuff from gtkobject.c. also collected a few more
4234         gtk_arg_* utility functions from else places.
4235
4236         * gtk/gtkobject.h: 
4237         * gtk/gtkobject.c: moved most of the argument handling code into
4238         gtkarg.c. we now export gtk_object_args_collect() as a non-public
4239         method with a blind va_list pointer.
4240         (gtk_object_add_arg_type): the `arg_name' argument is required to be a
4241         const static string now.
4242         (gtk_object_get_arg_type): function got removed.
4243
4244         * gtk/gtkwidget.c: 
4245         (gtk_widget_set): 
4246         (gtk_widget_new): adaptions for gtk_object_args_collect().
4247
4248         * gtk/gtktypeutils.c (gtk_type_init_builtin_types): changed the internal
4249         fundamental type name so as to have a valid prefix, e.g. "bool"->
4250         "gboolean", "string"->"GtkString" and somesuch, left "void" as is,
4251         though that should probably be something like GtkNone since the
4252         type itself is called GTK_TYPE_NONE.
4253         even the internal type names need to avoid name clashes and must live
4254         in their own namespace, several code portions rely on that.
4255         we should relly have typedefs such as typedef gchar* GtkString; so the
4256         fundamental type names can be used for code dumpers just like with all
4257         the Gtk/Gdk types.
4258
4259 Wed Jul  8 15:31:28 1998  Tim Janik  <timj@gtk.org>
4260
4261         * gtk/gtkbutton.c: handle GTK_RELIEF_HALF, which was introduced to
4262         keep either GTK_STATE_NORMAL for relief buttons (GTK_RELIEF_NONE) or
4263         to still honour GTK_WIDGET_STATE(), e.g. for coloured buttons
4264         (GTK_RELIEF_HALF).
4265         (gtk_button_paint): set the background for prelighted buttons with
4266         GTK_STATE_NORMAL only if GTK_RELIEF_NONE.
4267         (gtk_button_draw_focus): if GTK_RELIEF_NONE, use GTK_STATE_NORMAL for
4268         the shadow type (otherwise we get strange shadows for coloured buttons).
4269         (gtk_button_set_relief): queue a redraw after changing
4270         the relief.
4271         (gtk_button_class_init): 
4272         (gtk_button_set_arg): 
4273         (gtk_button_get_arg): added object argument "GtkButton::relief".
4274
4275         * gtk/gtkenums.h (enum): added GTK_RELIEF_HALF.
4276
4277 Mon Jul  6 18:30:48 1998  Tim Janik  <timj@gtk.org>
4278
4279         * gtk/gtkbutton.h:
4280         * gtk/gtkbutton.c: GtkButtons are now derived from GtkBin. we mirror
4281         GTK_BIN (button)->child to button->child to keep source compatibility.
4282
4283         * gtk/gtkoptionmenu.c:
4284         * gtk/gtkclist.c:
4285         * gtkcheckbutton.c: don't refer to button->child, but
4286         GTK_BIN (button)->child instead.
4287
4288 Mon Jul  6 12:06:23 BST 1998  Tony Gale  <gale@gtk.org>
4289
4290         * docs/gtkfaq.sgml: update anon CVS info
4291
4292 Sat Jul  4 13:16:24 1998  Tim Janik  <timj@gtk.org>
4293
4294         * gtk/*.c: changed reversed_[12] to reserved_[12] in gtk_*_get_type
4295         functions.
4296
4297         * gdk/gdkwindow.c:
4298         * gdk/gdkvisual.c: check for some pointer values to be != NULL, prior
4299         to XFree() calls.
4300
4301 1998-07-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4302
4303         * gtk/gtkfeatures.h.in: Added GDK_HAVE_FULL_CROSSING_EVENT, since
4304         I seem to have erroneously added it to gtkfeatures.h (not .h.in).
4305
4306 Fri Jul  3 14:55:31 PDT 1998 Manish Singh <yosh@gimp.org>
4307
4308         * gtk/gtkfeatures.h.in: added GTK_HAVE_RELIEF_STYLE
4309
4310 Wed Jul  1 20:58:46 1998  Tim Janik  <timj@gtk.org>
4311
4312         * gtk/gtkwidget.h:
4313         * gtk/gtkwidget.c: temporary implementation of action signal "debug_msg"
4314
4315         * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixed an off-by-one
4316         error that prevented signal to entry addition for signals with
4317         parameters.
4318
4319 Wed Jul  1 10:05:36 PDT 1998 Manish Singh <yosh@gimp.org>
4320
4321         * ltconfig: fix for properly detecting shared lib support on
4322         SunPro cc (taken from libtool 1.2.a)
4323
4324 Wed Jul  1 03:33:30 1998  Tim Janik  <timj@gtk.org>
4325
4326         * gtk/gtkrc.c: implementation of the "class" keyword for styles.
4327
4328 Tue Jun 30 14:30:37 1998  Tim Janik  <timj@gtk.org>
4329
4330         * gtk/gtkrc.c: fixed lookup order for rc styles. the latest defined
4331         rc set pattern is favoured, this is needed for overriding of style
4332         patterns with subsequently parsed rc files.
4333
4334 Tue Jun 30 12:45:19 1998  Tim Janik  <timj@gtk.org>
4335
4336         * gtk/gtkrc.c: code overhaul for simplicity and more descriptive
4337         error messages.
4338
4339 Tue Jun 30 09:24:40 1998  Tim Janik  <timj@gtk.org>
4340
4341         * gtk/gtkaccelgroup.c (gtk_accelerator_parse): parse "<Release>"
4342         modifier as well.
4343         (gtk_accelerator_name): add "<Release>" to the accelerator name if
4344         neccessary.
4345
4346         * gtk/gtkbindings.c (BINDING_MOD_MASK): take BINDING_MOD_MASK into
4347         account.
4348
4349         * gtk/gtkwidget.c (gtk_widget_real_key_release_event): implemented
4350         default handler for key-release events, which checks for activation
4351         of GDK_RELEASE_MASK key bindings.
4352
4353         * gdk/gdktypes.h (enum): added GDK_RELEASE_MASK to GdkModifierType.
4354
4355 Mon Jun 29 13:39:45 1998  Tim Janik  <timj@gtk.org>
4356
4357         * gtk/gtkarrow.h: GtkType and macro fixups.
4358         * gtk/gtkarrow.c: widget argument implementation: "GtkArrow::arrow_type",
4359         "GtkArrow::shadow_type".
4360
4361 Sun Jun 28 11:39:17 1998  Tim Janik  <timj@gtk.org>
4362
4363         * gtk/gtkalignment.h:
4364         * gtk/gtkbin.h: GtkType and macro fixups.
4365         
4366         * gtk/gtkalignment.c (gtk_alignment_class_init): widget argument
4367         implementation: GtkAlignment::xalign, GtkAlignment::yalign,
4368         GtkAlignment::xscale, GtkAlignment::yscale.
4369
4370 Sun Jun 28 04:29:10 1998  Tim Janik  <timj@gtk.org>
4371
4372         * gtk/gtktypeutils.c (gtk_type_class_init): call the base class init
4373         fucntions from all parent types upon class initialization.
4374
4375         * gtk/gtkcontainer.c:
4376         (gtk_container_get_type): announce gtk_container_base_class_init to
4377         the type system.
4378         (gtk_container_base_class_init): new function to feature base class
4379         initialization.
4380         (gtk_container_get_child_arg): 
4381         (gtk_container_set_child_arg): call the GtkContainerClass get_child_arg
4382         and set_child_arg methods of the class indicated through the argument
4383         name.
4384
4385         * gtk/gtkobject.c:
4386         (gtk_object_base_class_init): new function to feature base class
4387         initialization.
4388         (gtk_object_init_type): announce gtk_object_base_class_init to the type
4389         system.
4390         (gtk_object_class_init): setup the get_arg and set_arg pointers for
4391         GtkObjectClass.
4392         (gtk_object_setv): 
4393         (gtk_object_getv): call the GtkObjectClass get_arg and set_arg methods,
4394         instead of bothering the type system with this.
4395
4396         * gtk/gtkaccellabel.c: 
4397         * gtk/gtkbutton.c: 
4398         * gtk/gtkradiobutton.c: 
4399         * gtk/gtktable.c:
4400         * gtk/gtktogglebutton.c: 
4401         * gtk/gtktipsquery.c: 
4402         * gtk/gtkbox.c: 
4403         * gtk/gtkpacker.c: 
4404         * gtk/gtkwidget.c: 
4405         * gtk/gtkwindow.c: 
4406         * gtk/gtkframe.c: 
4407         * gtk/gtkmisc.c:
4408         * gtk/gtklabel.c: set the object_class->{g|s}et_arg pointers to the
4409         corresponding gtk_*_{g|s]et_arg functions and updated the gtk_*_get_type
4410         functions wrt GtkTypeInfo initialization. changed a lot of the set/get
4411         arg functions to take a GtkObject argument.
4412
4413         gtk/gtkadjustment.c:
4414         gtk/gtkalignment.c:
4415         gtk/gtkarrow.c:
4416         gtk/gtkaspectframe.c:
4417         gtk/gtkbbox.c:
4418         gtk/gtkbin.c:
4419         gtk/gtkcheckbutton.c:
4420         gtk/gtkcheckmenuitem.c:
4421         gtk/gtkclist.c:
4422         gtk/gtkcolorsel.c:
4423         gtk/gtkcombo.c:
4424         gtk/gtkctree.c:
4425         gtk/gtkcurve.c:
4426         gtk/gtkdata.c:
4427         gtk/gtkdialog.c:
4428         gtk/gtkdrawingarea.c:
4429         gtk/gtkeditable.c:
4430         gtk/gtkentry.c:
4431         gtk/gtkeventbox.c:
4432         gtk/gtkfilesel.c:
4433         gtk/gtkfixed.c:
4434         gtk/gtkfontsel.c:
4435         gtk/gtkgamma.c:
4436         gtk/gtkhandlebox.c:
4437         gtk/gtkhbbox.c:
4438         gtk/gtkhbox.c:
4439         gtk/gtkhpaned.c:
4440         gtk/gtkhruler.c:
4441         gtk/gtkhscale.c:
4442         gtk/gtkhscrollbar.c:
4443         gtk/gtkhseparator.c:
4444         gtk/gtkimage.c:
4445         gtk/gtkinputdialog.c:
4446         gtk/gtkitem.c:
4447         gtk/gtkitemfactory.c:
4448         gtk/gtklist.c:
4449         gtk/gtklistitem.c:
4450         gtk/gtkmenu.c:
4451         gtk/gtkmenubar.c:
4452         gtk/gtkmenuitem.c:
4453         gtk/gtkmenushell.c:
4454         gtk/gtknotebook.c:
4455         gtk/gtkoptionmenu.c:
4456         gtk/gtkpaned.c:
4457         gtk/gtkpixmap.c:
4458         gtk/gtkpreview.c:
4459         gtk/gtkprogressbar.c:
4460         gtk/gtkradiomenuitem.c:
4461         gtk/gtkrange.c:
4462         gtk/gtkruler.c:
4463         gtk/gtkscale.c:
4464         gtk/gtkscrollbar.c:
4465         gtk/gtkscrolledwindow.c:
4466         gtk/gtkseparator.c:
4467         gtk/gtkspinbutton.c:
4468         gtk/gtkstatusbar.c:
4469         gtk/gtktext.c:
4470         gtk/gtktoolbar.c:
4471         gtk/gtktooltips.c:
4472         gtk/gtktree.c:
4473         gtk/gtktreeitem.c:
4474         gtk/gtkvbbox.c:
4475         gtk/gtkvbox.c:
4476         gtk/gtkviewport.c:
4477         gtk/gtkvpaned.c:
4478         gtk/gtkvruler.c:
4479         gtk/gtkvscale.c:
4480         gtk/gtkvscrollbar.c:
4481         gtk/gtkvseparator.c: updated the GtkTypeInfo initialization code to
4482         match the modified GtkTypeInfo structure.
4483
4484 Sat Jun 27 23:23:27 PDT 1998 Manish Singh <yosh@gimp.org>
4485
4486         * gtk/testgtk.c: use rand() instead of random() for portability
4487
4488 Sat Jun 27 22:42:28 PDT 1998 Manish Singh <yosh@gimp.org>
4489
4490         * configure.in
4491         * acconfig.h
4492         * gdk/gdk.c: use native Xlib XConvertCase if it's available
4493
4494 Sat Jun 27 15:44:46 1998  Tim Janik  <timj@gtk.org>
4495
4496         * gdk/gdk.c (gdkx_XConvertCase): compatibility function to provide
4497         XConvertCase() functionality from X11R6 on X11R5 systems.
4498
4499 Thu Jun 25 10:50:34 1998  Stefan Jeske  <stefan@gtk.org>
4500
4501         * gdk/gdk.h gdk/gdkfont.c: Added functions gdk_text_height,
4502         gdk_string_height, gdk_char_height to retrieve the exact
4503         height of a text.
4504
4505 Thu Jun 25 07:53:51 BST 1998  Tony Gale  <gale@gtk.org>
4506
4507         * docs/gtk_tut.sgml: add section on GtkCList widget, contributed
4508           by Stefan Mars <mars@lysator.liu.se>
4509         * examples/clist/clist.c examples/clist/Makefile: example code
4510           for GtkCList widget from the Tutorial
4511
4512 Wed Jun 24 16:38:02 1998  Tim Janik  <timj@gtk.org>
4513
4514         * gtk/gtkbin.c (gtk_bin_remove): do not avoid to queue for a resize
4515         if the container is not visible, we might be a toplevel! this holds
4516         for all other base container implementations as well, that are
4517         candidates to derive toplevels from. in general the resizing code will
4518         care about visibility itself.
4519         * gtk/gtkmenushell.c (gtk_menu_shell_remove): likewise.
4520         * gtk/gtkbox.c (gtk_box_remove): likewise.
4521
4522         * gtk/gtkwindow.c (gtk_window_move_resize): save ->use_uposition around
4523         gtk_window_set_hints(), since we haven't calculated the new position
4524         yet.
4525
4526         * gdk/gdkwindow.c (gdk_window_get_pointer): take care that *x, *y and
4527         *mask are alway initialized in a sane way, regardless of the return
4528         value.
4529
4530 Wed Jun 24 14:14:32 1998  Tim Janik  <timj@gtk.org>
4531
4532         * gtk/gtkcontainer.c: new function gtk_container_child_arg_set, similar
4533         to gtk_container_child_arg_setv, but takes a variable argument list.
4534         new function gtk_container_get_child_arg_type, which is needed by
4535         gtk_object_collect_args.
4536
4537         * gtk/gtkobject.c: changed prototype for gtk_object_collect_args, to
4538         take a function pointer to figure the argument type.
4539         adapted callers to pass gtk_object_get_arg_type.
4540         * gtk/gtkwidget.c: adapted gtk_object_collect_args callers to pass
4541         gtk_object_get_arg_type..
4542
4543         * gtk/gtkpacker.h: 
4544         * gtk/gtkpacker.c:
4545         (gtk_packer_reorder_child): new function to change the packing order
4546         of a child.
4547         (gtk_packer_size_request): 
4548         (gtk_packer_size_allocate): take container->border_width into acount.
4549
4550         * gtk/gtkpacker.c: implemented widget arguments:
4551         "GtkPacker::spacing", "GtkPacker::border_width", "GtkPacker::pad_x",
4552         "GtkPacker::pad_y", "GtkPacker::ipad_x", "GtkPacker::ipad_y".
4553         implemented child arguments:
4554         "GtkPacker::side", "GtkPacker::anchor", "GtkPacker::expand",
4555         "GtkPacker::fill_x", "GtkPacker::fill_y", "GtkPacker::use_default",
4556         "GtkPacker::border_width", "GtkPacker::pad_x", "GtkPacker::pad_y",
4557         "GtkPacker::ipad_x", "GtkPacker::ipad_y", "GtkPacker::position".
4558
4559         * gtk/gtkmisc.c (gtk_misc_set_arg): for padding args, set the padding,
4560         not the alignment.
4561
4562         * gtk/gtkeventbox.h:
4563         * gtk/gtkeventbox.c: GtkType and macro fixups.
4564
4565         * gtk/testgtk.c (entry_toggle_sensitive): new function to toggle
4566         sensitivity of an entry.
4567
4568         * gtk/gtkstyle.c (gtk_style_new): support normal grey as default color
4569         for insensitive base and text.
4570
4571         * gtk/gtkentry.c (gtk_entry_realize): set the window backgrounds
4572         widget state dependent.
4573         (gtk_entry_style_set): likewise.
4574         (gtk_entry_state_changed): set background color on state changes.
4575         (gtk_entry_draw_text): for non selected text, use state dependent
4576         colors.
4577
4578         * gtk/gtktogglebutton.c: support for widget arguments
4579         "GtkToggleButton::active" and "GtkToggleButton::draw_indicator".
4580
4581 Wed Jun 24 08:35:45 1998  Stefan Jeske  <stefan@gtk.org>
4582
4583         * gtk/gtkspinbutton.c (gtk_spin_button_spin): Added compatibility 
4584         code for 1.0.x-like parameters. Changed internal interface of
4585         gtk_spin_button_real_spin. Several fixes to avoid emission of
4586         "value_changed" where possible.
4587
4588 Tue Jun 23 22:21:33 PDT 1998 Manish Singh <yosh@gimp.org>
4589
4590         * gtk-boxed.defs: s/GkWidget/GtkWidget/
4591
4592 Wed Jun 24 07:47:29 1998  Tim Janik  <timj@gtk.org>
4593
4594         * gtk/testgtk.c (create_idle_test): added a frame with radio buttons
4595         to select the resize_mode for the idle-labels container.
4596
4597         * gtk/gtkframe.h: 
4598         * gtk/gtkframe.c: GtkType and macro corrections.
4599
4600         * gtk/gtkradiobutton.c (gtk_radio_button_set_arg): new function to
4601         support widget argument "GtkRadioButton::group".
4602
4603 Tue Jun 23 08:01:09 1998  Tim Janik  <timj@gtk.org>
4604
4605         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): queue a resize
4606         unconditionally if resize_mode has changed.
4607
4608         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_init): set
4609         GTK_RESIZE_QUEUE on the scrolled window.
4610         (gtk_scrolled_window_construct): set GTK_RESIZE_PARENT for the vieport.
4611
4612 Tue Jun 23 04:20:30 1998  Tim Janik  <timj@gtk.org>
4613
4614         * gtk/gtkcontainer.h:
4615         * gtk/gtkcontainer.c:
4616         (GTK_IS_RESIZE_CONTAINER): new macro to find out if
4617         a given gtkobject is a container with resize_mode==GTK_RESIZE_PARENT.
4618         (gtk_container_queue_resize): new function to queue a container for
4619         a *size* reallocation (doesn't affect its position, and thus its
4620         parent is left untouched usually).
4621         (gtk_container_get_resize_container): new function to retrive the next
4622         most resize container which is not itself queued for a resize.
4623         (gtk_container_idle_sizer): new function to carefully process the
4624         container_resize_queue since it can change during invokation of
4625         gtk_container_check_resize().
4626         (gtk_container_resize_children): total rework of this function to
4627         properly handle resize containers. makes a lot of assumptions whitch
4628         are stated in the comments.
4629
4630         * gtk/gtkcontainer.c:
4631         (gtk_container_real_check_resize): only requeue ourselves if we are not
4632         a resize container.
4633         (gtk_container_clear_resize_widgets): care for automatic deletion of our
4634         resize_widgets list on size_allocate through a handler connection.
4635
4636         * gtk/gtkwindow.c (gtk_window_shutdown): new functionm to reset the
4637         focus and default widget of a window, so to take the burden from
4638         gtk_widget_unparent.
4639
4640         * gtk/gtkviewport.c: removed gtk_viewport_check_resize, which tried
4641         to be clever, but actually messed up the resize_children logic and
4642         caused unneccessary allocations on its whole branch. besides this,
4643         it messed up the display by not invoking a redraw after the allocation.
4644
4645         * gtk/gtktable.c (gtk_table_set_child_arg): reverted recent change, so
4646         that it is the child again that is queued for a resize.
4647         (gtk_table_attach): likewise.
4648         (gtk_table_remove): likewise.
4649
4650 1998-06-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4651
4652         * gtk/gtkentry.h, gtk/gtkentry.c: Export the
4653         gtk_entry_adjust_scroll.  Required if you change the cursor
4654         position and want to sync it up with your code (Midnight Commander
4655         gtk front end needs this).
4656
4657         * gtk/gtktable.c: Deal with tables that have size 0, 0.
4658
4659 Tue Jun 23 12:12:19 BST 1998  Tony Gale  <gale@gtk.org>
4660
4661         * examples/README.1ST: new file to explain how the
4662           code examples should be extracted from the tutorial.
4663
4664 Mon Jun 22 18:43:11 1998  Lars Hamann  <lars@gtk.org>
4665
4666         * gtk/gtkctree.c (draw_row): added new "line style"
4667         GTK_CTREE_LINES_TABBED 
4668         * gtk/gtkctree.c/h (gtk_ctree_find_glist_ptr): new function to
4669         search the glist pointer of an GtkCTreeRow
4670
4671 1998-06-21  Raja R Harinath  <harinath@cs.umn.edu>
4672  
4673         * gtk/Makefile.am (gtk.defs,gtktypebuiltins*): Remove $(srcdir)
4674         from, and clean up, the dependencies.  Generate to intermediate
4675         files to prevent problems with Ctrl-C.
4676
4677         * gtk/genmarshal.pl: Generate `gtkmarshal.[ch]' in $srcdir.
4678
4679 Fri Jun 19 14:46:56 1998  Stefan Jeske  <stefan@gtk.org>
4680
4681         * gtk/gtkspinbutton.h gtk/gtkspinbutton.c gtk/testgtk.c:
4682         - Bug fix for precision problem causing occasional double emission 
4683           of "value_changed" signal (hopefully works now).
4684         - API change (should be binary compatible) : 
4685           new enum GtkSpinType; modified gtk_spin_button_spin to use it.
4686           Modified cursor example appropriately.
4687           To spin by something other than step_/page_increment, use
4688           gtk_spin_button_spin (spin, GTK_SPIN_USER_DEFINED, increment).
4689         - Made GTK_SHADOW_NONE the default. ;)
4690         - Fixed casting of GtkAdjustment* to GtkWidget* in
4691           gtk_spin_button_value_changed.
4692
4693 Fri Jun 19 06:18:19 1998  Tim Janik  <timj@gtk.org>
4694
4695         * gtk/gtkcontainer.c (gtk_container_set_resize_mode): fail silently
4696         for toplevels. if resize_mode changes to GTK_RESIZE_PARENT, clear the
4697         resize widget list before queuing the container for a new reize.
4698         (gtk_container_need_resize): changed return value to FALSE, since this
4699         used to indicate that no further resizes are needed.
4700         (gtk_container_set_arg): 
4701         (gtk_container_get_arg): 
4702         (gtk_container_class_init): implemented GtkContainer::resize_mode
4703         argument.
4704
4705         (gtk_container_resize_children): when we walk up the tree of a resize
4706         widget we need to stop if we are the current parent.
4707
4708         * gtk/gtkwidget.c (gtk_widget_queue_resize): flag the resize child with
4709         GTK_RESIZE_NEEDED for container->resize_mode==GTK_RESIZE_IMMEDIATE.
4710         (gtk_widget_hide_all): retrive the toplevel widget from via
4711         gtk_widget_get_resize_container().
4712
4713 Thu Jun 18 23:08:36 1998  Owen Taylor  <otaylor@gtk.org>
4714
4715         * gtk/gtklist.c (gtk_list_button_press): Only respond
4716           to selection with button 1. This allows context-sensitive
4717           menus to work correctly.
4718
4719 Fri Jun 19 03:29:04 1998  Tim Janik  <timj@gtk.org>
4720
4721         * gtk/gtkaccelgroup.c: 
4722         * gtk/gtkbindings.c: 
4723         * gtk/gtkcontainer.c:
4724         * gtk/gtkitemfactory.c:
4725         * gtk/gtkobject.c: 
4726         * gtk/gtksignal.c:
4727         * gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
4728         g_quark_from_static_string calls to save memory.
4729
4730         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
4731         function _after_ the new data has been setup.
4732         minor changes to object data functions to feature the GQuark type.
4733
4734 Thu Jun 18 21:13:54 1998  Owen Taylor  <otaylor@gtk.org>
4735
4736         * gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
4737           from argv.
4738
4739 Thu Jun 18 20:22:28 1998  Owen Taylor  <otaylor@gtk.org>
4740
4741         * gtk/genmarshal.pl: Modified to be more idiomatic Perl,
4742           to be more readable perl, to spit out stuff that looks
4743           more like readable C, and to pipe output through indent
4744           so output looks a lot like readable C. No functional
4745           changes.
4746
4747 Thu Jun 18 17:43:31 1998  Owen Taylor  <otaylor@gtk.org>
4748
4749         * gtk/gtkpixmap.[ch] (gtk_pixmap_set): Clear the background if
4750           necessary when switching to a masked pixmap. (Based on a patch
4751           from Ullrich Hafner <hafner@informatik.uni-wuerzburg.de>)
4752
4753 Thu Jun 18 16:18:10 1998  Owen Taylor  <otaylor@gtk.org>
4754
4755         * gtk/gtkeditable.[ch]: Added action signals for keyboard
4756           bindings. (move_cursor, kill_word, etc, etc, etc). 
4757
4758           removed the time argument from
4759           gtk_editable_cut/copy/paste_clipboard (source but not
4760           binary incompatible...) Instead get time from
4761           gtk_get_current_event ().
4762         
4763         * gtk/gtktext.c gtk/gtkentry.c: Support the new editable
4764           signals.
4765
4766 Thu Jun 18 02:52:09 1998  Owen Taylor  <otaylor@gtk.org>
4767
4768         Patches from Damon Chaplin <DAChaplin@email.msn.com>:
4769
4770         gtk/gtkfontsel.h: Fixed GtkFontSelectionClass - I forgot to change
4771              parent class to GtkNotebookClass when splitting the widget in
4772              two.  Also updated some comments.
4773
4774         gtk/gtkfontsel.c: Fixed bug when toggling 'Allow scaled bitmaps'
4775                button without a font selected.
4776
4777              Fixed bug in set_font_name - I hadn't updated the code to
4778                search for the style in the font_style clist - it was
4779                still assuming the style row was equal to its index,
4780                but it isn't any more.
4781         
4782              Changed 'Reset' button on filter page to 'Clear Filter'.
4783              Deleted old code relating to the old 'Filter Fonts' toggle
4784              Updated some comments.
4785              Cleared 'Actual Fontname' if no font is set.
4786
4787         gtk/testgtk.c: Fixed problem when 'OK' button is pressed - it was
4788              destroying the GtkFontSelection instead of the
4789              GtkFontSelectionDialog.
4790
4791 Thu Jun 18 02:15:31 1998  Owen Taylor  <otaylor@gtk.org>
4792
4793         * gtk/gtkmain.c (gtk_init): Added --g-fatal-warnings
4794           flag to make all warnings fatal errors.
4795
4796         * gtk/testthreads.c: moved <pthreads.h> include inside 
4797           #ifdef USE_PTHREADS
4798
4799 Thu Jun 18 01:37:31 1998  Owen Taylor  <otaylor@gtk.org>
4800
4801         * gtk/gtkenums.h gtk/gtkcontainer.[ch] gtk/gtkwidget.c 
4802           gtk/gtkmenu.c gtk/gtkviewport.c gtk/gtkwindow.c:
4803
4804         - Added new function gtk_container_set_resize_mode() for
4805           fine-grained control of where resize-queueing is done.
4806
4807         - Removed GtkContainer::need_resize and GtkWindow::move_resize
4808         - Added GtkContainer::check_resize to replace need_resize.
4809
4810         - Added function gtk_container_check_resize() to trigger
4811           queued resizes, and gtk_container_resize_children() to
4812           Figure which children need to be size-allocated. (logic
4813           moved from gtkwindow.c)
4814
4815         - Reorganized code in gtkwindow.c
4816         
4817         - Set the resize-mode for viewports so that resizes within
4818           a viewport don't propagate out of it. 
4819         
4820 1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4821
4822         * gtk/gtkfontsel.c: Use pointer<->int conversion macros to avoid warnings.
4823
4824         * gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): Use
4825         g_return_val_if_fail, because the function *does* return a value.
4826
4827 Thu Jun 18 03:30:06 1998  Tim Janik  <timj@gtk.org>
4828
4829         * gtk/gtkaccellabel.h:
4830         * gtk/gtkaccellabel.c: new function gtk_accel_label_accelerator_width to
4831         request the size of the accelerator portion of an accel label.
4832         (gtk_accel_label_size_request): don't request for the accelerators size.
4833         (gtk_accel_label_expose_event): only draw the accelerator if we got
4834         enough extra space.
4835
4836         * gtk/gtkmenuitem.c (gtk_menu_item_size_request): request accelerator
4837         width from children.
4838
4839         * gtk/gtkmenu.c (gtk_menu_key_press): when adding an accelerator to an
4840         object (after removal has been requested) check if there is still an
4841         accelerator remaining to avoid adding two accelerators on an object.
4842         this can happen for locked accelerators (or accelerator-frozen widgets).
4843         (gtk_menu_size_request): feature childrens accelerator width in size
4844         requests.
4845
4846         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): use
4847         gtk_widget_freeze_accelerators() for dynamically created menu items.
4848
4849         * gtk/gtksignal.h: 
4850         * gtk/gtksignal.c: new function gtk_signal_handler_pending_by_func()
4851         which will return a handler_id > 0 if the specified function is pending
4852         for `signal_id'.
4853
4854         * gtk/gtkwidget.h:
4855         * gtk/gtkwidget.c: remove gtk_widget_stop_accelerator, which was just
4856         a signal handler function to stop accelerator addition.
4857         added gtk_widget_freeze_accelerators and gtk_widget_thaw_accelerators
4858         which will prevent (undo) any accelerators from being added to or
4859         removed from a widget.
4860
4861 Wed Jun 17 21:59:09 1998  Stefan Jeske  <stefan@gtk.org>
4862
4863         * gtkspinbutton.h gtkspinbutton.c testgtk.c:
4864         Changed GtkSpinButtonUpdatePolicy enum, added keyboard
4865         acceleration, new API gtk_spin_button_set_snap_to_ticks.
4866
4867 Wed Jun 17 03:47:40 1998  Tim Janik  <timj@gtk.org>
4868
4869         * gdk/gdk.h:
4870         * gdk/gdkwindow.c: new function gdk_window_at_pointer() to retrive
4871         the current GdkWindow the pointer is on if there is any.
4872         
4873         * gtk/gtktable.c (gtk_table_init): preallocate a table with one row
4874         and one column, so we don't construction logic at all. changed a few
4875         (x < y - 1) to (x + 1 < y), to avoid failing evaluations due to
4876         unsigned int wraps.
4877
4878         * gtk/gtkwidget.c (gtk_widget_set_parent): removed left over code
4879         portion, added an additional check for parent != widget.
4880
4881         * more GtkType and macro fixups.
4882
4883 1998-06-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4884
4885         * gtk/gtkhandlebox.c (draw_textured_frame): Now accepts an extra
4886         "clip" parameter, which is the clipping rectangle to use.  This
4887         eliminates the extremely annoying flicker when exposing parts of
4888         the handlebox.
4889
4890 Tue Jun 16 14:08:08 PDT 1998 Manish Singh <yosh@gimp.org>
4891
4892         * gtk/gtktable.c: fix from TimJ for off-by-one error in table
4893         resizing
4894
4895 Tue Jun 16 06:29:57 1998  Tim Janik  <timj@gtk.org>
4896
4897         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_state): check for
4898         != 0 on the argument.
4899
4900         * gtk/gtktable.h: 
4901         * gtk/gtktable.c: new function gtk_table_resize() which allowes
4902         shrinking and expanding of tables. implementation of widget arguments
4903         and child arguments. many signedness corrections.
4904
4905 Mon Jun 15 04:15:03 1998  Tim Janik  <timj@gtk.org>
4906
4907         * gtk/gtkbox.c (gtk_box_set_child_packing): queue the resize for the box
4908         not only the child, otherwise we might end up taking away other
4909         childrens space after the resize.
4910
4911         * gtk/gtkitemfactory.c (gtk_item_factory_parse_menu_path): if we parse
4912         an unknown menu path from any source, that path must always be flagged
4913         as "modified", since we don't really know whether it has its default
4914         value or not.
4915
4916         * gtk/gtktree.c:
4917         * gtk/gtkpacker.c:
4918         * gtk/gtknotebook.c:
4919         * gtk/gtkmenushell.c:
4920         * gtk/gtklist.c:
4921         * gtk/gtkpaned.c:
4922         * gtk/gtkfixed.c: 
4923         * gtk/gtkbutton.c: implement gtk_*_child_type functions.
4924
4925         * gtk/gtkbox.h: 
4926         * gtk/gtkbox.c: type corrections for expand, fill, padding and pack_type
4927         arguments. implemented child arguments.
4928
4929         * more GtkType and macro fixups.
4930
4931 Sun Jun 14 16:30:02 1998  Tim Janik  <timj@gtk.org>
4932
4933         * gtk/gtkcheckbutton.h: GtkType and macro fixups.
4934
4935         * gtk/gtkclist.h: exported the prototypes for gtk_clist_get_vadjustment
4936         and gtk_clist_get_hadjustment.
4937
4938         * gtk/gtkcontainer.c:
4939         implementation of children arguments, new class member functions
4940         (child_type), (get_child_arg) and (set_child_arg) plus a new field
4941         n_child_args.
4942         (gtk_container_child_type): new function which returns the type of a
4943         child that the container expects for its next addition.
4944         (gtk_container_add_child_arg_type): new function to introduce a new
4945         child argument at class creation time.
4946         (gtk_container_query_child_args): new function to query all child
4947         arguments that are supported by a container class.
4948         (gtk_container_child_arg_getv): new fucntion to retrive the value of a
4949         child argument.
4950         (gtk_container_child_arg_setv): new function to set a child argument for
4951         a certain container and child combination.
4952         (gtk_container_add_with_args):
4953         (gtk_container_add_with_argv): new functions to feature addition of a
4954         new child in combination with the setting of certain child arguments.
4955
4956         * gtk/gtktypeuitils.c (gtk_type_class_init): feature initialization of
4957         GtkContainerClass.n_child_args, similar to the GtkObjectClass members.
4958         this should really be done through class cretion hooks some day.
4959
4960         * gtk/gtkcontainer.c: changed type of border_width from gint16 to
4961         guint : 16.
4962
4963         * gtk/gtkpacker.h:
4964         * gtk/gtkpacker.c: renamed all PadX and PadY to pad_x and pad_y to
4965         follow the gtk convention for lower case variable names (important
4966         for language wrappers and widget arguments), and made them guint : 16.
4967
4968         * examples/packer/pack.c: adaptions for the case converted GtkPacker
4969         fields.
4970
4971 Fri Jun 12 16:33:23 1998  Tim Janik  <timj@gtk.org>
4972
4973         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_scanner): do not
4974         change the character pair for single line comments.
4975         (gtk_item_factory_parse_rc): use the cpair_comment_signle specified in
4976         GtkItemFactoryClass.
4977         (gtk_item_factory_parse_rc_string): likewise.
4978
4979 Mon Jun 15 23:39:44 1998  Owen Taylor  <otaylor@gtk.org>
4980
4981         * gtk/gtkfontsel.[ch] (gtk_font_selection_dialog_init): Moved font
4982         lists from the klass structure to a static structure
4983         in gtkfontsel.c; cleans up global the namespace.
4984
4985 Mon Jun 15 22:16:10 1998  Owen Taylor  <otaylor@gtk.org>
4986
4987         * gtk/makeenums.pl (parse_entries): Fix (untriggered)
4988         bug with /*< skip >*/ and remove warning.
4989         
4990 Mon Jun 15 20:14:09 1998  Owen Taylor  <otaylor@gtk.org>
4991
4992         * gtk/Makefile.am: Made the gtkmarshal.* generation
4993         rules maintainer-only.
4994
4995 Mon Jun 15 16:29:45 1998  Owen Taylor  <otaylor@gtk.org>
4996
4997         * gdk/gdktypes.h gdk/gdkprivate.h gtk/gtk*.h 
4998           gtk/Makefile.am gtk/makenums.pl 
4999
5000         Removed out the G_ENUM/FLAGS mechanism in favor
5001         of a perl script that parses the standard headers
5002         (with occasional /*< nick=foo >*/ style overrides)
5003         and extracts the enumerations.
5004
5005           gtk/maketypes.awk: Small improvments to the
5006           translation of names. (Avoid splitting gc into
5007           g_c_.)
5008         
5009 Mon Jun 15 16:25:44 1998  Owen Taylor  <otaylor@gtk.org>
5010
5011         * gtk/gtk.h gtk/gtkfontsel.[ch]: 
5012         Damon Chaplin's <DAChaplin@email.msn.com> Font selection widget.
5013         
5014 Mon Jun 15 15:58:34 1998  Owen Taylor  <otaylor@gtk.org>
5015
5016         * gtk/gtkentry.c:
5017         - Restored gtk_entry_adjust_scroll to static 
5018         - Changed text positioning code so that we always
5019           display as large a portion of the text as possible.
5020
5021 Mon Jun 15 15:42:12 1998  Owen Taylor  <otaylor@gtk.org>
5022
5023         * gtk/gtktext.c (gtk_text_finalize): Free internal
5024         structures of text widget. Also, unreference pixmaps
5025         when unrealizing.
5026         
5027 Sat Jun 13 19:14:39 1998  Owen Taylor  <otaylor@gtk.org>
5028
5029         * gdk/gdkinputcommon.h (gdk_input_device_new): Change
5030         3.3.1 bug workaround to number keys starting at 1.
5031
5032 Sat Jun 13 11:56:57 1998  Owen Taylor  <otaylor@gtk.org>
5033
5034         * docs/gtk_tut.sgml: Fixed urls for complete example
5035         source for scribble+widget-writing examples.
5036
5037 Sat Jun 13 11:48:26 1998  Owen Taylor  <otaylor@gtk.org>
5038
5039         * gdk/gdkpixmap.c (gdk_pixmap_extract_color): 
5040         Patch from Tom Bech <tomb@ii.uib.no>, to handle color
5041         specs of the form c #abcdef [ more keys ] properly.
5042
5043 Sat Jun 13 10:51:56 1998  Stefan Jeske  <stefan@gtk.org>
5044
5045         * gtkspinbutton.h gtkspinbutton.c testgtk.c 
5046         (gtk_spin_button_set_shadow_type):
5047         New API to set the shadow type of the arrow panel.
5048
5049 Fri Jun 12 21:20:42 1998  Owen Taylor  <otaylor@gtk.org>
5050
5051         * gtk/gtkoptionmenu.c (gtk_option_menu_expose): Removed
5052         code for drawing the child in two places at once. Unfortunately,
5053         not only does it not work anymore (because reparenting has
5054         been fixed), but it also triggers reparent/expose loops
5055         in some cases.
5056
5057         * gtk/gtkoptionmenu.c (gtk_option_menu_remove_contents): Removed
5058         an unecessary unrealize.
5059
5060 Fri Jun 12 21:18:56 1998  Owen Taylor  <otaylor@gtk.org>
5061
5062         * gdk/gdkwindow.c (gdk_window_reparent): Update the
5063           old and new parents' child window lists properly.
5064
5065 Fri Jun 12 09:24:47 1998  Tim Janik  <timj@gtk.org>
5066
5067         * gtk/gtkpacker.h:
5068         * gtk/gtkpacker.c: renamed enum GtkAnchor and GtkSide to GtkAnchorType
5069         and GtkSideType, to be consistent with the rest of Gtk's enum
5070         definitions. wrapped the enum definitions with the G_ eunm wrappers.
5071         spelled out the GTK_ANCHOR_* enum values, since single letters don't
5072         work out corectly as nick-names (left the old values as aliases).
5073         some signdness corrections (border-width, spacing), could stand more.
5074
5075 Thu Jun 11 14:38:33 CDT 1998 Shawn T. Amundson <amundson@gtk.org>
5076
5077         * gtk/gtkpacker.c, gtk/gtkpacker.h, gtk/gtk.h, gtk/Makefile.am: 
5078           Added gtkpacker
5079
5080         * examples/packer/pack.c, examples/packer/Makefile: Added
5081           gtkpacker example
5082
5083 Thu Jun 11 13:09:00 1998  Owen Taylor  <otaylor@gtk.org>
5084
5085         * gtk/gtktext.c (remove_cache_line): Fixed broken
5086         list-removal code.
5087
5088         * gtk/gtktext.c: (gtk_text_delete_(forward/backward)_cahr)
5089         Check bounds before deleting.
5090
5091 Wed Jun 10 23:21:33 1998  Owen Taylor  <otaylor@gtk.org>
5092
5093         * autogen.sh: Support ACLOCAL_FLAGS
5094
5095 Wed Jun 10 20:54:37 1998  Owen Taylor  <otaylor@gtk.org>
5096
5097         * gtk-config.in: Added missing quotes.
5098
5099 Wed Jun 10 18:44:22 PDT 1998 Manish Singh <yosh@gimp.org>
5100
5101         * gtk/gtkfeatures.in: #define GTK_HAVE_ACCEL_GROUP
5102
5103 1998-06-10  Raja R Harinath  <harinath@cs.umn.edu>
5104
5105         * acconfig.h (GTK_COMPILED_WITH_DEBUGGING): Renamed from
5106         G_COMPILED_WITH_DEBUGGING.
5107
5108         * configure.in (fd_set): Explain check better.
5109
5110         * acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
5111         the version from which gtk+'s libtool forked.  Needed for people
5112         who use post-1.2 alphas of libtool.
5113
5114 Wed Jun 10 19:36:35 1998  Owen Taylor  <otaylor@gtk.org>
5115
5116         * glib/* Moved to glib module
5117
5118         * INSTALL Makefile.am acconfig.h autogen.sh configure.in
5119           gtk-config.in gtk.m4 gdk/Makefile.am gtk/Makefile.am
5120
5121           configuration changes for the above:
5122          
5123           - Use AM_PATH_GLIB by default to find glib; also accept
5124             a --with-glib option for using an uninstalled glib.
5125          
5126           - Put --enable-debug information into config.h so
5127             that we rebuild when it changes. (was in glibconfig.h)
5128
5129 Wed Jun 10 22:23:27 1998  Lars Hamann  <lars@gtk.org>
5130
5131         * gtk/gtkctree.c (draw_row): adapted clist pixmap clipping
5132
5133         * gtk/gtknotebook.h (struct _GtkNotebookClass):
5134         * gtk/gtknotebook.c (gtk_real_notebook_switch_page): 
5135         added missing argument (according to Joseph Coleman's bug report)
5136
5137         * gtk/gtknotebook.c (gtk_notebook_set_focus_child): new class
5138         function to fix notebook focus handling
5139         
5140 Wed Jun 10 12:57:03 1998  Owen Taylor  <otaylor@gtk.org>
5141
5142         * gdk/gdkcc.c glib/ghash.c glib/glib.h glib/gstring.c
5143           glib/gutils.c glib/testglib.c glib/gdataset.c
5144           gtk/gtkaccelgroup.c gtk/gtkmain.c gtk/gtksignal.c
5145           gtk/gtktext.c gtk/gtkbindings.c:
5146
5147          renamed g_const_pointer => gconstpointer
5148
5149 Wed Jun 10 06:25:17 1998  Tim Janik  <timj@gtk.org>
5150
5151         * gdk/gdk.c (gdk_init): prevent gdk_init() from segfaulting when
5152         invoked with (NULL, NULL); (this worked sometime ago).
5153
5154         * gtk/gtktypeutils.h: 
5155         * gtk/gtktypeutils.c: enum and flags type creation can now be done
5156         through gtk_type_register_enum() and gtk_type_register_flags(),
5157         which allow to specify the enum value arrays directly.
5158         the NULL terminated value arrays can be retrived through
5159         gtk_type_enum_get_values() and gtk_type_flags_get_values();
5160         (gtk_type_children_types): new function to query derived types.
5161
5162 1998-06-09  Raja R Harinath  <harinath@cs.umn.edu>
5163
5164         * gtk/Makefile.am (gtkmarshal.c gtkmarshal.h): Pass $srcdir in
5165         environment to genmarshal.pl.
5166         (gtk.defs,gtktypebuiltins*): Add $(srcdir) where needed (in the
5167         rule), and removed it where not needed (in the dependencies).
5168
5169         * gtk/genmarshal.pl: Look for `gtkmarshal.list' in $srcdir.
5170
5171 Tue Jun  9 18:44:57 1998  Owen Taylor  <otaylor@gtk.org>
5172
5173         * gtk/gtkobject.c: Removed g_object_pointer_hash, which
5174         was just g_direct_hash.
5175
5176 Mon May 25 19:54:20 1998  Owen Taylor  <otaylor@gtk.org>
5177
5178         * configure.in: x_libs=, not $x_libs=. Enough said.
5179           (Case only hit for --disable-xshm)
5180         
5181 Mon May 25 12:08:14 1998  Owen Taylor  <otaylor@gtk.org>
5182
5183         * configure.in (LDFLAGS): Add to $CFLAGS and $LDFLAGS
5184           when testing for X libraries, don't replace them. Because
5185           the user might have specified the path to the X libraries
5186           themself before running configure.
5187
5188         * examples/**.c: Changed all gpointer * to gpointer
5189         
5190 1998-06-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5191
5192         * gtk/gtkhandlebox.h (struct _GtkHandleBox): Removed the
5193         fleur_cursor field.  Now the cursor is created/destroyed on demand
5194         by the routines that need it.
5195
5196         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): 
5197         (gtk_handle_box_motion): The fleur cursor is created and destroyed
5198         only when needed.
5199
5200 Tue Jun  9 09:57:09 1998  Tim Janik  <timj@gtk.org>
5201
5202         * gtk/gtktypeutils.h: 
5203         * gtk/gtktypeutils.c: renamed the newly created gtk_enum_get_values and
5204         gtk_enum_set_values to gtk_type_enum_get_values and
5205         gtk_type_enum_set_values respectively, since they are actually type
5206         system features.
5207
5208         * gtk/gtktypebuiltins_evals.c: oops, screwed the NULL termination with
5209         my last commit. ;)
5210
5211 Tue Jun  9 01:57:23 1998  Tim Janik  <timj@gtk.org>
5212
5213         * gtk/gtkselection.h: 
5214         * gtk/gtkselection.c: new functions gtk_selection_data_copy and
5215         gtk_selection_data_free.
5216
5217         * gtk/gtkwidget.c (gtk_widget_class_init): fixed gtk_signal_new() call
5218         for "selection_received", which was completely bogus.
5219         * other fixups to gtk_signal_new() calls all over the place.
5220
5221         * gtk/gtktypebuiltins.h: types as variables (formerly macros).
5222         * gtk/gtktypebuiltins_vars.c: type variable implementations.
5223         * gtk/gtktypebuiltins_ids.c: array entries for builtin type
5224         declarations.
5225         * gtk/gtktypebuiltins_evals.c: enum value arrays.
5226         * gtk/gtk-boxed.defs: gtk and gdk structure definitions, used to build
5227         gtk.defs.
5228         * gtk/gtk.defs: generated file with scheme syntax for type definitions
5229         of gtk and gdk structures and enums.
5230         * gtk/gtktypeutils.h: 
5231         * gtk/gtktypeutils.c: reworked type ids, so they are variables not
5232         macros anymore (this fixes binary incompatibility with new enum
5233         definitions).
5234
5235         * gtk/gtkwidget.c (gtk_widget_real_key_press_event): proccess possible
5236         key bindings for this widget.
5237         * gtk/gtkwindow.c (gtk_window_key_press_event): chain parent class'
5238         handler.
5239
5240         * gtk/gtkobject.h:
5241         * gtk/gtkobject.c: removed gtk_object_class_new_user_signal_no_recurse()
5242         again. new functions gtk_object_class_user_signal_new () and
5243         gtk_object_class_user_signal_newv (), to feature the GtkSignalRunType
5244         flag on the signal creation.
5245
5246 Mon Jun  8 20:52:21 1998  Tim Janik  <timj@gtk.org>
5247
5248         * gtk/gtkcontainer.h: new signal GtkContainer::set_focus_child.
5249
5250 Mon Jun  8 02:52:37 1998  Tim Janik  <timj@gtk.org>
5251
5252         * gdk/gdkprivate.h: 
5253         * gdk/gdktypes.h: 
5254         * gtk/gtkprivate.h: 
5255         * gtk/gtkwidget.h: 
5256         * gtk/gtkobject.h: wrapped enum definitions with glib macros.
5257
5258         * reworked enum value array generation code. gtk.defs is a generated
5259         file now.
5260
5261 Sun Jun  7 14:34:31 1998  Tim Janik  <timj@gtk.org>
5262
5263         * gtk/gtkitemfactory.c (gtk_item_factory_create_menu_entries): feature
5264         check menu items in the compatibility code (this required me to remove
5265         the "<check>" part from the menu item name, grrr).
5266
5267 1998-06-07  Marius Vollmer  <mvo@zagadka.ping.de>
5268
5269         * gdk/gdk.h (gdk_color_copy, gdk_color_free): New prototypes.
5270         * gdk/gdk.c (gdk_color_copy, gdk_color_free): New functions.
5271         
5272 Sun Jun  7 10:53:02 1998  Tim Janik  <timj@gtk.org>
5273
5274         * gtk/gtkitemfactory.h: 
5275         * gtk/gtkitemfactory.c: further additions to fit the gimp's code.
5276         additions to the dumping code to feature GtkPatternSpec.
5277         even found a bug to fix in the original code ;)
5278         
5279 Sun Jun  7 09:36:04 1998  Tim Janik  <timj@gtk.org>
5280
5281         * gtk/gtkitemfactory.c: support different types of callbacks, to
5282         maintain existing code.
5283
5284 Sat Jun  6 06:01:24 1998  Tim Janik  <timj@gtk.org>
5285
5286         * gtk/gtksignal.c (gtk_signal_emitv): fixed an assertment.
5287
5288         * gtk/makeenums.awk: a script to generate the GtkEnumValue arrays from,
5289         this should eventually be done by gentypeinfo.el somewhen.
5290         * gtk/gtkenumvalues.c: new generated file to hold GtkEnumValue arrays.
5291
5292         * gtk/gtktypeutils.h: new function gtk_enum_values() to retrive all the
5293         enum values of an enum type.
5294
5295         * gtk/gtk.defs:
5296         * gtk/gtkcurve.h: 
5297         * gtk/gtkobject.h: 
5298         * gtk/gtkprivate.h: 
5299         * gtk/gtkwidget.h:
5300         * gtk/gtkenums.h: 
5301         brought enum/flags definitions in sync, added a few more enum
5302         definitions for bindings and pattern matching.
5303
5304         * some more macro and GtkType fixups in various places.
5305
5306         * gdk/gdktypes.h (enum): added a new value GDK_AFTER_MASK, which is used
5307         as a key-release modifier for the binding system.
5308
5309 Fri Jun  5 06:06:06 1998  Tim Janik  <timj@gtk.org>
5310
5311         * gtk/gtkmenu.h (struct _GtkMenu): removed GList*children, since it
5312         was a stale list pointer that is already present in GtkMenuShell.
5313
5314         * gtk/gtkmenushell.h (struct _GtkMenuShellClass): added a signal
5315         GtkMenuShell::selection_done which is emitted after the menu shell
5316         poped down again and all possible menu items have been activated.
5317
5318 Thu Jun  4 02:20:42 1998  Tim Janik  <timj@gtk.org>
5319
5320         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): flush the x-queue
5321         before activation of the menuitem, so the menu is actually taken off the
5322         screen prior to any menu item activation.
5323
5324         * gtk/gtkctree.c (gtk_ctree_get_row_data): allow function invokation
5325         for NULL nodes.
5326
5327         * gtk/gtkwidget.h:
5328         * gtk/gtkwidget.c: new function gtk_widget_stop_accelerator to stop
5329         the emission of the "add-accelerator" signal on a widget. this is
5330         usefull to prevent accelerator installation on certain widgets.
5331
5332         * gtk/gtknotebook.c (gtk_notebook_menu_item_create): keep the menu
5333         labels left justified, by setting their alignment. stop accelerator
5334         installation for the menu items, since we use dynamic menus.
5335
5336 Wed Jun  3 06:41:22 1998  Tim Janik  <timj@gtk.org>
5337
5338         * gtk/gtkmenufactory.c: adaptions to use the new accel groups. people
5339         should *really* use GtkItemFactory. this is only for preserving source
5340         compatibility where possible, use of GtkMenuFactory is deprecated as of
5341         now.
5342
5343         * gtk/gtkobject.h (gtk_object_class_add_user_signal): new function
5344         to create user signals of type GTK_RUN_NO_RECURSE. don't know why i
5345         missed this possibility when i added gtk_object_class_add_user_signal
5346         in late january.
5347
5348         * gtk/gtkmain.c (gtk_init): ignore subsequent function calls.
5349
5350 Sun May 31 07:31:09 1998  Tim Janik  <timj@gtk.org>
5351
5352         * gtk/gtkaccelgroup.h: 
5353         * gtk/gtkaccelgroup.c: new implementation of the accelerator concept.
5354
5355         * gtk/gtkaccellabel.h: 
5356         * gtk/gtkaccellabel.c: new widget derived from GtkLabel whitch features
5357         display of the accelerators associated with a certain widget.
5358
5359         * gtk/gtkitemfactory.h: 
5360         * gtk/gtkitemfactory.c: new widget, item factory with automatic rc
5361         parsing and accelerator handling.
5362
5363         * gtk/gtkmenu.c (gtk_menu_reposition): new function to care for
5364         positioning a menu.
5365         (gtk_menu_map): removed the allocation code.
5366         (gtk_menu_size_allocate): care for redrawing of children and resize
5367         our widget->window correctly.
5368         (gtk_menu_key_press): feature the new accelerator groups.
5369
5370         * gtk/gtkmenuitem.c (gtk_menu_item_size_allocate): reposition the
5371         submenu if neccessary.
5372
5373         * gtk/gtkmenuitem.c:
5374         * gtk/gtkcheckmenuitem.c:
5375         * gtk/gtkradiomenuitem.c: use GtkAccelLabel in the *_new_with_label()
5376         function variants.
5377
5378         * gdk/gdk.c:
5379         (gdk_keyval_from_name): 
5380         (gdk_keyval_name): new functions for keyval<->key-name associations.
5381         (gdk_keyval_to_upper): 
5382         (gdk_keyval_to_lower): 
5383         (gdk_keyval_is_upper): 
5384         (gdk_keyval_is_lower): new functions to check/translate keyvalues with
5385         regards to their cases.
5386
5387 Wed May 27 00:48:10 1998  Tim Janik  <timj@gtk.org>
5388
5389         * gtk/gtkwidget.c (gtk_widget_class_path): new function to calculate a
5390         widget's class path.
5391         (gtk_widget_path): new function to calculate a widget's name path.
5392
5393         * gtk/gtkrc.c: newly introduced GtkPatternSpec structures to speed up
5394         pattern matching, features reversed pattern matches.
5395
5396 Thu Jun  4 12:12:11 BST 1998  Tony Gale  <gale@gtk.org>
5397
5398         * examples/extract.sh, examples/extract.awk:
5399           New files to automagically extract code examples from the
5400           tutorial.
5401
5402 Tue Jun  2 20:04:45 1998  Lars Hamann  <lars@gtk.org>
5403
5404         * gtk/gtknotebook.c (gtk_notebook_page_select) (gtk_notebook_focus)
5405         * gtk/gtkcontainer.c (gtk_container_focus_move):
5406         reversed test sequence for GTK_WIDGET_CAN_FOCUS and GTK_IS_CONTAINER
5407
5408 Tue Jun  2 13:04:06 BST 1998  Tony Gale  <gale@gtk.org>
5409
5410         * docs/gtk_tut.sgml: minor changes to support auto
5411           extraction of example code
5412
5413 Mon Jun  1 12:47:56 BST 1998  Tony Gale  <gale@gtk.org>
5414
5415         * docs/gtk_tut_it.sgml: Update of Italian Tutorial
5416           to Tutorial of 24th May, from Daniele Canazza <dcanazz@tin.it>
5417
5418 Fri May 29 13:53:57 BST 1998  Tony Gale  <gale@gtk.org>
5419
5420         * docs/gtk_tut.sgml:
5421           - new section on Events
5422           - change all delete_event callbacks to include
5423             a GdkEvent parameter
5424           - clean up the formatting
5425
5426         * examples - helloworld.c, helloworld2.c, notebook.c,
5427           packbox.c, pixmap.c, progressbar.c, radiobuttons.c,
5428           rulers.c, table.c, wheelbarrow.c: change all delete_event
5429            callbacks to include a GdkEvent parameter.
5430
5431 1998-05-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5432
5433         * gdk/gdktypes.h (GdkCrossingMode): New enumeration for the "mode"
5434         field of crossing events.
5435         (struct _GdkEventCrossing): Added the following fields: time, x,
5436         y, x_root, y_root, mode, focus, state.
5437
5438         * gdk/gdk.c (gdk_event_translate): Fill in the new fields of the
5439         crossing event structure.
5440
5441         * gtk/gtkfeatures.h (GDK_HAVE_FULL_CROSSING_EVENT): Annotate
5442         changes to the crossing event structure.
5443
5444 Tue May 26 15:51:28 1998  Radek Doulik  <gis@academy.cas.cz>
5445
5446         * gdk/gdk.c: include gdkx.h always (for GDK_ROOT_WINDOW)
5447
5448 Sun May 24 12:11:38 BST 1998  Tony Gale  <gale@gtk.org>
5449
5450         * docs/gtk_tut.sgml:
5451            - GtkTooltips, update to current API
5452            - change all 'gpointer *data' to 'gpointer data'
5453            - other minor changes
5454
5455 Sat May 23 21:54:05 1998  Owen Taylor  <otaylor@gtk.org>
5456
5457         * configure.in (LDFLAGS): Bomb out with a moderately
5458           helpful message if detection of X libraries fails.
5459
5460 Sat May 23 18:57:06 1998  Owen Taylor  <otaylor@gtk.org>
5461
5462   [ Combination of:
5463      gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
5464      gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
5465
5466         * gdk/gdk.h gdk/gdkcc.c gdk/gdkfont.c gtk/gtkmain.c
5467           gtk/gtksignal.c gtk/gtktext.c: 
5468
5469           Fixups for warnings from adding const to type of GHashFunc,
5470           GCompareFunc
5471         
5472         * gtk/gtkcombo.c (gtk_combo_entry_key_press): Minor style/
5473           ansi-warnings fixups.
5474
5475 Sat May 23 17:48:58 1998  Owen Taylor  <otaylor@gtk.org>
5476
5477         * gtk/gtkeventbox.c (gtk_event_box_size_allocate): 
5478         Locate child at (border_width,border_width), not
5479         (2*border_width,2*border_width). [ The border is _outside_
5480         widget->window ]
5481         
5482         * gdk/gdk.[ch]: added gdk_screen_width_mm/gdk_screen_height_mm
5483           functions. [From: Alexander Larsson <alla@lysator.liu.se> ]
5484
5485 1998-05-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5486
5487         * gtk/gtkfeatures.h.in: Define GTK_HAVE_RC_SET_IMAGE_LOADER, to be
5488         used in gnome-libs
5489
5490 1998-05-22    <sopwith@redhat.com>
5491
5492         * gtk/gtkeventbox.c: Pass size_allocate on to the child
5493         regardless of whether it is visible or not. Also
5494         locate child at (border_width,border_width), not (0,0)
5495
5496 Fri May 22 03:02:40 1998  Owen Taylor  <otaylor@gtk.org>
5497
5498         * gtk/gtkhandlebox.c: Added style_set handler.
5499
5500 Fri May 22 02:55:57 1998  Owen Taylor  <otaylor@gtk.org>
5501  [ From: Chris Lahey  <clahey@umich.edu> ]
5502         
5503         * gtk/gtkeditable.c, gtk/gtkeditable.h,
5504           gtk/gtktext.c, gtk/gtkentry.c: Added get_position,
5505           and set_position functions to get and set the cursor position.
5506
5507         * gtk/gtkeditable.c: Restored "insert_text" and "delete_text" to
5508           signal status. Make GtkText do user-controlled insertion
5509           and deletion through the Editable widget so that these
5510           signals are properly emitted.
5511
5512         * gtk/gtkentry.c: Changed gtk_entry_set_visibility to 
5513           display asterisks instead of empty space when visible = FALSE)
5514
5515 Fri May 22 08:51:10 CEST 1998  Paolo Molaro <lupus@debian.org>
5516
5517         * gtk/gtkclist.c: use GTK_TYPE_GDK_EVENT in (un)?select_row
5518         signal.
5519
5520 1998-05-21    <sopwith@redhat.com>
5521
5522         * gtk/gtkrc.[ch]: gtk_rc_set_image_loader() - allow apps to set a
5523         custom routine for loading images specified in gtkrc's.
5524
5525 Tue May 19 23:41:04 1998  Owen Taylor  <otaylor@gtk.org>
5526
5527         * configure.in: Use pthread_attr_init() as a test function,
5528         since most of the rest of -lpthread is macros on DU4.
5529
5530 Tue, 19 May 1998 09:03:03 +0200  Paolo Molaro <lupus@debian.org>
5531
5532         * gtk/gtkcombo.c: implemented completion in the entry.
5533
5534 1998-05-18    <sopwith@moebuis.labs.redhat.com>
5535
5536         * gtk/gtk{debug.h,signal.c,main.c}: Allow GTK_DEBUG=signals
5537
5538 Mon May 18 04:01:41 1998  Tim Janik  <timj@gtk.org>
5539
5540         * gtk/gtkwidget.c (gtk_widget_class_init): changed "proximity-in-event",
5541         "drop-data-available-event", "drop-enter-event" and "drop-leave-event"
5542         to be of runtype GTK_RUN_LAST.
5543
5544         * gtk/gtkcontainer.c (gtk_container_class_init): likewise for
5545         "need-resize".
5546
5547         * gtk/gtktipsquery.c (gtk_tips_query_class_init): likewise for
5548         "widget-selected".
5549
5550 Sat May 16 09:04:32 1998  Tim Janik  <timj@gtk.org>
5551
5552         * gtk/gtkfilesel.c (gtk_file_selection_key_press): g_strdup() the
5553         text retrived from GtkEntry. only intercept the Tab key if there
5554         was some text to complete.
5555
5556 Fri May 15 21:16:54 1998  Owen Taylor  <otaylor@gtk.org>
5557
5558         Basic thread-awareness:
5559
5560         * acconfig.h configure.in: New option --with-threads=[yes/posix/no]
5561
5562         * gdk/Makefile.am gdk/gdkthreads.c: Added new functions 
5563         gdk_threads_[init/enter/leave] for applications, plus
5564         gdk_threads_wake to wake the mainloop thread out of
5565         the select().
5566
5567         * gtk/Makefile.am: gtk/testthreads.c: Test program for threads
5568
5569 Fri May 15 12:08:48 1998  Owen Taylor  <otaylor@gtk.org>
5570
5571         * gtk/testgtk.c (list_clear): Account for the fact
5572         that gtk_list_clear_items is not inclusive. (Clears
5573         [start, end))
5574
5575 Fri May 15 12:31:27 1998  rodo  <doulik@karlin.mff.cuni.cz>
5576
5577         * gdk/gdk.c: include gdkkeysyms.h always
5578         
5579
5580 Fri May 15 09:44:10 1998  Tim Janik  <timj@gtk.org>
5581
5582         * gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of
5583         the visibility_notify_event method and changed method order.
5584
5585 1998-05-14    <sopwith@moebuis.labs.redhat.com>
5586
5587         * gtk/gtkwidget.[ch] Added visibility_notify_event to GtkWidget
5588
5589 Thu May 14 03:04:43 1998  Tim Janik  <timj@gtk.org>
5590
5591         * gtk/gtk.defs: added GtkButtonBoxStyle and GtkOrientation definitions
5592         from Olli Helenius <ollhel@batman.jytol.fi>.
5593
5594         * gtk/gtktypeutils.c (gtk_type_free): new function to take care about
5595         freeing types.
5596         (gtk_type_set_chunk_alloc): new function to allow allocation of new
5597         types from a mem_chunk of certain size (n_chunks==0 indicates allocation
5598         thorugh g_malloc).
5599
5600         * gtk/gtkobject.c (gtk_object_finalize): free an object through
5601         gtk_type_free().
5602
5603         * gtk/gtkbutton.c (gtk_button_get_type): set chunk preallocation for
5604         GtkButtons to 16.
5605         * gtk/gtkmenuitem.c (gtk_menu_item_get_type): likewise (16).
5606         * gtk/gtklabel.c (gtk_label_get_type): likewise (32).
5607
5608 Wed May 13 00:53:52 1998  Owen Taylor  <otaylor@gtk.org>
5609
5610         * gtk/gtktypeutils.c gtk/gtksignal.c gdk/gdkdnd.c: A few more 
5611           GPOINTER_TO_UINT fixes.
5612
5613         * gtk/gtksignal.c: Include <string.h> for memset.
5614
5615 Tue May 12 23:10:53 1998  Owen Taylor  <otaylor@gtk.org>
5616         (Maximilian Bisani <bisani@kawo2.rwth-aachen.de>: gtk-bisani-980320-0)
5617
5618         * gtk/gtkvruler.c gtk/gtkhruler.c gtk/gtkruler.h: 
5619         Cleanups, comments and the ability to have rulers with 
5620         a reversed direction.
5621
5622 Tue May 12 19:37:55 1998  Owen Taylor  <otaylor@gtk.org>
5623
5624         * gtk/gtkrc.c (gtk_rc_parse_file): Fixed up a stat()
5625         that Sopwith missed when changing stat => lstat.
5626
5627 Tue May 12 19:19:29 1998  Owen Taylor  <otaylor@gtk.org>
5628
5629         * gtk/gtkinputdialog.c gtk/gtkgamma.c gtk/gtkrc.c
5630           gtk/gtkcolorsel.c gtk/gtkclist.c gtk/testgtk.c: Use
5631         GPOINTER_TO_INT/GINT_TO_POINTER macros where appropriate.
5632
5633         * gdk/gdk.c: Print sizeof() results
5634         as g_print("%ld", (glong)sizeof(foo)), to deal with
5635         sizeof() being long on Alpha's.
5636
5637         * gtk/testgtk.c: include <string.h> for strlen
5638
5639 Tue May 12 16:56:35 1998  Owen Taylor  <otaylor@gtk.org>
5640         (James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
5641         
5642         * gtk/gtkbbox.h gtk/gtkcolorsel.h gtk/gtkvbbox.h:
5643         Changed #include "gtkfoo.h" to #include <gtk/gtkfoo.h>
5644
5645         * gtk/gtkwindow.[ch]: Added const to gtk_window_set_wmclass
5646
5647 Tue May 12 15:16:10 1998  Owen Taylor  <otaylor@gtk.org>
5648         (From: Christopher James Lahey <clahey@umich.edu>)
5649         
5650         * gtk/gtkbutton.[ch] gtk/gtkenums.h gtk/gtktoolbar.[ch]
5651           gtk/testgtk.c:
5652
5653         Added 'relief' for buttons - they can be either GTK_RELIEF_NORMAL
5654         (old style), or GTK_RELIEF_NONE - no relief in the NORMAL
5655         state. Added gtk_toolbar_{set,get}_button_relief, which set/get
5656         the default relief for the toolbars buttons. Added an
5657         toggle for the toolbar test in testgtk.c.
5658
5659 Tue May 12 00:24:59 1998  Owen Taylor  <otaylor@gtk.org>
5660
5661         * docs/gtk-config.1: Rewritten and hopefully improved.
5662
5663 Mon May 11 20:26:39 PDT 1998 Manish Singh <yosh@gimp.org>
5664
5665         * docs/Makefile.am
5666         * docs/gtk-config.1: added man page for gtk-config by Ben Gertzfield
5667
5668 1998-05-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5669
5670         * gtk/gtkpreview.c (gtk_preview_realize): Create the window using
5671         GtkPreview's visual and colormap, otherwise things can BadMatch.
5672
5673         * gtk/testgtk.c (create_color_preview): 
5674         (create_gray_preview): Removed pushing/popping of visual/colormap
5675         now that GtkPreview does things correctly.
5676
5677         * gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel_frame): 
5678         (gtk_color_selection_draw_wheel): Pick the style from the correct
5679         place (the colorsel->wheel_area widget) so that the GCs will match
5680         with where we are going to paint to.
5681
5682         * gtk/testgtk.c (create_color_selection): Removed pushing/popping
5683         of visual/colormap now that GtkColorSelection does things the
5684         right way.
5685
5686 Mon May 11 21:04:51 1998  Owen Taylor  <otaylor@gtk.org>
5687
5688         * gtk/gtkwindow.c (gtk_real_window_move_resize): Use the
5689         previously unused window->need_resize flag to mark if a window's
5690         descendents changed size while the window was not visible. In this
5691         case, when the window becomes visible, we reallocate everything,
5692         since we didn't keep track of what actually changed.
5693
5694         (Fixes bug where changing the popdown strings of a
5695         combo to something of the same length caused them to
5696         blank out, as reported by Todd Dukes <tdukes@ibmoto.com>)
5697
5698 Tue May 12 02:31:57 1998  Tim Janik  <timj@gtk.org>
5699
5700         [security audit by Alan Cox]
5701
5702         * gtk/gtkobject.c (gtk_object_get_arg_type): check for arg_name to not
5703         exceed maximum assumed size.
5704
5705         * gtk/gtkmenufactory.c (gtk_menu_factory_create): check that `path' does
5706         not exceed maximum assumed size.
5707         (gtk_menu_factory_remove): likewise.
5708         (gtk_menu_factory_find_recurse): likewise.
5709
5710 Mon May 11 23:53:38 1998  Tim Janik  <timj@gtk.org>
5711
5712         * gtk/gtkwidget.c (gtk_widget_queue_resize): queue the idle_sizer with
5713         GTK_PRIORITY_INTERNAL - 1, so widgets get first resized and then
5714         redrawn if that is still neccessary. don't allow queueing of already
5715         destructed objects.
5716         (gtk_widget_idle_sizer): proccess the resize queue in a save manner, so
5717         widgets which are in the queue can be destroyed safely, handle
5718         requeueing properly.
5719         (gtk_widget_idle_draw): proccess the redraw queue in a save manner, so
5720         widgets which are in the queue can be destroyed/unrealized safely.
5721
5722 Mon May 11 17:54:44 BST 1998 Tony Gale  <gale@gtk.org>
5723
5724         * gtkfaq.sgml: add question on multi-threading,
5725           minor URL cleanups.
5726
5727 Mon May 11 09:56:45 1998  Tim Janik  <timj@gtk.org>
5728
5729         * configure.in (cflags_set): preserve automake CFLAGS.
5730
5731         * Makefile.am: fully rename the created libraries to libgtk-1.1.la
5732         and libgdk-1.1.la. this means we need to change certain portions of
5733         the Makefile.am on major/minor version bumps.
5734
5735         * ltmain.sh: the -release option is not required anymore.
5736         
5737         * gtk/gtkobject.h (gtk_trace_referencing): compile time check the type
5738         of the first argument to be of type GtkObject. unconditionally compile
5739         this function. removed __GNUC__ dependancy of the gtk_object_ref and
5740         gtk_object_unref macro wrappers for this function.
5741
5742 Mon May 11 02:31:19 1998  Tim Janik  <timj@gtk.org>
5743
5744         * gtk/gtkobject.h:
5745         * gtk/gtkobject.c:
5746         (gtk_object_data_try_key):
5747         (gtk_object_data_force_id): these are now macros substituting the old
5748         functions. we just use the corresponding g_dataset_* functions for
5749         key->id associations. (this is to assure unique key<->id associations).
5750
5751 1998-05-10  Stefan Jeske  <stefan@gtk.org>
5752
5753         * gtk/gtkctree.c (gtk_ctree_is_visible): Changed return value
5754         to gboolean.
5755
5756         * docs/gtk.texi (GtkCTree): Started documentation of GtkCTree.
5757
5758 Sat May  9 20:11:20 1998  Owen Taylor  <otaylor@gtk.org>
5759
5760         * configure.in (LIBS): Try to figure out if this
5761         is Digital Unix and we need -std1 to get the
5762         right prototypes.
5763
5764 Sat May  9 16:30:33 BST 1998 Tony Gale  <gale@gtk.org>
5765
5766         * docs/gtk_tut_it.sgml: update of Italian tutorial
5767           translation from Daniele Canazza <dcanazz@tin.it>
5768
5769 Sat May  9 02:34:41 1998  Tim Janik  <timj@gtk.org>
5770
5771         * gtk/gtkfeatures.h.in: new file used as template for
5772         * gtk/gtkfeatures.h: new file to define macros indicating newly
5773         introduced features, such as GTK_HAVE_SIGNAL_INIT.
5774
5775         * gtk/gtksignal.c:
5776         (gtk_signal_emitv_by_name):
5777         (gtk_signal_emitv):
5778         new functions to emit signals with an already provided parameter set.
5779         (provided by Kenneth Albanowski <kjahds@kjahds.com>).
5780         (gtk_signal_real_emit): prototype changes, so this functions always
5781         gets its parameters and signal structure as arguments.
5782         (gtk_signal_emit): provide the signal structure and parameter list for
5783         gtk_signal_real_emit.
5784         (gtk_signal_emit_by_name): likewise.
5785
5786 Sat May  9 00:03:12 1998  Tim Janik  <timj@gtk.org>
5787
5788         * gtk/gtksignal.c (gtk_signal_handler_unref): reflect the presence of
5789         signal connections through unsetting GTK_CONNECTED.
5790         (gtk_signal_handler_insert): reflect the presence of signal connections
5791         through setting GTK_CONNECTED.
5792         (gtk_signal_real_emit): only check for handler emissions if the object
5793         has the GTK_CONNECTED flag set.
5794         (gtk_signal_handler_pending): don't check for pending handlers if the
5795         GTK_CONNECTED flag is not set for this object.
5796
5797         * gtk/gtkobject.h (enum): new flag GTK_CONNECTED to indicate whether
5798         a GtkObject has signal handler connections.
5799
5800         * gtk/gtkobject.c (gtk_object_real_destroy): only if GTK_CONNECTED is
5801         set for this object call gtk_signal_handlers_destroy().
5802         
5803         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): deprecated macro, since it caused
5804         multiple processing of macro args.
5805
5806         * gtk/gtktypeutils.c:
5807         * gtk/gtkobject.c:
5808         * gtk/gtkwidget.c:
5809         * gtk/gtksignal.c: reverted GTK_TYPE_IS_A back to gtk_type_is_a.
5810
5811 Fri May  8 21:31:50 1998  Owen Taylor  <otaylor@gtk.org>
5812
5813         * gtk/gtkwidget.c (gtk_widget_queue_draw): Free the
5814         draw-queue when we are done. 
5815
5816         (gtk_widget_queue_draw/_queu_resize): Always return
5817         FALSE and avoid having two idles at the same time.
5818         
5819 Fri May  8 21:04:00 1998  Owen Taylor  <otaylor@gtk.org>
5820
5821         * gtk/gtktext.c: Various fixes to make sure cache
5822         lines are freed if line_start_cache doesn't point to the
5823         beginning of the cache.
5824
5825 Thu May  7 09:44:22 1998  Owen Taylor  <otaylor@gtk.org>
5826
5827         * style_set improvements for GtkText and GtkEntry
5828
5829 Thu May  7 19:03:50 1998  Tim Janik  <timj@gtk.org>
5830
5831         * gtk/gtktypeutils.c (gtk_type_unique): asure that the type system has
5832         been initialized.
5833
5834 Thu May  7 12:52:45 1998  Tim Janik  <timj@gtk.org>
5835
5836         * gtk/gtkobject.c (gtk_object_set_data_by_id_full): allocate object
5837         data chunks through a global object data structure list. unlink
5838         object data before invoking its destroy function.
5839         (gtk_object_finalize): slight modification to allow usage of object
5840         data during object finalization.
5841
5842 Thu May  7 10:29:24 1998  Tim Janik  <timj@gtk.org>
5843
5844         * gtk/gtksignal.c (gtk_signal_newv): suport middle dashes ('-') in
5845         signal names, e.g. "signal-name" is now an alias for "signal_name".
5846         (gtk_signal_handler_new): allocate handlers through a global handler
5847         structure list, that's faster than memchunks.
5848         (gtk_emission_new): allocate emissions through a global emission
5849         structure list, that's faster than memchunks.
5850
5851 Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
5852
5853         * gtk-config.in (--libs): postfix -lg* libraries with LT_RELEASE.
5854
5855         * ltmain.sh: added a new commandline flag -postfix similar to -release,
5856         but will immediately change the library name.
5857
5858         * gdk/Makefile.am:
5859         * gtk/Makefile.am: specify -postfix and -version-info
5860
5861         * configure.in: version bump to 1.1.0. added GTK_INTERFACE_AGE and
5862         GTK_BINARY_AGE. calculate LT_* variables for libtool.
5863
5864 1998-05-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5865
5866         * gtk/gtkclist.c (draw_row): Fixed incorrect painting of row
5867         background (fg_set -> bg_set confusion).
5868
5869 1998-05-06  Stefan Jeske  <stefan@gtk.org>
5870
5871         * gtk/testgtk.c (unselect_all): Removed code that caused an
5872         endless loop.
5873
5874 Wed May  6 02:16:34 1998  Tim Janik  <timj@gtk.org>
5875
5876         * gtk/gtksignal.c: reimplemented the signal storage system to use a
5877         linear array rather than a hash table.
5878         be carefull *not* to keep any GtkSignal pointers across invokations
5879         of gtk_signal_next_and_invalidate() and therefore gtk_signal_new[v]().
5880         general code cleanups, made all allocations through memchunks.
5881         (gtk_signal_lookup): we now do the lookup of signals through a key_id
5882         for the signal names to avoid multiple hashing of the signal name on
5883         lookups for the several hirarchy levels of an object.
5884
5885 Tue May  5 19:49:27 1998  Owen Taylor  <otaylor@gtk.org>
5886
5887         * gdk/gdkpixmap.c: Patches from Gordon Matzigkeit
5888         to speed things up and remove code duplication.
5889
5890         Reintegrated buffer overflow patches, and added
5891         some extra paranoia.
5892         
5893 Tue May  5 17:04:14 1998  Owen Taylor  <otaylor@gtk.org>
5894
5895         * gdk/gdk.c (gdk_event_translate): A guint * was
5896         being passed where X expected a Keysym *, and
5897         keysyms are long's on Alpha Linux. This was causing
5898         segfaults in Xlib, apparently because of alignment.
5899         (Bug located by Juergen Haas <haas@forwiss.uni-passau.de>)
5900         
5901 Tue May  5 19:11:27 1998  Owen Taylor  <otaylor@gtk.org>
5902
5903         * gtk/gtkdrawingarea.c (gtk_drawing_area_realize): Always
5904         set GDK_EXPOSURE_MASK for DrawingAreas
5905
5906 Tue May  5 14:32:37 1998  Owen Taylor  <otaylor@gtk.org>
5907
5908         * gtk/gtkwidget.[ch]: removed gtk_widge_propagate_default_style
5909         (superceded by RC file reparsing capabilities)
5910
5911         * gtk/gtkwindow.c: Add handling for _GDK_READ_RFCILES client
5912         events. (Shouldn't be sent to the InputOnly leader, which
5913         it is now by gdk_event_send_clientmessage_toall
5914
5915         * gtk/testgtk.c: Added extra button to rcfiles test
5916         to send out _GDK_READ_RCFILES events.
5917         
5918 Tue May  5 11:03:00 1998  Owen Taylor  <otaylor@gtk.org>
5919
5920         * gtk/gtkselection.c (gtk_selection_clear): Fixed
5921         reversed conditionals that caused segfault on some
5922         platforms.
5923
5924 Tue May  5 00:44:47 1998  Owen Taylor  <otaylor@gtk.org>
5925
5926         * gtk/gtkcontainer.c (gtk_container_set_focus_[hv]adjustment):
5927         cast to GTK_OBJECT for gtk_object_ref.
5928
5929 Tue May  5 15:33:27 1998  Tim Janik  <timj@gtk.org>
5930
5931         * gtk/gtkmain.c (gtk_init): added gtk_signal_init() to avoid repeatedly
5932         checking for signal initialization in gtksignal.c.
5933
5934         * gtk/gtktypeutils.c (TYPE_NODES_BLOCK_SIZE): reseted this to 200 after
5935         a long debugging period ;)
5936
5937 1998-05-05  Stefan Jeske  <stefan@gtk.org>
5938
5939         * gdk/gdkgc.c gdk/gdk.h gtk/gtkctree.c (gdk_gc_set_dashes):
5940         New function to wrap XSetDashes; modified gtkctree.c to use it.
5941
5942 1998-05-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5943
5944         * configure.in: Added $x_libs in the other_libraries field in the
5945         check for XShapeCombineMask.
5946
5947 Mon May  4 00:30:11 1998  Tim Janik  <timj@gtk.org>
5948
5949         * gtk/gtktypeutils.h (GTK_TYPE_IS_A): new macro to speedup
5950         gtk_type_is_a().
5951         * gtk/gtktypeutils.c: reimplemented the type storage system to use a
5952         linear array rather than a hash table. it actually speeded up testgtk
5953         for a *considerable* amount. be carefull *not* to keep any GtkTypeNode
5954         pointers across invokations of gtk_type_node_next_and_invalidate() and
5955         therefore gtk_type_unique()!
5956
5957         * gtk/gtkobject.h (GTK_IS_OBJECT_CLASS): new macro to test for the
5958         inheritance of a class pointer.
5959         (GTK_OBJECT): modifications for speedups.
5960         (GTK_IS_OBJECT): likewise.
5961         (GTK_OBJECT_CLASS): likewise.
5962         (suggested by owen).
5963
5964         * gtk/gtkcontainer.h (GTK_IS_CONTAINER_CLASS): new macro.
5965
5966         * gtk/gtkwidget.h (GTK_IS_WIDGET_CLASS): new macro.
5967
5968         * gtk/gtk.defs (GtkTooltips): define GtkTooltips as object not as boxed,
5969         since its derivation changed 4 month ago ;(. showed up with the unique
5970         type name checking code in gtk_type_unique().
5971
5972         * random guint->GtkType and macro fixups.
5973
5974 Sat May  2 23:14:34 1998  Owen Taylor  <otaylor@gtk.org>
5975
5976         * gtk/gtkcurve.c (gtk_curve_graph_events): Ignore
5977         Configure events that would result in a negative
5978         size.
5979
5980 Sun May  3 14:55:34 1998  Owen Taylor  <otaylor@gtk.org>
5981
5982         * docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
5983         "glibconfig.h" and another about writing another IRC
5984         client.
5985
5986 Sat May  2 00:14:05 1998  Owen Taylor  <otaylor@gtk.org>
5987
5988         * gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
5989         parameters to log are doubles. Digital Unix apparently
5990         is missing the argument in its prototype.
5991
5992 Sun May  3 19:04:46 1998  Owen Taylor  <otaylor@gtk.org>
5993
5994         * gtk/gtklabel.c (gtk_label_state_changed): Don't
5995         force a clear until the widget is actually on
5996         screen.
5997
5998 Sun May  3 21:32:35 1998  Owen Taylor  <otaylor@gtk.org>
5999
6000         * gdk/gdk.c (gdk_event_translate): Grab with OwnerEvents = False
6001         to make this consistent with the gtk-1-0 tree.
6002
6003 Sun May  3 13:38:22 1998  Owen Taylor  <otaylor@gtk.org>
6004
6005         * configure.in acheader.h gdk/gdkwindow.c 
6006         Check for Shape extension both on the client and server
6007         side. (And, more importantly, check for the shape extension
6008         so we may include -lXext even when compiling with --disable-xshm)
6009
6010         Don't set override_redirect on all shaped windows. It isn't
6011         necessary.
6012
6013         * gdk/gdkwindow.c: Set ->colormap to NULL for root 
6014         and foreign windows. Use this to check if we
6015         need to get the colormap from X.
6016
6017 Fri May  1 22:32:47 1998  Owen Taylor  <otaylor@gtk.org>
6018
6019         * gtk/gtkbutton.c (gtk_button_paint): Draw the areas
6020         between the default and the button always in GTK_STATE_NORMAL.
6021
6022         * gtk/gtkrange.c (gtk_range_style_set): Added a style_set
6023         callback.
6024
6025 Fri May  1 16:40:57 1998  Owen Taylor  <otaylor@gtk.org>
6026
6027         * gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
6028           Fix a buffer overflow on pixmaps that claim to have
6029           more than 31 characters per pixel.
6030
6031           (gdk_pixmap_read_string): Don't wrap around strings longer
6032           than half of address space ;-)
6033
6034         * gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
6035         that were used for printing integers.
6036
6037         * */* (almost):
6038
6039         Style: All 
6040           int foo () { ... }
6041         changed to
6042           int foo (void) { ... }
6043
6044         Even where there were proper prototypes elsewhere.
6045
6046         * gdk/gxid.c (handle_claim_device): Some extra checks.
6047         It isn't safe against being fed bad X id's, but at
6048         least it should be safe against deleting all your
6049         files.
6050
6051 Sun May  3 19:45:09 1998  Tim Janik  <timj@gtk.org>
6052
6053         * gtk/gtkadjustment.c (gtk_adjustment_assimilate_value): new function
6054         to set the adjustments value when there is no current emission.
6055         [ Removed by mutual agreement owt 5/3/1998 ]
6056
6057         * gtk/gtksignal.c: added new functions to retrive the number of
6058         existing emissions for a certain signal.
6059         (gtk_signal_n_emissions): new function.
6060         (gtk_signal_n_emissions_by_name): new function.
6061
6062 Sun May  3 16:55:43 1998  Tim Janik  <timj@gtk.org>
6063
6064         * gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
6065         set the current focus_child of a container, does proper referencing and
6066         adjusts the vadjustment/hadjustment associated with the focus widget.
6067
6068         * gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
6069         containers via gtk_container_set_focus_child.
6070
6071         * gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
6072         where appropriate.
6073
6074         * gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
6075         child since not every child removal goes through this function (this
6076         showed up after gtk_container_set_focus_child() started to reference the
6077         focus_child of a container).
6078
6079         * gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
6080         of a container from gtk_container_remove into this place.
6081
6082 Sat May  2 22:33:45 1998  Tim Janik  <timj@gtk.org>
6083
6084         * gtk/gtksignal.c: added new functions to operate on intermediate
6085         function pointers. implemented incremental blocking.
6086         (gtk_signal_disconnect_by_func): new function.
6087         (gtk_signal_handler_block_by_func): new function.
6088         (gtk_signal_handler_unblock_by_func): new function
6089
6090 Fri May  1 22:45:55 1998  Owen Taylor  <otaylor@gtk.org>
6091
6092         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
6093         Always show the scrollbars when the policy is
6094         GTK_POLICY_ALWAYS...
6095
6096 Sat May  2 20:19:03 1998  Tim Janik  <timj@gtk.org>
6097
6098         * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit
6099         "value_changed" if we really passed a new value.
6100         (gtk_adjustment_changed): new function to emit the "changed" signal.
6101         (gtk_adjustment_set_value): new function to emit the "value_changed"
6102         signal.
6103
6104 Fri May  1 12:28:35 1998  Owen Taylor  <otaylor@gtk.org>
6105
6106         * gtk/gtkcombo.c: Further changes to the way the window
6107         is popped up so that it will be compatible with 
6108         auto-scrolling in the future.
6109
6110 Fri May  1 20:25:29 1998  Tim Janik  <timj@gtk.org>
6111
6112         * gtk/gtkcombo.c (gtk_combo_popup_list): do not just return if
6113         the combo-list is empty since that will cause the combo to operate
6114         on a non existing GtkList window.
6115         (gtk_combo_get_pos): provide the combo list with a usfull default
6116         height if empty.
6117         (gtk_combo_popup_button_press): grab the focus.
6118         (gtk_combo_activate): grab the focus.
6119
6120 Fri May  1 12:06:43 1998  Owen Taylor  <otaylor@gtk.org>
6121
6122         * gtk/gtkwindow.[ch] (gtk_widget_reset_rc_styles): New
6123         function to reset the RC styles for a heirarchy
6124
6125         Clear the window background if necessary in
6126         gtk_window_style_set.
6127
6128         * gtk/gtkrc.[ch]: New function gtk_rc_reparse_all() which
6129         rereads all previously read RC files.
6130
6131         * gdk/gdkwindow.c gdk/gdk.h: New function gdk_window_get_toplevels().
6132         (Should it just be called gdk_get_toplevels?)
6133
6134         * gtk/testgtk.c: New test to reload RC files.
6135
6136 Fri May  1 13:57:36 1998  Tim Janik  <timj@gtk.org>
6137
6138         * gtk/gtkclist.h:
6139         * gtk/gtkclist.c: prefixed all clist flags with GTK_ to avoid name
6140         clashes. redefined GTK_CLIST_SET_FLAGS and GTK_CLIST_UNSET_FLAGS as
6141         GTK_CLIST_SET_FLAG and GTK_CLIST_UNSET_FLAG to automatically add
6142         the GTK_ prefix (this solution involved less changes in the
6143         gtkclist.c code). added a GTK_CLIST_CONSTRUCTED flag to substitute
6144         the mem_chunk==NULL test in gtk_clist_construct. merged in changes
6145         from lars & stefan to support the derivation of GtkCtree.
6146
6147         * gtkctree.h:
6148         * gtkctree.c:
6149         initial import of a tree widget derived from gtkclist, courtesy
6150         of Lars Hamann <lars@gtk.org> and Stefan Jeske <jeske@gtk.org>,
6151         it just damn rocks!
6152
6153 Fri May  1 10:05:44 1998  Tim Janik  <timj@gtk.org>
6154
6155         * gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
6156         for us.
6157         (gtk_list_insert_items):
6158         (gtk_list_remove_items_internal): 
6159         (gtk_list_clear_items): 
6160         remove a possible pointer grab, we might get thrown into a loop
6161         otherwise.
6162         (gtk_list_button_press): grab the pointer *before* selecting the child,
6163         because selection of items may cause the lists children to change,
6164         resulting in a grab release.
6165         (gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
6166         children.
6167         (gtk_list_shutdown): remove all children from the list.
6168         (gtk_real_list_unselect_child): 
6169         (gtk_real_list_select_child): *always* put our internal structures into
6170         sane state *before* signal emisions (i.e. list->selection updates prior
6171         to gtk_list_item_[de]select() calls).
6172
6173         * gtk/gtkcombo.c (gtk_combo_init): adjust the scrollbar if the lists
6174         focused child walks out of the window.
6175         removed CAN_FOCUS for the combo arrow's button since it doesn't react
6176         to keyboard events ("clicked" connection is missing).
6177
6178 Fri May  1 00:42:25 1998  Owen Taylor  <otaylor@gtk.org>
6179
6180         * gdk/gdkwindow.c (gdk_window_get_colormap): Fix up
6181         getting colormap for FOREIGN windows to go along with
6182         Raster's fix for visuals.
6183
6184 Merges from gtk-1-0
6185 ===================
6186         
6187 Thu Apr 30 23:32:51 1998  Owen Taylor  <otaylor@gtk.org>
6188
6189         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
6190         Check to catch the case when the viewport fits in either
6191         direction or both, instead of flip-flopping infinitely.
6192
6193         Only show/hide the scrollbars once at the end.
6194
6195 Thu Apr 30 21:56:07 1998  Owen Taylor  <otaylor@gtk.org>
6196
6197         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): 
6198         Include the scrollbars in the foreach call.
6199         (gtk-fortier-980405-0.patch; 
6200          Patrice Fortier <Patrice.Fortier@aquarel.fr>). 
6201
6202         The notebook widget
6203         really should also include its tabs, but that might cause
6204         problems for programs if they
6205
6206 Thu Apr 30 21:51:52 1998  Owen Taylor  <otaylor@gtk.org>
6207
6208         * gtk/gtkpixmap.c (gtk_pixmap_set): Only request a
6209         resize if the size actually changed. 
6210         (gtk-johannes-980414-0.patch ;  
6211          johannes@nada.kth.se (Johannes Keukelaar) )
6212
6213 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
6214
6215         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
6216           ltmain.sh ltconfig config.sub config.guess:
6217
6218         Reverted back to libtool-1.2 (plus minor patches) so as not to
6219         force the issue for everyone else.
6220
6221 Thu Apr 30 10:22:59 1998  Owen Taylor  <otaylor@gtk.org>
6222
6223         * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
6224         Updated to libtool 1.2a.
6225
6226         * gtk/gtkclist.c: Draw the in-between lines with style->base
6227         instead of style->white.
6228         
6229 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
6230
6231         * gdk/gdkprivate.h gdk/gdkwindow.c gdk/gdkpixmap.c: 
6232         Cache the colormap and children of a window locally
6233         instead of fetching them from the server when needed.
6234         Huge performance difference for creating/destroying
6235         windows.
6236
6237         * gtk/gtkstyle.c: Find the depth from the cached
6238         visual, instead of asking the server.
6239
6240         * gtk.m4: Distribute the new version which tries to
6241         figure out what went wrong and give helpful error
6242         messages.
6243
6244         * ltmain.sh ltconfig config.sub config.sh: 
6245         Updated to libtool 1.2a
6246
6247         * gtk/gtktext.c: Fixed a bug where the drawn level
6248         was being messed up when the text was scrolled
6249         during a deletion.
6250         
6251 Thu Apr 30 02:42:11 PDT 1998 Manish Singh <yosh@gimp.org>
6252
6253         * gtk/gtkfilesel.c: don't die when naughty people remove parts of
6254         the filesystem under you (fix from Josh)
6255
6256 Thu Apr 30 09:49:14 1998  Tim Janik  <timj@gtk.org>
6257
6258         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): check
6259         if the viewport already exists before iterating over it, maybe we
6260         haven't been constructed yet.
6261
6262 Thu Apr 30 01:51:00 1998  Tim Janik  <timj@gtk.org>
6263
6264         * gtk/gtkbin.c (gtk_bin_add): made this function issue a warning if
6265         the GtkBin widget already has a child.
6266
6267         * gtk/gtkbox.c (gtk_box_pack_{start|end}):
6268         check that child->parent == NULL;
6269
6270 Tue Apr 28 22:13:54 1998  Owen Taylor  <otaylor@gtk.org>
6271
6272         * gtk/gtkselection.c (gtk_selection_clear): Only return
6273         FALSE when the clear event is been rejected, not when
6274         widget has already lost the selection. (Which should
6275         only happen when we are setting the selection to another
6276         widget ourself.)
6277         
6278 Fri Apr 24 19:07:32 1998  Owen Taylor  <otaylor@gtk.org>
6279
6280         * gtk/gtkfixed.c gtk/gtkpaned.c gtk/gtktable.c:
6281
6282         Removed the "check visibility after gtk_widget_unparent" bug 
6283         in hopefully the last three places.
6284
6285 Tue Apr 28 15:46:41 1998  Tim Janik  <timj@gtk.org>
6286
6287         * gtk/gtkrc.c (gtk_rc_parse_statement): allow the inclusion of other
6288         rc-files.
6289
6290 Mon Apr 27 15:11:52 1998  Tim Janik  <timj@gtk.org>
6291
6292         * gtk/gtkwidget.c (gtk_widget_grab_focus): only allow grabbing of focus
6293         for CAN_FOCUS widgets.
6294
6295         * gtk/testgtk.c (create_scrolled_windows): feature h/v focus
6296         adjustments for the table.
6297         (create_list): feature automatic adjustment of the scrolled window to
6298         always contain the focused child.
6299         (create_main_window): keep the focussed button always inside of the
6300         scrolled windoww.
6301
6302         * gtk/gtkcontainer.c (gtk_real_container_focus): set the h/v focus
6303         adjustments, to contain the allocation of the currently focused child.
6304         (gtk_container_set_focus_hadjustment): new functin to set the
6305         horizontal focus adjustment.
6306         (gtk_container_set_focus_vadjustment): new functin to set the vertical
6307         focus adjustment.
6308
6309         * gtk/gtkadjustment.c (gtk_adjustment_clamp_page): new fucntion to
6310         clamp the currents adjustment page into a specific range.
6311
6312         * random GtkType fixups for gtk_*_get_type() functions.
6313
6314 Fri Apr 24 18:37:16 1998  Owen Taylor  <otaylor@gtk.org>
6315
6316         * gtk/gtktreeitem.c (gtk_tree_item_remove_subtree): 
6317         Account for the fact that gtk_tree_item_remove_subtree
6318         will be called recursively. 
6319
6320         Handle removing a collapsed subtree.
6321
6322         (From Andy Dustman <adustman@comstar.net>)
6323         
6324         * gtk/gtktree.c (gtk_tree_remove_items): Look for the
6325         root tree when removing items from a non-previously
6326         mapped tree.
6327
6328         * gtk/testgtk.c: Added a remove_subtree button.
6329         
6330 Thu Apr 23 23:44:17 1998  Owen Taylor  <otaylor@gtk.org>
6331
6332         * gtk/gtkobject.c (gtk_object_finalize): Notify all weak references
6333         before object removing data. This change fixes a bug where 
6334         removing the last weak references would cause it to be 
6335         triggered.
6336
6337 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
6338
6339         * gdk/Makefile.am: Removed mostly useless dependency that
6340         was causing problems for SGI's make, when used with
6341         the 'make dist' form of GTK+. (Dependency caused dependencies
6342         to be redone when BUILT_SOURCES changed)
6343
6344 Thu Apr 30 11:18:00 1998  Owen Taylor  <otaylor@gtk.org>
6345
6346         * gtk/gtkcombo.[ch]: Allow the user to use the popup list
6347         like a menu.
6348         
6349         * gtk/gtkmenuitem.c gtk/gtkitem.c: Moved enter/leave handlers
6350         to gtkitem.c so dragging can also work in lists.
6351
6352         * gtk/gtklist.[ch]: Track child enter events and use
6353         those to allow dragging the selection. 
6354
6355 Thu Apr 30 11:16:06 1998  Owen Taylor  <otaylor@gtk.org>
6356
6357         * gtk/gtktext.c: Try enabling background pixmaps for editable text
6358         widgets.  There is a bit of flashing, but not too bad. If you
6359         don't want the flashing, you can always not set a background
6360         pixmap.
6361
6362 Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
6363
6364         * gtk/gtktext.c: Fixed a bug where the drawn level
6365         was being messed up when the text was scrolled
6366         during a deletion.
6367         
6368 1998-04-28  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6369
6370         * gdk/gdk.c (gdk_event_translate): Random debugging fixed this
6371         bug:  There is no need to set the ExposureMask in the XGrabPointer
6372         (this caused DnD programs to crash).
6373
6374 Fri Apr 24 01:29:04 1998  Tim Janik  <timj@gtk.org>
6375
6376         * gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
6377         field to be of type guint.
6378         * gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
6379         ref_count>0;
6380         (gtk_accelerator_table_install): keep a per object list of accelerator
6381         tables that refer to this object.
6382         (gtk_accelerator_table_remove): remove the accelerator table from the
6383         per object list.
6384         (gtk_accelerator_table_clean): warn if there are any object references
6385         left in an accelerator table upon destruction.
6386         (gtk_accelerator_tables_delete): new function to delete object
6387         references from the accelerator tables associated with this object.
6388
6389         * gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
6390         GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
6391         of an accelerator can be prevented by gtk_signal_emit_stop().
6392         (gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
6393         so there are no stale pointers in accelerator tables left.
6394
6395 1998-04-22  Federico Mena Quintero  <federico@nuclecu.unam.mx>
6396
6397         * gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
6398         visible before we unparent it.
6399
6400 Wed Apr 22 04:15:26 1998  Tim Janik  <timj@gtk.org>
6401
6402         * gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
6403         running_timeouts list with the tmp_list link itself, not with a new
6404         GList structure pointing to our link. that would fill up memory and
6405         causes the GList.data fields of the running_timeouts list to point to
6406         GList structures and not GtkTimeoutFunction structures which is a
6407         *really* bad thing.
6408         (gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
6409         the above entry ;).
6410
6411 Sat Apr 18 22:18:12 1998  Tim Janik  <timj@gtk.org>
6412
6413         * gtk/gtkradiomenuitem.h: 
6414         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
6415         ala gtk_radio_button_set_group.
6416         (gtk_radio_menu_item_init): assure that we always have at least a group
6417         that points to self.
6418
6419         * gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
6420         added g_return_if_fail() statements.
6421         (gtk_radio_button_init): assure that we always have at least a group
6422         that points to self.
6423
6424 Fri Apr 17 03:05:05 1998  Tim Janik  <timj@gtk.org>
6425
6426         * ChangeLog split up into ChangeLog.pre-1-0 and ChangeLog.
6427
6428 Wed Apr 15 05:13:09 1998  Tim Janik  <timj@gtk.org>
6429
6430         * gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
6431         (Damon Chaplin), which i got wrong when applying Damon's patch the last
6432         time.
6433
6434 Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
6435
6436         * gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
6437         that when we are running with a non-installed colormap,
6438         in 8-bit pseudo-color, we actually are using the system
6439         visual. (Fixes *Bad Match* errors on Digital Unix machines
6440         with multiple 8-bit pseudo-color visuals)
6441
6442 1998-04-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6443
6444         * gdk/gdkwindow.c (gdk_window_xid_at): Fix the problem introduced
6445         by whoever thought that randomly changing ints to unsigned int
6446         without reviewing the code was a good idea.  It is, btw not
6447         mentioned in the ChangeLog as usual, but I know it was not Elliot
6448         the culprit this time. 
6449
6450 Mon Apr 13 19:16:22 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
6451
6452         * Released GTK+ 1.0.0