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