]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-8
better error message if you try to add a widget to a bin that already has
[~andy/gtk] / ChangeLog.pre-2-8
1 2001-02-08  Havoc Pennington  <hp@redhat.com>
2
3         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
4         add a widget to a bin that already has a child.
5
6         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
7
8         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
9         
10         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
11
12         * gdk/gdk.h: remove gdkcc.h
13
14         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
15
16         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
17         GdkPixbuf, since the previous implementation was GdkColorContext
18         dependent.
19
20         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
21         
22 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
23
24         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
25         a sane value!
26
27 2001-02-08  Havoc Pennington  <hp@redhat.com>
28
29         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
30         lighten them.
31
32 2001-02-08  Havoc Pennington  <hp@redhat.com>
33
34         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
35         validation idle
36
37         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
38         cell renderer
39
40         * demos/pixbuf-demo.c (timeout): remove deprecated
41         gtk_widget_draw
42
43         * demos/testpixbuf-save.c (main): remove deprecated
44         gtk_drawing_area_size
45
46         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
47         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
48         at the start of the allocation.
49         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
50         unsetup or NULL model.
51
52         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
53         even/odd/sorted cells in the tree view.
54
55         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
56         bugfixes
57
58         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
59         backgrounds with draw_flat_box using different detail for even/odd
60         rows.
61
62         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
63         row, so we can draw the alternating colors thing
64
65         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
66         property from a synonym property, notify for the synonym.
67         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
68         (gtk_text_tag_get_property): Always return the font, even if
69         all its fields aren't set
70
71         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
72         store the attr list; it leaves us with no way to change attributes
73         in _render according to the render flags, and no way to implement
74         get_property. Instead store all the specific text attributes. 
75         Separate whether an attribute is enabled from its value. Sync all
76         properties with GtkTextTag, make them all consistent, etc.
77
78         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
79         renderers can highlight the sort row/column     
80
81         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
82         accessor functions to get values; this has the side effect of
83         showing up which accessor functions were missing. Added those.
84
85         * gtk/gtktreeviewcolumn.h: Replace set_justification with
86         set_alignment, to be consistent with GtkLabel, GtkMisc
87
88         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
89         arrow.
90
91         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
92
93         * gtk/gtktreesortable.h: updates in here
94
95 2001-02-07  Sven Neumann  <sven@convergence.de>
96
97         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
98         pango dimensions after painting the background. We used to draw
99         gigantic flat boxes here.
100
101 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
102
103         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
104         error introduced with earlier commit) (pointed out by
105         Ollie Lho)
106
107 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
108
109         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
110         which are no longer necessary.
111
112 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
113
114         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
115
116 2001-02-04  Tor Lillqvist  <tml@iki.fi>
117
118         * gdk/gdk.def
119         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
120         Provide dummy implementations.
121
122 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
123
124         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
125
126         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
127         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
128         deprecated this function.
129
130         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
131         argument.
132
133 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
134
135         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
136
137 2001-02-03  Havoc Pennington  <hp@pobox.com>
138
139         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
140         Mikael Hermansson with patch from Mikael (if there was a toggle
141         start one after the first character in the range, this function
142         was broken). Bug #50380
143
144 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
145
146         * configure.in: Remove confusing comment about X11.
147
148 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
149
150         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
151         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
152         
153 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
154
155         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
156         it breaks things on BSD. If you want to compile GTK+ with
157         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
158         when configuring, since GTK+ simply can't be "pure ANSI" 
159         in the header files it uses. (#8170, Greg Hudson)
160
161 2001-02-02  Havoc Pennington  <hp@redhat.com>
162
163         * gtk/gtkwindow.c: docs
164
165         * gtk/gtkwidget.c: docs
166         (gtk_widget_set_colormap): add a reference to the colormap
167         (gtk_widget_get_default_colormap): add a reference to the colormap
168
169         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
170
171         * gtk/gtktextiter.c: docs
172
173         * gtk/gtkmain.c (gtk_propagate_event): docs
174
175         * gtk/gtkpaned.c (gtk_paned_get_position): docs
176         (gtk_paned_set_position): docs
177
178         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
179         sort interface, no implementation yet.
180
181         * demos/testpixbuf.c (new_testrgb_window): replace
182         gtk_drawing_area_size() with gtk_widget_set_usize()
183
184         * demos/testpixbuf-drawable.c (main): ditto
185         
186         * gtk/testgtk.c: remove use of GtkStatusbarMsg
187
188         * gtk/gtktextbuffer.c: docs
189
190         * gtk/gtkstock.c: docs
191
192         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
193
194         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
195
196         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
197         
198         * gtk/gtkimage.c: add some docs in here
199         (gtk_image_size_request): change name of
200         gtk_widget_render_stock_icon
201         (gtk_image_get_icon_set): don't dup returned string
202         (gtk_image_get_icon_set): don't dup returned string
203
204         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
205         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
206         and gtkiconfactory.h functions
207
208         * gtk/gtkiconfactory.c: add some docs in here
209
210         * gtk/gtkmain.c (gtk_get_default_language): document
211         (gtk_get_current_event): document
212         (gtk_get_current_event_state): document
213         (gtk_get_event_widget): document
214
215         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
216
217         * gtk/gtkcontainer.c: Add some documentation
218         (gtk_container_add): give a more explanatory warning on adding an
219         already-parented widget, this is kind of a FAQ and also a common
220         typo that's easier to debug with a nice warning 
221
222         * gtk/gtkcellrenderertoggle.c
223         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
224         adding this, it's useless
225         (gtk_cell_renderer_toggle_set_active): remove
226         (gtk_cell_renderer_toggle_get_radio): add
227
228         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
229         the NULL cell renderer, that doesn't make any sense to me. 
230
231         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
232         demo code should never use deprecated features.
233
234         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
235         code should never use deprecated features.
236
237         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
238         gtk_widget_queue_clear_area deprecated
239
240         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
241         deprecated
242
243         * gtk/gtklabel.h: mark gtk_label_get() deprecated
244
245         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
246         a GdkImage deprecated, replaced by new consistently-named
247         functions       
248
249         * gtk/gtkmain.h: Mark gtk_exit() deprecated
250
251         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
252
253         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
254         deprecated
255
256         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
257         so it won't appear in docs and confuse people.
258
259         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
260
261         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
262         macros deprecated. (can't mark the type itself deprecated, since
263         GtkProgressBar is not deprecated and we need the type decl to use
264         GtkProgressBar)
265
266         * gtk/gtkpixmap.h: Mark deprecated
267
268         * gtk/gtkoldeditable.h: Mark deprecated
269
270         * gtk/gtklist.h: Mark deprecated
271
272         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
273         for anything anymore.
274
275         * gtk/gtkctree.h: Mark deprecated
276
277         * gtk/gtkclist.h: Mark deprecated
278
279         * gtk/gtkpreview.h: Mark deprecated
280
281         * gtk/gtkpacker.h: Mark deprecated
282
283         * gtk/gtktipsquery.h: Mark deprecated
284
285         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
286
287         * gtk/gtkvruler.h: Add comment that it will move out of GTK
288
289         * gtk/gtkhruler.h: Add comment that it will move out of GTK
290
291         * gtk/gtkruler.h: Add comment that it will move out of GTK
292
293         * gtk/gtkgamma.h: Add comment that it will move out of GTK
294
295         * gtk/gtkcurve.h: Add comment that it will move out of GTK
296
297 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
298
299         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
300         gdk_colormap_sync private since it was never exported
301         in a header file.
302
303         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
304         colormap->colors[] for StaticGray, StaticColor colormaps.
305
306         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
307         was being used as if it was image->bits_per_pixel.
308
309         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
310         for the image in the GdkImage structure since it isn't
311         reconstructable, and we need it to handle packed types
312
313         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
314         the assumption that on Win32 image->bits_per_pixel == image->depth,
315         always.
316
317         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
318
319         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
320         warning message if no converter can be found. 
321
322 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
323
324         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
325         chars to isupper() / tolower(). (#567)
326
327         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
328         to clear up 64-bit warnings. (#567)
329
330 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
331
332         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
333         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
334
335         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
336         since some people set $(libdir) separately. (#1290, David Kaelbling)
337
338 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
339
340         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
341         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
342         MAXPATHLEN, but the code here depends on a fixed value.)
343         (#4524)
344
345 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
346
347         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
348         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
349
350 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
351
352         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
353         viewable there is no way that moving the node will cause the 
354         focus row to become not viewable, so omit check on the visibility
355         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
356
357 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
358
359         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
360         selection before inserting new text.
361
362 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
363
364         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
365         Make the sensitivity of the reparented child track that of
366         the original parent menu item. (#34218, David Hodson)
367
368         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
369         the case where the current item is destroyed properly.
370
371         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
372         some edge cases with child-less menuitems.
373         
374 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
375
376         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
377         key pop down window. (#12074, Jon K Hellan)
378
379 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
380
381         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
382         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
383         The solution here isn't perfect - you get an extraneous
384         emission of "toggle", which could conceivably confuse an app,
385         but better than the current situation. LXR search seems to
386         indicate that no apps in GNOME CVS connect to "toggle".
387
388 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
389
390         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
391         gtk_public_h_sources to directly here to avoid warning when
392         building srcdir != builddir. (#9656)
393
394 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
395
396         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
397         handlers in gtkrange.c return the proper values (TRUE == handled)
398         (#10316).
399
400         This is just the tip of the iceberg, but gtkrange.c is the
401         most common place where the propagation is problematical,
402         and also a place where it is almost certainly safe to change
403         this in the stable branch.
404
405         (You don't want right click popups on a range control or anything...)
406
407 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
408
409         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
410         area on focus out, even if a background pixmap isn't set.
411         (#13941)
412         
413 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
414
415         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
416         to deal with setting the shape properly when scrolling arrows are
417         turned on, but not visible because there is sufficient space.
418         (#13432)
419
420 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
421
422         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
423         items with submenus, destroy the item along with the submenu.
424         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
425         properly.
426
427         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
428         later.
429
430 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
431
432         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
433         the focus widget sometimes wasn't drawn with the default if there
434         was no default widget.
435
436         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
437         unreference pixmaps. 
438
439         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
440         for some extra safety.
441
442 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
443
444         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
445         the text of a cell to the old pointer value better, by
446         copying the new text before freeing the old text. Some code
447         cleanup. (#8079, Karl Nelson)
448
449 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
450
451         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
452         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
453
454 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
455
456         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
457         item from a menu, check to see if it matches 
458         menu->old_active_menu_item, and if so, unref and clear
459         old_active_menu_item (Patch from Pavel Cisler)
460
461         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
462         menu_shell->active_menu_item, if it is the child being
463         removed. (Patch based on that of Gene Ragan, #50337)
464
465 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
466
467         * gdk/linux-fb/gdkselection-fb.c: 
468         * gdk/linux-fb/gdkcolor-fb.c: 
469         * gdk/linux-fb/gdkdrawable-fb2.c: 
470         * gdk/linux-fb/gdkfont-fb.c: 
471         * gdk/linux-fb/gdkim-fb.c: 
472         * gdk/linux-fb/gdkinput.c: 
473         * gdk/linux-fb/gdkkeyboard-fb.c: 
474         * gdk/linux-fb/gdkmain-fb.c: 
475         * gdk/linux-fb/gdkrender-fb.c: 
476         A bunch of whitespace cleanup.
477         
478 2001-01-30  Havoc Pennington  <hp@pobox.com>
479
480         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
481         #ifdef GTK_ENABLE_BROKEN.
482
483         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
484         GTK_ENABLE_BROKEN just before including the broken headers.
485         
486         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
487         deprecated types registered.
488
489         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
490         we have to test the broken stuff.
491
492         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
493         
494 2001-01-30  Havoc Pennington  <hp@redhat.com>
495
496         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
497         here where prev pointer was set to the wrong thing
498
499         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
500         (gtk_tree_path_is_descendant): new function
501
502         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
503         cached length
504         (gtk_list_store_get_iter): don't modify iter if we can't get the
505         path.
506
507         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
508         
509         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
510         GtkTreeDragDest
511
512         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
513         was causing segfault
514
515         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
516         pointer to NULL
517
518         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
519
520         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
521         on returning FALSE
522         (gtk_list_store_iter_children): ditto
523         (gtk_list_store_iter_nth_child): ditto
524         (gtk_list_store_iter_nth_child): ditto
525         (gtk_list_store_iter_parent): ditto
526
527         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
528         on iter->user_data != NULL instead of silently accepting it.
529         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
530         we are returning TRUE.
531         (gtk_tree_store_iter_children): ditto
532         (gtk_tree_store_iter_nth_child): ditto
533         (gtk_tree_store_iter_parent): ditto
534         (gtk_tree_store_insert): remove handling of parent->user_data ==
535         NULL, replace with parent == NULL       
536
537         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
538         and a comment explaining things
539
540         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
541         interface support to GtkTreeStore.
542
543         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
544         FALSE if no prev, fix
545
546         * gtk/gtktreeview.c (set_source_row): use a row reference
547         (set_dest_row): use a row reference
548
549 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
550
551         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
552         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
553         (gtk_tree_selection_select_iter): The same as above.
554
555 2001-01-26  Havoc Pennington  <hp@redhat.com>
556
557         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
558         which holds a handle to a specific row (particular set of values
559         in the model, i.e. pointer-identity row).
560
561         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
562         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
563         Still need to use it for the src/dest row saved on the drag context.
564
565 2001-01-26  Havoc Pennington  <hp@redhat.com>
566
567         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
568
569         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
570         not offset by TREE_VIEW_HEADER_HEIGHT
571         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
572         TREE_VIEW_HEADER_HEIGHT
573
574         * configure.in (included_loaders): for me, --with-included-loaders
575         generates the error "the specified loader yes does not exist",
576         i.e. the arg defaults to "yes", so change test for value ""
577         to test for value "yes", and include all loaders in that case.
578
579         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
580
581         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
582         handle TREE_VIEW_VERTICAL_SEPARATOR
583         (gtk_tree_view_bin_expose): fix to consider the row offset as
584         pointing halfway into vertical separator.       
585         (gtk_tree_view_draw_node_focus_rect): ditto
586
587         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
588         --gtk-debug=updates, which causes gdk_window_set_debug_updates
589         (TRUE) to be called.
590
591         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
592         debug mode where the invalid region is colored in on invalidate,
593         so you can see the flicker and know whether your redraw code is 
594         doing a good job.
595
596         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
597         tree window coordinates (clip rect is in tree window coords)
598
599         * gtk/Makefile.am: add gtktreednd.[hc]
600
601         * gtk/gtkliststore.c: implement gtktreednd interfaces.
602
603         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
604         drag-and-drop data operations on a model (so we can set up tree
605         drag-and-drop automatically)
606
607         * gtk/testgtk.c: Add a window to change sensitivity in the
608         GtkLabel test; add a way to change the entry frame in GtkEntry
609         test
610
611         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
612         (gtk_entry_get_has_frame): new functions to remove the frame
613         around an entry
614         (gtk_entry_size_request): shrink requisition if no frame
615         (gtk_entry_draw_focus): don't draw frame if no frame
616
617         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
618         checks inside a cell renderer
619         (gtk_default_draw_option): ditto for options
620
621         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
622         children from the alignment, not the button
623         (gtk_tree_view_column_init): ref/sink the column, to emulate
624         GObject refcounting.
625
626         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
627         
628         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
629         Use theme functions to draw the toggles 
630
631         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
632
633         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
634         GdkPangoAttrEmbossed to use in rendering insensitive text
635
636         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
637
638         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
639         using new GDK features
640         
641 2001-01-24  Alexander Larsson  <alexl@redhat.com>
642
643         * gtk/gtkimage.c:
644         Splitted gtk_image_clear into gtk_image_clear() and
645         gtk_image_reset(). Call gtk_image_clear() in ::destroy
646         to avoid leaks.
647
648         * gtk/gtklabel.c (set_markup):
649         Don't leak text.
650
651         * gtk/gtktextlayout.c:
652         Always free display->shaped_objects.
653
654         * gtk/testgtk.c (create_clist):
655         Don't leak custom style.
656
657 2001-01-23  Alexander Larsson  <alexl@redhat.com>
658
659         * gtk/gtkcolorsel.c (grab_color_at_mouse):
660         Don't leak image. Simplify using gdk_colormap_query_color().
661         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
662
663         * linux-fb/gdkcolor-fb.c:
664         Implemented gdk_colormap_query_color.
665
666 2001-01-23  Alexander Larsson  <alexl@redhat.com>
667
668         * linux-fb/gdkcursor-fb.c:
669         Don't leak built-in cursors.
670
671         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
672         Don't leak tmp_points.
673
674         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
675         Don't modify desc. Don't leak font if the PangoFont
676         isn't found.
677         
678         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
679         Free dash_list.
680
681         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
682         Don't leak string.
683         
684 2001-01-20  Havoc Pennington  <hp@pobox.com>
685
686         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
687         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
688         me, matches Pango
689
690 2001-01-22  Havoc Pennington  <hp@redhat.com>
691
692         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
693
694         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
695
696         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
697         Remove, move back to gdk-pixbuf
698
699         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
700         to all the word functions
701
702         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
703         before doing anything on NULL layout or if we don't have the focus
704
705         * gtk/testtext.c (fill_example_buffer): "justification"
706
707         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
708         to be called "justification" not "justify"
709
710         * demos/gtk-demo/textview.c (create_tags): "justification"
711         
712         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
713
714 2001-01-22  Alexander Larsson  <alexl@redhat.com>
715
716         * gdk/gdkwindow.c (gdk_window_invalidate_region):
717         Don't leak visible_region. Use visible_region instead of region.
718         
719         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
720         Don't do extra gdk_drawable_ref(). This is not X.
721         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
722         gdk_fb_focused_window is ref:ed.
723         (gdk_fb_window_send_crossing_events): Watch out for destroyed
724         windows.
725
726 2001-01-22  Alexander Larsson  <alexl@redhat.com>
727
728         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
729         Don't leak the PangoFontDescriptor.
730
731 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
732
733         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
734         when not realized.
735         (gtk_tree_view_scroll_to_cell): Make work when not realized.
736         (gtk_tree_view_realize): add scroll_to support
737         (gtk_tree_view_finalize): add a finalize method.  Populate.
738         (gtk_tree_view_insert_column): ref and sink the column.
739         (gtk_tree_view_append_column): ref and sink the column.
740         (gtk_tree_view_queue_draw_node): New function to handle redrawing
741         individual nodes.  Should make the code much more efficient, if
742         actually used.
743
744 2001-01-19  Havoc Pennington  <hp@redhat.com>
745
746         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
747         byte_offset variable was being used to mean both "offset into
748         layout" and "offset into buffer line" which was no longer true
749         with addition of preedit string; fix
750
751 2001-01-19  Havoc Pennington  <hp@redhat.com>
752
753         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
754
755         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
756         function
757
758         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
759         implement
760
761         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
762         scroll_to_cell, matches TextView scroll functions better
763         (gtk_tree_view_tree_to_widget_coords): new function
764         (gtk_tree_view_widget_to_tree_coords): new function
765         (gtk_tree_view_get_visible_rect): new function
766         (gtk_tree_view_get_path_at_pos): accept negative coordinates
767         (gtk_tree_view_draw_node_focus_rect): new function moved from
768         draw_focus, also, use width of bin_window as width of the focus
769         rect
770         (gtk_tree_view_expand_row): fix bug where it didn't recognize
771         already-expanded rows
772         (gtk_tree_view_get_cell_rect): new function
773         (gtk_tree_view_get_path_at_pos): return the click position
774         relative to the passed-in cell
775         (gtk_tree_view_set_expander_column): new function
776
777         * configure.in: remove gtk-config-2.0 chmod
778
779         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
780         and properly handle drags with targets we don't understand
781         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
782         scrolling anyway
783         (gtk_text_view_drag_drop): stop scrolling here though, and set the
784         mark invisible
785
786         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
787         function
788         (gtk_drag_dest_get_target_list): new function
789         (gtk_drag_dest_set_target_list): new function
790         
791         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
792
793         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
794         related to drag-and-drop
795
796 2001-01-19  Alexander Larsson  <alexl@redhat.com>
797
798         * gdk/linux-fb/gdkprivate-fb.h:
799         Define EMULATE_GDKFONT.
800         Add extra pango_font stuff to GfkFontPrivate.
801         
802         * gdk/linux-fb/gdkdrawable-fb2.c:
803         * gdk/linux-fb/gdkfont-fb.c:
804         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
805         emulation using PangoFont.
806
807 2001-01-17  Havoc Pennington  <hp@pobox.com>
808
809         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
810         all the non-deprecated set_foo functions. Added missing object
811         properties, and added g_object_notify() to setters. 
812         Wrote docs.
813         
814 2001-01-18  Tor Lillqvist  <tml@iki.fi>
815
816         * gtk/gtkmain.c
817         * gtk/gtkrc.c: (Win32) Use the new
818         g_win32_get_package_installation_(sub)directory() functions.
819
820         * config.h.win32.in: New file.
821         
822         * config.h.win32: Removed.
823
824         * configure.in: Output config.h.win32.
825
826         * Makefile.am: Add it to EXTRA_DIST.
827
828         * gtk/gtk.def: Update.
829
830 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
831
832         * gtk/gtklabel.c (gtk_label_size_request): Set the
833         attributes onto the PangoLayout even if they are newly
834         created from label->pattern.
835
836 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
837
838         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
839
840         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
841         structures in functions. Fixes bug where gtk_dataset_*
842         was accidentally still being used in one place, causing
843         every dest side event to be treated independently.
844
845         * gtk/gtkdnd.c: Remove last vestages of handling
846         ::draw (fixes warning)
847         
848         * gtk/gtkentry.[ch]: Add drag and drop support.
849
850         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
851         new function gtk_check_drag_threshhold() for checking
852         to check if (dx,dy) has exceeded the threshhold for starting
853         a drag and use it everywhere.
854
855 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
856
857         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
858         add -I{includedir}/gtk-2.0.
859
860         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
861         gdk/gdk-pixbuf.h: Doc fixups.
862         
863         * gtk/gtkobject.h: Remove trailing , from enum
864
865 2001-01-17 Alexander Larsson <alexl@redhat.com> 
866
867         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
868         Doh! Mixed up x and y.
869
870         * gdk/linux-fb/gdkglobals-fb.c:
871         Removed gdk_fb_pointer_grab_window_events,
872         added _gdk_fb_pointer_grab_owner_events and
873         _gdk_fb_keyboard_grab_owner_events.
874
875         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
876         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
877         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
878         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
879         Send crossing events after ungrab finished.
880         (gdk_keyboard_grab): Set ..._owner_events
881         (type_masks): Move out of function.
882         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
883         gdk_fb_keyboard_event_window): New functions, return the
884         window an event should be targeted at. Handles grabs and
885         event propagation. Can return NULL.
886         (gdk_event_make): Remove event_mask checking. Now always
887         returns an event.
888                 
889         * gdk/linux-fb/gdkkeyboard-fb.c:
890         * gdk/linux-fb/gdkproperty-fb.c:
891         * gdk/linux-fb/gdkselection-fb.c:
892         Use new event_window/gdk_event_make() behaviour.
893         
894         * gdk/linux-fb/gdkmouse-fb.c:
895         Use new event_window/gdk_event_make() behaviour.
896         Only send motion events if in the same window.
897         If grabbed, use cursor from window if sibling of grabbed
898         window, and cursor from grabbed window otherwise.
899
900         * gdk/linux-fb/gdkprivate-fb.h:
901         Update gdk_fb_window_send_crossing_events, gdk_event_make
902         and grab varaible declarations. Add gdk_fb_*_event_window().
903
904         * gdk/linux-fb/gdkwindow-fb.c:
905         Use new event_window/gdk_event_make() behaviour.
906         Keep correct track of focus window.
907         (gdk_window_set_events): Set all specific button motion masks
908         if GDK_BUTTON_MOTION_MASK set.
909
910         * gtk/gtkdnd.c (gtk_drag_update):
911         Free info->last_event if gdk_drag_motion returned FALSE.
912
913 2001-01-16  Tor Lillqvist  <tml@iki.fi>
914
915         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
916         Eliminate redraws when input-only windows are shown or
917         hidden. Thanks to jpe@archaeopteryx.com.
918
919 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
920
921         * docs/faq/gtk-faq.sgml: FAQ update:
922           - Update to bugzilla
923           - Add GTK+ and security/SUID/SGID
924           - Add DnD question
925
926 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
927
928         * gdk/linux-fb/gdkdnd-fb.c:
929         Some cleanups.
930         
931 2001-01-15  Havoc Pennington  <hp@pobox.com>
932
933         * tests/testtreeview.c: add test stuff for CellRendererToggle
934
935         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
936         accessor
937
938         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
939         only toggle on button press (would do release like GtkButton, but
940         we'd need implicit grab code for treeview cells)
941
942 2001-01-16  Tor Lillqvist  <tml@iki.fi>
943
944         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
945
946         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
947         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
948
949         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
950         to g_{locale,filename}_{to,from}_utf8 to match current API.
951
952         * gtk/makefile.msc.in (gtk_OBJECTS)
953         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
954
955         * gtk/gtk.def: Update.
956
957 2001-01-15  Tor Lillqvist  <tml@iki.fi>
958
959         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
960         implementaion that more closely mimics the events that an X server
961         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
962         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
963         with nested preview widgets, for instance, more responsive when
964         you move the mouse quickly into them.
965         (find_window_for_pointer_event): Make it actually compile.
966         (gdk_event_translate): Set send_event to the value of
967         InSendMessage (). This doesn't really mean the same as X11's
968         send_event flag, but is close enough, says jpe@archaeopteryx.com
969
970 2001-01-15  Alexander Larsson  <alexl@redhat.com>
971
972         * gdk/linux-fb/gdkdnd-fb.c:
973         Implemented drag and drop.
974         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
975         when it tries to free and then copy the same event (info->last_event).
976         I am not sure about why this happens, but will continue looking.
977
978 2001-01-15  Alexander Larsson  <alexl@redhat.com>
979
980         * gdk/linux-fb/gdkwindow-fb.c:
981         Use gdk_window_invalidate_rect instead of
982         gdk_window_invalidate_rect_clear to minimise flashing.
983         When hiding windows you need to clear the root window though.
984
985 2001-01-15  Alexander Larsson  <alexl@redhat.com>
986
987         * gdk/linux-fb/gdkdrawable-fb2.c:
988         For optization, add an full_shapes argument to gdk_fb_clip_region.
989         If this is false, only the cliprects of the shapes are used.
990
991         * gdk/linux-fb/gdkprivate-fb.h:
992         Export gdk_fb_window_peek_shape.
993         Add full_shapes to gdk_fb_clip_region.
994
995         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
996         When moving a window, don't clear everything under the it, just the
997         root window. Makes stuff faster and flash less.
998         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
999         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
1000         offset of the shape.
1001         
1002
1003 2001-01-12  Havoc Pennington  <hp@redhat.com>
1004
1005         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
1006         current invalid region, fixes redraw bug while scrolling the 
1007         text widget
1008
1009         * gtk/gtktextview.c, gtk/gtktextview.h:
1010         Rearrange the scrolling/validation/etc. code in a major way, 
1011         so it seems to make sense to me. Probably isn't genuinely that
1012         much better, but...
1013
1014         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
1015         notifies
1016
1017         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
1018
1019 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
1020
1021         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
1022         Hide mouse pointer while rotation. Show it afterwards.
1023
1024 2001-01-12  Alexander Larsson  <alexl@redhat.com>
1025
1026         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
1027         windows in consideration when generating clip region.
1028
1029         * gdk/linux-fb/gdkfb.h:
1030         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
1031
1032         * gdk/linux-fb/gdkprivate-fb.h:
1033         Add shape to GdkWindowFBDatat.
1034         exported gdk_fb_window_get_abs_shape().
1035         removed gdk_fb_draw_lines declaration.
1036
1037         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
1038         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
1039         send focus changes when there is a grabbed window.
1040         (gdk_window_get_pointer): Handle shaped windows.
1041         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
1042         (gdk_fb_window_peek_shape): Returns the shape for a window,
1043         handles GDK_FB_USE_CHILD_SHAPE.
1044         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
1045         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
1046         (gdk_window_shape_combine_mask): Implement.
1047
1048         * gtk/gtkwindow-decorate.c:
1049         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
1050         setting the shape of a window makes the window transparent.
1051
1052 2001-01-11  Havoc Pennington  <hp@redhat.com>
1053
1054         * gtk/gtktreemodelsimple.h: Oops, broke some macros
1055
1056 2001-01-10  Havoc Pennington  <hp@redhat.com>
1057
1058         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
1059         add this function, bug 40251
1060
1061         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
1062         of type macro   
1063
1064 2001-01-11  Alexander Larsson  <alexl@redhat.com>
1065
1066         * acconfig.h:
1067         Added ENABLE_SHADOW_FB
1068
1069         * configure.in:
1070         Added --disable-shadowfb
1071
1072         * gdk/linux-fb/gdkcursor-fb.c:
1073         Update shadowfb when updating cursor
1074
1075         * gdk/linux-fb/gdkdrawable-fb2.c:
1076         Added wrappers for shadowfb that calls  the normal drawable
1077         methods, but calls gdk_shadow_fb_update(bounding box) when
1078         GdkWindows are drawed to.
1079         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
1080         which also returns the bounding box.
1081
1082         * gdk/linux-fb/gdkfb.h:
1083         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
1084
1085         * gdk/linux-fb/gdkgeometry-fb.c:
1086         Update shadowfb when scrolling window.
1087
1088         * gdk/linux-fb/gdkglobals-fb.c:
1089         Add _gdk_fb_screen_angle.
1090         
1091         * gdk/linux-fb/gdkkeyboard-fb.c:
1092         Test code for screen rotation. Shift-F2 in the xlate driver
1093         rotates the screen.
1094
1095         * gdk/linux-fb/gdkmain-fb.c:
1096         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
1097
1098         * gdk/linux-fb/gdkmouse-fb.c:
1099         Use fb_width/height instead of modeinfo.xres/yres.
1100
1101         * gdk/linux-fb/gdkprivate-fb.h:
1102         Added fb_men, fb_width, fb_height & fb_stride. When using
1103         shadow fb these can differ from the framebuffer stuff.
1104         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
1105         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
1106         _gdk_fb_screen_angle. Removed CM, RP.
1107
1108         * gdk/linux-fb/gdkrender-fb.c:
1109         Added code for shadowfb handling and screen rotation using
1110         shadowfb.
1111
1112         * gdk/linux-fb/gdkwindow-fb.c:
1113         Use fb_mem, fb_stride, fb_width, fb_height.
1114         Added recompute_rowstride to reset the rowstride of all windows.
1115         Added gdk_fb_recompute_all() which recomputes rootwindow size,
1116         window abs positions and window rowstrides. Usefull when the
1117         rotation has changed.
1118
1119 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
1120
1121         * docs/faq/gtk-faq.sgml: update to make web site updating easier
1122
1123 2001-01-10  Havoc Pennington  <hp@redhat.com>
1124
1125         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
1126         where sibling == iter
1127         (gtk_tree_store_insert_after): handle sibling == iter
1128         (gtk_tree_store_prepend): remove stamp checks
1129         (gtk_tree_store_insert_before): ditto
1130         (gtk_tree_store_append): ditto
1131         (gtk_tree_store_get_path): ditto
1132         (gtk_tree_store_get_value): ditto
1133         (gtk_tree_store_iter_has_child): ditto
1134         (gtk_tree_store_iter_n_children): ditto
1135         (gtk_tree_store_iter_nth_child): ditto
1136         (gtk_tree_store_insert_after): ditto
1137         (gtk_tree_store_is_ancestor): ditto
1138         (gtk_tree_store_iter_depth): ditto
1139         (gtk_tree_store_insert_before): assert that sibling's parent is
1140         the same as the passed-in parent
1141         (gtk_tree_store_insert_after): assert that sibling's parent is
1142         the same as the passed-in parent
1143
1144         
1145         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
1146         function to get the first iterator in a model
1147         
1148         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
1149         conventionally the "root" in this sense is just NULL afaict.
1150
1151         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
1152         where sibling == iter
1153         (gtk_list_store_insert_after): handle case where sibling == iter
1154
1155         * tests/testtreeview.c (run_automated_tests): fairly lame basic
1156         automated tests for ListStore, TreeStore
1157
1158         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
1159         (gtk_list_store_insert): update tail pointer, and fix it to work
1160         (gtk_list_store_insert_before): update tail pointer, and fix it to work
1161         (gtk_list_store_append): use tail to be faster
1162         (gtk_list_store_prepend): fix it, update tail pointer
1163         (gtk_list_store_insert_after): fix it, update tail pointer
1164
1165         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
1166         the list
1167
1168 2001-01-09  Havoc Pennington  <hp@redhat.com>
1169
1170         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
1171         is NULL due to a pending resize
1172
1173         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
1174         column width to values less than 1
1175
1176         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
1177         width to be between min/max width, and still set the width 
1178         even if autosize is turned on, so the tree view can use this 
1179         function in order to autosize.
1180         (gtk_tree_view_column_init): set initial width to 1 not 0
1181
1182         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
1183         setter function to modify column width, so we get notification
1184         (gtk_tree_view_insert_iter_height): ditto
1185         (gtk_tree_view_calc_size): ditto
1186         (gtk_tree_view_check_dirty): ditto
1187
1188         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
1189         properties to change all the interesting attributes of the tree
1190         view column.
1191         (gtk_tree_view_column_set_header_clickable): rename set_clickable
1192         (gtk_tree_view_column_get_clickable): add
1193         (gtk_tree_view_column_set_cell_renderer): don't unset the current
1194         attributes; assume a cell renderer with equivalent object
1195         properties has been swapped in. Do g_object_notify().
1196         (gtk_tree_view_column_set_visible): g_object_notify
1197         (gtk_tree_view_column_get_sizing): rename from get_col_type
1198         (gtk_tree_view_column_set_sizing): g_object_notify
1199         (gtk_tree_view_column_set_width): add g_object_notify
1200         (gtk_tree_view_column_set_min_width): ditto
1201         (gtk_tree_view_column_set_max_width): ditto
1202         (gtk_tree_view_column_set_title): ditto
1203         (gtk_tree_view_column_set_clickable): ditto
1204         (gtk_tree_view_column_set_widget): ditto
1205         (gtk_tree_view_column_set_justification): ditto
1206
1207 2001-01-09  Havoc Pennington  <hp@redhat.com>
1208
1209         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
1210         there are no rows in the model
1211
1212         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
1213         NULL, then return the start of the list
1214
1215         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
1216         if we can't get any rows from an empty model 
1217
1218         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
1219         extraneous * after function pointer typedef usage
1220
1221         * Makefile.am: don't specify full path to cp and rm
1222
1223         * gtk/gtkcellrenderertextpixbuf.c
1224         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
1225         NULL before dereferencing, fixes a segfault that happened from
1226         time to time
1227
1228         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
1229         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
1230         and reindent the function
1231         (gtk_cell_renderer_pixbuf_get_size): indentation
1232
1233         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
1234         we quit it
1235         (gtk_dialog_add_buttons_valist): add g_return_if_fail
1236         (gtk_dialog_set_default_response): New function, to set default
1237         button
1238         (gtk_dialog_set_response_sensitive): New function, to set 
1239         sensitivity of buttons
1240
1241         * gtk/gtkcellrendererpixbuf.c
1242         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
1243         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
1244
1245         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
1246         handle any G_TYPE_OBJECT subclass, not just the base class, and 
1247         also boxed types.
1248         (_gtk_tree_data_list_value_to_node): ditto
1249
1250         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
1251         --gtk-debug=tree
1252
1253         * gtk/gtkmain.c: add GTK_DEBUG_TREE
1254
1255         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
1256
1257 2001-01-09  Tor Lillqvist  <tml@iki.fi>
1258
1259         * gdk/win32/gdkevents-win32.c: Implement better mouse
1260         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
1261         (find_window_for_pointer_event): New function.
1262         (gdk_event_translate): Use it when handling mouse events.
1263
1264 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
1265
1266         * configure.in:
1267         Added --with-included-loaders option
1268
1269         * gdk-pixbuf/Makefile.am:
1270         * gdk-pixbuf/gdk-pixbuf-io.c:
1271         Add support for including selected gdk-pixbuf loaders only.
1272
1273         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
1274         gtk_window_set_has_frame):
1275         Added inline documentation.
1276
1277         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
1278         * docs/reference/gdk/tmpl/windows.sgml:
1279         Added inline documentation.
1280
1281 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
1282
1283         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
1284         realizing buttons that have already been realized.
1285
1286 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
1287
1288         * tests/testtreeview.c (main): Show menu items before adding to
1289         option menu.
1290
1291         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
1292         around if we kill them.
1293
1294         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
1295         Return if we pass in a NULL model.
1296
1297 2001-01-08  Havoc Pennington  <hp@redhat.com>
1298
1299         * tests/testtreeview.c: hack on this some
1300
1301         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
1302         gtk_tree_store_set_valist, v is for arrays, valist for varargs
1303         list
1304         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
1305
1306         * gtk/gtkliststore.h: Add varargs set() and get() convenience
1307         functions
1308
1309 2001-01-08  Alexander Larsson  <alexl@redhat.com>
1310
1311         * gtk/gtkwindow-decorate.[hc]:
1312         * gtk/Makefile.am:
1313         New files. Contains an implementation of a minimal WM for
1314         linux-fb.
1315
1316         * gtk/gtkwindow.h:
1317         Add the possibility for GtkWindows to specify a frame. This
1318         is used for the window decoration code, but could concievably
1319         be used for X programs too (xmms style windows).
1320         GtkWindow->frame is the toplevel window if the window is framed.
1321         The signal frame_event gets all events that are targeted to
1322         GtkWindow->frame.
1323         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
1324         
1325         * gtk/gtkwindow.c:
1326         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
1327         Call out to gtkwindow-decorate.c for WM support in linx-fb.
1328
1329 2001-01-08  Alexander Larsson  <alexl@redhat.com>
1330
1331         * docs/README.linux-fb:
1332         Correct filename ~/.pangoft2_aliases
1333
1334         * gdk/gdkwindow.h:
1335         Added new function gdk_window_get_decorations.
1336
1337         * gdk/linux-fb/gdkfb.h:
1338         Removed _gdk_window_get_decorations declaration.
1339         Renamed _gdk_window_set_child_handler to
1340         gdk_fb_window_set_child_handler.
1341
1342         * gdk/linux-fb/gdkwindow-fb.c:
1343         Renamed _gdk_window_set_child_handler to
1344         gdk_fb_window_set_child_handler.
1345
1346         * gdk/x11/gdkwindow-x11.c:
1347         New function gdk_window_get_mwm_hints().
1348         Implemented gdk_window_get_decorations.
1349
1350         * docs/reference/gdk/tmpl/windows.sgml:
1351         * docs/reference/gdk/gdk-sections.txt:
1352         Added gdk_window_get_decorations docs.
1353         
1354 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
1355
1356         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
1357         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
1358         gdk_fb_window_send_crossing_events):
1359         Possibly send focus events when the mouse moves from one
1360         window to another.
1361
1362 2001-01-07  Tor Lillqvist  <tml@iki.fi>
1363
1364         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
1365         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
1366         to match current API.
1367
1368         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
1369         environment variable is set, don't call g_error when on a
1370         palettized (PseudoColor) display. Some people want to use GTK+ 
1371         in 256-colour mode even though works only partially.
1372
1373         * gdk/gdk.def
1374         * gtk/gtk.def
1375         * gtk/makefile.mingw.in: Update.
1376
1377 2001-01-05  Havoc Pennington  <hp@redhat.com>
1378
1379         * tests/testtreeview.c: hack on this a bit
1380
1381         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
1382         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
1383
1384         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
1385         was spelled incorrectly
1386         (GTK_IS_TREE_MODEL_SIMPLE): ditto
1387
1388         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
1389         from gtk_tree_view_set_headers_active   
1390
1391         * gtk/gtktexttag.c:
1392         (gtk_text_tag_get_property): handle PROP_DIRECTION
1393         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
1394         properties, bug 40235
1395
1396         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
1397         forward_to_line_end
1398
1399 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
1400
1401         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
1402         modules/input/gtkimcontextxim.c: Adapt to new prototypes
1403         for unicode,locale,filename conversion functions.
1404
1405 2001-01-05  Havoc Pennington  <hp@redhat.com>
1406
1407         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
1408         broken if called on the first position in the buffer.
1409
1410         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
1411         forward_to_delimiters to be called only if we aren't already at
1412         the delimiters.
1413
1414 2001-01-05  Havoc Pennington  <hp@redhat.com>
1415
1416         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
1417
1418 2001-01-05  Alexander Larsson  <alexl@redhat.com>
1419
1420         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
1421         colormap in here. Sync from X port.
1422         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
1423         Sync from X port.
1424         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
1425         This happens now and then, and i don't think it is a bug.
1426         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
1427         != endpoint.
1428         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
1429         GDK_LINE_SOLID.
1430
1431         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
1432         some of the fields filled in at least.
1433
1434         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
1435         miLineArcD is no more, remove it from the function definition.
1436
1437 2001-01-04  Havoc Pennington  <hp@redhat.com>
1438
1439         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
1440         this
1441
1442         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
1443         user_data instead of tree_node
1444
1445         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
1446         TREE_VIEW_COLUMN_SIZE
1447
1448         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
1449         "size" field to "width" finishes bug 40061
1450
1451         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
1452         for bitfields, bug 40268
1453
1454 2001-01-04  Havoc Pennington  <hp@redhat.com>
1455
1456         Rename some stuff:
1457         
1458         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
1459
1460         s/GtkModelSimple/GtkTreeModelSimple/g;
1461         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
1462         s/gtk_model_simple/gtk_tree_model_simple/g;
1463         s/gtkmodelsimple/gtktreemodelsimple/g;
1464
1465         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
1466
1467         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
1468         s/column_set_col_type/column_set_sizing/g;
1469
1470         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
1471         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
1472
1473         s/GtkCellRendererType/GtkCellRendererState/g;
1474         
1475         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
1476         (gtk_cell_renderer_toggle_class_init): change "state" property to
1477         "active", to match GtkToggleButton
1478         (gtk_cell_renderer_toggle_get_active): new function, bug
1479         40269
1480         (gtk_cell_renderer_toggle_set_active): new function
1481         (gtk_cell_renderer_toggle_set_property): route changes to toggle
1482         state through gtk_cell_renderer_set_active
1483
1484 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
1485
1486         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
1487         temporarily until they work again.  Brought up to date with
1488         changes in the model.
1489         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
1490         model.
1491
1492 2001-01-04  Havoc Pennington  <hp@redhat.com>
1493
1494         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
1495         equal to the line length, then position iterator before paragraph 
1496         separators. Fixes crash reported by Mikael Hermansson when
1497         pressing left arrow from the start of a line.   
1498
1499         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
1500         about byte indexes off the end
1501         (iter_set_from_char_offset): add g_error about char offsets
1502         off the end
1503
1504 2001-01-03  Havoc Pennington  <hp@redhat.com>
1505
1506         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
1507
1508         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
1509         of private functions; remove inclusion of private headers.
1510
1511         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
1512         function, so we don't need private functions in gtktextdisplay.c
1513
1514         * gtk/gtktextiterprivate.h: underscore-ification
1515
1516         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
1517         to instead say "only useful to implement widgets"
1518
1519         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
1520         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
1521         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
1522
1523         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
1524         This function was completely broken
1525
1526         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
1527
1528         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
1529
1530         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
1531
1532         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
1533
1534         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
1535
1536         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
1537
1538         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
1539         gtk_paint_layout
1540
1541         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
1542         gtk_paint_layout
1543
1544         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
1545         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
1546         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
1547         which were not implemented.     
1548
1549         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
1550         insert_pixbuf signal. Rename delete_text to delete_range since it
1551         also deletes pixbufs and child anchors. This almost closes bug
1552         40245 (still need to deal with child anchors)
1553
1554         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
1555         insert_pixbuf, change signal names as appropriate, change types of
1556         signals taking marks/tags to have the specific type, not just
1557         G_TYPE_OBJECT
1558         
1559         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
1560         closes bug 40051
1561
1562         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
1563         unnecessary remove_contents() call
1564         (gtk_option_menu_class_init): add a "changed" signal, closes
1565         bug 40039
1566         (gtk_option_menu_update_contents): emit "changed" if the 
1567         active menu item changes
1568
1569         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
1570         cast to GtkObject, reported by Jonas Borgstrom
1571         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
1572         we can't do stuff with side effects in finalize. Instead, spew a
1573         warning if the loader isn't closed.
1574
1575         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
1576         colormap in here, non-X ports probably need to sync to this change
1577
1578         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
1579         assertion that colormap != NULL, you can set the colormap to NULL
1580         if you like.
1581         
1582         * Makefile.am: remove gtk-config-2.0
1583
1584         * configure.in: Use pkg-config to locate GLib. Remove
1585         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
1586         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
1587         Use pkg-config to locate Pango. Output correct Pango libs to
1588         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
1589
1590         * Makefile.am (pkgconfig_DATA): install only target-specific pc
1591         files
1592         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
1593         X11 pc files
1594
1595         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
1596         unref from here
1597
1598 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
1599
1600         * configure.in:
1601         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
1602
1603 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
1604
1605         * gtk/gtktextlayout.c
1606         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
1607         variable when moving back onto a single line.
1608
1609 2001-01-01  Havoc Pennington  <hp@redhat.com>
1610
1611         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
1612
1613         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
1614
1615         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
1616         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
1617
1618 2001-01-01  Havoc Pennington  <hp@redhat.com>
1619
1620         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
1621
1622         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
1623         GtkTextAttributes
1624
1625         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
1626         #40246
1627         (gtk_text_attributes_copy_values): rename from 
1628         gtk_text_attributes_copy
1629         (gtk_text_attributes_copy): a more standard GTK copy function, 
1630         which returns a new object
1631
1632 2001-01-01  Havoc Pennington  <hp@redhat.com>
1633
1634         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
1635         
1636         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
1637         don't fill in tree_view->priv->selection, kind of an unexpected
1638         side effect
1639
1640         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
1641         gtkintl.h
1642         
1643         * gtk/gtkcellrenderer.c: Remove definition of _ and include
1644         gtkintl.h
1645         (gtk_cell_renderer_get_property): remove calls to g_value_init
1646
1647         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
1648         gtkintl.h
1649
1650         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
1651         and include gtkintl.h
1652         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
1653         property names
1654
1655         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
1656         GtkTreeSelection
1657         (_gtk_tree_selection_new_from_with_view): rename, return
1658         GtkTreeSelection
1659         (_gtk_tree_selection_set_tree_view): rename with uscore
1660         (gtk_tree_selection_get_selected): fill in the "model" out param
1661         first, so it gets filled in even if we return at the top of the 
1662         function
1663         (gtk_tree_selection_real_select_all): add a comment and an else{}
1664         to clarify this a bit
1665         (gtk_tree_selection_real_unselect_all): add the same else{}
1666
1667         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
1668         set_tree_view to have underscore prefixes, move them to the
1669         private header, fix return type of new_with_tree_view
1670         (struct _GtkTreeSelection): mark struct
1671         fields private  
1672
1673         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
1674         GtkTreeModelFlags, not a guint
1675         (gtk_tree_path_prev): return gboolean not gint
1676         (gtk_tree_path_up): return gboolean not gint
1677
1678         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
1679         return GtkTreeModelFlags, not a guint
1680
1681         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
1682         that child model is non-null before unrefing it
1683         (g_value_int_compare_func): make this a qsort compare func, not 
1684         a boolean predicate
1685
1686         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
1687         (add -umn to the end), and mark it unimplemented
1688         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
1689         I don't see what it's for - doesn't the model always sort itself?
1690         (gtk_tree_model_sort_set_compare): this had the wrong signature
1691
1692         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
1693         Fix the docs to say that it destructively replaces existing
1694         attributes (previously said that it added attributes).
1695         (gtk_tree_view_column_set_visible): canonicalize bool before
1696         equality testing. Also, check for realization before
1697         hiding/showing the tree_column->window; if this window could exist
1698         before realization, then it's busted and needs fixing, we can't 
1699         create GDK resources pre-realization. Also, remove
1700         superfluous queue_resize(), since set_size() does that for us.
1701         (gtk_tree_view_column_set_col_type): check realization before 
1702         using tree_column->window
1703
1704         * gtk/gtktreedatalist.c: fix filename in copyright notice
1705
1706 2000-12-31  Havoc Pennington  <hp@pobox.com>
1707
1708         * gtk/gtktextview.c: Rearrange all the
1709         scroll-while-dragging-or-selecting code to be different, not
1710         necessarily better. ;-)
1711         (gtk_text_view_scroll_to_mark): Change this
1712         function to take within_margin as a fraction instead of a pixel
1713         value, and to take alignment arguments (indicating where to align 
1714         the mark inside the visible area)
1715         
1716         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
1717         to GtkObject
1718
1719         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
1720         behavior so that offsets past the end of the line are not 
1721         allowed, and an offset equal to the line length moves the iterator
1722         to the next line
1723         (gtk_text_iter_set_line_index): make parallel change
1724         (gtk_text_iter_get_bytes_in_line): add this function
1725         
1726         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
1727         of byte indexes off the end of the line; byte index at the end of
1728         the line now returns FALSE and doesn't fill in the requested
1729         values, byte index past the end of the line is an error.  Also,
1730         don't allow -1 offset anymore, since its meaning is unclear.
1731
1732         This change exposes some bug in visual cursor motion, where we
1733         end up with a huge invalid byte index; needs fixing. Symptom of 
1734         bug is a crash when you hit up arrow.
1735         
1736         (_gtk_text_line_char_locate): match the change to byte_locate
1737
1738         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
1739         from start of line properly. fixes bug reported by Mikael
1740         Hermansson where backspace would delete all text before the
1741         cursor.
1742
1743 2000-12-30  Tor Lillqvist  <tml@iki.fi>
1744
1745         * gdk/win32/gdkwindow-win32.c
1746         (gdk_window_impl_win32_get_visible_region): New function, as in
1747         the X11 backend.
1748         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
1749         instead of duplicating the same code here.
1750
1751         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
1752         GDK_COLORMAP macro.
1753
1754         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
1755         destroy function.
1756         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
1757         access that.
1758
1759         * gtk/gtk.def: Update.
1760
1761         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
1762
1763 2000-12-30  Havoc Pennington  <hp@pobox.com>
1764
1765         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
1766         colormap on input only windows, to avoid special cases all over
1767         the code for these windows.
1768
1769 2000-12-26  Tor Lillqvist  <tml@iki.fi>
1770
1771         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
1772         we are on a palettized display ("PseudoColor" in X11), as the code
1773         for that doesn't work anyway, and never has.
1774
1775 2000-12-22  Alexander Larsson  <alexl@redhat.com>
1776
1777         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
1778         Don't use isprint() for chars > 255.
1779
1780 2000-12-21  Havoc Pennington  <hp@redhat.com>
1781
1782         * tests/testtreeview.c: more work
1783
1784 2000-12-21  Alexander Larsson  <alexl@redhat.com>
1785
1786         * docs/README.linux-fb:
1787         Update the docs to the new pangoft2 way.
1788
1789 2000-12-21  Alexander Larsson  <alexl@redhat.com>
1790
1791         * configure.in:
1792         For linux-fb get the pangoft2 cflags and libs. This needs a recent
1793         pango version.
1794         Remove modules/linux-fb/Makefile.
1795
1796         * gdk/linux-fb/gdkdrawable-fb2.c:
1797         Render glyphs using freetype.
1798
1799         * gdk/linux-fb/gdkfb.h:
1800         Add new fb-specific functions needed for managing windows.
1801
1802         * gdk/linux-fb/gdkmain-fb.c:
1803         Remove gdk_font_init/fini() calls.
1804
1805         * gdk/linux-fb/gdkpango-fb.c:
1806         Remove old implementation. Use pangoft2 instead.
1807
1808         * gdk/linux-fb/gdkprivate-fb.h:
1809         Remove PangoFBFont and related stuff.
1810
1811         * gdk/linux-fb/gdkwindow-fb.c:
1812         Implement drawable->get_visible_region.
1813         Implement support for _gdk_window_set_child_handler () and
1814         _gdk_window_get_decorations().
1815
1816         * modules/Makefile.am:
1817         Remove linux-fb subdir.
1818
1819         * modules/linux-fb/*:
1820         Removed all.
1821         
1822 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
1823
1824         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
1825         calls, as they are no longer needed.
1826
1827         * gtk/gtktreemodelsort.c: Fix up the comparison code.
1828         
1829         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
1830         figure out how to emit a signal on an interface.
1831
1832 2000-12-20  Havoc Pennington  <hp@redhat.com>
1833
1834         * tests: new directory to contain tests, gtk/test* should move
1835         here sometime (with appropriate on-cvs-server hackery)
1836
1837         * tests/testtreeview.c, tests/Makefile.am: a test
1838         
1839         * configure.in (AC_OUTPUT): add tests/Makefile
1840
1841         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
1842         and "invisible_set" which were missing
1843
1844         * gtk/gtkrbtree.h: some cheesy indentation fix
1845         
1846 2000-12-20  Alexander Larsson  <alexl@redhat.com>
1847
1848         * gtk/gtkinvisible.c (gtk_invisible_realize):
1849         Attach the style to the window so that the style it is not
1850         leaked when unrealizing the window.
1851
1852 2000-12-18  Havoc Pennington  <hp@redhat.com>
1853
1854         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
1855         begin/end user action where appropriate
1856         (gtk_text_view_commit_handler): add begin/end user action
1857
1858         * gtk/gtktextbuffer.c: add begin/end user action signals, and
1859         bracket interactive operations with begin/end user action pair.
1860         
1861         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
1862         "interactive" arg from insert_text and delete_text signals.
1863         Add begin_user_action, end_user_action signals
1864         (gtk_text_buffer_begin_user_action): 
1865         (gtk_text_buffer_end_user_action): New functions to delimit 
1866         a user-visible action
1867
1868         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
1869         signals.
1870         
1871 2000-12-18  Havoc Pennington  <hp@redhat.com>
1872
1873         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
1874         was pretty non-working.
1875
1876         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
1877         by passing the length to g_utf8_validate().
1878
1879 2000-12-16  Havoc Pennington  <hp@pobox.com>
1880
1881         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
1882         Port to GObject, can go back in gdk-pixbuf after setting up 
1883         a gdk-pixbuf-marshal.h header over there.
1884
1885         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
1886         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
1887         args
1888         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
1889         set
1890         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
1891         here, do it when we create the buttons later
1892         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
1893         (gtk_tree_view_map): paranoia checks that column->button is shown 
1894         and unmapped
1895         (gtk_tree_view_size_request): only request visible children.
1896         Move header size calculation in here, for cleanliness, and 
1897         to maintain invariants for child widgets if we eventually 
1898         let users set different children inside the buttons
1899         (gtk_tree_view_map_buttons): factor out code to map buttons,
1900         since it was being called several times
1901         (gtk_tree_view_size_allocate_buttons): move_resize the drag
1902         windows instead of just moving them; their height may change 
1903         if we allow random widgets in there, or the theme changes.
1904         (gtk_tree_view_size_allocate): move button size allocation 
1905         above emitting the scroll signals, to ensure a sane state when we
1906         hit user code
1907         (gtk_tree_view_button_release): remove queue_resize after
1908         tree_view_set_size(), set_size() will handle any resize queuing
1909         that's needed
1910         (gtk_tree_view_focus_in): just queue a draw, don't fool with
1911         draw_focus goo
1912         (gtk_tree_view_focus): use gtk_get_current_event() and
1913         gdk_event_get_state()
1914         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
1915         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
1916         semicolon
1917         (gtk_tree_view_create_button): show the button here
1918         (gtk_tree_view_button_clicked): actually emit the clicked signal
1919         on the column
1920         (_gtk_tree_view_set_size): return right away if the size is
1921         unchanged, as a cheesy optimization
1922         (gtk_tree_view_setup_model): rename set_model_realized to 
1923         setup_model to match the flag that indicates whether we've 
1924         called it
1925         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
1926         exist, because set_scroll_adjustment does that and it shouldn't
1927         matter what order you call these in
1928         (gtk_tree_view_get_vadjustment): ditto
1929         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
1930         for paranoia
1931         (gtk_tree_view_set_headers_visible): call
1932         gtk_tree_view_map_buttons() instead of using cut-and-paste code
1933         (gtk_tree_view_append_column): clarify whether the return value
1934         is the count of columns before or after, and do the increment 
1935         separately from the return statement so you can tell from the code.
1936         (gtk_tree_view_remove_column): ditto
1937         (gtk_tree_view_insert_column): ditto
1938         (gtk_tree_view_get_column): remove g_return_if_fail for columns
1939         outside the existing range, the docs say that outside-range
1940         columns are allowed, so we handle them as documented. (Presumably
1941         this allows a nice loop with column != NULL as test.)
1942         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
1943         mean (left/right/center etc.).
1944         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
1945         (gtk_tree_view_expand_row): add docs
1946         (gtk_tree_view_collapse_row): add docs
1947
1948         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
1949         function to emit the clicked signal on a column
1950         
1951         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
1952         state of an event
1953         (gdk_event_get_time): don't treat GDK_SCROLL 
1954         as a button event, remove default case from switch so gcc 
1955         will whine if we don't explicitly handle all event types
1956
1957         * gtk/gtktreeselection.h: added some FIXME 
1958         
1959         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
1960         "columns" to "n_columns" and "column" to "columns" for clarity
1961
1962 2000-12-16  Havoc Pennington  <hp@pobox.com>
1963         
1964         * gtk/gtktextiter.c: General cleanup of the log attr iteration
1965         stuff. This should make e.g. the delete key work again in the
1966         text widget...
1967         (gtk_text_iter_forward_cursor_positions): handle negative count
1968         (gtk_text_iter_backward_cursor_positions): handle negative count
1969         (gtk_text_iter_forward_word_ends): handle negative count
1970         (gtk_text_iter_backward_word_starts): handle negative count
1971
1972         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
1973         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
1974         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
1975         GObject. No doubt will cause breakage.
1976
1977         * demos/gtk-demo/textview.c: remove hacks around
1978         non-GObject-ification of the text objects
1979
1980         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
1981         the text tag
1982         
1983 2000-12-14  Havoc Pennington  <hp@pobox.com>
1984
1985         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
1986         that we have Xrender
1987
1988 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
1989
1990         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
1991         Add two virtualized functions gdk_drawable_get_clip_region - to
1992         get the clip region when drawing.
1993         
1994         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
1995         use invalidate_region.
1996
1997         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
1998         region.
1999
2000         * acconfig.h configure.in: Check for Xft. For now, assume
2001         that if Xft is found, Pango was compiled with Xft support
2002         as well.
2003
2004         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
2005         gdk_colormap_query_color().
2006         
2007         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
2008         with Xft if appropriate.
2009
2010         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
2011         a pangoxft context if we have XFT and the environment
2012         variable GD_USE_XFT is set.
2013         
2014         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
2015         and also possibly an XftDraw structure.
2016
2017         * gtk/gtkfontsel.c: Handle the case where the font from the
2018         style doesn't match any of the fonts a bit better.
2019         
2020         * gtk/testgtk.c: Add tabs between directional segments for
2021         hebrew/arabic test. (Not really necessary, just a little
2022         prettier.)
2023
2024 2000-12-14  Havoc Pennington  <hp@redhat.com>
2025
2026         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
2027         reading a file
2028
2029 2000-12-14  Havoc Pennington  <hp@redhat.com>
2030
2031         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
2032         unused call to get_last_line()
2033
2034         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
2035         here until boxed is working (and maybe after that - we should
2036         really not gratuitously break old code)
2037
2038         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
2039         specific types for font_desc and tabs args, move them to
2040         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
2041         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
2042
2043         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
2044         use GTK_TYPE_POINTER for signal signatures as a hack-around
2045
2046         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
2047         PangoTabArray
2048
2049         * gtk/gtktextlayout.c (line_display_iter_to_index): 
2050         make static
2051         (line_display_index_to_iter): make static
2052
2053         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
2054         to marshal a string not a boxed
2055
2056         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
2057
2058         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
2059         since the UTF-8 isn't validated yet
2060
2061         * gtk/gtktextsegment.c (char_segment_check_func): don't require
2062         lines to end in '\n'
2063         
2064         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
2065         forward_to_delimiters, and grapheme boundaries
2066         (gtk_text_view_delete_from_cursor): properly handle non-newline
2067         delimiters, and grapheme boundaries
2068
2069         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
2070         to gtk_text_iter_forward_to_delimiters, and make it work properly
2071         if empty lines end with a character other than '\n'
2072
2073         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
2074         position
2075
2076 2000-12-15  Tor Lillqvist  <tml@iki.fi>
2077
2078         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
2079
2080         * gtk/gtk.def
2081         * gdk/gdk.def: Update.
2082
2083         * gdk/win32/gdkmain-win32.c
2084         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
2085         gdkmain-win32.c here.
2086
2087         * gdk/win32/makefile.mingw.in (all): No need to make
2088         gdk-win32res.o here, the makefile one step up will call us to make
2089         it.
2090
2091         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
2092         gdkkeys-win32.
2093
2094         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
2095
2096         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
2097         call to g_source_add().
2098
2099         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
2100         leak. Thanks to Andreas Kemnade.
2101
2102 2000-12-13  Havoc Pennington  <hp@pobox.com>
2103
2104         * gtk/gtktextbtree.h: Remove double _ in front of some functions
2105
2106         * gtk/gtktext*.[hc]: update accordingly
2107         
2108 2000-12-13  Havoc Pennington  <hp@pobox.com>
2109
2110         * gtk/gtktextbtree.h: Put _ in front of every function in this 
2111         header file
2112
2113         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
2114
2115 2000-12-13  Alex Larsson  <alexl@redhat.com>
2116
2117         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
2118         Add support for ps2 intellimouse.
2119
2120         * gdkkeyboard-fb.c:
2121         Move shift-F1 repaint handling to xlate handler only.
2122         
2123         * docs/README.linux-fb:
2124         Add imps2 to docs.
2125         Document the new refresh keys.
2126         
2127 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
2128
2129         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
2130
2131         * gtk/gtkbox.c: change property types from (u)long to (u)int for
2132         ::position and ::padding.
2133
2134         * gtk/gtkcontainer.c: make ::border_width an INT property.
2135
2136         * gtk/gtkpacker.c: make ::position an INT property.
2137
2138         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
2139         guard against NULL h/v scrollbars, since this is used at construction
2140         time.
2141
2142         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
2143         internal gtk_clist_constructor().
2144
2145         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
2146         gtk_ctree_constructor().
2147
2148         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
2149         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
2150
2151         * docs/reference/Makefile.am: fun stuff, disabled docs generation
2152         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
2153
2154         * gtk/gtkwidget.[hc]:
2155         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
2156         and gtk_widget_get().
2157         (gtk_widget_new): use g_object_new_valist().
2158         (gtk_widget_set): use g_object_set_valist().
2159
2160         * gtk/gtkobject.[hc]:
2161         removed gtk_object_arg_get_info(), gtk_object_getv(),
2162         gtk_object_query_args(), gtk_object_newv(),
2163         gtk_object_class_add_signals(),
2164         gtk_object_class_user_signal_new(),
2165         gtk_object_class_user_signal_newv(),
2166         gtk_object_arg_set(), gtk_object_arg_get(),
2167         gtk_object_args_collect(),
2168         gtk_object_default_construct(),
2169         gtk_object_constructed(),
2170         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
2171         removed nsignals, signals and n_args members from GtkObjectClass.
2172         (gtk_object_new): use g_object_new_valist().
2173         (gtk_object_set): use g_object_set_valist().
2174         (gtk_object_get): use g_object_get_valist().
2175         
2176         * gtk/gtkcompat.h: define gtk_object_default_construct().
2177         
2178         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
2179         g_object_new().
2180
2181         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
2182         fucntions, cleaned up method assignments (make sure your structures
2183         are setup properly before calling out). removed all GTK_CONSTRUCTED
2184         hacks ;)
2185
2186 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
2187
2188         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
2189         off-by-one error in checks. (Dave Lambert)
2190
2191 2000-12-12  Alexander Larsson  <alexl@redhat.com>
2192
2193         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
2194         Don't free gdk_fb_keyboard twice.
2195
2196 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
2197
2198         * gtk/testgtk.c:
2199         (create_tooltips): 
2200         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
2201         use GObject swapped_signal:: properties instead.
2202
2203         * gtk/gtkcellrenderertoggle.c: 
2204         * gtk/gtkcellrenderertextpixbuf.c: 
2205         * gtk/gtkcellrenderertext.c: 
2206         * gtk/gtkcellrendererpixbuf.c: 
2207         * gtk/gtkcellrenderer.c:
2208         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
2209         missing warnings for invalid property ids, install properties
2210         with g_object_class_install_property() now.
2211         
2212         * gtk/gtksignal.c:
2213         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
2214         
2215 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
2216         
2217         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
2218         to determine if a window is the focus widget within
2219         its toplevel.
2220
2221         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
2222         to be boolean.
2223
2224         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
2225         of the case where the container CAN_FOCUS to here instead
2226         of having it in each individual move-the-focus place.
2227
2228         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
2229         focusing to be geometric in a much more obvious sense. Arrowing
2230         around is still non-intuitive because it isn't perfect and
2231         because entries, etc, grab the arrow keys, but it at least
2232         usually will do what you expect now.
2233         
2234         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
2235         file.
2236
2237         * gtk/gtknotebook.c: Change tabs to be a single item in
2238         the focus chain. Make movement of focus on tabs with arrow
2239         keys wrap around.
2240         
2241         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
2242         CHECK_FIND_CHILD macro to give informative error messages
2243         instead of silent returns.
2244
2245         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
2246         flag since we handle GdkReturn on the tabs.
2247
2248         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
2249         windows rather than sending expose events directly.
2250
2251         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
2252         definition for GtkNotebookPage into .c file, since it is private.
2253
2254         * gtk/testgtk.c (create_notebook): Add option for 
2255         testing borderless notebook.
2256
2257         * gtk/testgtk.c (page_switch): Removed egregious poking
2258         around in GTK+ internals.
2259
2260         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
2261
2262         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
2263         properly through gtk_clist_focus. Make the title headers a
2264         single item in the tab-focus chain, and make left-right wrap
2265         around.
2266
2267         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
2268         focus method so that wrapping around works properly.
2269
2270         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
2271         that is handled for the widget now. 
2272
2273 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
2274
2275         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
2276         widgets as TOPLEVEL.
2277
2278         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
2279         TOPLEVEL widgets are containers.
2280
2281         * gtk/gtkinvisible.h: Remove useless include.
2282
2283 2000-12-11  Havoc Pennington  <hp@redhat.com>
2284
2285         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
2286         Handle chopping off \r\n and 0x2029 in addition to \n before
2287         passing to PangoLayout
2288
2289         * gtk/gtkimcontextsimple.c
2290         (gtk_im_context_simple_get_preedit_string): 
2291         return an empty string if no match is pending
2292
2293         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
2294         assertion that the returned preedit string was sane
2295
2296         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
2297         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
2298         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
2299
2300 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
2301
2302         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
2303         Fix up finalizer to chain to its parent.
2304
2305 2000-12-11  Alexander Larsson  <alexl@redhat.com>
2306
2307         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
2308         Clearified the difference between the keyboard types. Wrote a note
2309         about the magic sysrq key to get out of raw mode.
2310
2311 2000-12-09  James Henstridge  <james@daa.com.au>
2312
2313         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
2314         member to hold masks for detecting the start of a protocol packet.
2315         (mouse_devs): add packet start masks for ps2 and ms device types.
2316         Left the mask for fidmour blank, as I have no idea what it should
2317         be.
2318         (handle_mouse_io): skip bytes until we get to the start of a
2319         packet.  My Logitech mouse seems to be passing an extra NULL pad
2320         byte, and GPM does a similar thing here.
2321         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
2322         this is the ms mouse driver.
2323         (gdk_fb_mouse_ms_packet): fix up button handling, which was
2324         completely broken except for button1.  It was checking the wrong
2325         bit in the packet for the status of the right mouse button, and
2326         wrongly assuming right == button2 rather than 3.  I fixed that and
2327         also added support for middle button (button2).
2328
2329 2000-12-08  Havoc Pennington  <hp@redhat.com>
2330
2331         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
2332         that cause a segfault on text insertion
2333
2334         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
2335         warning
2336
2337         * gtk/gtktextiter.c (test_log_attrs): use
2338         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
2339
2340         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
2341         Get log attrs for a line, using a cache stored on the buffer
2342         
2343         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
2344         reported by Jeff Franks
2345
2346 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
2347
2348         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
2349         /dev/ttyS0 -> /dev/mouse
2350
2351 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
2352
2353         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
2354         Added dummy gdk_fontset_load.
2355
2356 2000-12-08  Alexander Larsson  <alexl@redhat.com>
2357
2358         * docs/README.linux-fb:
2359         * docs/Makefile.am:
2360         Initial GtkFB docs.
2361         
2362         * gdk/linux-fb/Makefile.am:
2363         Define GDK_DATA_PREFIX.
2364
2365         * gdk/linux-fb/gdkmain-fb.c:
2366         Fix typo.
2367         Change default display to /dev/fb0.
2368
2369         * gdk/linux-fb/gdkpango-fb.c:
2370         Add $(prefix)/share/fonts/ to font path.
2371         
2372 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
2373
2374         * gdk/linux-fb/gdkkeyboard-fb.c:
2375         New file containing the abstracted keyboard driver. Most code
2376         taken from gdkinput-ps2.c
2377
2378         * gdk/linux-fb/gdkinput-ps2.c:
2379         Removed file.
2380         
2381         * gdk/linux-fb/Makefile.am:
2382         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
2383
2384         * gdk/linux-fb/gdkcolor-fb.c:
2385         display->fb was renamed to display->fb_fd.
2386
2387         * gdk/linux-fb/gdkcursor-fb.c:
2388         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2389
2390         * gdk/linux-fb/gdkinput.c:
2391         Moved gdk_input_init here from gdkinput-ps2.c
2392
2393         * gdk/linux-fb/gdkmain-fb.c:
2394         display->fb was renamed to display->fb_fd.
2395         Now the tty and the console is opened here instead
2396         of in the keyboard driver. Also check GDK_VT to see what
2397         tty to open.
2398         Move gdk_beep () here from gdkinput-ps2.c
2399         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2400
2401         * gdk/linux-fb/gdkmouse-fb.c:
2402         Add header.
2403         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2404         Return correct keyboard modifiers.
2405         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
2406
2407         * gdk/linux-fb/gdkprivate-fb.h:
2408         Add tty and vt info to display.
2409         Add orignal modeinfo storage to display
2410         Update global functions
2411
2412         * gdk/linux-fb/gdkwindow-fb.c:
2413         Added gdk_fb_window_find_focus().
2414         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2415
2416 2000-12-07  Havoc Pennington  <hp@pobox.com>
2417
2418         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
2419         function, noticed by Alex
2420
2421 2000-12-06  Elliot Lee  <sopwith@redhat.com>
2422
2423         * configure.in: Detect freetype properly
2424
2425         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
2426         above.
2427
2428 2000-12-06  Alexander Larsson  <alexl@redhat.com>
2429
2430         * gdk/linux-fb/Makefile.am:
2431         Add gdkmouse-fb.c
2432         
2433         * gdk/linux-fb/gdkmouse-fb.c:
2434         New file. Abstracted the mouse drivers a bit.
2435
2436         * gdk/linux-fb/gdkcursor-fb.c:
2437         The cursor hide/show functions was moved here from gdkinput-ps2.c.
2438
2439         * gdk/linux-fb/gdkinput-ps2.c:
2440         Removed old mouse handling code. Moved cursor handling code
2441         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
2442         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
2443         gdk_mouse_get_info.
2444
2445         * gdk/linux-fb/gdkmain-fb.c:
2446         Pass NULL pointers for x,y in gdk_mouse_get_info call.
2447
2448         * gdk/linux-fb/gdkprivate-fb.h:
2449         Removed public gdk_fb_find_common_ancestor, added and renamed
2450         functions for the new mouse handling code.
2451
2452         * gdk/linux-fb/gdkwindow-fb.c:
2453         Moved gdk_fb_window_send_crossing_events here. added global
2454         variable gdk_fb_window_containing_pointer. made
2455         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
2456         renamed to gdk_mouse_get_info.
2457
2458 2000-12-06  Alexander Larsson  <alexl@redhat.com>
2459
2460         * gdk/linux-fb/gdkevents-fb.c:
2461         Update to match latest gmain/gsource changes.
2462
2463         * gdk/linux-fb/gdkinput-ps2.c:
2464         Bogus gdk_keymap_get_entries_for_keycode implementation so that
2465         it links. Will be implemented later.
2466
2467 2000-12-03  Havoc Pennington  <hp@pobox.com>
2468
2469         * gdk/Makefile.am: add gdkkeys.[hc]
2470
2471         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
2472         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
2473
2474         * acconfig.h, configure.in: add checks and command line options
2475         for XKB
2476
2477         * gdk/x11/gdkkeys-x11.c: Implement the above functions
2478         
2479         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
2480         and group in the key event
2481
2482         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
2483         field with the low-level hardware key code, and a group
2484         field with the keyboard group
2485
2486         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
2487         and declare a couple globals used for keymap handling
2488         
2489         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
2490         hold down Shift-Control and type a hex number to get a Unicode 
2491         character corresponding to the hex number
2492         (gtk_im_context_simple_get_preedit_string): Fix cursor position
2493         (return bytes not chars)
2494
2495 2000-12-05  Elliot Lee  <sopwith@redhat.com>
2496
2497         * gdk/gdkcolor.h: Make GdkColor specify element sizes
2498         to avoid waste on 64-bit platforms.
2499
2500 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
2501
2502         * INSTALL: Fix link to PNG home, remove reference
2503         to fribidi.
2504
2505         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
2506         
2507         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
2508         tested.)
2509
2510         * gtk/gtkcheckmenuitem.c: Permanently turn on
2511         always_show_toggle.
2512
2513         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
2514         be NULL. (Vladimir Klebanov, #26545)
2515
2516         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
2517         some signed/unsigned comparison problems. (#6510,
2518         David Kaelbling)
2519
2520         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
2521         return type to boolean (Oskar Liljeblad, #18648)
2522
2523 2000-12-05  Alexander Larsson  <alexl@redhat.com>
2524
2525         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
2526         Remove bogus colormap setting.
2527
2528 2000-12-05  Alexander Larsson  <alexl@redhat.com>
2529
2530         * gdk/linux-fb/gdkcolor-fb.c:
2531         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
2532
2533         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
2534         Must set colormap.
2535         
2536 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
2537
2538         * docs/tutorial/gtk-tut.sgml: DND updates
2539
2540 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
2541
2542         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
2543         Remove old debug g_warning().
2544         (gdk_fb_draw_drawable): The src argument can be either a wrapper
2545         or an implementation, just pass the implementation to draw_drawable_2.
2546         
2547         * gdk/linux-fb/gdkprivate-fb.h:
2548         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
2549
2550         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
2551         clear and invalidate area when window is destroyed.
2552         (send_map_events): Remove old commented out code.
2553
2554 2000-12-05  Alexander Larsson  <alexl@redhat.com>
2555
2556         * gdk/linux-fb/gdkpango-fb.c:
2557         Use italic instead of oblique in font aliases.
2558         
2559         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
2560         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
2561         other unsupported functions.
2562
2563 2000-12-04  Havoc Pennington  <hp@redhat.com>
2564
2565         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
2566
2567         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
2568
2569         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
2570
2571         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
2572         hack to avoid infinite loops (synthetic expose event) - 
2573         Owen has more appropriate fixes in a branch he'll check in later.
2574
2575         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
2576         separator, CR, and CRLF as line ends
2577
2578         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
2579         into lines using pango_find_paragraph_boundary(); other bits of
2580         the widget are still going to be broken if the boundary isn't '\n'
2581         though
2582
2583 2000-12-04  Alexander Larsson  <alexl@redhat.com>
2584
2585         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
2586         multiply.
2587
2588         * gdk/linux-fb/gdkpango-fb.c:
2589         Copied some 26.6 scaling macros from pango to clean up the rounding.
2590         (pango_fb_font_get_glyph_info): Correct sign on x value.
2591
2592         * gdk/linux-fb/gdkprivate-fb.h:
2593         Removed unreferenced external functions.
2594
2595         * modules/linux-fb/Makefile.am: Use ` instead of '.
2596
2597         * modules/linux-fb/basic.c:
2598         Remove dead code. In particular the dummy lang engine which broke all
2599         pango layouts in GtkFB. Don't include tables-big.i anymore.
2600
2601         * modules/linux-fb/tables-big.i:
2602         Upgrade to latest version from pango. Left for reference, basic_ranges
2603         moved to basic.c.
2604         
2605 2000-12-04  Havoc Pennington  <hp@redhat.com>
2606
2607         Fix bugs Alex found:
2608         
2609         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
2610         to "draw"
2611
2612         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
2613
2614         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
2615
2616         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
2617         implementation in here, apparently the expose() implementation was
2618         dead code.
2619
2620 2000-12-04  Alexander Larsson  <alexl@redhat.com>
2621
2622         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
2623         Return positive descent.
2624
2625 2000-12-02  Havoc Pennington  <hp@pobox.com>
2626
2627         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
2628         method and signal
2629         
2630         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
2631         calls gdk_window_process_updates() to push the exposes through
2632         (gtk_widget_class_init): No more draw signal, no
2633         gtk_widget_real_draw()  
2634         
2635         * gtk/gtkbin.c (gtk_bin_draw): remove
2636
2637         * gtk/gtkbox.c (gtk_box_draw): remove
2638
2639         * gtk/gtkbutton.c (gtk_button_draw): remove
2640
2641         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
2642
2643         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
2644
2645         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
2646
2647         * gtk/gtkclist.c (gtk_clist_draw): remove
2648
2649         * gtk/gtkentry.c (gtk_entry_draw): remove
2650
2651         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
2652
2653         * gtk/gtkfixed.c (gtk_fixed_draw): remove
2654
2655         * gtk/gtkframe.c (gtk_frame_draw): remove
2656
2657         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
2658
2659         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
2660
2661         * gtk/gtklayout.c (gtk_layout_draw): remove
2662
2663         * gtk/gtklist.c (gtk_list_draw): remove
2664
2665         * gtk/gtklistitem.c (gtk_list_item_draw): remove
2666
2667         * gtk/gtkmenu.c (gtk_menu_draw): remove
2668
2669         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
2670
2671         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
2672
2673         * gtk/gtknotebook.c (gtk_notebook_draw): remove
2674
2675         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
2676
2677         * gtk/gtkpacker.c (gtk_packer_draw): remove
2678
2679         * gtk/gtkrange.c (gtk_range_draw): remove
2680
2681         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
2682
2683         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
2684
2685         * gtk/gtktable.c (gtk_table_draw): remove
2686
2687         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
2688
2689         * gtk/gtktext.c (gtk_text_draw): remove
2690
2691         * gtk/gtktextview.c (gtk_text_view_draw): remove
2692
2693         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
2694
2695         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
2696
2697         * gtk/gtktree.c (gtk_tree_draw): remove
2698
2699         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
2700
2701         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
2702
2703         * gtk/gtkviewport.c (gtk_viewport_draw): remove
2704
2705         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
2706
2707         * gtk/gtkvscale.c (gtk_vscale_draw): remove
2708
2709         * gtk/gtkwindow.c (gtk_window_draw): remove
2710
2711 2000-20-01  Anders Carlsson  <andersca@gnu.org>
2712
2713         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
2714         a GtkToggleButton is both insensitive and active, it was being
2715         drawn by the GtkButton draw handler which doesn't check the
2716         state. Now it's calling gtk_toggle_button_paint instead.
2717         
2718 2000-12-01  Havoc Pennington  <hp@redhat.com>
2719
2720         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
2721         dangling pointers to the appearance attributes from the 
2722         line display
2723
2724         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
2725         width/height to mean "full width/height of drawable"
2726
2727         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
2728         click to select word/line
2729         
2730         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
2731         when getting log attrs. Get a slice, so that pixmaps and stuff
2732         are properly handled.
2733
2734         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
2735         paste into the selection (replaces selection now, previously
2736         crashed or added to selection). Reveals longstanding btree bug -
2737         select multiple lines, middle-click on the selection, boom. This
2738         isn't related to my changes though.
2739
2740         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
2741         PangoLogAttrs changes
2742         (gtk_entry_move_backward_word): ditto
2743
2744         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
2745         functions return bool whether the iter moved onto a
2746         dereferenceable position.
2747  
2748         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
2749         functions for motion in terms of display lines.
2750
2751         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
2752         get the buffer a mark is inside
2753         
2754 2000-12-01  Alexander Larsson  <alexl@redhat.com>
2755
2756         * gdk/linux-fb/Makefile.am:
2757         * modules/linux-fb/Makefile.am:
2758         Freetype 2 final uses freetype-config
2759
2760         * gdk/linux-fb/gdkpango-fb.c:
2761         Upgrade to use Freetype 2 final.
2762         More flexible support for font aliases, this also fixes a bug with
2763         GtkFontSelector, as the aliases must be visible in the font/family list,
2764         or GtkFontSelector reads uninitialized memory.
2765
2766 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
2767
2768         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
2769         XGetIMValues to properly terminate variable argument list, and do
2770         NULL return check for ic_values and xim_styles.
2771
2772         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
2773         Restore preedit state after XmbResetIC().
2774         
2775         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
2776         XvaCreateNestedList() should take XvaNestedList, but not
2777         XvaNestedList*.
2778
2779         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
2780         preedit_draw_callback, preedit_caret_callback): Match
2781         "preedit-changed" signal name to "preedit_changed" to be
2782         consistent to the spec.
2783
2784         * gtk/gtkimcontextsimple.c (check_table):
2785         Match "preedit-changed" to "preedit_changed" to be consistent
2786         to the spec.
2787
2788 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
2789
2790         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
2791         gc->clip_region == NULL>
2792
2793 2000-11-30  Tor Lillqvist  <tml@iki.fi>
2794
2795         Changes by Hans Breuer:
2796         
2797         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
2798         Dont't use negative width and height as max_hints. This fixes
2799         Owen's recent testgtk changes for win32.
2800
2801         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
2802         gdk_win32_hdc_release): These are exported and may be called with
2803         other drawable types than our GdkDrawableImplWin32 (?).
2804
2805         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
2806         so always #define USE_BACKING_STORE.
2807
2808         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
2809         of printf for debugging output.
2810
2811         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
2812         
2813         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
2814
2815         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
2816         declaration.
2817
2818         * gtk/gtktexttypes.h: Ditto.
2819
2820         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
2821         (GDK_VoidSymbol) also if in case of arg check failure.
2822
2823         * gtk/gtkimcontextsimple.c
2824         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
2825         position to the pointer, but to the variable it points to.
2826
2827         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
2828
2829         * gtk/gtk.def: Updates.
2830
2831 2000-11-29  Elliot Lee  <sopwith@redhat.com>
2832
2833         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
2834         GTK_TYPE_TREE_MODEL.
2835
2836 2000-11-29  Alexander Larsson  <alexl@redhat.com>
2837
2838         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
2839         Set the size of the font from the description.
2840         (gdk_text_width): Gross hack that calculates the width
2841         of text by text_length * size/2. This is necessary because
2842         GtkLabel does some ugly gtk_string_width call to calculate
2843         an good size.
2844         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
2845
2846 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
2847
2848         * docs/tutorial/gtk-tut.sgml: DND updates
2849
2850 2000-11-29  Alexander Larsson  <alexl@redhat.com>
2851
2852         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
2853         If you pass width or height == 0 to gdk_window_clear_area they
2854         should be calculated from the window size.
2855
2856 2000-11-29  Alexander Larsson  <alexl@redhat.com>
2857
2858         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
2859         a grab, but no grab-cursor, use the cursor from the grabbed
2860         window. (gdk_fb_window_send_crossing_events): Send normal
2861         enter/leave notifications if grab and owner_events == TRUE.
2862
2863 2000-11-29  Alexander Larsson  <alexl@redhat.com>
2864
2865         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
2866         Do implicit button grabs, even if the window doesn't
2867         want the event.
2868         (gdk_fb_window_send_crossing_events): If there is a
2869         grab, only the grabbed window gets normal enter/leave
2870         notifications. On ungrab go from grabbed window to current.
2871         Don't send any notification to b when propagating from c -> b.
2872         If setting a grab on window, don't set prev_window.
2873         (handle_mouse_input): Send enter/leave events to the window the
2874         mouse is over, not the grabbed one.
2875         
2876 2000-11-28  Elliot Lee  <sopwith@redhat.com>
2877
2878         * gdk/gdkregion-generic.c: Zap warning.
2879         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
2880         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
2881
2882 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
2883
2884         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
2885         The cursor should be hidden if it is part of either the
2886         source or destination region. Not only if it is in both.
2887         (gdk_window_set_transient_for): Silence warnings.
2888
2889 2000-11-28  Alexander Larsson  <alexl@redhat.com>
2890
2891         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
2892         The default mode in X is Pie Arcs, therefore that is
2893         what Gtk+ uses.
2894
2895 2000-11-28  Alexander Larsson  <alexl@redhat.com>
2896
2897         * gdk/linux-fb/gdkinput-ps2.c:
2898         Implement correct EnterNotify/LeaveNotify:
2899         (gdk_fb_window_send_crossing_events): New function that sends
2900         all GdkCrossingEvents from the last mouse-window to the specified
2901         destination.
2902         (gdk_fb_window_visibility_crossing): Removed function.
2903         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
2904         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
2905         instead of gdk_window_get_pointer() for better readability.
2906
2907         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
2908         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
2909
2910         * gdk/linux-fb/gdkprivate-fb.h:
2911         removed gdk_fb_window_visibility_crossing, added
2912         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
2913
2914         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
2915         New function that finds the least common ancestor of two windows.
2916         (gdk_window_show, gdk_window_hide):
2917         Use gdk_fb_window_send_crossing_events.
2918         (gdk_fb_window_move_resize): Send configure events to toplevel
2919         windows. Use gdk_fb_window_send_crossing_events.
2920
2921 2000-11-27  Havoc Pennington  <hp@redhat.com>
2922
2923         * gtk/gtkprivate.h (enum): Remove a trailing comma
2924
2925 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
2926
2927         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
2928         the "changed" callback of the adjustment.  We need to redraw the
2929         spin button's arrows when the adjustment's range changes.
2930         (adjustment_changed_cb): Draw the arrows.
2931         (gtk_spin_button_value_changed): Draw the arrows.
2932
2933 2000-11-23  Alexander Larsson  <alexl@redhat.com>
2934
2935         * gdk/linux-fb/gdkselection-fb.c:
2936         Initial selection implementation.
2937
2938         * gtk/gtkselection.c:
2939         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
2940         requestor in gtk_selection_request.
2941         
2942         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
2943         Added gdk_selection_property atom.
2944
2945         * gdk/linux-fb/gdkprivate-fb.h:
2946         Export _gdk_selection_window_destroyed.
2947         Removed mask_off_x/y from GdkCursorPrivateFB.
2948         Removed hbearing, added top, left to PangoFBGlyphInfo.
2949
2950         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
2951         Call _gdk_selection_window_destroyed
2952         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
2953         the root window has been created.
2954         (static_dx_hack, static_dy_hack, compare_draw_rects,
2955         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
2956         in region. They are already sorted. Instead just traverse them in
2957         reverse if draw_direction < 0.
2958         
2959         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
2960         Double-clicks must be sent after the normal button_press.
2961         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
2962         
2963         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
2964         Pass _gdk_fb_screen_gc instead of NULL.
2965
2966         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
2967         Initialize gdk_selection_property.
2968         (gdk_event_make): Remove unused code.
2969
2970         * gdk/linux-fb/gdkcursor-fb.c:
2971         Make the pixmap for the cursor the same size as the mask. Also remove
2972         the mask_off_x/y fields in GdkCursorPrivateFB and combine
2973         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
2974         Now the whole cursor is visible.
2975
2976         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
2977         Fix bug where xdest+height instead of ydest+height was used
2978         to calculate if the source and dest overlapped. This fixes the
2979         redraw bug when the main window in testgtk was scrolled when
2980         partially covered by a tall window.
2981         Copy rectangles in region in order depending on draw_direction.
2982         Also moved the draw_direction flipping of start_y and end_y into
2983         the gc functions, as this might not be what all of them want.
2984         (gdk_fb_draw_lines): Support dashed lines.
2985         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
2986         so that the text is positioned correctly (was 1 pixel high).
2987
2988         gdk/linux-fb/gdkgc-fb.c:
2989         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
2990         all lines were drawn a pixel to short. Also checked the default of
2991         the rest of the values, and they're the same as X now.
2992
2993         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
2994         Clean up pixel positioning of the glyphs. Just use bgy->top and
2995         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
2996         to all divisions to get correct rounding behaviour.
2997
2998         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
2999         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
3000         Moved start_y/end_y flip into draw_drawable implementations.
3001         Flip also x rendering when draw_direction < 0.
3002         Remove unneccesary multiply with draw_direction.
3003
3004 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
3005
3006         * docs/tutorial/gtk-tut.sgml:
3007           - get rid of gtk_toggle_button_toggled FUD
3008           - start DND section - needs work - based on:
3009                 http://wolfpack.twu.net/docs/gtkdnd/
3010
3011 2000-11-22  Alexander Larsson  <alexl@redhat.com>
3012
3013         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
3014         Correct calculation of font metrics. Now GtkEntrys have sane
3015         size.
3016
3017 2000-11-22  Alexander Larsson  <alexl@redhat.com>
3018
3019         * gdk/gdktypes.h:
3020         Add new type GdkSpan
3021         
3022         * docs/reference/gdk/gdk-sections.txt,
3023         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
3024         gdk/gdkregion.h:
3025         Implement and document gdk_region_spans_intersect_foreach.
3026
3027         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
3028         Add new file gdkrender-fb.c which contains all core
3029         rendering code.
3030         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
3031         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
3032         (optimized rectangle fillers).
3033
3034         * gdk/linux-fb/gdkdrawable-fb2.c:
3035         Move all rendering code to gdkrender-fb.c.
3036         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
3037         Use the new span intersection functions in gdk_fb_fill_spans.
3038         gdk_fb_draw_rectangle() clips filled rectangles and calls
3039         gc->fill_rectangle with the result.
3040         gdk_fb_fill_spans() gets extra argument "sorted".
3041
3042         * gdk/linux-fb/gdkevents-fb.c:
3043         Remove unused includes and defines.
3044         New function gdk_fb_get_time() to get correct time for events.
3045
3046         * gdk/linux-fb/gdkinput-ps2.c:
3047         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
3048         Make sure to set the time of all events.
3049
3050         * gdk/linux-fb/gdkmain-fb.c:
3051         Use gdk_fb_get_time ().
3052
3053         * gdk/linux-fb/gdkprivate-fb.h:
3054         New virtual GC calls: fill_span & fill_rectangle.
3055         Export gdk_fb_get_time().
3056         gdk_fb_fill_spans() gets extra argument "sorted".
3057
3058         * gdk/linux-fb/mi*.c:
3059         Use GdkSpan instead of GdkRectangle.
3060         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
3061         from XFree 4 source)
3062         
3063 2000-11-22    <jrb@redhat.com>
3064
3065         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
3066         reversing the order in an if statement will do.  Doing so managed
3067         to make the treemodelsort half work.  Other half will follow after
3068         I get the insert function fully fixed.
3069
3070 2000-11-21  Elliot Lee  <sopwith@redhat.com>
3071         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
3072         more than 2 bits. Besides, I need to implement an evil hack. :)
3073
3074 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
3075
3076         * docs/tutorial/gtk-tut.sgml: minor corrections
3077
3078 2000-11-20  Jonathan Blandford <jrb@redhat.com>
3079         * gtk/gtktreemodelsort.h: Add convertion functions to let you
3080           convert to and from relative path's and iters.
3081
3082         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
3083           testing sorting functions a bit better.  Currently broken -- will
3084           fix in morning.
3085
3086 2000-11-20  Havoc Pennington  <hp@redhat.com>
3087
3088         * gtk/gtkwidget.c: Documented a bunch of functions in here
3089         (gtk_widget_realize): Warn if you try to realize
3090         a widget with no parent that isn't a toplevel
3091         (gtk_widget_intersect): return a gboolean
3092
3093 2000-11-20  Havoc Pennington  <hp@redhat.com>
3094
3095         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
3096         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
3097         scrolling to be implemented in GDK to finish. Also, right now
3098         we just size_allocate all children on every layout change,
3099         which is pretty lame. Test commented out of testtext.c, 
3100         until it works better.
3101
3102 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
3103
3104         * gdk/linux-fb/gdkdrawable-fb2.c:
3105         Removed unused arguments from gdk_fb_drawable_get_pixel().
3106
3107         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
3108         Renamed fidur specific mouse packet data in MouseDevice to
3109         generic. Used it in ps2 mouse handling code to avoid blocking
3110         reads.
3111
3112 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
3113
3114         * demos/gtk-demo/main.c: Changed to have the list become
3115         non-italic when the demo window is destroyed through an external
3116         event (like a close button).  Doing so found three bugs in the
3117         widget.
3118
3119         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
3120
3121         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
3122         we actually set the cell.
3123
3124         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
3125
3126         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
3127         free a leaked path.  Thanks memprof.
3128
3129 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
3130
3131         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
3132         off-by-one error when destroying allocated segments
3133         on failure. (Elliot)
3134
3135 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
3136
3137         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
3138         memleaks found by Evan Martin.
3139
3140 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
3141
3142         * Released 1.3.2
3143         
3144         * NEWS: Updates for 1.3.2
3145
3146 2000-11-17  Tor Lillqvist  <tml@iki.fi>
3147
3148         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
3149         but in general for window system specific events.
3150
3151         * gtk/gtk.def
3152         * gtk/makefile.mingw.in
3153         * gtk/makefile.msc.in: Update.
3154         
3155         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
3156
3157 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
3158
3159         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
3160         distribute gtk.immodules.
3161
3162         * gtk/Makefile.am (install-data-local): Don't install the
3163         gtk.immodules file created for the uninstalled modules;
3164         instead run gtk-query-immodules after install
3165
3166 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
3167
3168         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
3169         -rpath to the right install location.
3170
3171         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
3172         -export-dynamic.
3173
3174         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
3175         properly.
3176
3177 2000-11-15  Havoc Pennington  <hp@pobox.com>
3178
3179         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
3180         patch from Mikael Hermansson to temporarily stop blinking while
3181         the user is using the keyboard to type or navigate. 
3182
3183         Also, when blinking, stay on for longer than we stay off. Also,
3184         return from start_cursor_blink if !cursor_visible, to save
3185         checking that flag all over the place before we call
3186         start_cursor_blink.
3187
3188 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
3189
3190         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
3191         only contain a "fontset" line, which is now ignored.
3192
3193         * gtk/gtkentry.c (gtk_entry_button_release): Make 
3194         double-click-to-select-word work.
3195         
3196 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
3197
3198         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
3199         Don't move back one char when we are actually at the end of the 
3200         paragraph.
3201
3202 2000-11-15  Robert Brady  <robert@suse.co.uk>
3203
3204         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
3205         'o' < 'p'.
3206         
3207         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
3208         bind_textdomain_codeset.
3209
3210         (gtk_init_check): Make the warning about translating default:LTR
3211         sterner.
3212         
3213 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
3214
3215         * **/Makefile.am : remove unecessary rules for win32-specific
3216         config-substituted targets. If you want these rules, use
3217         --enable-maintainer-mode (called automatically by autogen.sh).
3218         Stops a lot of unneccessary make-time warnings.
3219
3220         * gtk/gtktext{layout,display}.c: Factor in total width as
3221         well as screen when figuring alignment for word-wrap as well as
3222         no wrap; this is necessary to handle lines that cannot be wrapped
3223         at all.
3224
3225 2000-11-15  Havoc Pennington  <hp@redhat.com>
3226
3227         * gtk/testtext.c: Implement essential color cycling feature
3228
3229 2000-11-15  Havoc Pennington  <hp@redhat.com>
3230
3231         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
3232         when we invalidate the main window.
3233
3234         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
3235         GtkTextView will now invalidate the side windows for us when text
3236         changes.
3237
3238 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
3239
3240         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
3241         unconditionally, since we may need to update the horizontal
3242         scrollbars even if the height didn't change.
3243
3244         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
3245         the extra attrs, since some of them affect size.
3246
3247         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
3248         x_offset correctly.
3249
3250 2000-11-15  Havoc Pennington  <hp@redhat.com>
3251
3252         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
3253         don't move the first line out into the margin, instead move the
3254         whole paragraph in order to make space for the first line within 
3255         the margin
3256
3257 2000-11-15  Havoc Pennington  <hp@redhat.com>
3258
3259         * gtk/gtktextview.c (changed_handler): offset redraw rect by
3260         xoffset in addition to yoffset, so horizontal scrolling doesn't
3261         break redraws
3262
3263 2000-11-15  Havoc Pennington  <hp@redhat.com>
3264
3265         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
3266         from the cursor
3267         (render_layout_line): fix reversed test that caused weird
3268         underlines to get drawn
3269
3270 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
3271
3272         * gdk/linux-fb/gdkprivate-fb.h:
3273         Fix debug macros.
3274         
3275 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
3276
3277         * gdk/linux-fb/gdkprivate-fb.h:
3278         Added virtual functions set_pixel, get_color,
3279         fill_span and draw_drawable to the GC.
3280         Added global _gdk_fb_screen_gc to use instead of
3281         NULL when drawing to the screen.
3282         Added _gdk_fb_gc_calc_state() prototype.
3283
3284         * gdk/linux-fb/gdkgc-fb.c:
3285         Call _gdk_fb_gc_calc_state() on any gc state change.
3286
3287         * gdk/linux-fb/gdkglobals-fb.c:
3288         Add _gdk_fb_screen_gc
3289                 
3290         * gdk/linux-fb/gdkdrawable-fb2.c:
3291         _gdk_fb_gc_calc_state() calculates best functions
3292         for the GC state and depth.
3293         Moved bpp specialized code to separate functions.
3294         Added optimized 24 bpp AA draw_drawable.
3295
3296         * gdk/linux-fb/gdkevents-fb.c:
3297         Silence gcc warning.
3298
3299         * gdk/linux-fb/gdkimage-fb.c:
3300         Use _gdk_fb_screen_gc
3301
3302         * gdk/linux-fb/gdkwindow-fb.c:
3303         Init and use _gdk_fb_screen_gc
3304
3305         * gdk/linux-fb/mitypes.h:
3306         Remove unused types.
3307
3308 2000-11-14  Havoc Pennington  <hp@pobox.com>
3309
3310         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
3311         to pixels
3312
3313 2000-11-14  Havoc Pennington  <hp@pobox.com>
3314
3315         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
3316
3317         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
3318         unknown char, no real reason we were using a variable. 
3319         Remove gtk_text_unknown_char variable. Fix all the text widget
3320         files accordingly.
3321
3322         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
3323         since the Unicode spec seems to prefer that character for our
3324         purposes.
3325
3326 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
3327
3328         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
3329         value of g_getenv() isn't freeable, so g_strdup it.
3330
3331         * modules/input/inuktitut.c: Inuktitut input method.
3332
3333         * modules/input/Makefile.am: Build this.
3334         
3335 2000-11-14  Elliot Lee  <sopwith@redhat.com>
3336
3337         * gtk/Makefile.am: Install gtk.immodules, needed for operation
3338         of gtk programs.
3339
3340 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
3341
3342         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
3343         reversed > that was causing Home to go to end of previous line.
3344
3345         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
3346         modified-keypresses (leave for bindings.)
3347
3348         * modules/input/Makefile.am: Remove useless -export-dynamic
3349         from module LDFLAGS.
3350
3351 2000-11-14  Havoc Pennington  <hp@redhat.com>
3352
3353         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
3354         higher.
3355
3356         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
3357         account. Also, render rise, underline, background, etc. for
3358         pixbufs as well as text. Also, draw underlines one pixel higher.
3359
3360         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
3361         PangoAttribute for the rise, so it gets drawn properly. Also,
3362         add the GtkTextAppearance attribute for pixbuf/widget segments
3363         as well; we should go ahead and have rise, underline, background,
3364         stipple work for those
3365
3366         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
3367         Pango
3368
3369 2000-11-15  Tor Lillqvist  <tml@iki.fi>
3370
3371         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
3372
3373         * gtk/gtk.def: Update.
3374
3375         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
3376         included.
3377         (gtk_rc_get_im_module_file): Use run-time installation directory
3378         on Win32.
3379
3380         * gdk/win32/rc/gdk.rc: Remove.
3381         * gdk/win32/rc/gdk.rc.in: New file.
3382         * gdk/win32/rc/Makefile.am: New file
3383         * gdk/win32/Makefile.am: Corresponding changes.
3384
3385         * gtk/gtk.rc: Remove.
3386         * gtk/gtk-win32.rc.in: New file.
3387         * gtk/Makefile.am: Corresponding changes.
3388
3389         * configure.in: Corresponding changes.
3390
3391         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
3392         has a built gtkcompat.h. Developers using CVS code on Win32 can
3393         hand-edit it from gtkcompat.h.in.
3394
3395         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
3396         gtkcompat.h from gtkcompat.h.win32.
3397
3398 2000-11-14  Havoc Pennington  <hp@redhat.com>
3399
3400         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
3401         to default to GDK_ACTION_MOVE if the drag is within a single
3402         widget. Defaults to GDK_ACTION_COPY between widgets.
3403
3404 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
3405
3406         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
3407
3408         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
3409
3410         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
3411         srcdir != builddir
3412
3413         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
3414
3415         * configure.in (GTK_VERSION): Up to 1.3.2
3416
3417         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
3418         gtkimcontextxim.h
3419
3420         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
3421         missing doc comment.
3422
3423 2000-11-14  Alexander Larsson  <alexl@redhat.com>
3424
3425         * modules/linux-fb/basic.c:
3426         Use the glib iconv wrappers.
3427
3428 2000-11-13  Havoc Pennington  <hp@pobox.com>
3429
3430         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
3431         still more bugs.
3432
3433         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
3434         scroll the GdkWindows before realization.
3435
3436 2000-11-13  Havoc Pennington  <hp@redhat.com>
3437
3438         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
3439         where GC didn't always get updated properly
3440
3441         * demos/gtk-demo/textview.c (create_tags): Use subattributes
3442         of fonts instead of setting the entire font
3443
3444         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
3445         setting entire font
3446
3447         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
3448
3449         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
3450         a bunch of individually-settable font attributes. You can still 
3451         use the "font" and "font_desc" args, they just set all the font
3452         attributes at once.
3453
3454 2000-11-13 Elliot Lee <sopwith@redhat.com>
3455
3456         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
3457
3458 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
3459
3460         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
3461         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
3462
3463         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
3464         work better.
3465
3466 2000-11-13  Havoc Pennington  <hp@redhat.com>
3467
3468         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
3469         the module file.
3470
3471         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
3472         dest->language
3473
3474         * gtk/testtext.c: Test pixels above/below/inside paragraphs
3475         settings
3476
3477         * gtk/gtktextview.c: Implement object args and setters/getters for
3478         all the aspects of the GtkTextAttributes that are not set from
3479         GtkWidget attributes. This is spacing, justification, margins,
3480         etc.
3481
3482         (gtk_text_view_set_arg)
3483         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
3484         args
3485         (gtk_text_view_class_init): Add args for justify, left_margin,
3486         right_margin, indent, and tabs
3487         
3488
3489         * gtk/gtktextlayout.c (set_para_values): fix to display indent
3490         attribute properly
3491
3492         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
3493         replace with indent attribute
3494
3495         * gtk/gtktextlayout.c (set_para_values): multiply indent by
3496         PANGO_SCALE
3497
3498         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
3499         rearranging code to do that
3500         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
3501         i.e. don't subtract the top_margin first, just to keep
3502         all margin-futzing in one place.
3503
3504         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
3505
3506         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
3507         special case of last line, Pango now handles this itself.
3508         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
3509         Y coordinate
3510         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
3511         (find_display_line_above): wasn't moving the byte index as it
3512         iterated over lines, so always returned byte 0. Also, port to use
3513         PangoLayoutIter.
3514         (find_display_line_below): same problem as
3515         find_display_line_above. Also, port to use PangoLayoutIter.
3516
3517 2000-11-13  Alexander Larsson  <alexl@redhat.com>
3518
3519         * gdk/linux-fb/*.[ch]:
3520         Massive reindent to gtk+ standard. My hands hurt.
3521
3522         * gdk/linux-fb/gdkcolor-fb.c:
3523         Move GdkColorPrivateFB from inherited to windowing_data
3524
3525         * gdk/linux-fb/gdkcursor-fb.c:
3526         _gdk_cursor_new_from_pixmap made static
3527
3528         * gdk/linux-fb/gdkdnd-fb.c:
3529         GdkDragContextPrivate moved to windowing_data
3530
3531         * gdk/linux-fb/gdkdrawable-fb2.c:
3532         Removed endian.h, use glib endianness macros instead
3533         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
3534         and GDK_DRAWABLE_IMPL_FBDATA
3535
3536         * gdk/linux-fb/gdkfont-fb.c:
3537         Add empty gdk_font_load(). Needed for linking of Gtk+.
3538
3539         * gdk/linux-fb/gdkimage-fb.c:
3540         Removed endian.h, use glib endianness macros instead
3541         Moved GdkImagePrivateFB to windowing_data
3542         gdk_image_new_bitmap didn't always allocate enough
3543         memory.
3544
3545         * gdk/linux-fb/gdkinput-ps2.c:
3546         Added semi-working support for MS serial mice.
3547
3548         * gdk/linux-fb/gdkprivate-fb.h:
3549         s/GdkWindowPrivate/GdkWindowObject/
3550         Removed GdkWindowPrivate typedef
3551         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
3552         Removed GDK_DRAWABLE_P
3553         Move GdkColorPrivateFB from inherited to windowing_data
3554         Moved GdkImagePrivateFB to windowing_data
3555
3556         * gdk/linux-fb/gdkvisual-fb.c:
3557         Removed some unused debug code.
3558
3559         * gdk/linux-fb/gdkwindow-fb.c:
3560         Use stock cursors instead of including X headers.
3561         s/GdkWindowPrivate/GdkWindowObject/
3562
3563         * gdk/linux-fb/mitypes.h:
3564         Removed unused types.
3565
3566         * modules/linux-fb/basic.c:
3567         Use the pango fribidi wrappers.
3568
3569 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3570
3571         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
3572         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
3573         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
3574         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
3575         GEqualFunc where applicable.
3576         
3577         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
3578         pango_font_description_equal as changed in pango.
3579         
3580         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
3581
3582         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
3583
3584         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
3585
3586         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
3587
3588         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
3589
3590         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
3591
3592         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
3593         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
3594
3595         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
3596         gtk_rc_styles_compare -> gtk_rc_styles_equal.
3597
3598 2000-11-12  Havoc Pennington  <hp@pobox.com>
3599
3600         * demos/gtk-demo/Makefile.am (democodedir): change demo install
3601         dir to datadir/gtk+-2.0/demo
3602
3603         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
3604         sorts of text widget and Pango font bugs. Urgh.
3605
3606         * demos/gtk-demo/Makefile.am (demos): Add textview.c
3607
3608         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
3609         tree that you should double click to see the demo. Fix 
3610         types of variables to reflect changed return values from 
3611         GtkTreeStore and GtkTreeViewColumn constructors.
3612
3613         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
3614         newly-created buffer to prepare for GObject semantics
3615
3616         * gtk/testtext.c: don't leak the buffer with GObject semantics
3617
3618         * gtk/testtextbuffer.c: ditto
3619         
3620 2000-11-12  Havoc Pennington  <hp@pobox.com>
3621
3622         Rename this testgtk to gtk-demo to avoid confusion, and 
3623         install it so people can use it as a supplement to 
3624         the documentation.
3625         
3626         * demos/gtk-demo: Moved from demos/testgtk
3627
3628         * demos/testgtk: Removed
3629
3630         * configure.in: make Makefile in gtk-demo
3631         
3632         * demos/gtk-demo/Makefile.am: Install sample source to 
3633         datadir/gtk-demo (maybe there's a better place?), and 
3634         rename the binary to gtk-demo
3635         
3636         * demos/gtk-demo/main.c (load_file): Load installed sample
3637         source if source isn't found in pwd.
3638
3639 2000-11-09  Havoc Pennington  <hp@pobox.com>
3640
3641         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
3642         argument to set the char displayed when visibility == FALSE
3643         (gtk_entry_create_layout): If !entry->visible, replace 
3644         all chars with the "invisible char"
3645
3646         * gtk/testgtk.c: Test the invisible_char deal
3647         
3648 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
3649
3650         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
3651         can't get a native font in the right encoding.
3652
3653 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
3654
3655         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
3656         respectively.
3657
3658 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
3659
3660         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
3661         Fix warning when moving between paragraphs.
3662
3663         * gtk/gtkentry.[ch]: Change move => move_cursor, 
3664         delete => delete_from_cursor, insert => insert_at_cursor
3665
3666 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
3667
3668         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
3669
3670         * modules/input/imthai-broken.c: A Thai input method for use if
3671         Thai keys are really generating Latin1 keysyms.
3672
3673         * modules/input/Makefile.am: Build these.
3674
3675 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
3676
3677         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
3678         g_filename_{to,from}_utf8 now takes an extra parameter.
3679
3680         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
3681         strftime into UTF-8.
3682
3683         (column_from_x, gtk_calendar_paint_day_names): Support RTL
3684         calendars.
3685
3686         (gtk_calendar_paint_day_names): Draw day names in the right 
3687         place.
3688         
3689 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
3690
3691         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
3692         problem with using result of g_get_charset() backwards -
3693         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
3694
3695         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
3696         negative min_width/height and max_width/height to
3697         mean "requisition"; this allows setting a window
3698         to be user-resizable in only one direction easily.
3699
3700         * gtk/testgtk.c (create_main_window): Remove hard-coded
3701         usize - set a default size in the vertical direction.
3702
3703 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
3704
3705         * gtk/gtkrange.c: Add some missing casts. Support 
3706         2 and 3 button clicks on the arrows to mean 
3707         "move by pages" and "jump to end". (Like gtkspinbutton)
3708
3709 2000-11-12 Hans Breuer <Hans@Breuer.Org>
3710
3711         * gdk/win32/makefile.msc : reflect build module changes
3712
3713         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
3714         from GdkPixmap*, cast implementation member instead.
3715
3716         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
3717         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
3718         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
3719         more Gdi functions return value checking. 
3720         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
3721         GdkImagePrivateWin32 *.
3722
3723         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
3724         menus useable again. Add #pragma message to keep reminded on this issue.
3725         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
3726         windows. This allows to enable backing store on Win32!
3727
3728         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
3729         in drawable is of impl type. Correct specific type checks appropriate.
3730  
3731         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
3732         GDK_WINDOW_DESTROYED before allocating new resources.
3733
3734         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
3735
3736         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
3737         (gdk_window_foreign_new) initialize parent handle.
3738         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
3739
3740         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
3741         Let the GDI invalidate the window on MoveWindow call to fix scrolling
3742         problems (e.g. main buttons in testgtk). 
3743
3744 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
3745
3746         * gtk/gtkentry.c (gtk_entry_key_press): Call 
3747         gtk_widget_activate for GDK_Return.
3748
3749         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
3750         of preedit cursor position.
3751
3752 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
3753
3754         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
3755         static.
3756
3757 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
3758
3759         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
3760         out support for multiple locales; that simple doesn't
3761         work reliably with current Xlib
3762
3763         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
3764         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
3765         Add support for positioning the cursor within the preedit string.
3766
3767 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
3768
3769         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
3770         at XIM input method module.
3771
3772         * gtk/gtktextview.c: Check for bindings after passing
3773         events to im context filter.
3774
3775 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
3776
3777         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
3778         empty attribute lists properly.
3779
3780 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
3781
3782         * gtk/queryimmodules.c (main): Return non-zero exit
3783         status if errors were encountered querying any
3784         modules.
3785
3786         * modules/input/Makefile.am (moduledir): remove
3787         leftover bin program target.
3788
3789         * docs/make-todo: Fix typo in error message.
3790
3791 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
3792
3793         * configure.in: Add modules/input/Makefile
3794
3795 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
3796
3797         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
3798         don't include gtkthemes.h.
3799
3800         * gtk/testgtk.c gtk/testtext.c: Set environment variables
3801         to point
3802
3803         * gtk/Makefile.am: Add new .c and .h files, build 
3804         gtk-query-immodules and use it to create a gtk.immodules
3805         file for use of test programs.
3806
3807         * gtk/gtkpreview.c: remove extra blank line.
3808
3809 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
3810
3811         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
3812         Add the ability to add extra tables beyond the default
3813         one, and also the ability to have compose sequences 
3814         that are prefixes of other compose sequences. 
3815
3816         * gtk/gtkimcontextsimple.c: Export a preedit string which
3817         consists of possible candidates for keystrokes that have
3818         been entered but not yet committed.
3819
3820         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
3821         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
3822
3823         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
3824         Add a function to add input-method switching menu items
3825         to a menu.
3826
3827         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
3828         when switching input methods.
3829
3830         * gtk/gtkimcontextsimple.[ch]: Change the format of
3831         the compose table to allow compose tables of different
3832         lengths / sequence.
3833
3834 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
3835
3836         * gtk/gtkimmodule.[ch]: Support routines for loading
3837         GtkIMContext implementations dynamically at runtime.
3838
3839         * modules/input/imcyrillic-translit.c: A sample input
3840         method (based on GtkIMContextSimple with an extra table),
3841         which demonstrates preedit strings and the module
3842         system for input modules
3843
3844         * gtk/queryimmodules.c: Program to query the available
3845         input modules and write the results into a file.
3846          
3847         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
3848         extra config options "im_module_file" (cache file for
3849         input method modules), and "im_module_path" - path
3850         to look for modules when generating cache file.
3851
3852         This doesn't scale.
3853
3854 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
3855
3856         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
3857         generic code from gtkthemes into a new abstraction
3858         GtkModule which has the logic for implementing
3859         a loadable module which implements a number of 
3860         GObject types.
3861
3862 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
3863
3864         * gtk/gtkeditable.[ch]: Convert GtkEditable from
3865         a class into an interface  
3866         
3867         * gtk/gtkoldeditable.[ch]: Move the old editable
3868         implementation into here, so legacy widgets can
3869         still rely on the implemenation. GtkOldEditable
3870         exports GtkEditable. Make selection handling
3871         code use new text conversion functions (and
3872         handle UTF-8 as a side-effect). Use GtkClipboard
3873         for CLIPBOARD.
3874
3875         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
3876         Adopt to match above changes.
3877
3878         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
3879         avoid GtkOldEditable implementation. Restructure
3880         to reduce number of places that modify state directly.
3881         Move to GtkBindingSet. Display the preedit string.
3882         Queue recomputation of PangoLayout and scroll position
3883         to improve effiency of doing complex changes naively.
3884         Add a menu with cut/copy/paste and input method selection.
3885
3886 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
3887
3888         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
3889         to set preedit string and attributes; display preedit string by
3890         inserting string and attributes at cursor when creating the
3891         GtkTextLineDisplay.
3892
3893         * gtk/gtktextlayout.c: Move all conversions between byte
3894         positions in PangoLayout and GtkTextIter into new functions
3895         line_display_iter_to_index/index_to_iter that properly
3896         handle the preedit string.
3897
3898         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
3899         it to return const char * (eventually will end up
3900         as GCONST char *, most likely.)
3901
3902         * gtk/gtktextview.[ch]: Handle the preedit string, call
3903         gtk_im_context_reset() as necessary, add a menu to switch
3904         input methods.
3905         
3906         * gtk/gtktextlayout.[ch]: Remove useless
3907         gtk_text_layout_get_log_attrs() function.
3908
3909 2000-11-11  Tor Lillqvist  <tml@iki.fi>
3910
3911         * gdk/gdk.def
3912         * gtk/gtk.def: Update.
3913
3914         * gdk/win32/*.c: Add last argument to g_type_register_static()
3915         calls.
3916
3917         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
3918
3919         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
3920         generated by older wheel mouse drivers. Get the correct y
3921         coordinate from WM_MOUSEWHEEL messages.
3922
3923         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
3924         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
3925         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
3926         Debugging functions.
3927
3928         * gdk/win32/gdkprivate-win32.h: Declare them.
3929
3930         * gdk/win32/gdkinput-win32.h: Add declaration for
3931         gdk_input_window_destroy().
3932
3933         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
3934
3935 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
3936
3937         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
3938         function to help handle keeping things in sync.
3939
3940 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
3941
3942         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
3943         BOXED marshallers.
3944
3945         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
3946         (gtk_list_store_class_init): use the new BOXED marshallers.
3947
3948         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
3949         new_with_values to new_with_types.
3950         (gtk_tree_store_get_column_type): add this.
3951         (gtk_tree_store_class_init): use the new BOXED marshallers.
3952
3953         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
3954         mirror some POINTER marshallers.
3955
3956 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
3957
3958         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
3959         allow more interesting iterators.  Also, made the lifecycle of
3960         iterators more explicit.
3961
3962         * gtk/gtktreemodelsort.[ch]: New model for sorting.
3963
3964         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
3965         types.
3966
3967 2000-11-09  Alexander Larsson  <alexl@redhat.com>
3968
3969         * demos/testgtk/menus.c:
3970         Changes to make the new testgtk compile after
3971         gtk_menu_append was removed.
3972
3973         * gdk/linux-fb/gdkdrawable-fb2.c
3974         (gdk_fb_get_depth, gdk_fb_get_visual,
3975         gdk_drawable_impl_fb_class_init): Implement
3976         these drawable functions. Now GtkImages work again.
3977
3978         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
3979
3980         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
3981         
3982         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
3983         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
3984         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
3985         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
3986
3987 2000-11-08  Havoc Pennington  <hp@pobox.com>
3988
3989         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
3990         visible_set args, don't know where these had gone, I thought they
3991         used to be there
3992
3993         * gtk/testtext.c: Add a menu item to apply invisibility tag;
3994         now we can test the feature and see that it's totally broken.
3995
3996 2000-11-08  Havoc Pennington  <hp@pobox.com>
3997
3998         Make DND copy pixbufs and tags when source and target share a 
3999         tag table.
4000         
4001         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
4002         in-process GTK_TEXT_BUFFER_CONTENTS target
4003         (gtk_text_view_drag_data_received): Paste from
4004         GTK_TEXT_BUFFER_CONTENTS if we receive it.
4005
4006 2000-11-08  Alexander Larsson  <alexl@redhat.com>
4007
4008         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
4009         API changes.
4010
4011         * gtk/gtkmenu.c: Add support for scrolling menus.
4012         Remove gtk_menu_append/prepend/insert, these have been moved to
4013         gtkcompat.h as #defines.
4014
4015         * gtk/gtkcompat.h.in:
4016         Add compatibility #defines for gtk_menu_append/prepend/insert
4017
4018         * gtk/gtkmenu.h: Add data needed for scrolling menus.
4019         GtkMenuPositionFunc gets an extra argument push_in.
4020         gtk_menu_append/prepend/insert removed.
4021         
4022         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
4023         positioning behaviour to fit to scrolling menus.
4024
4025         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
4026         into menuitem->submeny. That is wrong, and broke torn
4027         off submenus of torn off menus, since they were unrealized
4028         when the first menu was unrealized.
4029
4030         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
4031         gtk_menu_shell_select_item() since these need to be overridden in
4032         GtkMenu.
4033
4034         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
4035         positioning behaviour to fit to scrolling menus.
4036         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
4037         the current item so that it is prelighted when the menu pops up.
4038         This is a workaround to the fact that the menu doesn't get the
4039         initial enter event (due to grabs).
4040
4041         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
4042         s/gtk_menu_append/gtk_menu_shell_append/
4043
4044         * gtk/gtknotebook.c:
4045         s/gtk_menu_insert/gtk_menu_shell_insert/
4046
4047         * gtk/testgtk.c (create_menu, create_menus):
4048         Create the first menu with 50 items so that menu scrolling
4049         can be tested.
4050         
4051         
4052         Patch from Jonathan Blandford  <jrb@redhat.com>
4053
4054         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
4055         system to handle size requests.  First, we ask what the size of
4056         the toggle is.  Then, when allocating the size, we allocate the
4057         toggle_size first.  This way we can have multiple menu-item
4058         classes w/o needing a seperate class for each.
4059
4060         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
4061         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
4062
4063         * gtk/gtkcheckmenuitem.c
4064         (gtk_check_menu_item_toggle_size_request): New function to handle
4065         the toggle size-request.
4066
4067 2000-11-07  Havoc Pennington  <hp@redhat.com>
4068
4069         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
4070         Half-ass somewhat fix this function, so that scrolling to the
4071         insertion point works. Pango hacking is in the future to really
4072         fix it.
4073
4074         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
4075         length of data, no longer used.
4076
4077         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
4078         method contents in here, get rid of destroy method
4079         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
4080         that were backward. Remove debug spew.
4081         (cut_or_copy): Make the clipboard work with insert_range to
4082         preserve tags and pixbufs, not just the primary selection.
4083
4084 2000-11-07  Havoc Pennington  <hp@redhat.com>
4085
4086         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
4087         to gtk_text_mark_get_visible
4088
4089         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
4090         bug that was generating an invalid iterator
4091
4092         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
4093         ensure_char_offsets() in front of code placing the iter in an
4094         invalid state.
4095
4096         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
4097         make override_location arg const
4098         (paste): Replace the selection if we paste into the 
4099         current selection
4100
4101         * gtk/gtkselection.h: Remove "GtkSelectioData"
4102         (struct _GtkSelectionData): move the definition here.
4103
4104         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
4105         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
4106
4107         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
4108
4109         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
4110         (gtk_text_buffer_insert_range_interactive): implement
4111         (gtk_text_buffer_get_tags): Remove, replaced by
4112         gtk_text_iter_get_tags()
4113
4114         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
4115         limit parameter, to avoid infinite linear scan.
4116         (gtk_text_iter_backward_search): Add search limit
4117         (gtk_text_iter_forward_find_char): Add search limit
4118         (gtk_text_iter_backward_find_char): Add search limit
4119
4120 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
4121
4122         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
4123         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
4124         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
4125         gdk/linux-fb/gdkwindow-fb.c:
4126         use g_object_new() instead of g_type_create_instance() which
4127         is a private function for fundamental type implementations.
4128
4129         * gdk/linux-fb/gdkinput-ps2.c:
4130         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
4131         instead just store the current modifier state. Add a (somewhat broken)
4132         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
4133         Rename exported function gdk_input_ps2_get_mouseinfo to
4134         gdk_input_get_mouseinfo.
4135
4136         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
4137         gdk/linux-fb/gdkwindow-fb.c:
4138         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
4139         
4140
4141 2000-11-02  Havoc Pennington  <hp@redhat.com>
4142
4143         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
4144         use stock buttons. Should be 100% source compatible, appropriate
4145         filesel fields now point to dialog->vbox and dialog->action_area.
4146         On the bizarre side, dialog->action_area and filesel->action_area
4147         are not the same widget.
4148         (gtk_file_selection_init): Put some padding around the selection
4149         entry, so it isn't touching the GtkDialog separator.    
4150
4151         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
4152         use stock buttons, etc. Should also be source compatible.
4153         Set the dialog default title in _init not _new().
4154         
4155         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
4156         Use stock buttons; don't put a button box inside the existing
4157         dialog button box. Don't bother with push/pop colormap anymore.
4158
4159         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
4160         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
4161         for message dialog, and necessary for the font selection and color
4162         selection with help and apply buttons.
4163         
4164         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
4165         to the created button widget. Set GTK_CAN_DEFAULT on the button.
4166         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
4167         between buttons, put less padding around the action area.
4168         (gtk_dialog_run): Exit on unmap rather than on destroy. 
4169         This will also exit the loop if the widget is hidden.
4170         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
4171         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
4172         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
4173         special-case delete event.
4174
4175         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
4176         formatting
4177         
4178 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
4179
4180         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
4181         button to temporarily disable position recording in the
4182         "saved position" test.
4183
4184 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
4185
4186         * gtk/gtkthemes.c: added compat code that temporarily implements
4187         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
4188         going to be revamped by owen's upcoming GtkModule patches, but
4189         untill then people want gtk to build, right? ;)
4190
4191 2000-11-04  Havoc Pennington  <hp@pobox.com>
4192
4193         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
4194         list
4195
4196         * docs/Changes-2.0.txt: Add note about
4197         gtk_container_get_toplevels()
4198
4199         * gtk/gtktextview.h: formatting
4200         
4201         * gtk/gtktextview.c: don't start descriptions with "Returns",
4202         confuses gtk-doc
4203
4204 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
4205
4206         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
4207         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
4208
4209 2000-11-03  Havoc Pennington  <hp@redhat.com>
4210
4211         * gtk/gtktexttagtable.c: Docs
4212         (gtk_text_tag_table_size): return a signed int
4213
4214         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
4215         (gtk_text_tag_event): make the event_object a GObject
4216
4217         * gtk/gtktextview.c: Write API docs for all functions.
4218
4219         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
4220         for gtk_text_view_get_window_type() called on one of the private
4221         windows.
4222
4223         * gtk/gtktextview.c: Instead of accessing text_view->buffer
4224         directly, call get_buffer() which demand-creates a default
4225         buffer. So gtk_text_view_new() can be used to create a view with a
4226         default buffer in it, if you just want an empty text box users can
4227         put data in. Useful for GUI builders also.
4228
4229 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
4230
4231         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
4232         the charset encodign portion MUST be in lowercase.
4233         * gtk/gtkrc.az: added file for Azeri language
4234
4235 2000-11-03  Havoc Pennington  <hp@redhat.com>
4236
4237         Get widgets working on the btree/buffer side. Display of them 
4238         still doesn't work.
4239         
4240         * gtk/gtktextview.c: start implementing child widget stuff
4241
4242         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
4243
4244         * gtk/gtktextlayout.c: handle embedded widgets
4245
4246         * gtk/gtktextdisplay.c: handle embedded widgets
4247
4248         * gtk/gtktextchild.c: Implement all the child anchor goo
4249
4250         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
4251         function
4252
4253         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
4254         (insert_pixbuf_or_widget_segment): abstract out common portions of 
4255         creating a child anchor or a pixbuf segment.
4256         (gtk_text_btree_create_child_anchor): new function
4257         (gtk_text_btree_unregister_child_anchor): new function
4258
4259         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
4260         allocate_child signal on GtkTextLayout
4261
4262         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
4263         values
4264         (gtk_text_iter_get_child_anchor): new function
4265
4266         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
4267         default handler for the changed signal, which calls
4268         gtk_text_buffer_set_modified(), instead of just always emitting
4269         changed then calling set_modified() manually. I guess this is
4270         maybe more flexible. It seems logical.
4271
4272 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
4273
4274         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
4275         now.
4276
4277         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
4278
4279 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
4280
4281         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
4282         been marked static.
4283
4284 2000-11-02  Havoc Pennington  <hp@redhat.com>
4285
4286         * gtk/testgtk.c (create_labels): had a test backward
4287
4288         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
4289         fields, so the dest GC ends up with the correct clip origin, 
4290         etc. Fixes a bug where colored labels didn't redraw 
4291         properly.
4292
4293 2000-11-02  Alexander Larsson  <alexl@redhat.com>
4294
4295         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
4296         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
4297         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
4298         Add last argument to t_type_register_static call.
4299         
4300         * gdk/linux-fb/gdkdrawable-fb2.c:
4301         Add last argument to t_type_register_static call.
4302         export the get_image drawable virtual function.
4303
4304         * gdk/linux-fb/gdkimage-fb.c:
4305         Add last argument to t_type_register_static call.
4306         rename gtk_image_get to _gdk_fb_get_image and
4307         export it for use by gdkdrawable-fb2.
4308
4309         * gdk/linux-fb/gdkprivate-fb.h:
4310         export _gdk_fb_get_image.
4311
4312         * gdk/linux-fb/gdkselection-fb.c:
4313         Add new api call stubs.
4314
4315         * gtk/Makefile.am:
4316         Missing ( in linux-fb part.
4317
4318         * modules/linux-fb/Makefile.am:
4319         Must link with gdk_pixbuf or get unresolved symbol.
4320
4321 2000-11-01  Havoc Pennington  <hp@pobox.com>
4322
4323         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
4324         GTK_TYPE_TEXT_ITER and BOXED marshallers
4325
4326         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
4327
4328         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
4329         
4330         * gtk/gtk-boxed.defs: add GtkTextIter
4331
4332         * gtk/gtkmarshal.list: Add marshallers for text widget that 
4333         properly use OBJECT and BOXED
4334
4335 2000-11-01  Havoc Pennington  <hp@redhat.com>
4336
4337         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
4338
4339         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
4340         before returning it. 
4341         
4342 2000-11-01  Havoc Pennington  <hp@redhat.com>
4343
4344         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
4345         Clip the rectangle to be rendered to the drawable, since
4346         get_from_drawable() requires a region within the drawable
4347
4348 2000-11-01  Havoc Pennington  <hp@redhat.com>
4349
4350         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
4351         from coordinates.
4352
4353 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
4354
4355         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
4356         it isn't NULL.
4357
4358 2000-11-01  Havoc Pennington  <hp@pobox.com>
4359
4360         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
4361         on a label
4362         (gtk_label_finalize): unref the attr list if any.
4363
4364         * gtk/testgtk.c (create_get_image): close test on second click
4365         (make_message_dialog): close dialog if it exists
4366
4367         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
4368
4369         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
4370         gdk-pixbuf
4371
4372         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
4373         from Pango markup format
4374         (gtk_label_set_markup_with_accel): ditto but with accelerator
4375         parsing
4376
4377         * gtk/gtkimage.c (gtk_image_expose): reformatting.
4378
4379         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
4380         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
4381         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
4382         call gdk_window_get_origin().
4383
4384         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
4385         implement GDK_PIXBUF_ALPHA_FULL
4386         
4387 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
4388
4389         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
4390         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
4391         g_signal_handlers_disconnect_matched to block/unblock and disconnect
4392         multiple handlers respectively, instead of only treating the
4393         first handler found (bug reported by owen).
4394
4395 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
4396
4397         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
4398
4399         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
4400
4401         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
4402         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
4403         gtk/gtktreeviewcolumn.h: Fixed inline docs.
4404
4405         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
4406         widget.  Needs writing someday.
4407
4408         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
4409         the docs.
4410
4411 2000-10-30  Havoc Pennington  <hp@redhat.com>
4412
4413         * gtk/gtktextview.h, gtk/gtktextview.c:
4414         Rename delete_at_cursor delete_from_cursor, and 
4415         move to move_cursor.
4416
4417 2000-10-30  Havoc Pennington  <hp@redhat.com>
4418
4419         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
4420         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
4421         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
4422         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
4423         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
4424         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
4425         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
4426         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
4427         gtktexttypes.h, gtktextview.c, gtktextview.h:
4428
4429         Massive reindentation and reformatting. Arg alignment and comments
4430         still need fixing in various places.
4431
4432 2000-10-30  Havoc Pennington  <hp@redhat.com>
4433
4434         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
4435         to be named insert_at_cursor and delete_at_cursor so C++ can
4436         handle them.
4437
4438 2000-10-28  Tor Lillqvist  <tml@iki.fi>
4439
4440         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
4441         to get a double directory separator in case the home directory
4442         ends with one. This would cause trouble especially on Windows,
4443         where the path will be confused with the syntax for an an UNC
4444         (network share) path \\server\share\path.
4445         (gtk_rc_add_initial_default_files): Ditto.
4446
4447 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
4448
4449         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
4450
4451         * gtk/gtktextview.c: Use correct marshallers.
4452
4453 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
4454
4455         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
4456         use new iter stuff, and added all the appropriate signals et al.
4457
4458         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
4459         code is internal to gtk only.
4460
4461 2000-10-28  Tor Lillqvist  <tml@iki.fi>
4462
4463         * gtk/gtk.def
4464         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
4465         glib-genmarshal etc.
4466
4467 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
4468
4469         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
4470         parallel builds.
4471
4472 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
4473
4474         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
4475
4476 2000-10-27  Robert Brady  <robert@suse.co.uk>
4477
4478         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
4479         en_GB (British), ia (Interlingua).
4480
4481 2000-10-26  Havoc Pennington  <hp@redhat.com>
4482
4483         * gtk/gtktextiter.c (my_strrstr): fix constness warning
4484
4485         Fixed output of:
4486         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
4487         
4488         * gtk/gtktextsegment.c (char_segment_new): rename
4489         (_char_segment_new_from_two_strings): rename
4490         (_toggle_segment_new): rename
4491         
4492         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
4493         (make_clipboard_widget): make it static
4494         (text_get_func): static
4495         (text_clear_func): static
4496
4497         * gtk/gtkcolorsel.c (adjustment_changed): make this function
4498         static
4499         (hex_changed): make it static
4500         (hsv_changed): make it static
4501         (opacity_entry_changed): make it static
4502
4503         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
4504         (toggle_segment_check_func): rename with _gtk
4505
4506         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
4507         (_widget_segment_new): rename
4508         (_widget_segment_add): rename
4509         (_widget_segment_remove): rename
4510         (_widget_segment_ref): rename
4511         (_widget_segment_unref): rename
4512
4513         * gtk/gtktextmark.c (_mark_segment_new): Rename
4514         _gtk_mark_segment_new   
4515
4516 2000-10-26  Havoc Pennington  <hp@redhat.com>
4517
4518         * gtk/gtkmarshal.list: add new marshallers used by the text widget
4519         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
4520         types
4521
4522         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
4523         marshaller types
4524
4525         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
4526         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
4527         license on these files.
4528
4529         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
4530         work.
4531
4532         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
4533         runtime random number different for each tree, instead of 
4534         a constant I made up.
4535
4536 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
4537
4538         * gtk/Makefile.am: buncha cleanups, kludged build sources
4539         dependencies with a Makefile: oldest-source-stamp dependancy
4540         for the moment. automake is really fighting us here, with
4541         intentionally not allowing user-defined rules or dependancies
4542         prior to it's -include $(DEP_FILES) statement. sucks rocks!
4543
4544         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
4545         to public headers. tehy have a comment stating that they are
4546         "semi-public" aren't included by gtk.h and if enums popup there,
4547         they can be /*< skip >*/-ed.
4548
4549         * gtk/gtktextlayout.h: 
4550         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
4551         added LGPL... <SIGH>
4552
4553 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
4554
4555         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
4556         GtkTreeIter.  Added iterators everywhere.
4557
4558         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
4559
4560         * gtk/gtktreeviewselection.c: Changed to use the iterators.
4561
4562         * gtk/gtktreestore.c: Changed to use the iterators.
4563
4564         * gtk/gtkliststore.c: Commented out the code.  Will convert to
4565         iterators tomorrow.
4566
4567         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
4568         iterators tomorrow.
4569
4570         * gtk/treestoretest.c: Changed to use iterators.
4571
4572         * demos/testgtk/main.c: Moved to use the new iterator system.
4573
4574 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
4575
4576         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
4577         localization misbehaviour.
4578
4579         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
4580         a useless type without copy/free.
4581
4582         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
4583         of GTK_TYPE_CTREE_NODE.
4584
4585 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
4586
4587         * gtk/gtksignal.c:
4588         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
4589         applicable.
4590
4591         * gtk/gtk-boxed.defs (GtkSelectionData): specify
4592         gtk_selection_data_copy and gtk_selection_data_free
4593         do GtkSelectionData work as params in signals.
4594
4595 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
4596
4597         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
4598         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
4599         couldn't they at least give it a non-standard name?
4600         
4601         * gtk/gtktextlayout.c: arg! yet another implementation of
4602         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
4603
4604         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
4605         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
4606         home. now i know this _is_ a conspiracy.
4607
4608         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
4609         ::state-changed.
4610
4611         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
4612         (gtk_accel_group_create_add): marshaller signature fixups.
4613
4614         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
4615         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
4616
4617         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
4618         anymore.
4619
4620 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
4621
4622         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
4623         due to the signal system changes, it wouldn't build currently. to
4624         be fixed soon.
4625
4626         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
4627
4628         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
4629         so it needs gtk_marshal_VOID__ENUM() instead of
4630         gtk_marshal_NONE__UINT().
4631
4632         * gdk/gdk*.c: adapted type registration functions.
4633
4634         * gtk/gtkbindings.c:
4635         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
4636         gone.
4637
4638         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
4639
4640         * gtk/gtkobject.c:
4641         (gtk_object_destroy):
4642         (gtk_object_shutdown): fixed recursion guards. basically we have to
4643         catch the case where any of GObject.shutdown() or gtk_object_destroy()
4644         is called during ::destroy, and avoid recursion there.
4645
4646         * gtk/gtktypeutils.c:
4647         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
4648         boxed_copy/boxed_free. this needs a more general solution based on a
4649         publically installed code-generator utility.
4650
4651         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
4652         glib's gobject has support for that now.
4653         define GtkSignalMarshaller in terms of GSignalCMarshaller.
4654
4655 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
4656
4657         * gtk/gtksignal.[hc]:
4658         * gtk/gtkmarshal.[hc]:
4659         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
4660         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
4661         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
4662         care of that.
4663
4664         * *.c: marshaller name fixups.
4665
4666         * gtk/gtkmarshal.list: added a comment briefing the format.
4667
4668 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
4669
4670         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
4671         compatibility macros here now. more specifically, most of
4672         the API is preserved (yes, _most_, nonwithstanding the
4673         following exceptions listed, the API is stil lHUGE ;)
4674         things that got removed completely:
4675         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
4676         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
4677         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
4678         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
4679         gtk_signal_remove_emission_hook().
4680         non-functional functions variants:
4681         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
4682         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
4683         not supported anymore.
4684         (gtk_signal_compat_matched): new internal function to aid
4685         implementation of the compatibility macros, it  provides
4686         functionality to block/unblock/disconnect handlers based
4687         on func/data.
4688
4689         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
4690
4691         * *.c: adaptions to new type registration API signatures.
4692
4693 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
4694
4695         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
4696
4697 2000-10-25  Robert Brady  <robert@suse.co.uk>
4698
4699         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
4700         gdk_property_delete): If window == NULL, assume the root window.
4701         (restoring the behaviour that was in 1.2).
4702         
4703         * gtk/testtext.c (save_buffer): Allow creation of new files when
4704         saving.
4705
4706         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
4707         calls to read().
4708
4709 2000-10-25  Tor Lillqvist  <tml@iki.fi>
4710
4711         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
4712
4713         * gdk/win32/gdkdrawable-win32.c
4714         * gdk/win32/gdkimage-win32.c
4715         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
4716         X11 backend.
4717
4718         * gdk/win32/gdkcc-win32.c
4719         * gdk/win32/gdkcolor-win32.c
4720         * gdk/win32/gdkfont-win32.c
4721         * gdk/win32/gdkinput-win32.c
4722         * gdk/win32/gdkmain-win32.c
4723         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
4724
4725 2000-10-24  Havoc Pennington  <hp@redhat.com>
4726
4727         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
4728         it a static function
4729
4730         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
4731         redraw text when a tag is applied to it.
4732
4733         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
4734         (gtk_text_tag_affects_nonsize_appearance): private functions to
4735         see if a tag requires various kinds of redraw/layout to be queued
4736         up.
4737
4738         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
4739
4740         * gtk/testtext.c (fill_example_buffer): Put the cursor 
4741         at the start of the buffer, so search works by default
4742
4743         * gtk/gtktextiter.c (lines_match): init match_start always
4744
4745         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
4746         function, get iter at a line + a byte index
4747
4748         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
4749         to set byte position within a line
4750         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
4751
4752 2000-10-23  Havoc Pennington  <hp@redhat.com>
4753
4754         * gtk/testtext.c: Re-enable the "find" dialog
4755
4756         * gtk/testgtk.c: Add test for gdk_drawable_get_image
4757         
4758         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
4759         the arguments to gdk_draw_drawable were in the wrong order
4760         (gdk_window_paint_init_bg): This function was ignoring the
4761         init_region, instead of clipping to it, so the entire backing
4762         pixmap was cleared on every begin_paint()
4763         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
4764         was in here again, the loop kept using the same GtkWindowPaint
4765         over and over.
4766         (gdk_window_begin_paint_region): Fix a bug where we had two
4767         x_offset instead of x_offset and y_offset
4768
4769         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
4770         before we get the image.
4771         (gdk_draw_drawable): get the composite before we draw the drawable.
4772         (gdk_drawable_real_get_composite_drawable): default
4773         get_composite_drawable implementation that returns the drawable 
4774         itself
4775
4776         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
4777         get_composite_drawable virtual function
4778
4779         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
4780         list-walking bug
4781
4782         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
4783         make this work if the source drawable is a GdkDrawableImplX11
4784         instead of a public drawable type. This is really broken; the
4785         problem is that GdkDrawable needs a virtual method get_xid(), but
4786         of course that doesn't work in practice. Enter RTTI.
4787
4788         Also, improve mismatched depth message.
4789
4790         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
4791         GdkPixmap
4792
4793         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
4794         install _gdk_x11_get_image as our implementation of get_image
4795         
4796         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
4797         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
4798
4799         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
4800         gdk_drawable_get_image
4801
4802         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
4803
4804         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
4805         get_image
4806
4807         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
4808         trailing semicolon after for loop
4809
4810 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
4811
4812         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
4813         where font_desc for widget's context lagged widget's font_desc by
4814         one step.
4815
4816 2000-10-22  Tor Lillqvist  <tml@iki.fi>
4817
4818         * gdk/win32/gdkgc-win32.c
4819         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
4820
4821         * gtk/makefile.mingw.in
4822         * gtk/gtk.def: Updates.
4823
4824         * gtk/testgtk.c: sleep() is called _sleep in MS's C
4825         library.
4826
4827         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
4828
4829         * gtk/makefile.msc: Remove
4830
4831         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
4832
4833         * gtk/Makefile.am: Add it.
4834
4835         * configure.in: Generate it.
4836
4837         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
4838         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
4839         something even if not implemented, to satisfy picky MSVC.
4840
4841         Patches by Hans Breuer:
4842         
4843         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
4844         SetBkMode() and SetTextAlign() before calling
4845         pango_win32_render().
4846
4847         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
4848         Set hcliprgn to NULL after destroying it.
4849         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
4850
4851         * gdk/win32/gdkgeometry-win32.c
4852         (_gdk_windowing_window_queue_antiexpose): More effective
4853         implementation.
4854
4855         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
4856         depth as default, not the visual's.
4857
4858         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
4859         against empty title.
4860
4861         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
4862         IMAGE_PRIVATE_DATA.
4863
4864         * gdk/win32/gdkimage-win32.c: Use it.
4865
4866 2000-10-22  Robert Brady  <robert@suse.co.uk>
4867
4868         * configure.in: Check for bind_textdomain_codeset
4869
4870         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
4871         present, make use of it.
4872
4873         Add a translatable string "default:LTR" which, if translated
4874         to "default:RTL", will cause the default direction to be
4875         Right-to-Left.
4876
4877         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
4878         direction if marked as flippable.
4879
4880         * gtk/gtkhscale.c: Mark widget as flippable.
4881         
4882 2000-10-04  Havoc Pennington  <hp@redhat.com>
4883
4884         * gtk/testgtk.c (create_buttons): create some stock buttons
4885         with the default accel group
4886         (create_image): test some new GtkImage features
4887         (make_message_dialog): test GtkMessageDialog
4888         (create_modal_window): fix someone's bizzarro indentation
4889
4890         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
4891         GTK_WIN_POS_CENTER_ON_PARENT. 
4892         Add "destroy with parent" setting, which means the window goes
4893         away with its transient parent.
4894         (gtk_window_get_default_accel_group): get the default accel group
4895         for the window.
4896         (gtk_window_set_destroy_with_parent): set/unset destroy with
4897         parent flag
4898         (gtk_window_read_rcfiles): invalidate icon set caches
4899         after reloading rcfiles 
4900
4901         * gtk/gtkenums.h (GtkWindowPosition): add
4902         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
4903         on its parent window when the dialog is mapped for the first time.
4904
4905         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
4906         a simple message dialog class
4907         
4908         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
4909         handler to emit response signal, and maybe later it would
4910         honor a hide_on_delete flag - though that isn't there yet.
4911         Set border width on the vbox to 2, so we get some padding.      
4912         Use a button box for the action area.
4913         (gtk_dialog_key_press): synthesize a delete event if Esc
4914         is pressed and the GtkWidget key press handler didn't 
4915         handle the escape key.
4916         (gtk_dialog_new_with_buttons): new function creates a dialog
4917         with some default buttons in it.
4918         (gtk_dialog_add_action_widget): add an activatable widget
4919         as a button in the dialog - you can also add a non-activatable
4920         widget by accessing the action area directly.
4921         (gtk_dialog_add_button): add a simple button - stock ID or 
4922         label - to the action area
4923         (gtk_dialog_response): emit response signal
4924         (gtk_dialog_run): block waiting for the dialog, return 
4925         the response. Override normal delete_event behavior, so that 
4926         delete_event does nothing inside gtk_dialog_run().
4927
4928         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
4929         emitted when an action widget is clicked or the dialog gets
4930         delete_event
4931
4932         * gtk/gtk.h: add gtkmessagedialog.h
4933
4934         * gtk/Makefile.am: add gtkmessagedialog.[hc]
4935
4936 2000-10-18  Havoc Pennington  <hp@redhat.com>
4937
4938         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
4939         where any number of empty lines would get skipped
4940
4941         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
4942         edge.
4943
4944         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
4945         warning about invalid iterators (explain more thoroughly)
4946         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
4947
4948         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
4949         big
4950
4951         * demos/*.c: Add error handling
4952
4953         * gtk/gtktextbuffer.c: don't modify const iterators
4954
4955         * gtk/gdk-pixbuf-loader.c: Add full error handling here
4956
4957         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
4958         on file load
4959
4960         * gtk/gtkiconfactory.c: Update to reflect addition of error
4961         handling to gdk-pixbuf loaders
4962
4963 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
4964
4965         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
4966         move to new modularized testgtk.
4967
4968 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
4969
4970         * gtk/gtktreeview.c: Draw the arrows correctly.
4971
4972         * gtk/gtktreemodel.c: Added user docs.
4973
4974         * gtk/gtk.h: remove gtktreedatalist.h.
4975
4976         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
4977         parent when generating my type.
4978
4979         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
4980         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
4981
4982 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
4983
4984         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
4985         GtkTreeModel from object to interface.
4986
4987 2000-10-16  Havoc Pennington  <hp@redhat.com>
4988
4989         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
4990         compilation
4991
4992 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
4993
4994         * gtk/gtktreeselection.c: Add API documentation to all public
4995         functions.
4996
4997         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
4998         functions.
4999
5000 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
5001
5002         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
5003         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
5004         docs to all public functions.
5005
5006         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
5007         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
5008         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
5009         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
5010         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
5011         issue.
5012
5013 2000-10-14  Robert Brady  <robert@suse.co.uk>
5014
5015         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
5016
5017 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
5018
5019         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
5020         values other then G_TYPE_STRING.
5021         * gtk/gtktreeselection.c: Minor commenting updates.
5022         * gtk/gtktreeview.c: Format updates.
5023
5024 2000-10-09  Tor Lillqvist  <tml@iki.fi>
5025
5026         * README.win32: Update.
5027
5028         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
5029         lines that had been deleted by mistake (?).
5030
5031         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
5032         also the case fg==white and bg==black (but still not randomly
5033         coloured cursors). Thanks to Wolfgang Sourdeau.
5034
5035         * gdk/win32/*.c: Silence gcc -Wall.
5036
5037         * gtk/gtk.def: Add missing entry points.
5038
5039         Fixes by Hans Breuer:
5040
5041         * gdk/makefile.msc
5042         * gdk/win32/makefile.msc: Update.
5043
5044         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
5045         some MSVC thing, presumably), cause breakpoint on failures. Add
5046         GDK_NOR case. Call g_log_set_always_fatal.
5047
5048         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
5049         should be pased by reference.
5050         
5051         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
5052         
5053         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
5054
5055         * gdk/win32/gdkevents-win32.c
5056         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
5057
5058         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
5059         implementation object.
5060
5061         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
5062         not just windows.
5063         
5064         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
5065         Use the wrapper object.
5066         
5067 2000-10-06  Havoc Pennington  <hp@redhat.com>
5068
5069         * Makefile.am (SRC_SUBDIRS): contrib subdir
5070
5071         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
5072         so it can be used in Xlib version
5073
5074         * demos/testpixbuf.c (update_timeout): error checking from 1.0
5075         tree
5076
5077         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
5078         change from 1.0 tree that returns first frame of animation
5079         if the loaded file is an animation.
5080
5081         * contrib: add new directory to hold stuff that comes with GTK+
5082         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
5083         
5084         * configure.in: add contrib/*
5085
5086 2000-10-05  Havoc Pennington  <hp@redhat.com>
5087
5088         * demos/testpixbuf-save.c: add pixbuf save test
5089
5090         * demos/Makefile.am: add testpixbuf-save.c
5091
5092 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
5093
5094         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
5095         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
5096         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
5097         * gtk/gtktreeselection.[ch]: Replaced
5098         "node_selected"/"node_unselected" signal with "selection_changed"
5099         signal.
5100
5101 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
5102
5103         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
5104         tree widget.
5105
5106 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
5107
5108         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
5109         drawing.
5110
5111 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
5112
5113         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
5114         Move list pointer forwards before removing item from
5115         list. (Crash reported by Salmaso Raffaele)
5116
5117         * gdk/gdkwindow.h: Remove spurious trailing ,
5118
5119         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
5120         dependencies on uninstalled libraries, sorry folks.
5121
5122 2000-10-04  Havoc Pennington  <hp@redhat.com>
5123
5124         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
5125         gtk/gtkiconfactory.c: Fix copyrights    
5126
5127         * demos/testpixbuf.c: add inline pixbuf test
5128         
5129 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
5130
5131         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
5132         Add gdk_window_iconify.
5133
5134         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
5135         (gdk_window_set_geometry_hints): Add win_gravity
5136         to geometry structure.
5137
5138         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
5139         Implement _NET_WM_PING.
5140
5141         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
5142         Set _NET_WM_PID on the client leader.
5143
5144         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
5145         Handle UTF-8 better.
5146
5147         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
5148         UTF-8 better, set _NET_WM_NAME as well. Only set
5149         icon name if it hasn't previously been explicitely 
5150         set.
5151
5152 2000-10-03  Havoc Pennington  <hp@redhat.com>
5153
5154         * gtk/testtextbuffer.c: clean up trailing whitespace,
5155         add extensive tests for tag toggle iteration.
5156         
5157         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
5158         distance
5159
5160         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
5161         optimize case where the tag root is on level 1
5162         (gtk_text_line_previous_could_contain_tag): attempt to implement
5163         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
5164         functionality
5165
5166         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
5167         Implement this, though not very efficiently.
5168
5169         * gtk/gtktextiterprivate.h: reformat
5170
5171         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
5172         iterator
5173
5174         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
5175         this to properly revalidate the iterators.
5176
5177         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
5178         properly at the end of the line (and therefore on empty lines)
5179
5180         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
5181         maybe we should return a value...
5182
5183 2000-10-03  Tor Lillqvist  <tml@iki.fi>
5184
5185         * config.h.win32: Guard definition of alloca(). glib.h now handles
5186         that.
5187
5188         * gdk/gdk.def
5189         * gtk/gtk.def: Add new entry points.
5190
5191         Changes just to make GTK+ build without errors on Win32. No hope
5192         of it working in its current state, though...:
5193         
5194         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
5195         some functions from the X11 backend, just to make GTK+ build.
5196
5197         * gdk/makefile.mingw.in
5198         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
5199         number. Add new object files.
5200
5201         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
5202         GetMessageTime to get timestamp (where on X11 uses
5203         gdk_x11_get_server_time()).
5204
5205 2000-10-02  Havoc Pennington  <hp@pobox.com>
5206
5207         * gtk/gtktextview.c: text_window_* weren't static and should have
5208         been.
5209         Start work on child widgets; not yet complete, syncing to 
5210         office computer.
5211
5212         * gtk/gtktextchild.h: change this to contain a public interface,
5213         starting work on child interfaces.
5214         * gtk/gtktextchildprivate.h: move private interfaces here
5215
5216         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
5217
5218         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
5219         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
5220         gtk/gtktextmark.c: copyright notices
5221
5222         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
5223         internal functions      
5224
5225         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
5226         internal function
5227
5228         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
5229         Reformatting    
5230
5231 2000-09-30  Havoc Pennington  <hp@pobox.com>
5232
5233         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
5234         NULL start/end pointers
5235
5236         * gtk/gtktextbuffer.c: Write some docs
5237         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
5238         NULL, so you can just check whether there's a selection.        
5239
5240         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
5241         cleanup_line or segments_changed ourselves, it gets done 
5242         in unlink_segment
5243
5244         * gtk/gtktextmark.h:
5245         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
5246         
5247         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
5248
5249         * gtk/gtktextmark.c: delete some more old Tk cruft
5250
5251         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
5252         mark before removing it, so we can emit MARK_DELETED with a valid
5253         pointer.
5254         (gtk_text_buffer_mark_set): hold ref across signal emission
5255
5256         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
5257         whining about attempts to delete special marks
5258
5259         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
5260         underscore, since it's internal.
5261
5262         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
5263         now implemented in terms of iterators in gtktextiter.h
5264
5265         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
5266         New function, destructively sets contents of buffer. Also 
5267         a convenient way to clear the buffer by setting text to ""
5268
5269         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
5270         multiline string literal
5271
5272         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
5273         text changes.
5274
5275         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
5276         is not dereferenceable
5277         (gtk_text_iter_forward_lines): fix return value
5278
5279 2000-09-29  Havoc Pennington  <hp@redhat.com>
5280
5281         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
5282
5283         * gtk/gtktextview.c: Implement drag thresholding; change functions 
5284         that set border window size to have nicer name
5285         (gtk_text_view_mark_set_handler):  Fix this to have the 
5286         right signature.
5287
5288         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
5289
5290         * gtk/testtext.c: Update with API changes, put line numbers on 
5291         both sides.
5292         
5293         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
5294         with this
5295
5296         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
5297         pixbuf; delete a big block of #if 0 Tk code
5298
5299         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
5300         insert_pixmap with insert_pixbuf
5301
5302 2000-09-29  Martin Baulig  <baulig@suse.de>
5303
5304         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
5305         confusion with the GdkPixbuf of the GNOME 1.x platform.
5306
5307 2000-09-29  Havoc Pennington  <hp@pobox.com>
5308
5309         * gtk/gtktextview.c: Implement the side windows.
5310
5311         * gtk/testtext.c: Implement simple line numbering in the 
5312         left side window; seems to make scrolling sloooow. Oops.
5313         Also, cursor blink is for some reason causing redraws
5314         of the line numbers. Should investigate...
5315
5316 2000-09-28  Havoc Pennington  <hp@redhat.com>
5317
5318         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
5319         scrolling child windows, and draw focus rectangle properly.
5320         
5321         (gtk_text_view_buffer_to_window_coords):
5322         Coordinate transformation to deal with all these freaking windows
5323         and offsets
5324         (gtk_text_view_window_to_buffer_coords): transform the other way
5325
5326         * gtk/testtext.c (create_buffer): Update to match Pango API change
5327
5328         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
5329         anonymous tags
5330         (foreach_unref): don't emit remove signal from finalize, just
5331         set tag's parent to NULL
5332
5333 2000-09-26  Havoc Pennington  <hp@redhat.com>
5334
5335         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
5336         Fix some warnings       
5337
5338 2000-09-26  Havoc Pennington  <hp@redhat.com>
5339
5340         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
5341         headers into the private header list
5342
5343         * Makefile.am (pkgconfig_DATA): install pkg-config files
5344
5345         * configure.in: add pkg-config files
5346
5347         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
5348
5349         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
5350         outstanding icon caches on theme change.
5351
5352         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
5353         important types:
5354
5355         (GtkIconSource): Specification for creating a pixbuf 
5356         appropriate for a direction/state/size triplet from 
5357         a source pixbuf or filename
5358
5359         (GtkIconSet): List of GtkIconSource objects that are used to
5360         create the "same" icon (e.g. an OK button icon), and cache for
5361         rendered icons
5362
5363         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
5364         up the icon set for a given stock ID.  GTK maintains a stack of
5365         GtkIconFactory to search, and applications or libraries can add
5366         additional icon factories on top of the stack
5367         
5368         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
5369         the set of GtkIconSource specified for a given stock ID into 
5370         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
5371         RcStyle, under the specified stock ID.
5372
5373         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
5374         render_icon used to derive a GdkPixbuf from a GtkIconSource.
5375         This allows people to theme how prelight, insensitive, etc. are
5376         done.
5377
5378         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
5379         icon factories for a style, and return the resulting 
5380         icon set if any.
5381
5382         (gtk_style_render_icon): Render an icon using the render_icon 
5383         method in the GtkStyleClass.
5384
5385         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
5386         Use the style for a given widget to look up a stock ID, get the
5387         icon set, and render an icon using the render_icon method 
5388         of the style
5389
5390         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
5391         (contains information about a stock item), the built-in stock item
5392         IDs, and functions to add/lookup stock items.
5393
5394         * gtk/stock-icons/*: Stock icons that come with GTK
5395
5396         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
5397         a button based on a GtkStockItem
5398         (gtk_button_new_accel): Takes a uline string and accel group, and
5399         installs the accelerator.
5400
5401         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
5402         image-display widget.
5403
5404 2000-09-25  Havoc Pennington  <hp@redhat.com>
5405
5406         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
5407
5408         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
5409         Fix a bug when removing node data, we didn't properly 
5410         re-splice the linked list after removing the data.
5411
5412         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
5413         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
5414
5415         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
5416
5417         * gtk/gtktextlayout.c (set_para_values): Set tab array 
5418         for the layout from the GtkTextTag.
5419
5420         * gtk/gtktexttypes.h: delete tab and search cruft, 
5421         remove g_convert() in favor of GLib version
5422
5423         * gtk/gtktexttypes.c: remove tab implementation from here,
5424         move to Pango
5425
5426         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
5427         tab stuff using new PangoTabArray from Pango
5428
5429         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
5430         unused border_width stuff
5431
5432 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
5433
5434         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
5435         glib) and now useless utf_to_latin1() latin1_to_utf()
5436
5437         * gtk/gtktextview.[ch]: Change ::move_insert and
5438         ::delete_text action signals to ::move and ::delete;
5439         create the signals with the right enumeration type,
5440         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
5441         C-v bindings, change Home, End to move to beginning/end
5442         of line, Add C-Home C-End to move to beginning/end
5443         of buffer. Change ::cut_text to ::cut_clipboard, etc;
5444         combine ::scroll_text into ::move; use new GtkSelectionData
5445         functions to simplify DND text handling.
5446         
5447         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
5448         deletion enumerations here, rename enumeration values to 
5449         be consistently plural.
5450
5451         * gtk/gtktextbuffer.c: Use new clipboard interfaces
5452         for cut/copy/paste and primary selection.
5453
5454         * gtk/gtktextbuffer.[ch]: Remove excess time and
5455         'interactive' arguments from cut/copy/paste;
5456         rename cut to cut_clipboard, etc; remove
5457         gtk_text_buffer_get_clipboard_contents().
5458
5459         * gtk/gtktextlayout.[ch]: Add 
5460         gtk_text_layout_move_iter_to_line_end() to move the iter to 
5461         line ends.
5462
5463         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
5464         Functions to set or get a UTF-8 string on the selection
5465         data.
5466
5467         * gtk/gtkclipboard.[ch]: New, simplified selection handling
5468         interfaces.
5469
5470         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
5471         created widgets - one of these is useless if we don't.
5472
5473         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
5474         a public function clear all targets registered for the
5475         widget.
5476
5477         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
5478         Never call gtk_widget_realize() - that was just asking
5479         for bizarre side-effects.
5480
5481         * gtk/gtkselection.c (gtk_selection_owner_set): Call
5482         gdk_selection_owner_set even if the widget is the
5483         same so that we reliably update the timestamp on
5484         the server.
5485
5486         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
5487         gdk_x11_get_server_time() function.
5488         
5489         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
5490         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
5491         Add some tricky filtering on serial numbers for
5492         selection clear events to fix up long-standard
5493         race condition FIXME's in gtkselection.c.
5494
5495         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
5496         routines to convert from utf8 to compound text or
5497         STRING and from a text property to UTF-8.
5498
5499         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
5500         a convenience function gdk_get_current_event_time().
5501
5502         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
5503         and free selection_data->data properly
5504
5505 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
5506
5507         * gtk/gtkthemes.c: Remove some unecessary includes.
5508
5509 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
5510
5511         * gtk/gtktextdisplay.c
5512         * gtk/gtktextlayout.c
5513         * gtk/gtktexttag.c
5514         * gtk/gtktexttag.h
5515         * gtk/testtext.c: Change the overstrike property to strikethrough,
5516         to closer match pango.
5517
5518 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
5519
5520         * gtk/gtktextview.c: Fix up visibility so that focus,
5521         cursor_visible and blink interact properly.  Reenable cursor blink
5522         which had been roughly disabled. Make blink and focus
5523         properly per-view.
5524
5525         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
5526         Add a flag for whether to display insertion cursor and
5527         a function to set the flag.
5528
5529         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
5530         get_line_y() to get_line_yrange(), to be a bit more generally
5531         useful.
5532
5533 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
5534
5535         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
5536           do stop_navigating_submenu, to clear last timeout properly.
5537           Also in gtk_menu_motion_notify move ignore_enter above
5538           the conditional to make it always happen as suggested by Owen
5539
5540 2000-09-07  Tor Lillqvist  <tml@iki.fi>
5541
5542         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
5543
5544         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
5545         w32api headers.
5546
5547         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
5548         declarations.
5549
5550         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
5551         (gdk_win32_get_colormap): A line had been deleted by mistake.
5552
5553         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
5554         (gdk_event_translate): Handle more virtual keycodes to be able to
5555         generate GDK events for Control-comma, Control-period, etc.
5556
5557         * gtk/gtk.def: Add some missing entry points.
5558
5559 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
5560
5561         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
5562         Doc comment fixing. (Mostly non-matching parameter names.)
5563
5564         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
5565         comments a little to avoid looking like a doc comment.
5566
5567         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
5568         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
5569         conversions be changed to GError?)
5570
5571         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
5572         Move private #defines into .c file.
5573
5574         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
5575         order of argument addition, remove duplicates.
5576
5577         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
5578         parent class is FrameClass, not BinClass.
5579
5580         * gtk/gtk.h: Add gtkinvisible, which was missing.
5581         (It's occasionalyl useful for client apps, if seldom.)
5582
5583         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
5584         #define.
5585
5586 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
5587
5588         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
5589         coordinates when creating window, instead of GDK-space
5590         coordinates. (Avoid BadValue on too large windows.)
5591
5592 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5593
5594         * configure.in (use_mmx_asm): Remove conftest* after use along the
5595         lines of AC_TRY_COMPILE.        
5596         
5597         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
5598         of g_dirname, which is deprecated.
5599         (gtk_rc_parse_any): Removed calls to
5600         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
5601
5602         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
5603         Removed calls to g_hash_table_{freeze,thaw}, as they are
5604         deprecated now.
5605
5606         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
5607         instead of g_basename.
5608         
5609 2000-09-04 Elliot Lee <sopwith@redhat.com>
5610         
5611         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
5612         ANSI warning.
5613
5614 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
5615
5616         * gtk/gtkwidget.h:  Add some documenting comments about 
5617           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
5618           just as owen said on irc.
5619
5620         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
5621           set HAS_DEFAULT.  Only set it if there isn't another window
5622           holding it (a focus window which RECEIVES_DEFAULT) and only unset
5623           it if the widget is not the focused window with RECEIVES_DEFAULT.
5624           This fixes weird double default bugs in dialogs which has things
5625           call gtk_window_set_default at times.
5626
5627 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
5628
5629         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
5630         Nils Barth and David Santiago to improve submenu
5631         navigation. The patch does this by creating a triangular
5632         region from the point where the pointer leaves the
5633         menu to the submenu.  While the pointer is in
5634         that region and a timeout has not expired, events 
5635         that would cause the active submenu to change are
5636         ignored.
5637
5638 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
5639
5640         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
5641         moving a toplevel window immediately after sizing it would
5642         result in it being sized back to the old size since 
5643         impl->width, impl->height aren't updated until we hear
5644         back from the server. There is still a (longstanding) bug
5645         here that gdk_window_get_size() will give the wrong size
5646         until we do hear back.
5647
5648 2000-08-31  Havoc Pennington  <hp@redhat.com>
5649
5650         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
5651         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
5652         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
5653         Rename GtkTextStyleValues to GtkTextAttributes
5654
5655 2000-08-31  Havoc Pennington  <hp@pobox.com>
5656
5657         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
5658         for rapid testing whether an iterator is the end iterator
5659         (gtk_text_btree_new): init end line cache
5660         (gtk_text_line_is_last): use fast cached line to 
5661         see if we're the last line.
5662         (get_last_line): use cached line here too, should 
5663         speed up some random unrelated code.
5664         
5665 2000-08-30  Havoc Pennington  <hp@pobox.com>
5666
5667         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
5668         signals.
5669
5670         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
5671         delete_text signals. This allows the signals to be used for
5672         implementing undo.
5673
5674         * gtk/gtktextbuffer.c: Change signal handler signatures; 
5675         provide "interactive" argument when emitting insert_text or
5676         delete_text signal.
5677         
5678 2000-08-30  Havoc Pennington  <hp@pobox.com>
5679
5680         * gtk/gtktextbuffer.c: Docs
5681
5682 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
5683
5684         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
5685         from switch statements, since Tor removed the enumeration
5686         value.
5687         
5688         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
5689         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
5690
5691 2000-08-29 Elliot Lee <sopwith@redhat.com>
5692         * */*.h: Use G_GNUC_CONST.
5693
5694 2000-08-27  Havoc Pennington  <hp@pobox.com>
5695
5696         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
5697         minor indentation fixes, inserted some FIXME about stuff I
5698         realized was broken while documenting it.
5699         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
5700         GTK convention  
5701
5702 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
5703
5704         * gtk/testgtk.c (create_styles): Fix double free of
5705         font desc.
5706
5707 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
5708
5709         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
5710         
5711         * gtk/testgtk.c (create_styles): Add a test for modifying
5712         the style through gtk_widget_modify_*.
5713
5714         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
5715         a function to get the current modifier style.
5716
5717         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
5718         of the passed in GtkRcStyle instead of ref'ing it.
5719
5720         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
5721
5722 2000-08-20  Tor Lillqvist  <tml@iki.fi>
5723
5724         * gdk/gdkimage.h
5725         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
5726         shared memory image+pixmap GdkImage type, or
5727         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
5728         I am dropping that.
5729
5730         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
5731         actually call gtk_init_abi_check(), passing also
5732         sizeof(GtkWindow). Ditto for gtk_init_check(). 
5733
5734         * gtk/gtk.def
5735         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
5736         New functions, used to check that the GTK+-using code has been
5737         compiled using the correct compiler and switches. In particular,
5738         with gcc one has to use the -fnative-struct switch as GTK+ is
5739         compiled with that.
5740
5741 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
5742
5743         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
5744         ->prev fields when merging lists. (Found simultaneously
5745         by Pawel Salek and Jakub Jelinek)
5746
5747 2000-08-12  Tor Lillqvist  <tml@iki.fi>
5748
5749         * gdk/gdk.def
5750         * gtk/gtk.def: Add missing entries.
5751
5752         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
5753         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
5754
5755         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
5756         function. Dummy implementation at this point.
5757
5758         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
5759         rules. Undefine GTK_COMPILATION when compiling the test programs.
5760         
5761         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
5762
5763 2000-08-11  Tor Lillqvist  <tml@iki.fi>
5764
5765         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
5766         to convert back and forth from UTF-8 and the "system" (or "current
5767         locale") charset when necessary. Indentation/spacing cleanup.
5768
5769 2000-08-10  Havoc Pennington  <hp@redhat.com>
5770
5771         * Makefile.am (snapshot): Change the format of the snapshot
5772         version to match glib
5773
5774         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
5775         from EXTRA_DIST since it doesn't seem to exist
5776
5777 2000-08-10  Tor Lillqvist  <tml@iki.fi>
5778
5779         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
5780         version of the directory name (not the UTF-8 one) when building
5781         the path name to stat().
5782
5783 2000-08-03  Elliot Lee  <sopwith@redhat.com>
5784
5785         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
5786         PANGO_ATTR_SHAPE set.
5787
5788 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
5789
5790         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
5791         Peter Osterlund to simplify the code while keeping the
5792         functionality the same.
5793
5794 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
5795
5796         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
5797         is_viewable() test further inside the function, since removing the 
5798         window from the redraw list without clearing ->update_area
5799         was also very broken.
5800
5801 2000-08-02  Tor Lillqvist  <tml@iki.fi>
5802
5803         * configure.in: Check for <unistd.h>.
5804
5805 2000-08-01  Martin Baulig  <baulig@suse.de>
5806
5807         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
5808         to display the message that this is a development version of GTK+.
5809
5810 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
5811
5812         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
5813         was depending on widget->allocation instead of the width of text_area,
5814         which was incorrect for subclasses like GtkSpinButton.
5815
5816         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
5817         with width == 1 tests that should be width == -1.
5818
5819 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
5820
5821         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
5822         (broken, Elliot, every single window blank on X) custom code with call
5823         to gdk_window_is_viewable() which a) prevents code duplicate and
5824         b) works. 
5825
5826 2000-07-31  Elliot Lee  <sopwith@redhat.com>
5827
5828         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
5829         to get the GDK_PARENT_ROOT() macro to work.
5830         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
5831         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
5832         of, windows that aren't shown.
5833         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
5834         pointer grab stuff.
5835
5836 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
5837
5838         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
5839           s/gtk_main_iteration/g_main_iteration/
5840
5841           Did this already in change:
5842                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
5843           don't know how it got reverted.
5844
5845 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
5846
5847         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
5848         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
5849
5850         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
5851         not gdk_pixbuf.
5852
5853 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
5854
5855         * configure.in,po/{sp,sr}.po: Added Serbian files
5856
5857 2000-07-30  Tor Lillqvist  <tml@iki.fi>
5858
5859         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
5860
5861         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
5862         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
5863         GIOChannel implementation.
5864
5865         * gdk/win32/gdkinput.c
5866         * gdk/win32/gdkpango-win32.c: Update license name here, too.
5867
5868         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
5869         definition to match prototype.
5870
5871         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
5872
5873 2000-07-27  Elliot Lee  <sopwith@redhat.com>
5874
5875         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
5876         function, to allow handling image formats that cannot be detected
5877         by looking at content alone.
5878
5879 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
5880
5881         * docs/tutorial/*.gif *.jpg *.eps
5882           Update these to the same look-n-feel.
5883           Why does including images in DocBook suck so badly?
5884
5885 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
5886
5887         * gtk/gtktable.c: applied patch from Phil Thompson
5888         <phil@river-bank.demon.co.uk> that enables space settings for
5889         the last row/columns as well.
5890
5891 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
5892
5893         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
5894         updates the license headers to the GNU Lesser General Public License,
5895         as well as updating the copyright year to 2000.
5896
5897 2000-07-26  Robert Brady  <rwb197@zepler.org>
5898
5899         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
5900           and po/Makefile, was installing and looking for them under gtk20
5901           and gtk2 respectively.
5902
5903 2000-07-25  Havoc Pennington  <hp@redhat.com>
5904
5905         * gtk/testtext.c: Comment out some stuff that depends on the rest
5906         of my patches.
5907
5908 2000-07-25  Havoc Pennington  <hp@redhat.com>
5909
5910         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
5911         buffer
5912
5913 2000-07-25  Havoc Pennington  <hp@redhat.com>
5914
5915         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
5916         widget changes.
5917
5918         * gtk/gtktextview.h: To be consistent with usage of "line"
5919         throughout the API to mean "newline-terminated thingy", change
5920         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
5921         to MOVEMENT_LINE.
5922
5923         (GtkTextView): Add flags for default editability, and whether to
5924         show the cursor. Add functions to get/set that. Add 
5925
5926         (gtk_text_view_get_iter_location): new function
5927
5928         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
5929         gtktextlayout.h
5930         (g_convert): Add g_convert temporarily, will go in glib in a bit
5931         
5932         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
5933         GtkTextTagTableForeach instead of brokenly using GHFunc.
5934         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
5935
5936         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
5937         moved to public header.
5938
5939         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
5940         "invisible", since "elide" was a bad name.
5941         (gtk_text_tag_get_priority): Added
5942
5943         (GtkTextStyleValues): put this in public header, along with
5944         functions to use it.
5945
5946         * gtk/gtktextmarkprivate.h: Include more headers, since we no
5947         longer include gtktextbtree.h.
5948
5949         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
5950         gtk_text_mark_deleted
5951
5952         * gtk/gtktextlayout.h: Don't include the "really private" headers,
5953         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
5954         to make this possible. Now we only need to install
5955         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
5956         (However the Makefile.am isn't changed yet because of the
5957         logistics of merging gtk-hp-patches piecemeal)
5958
5959         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
5960         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
5961         gtk_text_iter_get_line is now used in the public API for a
5962         different purpose.
5963
5964         * gtk/gtktextiter.h: Clean up function names to be more
5965         consistent. Always call char offset "offset" and byte index
5966         "index". A "line" is always a line number. 
5967
5968         (gtk_text_iter_is_last): new function, more efficient than 
5969         the existing way to check
5970         (gtk_text_iter_is_first): new function, also more efficient
5971
5972         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
5973
5974         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
5975         gtk_text_iter_forward_char, etc.
5976
5977         (gtk_text_iter_forward_to_tag_toggle): Renamed from
5978         forward_find_tag_toggle, since this isn't a linear search
5979
5980         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
5981
5982         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
5983         New functions, search for a buffer substring.
5984
5985         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
5986         interactive and default editable (since we need to store that info
5987         until we receive the selection data).
5988
5989         Remove all the _at_char and at_line etc. versions of functions;
5990         only have iterator versions.
5991
5992         Add _interactive() versions of functions, that consider the
5993         editability of text. (FIXME add interactive flag to the 
5994         insert/delete signals per Darin's suggestion)
5995
5996         (gtk_text_buffer_get_tag_table): new function, demand-creates the
5997         tag table if necessary
5998
5999         Remove declaration of gtk_text_buffer_get_iter_from_string
6000
6001         (_gtk_text_buffer_get_btree): private/internal function, added.
6002         
6003
6004         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
6005         (gtk_text_line_is_last): new function
6006
6007 2000-07-25  Havoc Pennington  <hp@redhat.com>
6008
6009         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
6010         using GtkProgressBar. See Changes-2.0.txt for details.
6011
6012         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
6013         "pulse_step" which are the equivalent of
6014         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
6015         Implement new API.
6016         
6017         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
6018         (use_text_format) to mark whether text set on the progress bar is
6019         a format string. Deprecate entire GtkProgress interface.
6020
6021         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
6022         (gtk_progress_build_string): make this a no-op if use_text_format
6023         is FALSE
6024
6025         * docs/Changes-2.0.txt: Describe progress bar changes.
6026
6027 2000-07-25  Tor Lillqvist  <tml@iki.fi>
6028
6029         * Makefile.am: Include the build directory.
6030
6031         * configure.in: Generate build/Makefile, build/win32/Makefile,
6032         gdk/, gdk/win32/, and gtk/makefile.mingw.
6033
6034         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
6035         Add GETTEXT_PACKAGE.
6036         
6037         * gdk/gdk.def
6038         * gtk/gtk.def: Updates.
6039
6040         * gdk/gdkfont.h
6041         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
6042         need them any longer.
6043
6044         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
6045
6046         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
6047         PANGOWIN32_LIBS and gdk_pixbuf.
6048
6049         * gdk/win32: Compiles, but no doubt doesn't work at all.
6050
6051         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
6052
6053         * gdk/win32/gdkinput.c: New file, temporarily.
6054         
6055         * gdk/win32/gdkinput-win32.h: New file
6056
6057         * gdk/win32/gdkinputprivate.h: Remove.
6058
6059         * gdk/win32/gdkpango-win32.c: New file.
6060
6061         * gtk/makefile.mingw.in: New file
6062
6063         * gtk/makefile.cygwin: Removed
6064         
6065         * gtk/Makefile.am: Update accordingly.
6066
6067         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
6068         made externally visible.
6069
6070         * gtk/gtkmain.c: Use it.
6071         
6072         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
6073         is enough.
6074
6075         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
6076
6077 2000-07-24 Elliot Lee <sopwith@redhat.com>
6078         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
6079         individual backends already.
6080         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
6081         again. Yes, there really is a good reason for this, if you are using the gdkregion
6082         internals, and if you're not, why do you care?
6083         * gdk/gdkwindow.c: Fix inverted condition
6084         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
6085         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
6086         * gtk/gtkrange.c: Redraw trough when moving.
6087         * gtk/gtktypeutils.c: Fix warning by adding const cast.
6088         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
6089
6090 2000-07-23  Tor Lillqvist  <tml@iki.fi>
6091
6092         * configure.in: Check for mkstemp and sigsetjmp. Output
6093         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
6094
6095         More work on GDK for Win32. Still in an intermediate state.
6096
6097         * gdk/makefile.cygwin
6098         * gdk/win32/makefile.cygwin: Removed.
6099         
6100         * gdk/makefile.mingw.in
6101         * gdk/win32/makefile.mingw.in: New files.
6102
6103         * gdk/Makefile.am
6104         * gdk/win32/Makefile.am: Generate and distribute them.
6105
6106         * gdk/win32/gdkwindow-win32.h
6107         * gdk/win32/gdkdrawable-win32.h
6108         * gdk/win32/gdkpixmap-win32.h: New files.
6109
6110         * gdk/win32/gdkcolor-win32.c
6111         * gdk/win32/gdkcursor-win32.c
6112         * gdk/win32/gdkdrawable-win32.c
6113         * gdk/win32/gdkgc-win32.c
6114         * gdk/win32/gdkimage-win32.c
6115         * gdk/win32/gdkprivate-win32.h
6116         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
6117         Rename fields and variables called xcursor, xid, etc (these names
6118         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
6119
6120 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
6121
6122         * gtk/gtkentry.[ch]: Fix some problems with vertical
6123         alignment.
6124
6125         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
6126         char/byte confusion.
6127
6128 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
6129
6130         * gtk/gtktextview.c (changed_handler): Fix bug where
6131         redraw wasn't being done properly when height of
6132         dirty region changed.
6133
6134         * demos/Makefile.am: Remove various references to
6135         -lgmodule
6136
6137 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
6138
6139         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
6140         PangoAttrShape to reserve space for pixmaps, add 
6141         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
6142         in the display functions.
6143         
6144         * gtk/testgtk.c (create_layout): Set some more exotic
6145         scrolled window options
6146
6147         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
6148         Add function to set the shadow type of a window, to allow
6149         putting a shadow around widgets such as GtkLayout or GnomeCanvas
6150         which don't draw their own frame.
6151
6152 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
6153
6154         * docs/tutorial/package-db-tutorial.sh: New file for
6155           packaging DocBook format tutorial
6156
6157 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
6158
6159         * docs/tutorial/gtk-tut.sgml: Minor updates
6160
6161         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
6162
6163 2000-07-19  Tor Lillqvist  <tml@iki.fi>
6164
6165         * gtk/gtksignal.c: Fix C++ comment.
6166
6167         * gtk/gtkimmulticontext.c
6168         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
6169         don't return value from void functions.
6170
6171         * gtk/gtk.def: Add gtk_rc_style_unref.
6172
6173 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6174
6175         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
6176         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
6177         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
6178         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
6179         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
6180         gtk/gtktypeutils.h: Include files outside of the extern "C"
6181         block. Makes some C++ compiler happy. Reported by Denis Vakatov
6182         <vakatov@peony.nlm.nih.gov>.
6183
6184 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
6185
6186         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
6187           Completes first pass. Hurrah!
6188
6189 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
6190
6191         * docs/tutorial/gtk-tut.sgml: More clean ups.
6192
6193 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
6194
6195         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
6196         paint the background of the text area which was accidentally
6197         removed at some point.
6198
6199         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
6200           
6201          - Move most of the functionality from the theme vtable
6202            into GtkRcStyleClass and GtkStyleClass. The moved
6203            vtable functions were changed a bit in the move to
6204            work better in their new home.
6205
6206          - Get rid of the engine and engine_data fields from
6207            GtkRcStyle and GtkStyle; instead the theme
6208            engine derives theme-specific subclasses of GtkRcStyle
6209            and GtkStyle
6210
6211          - Add extra dlsym() found entry point to themes,
6212            theme_create_rc_style().
6213
6214         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
6215         in gtk_style_real_copy.
6216
6217         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
6218         to register a type associated with an engine. (The engine
6219         won't be unloaded as there is an instance of the type.)
6220
6221
6222 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
6223
6224         * docs/tutorial/gtk-tut.sgml: Clean ups.
6225
6226 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
6227
6228         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
6229           of cleaning up to do.
6230
6231 2000-07-15  Tor Lillqvist  <tml@iki.fi>
6232
6233         * gdk/testgdk.c: New file, quick hack to test backends for
6234         pixel-by-pixel correctness of the most simple graphic operations.
6235
6236 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
6237
6238         * Really release 1.3.1
6239         
6240         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
6241         include structure.
6242
6243 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
6244
6245         * Released 1.3.1
6246
6247 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
6248
6249         * gtk/gtktextlayout.c: use FALSE for size_only most
6250         of the time when calling gtk_text_layout_get_line_display()
6251         to avoid causing double reshapes when a redraw follows
6252         immediately after.
6253
6254 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
6255
6256         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
6257         appropriate region and gdk_window_process_updates() so trough
6258         updating doesn't lag behind the window being scrolled.
6259
6260         * gdk/gdkgc.c: Make parent_class pointer static.
6261          
6262 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
6263
6264         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
6265         include <string.h>.
6266          
6267         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
6268         cut-and-paste error in computing memory offset for 4 channels.
6269
6270 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
6271
6272         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
6273         gtk_rc_append_default_pixmap_path(), since it wasn't
6274         adding an interesting path and we don't have a meaningful
6275         default for this value.
6276
6277 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
6278
6279         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
6280         gtk-config to gtk-config-2.0 move gtk_.m4 to
6281         gtk-2.0.m4
6282
6283         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
6284         gdk/Makefile.am demos/Makefile.am: Change 
6285         library names to libgtk-1.3.la, etc, so that we
6286         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
6287
6288         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
6289         gdk/Makefile.am gdk/x11/Makfile.am
6290         Move include files into /usr/include/gtk-2.0, 
6291         /usr/lib/gtk-2.0/include/
6292          
6293         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
6294         gtk/gtkintl.h: Change package for gettext from 
6295         gtk+ to gtk20. Put hack in autogen.sh to modify
6296         po/Makefile.in.in after gettextize to make this
6297         possible.
6298
6299         * gtk+.spec: Some updates, not tested.
6300
6301         * gdk-pixbuf/Makefile.am: Move loaders into
6302         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
6303
6304         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
6305         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
6306         to THEMENAME/gtk-2.0/. Move engine directory  to
6307         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
6308         
6309 2000-07-12  Tor Lillqvist  <tml@iki.fi>
6310
6311         Win32 changes, still doesn't build though.
6312
6313         * gdk/makefile.cygwin
6314         * gdk/win32/makefile.cygwin
6315         * gtk/makefile.cygwin: Updates.
6316
6317         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
6318         default values for fg and bg pixel as X11 does (0 and 1), not
6319         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
6320         Use 0 for pen width by default (treated as 1 anyway later, but for
6321         apps that might check the value in the GdkGC).
6322         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
6323         interface to gdk_gc_predraw and _postdraw.
6324
6325         * gdk/win32/gdkwin32.h
6326         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
6327
6328         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
6329         extraneous semicolon.
6330
6331         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
6332
6333         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
6334         not the Win32 bitspixel value.
6335
6336         * gdk/win32/gdkcc-win32.c:
6337         * gdk/win32/gdkcolor-win32.c 
6338         * gdk/win32/gdkprivate-win32.h
6339         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
6340         GDK object structure.
6341
6342 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
6343
6344         * docs/tutorial/gtk_tut_12.es.sgml (name): 
6345         * docs/tutorial/gtk_tut_it.sgml (name): 
6346         * docs/tutorial/gtk_tut_fr.sgml (name): 
6347         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
6348         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
6349
6350 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
6351
6352         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
6353           small changes.
6354
6355 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
6356
6357         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
6358         a bug here, never been here and never fixed anything ;(
6359         (don't segfault if tree->root_tree is NULL, which happens prior
6360         to widget realization, but puke instead).
6361
6362 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
6363
6364         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
6365         add the necessary tokens.
6366
6367         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
6368         (gtk_rc_style_to_style): copy thicknesses.
6369         (gtk_rc_init_style): apply thicknesses.
6370         (gtk_rc_parse_style): parse xthickness and ythickness.
6371
6372         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
6373
6374         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
6375         (gdk_window_new): 
6376         (_gdk_windowing_window_init): 
6377         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
6378         (gdk_pixmap_create_from_data): 
6379         (gdk_bitmap_create_from_data): 
6380         (gdk_pixmap_new): 
6381         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
6382         (gdk_image_new): 
6383         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
6384         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
6385         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
6386         (gdk_colormap_get_system): 
6387         (gdk_colormap_new): 
6388         * gdk/gdkwindow.c (gdk_window_init): 
6389         * gtk/gtkstyle.c (gtk_style_new):
6390         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
6391         * gdk/gdkpixmap.c (gdk_pixmap_init): 
6392         * gtk/gtkrc.c (gtk_rc_style_new):
6393         use g_object_new() instead of g_type_create_instance() which
6394         is a private function for fundamental type implementations.
6395
6396 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
6397
6398         * configure.in: Add check for db2html
6399
6400 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
6401
6402         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
6403         hack to set glib_debug_objects based on gtk_debug_flags.
6404
6405 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
6406
6407         * INSTALL.in: Update the Prerequisites section.
6408
6409         * Makefile.am demos/Makefile.am docs/Makefile.am
6410         docs/tutorial/Makefile.am gdk/x11/Makefile.am
6411         gdk/linux-fb/Makefile.am: Dist fixes
6412
6413 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
6414
6415         * NEWS: 10,000 foot view of 1.3.1 changes.
6416
6417 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
6418
6419         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
6420         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
6421         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
6422         gdk/x11/gdkmain-x11.c: 
6423
6424         Patch from George Lebl to add a GdkGrabStatus enumeration to use
6425         as a return value of gdk_*_grab(). Previously, we just
6426         returned the X11 values directly.
6427
6428 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
6429
6430         * gdk/x11/Makefile.am: Patch from George Lebl to 
6431         install all the headers in the right place.
6432
6433 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
6434
6435         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
6436           initial conversion to DocBook.
6437
6438 2000-07-04  Tor Lillqvist  <tml@iki.fi>
6439
6440         * README.win32: Improve a bit.
6441
6442         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
6443         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
6444         Alt+0nnn on the numpad (used to enter characters by numeric code
6445         from current DOS or ANSI codepage) working correctly, as in other
6446         Windows apps.
6447
6448         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
6449         same argument validity tests as in X11 version.
6450         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
6451
6452         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
6453         definitions in case missing from headers.
6454
6455         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
6456         destroy the window-specific cursor.
6457         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
6458         calling GetModuleHandle(NULL).
6459         (gdk_window_set_cursor): Reworked to always copy the passed cursor
6460         with CopyCursor before setting it as the window-specific
6461         cursor. It is OK for the caller to destroy the GdkCursor (and thus
6462         also its Windows cursor) after calling this function. Destroy any
6463         previous window-specific cursor.
6464
6465 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
6466
6467         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
6468         font charset is iso8859-1, not iso-8859-1.
6469
6470 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
6471
6472         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
6473         Use g_get_charset() instead of g_get_codeset().
6474
6475         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
6476         Comment out some strdup'ing functions to keep timj
6477         happy until we finish fighting this out.
6478
6479 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
6480
6481         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
6482         <= width or height.
6483
6484         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
6485         from 1.2 for parent/child states.
6486
6487         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
6488         of typos.
6489
6490         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
6491         event structures, replace with a generic axes field. Replace 
6492         deviceid/sourec with GdkDevice *device.
6493
6494         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
6495         to extract particular axis use value from event. (Also
6496         can be used for normal X/Y.)
6497
6498         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
6499         allow for arbitrary number of axes, namespace everything
6500         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
6501         everywhere.
6502
6503         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
6504         Get rid of the gdk_input_vtable setup if favor of simply
6505         defining the functions in gdkinput-none/gxi/xfree.c in
6506         a similar fashion to the way that the port structure is 
6507         done.
6508
6509         * gtk/gtkdnd.c: Fix fields of synthesized button press event
6510         for new event structures. 
6511
6512         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
6513         new device interfaces.
6514
6515 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
6516
6517         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
6518         set the initial text.
6519
6520         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
6521         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
6522         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
6523         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
6524
6525         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
6526         pango_layout_set_font_description to simplify.
6527
6528 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
6529
6530         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
6531         pango_layout_set_font_description to simplify.
6532
6533 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
6534
6535         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
6536         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
6537         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
6538
6539         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
6540         PANGO_PIXELS() macro.
6541
6542 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
6543
6544         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
6545         that returns a PangoContext owned by the widget and updated to
6546         match future changes in the widget. Also, make 
6547         gtk_widget_create_pango_layout() use this context. If we ever
6548         add a ::changed signal to PangoContext, this will make things
6549         much more convenient. 
6550
6551         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
6552         in the appropriate places instead of destroying the layouts and
6553         creating new ones.
6554
6555         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
6556         in a few strategic places.
6557
6558 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
6559
6560         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
6561         gtk_widget_size_request() on reparented child, if one. Otherwise,
6562         queue_resize() on the child never results in it getting size-requested
6563         at all.
6564
6565         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
6566         in option menus, so that (with luck) people won't copy it into
6567         their apps in the future.
6568
6569         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
6570         to gtk_option_menu_calc_size. This isn't perfect, but should fix
6571         a lot of problems with changing the size of the menu's menu
6572         items after adding it to the option menu.
6573
6574         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
6575
6576         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
6577         the text direction for a widget changes.
6578
6579         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
6580         ::direction_changed to get rid of various hacks.
6581
6582 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
6583
6584         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
6585         name.
6586
6587 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
6588
6589         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
6590         flag to the structure. Do not call XFreePixmap on pixmaps created
6591         by gdk_pixmap_foreign_new().
6592
6593 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
6594
6595         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
6596         value using GdkRGB functionality given GdkColormap and GdkColor.
6597         (name not final, waiting for inspiration.)
6598         
6599         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
6600         set the foreground/background of a GC using the GC's colormap
6601         and GdkRGB. (name not final, waiting for inspiration.)
6602
6603         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
6604         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
6605
6606         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
6607         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
6608         purely a function of the corresponding colormap. Make
6609         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
6610
6611         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
6612         gdk_pixbuf_*create_from_xpm_* in terms of
6613         gdk_pixbuf_new_from_xpm_data(), move into platform independent
6614         code.
6615
6616         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
6617         advantage of the new draw_rgb_32_image_dithalign.
6618
6619         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
6620
6621         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
6622         on each created GC.
6623
6624         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
6625
6626         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
6627         which we initialize from the drawable when the GC is created,
6628         if the drawable has a colormap.
6629
6630         * gdk/x11/gdkgc-x11.c: include string.h for memset.
6631
6632         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
6633
6634         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
6635
6636 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
6637
6638         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
6639         actually returning expose events, make sure to set
6640         the count field properly.
6641
6642         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
6643         accidentally reintroced bug which always cleared
6644         the graphics_exposures value. 
6645
6646 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
6647
6648         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
6649
6650 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
6651
6652         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
6653
6654 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
6655
6656         * docs/faq/gtk-faq.sgml: Start of Section 6.
6657
6658 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
6659
6660         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
6661         
6662         (Fixes problem with drawing childless frames. Pointed out
6663         by and a first patch from Anders)
6664         
6665         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
6666         compute a child_allocation, even if we don't have a child.
6667
6668         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
6669         Always chain to the parent's impl, even if we don't have a child.
6670
6671 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
6672
6673         * gdk/gdkrgb.c: If possible, create only a single shm segment and
6674         use multiple parts of it instead of creating a bunch of separate
6675         segments, since the maximum number of segments per system is not
6676         large. (This might be worth backporting to GTK+-1.2.x if we make a
6677         new release )
6678
6679         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
6680         structure in preparation for per-colormap GdkRGB.
6681
6682         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
6683         to False when we get EINVAL from shmget so that the caller of
6684         gdk_image_new can retry with a smaller segment size.
6685
6686 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
6687
6688         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
6689
6690 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
6691
6692         * configure.in: make the current version number 1.3.1 (binary age 0,
6693         interface age 0).
6694         
6695         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
6696         gtkcompat.h is all we want.
6697
6698         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
6699         GLib primitive types. fixed g_type_register_fundamental() argument
6700         ordering.
6701
6702         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
6703         compiles.
6704
6705         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
6706         object code cleanup, comment trigraph fixes, etc...
6707
6708 2000-06-23  Havoc Pennington  <hp@redhat.com>
6709
6710         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
6711         instead of making up a bogus name for first_para_mark
6712
6713         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
6714         0 as a context ID
6715
6716 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
6717
6718         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
6719
6720 2000-06-21  Havoc Pennington  <hp@pobox.com>
6721
6722         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
6723         we didn't check window->bg_pixmap != GDK_NO_BG.
6724
6725         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
6726         gdk-pixbuf
6727
6728 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
6729
6730         * docs/faq/gtk-faq.sgm: Move file to here.
6731           TODO: Update Makfile.am 
6732
6733 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
6734
6735         * docs/gtk-faq.sgm: Add Section 2
6736
6737 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
6738
6739         * docs/gtk-faq.sgm: New file. Start of DocBook
6740           version of the FAQ.
6741
6742 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
6743
6744         * configure.in (GDK_PIXBUF_MAJOR): Define version
6745         numbers for GDK_PIXBUF_*, as they get substituted
6746         into a header file. Need to consider versioning
6747         for gdk-pixbuf more carefully later.
6748
6749 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
6750
6751         Work with srcdir != builddir.   
6752         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
6753         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
6754         * demos/testpixbuf.c: Likewise.
6755         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
6756         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
6757         <gdk/x11/gdkx.h>.
6758         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
6759         "gdk-pixbuf.h".
6760         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
6761
6762 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
6763
6764         * TODO.xml: Change 1.4 version numbers to 2.0.
6765
6766 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
6767
6768         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
6769         fixups to GTK+ standard.
6770
6771 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
6772
6773         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
6774         gdk-pixbuf.
6775
6776         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
6777         fixups for GObject.
6778
6779         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
6780         gdk-pixbuf with GDK dependencies moved into GDK.
6781         
6782         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
6783         move gdk-pixbuf-loader here until GObject has signals.
6784
6785         * demos/: New directory of demos. Move demos from
6786         gdk-pixbuf here.
6787
6788         * demos/pixbuf-init.c: Small bit of code to check for
6789         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
6790         set GDK_PIXBUF_MODULEDIR appropriately.
6791
6792         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
6793         define which no longer makes sense.
6794
6795 2000-06-21  Havoc Pennington  <hp@redhat.com>
6796
6797         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
6798         gtk_get_default_language
6799
6800         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
6801         new function to get the default language
6802
6803         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
6804         s/gtk_text_view_style_values/gtk_text_style_values/
6805
6806         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
6807         Add a "language" field to tags.
6808
6809         (gtk_text_tag_set_arg): Fix bug in setting
6810         "bg_full_height_set" tag.
6811
6812 2000-06-21  Havoc Pennington  <hp@redhat.com>
6813
6814         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
6815         in the interfaces
6816
6817         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
6818         stuff instead when possible.
6819
6820         * gtk/gtktexttypes.h: Delete some unused constants
6821
6822         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
6823         testtextbuffer.c: use glib instead of custom unicode routines
6824
6825 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
6826
6827         * docs/es/: Removed mistakenly added generated sgml
6828
6829         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
6830         Remove outdated info files.
6831
6832         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
6833         Moved tutorial files into subdir
6834
6835         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
6836         subdir.
6837
6838         * docs/man/gtk_button.pod: Remove. (contents will be
6839         integrated into gtk-reference button page.)
6840
6841         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
6842         docs/faq/Makefile.am: Adjust for new organization
6843
6844 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
6845
6846         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
6847         not $(MKINSTALLDIRS)
6848
6849 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
6850
6851         * gtk/testgtk.c (create_text): Finish the job Elliot started
6852         of removing font setting test for text widget. (Since text widget
6853         and GdkFont are not deprecated, and cause portability problems.)
6854
6855 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
6856
6857         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
6858         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
6859         Remove use of libunicode in favor of new GLib functions.
6860
6861         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
6862         nano-x, framebuffer. The X11 include is just a hack until we get
6863         the necessary functions in gdkcolor.h, so there is no reason to
6864         add other includes of platforms.
6865
6866         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
6867         window bigger than the screen change.
6868
6869         * gtk/testgtk.c: Revert some random changes from Elliot
6870         that had no particular point and were causing testgtkrc
6871         not to function correctly.
6872         
6873         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
6874         because GdkSegment and GdkRegionBox have the same fields,
6875         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
6876         results in clearer code.
6877
6878         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
6879         gdk_input_translate_coordinates): Fix missed GdkObjectification
6880
6881 2000-06-18  Elliot Lee  <sopwith@redhat.com>
6882
6883         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
6884         * gtk/gtk{plug,socket}.h: Missed commits from previous.
6885
6886 2000-06-20  Havoc Pennington  <hp@redhat.com>
6887
6888         * modules/linux-fb/Makefile.am: Make this compile
6889         without framebuffer enabled
6890
6891         * gdk/linux-fb/Makefile.am: Add conditional to not build
6892         framebuffer unless specified in configure
6893
6894         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
6895         the size of the target instead of source if -1 was passed for
6896         width/height
6897
6898         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
6899         width/height confusion.
6900
6901 2000-06-19  Havoc Pennington  <hp@redhat.com>
6902
6903         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
6904         GDK_DRAWABLE_XID. In the future, we probably want to make it
6905         faster with G_DISABLE_CHECKS turned on.
6906
6907 2000-06-14  Havoc Pennington  <hp@redhat.com>
6908
6909         * gdk/Makefile.am: add gdkpixmap.c
6910
6911         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
6912         s/gdk_image_init/_gdk_windowing_image_init
6913
6914         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
6915         ref/unref
6916
6917         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
6918
6919         * gdk/gdkcompat.h: remove GdkWindowType compat, since
6920         GdkWindowType is now non-deprecated; 
6921         change gdk_window_get_type() compat to be
6922         gdk_window_get_window_type().
6923
6924         * gdk/gdkdnd.h: make GdkDragContext a GObject.
6925
6926         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
6927         virtual GObject. Make all functions call into the vtable.
6928         Move gdk_image_put() guts in here. Remove GdkDrawableType
6929         and gdk_drawable_get_type(), these are now GdkWindow-specific.
6930         draw_image, get_depth, get_size, set_colormap, get_colormap,
6931         get_visual added to the vtable.
6932         
6933         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
6934         GObject. Virtualize everything. 
6935         (gdk_gc_new_with_values): remove check for destroyed window,
6936         because now GdkWindow::create_gc will check this.
6937         (gdk_gc_set_values): New function to set GC values, this 
6938         was already implemented but wasn't in the header
6939
6940         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
6941
6942         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
6943         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
6944         remove _gdk_window_class; add _gdk_window_impl_get_type() and
6945         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
6946         _gdk_windowing_window_init, rename gdk_image_init to
6947         _gdk_windowing_image_init.
6948         
6949         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
6950         (gdk_draw_layout): Remove check for destroyed window, 
6951         because all the drawable methods already check it.
6952         
6953         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
6954         Add gdkpixmap.c which contains implementation of GdkDrawable
6955         virtual table (by chaining to a platform-specific implementation
6956         object).
6957         
6958         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
6959         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
6960         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
6961         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
6962         GdkColormapPrivate. 
6963
6964         * gdk/gdktypes.h: #include <glib-object.h>
6965
6966         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
6967         Move most functionality to platform-specific implementation
6968         object. GdkWindow itself now handles the backing store, then
6969         chains to the platform-specific implementation.
6970         (gdk_window_get_window_type): return GdkWindowType of the window.
6971         (gdk_window_peek_children): New routine, returns the children of 
6972         a GdkWindow
6973         (gdk_window_get_children): Was in X11-specific code and did 
6974         XQueryTree. Changed to simply return a copy of window->children; 
6975         so it can go in cross-platform code.
6976         
6977         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
6978
6979         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
6980         GdkColormap; just changed to use the new private data instead
6981         of casting to GdkColormapPrivate.
6982
6983         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
6984         gdk_cursor_new().
6985
6986         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
6987         (private data member in the GObject). 
6988         (xdnd_manager_source_filter): Function had broken 
6989         error handling, fix it (use gdk_error_trap_push).
6990
6991         * gdk/x11/gdkdrawable-x11.c: This file now implements
6992         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
6993         base class is purely for the convenience of the X port,
6994         and not part of the interface to cross-platform GDK.
6995
6996         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
6997         
6998         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
6999         specific to X, and returned by the create_gc virtual method
7000         of GdkDrawableImplX11. 
7001         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
7002         rather than gchar, this was also changed in the GdkGC vtable.
7003         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
7004         mask is 0, return immediately, instead of checking every flag.
7005         This is faster, and keeps us from segfaulting if values is NULL
7006         and the mask contains some nonzero flags.
7007
7008         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
7009         GdkWindow.
7010
7011         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
7012         GdkWindowPrivate is gone.
7013
7014         * gdk/x11/gdkim-x11.c: rename things that got renamed.
7015
7016         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
7017         remove the image_put stuff that got transferred to GdkDrawable.
7018         
7019         * gdk/x11/gdkinput.c: renamings
7020
7021         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
7022
7023         * gdk/x11/gdkpixmap-x11.c: GObject conversion
7024
7025         * gdk/x11/gdkprivate-x11.h: indentation fixes
7026
7027         * gdk/x11/gdkproperty-x11.c: renamings
7028
7029         * gdk/x11/gdkselection-x11.c: renamings
7030
7031         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
7032         implements the platform-specific "impl" object.
7033         Moved gdk_window_get_children to gdk/gdkwindow.c
7034
7035         * gdk/x11/gdkx.h: Remove all the private structs and private datas
7036         that no longer exist. Add declaration of GdkGCX11 object here.
7037         Fix all the macros to still work. 
7038
7039         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
7040         GdkDragContext from the boxed types since they are now GObjects.
7041
7042         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
7043         moved xthickness/ythickness into the instance. GtkStyleClass
7044         functions are now in the standard vtable for GtkStyle, so you have
7045         to create a GObject subclass to write a theme engine.
7046         (gtk_style_copy): fixed a leaked PangoFontDescription
7047         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
7048         can be the standard GObject function.
7049         
7050         * Throughout GTK:
7051         s/style->klass->[xy]thickness/style->[xy]thickness
7052         s/pango_layout_unref/g_object_unref/
7053
7054         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
7055         
7056         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
7057         accessing GDK internals.
7058
7059         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
7060         accessing GDK internals.
7061
7062 2000-06-18  Elliot Lee  <sopwith@redhat.com>
7063
7064         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
7065
7066         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
7067         problem by calculating event position relative to the trough
7068         rather than the slider.
7069         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
7070
7071         * gdk/gdkgc.h: Add GDK_NOR.
7072
7073         * configure.in, Makefile.am: Add modules top level dir
7074         * configure.in: Only use pangox library if building x11 target.
7075         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
7076
7077 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
7078
7079         * gtk/gtkcolorsel.c: Change private class member to be named
7080         private_data throughout the file.
7081
7082         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
7083         private_data to avoid clashing with keyword.
7084
7085 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
7086
7087         * gdk/gdkdnd.h: Add comment to remove warning.
7088
7089 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
7090
7091         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
7092         Byelorussian language; changed the Makefile and file names 
7093         to reflect that.
7094
7095 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
7096
7097         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
7098         rather than gdk_window_hide; this makes things work
7099         correctly if the window is programmatically hidden while
7100         iconified.
7101
7102 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
7103
7104         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
7105         cut and paste typo where wrong pixmap was being
7106         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
7107
7108 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
7109
7110         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
7111         Add helper function to compute format / bytes 
7112         relationship. Use in a couple places to fix up
7113         errors which assume 8 * format.
7114
7115         * gtk/gtkselection.c (gtk_selection_request): Use 32
7116         rather than 8 * sizeof (GdkAtom), to work correctly
7117         on Alpha.
7118
7119 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
7120
7121         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
7122         libgtk.la
7123         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
7124         versions
7125
7126         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
7127         checking macros return NULL since the function has a return value.
7128
7129 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
7130
7131         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
7132         GTK+ from building at all.
7133
7134         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
7135
7136 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
7137
7138         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
7139         gtk/Makefile.am: make it possible to configure gtk for different
7140         targets on the same platform. The library name is now 
7141         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
7142         flag. Only the x11 target compiles right now.
7143         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
7144         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
7145         * gdk/nanox/gdk*generic*: delete generic region code.
7146         * gdk/linux-fb/gdk*generic*: delete generic region code.
7147         * README.nanox: update information.
7148         
7149 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
7150
7151         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
7152         prepend not append. (Pointed out by Brett Hall.)
7153
7154 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
7155
7156         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
7157
7158 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
7159
7160         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
7161         need this later, and this makes sure that the atexit for
7162         glib gets called after that for GDK, so atexits are
7163         properly ordered for object leak checking.
7164
7165         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
7166
7167         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
7168         pango_x_shutdown_display()
7169
7170         * gtk/simple.c (main): Close window on destroy.
7171
7172 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
7173
7174         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
7175         to treat initial creation different from setting with 
7176         regards to the graphics-exposures parameter, so add a parameter
7177         indicating whether this is initial or not.
7178
7179 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
7180
7181         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
7182         to sort of work by adding an extra return_exposes arg
7183         to gdk_event_translate() - it might be better to simply
7184         deprecate the function altogether and force people to rewrite
7185         without it. gdk_window_scroll() handles most of it, and where
7186         gdk_window_scroll() doesn't work, simply redrawing more does.
7187
7188         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
7189         assertion.
7190
7191         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
7192
7193         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
7194         bunch of pretty much useless /* Print debugging info */ comments 
7195         which had drifted away from the code they were commenting.
7196
7197 2000-06-02  Havoc Pennington  <hp@pobox.com>
7198
7199         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
7200         is in working order.
7201         
7202         * gtk/testtext.c: Change to reflect anonymous mark API
7203
7204         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
7205
7206         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
7207         field, which was unused.
7208
7209         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
7210         saves some typing.
7211
7212         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
7213
7214         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
7215         flag on the insertion point and selection bound
7216
7217         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
7218         make mark-manipulation functions take a GtkTextMark* instead of a
7219         mark name.
7220         
7221         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
7222         GtkTextMarkBody; will be used to detect attempts to delete
7223         the permanent marks (insert and selection bound)
7224
7225         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
7226
7227 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
7228
7229         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
7230         flag to on.
7231
7232         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
7233         Honor DOUBLE_BUFFRED_FLAG
7234
7235         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
7236         function to set the DOUBLE_BUFFERED flag.
7237
7238         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
7239         or not exposes done on the widget should be double-buffered.
7240
7241         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
7242         to be what would be expected. (Fixes problem with a
7243         g_return_if_fail() validating a TextDirection enumeration)
7244
7245 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
7246
7247         * gtk/gtkwidget.c: Remove all references to 
7248         offscreen flag which was no longer used.
7249
7250         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
7251
7252         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
7253         for non-null label_widget->parent.
7254
7255         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
7256         which no longer was used.
7257
7258         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
7259
7260         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
7261         for null arguments.
7262
7263         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
7264         check for destroyed windows.
7265
7266 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
7267
7268         * gtk/gtkimmulticontext.c: Add a finalize method and unref
7269         the slave context there.
7270
7271         * gtk/gtkinvisible.[ch]: Make reference counting behavior
7272         identical to GtkWindow.
7273
7274 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
7275
7276         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
7277         pangox to here, so we can write them independent of rendering
7278         system, using GDK primitives.
7279
7280         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
7281         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
7282         since we have a rendering-system independent implementation in
7283         terms of draw_glyphs().
7284         
7285         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
7286         function to render a single line.
7287
7288         * gdk/x11/gdkpango.c: Move the guts of this file mostly
7289         into ../gdkpango.c, which simplifies things, since we
7290         don't have to deal with raw X gc's.
7291
7292 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
7293
7294         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
7295         get the logical attributes for a given GtkTextLine.
7296
7297 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
7298
7299         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
7300         g_locale_get_codeset() to g_get_codeset() change.
7301
7302 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
7303
7304         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
7305         descriptions.
7306
7307         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
7308         the entry.
7309
7310         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
7311         redoing (vastly simplifying) for Pango. Still needs quite
7312         a bit of work. (Size selection is currently poor. List of 
7313         predefined sizes is not a good idea, since all of these
7314         sizes won't necessarily be distinct.)
7315
7316 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
7317
7318         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
7319         CODESET results for LANG=C.
7320
7321 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
7322
7323         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
7324         which takes a stringized pango font description;
7325         ignore the older 'font' and 'fontset' declarations.
7326
7327         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
7328         field with a GdkFont derived via gdk_font_from_description(),
7329         for compatibility. (Should we just remove it entirely?
7330         Probably too much compatibility breakage, but people
7331         should be migrating to the new Pango stuff as quickly
7332         as possible.)
7333
7334 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
7335
7336         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
7337
7338 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
7339
7340         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
7341         redoing; there are some bugs in size allocation right
7342         now, the semi-existant distinction between header / day
7343         fonts was removed, but, with Pango, could actually
7344         be made functional in a nice way.
7345         
7346         * gtk/testcalender: Move calender from examples into this
7347         directory as a test program. (We really need to restrcture
7348         testgtk into a whole directory full of tests for every
7349         widget or functionality group, separated into multiple .c
7350         files.)
7351
7352 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
7353
7354         * gtk/testgtk.c (file_exists): Fix stupid typo that
7355         was keeping RC file from being loaded.
7356
7357         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
7358         RC file font code.
7359
7360 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
7361
7362         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
7363         Add function to load a GdkFont from a PangoFontDescription.
7364
7365 2000-05-29  Tor Lillqvist  <tml@iki.fi>
7366
7367         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
7368         variable should be of type GdkEventPrivate.
7369
7370 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
7371
7372         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
7373         to have any widget for the label, use a GtkLabel widget
7374         to display the text. (Based partially on a patch from
7375         Anders Carlson.)
7376
7377         (Quite a bit of code reorganization - strip 90% of the
7378         guts out of gtkaspectframe and add a single virtual
7379         func to GtkFrameClass - compute_child_allocation.)
7380
7381 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
7382
7383         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
7384         (Removed clist->row_center_offset field because caching
7385         it wasn't saving time or code, added private function
7386         _gtk_clist_create_cell_layout()).
7387
7388 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
7389
7390         * gtk/gtkaccellabel.c: Pangoized.
7391
7392         * gtk/[hv]ruler.c: Pangoized
7393
7394 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
7395
7396         * gtk/gtkfilesel.c (gtk_file_selection_init):
7397         Use gtk_clist_set_column_auto_resize() to remove need
7398         need for manual column width computations.
7399
7400 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
7401
7402         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
7403         ensuring Pango correctness, and considerably simplifying the
7404         code.
7405         
7406         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
7407
7408         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
7409         getting of numbers of lines.
7410
7411         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
7412         to the actual requested width of the lable, not to the wrap
7413         width we set.
7414
7415         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
7416
7417         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
7418           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
7419
7420         * gtk/gtktextview.c: Fix structure inheritance.
7421
7422         * gtk/gtkprogressbar.c: Pangoize.
7423
7424 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
7425
7426         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
7427         in a function.
7428
7429         * gtk/gtktextlayout.c (find_display_line_above): Fixed
7430         bug with computing line tops.
7431
7432         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
7433
7434 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
7435
7436         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
7437         and y_offset coordinates to do what we need now. (The offset between
7438         buffer and layout coordinates has been reintroduced, but is a 
7439         bit different than before.)
7440
7441         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
7442         handle the adjustments ourselves, and scroll as necessary using
7443         the new gdk_window_scroll().
7444         
7445         The advantage of this is that when we are incrementally revalidating,
7446         we are essentially rearranging things around the visible portion
7447         of the screen. With the old setup, the visible portion of the
7448         screen was moved around in the layout, so scrolling and redrawing
7449         to track that caused jumping of the display. Since we now
7450         control the scrolling ourselves, we can suppress this and
7451         only redraw when things actually change.
7452
7453 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
7454
7455         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
7456         the region not just redisplay it after-all, since we store the
7457         cursors in the LineDisplay. (Ugly interactions here between
7458         GtkLayout and GtkTextBTree here.)
7459         
7460         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
7461
7462 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
7463
7464         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
7465         Added function to scroll contents of a window while keeping the
7466         window constant. Works by XCopyArea or guffaw-scrolling depending
7467         on the details of how the window is set up. (guffaw-scrolling
7468         still needs to be filled in.)
7469
7470 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
7471
7472         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
7473         move the debugging that was tied to a global variable
7474         to that.
7475
7476         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
7477
7478         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
7479         validated flag, in line data instead of setting height/width to
7480         -1. This allows us to perform operations with partially invalid
7481         buffer (using the old size for invalid lines) and thus to do
7482         incremental vaidation. Keep height/width aggregates up to date
7483         when deleting text and rebalancing the tree.
7484
7485         * gtk/gtktextbtree.[ch]: Add functions validate a line
7486         (gtk_text_btree_validate_line), and to validate up
7487         to a number of pixels (gtk_text_btree_validate).
7488
7489         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
7490         that indicates that something is changed and a revalidation
7491         pass is needed. Change ::need_repaint to ::changed, and
7492         make it take old and new yranges instead of a rectangle.
7493
7494         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
7495         the line_data_destroy() function from 
7496         gtk_text_btree_add_view() to a virtual function in 
7497         GtkTextLayout
7498
7499         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
7500         since we are handling partial repaints in a different fashion
7501         now.
7502
7503         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
7504         of the selection instead of queueing a repaint on the
7505         entire widget.
7506
7507         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
7508         get_selection_bounds() down to btree, make the function
7509         in buffer a wrapper around the btree function.
7510
7511         * gtk/gtktextlayout.[ch]: Add functions to check if the
7512         layout is valid and to recompute either a range of pixels
7513         aroudn a line or a certain total number of pixels.
7514
7515         * gtk/gtktextlayout.[ch]: Cache a single line display;
7516         now that we only redraw the needed portions, the hit rate
7517         for this cache is quite high.
7518         
7519         * gtk/gtktextview.[ch]: Keep track of the first paragraph
7520         on the screen so that when re-laying-out the buffer, we can
7521         keep the same place. This requires connecting to ::value_changed
7522         on the adjustments
7523
7524         * gtk/gtktextview.[ch]: Add idle functions to revalidate
7525         the buffer after we receive an ::invalidated signal.
7526         
7527 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
7528
7529         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
7530         to max of allocation and layout size, not just to the
7531         layout size.
7532
7533         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
7534         Invalidate window so it gets redrawn properly.
7535
7536         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
7537         to mean the entire window.
7538
7539         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
7540         into public header.
7541
7542 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
7543
7544         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
7545         to get the name of a mark.
7546
7547         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
7548         to find the paragraph from a y position.
7549
7550 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
7551
7552         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
7553         nodes have width/height >= 0, not > 0.
7554
7555 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
7556
7557         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
7558         Add a size_only flag, so when we only need the size, we don't create
7559         useless appearance attributes.
7560
7561         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
7562         duplicate setting of font description.
7563
7564         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
7565
7566 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
7567
7568         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
7569         EXTRA_DIST. It does not work well when the file that
7570         everything depends on is not in the tarball.
7571
7572 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
7573
7574         * gtk/testgtk.c: Some hacks and fixes so that it basically
7575         works when not sitting in the GTK+ build tree.
7576
7577 2000-05-03  Havoc Pennington  <hp@redhat.com>
7578
7579         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
7580         Properly determine the ordering of the tag root and the current
7581         line within the tree. Previous algorithm only worked if the tag
7582         root's immediate parent was the common root of both the current
7583         line and the tag root.
7584
7585 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
7586
7587         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
7588         alignment.
7589
7590         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
7591         the widget text directional dynamically.
7592
7593         * gtk/gtktextview.[ch]: Added functions to get and set default
7594         wrap mode.
7595
7596 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
7597
7598         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
7599         in cursor location computation.
7600
7601 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
7602
7603         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
7604         vadjusment values properly when layout gets smaller.
7605
7606         * gtk/gtktextview.c (need_repaint_handler): Areas being
7607         passed in are far completely inaccurate, and sometimes
7608         too small, so, for now, just queue a redraw on the
7609         whole visible region.
7610
7611 2000-04-25  Havoc Pennington  <hp@redhat.com>
7612
7613         * gtk/gtktextbtree.c (summary_destroy): new function to 
7614         destroy tag summary nodes
7615         (gtk_text_line_next_could_contain_tag): this function was 
7616         totally broken if the line passed in wasn't below the tag
7617         root. Fix it.
7618         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
7619         "wildcard" case, we have to do a linear scan. Blah.
7620         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
7621         we have to do the linear scan
7622         (tag_removed_cb): When a tag is removed from the tag table, 
7623         remove the GtkTextTagInfo node from the btree.
7624         (gtk_text_btree_spew): Implement the spew function, for 
7625         our debugging pleasure.
7626
7627 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
7628
7629         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
7630         a problem with referring to the wrong buffer.
7631
7632         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
7633
7634         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
7635         font description to gtk_style_new() - otherwise things
7636         don't work without a .gtkrc file.
7637
7638         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
7639         tags table if we create it ourself, too.
7640
7641         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
7642         it was conflicting with XKB modifiers.
7643
7644         * gtk/gtktextview.[ch]: Add simple support for 
7645         GtkIMContext.
7646
7647 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
7648
7649         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
7650         with deletion from last commit.
7651
7652 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
7653
7654         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
7655         in the context from the current locale.
7656         
7657         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
7658         context, not hardcoded value.
7659
7660         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
7661         not logical.
7662
7663 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
7664
7665         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
7666         attributes - that doesn't handle partial-glyph selection
7667         properly. Instead use new pango_layout_line_get_x_ranges()
7668         functionality to draw the selection.
7669
7670         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
7671         now properly handles out-of-range coordinates.
7672
7673         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
7674
7675         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
7676         public.
7677
7678         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
7679         for paragraphs opposite to the base direction of the widget.
7680
7681         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
7682
7683         * gtk/gtktextlayout.c: Don't split segments on marks, since that
7684         causes Arabic words to reshape as you cursor through.
7685
7686         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
7687         cursor position when moving vertically with the arrow keys and
7688         scrolling with page-up/page-down. (Arrow keys save only the X,
7689         scrolling saves both X and Y.)
7690
7691         This means you can line-up / line-down or page-up / page-down
7692         without losing your place, and also that moving vertically
7693         with the cursor keys keeps the same X position, not the same
7694         character count:
7695
7696         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
7697         arrow keys move by display lines, not paragraphs.
7698
7699 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
7700
7701         * gtk/gtklayout.c: Make sure that the bin window is at least
7702         as big as the allocation. (Should we also make sure that the
7703         bin window is big enough to completely cover widget->window?)
7704
7705         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
7706         function to get the onscreen rectangle.
7707
7708         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
7709         for offsets in window coordinates.
7710
7711 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
7712
7713         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
7714         confusion.
7715
7716         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
7717         from the widget direction.
7718
7719         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
7720         Add a "direction" attribute.
7721
7722         * gtk/gtktextview.c: global s/tkxt/text_view/.
7723
7724         * gtk/testtext.c: Added long block of text in Arabic, to test out
7725         the direction attributes. (Some problems with the shaping system
7726         for arabic become obvious - like the fact the cursor splits words
7727         into unjoined pieces.)
7728
7729 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
7730
7731         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
7732
7733         * gtk/gtktextlayout.c: Fix up alignment.
7734
7735         * gtk/testtext.c: Add some tests for centering, wrapping.
7736
7737 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
7738
7739         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
7740         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
7741         If we wrote GTK+-specific layout-render function this could just replace
7742         the draw_layout() operation in the vtable.
7743
7744         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
7745         pango_layout_get_cursor_pos() and use that function.
7746
7747         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
7748         is a non-static symbol.
7749
7750         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
7751         with gtk_text_btree_find_line_by_y()
7752
7753         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
7754         renderer that handles GtkTextAppearance attributes.
7755
7756         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
7757
7758           - Move the values in the style that don't affect geometry into a
7759             GtkTextAppearance structure.
7760           - Change underline to take a PangoUnderline and "font" a string
7761             representation of a font description
7762           - Add a "font_desc" attribute which takes a FontDescription structure.
7763
7764         * gtk/gtktextlayout.[ch]:
7765
7766           - Get rid of the display-line list per each line. Instead, we
7767             generate, on demand, a GtkTextLineDisplay structure which]
7768             contains a PangoLayout * and other necesary information
7769             (offsets, cursor locations) for displaying a paragraph.
7770           - Get rid of the code to wrap lines, create display chunks,
7771             etc. Instead, we just go through a paragraph and convert
7772             it into the necessary inputs to a PangoLayout.
7773           - Implement a new attribute type, GtkTextAttrAppearance. This
7774             holds a GtkTextAppearance, and is used to pass colors, 
7775             stipple, etc, through from the layout to the display without
7776             having to use lots and lots of individual attributes.
7777           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
7778             in terms of PangoLayout functions.
7779         
7780         * gtk/gtktextview.c: 
7781          
7782           - Handle passing the necessary PangoContext to the layout
7783           - Some fixups in painting to deal with the automatic backing store
7784             and offsetting of GTK+-1.4
7785           - Add a style_set handler so that the default style reacts
7786             properly to theme changes.
7787         
7788         * gtk/gtktext?*.[ch]: Random code-style fixes.
7789
7790         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
7791
7792 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
7793
7794         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
7795         in original form preparatory to Pango-ization and gdkimcontext-ization.
7796
7797 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
7798
7799         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
7800         so that we can derive from gtkimcontext in language bindings properly.
7801
7802 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
7803
7804         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
7805         Add a compose table including (almost) all the compose combinations
7806         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
7807         data in the XIM implementation.
7808
7809         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
7810         Moved functions to convert keyvalues from and to unicode here from
7811         the win32 port and made them public.
7812
7813 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
7814
7815         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
7816
7817 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
7818
7819         * gtk/gtkimcontext.[ch]: Base class for new input context system
7820
7821         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
7822         the real input context implementation to be loaded from modules
7823         and switched on the fly.
7824
7825         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
7826         context that just does direct keysymbol => unicode translation.
7827
7828         * gtk/gtkentry.[ch]: Start switching editing over to using
7829         GtkInputContext. (No handling of preedit yet.)
7830
7831 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
7832
7833         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
7834         many substitutions. (klass should not be subsituted.)
7835
7836 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
7837
7838         * configure.in: Add checks for Pango
7839
7840         * configure.in docs/Makefile.am: Add test for sgml2html
7841         and allow 'make dist' without building html, but print out
7842         warnings in that case. (For making snapshots)
7843
7844         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
7845         Add Pango libraries and C flags
7846
7847         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
7848         Add function (gdk_draw_layout) to draw a pango layout.
7849
7850         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
7851         for getting Pango contexts for GDK.
7852
7853         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
7854
7855         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
7856         editing.
7857
7858         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
7859         keysym => unicode translations. More languages can be added
7860         here, but real input-method support is needed.
7861
7862         * docs/Changes-1.4.txt: Added note about entry behavior.
7863         
7864         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
7865         to set the reading direction for a widget and the global direction.
7866         Add test which allows toggling the global direction. Two private
7867         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
7868
7869         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
7870           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
7871
7872         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
7873
7874         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
7875         underlining now handled by Pango.
7876
7877         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
7878         to RCStyle and Style. (Having both this and the old font name and GdkFont 
7879         is temporary.)
7880
7881         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
7882         convenience functions for creating contexts and layouts for widgets.
7883
7884         * gtk/testgtk.c: Enhance label tests with multilingual labels.
7885
7886 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
7887
7888         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
7889         titles to be active, even if they aren't visible.
7890         (gtk_clist_column_titles_passive):  Ditto.
7891
7892 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
7893
7894         * gtkmenu.c:
7895         * gtkmenu.h:
7896         * gtktypeutils.h: Spelling/grammar fixes in comments.
7897
7898 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
7899
7900         * gdk/nanox/*.h: add missing header files.
7901
7902 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
7903
7904         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
7905         send_event to TRUE.
7906         (gtk_drawing_area_size): queue a resize.
7907
7908 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
7909
7910         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
7911         the handlers, also invalidate them. bug nailed down by Karl Nelson
7912         <kenelson@ece.ucdavis.edu>.
7913
7914 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
7915
7916         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
7917         "(nil)" foundries, patch from Grigorios Magklis.
7918
7919         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
7920         on non-available fonts, based on a patch by Grigorios Magklis
7921         <maglis@cs.rochester.edu>.
7922
7923 2000-05-18  Elliot Lee  <sopwith@redhat.com>
7924
7925         * gdk/x11/gdkregion-generic.c: If a region does not have any
7926         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
7927         instead of GDK_OVERLAP_RECTANGLE_IN.
7928
7929 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
7930
7931         * gtk/gtklayout.c (gtk_layout_map): Remove references to
7932         OFFSCREEN, as it is no longer necessary.
7933
7934 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
7935
7936         * gtk/gtkcolorsel.c: Patch from David Santiago
7937         <mrcooger@cyberverse.com> to change things so that the 
7938         indicator of the active palette entry is done independently,
7939         not via the focus, since it should always be visible.
7940
7941 2000-05-17  Tor Lillqvist  <tml@iki.fi>
7942
7943         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
7944         refcount leaks as in the X11 backend.
7945
7946         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
7947         cosmetics.
7948
7949         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
7950         backend. Add _gdk_windowing_window_destroy().
7951
7952         * gtk/gtkcolorsel.c: Include correct backend-specific header.
7953         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
7954         either, but these probably do exist on nanox?)
7955         
7956         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
7957         which isn't necessarily defined by <math.h>.
7958
7959         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
7960         ancestry past GtkObject.
7961
7962         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
7963         from DLL on Win32.
7964
7965         * gtk/gtk.def: Update corresponding to recent changes.
7966
7967         * gtk/makefile.{cygwin,msc}: Updates.
7968
7969 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
7970
7971         * docs/Changes-1.4.txt: A bit of editing.
7972
7973         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
7974         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
7975         to clear the update area for the window, and clear it
7976         when hiding a window.
7977
7978         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
7979         if window destroyed.
7980
7981         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
7982
7983         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
7984         gdk_window_destroy() to the generic code, since there was a lot of 
7985         window-system-independent logic it in. Add a function:
7986         
7987          _gdk_window_destroy() 
7988
7989         to the internal API to destroy a window without unreferencing it.
7990         Add a function:
7991
7992          _gdk_windowing_window_destroy()
7993
7994         That does the windowing-system-dependent part of destroying 
7995         the window.
7996
7997 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
7998
7999         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
8000
8001 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
8002
8003         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
8004         Make gtk_widget_shape_combine_mask() keep a reference count on
8005         the pixmap since it keeps it around.
8006
8007 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
8008
8009         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
8010         leak.
8011
8012         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
8013         leak with event filters.
8014
8015 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
8016
8017         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
8018         signal handlers with the right data arguments. (Fixes
8019         some warnings when a widget was repeatedly set as a drag
8020         destination.)
8021
8022         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
8023         window so we can avoid avoid setting the DND properties on the
8024         toplevel window repeatedly.
8025
8026 2000-05-13  Tor Lillqvist  <tml@iki.fi>
8027
8028         * gdk/win32/gdkwin32.h: Define more message types missing from
8029         mingw headers.
8030
8031         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
8032         call gdk_window_destroy_notify(). It was never called. This
8033         probably meant that the GdkWindow was never freed. Thanks Owen for
8034         noticing (!).
8035
8036         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
8037         window as destroyed before calling DestroyWindow(). DestroyWindow()
8038         causes a call to the window procedure (gdk_WindowProc), which
8039         calls gdk_event_translate(), which calls
8040         gdk_window_destroy_notify(), which gets confused unless the window
8041         is set as destroyed.
8042
8043         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
8044         this function to indicate it's win32 only. Put inside #ifdef
8045         G_ENABLE_DEBUG.
8046
8047         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
8048         debugging function. (gdk_event_translate:) Add a default branch
8049         that uses the above function to print debug messages with all
8050         Windows messages symbolically.
8051
8052         * gdk/win32/gdkprivate-win32.h: Declare it, and
8053         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
8054
8055 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
8056
8057         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
8058         public header file.
8059
8060 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
8061
8062         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
8063
8064         * gtk/gtktext.c: made the adjustments no-construct args, simply
8065         provide default adjustments.
8066         (gtk_text_destroy): release adjustments.
8067
8068         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
8069         adjustment argument non-construct.
8070
8071         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
8072         instead of in finalize.
8073         (gtk_progress_get_text_from_value): 
8074         (gtk_progress_get_current_text): 
8075         (gtk_progress_set_value): 
8076         (gtk_progress_get_percentage_from_value): 
8077         (gtk_progress_get_current_percentage): 
8078         (gtk_progress_set_percentage): 
8079         (gtk_progress_configure): ensure an adjustment is present.
8080
8081 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
8082
8083         * gtk/gtkcolorsel.[hc]:
8084         * gtk/gtkcolorseldialog.[hc]:
8085         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
8086         their parent implementation, use bit fields for boolean values, don't
8087         create unused widgets, usage of glib types, braces go on their own
8088         lines, function argument alignment, #include directives etc. etc. etc..
8089
8090         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
8091
8092 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
8093
8094         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
8095
8096         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
8097         of NULL.
8098
8099         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
8100         to freed data.
8101         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
8102
8103         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
8104         to NULL when the toplevel is getting destroyed.
8105         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
8106         (gtk_menu_destroy): 
8107         (gtk_menu_init): store the information of whether we have to
8108         readd the initial child ref_count during destruction in a new
8109         GtkMenu field needs_destruction_ref_count.
8110
8111         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
8112         here, those reading: learn from my mistake! ;)
8113         in order for set_?adjustment to support a default adjustemnt if
8114         invoked with an adjustment pointer of NULL, the code read (pseudo):
8115         if (v->adjustment) unref (v->adjustment);
8116         if (!adjustment) adjustment = adjustment_new ();
8117         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
8118         now imagine the first unref to actually free the old adjustment and
8119         adjustment_new() creating a new adjustment from the very same memory
8120         portion. here, the latter comparision will unintendedly fail, and
8121         all hell breaks loose.
8122         (gtk_viewport_set_hadjustment):
8123         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
8124         after unreferencing it.
8125
8126         * gtk/gtkcontainer.[hc]: removed toplevel registration
8127         functions: gtk_container_register_toplevel(),
8128         gtk_container_unregister_toplevel() and
8129         gtk_container_get_toplevels() which had wrong semantics
8130         anyways: it didn't reference and copy the list.
8131
8132         * gtk/gtkwindow.c: we take over the container toplevel registration
8133         bussiness now. windows are registered across multiple destructions,
8134         untill they are finalized. the initial implicit reference count
8135         users are holding on windows is removed with the first destruction
8136         though.
8137         (gtk_window_init): ref & sink and set has_user_ref_count, got
8138         rid of gtk_container_register_toplevel() call. add window to
8139         toplevel_list.
8140         (gtk_window_destroy): unref the window if has_user_ref_count
8141         is still set, got rid of call to
8142         gtk_container_unregister_toplevel().
8143         (gtk_window_finalize): remove window from toplevel list.
8144         (gtk_window_list_toplevels): new function to return a newly
8145         created list with referenced toplevels.
8146         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
8147
8148         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
8149         adjustment a non-construct arg.
8150         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
8151         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
8152         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
8153
8154         * gtk/gtkrange.c: added some realized checks.
8155         (gtk_range_destroy): get rid of the h/v adjustments in the
8156         destroy handler instead of finalize. remove timer.
8157         (gtk_range_get_adjustment): demand create adjustment.
8158
8159         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
8160         we simply create them on demand now and get rid of them in
8161         the destroy handler.
8162         (gtk_viewport_destroy): get rid of the h/v adjustments in the
8163         destroy handler instead of finalize.
8164         (gtk_viewport_get_hadjustment): 
8165         (gtk_viewport_get_vadjustment): 
8166         (gtk_viewport_size_allocate): demand create h/v adjustment
8167         if required.
8168
8169         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
8170         gtk_widget_real_destroy () functionality.
8171         (gtk_widget_real_destroy): reinitialize with a new style, instead
8172         of setting widget->style to NULL.
8173
8174 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
8175
8176         * gtk/gtkcalendar.c:
8177         * gtk/gtkbutton.c: ported _get_type() implementation over to
8178         GType, either to preserve memchunks allocation facilities,
8179         or because Gtk+ 1.0 GtkTypeInfo was still being used.
8180
8181         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
8182         over. prepare for ::destroy to be emitted multiple times.
8183         removed reference tracer magic. chain into GObjectClass.shutdown()
8184         to emit ::destroy signal.
8185
8186         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
8187         fundamental.
8188
8189         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
8190         cludge.
8191
8192         * gtk/gtksocket.c:
8193         * gtk/gtkplug.c:
8194         * gtk/gtklayout.c:
8195         * gtk/gtklabel.c:
8196         * gtk/gtkargcollector.c:
8197         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
8198         not being a fundamental anymore, and to work with the new
8199         type system (nuked fundamental type varargs clutter).
8200
8201         * gtk/*.c: install finalize handlers in the GObjectClass
8202         part of the class structure.
8203         changed direct GTK_OBJECT()->klass accesses to
8204         GTK_*_GET_CLASS().
8205         changed direct object_class->type accesses to GTK_CLASS_TYPE().
8206
8207         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
8208         GType. made most of the GTK_*() type macros and Gtk* typedefs
8209         simple wrappers around macros and types provided by GType.
8210         most notably, a significant portion of the old API vanished:
8211         GTK_TYPE_MAKE(),
8212         GTK_TYPE_SEQNO(),
8213         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
8214         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
8215         GTK_TYPE_ARGS,
8216         GTK_TYPE_CALLBACK,
8217         GTK_TYPE_C_CALLBACK,
8218         GTK_TYPE_FOREIGN,
8219         GtkTypeQuery,
8220         gtk_type_query(),
8221         gtk_type_set_varargs_type(),
8222         gtk_type_get_varargs_type(),
8223         gtk_type_check_object_cast(),
8224         gtk_type_check_class_cast(),
8225         gtk_type_describe_tree(),
8226         gtk_type_describe_heritage(),
8227         gtk_type_free(),
8228         gtk_type_children_types(),
8229         gtk_type_set_chunk_alloc(),
8230         gtk_type_register_enum(),
8231         gtk_type_register_flags(),
8232         gtk_type_parent_class().
8233         replacements, where available are described in ../docs/Changes-1.4.txt.
8234         implemented compatibility functions for the remaining API.
8235
8236         * configure.in: depend on glib 1.3.1, use gobject module.
8237
8238 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
8239
8240         * TODO.xml: Various updates to current status.
8241
8242 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
8243
8244         * gtk.m4: Print out version when test succeeds.
8245
8246 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
8247
8248         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
8249         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
8250         
8251         (Original triangle color selector from Simon Budig
8252         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
8253         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
8254         Santiago <mrcooger@cyberverse.com>)
8255
8256         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
8257         out into a separate widget.
8258
8259         * gtk/testgtk.c: Add some checkbuttons for toggling palette
8260         and opacity controls.
8261
8262 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
8263
8264         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
8265         snuck in prematurely.
8266
8267 2000-05-07  Tor Lillqvist  <tml@iki.fi>
8268
8269         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
8270         had deleted a ! operator by mistake, which caused
8271         GDK_SELECTION_CLEAR events never to be generated, which caused
8272         only the first copy to the clipboard from an gtkeditable to
8273         actually cause a copy to the Windows clipboard.
8274
8275 2000-05-06  Tor Lillqvist  <tml@iki.fi>
8276
8277         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
8278         compilation, too. Current mingw gcc distributions include the
8279         necessary headers. Also the necessary IIDs are now in mingw
8280         headers/libraries, and own definitions unnecessary.
8281
8282         More hacking on OLE2 DND, still doesn't work though, and thus
8283         ifdeffed out.
8284
8285         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
8286         here, too.
8287
8288 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
8289
8290         * gdk/nanox/*: nano-X port work in progress.
8291         * gdk/simple.c: simple test for Gdk.
8292         * README.nanox: notes about the port: read this first!
8293         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
8294         with nano-X.
8295
8296 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
8297
8298         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
8299         gdk_window_clear() into common code, implement in terms of
8300         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
8301         not redirected to the backing rectangle.
8302
8303 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
8304
8305         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
8306         EXTRA_DIST. It does not work well when the file that
8307         everything depends on is not in the tarball.
8308
8309 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
8310
8311         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
8312         with recursion where process_updates() is called from
8313         an expose handler. (GtkTextView is highly broken in
8314         doing this, but it should work, so it is a nice test
8315         case.)
8316
8317 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8318
8319         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
8320         handle the case where updates are queued during processing of
8321         updates.
8322
8323 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
8324
8325         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
8326         window is on gdk_display - use that instead of segfaulting.
8327
8328 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
8329
8330         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
8331         broken and require an empty arg, give it to them.
8332
8333 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
8334
8335         * gtk/gtklabel.h: indentation fixes.
8336
8337 2000-05-02  Tor Lillqvist  <tml@iki.fi>
8338
8339         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
8340         draw too narrow or too low arcs, they seem to fail, at least with
8341         some display drivers.
8342
8343         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
8344
8345         Large changes to the Win32 backend, partially made necessary by
8346         the changes to the backend-independent internal
8347         structures. Attempts to implement similar backing store stuff as
8348         on X11. The current (CVS) version of the Win32 backend is *not* as
8349         stable as it was before the no-flicker branch was merged. A
8350         zipfile with that version is available from
8351         http://www.gimp.org/win32/. That should be use by "production"
8352         code until this CVS version is usable. (But note, the Win32
8353         backend has never been claimed to be "production quality".)
8354
8355         * README.win32: Add the above comment about versions.
8356
8357         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
8358
8359         * gdk/gdk.def: Update.
8360
8361         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
8362         presumably be replaced by some more better mechanism as 1.4 gets
8363         closer to release shape.
8364
8365         * gdk/makefile.{cygwin,msc}: Update.
8366
8367         * gdk/win32/*.c: Correct inclusions of the backend-specific and
8368         internal headers. Change code according to changes in these. Use
8369         gdk_drawable_*, not gdk_window_* where necessary.
8370
8371         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
8372         our old DND.
8373
8374         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
8375         to interpret single characters as UTF-8. Thanks to Hans Breuer.
8376         Use correct function name in warning messages.
8377
8378         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
8379         GSourceFuncs gdk_event_prepare and gdk_event_check.
8380         (gdk_event_get_graphics_expose): Do implement, use
8381         PeekMessage. Thanks to Hans Breuer.
8382         (event_mask_string): Debugging function to print an GdkEventMask.
8383         (gdk_pointer_grab): Use it.
8384
8385         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
8386         (old) book I used claimed was Hangul actually is CJK Unified
8387         Ideographs Extension A. Also, Hangul Syllables were missing.
8388         Improve logging.
8389
8390         * gdk/win32/gdkgc-win32.c: Largish changes.
8391
8392         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
8393         g_win32_getlocale() from GLib, and not setlocale() to get current
8394         locale name.
8395
8396         * gdk/win32/gdkprivate-win32.h
8397         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
8398         gdkwin32.h, similarily as in the X11 backend.
8399
8400         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
8401         assignment was used instead of equals in if test. Thanks to Hans
8402         Breuer.
8403
8404         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
8405         the X11 version.
8406
8407         * gdk/win32/makefile.{cygwin,msc}
8408         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
8409         path to the Win32 headers that works also with the mingw compiler.
8410
8411         * gtk/gtkstyle.c: Include <string.h>.
8412
8413 2000-04-26  Havoc Pennington  <hp@redhat.com>
8414
8415         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
8416         replacing the broken gtk_label_get ()
8417
8418 2000-04-15  Havoc Pennington  <hp@pobox.com>
8419
8420         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
8421         this keeps scanner scripts from getting confused.
8422
8423         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
8424         data, rather than void
8425
8426 2000-04-15  Tor Lillqvist  <tml@iki.fi>
8427
8428         * gtk/gtkclist.c (gtk_clist_motion)
8429         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
8430         with is_hint FALSE, get x and y from the event. They used to be
8431         used uninitialised. The Win32 backend never sends motion events
8432         marked as hints. This for instance fixes the annoying file and
8433         font selector behaviour in the Win32 version.
8434
8435 2000-04-14  Tor Lillqvist  <tml@iki.fi>
8436
8437         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
8438         gtk_private_n_signals variables, they are used by some software,
8439         sigh.
8440
8441         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
8442         installation directory from the Registry, where the installer
8443         should have put it.
8444
8445 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
8446
8447         * gdk/x11/Makefile.am: Fix problem with installation directory for
8448         gdkx.h
8449
8450         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
8451         <mrcooger@cyberverse.com> so that when selecting menus with the
8452         mouse, the first item will not be selected, but when selecting
8453         with an accelerator, or navigating left-right on a menubar with
8454         the menus popped up, the first item will be selected.
8455
8456 2000-04-05  Dan Damian  <dand@dnttm.ro>
8457
8458         * configure.in: Added "ro" to ALL_LINGUAS.
8459
8460 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
8461
8462         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
8463         indentation.
8464
8465         * Makefile.am (EXTRA_DIST): Fix typo.
8466
8467         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
8468         to catch gdkconfig.h
8469
8470         * gtk/gtkitemfactory.c: Added FIXME.
8471
8472 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
8473
8474         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
8475         s/return_if_fail/return_val_if_fail/g and add a return value.
8476
8477 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
8478
8479         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
8480         merge slipup.
8481
8482         * gdk/gdkinput.h: Fix missing line from merge.
8483
8484 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
8485
8486         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
8487         instead of gdkprivate.h.
8488
8489 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
8490
8491         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
8492         parent class to correctly be GtkDialogClass.
8493
8494 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
8495
8496         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
8497         toplevel windows and their immediate children by their parents,
8498         since the size of toplevel windows is out of our immediate
8499         control and we don't get any real benefit from trying to track
8500         this size for clipping.
8501
8502         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
8503         for input_only windows.
8504
8505         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
8506         to fix some hacks and make sure that we don't try to set the
8507         background of input only windows.
8508
8509 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
8510
8511         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
8512         the _really_ internal stuff, and leave gdkprivate.h for the fake private
8513         stuff that we've traditionally exposed.
8514
8515         * gdk/**.c: Use gdkinternals.h where appropriate.
8516
8517         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
8518         not include gdkprivate-x11.h, move all stuff of conceivable public
8519         interest into gdkx.h; keep all really private stuff in
8520         uninstalled header gdkprivate-x11.h.
8521
8522         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
8523         image->image_put on windows through a new function _gdk_window_draw_image()
8524         to allow us to do backing store for images. (Sort of ugly)
8525
8526         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
8527         contexts locally so that we can offset them properly when drawing 
8528         onto backing pixmaps.
8529
8530         * gdk/gdkinput.h: Reindented
8531
8532         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
8533         pixmap or color for the window, so we can properly initialize
8534         our double-buffer pixmaps, and also so that we temporarily set
8535         a background of None while scrolling.
8536
8537         * gdk/gdkregion.h: Revise region boolean operators to have an
8538         interface that is actually convenient - switch from creating new
8539         regions on every op, to "methods" that modify existing regions
8540         (A = A OP B). 3 argument forms which allow dest == src, would also
8541         be possible, but the current interfaces seem to map nicely
8542         onto what needs to be done. (There is quite a lot of region
8543         code in GDK now.)
8544
8545         * gdk/gdkregion.h: Add constructor from rectangle and a copy
8546         operator.
8547
8548         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
8549         gdkpoly-generic.h: Copy region code from Xlib, switch it over
8550         to 32 bit coordinates, modify it to be mostly GTK+ style
8551         and to have interfaces that match gdkregion.h.
8552
8553         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
8554         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
8555         create a backing pixmap and redirect all drawing to
8556         that backing pixmap until a matching gdk_window_end_paint().
8557
8558         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
8559         Create a special drawable class for GtkWindow's that 
8560         redirects the drawing to the backing pixmap as necessary
8561         and then calls the real operations in _gdk_windowing_window_class.
8562
8563         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
8564         Store invalid region for each window. Generate expose events for invalid
8565         region in an idle. This replaces both the expose compression
8566         and the redrawing queuing in GTK+. It is both more efficient and
8567         simpler than either one individually and far more so then the
8568         combination.
8569
8570         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
8571         Emulate 32 bit coordinates for windows with 16 bit coordinates
8572         by offsetting drawing, guffaw scrolling techniques and
8573         mapping/unmapping child windows as necessary.
8574
8575         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
8576         where, when invalid regions are processed, the region is stored,
8577         and if expose events come in that are detectably duplicate
8578         the processed exposes (by comparison of event serial numbers),
8579         the stored region is subtracted out of those exposes.
8580
8581         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
8582         regions newly exposed when scrolling or resizing windows.
8583         This, combined with forcing processesing of queued invalidated
8584         regions, gives nice flicker-free scrolling.
8585
8586         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
8587         invalidated regions after every scroll.
8588
8589         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
8590         emulation in GDK. Its, for all practical purposes just a
8591         GtkViewport/GtkFixed hybrid now.
8592
8593         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
8594         (16-bit) structures as necessary instead of just casting.
8595
8596         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
8597         in terms of the structures from gdkregion-generic.c, using appropriate
8598         offsets from GDK to X11 coordinates. Cache clip mask and
8599         origin and ts origin locally and only flush to the server
8600         when drawing, to avoid constantly setting and resetting these
8601         values when offsetting GC's for scrolling and backing pixmaps.
8602
8603         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
8604
8605         * gtk/gtkcontainer.c: Call process_all_updates at end
8606         of resizing to reduce flicker. (Avoids having redraw
8607         lag arbitrarily behind resize under some circumstances)
8608
8609         * gtk/gtkentry.c: Remove old backing store code, and simply take
8610         advantage of the new backing store capabilities of GDK.
8611
8612         * gtk/gtkmain.c: Simple implementation of widget backing
8613         store - simply push a paint while handling each expose.
8614         (Should really be configurable widget for widget.)
8615         
8616         * gtk/gtkwidget.c: Remove all the old complicated redraw
8617         code, and simply invalidate the GDK windows from
8618         gdk_window_queue_clear(), etc. (Sigh, so much carefully
8619         debugged complexity ... gone to the winds.)
8620
8621         Remove all the code for suppressing expose events while
8622         resizes are pending; this isn't needed since the invalid
8623         areas won't be processed until after the resizes are
8624         processed, since they are in a lower priority idle.
8625
8626 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
8627
8628         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
8629         and height of dest rectangle for non-intersecting rectangles.
8630
8631 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
8632
8633         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
8634         for GdkRectangle.
8635
8636 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
8637
8638         * gdk/gdk{events,image,private,types,window}.h
8639          gdk/x11/gdkinputprivate.h: Change all coordinates
8640          from int16 to int. Also, Change width and height from
8641          unsigned to signed to avoid all the stupid C 
8642          signedness bugs.
8643
8644 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
8645
8646         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
8647         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
8648         Add some more detailed checking.
8649
8650         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
8651         New function to retrieve the depth of a drawable.
8652
8653         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
8654         field, reorder fields to save memory. 
8655
8656 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
8657
8658         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
8659         of the background image instead of scaling the background down to
8660         a line.
8661
8662         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
8663         which temporarily set slider to wrong size.
8664
8665         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
8666         queue_clear().
8667
8668 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
8669
8670 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
8671
8672         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
8673
8674 2000-03-17  Tor Lillqvist  <tml@iki.fi>
8675
8676         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
8677         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
8678
8679         * gdk/win32/gdkfont-win32.c
8680         * gdk/win32/gdkproperty-win32.c
8681         * gdk/win32/gdkselection-win32.c
8682         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
8683         now declared such.
8684
8685 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
8686
8687         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
8688
8689 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
8690
8691         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
8692         is called without trapping X errors.
8693
8694 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
8695
8696         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
8697         way into the fontset lists.
8698
8699 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
8700
8701         * gtk/gtkthemes.h: add extern "C" scope.
8702
8703 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
8704
8705         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
8706         to make appends to the list constant. (gtk-guy-990901-0.patch)
8707
8708 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
8709
8710         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
8711         for the typename hash table.
8712
8713 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
8714
8715         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
8716         to make sure we never divide by zero. 
8717         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
8718
8719 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
8720
8721         * gtk/gtkfontsel.c: Apply patch from
8722         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
8723         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
8724
8725         Also, some cleanups in atom handling.
8726
8727 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
8728
8729         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
8730         not GtkWidget.
8731
8732 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
8733
8734         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
8735         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
8736         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
8737         more guint wrap-around bugs before going to bed.
8738
8739 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
8740
8741         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
8742         guint wrap arounds in allocation.width.
8743
8744         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
8745         process untill we fit the allocation given.
8746
8747 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
8748
8749         * gtk/gtkwidget.c:
8750         (gtk_widget_unrealize): guard widget access with ref/unref
8751         around signal emission.
8752         (gtk_widget_hide): same here, but also check its destroyed
8753         state before queueing a resize.
8754
8755 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
8756
8757         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
8758         of gtk_default_insensitive_bg as insensitive base color.
8759
8760         * gtk/gtktext.c (gtk_text_style_set): set the background color according
8761         to the widget's state.
8762         (gtk_text_realize): same here.
8763         (gtk_text_state_changed): same here.
8764         (draw_bg_rect): compare background color against base[] from
8765         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
8766
8767 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
8768
8769         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
8770         grabs are active, unless a delete event is send to the toplevel
8771         of the currently grab holding widget.
8772
8773 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
8774
8775         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
8776         debugging g_print's.
8777
8778 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
8779
8780         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
8781         ever make the scrolled-window requisition ever depend on the 
8782         visibility state of the scrollbars for the AUTOMATIC policy. 
8783         This breaks the GTK+ requisition model, and causes loops.
8784
8785 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
8786
8787         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
8788         the default font to avoid problems with XFree86-4.0 where the
8789         default charset is iso10646-1, not iso8859-1.
8790
8791 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
8792
8793         * acinclude.m4
8794         * config.guess
8795         * config.sub
8796         * ltconfig
8797         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
8798
8799         * gtk/Makefile.am: minor cosmetic consistency tweak
8800
8801 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
8802
8803         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
8804         the activate_time to 0, so that we handle a quick
8805         press/release press/release properly and don't suppress
8806         the second release. (Red Hat bug #7545)
8807
8808 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
8809
8810         * gtk/gtkctree.c (row_delete):
8811         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
8812         bugs with destruction notifier, *always* update internal
8813         structures *before* calling user code.
8814
8815 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
8816
8817         A few more fixes for bug #5487, #2051, #2677.
8818         * gtk/gtkclist.c : 
8819         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
8820         not GDK_BUTTON_PRESS.
8821         (resync_selection): resync only if selection_mode is
8822         GTK_SELECTION_EXTENDED
8823         * gtk/gtkctree.c (resync_selection): same here
8824
8825 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
8826
8827         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
8828         gdk_drag_get_selection() and gtk_menu_detach().
8829
8830         [ From Jeroen Ruigrok/Asmodai ]
8831
8832 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
8833
8834         * gtk/gtknotebook.c (gtk_notebook_size_request): 
8835         page->tab_label can be NULL.
8836
8837 2000-01-25  Havoc Pennington  <hp@pobox.com>
8838         
8839         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
8840         arg is boolean
8841
8842         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
8843
8844         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
8845
8846         * gdk/gdkproperty.c (gdk_property_get): return boolean
8847
8848         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
8849
8850         * gdk/gdkim.c (gdk_im_ready): return boolean
8851
8852         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
8853
8854         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
8855         glib clash, should fix glib)
8856
8857         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
8858         (gdk_get_show_events): return gboolean, and canonicalize 
8859         to TRUE/FALSE
8860
8861         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
8862         colormap is private
8863         (gdk_colors_alloc): gboolean whether to be contiguous
8864         (gdk_color_equal): return gboolean since we are a predicate
8865         and not a qsort() (this looks semi-wrong due to glib breakage,
8866         IMO glib should be fixed)
8867         
8868         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
8869         (gdk_get_use_xshm): return gboolean
8870         (gdk_pointer_is_grabbed): return gboolean
8871
8872         * gdk/gdk.h: Change prototypes to match all the above changes,
8873         and re-run egtk-format-protos as required.
8874
8875 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
8876
8877         * gtk/gtkctree.c (resync_selection): 
8878         * gtk/gtkclist.c (resync_selection):
8879
8880         Return immediately if clist->drag_pos < 0. This is a workaround
8881         for the corrupt state that the clist gets into when a
8882         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
8883
8884         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
8885         
8886         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
8887         variable from recent commit.
8888
8889 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
8890
8891         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
8892
8893 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
8894
8895         * gtk/Makefile.am: prefix all autogenerated source that get build in
8896         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
8897         in builddir. since we subsequently cd into srcdir for autogeneration,
8898         the paths have to be stripped from the target file names, thusly we
8899         use $(@F) as target names now.
8900         put a comment about configure.in's --disable-rebuilds option,
8901         which can be used for non-writable source directories, for development
8902         setups though, srcdir has to be *writable*.
8903
8904 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
8905
8906         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
8907           Finish the job of allowing event to be NULL.
8908           (Fixes bug #4283, reported by Chris Blizzard)
8909
8910         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
8911           things so that the cursor appears on screen, properly
8912           take into account INNER_BORDER.
8913           (Fixes bug #4754, reported by Antonio Campos)
8914
8915 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
8916
8917         * gtk/gtknotebook.c (gtk_notebook_map): Don't
8918           show the tab_label unless it itself is visible.
8919
8920           gtk/gtknotebook.c (gtk_notebook_size_request):
8921           Do a better job of making sure that the visibility
8922           of the tab label corresponds to whether it should
8923           be mapped or not.
8924
8925 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
8926
8927         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
8928           Use the requisition, not the allocation, since the
8929           allocation has not necessarily been computed yet.
8930           (Pointed out by Eugene Osintsev)
8931
8932 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
8933
8934         * gtk/gtkstyle.c (gtk_style_new): Dont' set
8935           style/base[GTK_STATE_INSENSITIVE] both to
8936           gtk_default_insensitive_bg!
8937           (Bug #2187, reported by Jonathan Blandford)
8938
8939         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
8940           Add Alt_L, Alt_R to list of invalid accelerators.
8941           (Bug #3736, reported by Vlad Harchev)
8942
8943 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
8944
8945         * gtk/gtkfilesel.c (open_ref_dir): Fix several
8946         bugs which occured after an attempt to open 
8947         invalid home directory left cmpl_state->reference_dir == NULL.
8948
8949          - completion on files in home directory didn't work
8950          - completion on an empty string caused  segfault
8951
8952          (Bug #3678, reported by Steve Ratcliffe)
8953
8954         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
8955         cut and paste error that was causing scales to
8956         be incorrectly positioned.
8957         (Bug #2956,
8958          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
8959
8960 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
8961
8962         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
8963         when checking for dcgettext, if we've found we needed
8964         it for dgettext.
8965 +
8966 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
8967
8968         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
8969         queue_clear on NO_WINDOW widgets during a reparent,
8970         since at that point the window and widget heirarchies
8971         are out of sync. This stops crashing in some cases
8972         (the scrolled window reparent test, for instance), and
8973         _probably_ won't cause drawing errors.
8974
8975         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
8976         test do what it was supposed to do and be robust against
8977         window closings, etc. (Bug #2443)
8978
8979 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
8980
8981         * gtk/gtkentry.c: Fix return values on mouse events.
8982         (Bug #2686, Sky <seb_sky@yahoo.com>)
8983
8984         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
8985         (pointed out by George Lebl)
8986
8987         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
8988         (From Ettore Perazzoli  <ettore@helixcode.com>)
8989  
8990 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
8991
8992         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
8993         clicks between rows or outside calender area correctly.
8994         (Patch from Damon Chaplin)
8995
8996         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
8997         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
8998           Call destroy function when overwriting existing data. 
8999           (Pointed out by Damon Chaplin)
9000
9001 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
9002
9003         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
9004           which was causing problems on various systems with Xmu.
9005           This hasn't been needed for a very long time.
9006           (Fixes #1185 3167)
9007
9008 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
9009
9010         * gdk/gdki18n.h: Include <ctype.h> when defining
9011           gdk_isw* in terms of is* as a fallback.
9012           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
9013
9014 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
9015
9016         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
9017           realize the widget when it is size allocated!
9018           (old, old bug)
9019
9020         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
9021           Removed unused call to gdk_window_get_size() that
9022           showed up when the above was fixed.
9023
9024 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
9025
9026         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
9027           fix up widget->window when the widget is a
9028           NO_WINDOW container widget.
9029
9030 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
9031
9032         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
9033           to account for the fact that feof() does _not_ 
9034           return TRUE on errors, and thus avoid infinite loops
9035           when trying to use gdk_pixmap_create_from_xpm()
9036           on unreadable values.
9037
9038 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
9039
9040         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
9041
9042 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
9043
9044         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
9045           gdk_gc_set_dashes to take gint8 instead of gchar to
9046           make it clearer that it is _not_ a NULL terminated string.
9047
9048         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
9049           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
9050           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
9051           arguments.
9052
9053 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
9054
9055         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
9056         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
9057         background size relative to our allocation, guard against small
9058         allocations, we may have not yet been size allocated.
9059
9060 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
9061
9062         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
9063         not just version == 3. We implement all 3 + most of 4 - 
9064         (we don't support matching text/plain;charset=iso-8859-1
9065         to a dest that expects text/plain). We'll still advertise
9066         3 to be safe, but any client implementing version >= 3
9067         must interoperate with 3.
9068         
9069 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9070
9071         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
9072         background and gc members, add a warning in gtk_tooltips_set_color()
9073         indicating that this function is deprecated.
9074
9075 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
9076
9077         * docs/gtkfaq.sgml: FAQ Update:
9078           - Minor cleanups (Emmanuel, me)
9079           - New questions:
9080                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
9081                 How can I retrieve the text from a GtkMenuItem? (timj)
9082                 How do I validate/limit/filter the input to a GtkEntry? (me)
9083                 Memory does not seem to be released when I free the list
9084                         nodes I've allocated (timj)
9085
9086 2000-03-07  Tor Lillqvist  <tml@iki.fi>
9087
9088         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
9089         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
9090         for which it is no use to call GetLastError onWin9x.
9091         (gdk_other_api_failed) New function, for general error
9092         reporting without calling GetLastError.
9093         (gdk_win32_api_failed) OTOH, this function always calls
9094         GetLastError. (gdk_win32_last_error_string) Remove this function,
9095         GLib has the equivalent now.
9096
9097         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
9098         call them with function name, file name and line number in the
9099         arguments.
9100
9101         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
9102         functions.
9103         
9104         * gtk/gtk.def: Add some missing entry points.
9105
9106         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
9107         gtk_paned_set_gutter_size, which don't exist any longer, as void.
9108         
9109         Fixes by Hans Breuer:
9110
9111         * gdk/makefile.msc: Update for debugging.
9112
9113         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
9114         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
9115         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
9116         in the dash_list.
9117
9118         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
9119         the x11 backend.
9120
9121         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
9122
9123         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
9124
9125 2000-03-04  Tor Lillqvist  <tml@iki.fi>
9126
9127         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
9128         just pixel value of background colour.
9129
9130         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
9131         containing code snippet previously duplicated in a couple of
9132         places.
9133         
9134         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
9135         gdk_colormap_color.
9136
9137         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
9138         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
9139         events for autorepeated Shift, Control and Alt keys. Use
9140         gdk_colormap_color.
9141
9142         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
9143         pointer is inside the window the cursor of which we are setting,
9144         call SetCursor immediately.
9145
9146         * gdk/win32/makefile.cygwin
9147         * gtk/makefile.cygwin: If we don't have the build number stamp
9148         file, use zero.
9149
9150         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
9151         gtk_paned_set_gutter_size as empty.
9152
9153         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
9154         
9155 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
9156
9157         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
9158           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
9159           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
9160           docs/gtk_tut.sgml docs/gtk.texi TODO:
9161
9162           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
9163
9164 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
9165
9166         * gtk/gtkcalendar.c: Implement num_marked_dates,
9167           and don't emit mutiple day_selected signals on
9168           month_prev.
9169
9170 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
9171
9172         * docs/make-todo (lineno): let title and logo be configurable so
9173         that GNOME can use this script too.
9174
9175         * TODO.xml: added logourl and a title
9176
9177 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
9178
9179         * TODO.xml: Added some UI items, and an explanatory
9180         comment at the top of the file.
9181
9182 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
9183
9184         * TODO.xml: some updates, added abunch of new entries.
9185         a note for those fiddeling with this file, when done
9186         with it, invoke:
9187         $ ./docs/make-todo TODO.xml >/dev/null
9188         and correct output errors before comitting changes.
9189
9190 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
9191
9192         * TODO.xml: Added XML-structured TODO file.
9193         * docs/make-todo: python script to turn TODO.xml into
9194           pretty XML output. 
9195
9196 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
9197
9198         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
9199         the function to let it draw the seven dots, instead of the old,
9200         much maligned, method.
9201         (draw_dot): New function to draw a dot.
9202
9203         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
9204         to draw the handle inside the border width as opposed to outside.
9205         Use paint function instead of gdk_draw_point.
9206
9207         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
9208         to draw the handle inside the border width as opposed to outside.
9209         Use paint function instead of gdk_draw_point.
9210
9211         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
9212         Change indenting to be more GTK like.
9213
9214 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
9215
9216         * docs/gtk_tut.sgml: New section on GtkCalendar
9217         * examples/calendar: Update example code
9218
9219 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
9220
9221         * docs/gtkfaq.sgml: FAQ Update
9222
9223 2000-02-19  Anders Carlsson  <andersca@gnu.org>
9224
9225         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
9226         to prevent the scroll event to be propagated upwards.
9227
9228 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
9229
9230         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
9231         OwnerGrabButtonMask from button entries for
9232         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
9233
9234         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
9235         to the event mask (which will result in button/press release
9236         being added to the event mask on Unix) so scrolling works
9237         for layouts in scroll windows.
9238
9239         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
9240
9241         Patch from Anders Carlsson  <andersca@gnu.org> to add
9242         a scroll event.
9243
9244         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
9245         scrolling to the "Test Scrolling" part of testgtk.
9246  
9247         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
9248  
9249         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
9250         it against GDK_SCROLL.
9251  
9252         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
9253         way of mouse wheel scrolling.
9254  
9255         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
9256  
9257         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
9258  
9259         * gtk/gtkmain.c: Removed previous mouse wheel hack.
9260  
9261         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
9262         gdk_event_mask_table.
9263  
9264         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
9265         GdkEventScroll handler.
9266  
9267         * gdk/gdkevents.h: Added GdkEventScroll structure.
9268  
9269 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
9270
9271         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
9272         and Anders Carlsson to change the Paned widgets so that they
9273         can be dragged from anywhere along the length. Also change
9274         the way that this is drawn to make this apparent.
9275
9276         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
9277         from George Lebl to check that option_menu->menu is present
9278         before getting history.
9279
9280 2000-02-14  Tor Lillqvist  <tml@iki.fi>
9281
9282         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
9283         before the assertion for non-NULL segment list.
9284
9285         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
9286         Seems that pattern brushes *must* be 8x8 pixels! At least on my
9287         machine, but it might be display driver dependent. Sigh, so make
9288         sure the stipple is that size. Does Windows suck or what?
9289
9290         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
9291         places.
9292
9293 2000-02-13  Havoc Pennington  <hp@pobox.com>
9294
9295         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
9296         refcount to 1
9297         (gdk_cursor_new): init refcount to 1
9298
9299         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
9300
9301 2000-02-13  Tor Lillqvist  <tml@iki.fi>
9302
9303         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
9304         so that we don't have to do unnecessary settings to the HDC.
9305
9306         * gdk/win32/gdkdrawable-win32.c
9307         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
9308         gdk_gc_predraw.
9309
9310         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
9311         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
9312         GDI paths, call WidenPath to get the outline of the stroken path,
9313         and then fill the outline (with the brush that was built from the
9314         stipple).
9315
9316         * gdk/win32/gdkgc-win32.c: Factor out common code from
9317         _gdk_win32_gc_new and gdk_win32_gc_set_values into
9318         gdk_win32_gc_values_to_win32values. Use correct colour for
9319         SetBkColor() (Until now the code actually used a random colour in
9320         the call to SetBkColor()... but that didn't show up as not many
9321         GDI APIs use the background colour. Pattern (opaque stippled)
9322         brushes do.)
9323
9324         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
9325         gdk_win32_api_failed): New functions for error logging.
9326
9327         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
9328         WIN32_API_FAILED to call them, passing function or file name and
9329         line number.
9330
9331         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
9332
9333         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
9334         GdkColor for foreground and background in GdkGCWin32Data.
9335
9336         * gdk/makefile.cygwin: Link in the resource object separately.
9337
9338         * gdk/win32/rc/gdk.rc
9339         * gtk/gtk.rc (New file)
9340         * gdk/win32/makefile.cygwin
9341         * gtk/makefile.cygwin: Update build number in DLLs automatically,
9342         as in GLib.
9343
9344 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
9345
9346         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
9347         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
9348         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
9349         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
9350         parameters given and cursor->ref_count. coding style fixups.
9351
9352         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
9353         not GtkWidget.
9354         
9355         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
9356         fix up widget macros and add _GET_CLASS() variant.
9357         
9358         * gtk/*.c: some GtkType fixups.
9359
9360 2000-02-09  Tor Lillqvist  <tml@iki.fi>
9361
9362         * gdk/win32/gdkproperty-win32.c
9363         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
9364         were reversed.
9365
9366 2000-02-04  Tor Lillqvist  <tml@iki.fi>
9367
9368         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
9369         g_filename_to_utf8 to convert the font names Windows gives us from
9370         whatever is the default codepage to UTF-8.
9371         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
9372         in the other direction.
9373
9374         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
9375         error in debugging output.
9376
9377 2000-02-02  Tor Lillqvist  <tml@iki.fi>
9378
9379         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
9380         and height parameters to gdk_window_clear_area(). Not minus one.
9381
9382 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
9383
9384         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
9385         checks if the widget passed to gtk_drag_get_data() was not the
9386         dest widget.
9387
9388 2000-02-01  Tor Lillqvist  <tml@iki.fi>
9389
9390         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
9391         g_filename_from_utf8 functions (which were added a moment ago to
9392         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
9393         size buffers.
9394
9395         gtk_file_selection_get_filename returns the filename in the C
9396         runtime encoding. It calls g_filename_from_utf8, but copies the
9397         returned string to a static buffer, which is returned. I think
9398         this is better than returning the result from g_filename_from_utf8
9399         directly, which would mean all apps that use it would have to free
9400         the return value. Or should this function care about this issue at
9401         all? Maybe a new function with clearly defined semantics.
9402
9403         * gtk/gtkfilesel.h: Add comment about
9404         gtk_file_selection_get_filename returning the filename in the C
9405         runtime's encoding.
9406
9407         * README.win32
9408         * gdk/gdk.def
9409         * gdk/makefile.{cygwin,msc}
9410         * gtk/gtk.def: Updates.
9411
9412         * gdk/gdkcursor-win32.c: Initialise refcount.
9413
9414 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
9415
9416         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
9417
9418 2000-01-30  Havoc Pennington  <hp@pobox.com>
9419
9420         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
9421         destroy
9422
9423         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
9424
9425         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
9426         implemented in platform-specific code
9427
9428         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
9429
9430         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
9431         underscore in front
9432
9433         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
9434         put an underscore in front
9435
9436         * gdk/gdkcursor.c: new file, implements
9437         gdk_cursor_ref/gdk_cursor_unref
9438
9439         * gdk/gdkcursor.h: Refcount GdkCursor
9440
9441         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
9442
9443 2000-01-29  Tor Lillqvist  <tml@iki.fi>
9444
9445         * gdk/gdkwindow.h
9446         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
9447
9448 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
9449
9450         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
9451         structures to properly inherit from GtkWidget not GtkBin.
9452
9453 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
9454
9455         * gtk+.spec.in: Added lib/gtk+/include/* to %files
9456         (bug #5178 - Peter Wainright)
9457         
9458         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
9459         so that it will be installed.
9460         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
9461
9462 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
9463
9464         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
9465         for the GtkStyleClass vtable const.
9466
9467         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
9468         take a const string argument like GtkTranslateFunc. This will
9469         require changes in use code.
9470
9471 2000-01-19  Tor Lillqvist  <tml@iki.fi>
9472
9473         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
9474         semantics (to mimic the X11 backend, which just calls XClearArea)
9475         is to check for zero width (and height), and in that case use the
9476         window's width minus x (height minus y). This fixes for instance
9477         some redraw problems with gtkclist, which were easily noticeable
9478         in the gtk file selection widget.
9479
9480         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
9481         windows.
9482
9483 2000-01-13  Tor Lillqvist  <tml@iki.fi>
9484
9485         * configure.in
9486         * gdk/Makefile.am
9487         * gdk/x11/Makefile.am
9488         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
9489         (bug #5177).
9490         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
9491         out later.
9492
9493 2000-01-09  Tor Lillqvist  <tml@iki.fi>
9494
9495         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
9496         WM_MOVE for iconified or invisible windows. This fixes various
9497         problems when minimising windows. Thanks to Bernd Herd.
9498
9499 2000-01-05  Tor Lillqvist  <tml@iki.fi>
9500
9501         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
9502         backend's draw_lines method, not draw_points.
9503
9504 2000-01-02  Tor Lillqvist  <tml@iki.fi>
9505
9506         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
9507         before Owen's reorganisation: Don't have queued_events and
9508         queued_tail statics in this file, but use gdk_queued_events and
9509         gdk_queued_tail. This makes exposure event compression work again.
9510
9511         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
9512         seem to be needed?
9513
9514 1999-12-30  Tor Lillqvist  <tml@iki.fi>
9515
9516         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
9517         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
9518         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
9519         doesn't do anything.
9520
9521         * gdk/gdk.def: Add gdk_xid_table_insert.
9522
9523         * gdk/win32/gdkprivate-win32.h
9524         * gdk/win32/gdkevents-win32.c
9525         * gdk/win32/gdkinput-win32.c
9526         
9527         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
9528         extension_events field in the GdkWindowWin32Data struct. Use only
9529         the extension_events field in GdkWindowPrivate. Previously one was
9530         set, and the other one tested, which broke tablet
9531         functionality. Thanks to Keishi Suenaga for pointing this out.
9532
9533 1999-12-18  Tor Lillqvist  <tml@iki.fi>
9534
9535         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
9536         When handling a single character (text length == 1), don't handle
9537         it as if it was UTF-8.
9538
9539 1999-12-11  Tor Lillqvist  <tml@iki.fi>
9540
9541         * Makefile.am: Distribute README.win32.
9542         
9543         * gdk/Makefile.am
9544         * gdk/win32/Makefile.am: Distribute Win32 files.
9545
9546         * gdk/makefile.msc: New file.
9547
9548         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
9549         after label).
9550
9551         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
9552         gdk_error_code as GDKVAR, as they are referred outside GDK.
9553
9554         * gdk/win32/makefile.msc: Update.
9555
9556         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
9557         tweaks. Check only if at least one of those Unicode subrange bits
9558         we care for is set. If no code page bits are set, guess (wildly)
9559         based on the charset.
9560
9561         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
9562
9563         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
9564         non-NULL.
9565
9566         * gtk/gtkdnd.c
9567         * gtk/gtklayout.c
9568         * gtk/gtkplug.c
9569         * gtk/gtkselection.c
9570         * gtk/gtksocket.c
9571         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
9572         appropriate. There must be a cleaner way to handle this?
9573
9574         * gtk/gtkrc.c: Must include windows.h on Win32.
9575
9576         * gtk/testgtk.c: No need to include gdkx.h.
9577
9578         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
9579
9580 1999-12-07  Tor Lillqvist  <tml@iki.fi>
9581
9582         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
9583         the rbearing is set to the same as the width, but this should be
9584         fixed.
9585
9586 1999-12-06  Tor Lillqvist  <tml@iki.fi>
9587
9588         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
9589         function. If Windows doesn't tell us what Unicode subranges a font
9590         covers, guesstimate based on the codepages it covers. This will
9591         hopefully help those Windows versions or fonts that don't give us
9592         any useful Unicode subrange information with GetTextCharsetInfo.
9593         Call this function in gdk_font_load_internal.
9594
9595         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
9596         minor changes.
9597
9598 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
9599
9600         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
9601         New function, long needed.
9602
9603 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
9604
9605         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
9606         only_if_exists argument of gdk_atom_intern to
9607         bool.
9608
9609 1999-11-25  Tor Lillqvist  <tml@iki.fi>
9610
9611         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
9612         Fix two copy&paste errors.
9613
9614         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
9615         win32 has changed.
9616
9617         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
9618         GdkWin32SingleFont struct.
9619
9620         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
9621         subranges of loaded fonts. Clear font signature first, in case
9622         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
9623         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
9624
9625         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
9626         Unoffset clip region.
9627
9628 1999-11-23  Tor Lillqvist  <tml@iki.fi>
9629
9630         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
9631         event->any.window before calling filter functions.
9632
9633 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
9634
9635         * gtk/gtkgamma.h: Adapt cast macros to standard.
9636
9637 [ Merges from 1.2 ]
9638
9639 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
9640
9641         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
9642         If translation does not include a '/', use entire
9643         translation instead of crashing.
9644
9645 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
9646
9647         * docs/gtk_tut.sgml:
9648         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
9649
9650 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
9651
9652         * gtk/gtkselection.c (gtk_target_list_remove): Use
9653         g_list_remove_link, not g_list_remove.
9654
9655         [ From Geert Bevin <gbevin@thunderstorms.org> ]
9656         
9657 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
9658
9659         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
9660         statement upon unselection (how the heck did that slip in?).
9661
9662 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
9663
9664         * gtk/gtktext.c (gtk_text_freeze): 
9665         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
9666         in frozen state (and aparently crashes). patch provided by Anders
9667         Melchiorsen <and@kampsax.dtu.dk>.
9668
9669 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
9670
9671         * fix insensitive default/focus widget activation,
9672         reported by Matt Goodall <mgg@isotek.co.uk>.
9673
9674         * gtk/gtkwindow.c (gtk_window_key_press_event): 
9675         (gtk_window_activate_default):
9676         (gtk_window_activate_focus):
9677         return handled=FALSE for actiavtion of insensitive default
9678         widgets. return handled=TRUE for activation of insensitive
9679         focus widgets. don't activate in either case.
9680
9681 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
9682
9683         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
9684         and $glib_cflags to match library order and in the
9685         theory that an old version of GLib is more likely to
9686         be in the include directory for X then vice-versa.
9687         (Bug #2776)
9688
9689 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
9690
9691         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
9692         to determine the locale for fontsets, not LC_MESSAGES;
9693         the user may want English messages with a handling
9694         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
9695         will still be broken) (Bug #2891)
9696
9697 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
9698
9699         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
9700
9701 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
9702
9703         * gtk/gtkrc.ko: Changed the Korean default fontset.
9704
9705 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
9706
9707         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
9708         where when scrolling to the left or top double exposes
9709         were done, causing major slowdowns.
9710
9711 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
9712
9713         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
9714         names to lowercase and alphanumeric, before looking
9715         them up.
9716
9717         * gtk/Makefile.am: Install codeset variant gtkrc files
9718         with normalized names.
9719
9720 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
9721
9722         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
9723         popup menus when the menu is already visible, but its parent
9724         is still hidden, (happens after tornoff window got hidden).
9725
9726 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
9727
9728         * gtk/Makefile.am (install-data-local): Fix
9729         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
9730         deleted, causing error messages on install.
9731
9732 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
9733
9734         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
9735         the handle as well, since we now sometimes ignore
9736         exposes on the handle while resizing.
9737
9738 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
9739
9740         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
9741         extra g_free introduced in one of the last one or two 
9742         commits.
9743
9744 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
9745
9746         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
9747         consistent, put each style that a gtkrc.* file creates
9748         in a unique namespace, remove old files before installing.
9749
9750 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
9751
9752         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
9753         gtk_rc_init is called multiple times. (Yes, people who
9754         do that have bugs in their code.)
9755
9756 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
9757
9758         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
9759         Remove it since it's generated by the Makefile anyway
9760
9761 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
9762
9763         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
9764         device->info.axes for core pointer.
9765
9766 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
9767
9768         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
9769         idle_id, to deal with obsolete, broken C libraries.
9770
9771 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
9772
9773         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
9774         allocation->x/y twice!
9775
9776         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
9777         consistent with gtk_vscale_pos_trough().
9778
9779 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
9780
9781         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
9782         be queueing a resize on a toplevel container between
9783         the time we show it and when we map it. So, we need
9784         to test GTK_WIDGET_VISIBLE() for toplevels, and only
9785         use GTK_WIDGET_DRAWABLE() for child windows.
9786
9787 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
9788
9789         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
9790         (fixes bug #2144)
9791
9792 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
9793
9794         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
9795         container DRAWABLE (instead of VISIBLE), so we don't queue
9796         resizes on non-toplevel containers.
9797
9798 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
9799
9800         * gtk/gtkselection.[ch]: Make the data argument
9801         const guchar *.
9802
9803 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
9804
9805         * gtk/gtkwindow.c: Try to behave sensibly if 
9806         the focus widget is the window itself. (Should
9807         we allow this at all?)
9808
9809 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
9810
9811         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
9812         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
9813         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
9814         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
9815         in prototypes and implementations consistent (Tomas Ogren).
9816
9817         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
9818         before the widget is unparented (reported by damon).
9819
9820         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
9821         since we provide unsigned data anyways.
9822
9823 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
9824
9825         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
9826         the call to gtk_tooltips_layout_text() until later.
9827
9828         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
9829         Call gtk_widget_ensure_style() before using the style.
9830
9831 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
9832
9833         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
9834         for old widgets that don't propagate draws to all
9835         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
9836
9837 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
9838
9839         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
9840         for a redraw but just the widget that requested the resize.
9841
9842 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
9843
9844         * gtk/gtkcontainer.c: added new widget level method
9845         gtk_container_set_reallocate_redraws() and a GtkContainer flag
9846         reallocate_redraws : 1 to reflect the setting, exported this through
9847         the argument system as a boolean ::reallocate_redraws.
9848
9849         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
9850         on the widget because the allocation changes, do so as well for
9851         widget->parent if the parent has reallocate_redraws set to TRUE.
9852         with that containers requesting reallocation redraws get automatically
9853         redrawn if their children changed allocation (this unfortunately
9854         affects also other children that didn't change allocation, but we
9855         cannot work around that before 1.3).
9856
9857 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
9858
9859         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
9860         _and_ height are >0 (not _or_).
9861
9862         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
9863         instead of gtk_container_queue_resize(), which is a core gtk internal
9864         function (must have been on crack when i queued that).
9865
9866         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
9867         we can check more reliably if we want to discard expose events.
9868         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
9869         flag.
9870         
9871         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
9872         we simply trust these events. for deciding whether to discard exposes,
9873         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
9874         
9875 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
9876
9877         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
9878         queues of areas that are completely off screen.
9879
9880         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
9881         logic for handleboxes.
9882
9883         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
9884         check on width/height.
9885
9886 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
9887
9888         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
9889         we are fine with using $@ the way we do (if we actually encounter
9890         brokeness with $@ in VPATH builds because of additional path prefixes,
9891         we need to use $(@F) actually).
9892
9893 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
9894
9895         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
9896         short lived bugs, that would allow language bindings to do surgeries
9897         to our guts.
9898
9899 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
9900
9901         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
9902         where comparison was being done against an uninitialized
9903         value causing intermittant results depending on
9904         compiler flags. Also make it clearer that we aren't
9905         ever initializing the child as 0x0 (though this will
9906         be caught in gtk_widget_size_allocate())
9907
9908 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
9909
9910         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
9911         gtk_window_unset_transient_for() call after we do checks
9912         involving the old transient parent.
9913         [ From Lance Capser <lmc@cyberhighway.net> ]
9914
9915 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
9916
9917         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
9918         an empty file.
9919
9920 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
9921
9922         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
9923         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
9924
9925 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
9926
9927         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
9928         `$@' is valid only in the build dir, not after we've done 
9929         `cd $srcdir'.  Also use `test -f' instead of less portable
9930         `test -e'.
9931
9932 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
9933
9934         * gtk/gtktext.c (correct_cache_insert): Rewrite
9935          for simplicity, and hopefully correctness.
9936          (Fixes bug #1322, which was a segfault when
9937           on some insertions with the properties around
9938           the insertion set up just wrong.)
9939
9940         * gtk/gtktext.c (gtk_text_adjustment): When we receive
9941          a "changed" signal, clamp the new value to the adjustment
9942          bounds to avoid segfaulting if someone tries to change
9943          the adjustment to a bogus value. (Bug #1795)
9944
9945 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
9946
9947         * gtk/gtkmain.c: Ignore unexpected destroy notifies
9948         for children, for toplevel windows handle them
9949         like delete_event.
9950
9951         * gtk/gtkplug.c: Add an unrealize handler so that
9952         we unref plug->socket_window when we are done
9953         with it.
9954
9955 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
9956
9957         * gtk/gtktext.c (clear_area): Fix stupid signedness
9958          problem that was causing background to sometimes
9959          be misaligned.
9960
9961 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
9962
9963         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
9964         
9965         * gtk/gtkmenu.c (gtk_menu_position): Make
9966          sure we never position menus with negative x, y,
9967          since gtk_widget_set_uposition() can't handle that.
9968
9969         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
9970          Modify the positioning code a bit so that we always
9971          put the top-left corner onscreen. (This is for
9972          UI reasons, gtk_menu_position() now takes care of
9973          gtk_widet_set_uposition() brokeness.)
9974
9975 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
9976
9977         * gtk/Makefile.am: fixed up things for -jx, x > 1.
9978
9979 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
9980
9981         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
9982           RC style that is passed in. The lack of the ref
9983           before was a bug. If people worked around this
9984           bug, this will introduce a slight memory leak
9985           in their code. The code should typically look like:
9986
9987             rc_style = gtk_rc_style_new ();
9988             [...]
9989             gtk_widget_modify_style (widget, rc_style);
9990             gtk_rc_style_unref (rc_style);
9991
9992         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
9993           the style if it was already set.
9994
9995         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
9996           style if it was set before.
9997
9998 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
9999
10000         * gtk/testgtk.c (main): Add a check to see if we
10001           are being run from the correct directory and
10002           to quit nicely if we are not.
10003
10004         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
10005           static.
10006
10007 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
10008
10009         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
10010
10011         * gtk/gtkwindow.c:
10012         queue resizes unconditionally (gtk_widget_queue_resize will figure
10013         what to do if the window is not realized).
10014         (gtk_window_move_resize): only recenter the window
10015         for GTK_WIN_POS_CENTER_ALWAYS.
10016         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
10017         the same way as GTK_WIN_POS_CENTER.
10018
10019 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
10020
10021         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
10022         with (!(info->last_flags & GDK_HINT_POS)) instead of
10023         (!info->last_flags & GDK_HINT_POS).
10024
10025         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
10026         new_height unconditionally, because we use these values even if
10027         !default_size_changed && !hints_changed.
10028         comented the (default_size_changed || hints_changed) case with
10029         respect to resize rejects from the window manager.
10030
10031         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
10032         in the zvt condition hack, since this includes the window hints, set
10033         the hints after the handling_resize case.
10034
10035         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
10036         window is initially shown with to the geometry.
10037
10038 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
10039
10040         * gtk/gtkwindow.c (gtk_window_move_resize):
10041         s/size_changed/default_size_changed/g so i know what's
10042         really going on (frying brain on smaller flame now).
10043
10044 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
10045
10046         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
10047         we have size_changed upon handling_resize. this is a gross
10048         workaround for the broken zvt widget and should be removed in
10049         1.3 again (search for FIXME).
10050         Owen provided an accurate comment for this:
10051
10052         /* We could be here for two reasons
10053          *  1) We coincidentally got a resize while handling
10054          *     another resize.
10055          *  2) Our computation of size_changed was completely
10056          *     screwed up, probably because one of our children
10057          *     is broken. It's probably a zvt widget.
10058          *
10059          * For 1), we could just go ahead and ask for the
10060          * new size right now, but doing that for 2)
10061          * might well be fighting the user (and can even
10062          * trigger a loop). Since we really don't want to
10063          * do that, we requeue a resize in hopes that
10064          * by the time it gets handled, the child has seen
10065          * the light and is willing to go along with the
10066          * new size. (this happens for the zvt widget, since
10067          * the size_allocate() above will have stored the
10068          * requisition corresponding to the new size in the
10069          * zvt widget)
10070          *
10071          * This doesn't buy us anything for 1), but it shouldn't
10072          * hurt us too badly, since it is what would have
10073          * happened if we had gotten the configure event before
10074          * the new size had been set.
10075          */
10076
10077 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
10078
10079         * gtk/gtkrc.c: deal properly with the fact that RC
10080           style lists may include rc styles more than once.
10081
10082         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
10083           unused static function.
10084
10085         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
10086           stack of directories of RC files currently being
10087           parsed and implicitely add them to pixmap path.
10088           
10089           This fixes a bug where the directory would get
10090           appended then overwritten by pixmap_path declarations.
10091
10092           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
10093
10094         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
10095           theme's exit function. (Patch from Peter Wainwright,
10096           bug #1454)
10097
10098         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
10099           Add a destroy() handler to take care of removing
10100           group for menu item. (Fixes bug #1197)
10101
10102         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
10103           in warning message.
10104
10105 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
10106
10107         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
10108         roundtrip to figure window's width and height, since we know that
10109         anyways from widget->allocation.
10110
10111 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
10112
10113         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
10114           the hints after we request the new size.
10115
10116 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
10117
10118         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
10119           GTK_WIDGET_REALIZED() assertion - we can compute the
10120           hints before we are realized.
10121
10122         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
10123           hint changing so that we have a value of hints_changed
10124           when we decide whether to constrain the window size.
10125
10126         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
10127
10128         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
10129         change back to G_MAXINT.
10130
10131 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
10132
10133         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
10134         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
10135         contain uncluttered values.
10136         (gtk_window_compute_hints): simply assert that window is realized
10137         and that geometry_info is valid, since we rely on this anyways.
10138         (gtk_window_constrain_size): major cleanups to the code.
10139         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
10140         for the base size, instead of the minimums. use 32767 as max width
10141         and height (like in gtkwindow.c) instead of G_MAXINT.
10142
10143 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
10144
10145         * cleaned up the GtkContainer.need_resize flag handling mess, we
10146         only need to force resize requests when we were prematurely
10147         realized, or our widget tree was modified when we were temporarily
10148         hidden. handling these cases directly upon showing the window (i.e.
10149         while the GdkWindow is still unmapped) avoids the need to wait for
10150         a configure event response and therefore makes the GUI more snappier
10151         and avoids blank windows during the roundtrip.
10152
10153         * gtk/gtkwidget.c:
10154         (gtk_widget_hide): 
10155         (gtk_widget_show): don't queue resizes on toplevels, they know how
10156         to deal with matters.
10157
10158         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
10159         flag directly for not visible resize containers and spare us unecessary
10160         signal emissions.
10161
10162         * gtk/gtkwindow.c:
10163         (gtk_window_realize): if we need to enforce premature size allocation,
10164         queue a container resize so we are correctly resized later on.
10165         (gtk_window_init):
10166         (gtk_window_size_request):
10167         don't freak around with the ->need_resize flag,
10168         gtk_container_queue_resize() will care about that.
10169         (gtk_window_show):
10170         handle initial resizing issues here, we can handle matters better in
10171         this place, especially since we know that our GdkWindow is still
10172         unmapped.
10173         (gtk_window_move_resize):
10174         don't care about ->need_resize at all.
10175         handle size changes properly that occoured while we waited for a
10176         configure event.
10177
10178 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
10179
10180         * gtk/gtkwidget.c (gtk_widget_set_uposition):
10181         * gtk/gtkwindow.[hc] (gtk_window_reposition):
10182         Move the hint setting code from gtk_widget_set_uposition
10183         to here; set the hints so that we respect any previously
10184         set geometry hints.
10185
10186         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
10187         change the window hints here or move the window here,
10188         let that happen in gtk_window_move_resize().
10189
10190 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
10191
10192         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
10193         to already queued resizes (and therefore redraws) on a widget, check
10194         its anchestry as well.
10195
10196         * gtk/gtkcontainer.c:
10197         (gtk_container_queue_resize): clear resize widgets for resize
10198         containers before aborting prematurely. this is especially important
10199         for toplevels which may need imemdiate processing or their resize
10200         handler to be queued.
10201         (gtk_container_dequeue_resize_handler): added new internal function for
10202         gtkwindow.c.
10203
10204         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
10205         configure event, take possible changes in window position into account
10206         as well.
10207         if we request a new window size, queue up a resize handler that will
10208         last until the configure event response arrives.
10209         combined the ->need_resize case (initial show) with the general size
10210         (hints) changed case and added even more comments.
10211         if !auto_shrink, only revert to the old allocation if the new size
10212         is smaller than the current allocation.
10213
10214 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
10215
10216         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
10217                            gtk_window_set_geometry_hints
10218                            gtk_window_set_default_size):
10219         When hints are set, queue a resize so that the hints will
10220         be eventually reset on the toplevel.
10221
10222         * gtk/gtkwindow.c (gtk_window_show): Use
10223         gtk_window_compute_default_size(). Clear the need_resize flag
10224         on the initail map so that we don't unnecessarily trigger the
10225         resize code.
10226
10227         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
10228         into separate functions. Compare the hints we are setting
10229         with what we set last time so that we can accurately
10230         tell when we need to reset the hints.
10231
10232         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
10233         function to figure out the size from requisition
10234         and default_size.
10235
10236         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
10237         from fvwm to constrain a size to the geometry hints.
10238
10239         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
10240         to compare two sets of geometry hints.
10241
10242         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
10243         from gtk_window_set_hints(), just compute the hints,
10244         don't set them.
10245
10246         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
10247         code from gtk_window_move_resize() to separate function,
10248         rationalize a bit.
10249
10250 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
10251
10252         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
10253         structure into a new private structure.
10254
10255         * gtkrc.c: Split GtkRcStyle into public/private.
10256         In the private part, add a list of pointers to the
10257         RcStyle lists this RcStyle participates in.
10258
10259         * gtkrc.c: When a RcStyle is free, remove all
10260         lists referencing it from the 
10261         realized_style_ht hash, and free those lists.
10262         
10263         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
10264         gtk_rc_init(), since that adds the default styles
10265         to the list of parsed RC files again.
10266
10267         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
10268         
10269 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
10270
10271         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
10272         checks that ensure that a widget's allocation is at least 1 in width
10273         and height. (GNOME note: this doesn't affect old panel code anymore,
10274         because GtkSocket will request width and height of at least 1 since
10275         Fri Jul 23).
10276
10277         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
10278         allocated yet (happens if the user realizes the window prematurely),
10279         size request and allocate it.
10280         (gtk_window_size_allocate): guard against guint underflows.
10281
10282 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
10283
10284         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
10285         in gtk_built_sources, so gtk.defs gets built prior to all other
10286         sources.
10287
10288 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
10289
10290         * gtk/Makefile.am:
10291         invoke indent on gtkmarshal.*. 
10292         rewrote source generation rules, use COPYING as oldest source tag for
10293         a piggyback rule to generate all sources from (don't touch it ;).
10294         major cleanups, strip spaces on build rules for GNU Make.
10295
10296         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
10297         source and target files from commandline arguments. don't invoke indent.
10298
10299 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
10300
10301         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
10302         notebook after switch to avoid drawing problems.
10303         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
10304         
10305         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
10306         show them instead. 
10307         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
10308
10309 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
10310
10311         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
10312         notebook after switch to avoid drawing problems.
10313         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
10314         
10315         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
10316         show them instead. 
10317         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
10318
10319 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
10320
10321         * gtk/gtkwindow.c:
10322         we use window->need_resize from configure_event now, to indicate that
10323         the gtkwindow should keep its allocation (e.g. because the user resized
10324         the window through window manager handles). resize_count is now reliably
10325         used to figure whether we got the allocation we requested from the
10326         window manager.
10327         configure events get queued as resizes now, the real stuff (size
10328         computation and allocation) now only goes on in gtk_window_move_resize().
10329         GtkWindow's requisition now contains its *real* requisition (like all
10330         other widgets), *not* taking usize into account.
10331         geometry_info->last_{width|height} is now updated from set_hints() only
10332         so it always contains the last hints we set for the window manager.
10333         made some event handlers return TRUE instead of FALSE.
10334         the overall code should be much more straight forward now, and the
10335         significant code portions are accompanied by comments now.
10336         (gtk_window_set_hints):
10337         removed requisition argument and made it
10338         fetch the requisition through gtk_widget_get_child_requisition.
10339         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
10340         does that now.
10341         (gtk_window_show):
10342         ensure that the widget is realized before calling 
10343         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
10344         ensure that we got properly size requested and allocated before
10345         realization.
10346         (gtk_window_configure_event):
10347         ignore plain window moves, or reallocate the widget tree through the
10348         resize queue otherwise.
10349         (gtk_window_move_resize):
10350         mostly rewrote this function to figure window manager hints more
10351         reliably, coalesce window moves and resizes to reduce configure events
10352         and do actuall size allocations.
10353
10354 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
10355
10356         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
10357         that have a resize pending, because a redraw is already queued for them.
10358
10359         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
10360         hack to clear resize_widgets.
10361
10362         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
10363         for resize containers prior to size allocation. (this is also a bit
10364         ugly, but avoids side effects for stopped emissions and is thus more
10365         reliable).
10366         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
10367
10368         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
10369         function from gtk_tooltips_expose, as we connect to ::expose_event
10370         *and* ::draw now.
10371
10372 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
10373
10374         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
10375         checks.
10376         (gtk_target_list_unref): Likewise.
10377
10378         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
10379
10380 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
10381
10382         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
10383         guard against division by zero. (Fixes bug #1339)
10384
10385 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
10386
10387         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
10388         Prevent the trivial leak of information of allowing
10389         word motion when the entry is not visible.
10390
10391 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
10392
10393         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
10394         modality to error dialog as well as confirmation dialogs.
10395         (Bug #1803, reported by Rosanna Wing Sze Yuen)
10396
10397 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
10398
10399         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
10400         tree->view_lines.
10401         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
10402
10403         * gtk/Makefile.am (install-data-local): Solaris apparently
10404         has various troubles with ln -f; use rm first instead.
10405         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
10406
10407 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
10408
10409         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
10410         use `cp' followed by `rm' (the `rm' was already there).
10411
10412 July 30, 1999 Elliot Lee <sopwith@redhat.com>
10413         
10414         * configure.in: Fix autoconf warnings about cross compilation by
10415         trying to provide sane defaults for AC_TRY_RUN.
10416         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
10417         put them into $(srcdir) when generated. Also add a dependency of
10418         gtksignal.h on gtkmarshal.h for -j builds. 
10419         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
10420
10421 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
10422
10423         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
10424         GDK_THREADS_{LEAVE,ENTER} pair.
10425         (From Paul Fisher <pnfisher@redhat.com>)
10426
10427 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
10428
10429         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
10430         width and height are always >0 (owen).
10431
10432 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
10433
10434         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
10435         change that assured that a widget's allocated with and height are
10436         always >1, since this breaks *buggy* panel code. unfortunately this
10437         back-breaks the gimp's color selector.
10438
10439         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
10440         allocation is always >0 in width and height, before sending the
10441         configure event; this is a *gross* hack to get the gimp back to work.
10442         
10443         * marked both cases with TODO-1.3
10444
10445 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
10446
10447         * gtk/gtktext.c: Don't display wrap indicators when
10448         text is not editable and word wrap is on.
10449
10450 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
10451
10452         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
10453         option menus here as they are not derived from menu shell, assure that
10454         the option menu has a menu we can add items to.
10455
10456 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
10457
10458         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
10459         width/height to (gint) before calculations and check against < 0 to
10460         avoid guint wraparounds.
10461
10462 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
10463
10464         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
10465         width and height is never zero. sanity check both dimensions against
10466         32767 and issue a warning if the allocation is greater than that.
10467
10468 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
10469
10470         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
10471         to g_main_pending() as well.
10472
10473 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
10474
10475         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
10476         call to g_main_iteration() - since that will regrab
10477         GTK+ lock to process events.
10478
10479 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
10480
10481         * gtk/gtkwindow.c
10482         - Regularize with the rest of GTK+ by making widget->requisition
10483           not reflect the set_usize()
10484         - Always recompute geometry hints, then check if they
10485           changed before sending them to the X server. The
10486           previous checks for changes would fail in a number
10487           of circumstances. 
10488
10489 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
10490
10491         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
10492
10493 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
10494
10495         * gtk/gtkdnd.c:
10496         - Code cleanups
10497         - Instantaneously update on modifier key presses
10498         - Allow cancellation of the drag with Escape.
10499
10500 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
10501
10502         * gtk/testgtk.c (create_handle_box): Set the policy
10503         to auto_shrink - otherwise the appearance is rather
10504         strange when flipping between horizontal and vertical.
10505
10506 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
10507
10508         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
10509         (gtk_window_set_default_size): don't change a value if it's < 0.
10510         queue a resize.
10511
10512 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
10513
10514         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
10515
10516 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
10517
10518         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
10519         add an extra "/" when concating "/" + filename.
10520         (From Matt Grossman <mattg@oz.net>)
10521
10522 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
10523
10524         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
10525         for fg_gc if we set it for drawing pixmap.
10526
10527 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
10528
10529         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
10530         
10531         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
10532         already set, call old engine's destroy function and
10533         unref the old engine.
10534
10535 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
10536
10537         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
10538
10539 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
10540
10541         * gtk/gtkaccelgroup.h: mark certain functions as internal.
10542
10543 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
10544
10545         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
10546         expand behaviour changed.
10547
10548         * gtk/gtklabel.c (gtk_label_set_pattern):
10549         (gtk_label_set_justify):
10550         (gtk_label_set_line_wrap):
10551         don't bother invoking queue_clear, the reallocation does
10552         that for us, always free_words so the upcoming resize will
10553         relayout the label's contents.
10554
10555 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
10556
10557         * applied argument implementation patches from Elena Devdariani
10558         <elena@cogent.ca>.
10559
10560         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
10561         ::space_style, ::relief
10562         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
10563         * gtk/gtkpreview.c: ::expand
10564         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
10565         * gtk/gtknotebook.c: ::homogeneous
10566         * gtk/gtklabel.c: ::wrap
10567         * gtk/gtklist.c: ::selection_mode
10568         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
10569         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
10570         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
10571         * gtk/gtkclist.c: ::sort_type
10572         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
10573         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
10574
10575 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
10576
10577         * gtk/gtkstyle.c: Removed ill-thought-out part of last
10578         comment.
10579
10580 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
10581
10582         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
10583         counting right when we have to attach a new style
10584         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
10585
10586         * gtk/gtkstyle.c: Documented the refcounting
10587         peculularities of gtk_style_attach.
10588
10589 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
10590
10591         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
10592         window types.
10593
10594         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
10595         of GTK_TOPLEVEL for creating the window.
10596
10597 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
10598
10599         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
10600         the last argument (reported by Per Winkvist).
10601         
10602 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
10603
10604         Fixes for invisible XOR lines (Frank Loemker
10605         <floemker@TechFak.Uni-Bielefeld.DE>)
10606         
10607         * gtk/gtkclist.c (gtk_clist_realize): Always use
10608         a non-zero pixel for GDK_XOR.
10609
10610         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
10611         Use GDK_INVERT instead of GDK_XOR.
10612
10613 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
10614
10615         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
10616         signals if h/voffsets differ from adjustment values.
10617         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
10618
10619 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
10620
10621         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
10622         ::selection-done emissions up to the topmost menu shell.
10623
10624 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
10625
10626         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
10627         the user data on the window before destroying it.
10628
10629         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
10630         unrealize handler to take care of destroying 
10631         notebook->panel properly. 
10632         (Bug #1198 - Morten Welinder <terra@diku.dk>)
10633
10634         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
10635         of g_new and g_realloc to stop memory leak. (Actually,
10636         we could just use g_realloc(), but I'm not 100% sure
10637         that is portable).
10638         (Bug #1196 - Morten Welinder <terra@diku.dk>)
10639
10640 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
10641
10642         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
10643
10644         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
10645         for fontsets.
10646
10647         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
10648         with bin/button confusion.
10649
10650 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
10651
10652         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
10653         and show how preselection of radio items is done.
10654
10655 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
10656
10657         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
10658         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
10659         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
10660         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
10661         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
10662         * gtk/gtktable.c (gtk_table_attach): 
10663         * gtk/gtklist.c (gtk_list_insert_items): 
10664         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
10665         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
10666         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
10667         * gtk/gtkbin.c (gtk_bin_add): 
10668         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
10669         * gtk/gtkfixed.c (gtk_fixed_put): 
10670         * gtk/gtklayout.c (gtk_layout_put):
10671         general fixups to container_add logic. always realize child if
10672         child->parent is realized, only map the child and queue a resize
10673         if child and child->parent are both visible.
10674
10675 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
10676
10677         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
10678         instead of gtk_container_foreach to walk and unrealize children, so
10679         composite children get also unrealized.
10680         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
10681         (gtk_widget_map): assert that the widget is visible (basic constrain).
10682         (gtk_widget_real_map): assert that the widget is realized (basic
10683         constrain).
10684
10685 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
10686
10687         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
10688
10689 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
10690
10691         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
10692         file for iso-8859-2 locales.
10693
10694         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
10695
10696 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
10697
10698         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
10699          (Pointed out by andy@rz.uni-karlsruhe.de and others).
10700          Remove some suspicious and useless lines. 
10701
10702 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
10703
10704         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
10705         width,height = 0, 0 to mean - here to edge of window,
10706         instead of -1, -1, since the former is all we support.
10707
10708 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
10709
10710         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
10711         when removing from quit_functions list.
10712
10713 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
10714
10715         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
10716
10717 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
10718
10719         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
10720          When redrawing characters on non-visible entry, use appropriate
10721          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
10722
10723 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
10724
10725         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
10726         from drag coordinates.
10727         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
10728         use drag_dest_cell.
10729
10730         * gtk/gtktree (drag_dest_cell)
10731         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
10732         (Bug #1129)
10733
10734 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
10735
10736         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
10737         translate_* fields.
10738         (gtk_item_factory_finalize): invoke translate_notify independant from
10739         translate_data.
10740         (gtk_item_factory_set_translate_func): likewise.
10741         (gtk_item_factory_destroy): only remove ifactory pointer from those
10742         widgets that belong to us (stupid me).
10743
10744 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
10745
10746         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
10747         rc_style list when lookup succeeeds.
10748
10749 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
10750
10751         * gtk/gtkctree.c (resync_selection): 
10752         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
10753         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
10754         bug.
10755
10756 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
10757
10758         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
10759         Add some missing GDK_THREADS_ENTER()/LEAVE around
10760         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
10761
10762 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
10763
10764         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
10765         rather than emit_by_name.
10766
10767         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
10768         on the widget across multiple signal emissions.
10769         (gtk_editable_delete_text): same here.
10770         (gtk_editable_class_init): set widget_class->activate_signal after
10771         editable_signals[ACTIVATE] has been created.
10772
10773 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
10774
10775         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
10776         position here prematurely -- we might not have the
10777         right ->min_position and ->max_position yet.
10778
10779 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
10780
10781         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
10782         Add error traps so if the other end of the connection
10783         dies, we survive.
10784
10785         * gtk/gtkselection.c (gtk_selection_notify): Clean
10786         up properly when selection property retrieval fails.
10787         
10788         * gtk/gtkselection.c (gtk_selection_request): Correctly
10789         reject SelectionRequest notifies where the handler
10790         returns no data.
10791
10792 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
10793
10794         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
10795         when we've previously highlighted.
10796
10797         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
10798         emit two "drag_leave" signals for Motif drops.
10799
10800         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
10801         back the correct status messages when dropping from
10802         Motif onto a proxy window that is rejecting the
10803         drop.
10804
10805 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
10806
10807         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
10808         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
10809         to compare two argument values. added gtk_arg_to_valueloc() to set a
10810         variable from an arg through its location (pointer).
10811
10812         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
10813         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
10814         as gfloat*, uchars are collected as guchar*, ints are collected as
10815         gint*, etc...
10816
10817 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
10818
10819         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
10820         Include <string.h> instead of <strings.h>.
10821
10822         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
10823         (actually, a lot more duplicate includes occur if
10824          you trace through the sequence of #include's)
10825         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
10826         
10827 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
10828
10829         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
10830         gtk-a-higuti-990322-[0-3]
10831
10832         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
10833         that was causing -DX_LOCALE not to work.
10834
10835         * gtk/gtkrc.c (gtk_rc_init):
10836         X_LOCALE will never have LC_MESSAGES defined
10837
10838 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
10839
10840         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
10841         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
10842
10843         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
10844         left/right as well (gtk-michael-980726-0.patch.gz).
10845
10846         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
10847         for pointer values, use gchar instead of char. fixed uline allocation
10848         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
10849         chunks instead of G_ALLOC_ONLY.
10850         (gtk_label_size_request): always alter requisition as passed and leave
10851         widget->requisition alone.
10852         (gtk_label_set_text): allow NULL strings.
10853         (gtk_label_new): likewise.
10854
10855 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
10856
10857         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
10858
10859 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
10860
10861         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
10862         *and* mapped (i.e. drawable).
10863         (gtk_bin_expose): only send exposes to drawable children.
10864
10865         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
10866         (gtk_box_expose): only send exposes to drawable children.
10867
10868         * gtk/gtkhscale.c (gtk_hscale_draw): 
10869         * gtk/gtkvscale.c (gtk_vscale_draw):
10870         hm, this is an ugly one. we first compute the size of our trough area
10871         here (window relative) and then check intersection with the draw_area
10872         which is parent relative because we're a NO_WINDOW widget, so we need
10873         to offset the trough area by allocation.x and allocation.y before the
10874         check. (this must not be done for the background area though, since
10875         that's already computed parent relative).
10876
10877 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
10878
10879         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
10880         unrealize title buttons.
10881
10882 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
10883
10884         * gtk/gtkclist.c (gtk_clist_column_title_passive)
10885         (gtk_clist_column_title_active): 
10886         only connect/disconnect to GtkWidgetClass::event to block mouse events.
10887
10888         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
10889         zero initialize event, removed superfluous gdk_window_get_pointer call
10890
10891         * gtk/gtklist.c (gtk_list_vertical_timeout)
10892         (gtk_list_horizontal_timeout): removed superfluous
10893         gdk_window_get_pointer call
10894
10895 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
10896
10897         * plugging problems reported by "Bruce Mitchener, Jr."
10898         <bruce@puremagic.com> due to a purify session.
10899
10900         * gtk/gtkstyle.c:
10901         (gtk_style_ref): 
10902         (gtk_style_unref): assert ref_count to be > 0.
10903
10904         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
10905         the requisition.
10906         (gtk_clist_set_shift): likewise.
10907
10908         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
10909         adjustments.
10910
10911         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
10912         event before sending it and set send_event to TRUE (which needs to
10913         be done for *all* synthesized events).
10914         (gtk_list_vertical_timeout): likewise.
10915
10916         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
10917         leaks.
10918
10919         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
10920         to TRUE when synthesizing events.
10921
10922 [ *** end of merges from 1.2 *** ]      
10923         
10924 1999-11-21  Tor Lillqvist  <tml@iki.fi>
10925
10926         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
10927         (or copied from gdkconfig.h.win32 on Win32, sigh).
10928
10929         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
10930
10931         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
10932
10933         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
10934
10935         * gdk/gdkconfig.h.win32: New file.
10936
10937         * gdk/win32/makefile.cygwin: Build just a static archive here.
10938
10939         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
10940         for the DLL from the static archive built above.
10941
10942         * gdk/gdk.def: Moved here from the win32 subdirectory.
10943
10944         * gdk/win32/*: Adapt for the changed private struct organisation.
10945
10946         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
10947
10948 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
10949
10950         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
10951         for wheel mice (buttons 4 and 5).
10952
10953 1999-11-18  Tor Lillqvist  <tml@iki.fi>
10954
10955         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
10956         drawables use just the pixel field in the foreground and
10957         background GdkColor of the GdkGC.
10958
10959         gdk_gc_set_{fore,back}ground() are called in the GIMP with
10960         GdkColors containing uninitialized (red,green,blue) fields, and
10961         just the pixel field filled in, and furthermore in the
10962         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
10963         It thus turns out that we really don't need to have the full
10964         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
10965         it later to have just the pixel values.
10966
10967 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
10968
10969         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
10970
10971 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
10972
10973         * docs/gtkfaq.sgml: threads example from Erik Mouw.
10974         New question on GtkLabel background colors.
10975
10976         * docs/gtk_tut.sgml:
10977           - Correct the example code callback
10978             function definitions.
10979           - Update the gtkdial example code, from Frans van Schaik.
10980           - Update setselection.c to current API.
10981
10982         * examples/Makefile examples/*/*.c: Update to code
10983         listed in tutorial.
10984
10985 1999-11-10  Tor Lillqvist  <tml@iki.fi>
10986
10987         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
10988         subrange table (from the "Developing International Software for
10989         WIndows 95 and Windows NT" book) was missing the Hangul syllable
10990         block... Get the loaded font's charset correctly.
10991
10992         (Note that this, and the other *-win32.c files, still really are
10993         the old ones, the win32 subdirectory is not ready for compilation
10994         yet after the reorg.)
10995
10996 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
10997
10998         * gtk/gtkclist.c: Fix off-by-one bug in parameter
10999         check.
11000
11001 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
11002
11003         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
11004         on results of XQueryDeviceState().
11005
11006 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
11007
11008         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
11009         we need to accesss only ->children. We need an accessor
11010         for the children.
11011
11012         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
11013         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
11014         to get rid of gdkx.h include.
11015         
11016         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
11017         and random references to 'None'.
11018
11019         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
11020         Get rid of unused #include <gdk/gdkx.h>
11021
11022         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
11023         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
11024         gdkconfig.h.
11025
11026 1999-11-08  Tor Lillqvist  <tml@iki.fi>
11027
11028         * gdk/win32/gdkdraw.c
11029         * gdk/win32/gdkfont.c
11030         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
11031         following yesterday's changes. (Unrelated to Owen's reorg.)
11032
11033 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
11034
11035         * gdk/x11/gdkinput-gxi.c: Add missing include,
11036           fix GdkWindowPrivate => GdkDrawablePrivate.
11037
11038         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
11039
11040         * gdk/x11/Makefile.am (xinput_sources): Add missing
11041         backslash to fix building with --with-xinput=none
11042
11043 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
11044
11045         Move all X specific code into the x11/ directory.
11046         Aside from shuffling things around, did the following:
11047
11048        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
11049          gdk_arg_context_* - a simple argument parsing system
11050          in the style of popt.
11051
11052        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
11053          gdk/x11/gdkprivate-x11.h:
11054          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
11055          add ->klass and ->klass_data fields. The klass_data
11056          field points to an auxilliary structure that is
11057          windowing system dependent.
11058
11059        * gdk/gdkfont.c: Make most of the measurement functions
11060          simply wrappers around gdk_text_extents().
11061
11062        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
11063          _gdk_font_strlen() function that hides the weird
11064          behavior in gtk+-1.[02] where a string is interpreted
11065          differently for 8-bit and 16-bit fonts.
11066
11067        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
11068          to store common code for synthesizing double/triple
11069          press events.
11070         
11071        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
11072          Make all the function that modify an existing GC
11073          simply wrappers around gdk_gc_set_values().
11074          
11075        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
11076          for throwing out later.
11077
11078        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
11079          GdkImagePrivate and GdkColormapPrivate to have a
11080          windowing system dependent part (GdkFontPrivateX etc.)
11081          that "derives" from the system-independent part.
11082
11083        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
11084          Got rid of the included-source-files for XInput in
11085          favor of automake conditionals. (Which didn't exist
11086          when XInput support was originally added.)
11087
11088        * gdk/gdkrgb.c: Remove the visual id from the debugging
11089          statements since that is X11 specific; print out
11090          type/depth info instead.
11091          
11092
11093 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
11094
11095         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
11096         loading duplicates of hashed fonts.
11097
11098         * gdk/gdk.c (gdk_keysym_convert_case): rename
11099         gdk_XConvertCase to gdk_keysym_convert_case, allow
11100         results to be NULL in the GTK+ style.
11101
11102         * gdk/gdkcompat.h: Started compatibility header
11103         for renames.
11104
11105 1999-11-07  Tor Lillqvist  <tml@iki.fi>
11106
11107         * gdk/win32/gdkprivate.h: New font private structures, related to
11108         fontsets.
11109
11110         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
11111         gdk_font_list_free(). On X11, will just be wrappers to
11112         XListFonts() and XFreeFontNames(). On Win32, the code previously
11113         in gtkfontsel.c is now here.
11114
11115         New function gdk_font_xlfd_create(). On X11 will get the FONT
11116         property of the font (for GDK_FONT_FONTs), or call
11117         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
11118         builds a XLFD style name from the font information in the LOGFONT
11119         struct(s).
11120
11121         New function gdk_font_xlfd_free(), which correspondingly frees the
11122         string returned by gdk_font_xlfd_create().
11123
11124         Implement fontsets on Win32. Add a function that iterates over a
11125         wide char string and calls a callback function for each substring
11126         of wide chars from the same Unicode subrange (and thus probably
11127         available in the same real font).
11128
11129         Improve the XLFD emulation a bit.
11130
11131         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
11132
11133         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
11134         Beta3, WM_IME_CHAR messages don't seem to contain the composed
11135         multi-byte char as with the Active IMM on Win9x. Oh well, handle
11136         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
11137         ImmGetCompositionStringW() to get the composed Unicode chars.
11138
11139         * gdk/win32/gdkgc.c
11140         * gdk/win32/gdkdraw.c: Changes needed because of the font private
11141         struct changes.
11142
11143         * gdk/win32/gdk.def: Add the new functions.
11144
11145 1999-11-04  Tor Lillqvist  <tml@iki.fi>
11146
11147         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
11148         get the Platform SDK to get <dimm.h>.
11149
11150         * gdk/win32/gdkevents.c: More event handling fixes and
11151         simplification. Never generate motion events with is_hint true. We
11152         used to do that on bogus grounds earlier. Windows sends
11153         WM_MOUSEMOVE messages on button events even if the mouse hasn't
11154         moved, ignore these.
11155
11156         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
11157
11158         * gdk/win32/gdkglobals.c
11159         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
11160         the TrackMouseEvent function, and use it.
11161
11162         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
11163         char before calling WideCharToMultiByte in order to get a string
11164         for the window title.
11165
11166         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
11167
11168         * gdk/win32/gdk.def: Remove obsolete functions.
11169
11170         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
11171         /nodefaultlib and /defaultlib switches.
11172
11173         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
11174
11175 1999-10-31  Tor Lillqvist  <tml@iki.fi>
11176
11177         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
11178         EuroSign).
11179
11180         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
11181         same type as GdkWChar, especially on Win32.
11182
11183         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
11184
11185         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
11186         before passing to Windows GDI for drawing etc. Convert to the
11187         system default codepage before passing to Windows as window
11188         titles.
11189
11190         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
11191         support changing input locale on the fly.
11192
11193         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
11194         on-the-fly changes. Convert incoming characters from the current
11195         codepage to Unicode (and then to a UTF-8 multi-byte string) based
11196         on the current input language. Use keysym<->Unicode mapping tables
11197         and functions borrowed from xterm sources.
11198
11199         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
11200         editions of Win9x, use the ActiveX-based Active IMM (Input Method
11201         Manager) if available. IMEs and the Active IMM are available under
11202         the disguise of Chinese, Korean and Japanese support for IE and
11203         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
11204         support is present in all editions (as long as you install it).
11205
11206         Call DispatchMessage from gdk_events_queue() (and thus
11207         gdk_WindowProc()), instead of duplicating the code in
11208         gdk_WindowProc().
11209
11210         Reworked the grab handling and propagation code, factored out
11211         duplicated code snippets into separate functions. Other cleanups,
11212         too.
11213
11214         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
11215         the <dimm.h> header describing the Active IMM.
11216
11217         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
11218         just do the same as for "single" fonts.
11219
11220         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
11221         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
11222         the new keysyms from gdkkeysyms.h.
11223
11224         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
11225         fontset, so that gtkentry uses wide characters.
11226
11227         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
11228         GTk+'s system directory "gtk+", not "gtk".
11229
11230 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
11231
11232         * docs/gtkfaq.sgml: FAQ update
11233
11234 1999-10-21  Tor Lillqvist  <tml@iki.fi>
11235
11236         * gdk/win32/gdkprivate.h: Add more font private data.
11237
11238         * gdk/win32/gdkfont.c
11239         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
11240         fonts and strings. Now works much better. You still have to
11241         have a correct font selected, though. No fontset emulation yet.
11242
11243 1999-10-19  Tor Lillqvist  <tml@iki.fi>
11244
11245         * gtk/maketypes.awk: Use G_OS_WIN32.
11246
11247         * gtk/gtk.def: Add some missing entry points. Also some non-public
11248         ones, but PyGTK porter claims to need them.
11249
11250         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
11251         built-in type generation.
11252
11253 1999-10-14  Tor Lillqvist  <tml@iki.fi>
11254
11255         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
11256         GDK_FONT_FONT fonts (which is all we have for now, we don't
11257         emulate fontsets). The X11 version uses plain XDrawString in that
11258         case, too. The string passed to gdk_draw_text_wc seems to be in
11259         fact (at least, when used by gtkentry and gtktext) either in a
11260         single-byte charset, or a DBCS. Not Unicode.
11261
11262         This fixes the problem in gtkfontsel, where even if you had
11263         selected a font with a non-Latin1 charset (windows-greek, for
11264         instance), the preview still used Latin-1 glyphs.
11265
11266         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
11267         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
11268         (gdk_font_load): Recognize the demibold etc weights, even if we
11269         don't have the corresponding constants in the headers.
11270         (gdk_font_hash_insert): Use same hash mechanism as in the X11
11271         version. Should save font resources a bit, when we don't have
11272         multiple HFONTs for the same font.
11273
11274         * gdk/win32/gdkprivate.h: Add the names field as in the X11
11275         version.
11276
11277 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
11278
11279         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
11280         X values
11281
11282 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
11283
11284         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
11285         layout support (as mentioned on
11286         http://www.jcinteractive.com/gnome-ui/software/widgets/)
11287
11288 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
11289
11290         * gtk/fnmatch.c
11291         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
11292
11293 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
11294
11295         * configure.in (ALL_LINGUAS): Added Galician (gl)
11296
11297 1999-10-05  Tor Lillqvist  <tml@iki.fi>
11298
11299         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
11300
11301         * gdk/win32/gdkcompat.c: New file, actually provide an
11302         implementation for the deprecated functions. (Just temporarily.)
11303
11304         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
11305
11306         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
11307
11308         * gdk/win32/gdk.def gtk/gtk.def: Updates.
11309
11310 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
11311
11312         * configure.in: Added "uk" to ALL_LINGUAS.
11313         
11314 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
11315
11316         * configure.in: correct checking for BeOS check
11317
11318         * gdk/gdktypes.h
11319         * gtk/fnmatch.c
11320         * gtk/gtkfilesel.c
11321         * gtk/gtkitemfactory.c
11322         * gtk/gtkmain.[ch]
11323         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
11324
11325 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
11326
11327         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
11328         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
11329         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
11330         by Bulgarian). 
11331
11332 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
11333
11334         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
11335         Fix a reference to window_private->destroyed.   
11336
11337         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
11338         (ugly) setting of an internal GdkWindow member to use
11339         a _slightly_ cleaner macro.
11340
11341         * gdk/gdkprivate.h: Split GdkWindowPrivate into
11342         GdkDrawablePrivate and GdkWindowPrivate.
11343         Add extra macros for accessing GDK_DRAWABLE_ components.
11344
11345         * *.[ch]: Massive adjustments for the above, use the
11346         new macros in a lot of places.
11347
11348 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
11349
11350         * gdk/gdktypes.h: Make GdkDrawable the base type,
11351         not GdkWindow.
11352
11353 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
11354
11355         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
11356
11357 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
11358
11359         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
11360
11361 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
11362
11363         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
11364         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
11365
11366         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
11367
11368         * docs/gtk-config.1: Now autogenerated.
11369         * docs/Changes-1.4.txt: started
11370         
11371 1999-10-03  Tor Lillqvist  <tml@iki.fi>
11372
11373         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
11374         to #ifdef also here.
11375
11376         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
11377         Owen did to the X11 backend.
11378
11379         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
11380         ScrollWindowEx when blitting inside a window, it can't be correct
11381         in the general case.
11382
11383         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
11384         WM_GETMINMAXINFO is easier.
11385
11386         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
11387         depth equal to the bitspixel value, not the visual's depth.
11388
11389         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
11390         to 24 even if the bitspixel value is 32.
11391
11392         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
11393         need to check for depth==32 when bpp==32, depth will always be 24.
11394
11395 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
11396
11397         * docs/Changes-1.4.txt: Started
11398         
11399         * gtk/Makefile.am (gdk_headers): Include all the new headers.
11400
11401         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
11402         
11403         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
11404         into C file.
11405         
11406         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
11407         header to gdkinputprivate.h.
11408
11409         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
11410         unused since before 1.2.
11411
11412 1999-09-30  Tor Lillqvist  <tml@iki.fi>
11413
11414         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
11415         expand possible hex escapes in the font family (put there by
11416         logfont_to_xlfd if the font name isn't a legal XLFD font family,
11417         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
11418         On Win32, add hex escapes here, too.
11419
11420 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
11421
11422         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
11423         to #ifdef GDK_WINDOWING_X11.
11424
11425 [ Merges from gtk-1-2 ]
11426
11427 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
11428
11429         * configure.in: fixed "GNU Make" check to pass with new make version
11430         3.77.95.
11431
11432 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
11433
11434         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
11435         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
11436         AM_PATH_GTK() macros don't get confused by the -pre1.
11437
11438 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
11439
11440         * configure.in (REBUILD): Change check for perl5
11441           to check explicitely for v >= 5.002. (5.001
11442           does not work with our scripts.)
11443
11444 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
11445
11446         * configure.in: evaluate $PERL for the perl version check. added
11447         --disable-rebuilds to give the user an option to completely disable
11448         any source autogeneration rules.
11449
11450 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
11451
11452         * configure.in: evaluate $ac_make when checking for GNU Make.
11453
11454 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
11455
11456         * docs/Makefile.am: added generation.txt.
11457
11458         * Makefile.am: require automake 1.4, build README from README.in and
11459         INSTALL from INSTALL.in in dist-hook.
11460         
11461         * README.in:
11462         * INSTALL.in: new files to autogenerate README and INSTALL from.
11463
11464         * configure.in: figure whether we have GNU Make
11465
11466         * docs/generation.txt: minor additions/corrections.
11467
11468 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
11469
11470         * docs/gtkfaq.sgml: FAQ Update
11471
11472 July 30, 1999 Elliot Lee <sopwith@redhat.com>
11473         
11474         * configure.in: Fix autoconf warnings about cross compilation by
11475         trying to provide sane defaults for AC_TRY_RUN.
11476
11477 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
11478
11479         * ltconfig
11480         * ltmain.sh: upgrade to libtool 1.3.3
11481
11482 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
11483
11484         * INSTALL: Indicate that the --with-glib= configure
11485         time flag is unsupported.
11486
11487 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
11488
11489         * docs/generation.txt: Added a file that gives
11490         documenation about the autogeneration process for
11491         various autogenerated files.
11492         
11493 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
11494
11495         * configure.in (LIBS): Look for libgmodule in the
11496         right location.
11497
11498 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
11499
11500         * docs/gtk_tut.sgml: Removed references to
11501         code examples in my directory on gtk.org as
11502         they should all be in the tutorial now.
11503
11504         * docs/gtk_tut.sgml: Added sources for dial-test
11505         and scribble-xinput programs that were previously
11506         missing.
11507
11508 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
11509
11510         * TODO: Added entry about menu keyboard navigation, removed
11511         some finished items.
11512
11513 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
11514
11515         * acinclude.m4: Standardize on func_dgettext
11516         not func_gettext, so that the checks for dgettext
11517         actually are paid attention to.
11518
11519 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
11520
11521         * configure.in (LIBS): Add $INTLLIBS into $LIBS
11522         directly, rather than repeating the checks for
11523         gettext.
11524
11525         * INSTALL: Added information about gettext and
11526         NLS support.
11527
11528         * acinclude.m4 (LIBM): Check for dgettext, not
11529         just gettext. This should hopefully fix things wrt
11530         systems with old versions of GNU gettext installed.
11531
11532 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
11533
11534         * configure.in (LIBS): Look for libgmodule in the
11535         right location.
11536
11537 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
11538
11539         * autogen.sh: add --enable-maintainer-mode
11540
11541         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
11542
11543 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
11544
11545         * docs/gtk-config.1.in:
11546           docs/Makefile.am:
11547           configure.in: gtk-config is now generated.
11548
11549         * docs/gtk-config.1: Removed, now generated.
11550
11551 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
11552
11553         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
11554         handle CreateNotify itself, still put out a debuging message for
11555         --gdk-debug=events. made the ReparentNotify debugging message more
11556         verbose.
11557         wrap xcoords translation for ConfigureEvents into an error trap,
11558         a destroy event may already be pending, and in that case, the
11559         actuall coordinate values are not at all critical.
11560
11561 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
11562
11563         * gdk/gdkcc.c: Stop leaking the color_hash all over
11564         the place. Simplify and improve the logic.
11565
11566 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
11567
11568         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
11569         for prototypes and function implementations consistent (reported
11570         by Tomas Ogren).
11571
11572 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
11573
11574         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
11575         send_event set in debugging output.
11576         (gdk_compress_exposures): default initialize the event so we don't
11577         operate on bogus values (namely send_event).
11578
11579 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
11580
11581         * gdk/gdkwindow.c: When we receive an unexpected
11582         destroy notify on one of our windows, don't just
11583         warn about it, also mark our windows as destroyed.
11584
11585 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
11586
11587         * gdk/gdkfont.c (gdk_font_hash_insert): Add
11588           name => font and name => fontset hashes. The 
11589           name => fontset hash is a _big_ win since we
11590           weren't previously caching fontsets at all and loading
11591           fontsets is expensive. The name => font hash
11592           is less of a win, but it does save us from doing
11593           repeated XQueryFont calls on the same font.
11594
11595         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
11596           list so we can remove font/fontset from hash.
11597
11598 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
11599
11600         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
11601           and slightly confusing test. [ XInternAtom (,,TRUE)
11602           will never return None ].
11603
11604 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
11605
11606         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
11607           gdk/gdkwindow.c (gdk_window_set_hints):
11608
11609         Don't omit setting the properties if flags == 0 -
11610         there may be an existing set of properties there
11611         already. (Very old bug. Would it be better to
11612         delete the property instead?)
11613
11614         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
11615           spelling error in comment.
11616
11617 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
11618
11619         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
11620           to avoid stomping over gdk_error_warnings.
11621
11622         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
11623           as (bits_per_pixel + 7) / 8. This gives the same
11624           result as before for multiples of 8, but actually
11625           a "reasonable" value for 1bit or 4bit displays.
11626
11627 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
11628
11629         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
11630         GNU Make.
11631
11632 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
11633
11634         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
11635         discarding configure events.
11636
11637 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
11638
11639         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
11640         refcount is greater than zero.
11641
11642         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
11643
11644         * gdk/gdkfont.c (gdk_font_unref): Likewise.
11645
11646         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
11647
11648         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
11649
11650 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
11651
11652         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
11653         that format 32 => sizeof(item) == 4. It really is
11654         sizeof(long).
11655
11656 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
11657
11658         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
11659         core dump at all on X IO errors, only core dump
11660         if --enable-debug for X errors.
11661
11662 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
11663
11664         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
11665         unknown window:" message. disabled ConfigureNotify discarding code,
11666         because it led to events being processed out of order.
11667
11668 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
11669
11670         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
11671
11672         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
11673         we export this function, supress error warnings and don't reset the
11674         error code in the first half of this function.
11675
11676         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
11677         code (instead of just -1) so gdk_error_trap_pop() reveals something
11678         actually informative about the error that happened.
11679
11680         * gdk/*.c:
11681         don't rely on gdk_error_code being -1 if an error occoured, but just
11682         gdk_error_code != 0.
11683
11684 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
11685
11686         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
11687         pointer *before* invoking the filter function, so we at least don't
11688         crash if a filter is removed that is currently executed. window filters
11689         *really* need to be made truely reentrant at some point.
11690
11691 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
11692
11693         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
11694         PropertyNotify debug messages.
11695
11696 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
11697         
11698         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
11699         
11700         * gdk/gdkim.c: Fix cut-and-paste errors for 
11701         x/y and PreeditAttributes/StatusAttributes.
11702
11703 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
11704
11705         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
11706         G_MAXINT to 2^16 to alleviate overflow problems in
11707         various window managers.
11708
11709 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
11710
11711         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
11712         for fontsets.
11713
11714 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
11715
11716         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
11717         Initialize size_hints.x and size_hints.y because kwm
11718         brokenly pays attention to them.
11719         (Bug #1181 -  Lars Heete <hel@admin.de>)
11720
11721 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
11722
11723         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
11724         return value of gdk_list_visuals(). 
11725         (Bug #1193 - Morten Welinder <terra@diku.dk>)
11726
11727 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
11728
11729         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
11730         XSetIMValues to (void *) when comparing to NULL, to workaround
11731         the problem of some compilers barfing since older X headers don't
11732         have the prototype for it.
11733
11734 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
11735
11736         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
11737         for pseudocolor where colormap->colors was double
11738         allocated.
11739
11740         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
11741         color value in the hash table with the pixel filled
11742         in so when we do later hash table lookups, the color
11743         value is correct.
11744         
11745 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
11746
11747         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
11748         making the call
11749
11750 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
11751
11752         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
11753         pointed out by Morten Welinder <terra@diku.dk>.
11754
11755 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
11756
11757         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
11758           default filter from the list
11759
11760 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
11761
11762         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
11763           default filter from the list
11764
11765 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
11766
11767         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
11768
11769         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
11770         g_strdup_printf instead of calcing the length separately
11771
11772 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
11773
11774         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
11775         that we don't do in many other places. (Fixing duplicate 
11776         #include of config.h)
11777
11778         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
11779         Otherwise, #ifndef XINPUT_NONE check in the latter
11780         doesn't work. (Bug #546)
11781
11782 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
11783
11784         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
11785         "None" case insensitive.
11786
11787 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
11788
11789         * gdk/gdkselection.c: 
11790         Add error traps so if the other end of the connection
11791         dies, we survive.
11792
11793 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
11794
11795         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
11796         dest_xid field into two fields - one for the window
11797         to send in messages, one to indicate the last looked
11798         up window for caching purposes. This is needed, so
11799         that Leave messages get the correct window.
11800
11801 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
11802
11803         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
11804         Fix warning created by people mucking around
11805         with the gsource API.
11806
11807         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
11808         Change mapping between GIOCondition and GdkInputCondition
11809         to match the way the Linux kernel does it. This should
11810         fix problems where closed pipes were no longer signalling
11811         GDK_INPUT_READ on systems with a native poll().
11812
11813 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
11814
11815         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
11816         explicitly for the string "None" - it is in the XPM
11817         spec and some servers treat unknown colors in odd ways
11818         (like asking the user!)
11819
11820 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
11821
11822         * gdk/gdkevents.c: made "->" into a "." of previous change so
11823         it compiles
11824
11825 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
11826
11827         * gdk/gdkevents.c (gdk_compress_exposures): Set the
11828         window field of the event structure before calling
11829         user filters.
11830
11831 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
11832
11833         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
11834         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
11835
11836 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
11837
11838         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
11839         intermediate text property - prevents major memory
11840         leak when gdk_use_mb.
11841         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
11842
11843 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
11844
11845         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
11846         gtk-a-higuti-990322-[0-3]
11847
11848         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
11849         sizeof(wchar_t) != sizeof (GdkWChar)
11850
11851         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
11852         that was causing -DX_LOCALE not to work.
11853
11854         * gtk/gtkrc.c (gtk_rc_init):
11855         X_LOCALE will never have LC_MESSAGES defined
11856
11857         * gdk/gdk.c (gdk_init_check):
11858         Remove --xim-preedit and --xim-status from argv properly.
11859
11860         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
11861         that the client window is present on the X server
11862         before we pass it to the input method.
11863
11864 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
11865
11866         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
11867         if --display is specified on the command line, than
11868         the drag window will not be created on that display.
11869         
11870 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
11871
11872         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
11873         lookups with only_if_exists == TRUE were inserting
11874         bogus values into the atom cache.
11875
11876 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
11877
11878         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
11879         then reset it to NULL.
11880
11881         * gdk/gdkcolor.c:
11882         (gdk_colors_free): 
11883         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
11884         key for g_hash_table_remove() in both functions, this prevents us
11885         from accessing possibly uninitialized portions of a GdkColor structure
11886         where we are only interested in its pixel value.
11887
11888 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
11889
11890         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
11891         font hash table, if we have a GdkFontPrivate entry for this font
11892         already, simply increment its reference count, provided by Olaf Dietsche
11893         <olaf.dietsche+list.gtk@netcologne.de>.
11894
11895 1999-09-21  Tor Lillqvist  <tml@iki.fi>
11896
11897         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
11898         just to be sure.
11899
11900         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
11901         unused variables, leftovers from the X11 version.
11902
11903         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
11904
11905         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
11906         downcase fields on X11.
11907
11908 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
11909         
11910         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
11911         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
11912
11913 1999-09-17  Tor Lillqvist  <tml@iki.fi>
11914
11915         * gdk/win32/gdk.def: Add gdk_threads_mutex.
11916
11917         * gtk/makefile.msc: Correct path to libintl.
11918
11919         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
11920         use of gint vs. int, and gint vs. gboolean in headers and
11921         definitions. Use GtkType for the *_get_type functions. Note that
11922         these changes preserve binary compatibility.
11923
11924         * gdk/gdk.c
11925         * gdk/win32/gdk.c
11926         * gdk/gdk.h: Fix inconsistencies: gint vs int.
11927
11928         * gtk/gtkmain.c
11929         * gtk/gtkclist.c
11930         * gtk/gtkmenufactory.c
11931         * gtk/gtknotebook.c
11932         * gtk/gtkwidget.c: Fix inconsistencies, also gint
11933         vs. gboolean.
11934
11935         * gtk/gtkcolorsel.[ch]
11936         * gtk/gtkcombo.[ch]
11937         * gtk/gtkdrawingarea.[ch]
11938         * gtk/gtkgamma.[ch]
11939         * gtk/gtkhandlebox.[ch]
11940         * gtk/gtkhpaned.[ch]
11941         * gtk/gtkhruler.[ch]
11942         * gtk/gtkplug.[ch]
11943         * gtk/gtkpreview.[ch]
11944         * gtk/gtkruler.[ch]
11945         * gtk/gtksocket.[ch]
11946         * gtk/gtkstatusbar.[ch]
11947         * gtk/gtktoolbar.[ch]
11948         * gtk/gtkvbbox.[ch]
11949         * gtk/gtkvpaned.[ch]
11950         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
11951         functions.
11952
11953         * gtk/gtkgamma.h: Fix bug, missing () in call of
11954         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
11955
11956 1999-09-14  Tor Lillqvist  <tml@iki.fi>
11957
11958         * gdk/gdkcolor.c (gdk_colormap_new)
11959         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
11960         colormap->colors was allocated twice.
11961
11962         * gdk/win32/gdk.c: Remove some unused stuff.
11963
11964         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
11965         colormap.
11966
11967         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
11968         * gtk/gtklabel.h (gtk_label_get_type)
11969         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
11970         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
11971         in a couple of places, not guint.
11972
11973 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
11974
11975         * configure.in,po/et.po: added Estonian language file
11976
11977 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
11978
11979         * configure.in,po/da.po: added Danish file
11980
11981 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
11982
11983         * docs/gtkfaq.sgml: Minor FAQ Update
11984
11985 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
11986
11987         * docs/gtkfaq.sgml: FAQ update
11988
11989 1999-08-27  Tor Lillqvist  <tml@iki.fi>
11990
11991         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
11992         way to get window contents continually refreshed while resizing. I
11993         didn't like the effects myself, so it's not on by default.
11994
11995         * gdk/win32/gdkprivate.h: New flag variable
11996         gdk_event_func_from_window_proc, FALSE by default.
11997
11998         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
11999         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
12000         are passed --gdk-event-func-from-window-proc.
12001
12002         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
12003         and we have am event_func, call it instead of enqueing the event.
12004
12005 1999-08-23  Tor Lillqvist  <tml@iki.fi>
12006
12007         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
12008         Kelley: Set expose_count in GdkEventExposes correctly.
12009
12010         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
12011         MULTIPLE_WINDOW_CLASSES).
12012
12013         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
12014         for bug in NT, apparently NT *does* draw the end pixel, too, in
12015         LineTo with a one-pixel pen, so we don't have to do it ourselves.
12016
12017 1999-08-21  Tor Lillqvist  <tml@iki.fi>
12018
12019         Improvements by Hans Breuer: 
12020
12021         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
12022
12023         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
12024         CS_?REDRAW flags as they cause lots of (late) redraws when "show
12025         window contents while dragging" is turned on. Allocate at least
12026         one unique class for every GdkWindowType. If support for single
12027         window-specific icons is ever needed (eg. Dialog specific), every
12028         such window should get its own class.
12029
12030 1999-08-19  Tor Lillqvist  <tml@iki.fi>
12031
12032         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
12033         error that caused crashes.
12034
12035 1999-08-17  Tor Lillqvist  <tml@iki.fi>
12036
12037         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
12038         window, use ScrollWindowEx, and call UpdateWindow. This prevents
12039         bugs when for instance part of the window was outside the
12040         display. Thanks to Philippe Colantoni for finding and fixing this.
12041
12042 1999-08-16  Tor Lillqvist  <tml@iki.fi>
12043
12044         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
12045         endpoint calculations which were totally wrong. (A little RTFMing
12046         helps a lot ;-)
12047
12048         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
12049         from a separate directory, not from gettext, because of licensing
12050         issues (we want to use the LGPL version).
12051
12052         * README.win32: Mention the intl from glibc vs from gettext issue.
12053
12054 1999-08-13  Tor Lillqvist  <tml@iki.fi>
12055
12056         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
12057         in the key event handling: Now AltGr chars work again. Also,
12058         now Alt-digits are passed up as well as Control-digits.
12059         Pass keypad plus and minus as normal plus and minus.
12060
12061 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
12062
12063         * docs/gtkfaq.sgml: FAQ Update
12064
12065 1999-07-25  Tor Lillqvist  <tml@iki.fi>
12066
12067         * README.win32
12068         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
12069         the Wintab SDK.
12070
12071         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
12072         OK, but getting closer. Guard against bogus tilt data from Wacom
12073         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
12074         enable easier building without Wintab.
12075
12076         * gdk/win32/gdkinput.h
12077         * gdk/win32/gdkevents.c 
12078         * gdk/win32/gdkwindow.c: Minor changes related related to above.
12079         
12080         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
12081         code. As we have just one visual on Win32, no sense to have it in a
12082         table, and no need for the hash table.
12083
12084         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
12085         better on white background.
12086
12087 1999-07-21  Tor Lillqvist  <tml@iki.fi>
12088
12089         * README.win32: Update gcc build instructions. Mention gettext is
12090         GPL.
12091
12092         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
12093         supported cursor size with GetSystemMetrics.
12094
12095         * gdk/win32/gdkfont.c
12096         * gtk/gtkfontsel.c: Guard against some font weight and charset
12097         symbols being undefined (in mingw32 headers).
12098
12099         * gdk/win32/makefile.cygwin
12100         * gtk/makefile.cygwin
12101         * gtk/gtkthemes.c: No longer need to have differently named
12102         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
12103
12104 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
12105
12106         * docs/gtkfaq.sgml: Long awaited FAQ update.
12107
12108 1999-07-15  Tor Lillqvist  <tml@iki.fi>
12109
12110         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
12111         it. Obscure bit manipulation needed.
12112
12113         * gdk/win32/gdkevents.c: Logging.
12114         
12115         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
12116         style (file name include compiler name) for theme engines.
12117
12118 1999-07-13  Tor Lillqvist  <tml@iki.fi>
12119
12120         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
12121
12122         * gdk/win32/gdkevents.c: Fix long-standing bug in key
12123         events. The key.string wasn't zero-terminated, still we strdup'ed
12124         it in gdk_event_copy(). Synthesize crossing events for button
12125         events before possible propagation.
12126
12127         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
12128
12129         * gdk/win32/makefile.cygwin
12130         * gtk/makefile.cygwin: Use new DLL naming style for the
12131         GCC-compiled ones.
12132
12133         * gdk/win32/makefile.msc
12134         * gtk/makefile.msc: Cosmetics mostly.
12135
12136         * gtk/gtk.def: Add missing entry points.
12137
12138         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
12139
12140 1999-07-09  Tor Lillqvist  <tml@iki.fi>
12141
12142         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
12143         or height is zero. Don't print a warning if Pie or Arc fails, they
12144         always fail (?) for very narrow ellipses.
12145
12146         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
12147         the part or the destination window corresponding to source area
12148         outside of the source drawable's boundary.
12149
12150         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
12151         anything if less than two points.
12152
12153         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
12154         return NULL. Gtk cut-and-paste inside a single program works
12155         better this way. (It always gets the clipboard contents from
12156         Windows, not from its own copy, which is cleared anyway. I can't
12157         say I fully understand what happens... Emulating the X selection
12158         and property stuff is a bit of a mess.)
12159
12160         * gdk/win32/gdkevents.c
12161         * gdk/win32/gdkproperty.c: A bit more verbose logging.
12162
12163         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
12164         that never got deleted). Revamp gdk_region_shrink.
12165
12166         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
12167         after use.
12168
12169         * gtk/gtk.def: Add some missing entry points.
12170
12171         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
12172         component.
12173
12174 1999-07-04  Tor Lillqvist  <tml@iki.fi>
12175
12176         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
12177         Control-digits specially.
12178
12179 1999-07-03  Tor Lillqvist  <tml@iki.fi>
12180
12181         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
12182
12183 1999-06-28  Tor Lillqvist  <tml@iki.fi>
12184
12185         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
12186         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
12187         finding this.)
12188
12189 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
12190
12191         * gtk+.spec.in: Corrected some typos in files section.
12192         
12193 1999-06-15  Tor Lillqvist  <tml@iki.fi>
12194
12195         * README.win32: Mention using GNU gettext.
12196         * config.h.win32: Enable NLS stuff.
12197         * gtk/makefile.msc: Use GNU gettext.
12198         * gdk/win32/gdkdnd.c: Minor header reorg.
12199         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
12200         cosmetics.
12201         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
12202         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
12203
12204 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
12205
12206         * acinclude.m4
12207         * config.guess
12208         * config.status
12209         * ltconfig
12210         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
12211
12212 1999-05-30  Tor Lillqvist  <tml@iki.fi>
12213
12214         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
12215         SafeAdjustWindowRectEx. Don't override all calls to
12216         AdjustWindowRectEx by it, but use it only in two places: When
12217         creating a new top-level window and when moving a top-level
12218         window.
12219
12220         Use screen coordinate rectangle, not client rectangle, in
12221         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
12222         when we try to place a window so that the decoration (mainly,
12223         title bar) isn't visible.
12224
12225         These changes fix the bug that showed up for instance as the
12226         GIMP's saved top-level windows moving right and down (by an amount
12227         equal to the window decoration) for each session. This bug showed
12228         up also in testgtk's "Saved Position".
12229
12230         gdk_window_resize also redone a bit.
12231
12232 1999-05-25  Tor Lillqvist  <tml@iki.fi>
12233
12234         * gtk/testgtkrc: Add (commented out) Windows-style theme
12235         include line.
12236
12237         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
12238
12239 1999-05-18  Tor Lillqvist  <tml@iki.fi>
12240
12241         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
12242         gdkx.h to a gdk subdirectory, so that applications can include
12243         these with <gdk/*.h> without trouble.
12244
12245         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
12246         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
12247         have their bitmap destroyed.
12248
12249         * gdk/win32/gdk.def: Add gdk_root_parent.
12250
12251 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
12252
12253         * configure.in
12254           gtk-config.in
12255           ltconfig
12256           ltmain.sh     
12257           gtk/Makefile.am: changes to compile nicely (with xlib) 
12258           on BeOS
12259
12260 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
12261
12262         * acinclude.m4
12263         * config.guess
12264         * config.sub
12265         * ltconfig
12266         * ltmain.sh: upgrade to libtool 1.3
12267
12268 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
12269
12270         * gtk/gtkclist.c:
12271         * gtk/gtkctree.c: merges from gtk-1-2
12272
12273 1999-04-25  Tor Lillqvist  <tml@iki.fi>
12274
12275         Support added for building using a GNU toolchain on Win32,
12276         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
12277
12278         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
12279         * config.h.win32: Changes for gcc.
12280         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
12281         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
12282         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
12283         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
12284         Protect shl stuff unavaiilable with mingw32 headers.
12285         * gdk/win32/gdkevents.c: Fix typo.
12286         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
12287         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
12288         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
12289         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
12290         the mingw32 headers.
12291         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
12292         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
12293         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
12294         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
12295         Test for NATIVE_WIN32, not _MSC_VER.
12296         * gtk/gtkmain.c: No use warning about developer version on Win32,
12297         there aren't any non-developer versions anyhow.
12298         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
12299         * gtk/makefile.msc: Use pthread from another directory. Minor other
12300         changes. 
12301
12302 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
12303
12304         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
12305           default filter from the list
12306
12307 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
12308
12309         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
12310          when gtk_widget_grab_default() is called for a widget that
12311          is not within a GtkWindow.
12312
12313 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
12314
12315         * docs/gtk_tut.sgml, examples/clist.c: use a
12316           scrolled window in the clist example. Minor
12317           tutorial fixes.
12318
12319 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
12320
12321         * docs/gtk_tut.sgml: Style check from David King
12322           <dking@youvegotmail.net>
12323
12324 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
12325
12326         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
12327         compile with unknown value of GDK_WINDOWING
12328
12329 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
12330
12331         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
12332         after the rule is fired.
12333         (install-exec-local): Install gdkconfig.h only if the contents are
12334         different from the currently installed gdkconfig.h.
12335
12336 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
12337
12338         * gdk/Makefile.am (configexecincludedir): Rename from 
12339         configincludedir so that gdkconfig.h will be installed 
12340         as part of `make install-exec'. 
12341
12342 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
12343
12344         * acinclude.m4
12345         * config.guess
12346         * config.sub
12347         * ltconfig
12348         * ltmain.sh: upgrade to libtool 1.2f
12349
12350         * autogen.sh: libtool is not required to autogen gtk+
12351
12352         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
12353         needed)
12354
12355 1999-03-18  Tor Lillqvist  <tml@iki.fi>
12356
12357         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
12358         declaring gdk variables exported/imported from the DLL. New image
12359         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
12360         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
12361         GDK_DRAG_PROTO_OLE2.
12362
12363         * gdk/gdk.h: Merge in Win32 version: Two new functions,
12364         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
12365         declared only for the Win32 version, but could be in the X11
12366         version as well. (Needed for a Xlib-less gdk_imlib.)
12367         gdk_color_hash should have only one parameter. Declare
12368         gdk_threads_mutex with GDKVAR.
12369         
12370         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
12371         just one parameter.
12372
12373         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
12374         per pixel, not bits.
12375
12376         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
12377         Fetch bpp (which means bits-per-pixel here) from another place on
12378         Win32. Accept also depth==32 (which we might get on Win32) with
12379         bpp==32.
12380
12381         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
12382         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
12383         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
12384         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
12385         in the backend-dependent directory, not in the common gdk
12386         directory.
12387
12388         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
12389         headers.
12390
12391 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
12392
12393         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
12394         want to use the Gtk+ devel version (which is true, and yes - even i am
12395         currently working with the 1.2.x branch). so everyone reading this, you
12396         probably want to issue
12397         cvs checkout -r glib-1-2 glib
12398         and
12399         cvs checkout -r gtk-1-2 gtk+
12400         as your next two comands.
12401
12402 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
12403
12404         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
12405         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
12406
12407         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
12408         file. strongly deprecated the GTK_HAVE_* macros, we provide
12409         GTK_CHECK_VERSION() for people that need to check for certain
12410         Gtk+ versions.
12411
12412         * gtk/gtkcompat.h: removed this from CVS.
12413         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
12414         idea right from the start, it just didn't seem like that back then.
12415
12416 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
12417
12418         * merges from gtk-1-2:
12419
12420 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
12421
12422         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
12423         item factory class has been created.
12424         (gtk_item_factory_parse_rc): likewise.
12425
12426         * gtk/gtkmenu.c:
12427         keep proper references for old_active_menu_item.
12428         (gtk_menu_reparent): unset the usize of the new parent,
12429         so the menu can sanely be size requested and we don't get nasty screen
12430         artefacts upon next reparentation.
12431         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
12432         enter notify. only synthesize enter notifies if the pointer really is
12433         inside the event window.
12434         (gtk_menu_popdown): use gtk_menu_shell_deselect().
12435         (gtk_menu_popup): move the background setting stuff into
12436         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
12437
12438         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
12439         gtk_menu_shell_select_item() to select the new item.
12440         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
12441         do the right thing for deselection as well.
12442
12443 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
12444
12445         * gtk/gtkwidget.[hc]:
12446         (gtk_widget_accelerators_locked): return whether a widget's accelerators
12447         are locked.
12448
12449         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
12450         existing accelerators if the widget's accelerators are locked.
12451
12452 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
12453
12454         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
12455
12456         * gtk/gtkmenu.c: truely forward key press and key release events to
12457         the menu widget from the toplevel or tearoff window. we can't simply
12458         connect to that, we need to stop further processing of the events as
12459         well.
12460
12461 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
12462
12463         * gtk/gtkmenu.c:
12464         (gtk_menu_key_press): pass event->keyval, event->state to
12465         gtk_accelerator_valid, instead of event->keyval twice.
12466         refuse to install single letter accelerators for menus that use
12467         single letter shortcuts.
12468
12469         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
12470         gtk_menu_ensure_uline_accel_group().
12471
12472         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
12473         which will always return an uline accel group, made
12474         gtk_menu_get_uline_accel_group() return NULL if the group isn't
12475         yet created.
12476
12477 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
12478
12479         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
12480
12481         * gtk/gtkclist.c (gtk_clist_column_title_passive):
12482         Leave button sensitive, trap  button_press, button_release,
12483         motion_notify, enter_notify and leave_notify events instead.
12484         (gtk_clist_column_title_active): disconnect event handler.
12485         (gtk_clist_drag_data_get): fixed memory leak. Reported by
12486         Guillaume Laurent <glaurent@worldnet.fr>
12487
12488 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
12489
12490         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
12491         width/height mixups.
12492
12493         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
12494         if needed.
12495
12496 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
12497
12498         * gtk/testgtk.c (create_item_factory): unref the item factory after
12499         window's destruction.
12500
12501         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
12502         count on the menu shell around the menu item's activation, since the
12503         signal emission may cause menu shell destruction.
12504
12505         * gtk/gtkitemfactory.c:
12506         the previous code leaked one accel group per menu. we use
12507         gtk_menu_get_uline_accel_group() now to fix that, and with that
12508         also create the underline accelerator group of the menus only if
12509         required (i.e. an underline accelerator has been specified).
12510         (gtk_item_factory_construct):
12511         (gtk_item_factory_create_item): removed code that would create an
12512         extra accel group for the menu (and leak references).
12513         (gtk_item_factory_create_item): adapted the underline accelerator
12514         installation code to properly feature gtk_menu_get_uline_accel_group().
12515
12516         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
12517         menu->accel_group, this may return NULL if the accelerator group
12518         hasn't been set yet.
12519         added gtk_menu_get_uline_accel_group() to retrive the underline
12520         accelerator group of the menu, this will be created on demand
12521         and proper care is taken about its reference count.
12522
12523         * gtk/gtkitemfactory.h:
12524         * gtk/gtkitemfactory.c:
12525         dumped the approach of keeping a widgets by action list on the
12526         factory since the factory<->widget destroy negotiation didn't work
12527         and would be hard to get going at all. instead we keep a list of
12528         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
12529         persistant throughout a program's life time).
12530         also, i removed the static const gchar *key_* variables, and made
12531         them inline strings (they weren't actually used anyways).
12532         (gtk_item_factory_add_item): update ifactory->items.
12533         (gtk_item_factory_destroy): destroy ifactory->items (and remove
12534         the item factory pointer from the remaining ifactory widgets).
12535         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
12536         list to find the widget.
12537         (gtk_item_factory_get_item): new function that works around
12538         gtk_item_factory_get_widget() limitations, this function will only
12539         return menu items, even for <Branch> entries.
12540
12541 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
12542
12543         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
12544         font hash table, if we have a GdkFontPrivate entry for this font
12545         already, simply increment its reference count, provided by Olaf Dietsche
12546         <olaf.dietsche+list.gtk@netcologne.de>.
12547
12548         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
12549         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
12550
12551 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
12552
12553         * gtk/gtkcontainer.c:
12554         (gtk_container_add_with_args):
12555         (gtk_container_addv):
12556         (gtk_container_add): before adding a child to a conatiner, make sure
12557         it is (default) constructed, this is neccessary because under certain
12558         circumstances the child will get relized and mapped immediatedly, in
12559         which case it has to be constructed already.
12560
12561 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
12562
12563         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
12564         values > 1 as TRUE also.
12565
12566 1999-03-16  Tor Lillqvist  <tml@iki.fi>
12567
12568         * README.win32: New file.
12569                 
12570         * configure.in: Check for lstat.
12571
12572         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
12573         completeness.
12574
12575         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
12576
12577         * gtk/gtk.def: Removed CRs.
12578
12579         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
12580         ..\gdk\win32).
12581
12582         * gdk/win32/makefile.msc: Correct upwards relative paths.
12583         
12584 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
12585
12586         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
12587           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
12588           it was connecting a void function to expose_event and the int
12589           returning function to the draw signal
12590
12591 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
12592
12593         * configure.in:
12594         Use correct path to libgmodule.la when ref'ing uninstalled copy
12595         of glib.  (Already in stable branch, Bug #417)
12596
12597 1999-03-15  Tor Lillqvist  <tml@iki.fi>
12598
12599         Win32 merge and general portability stuff:
12600                 
12601         * acconfig.h,configure.in: Check for <sys/time.h>.
12602
12603         * gdk/win32: New directory (actually, been there for a while).
12604         
12605         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
12606         NATIVE_WIN32, and use these. Always case fold on Win32. No
12607         backslashed escapes on native Win32.
12608
12609         * gtk/{gtk.def,makefile.msc}: New files.
12610
12611         * gtk/Makefile.am: Add above new files.
12612         
12613         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
12614         instead of <strings.h>.
12615
12616         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
12617         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
12618         <unistd.h> appropriately.
12619
12620         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
12621         Use ABS() (from <glib.h>) instead of abs().
12622         
12623         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
12624         of gtk (and thus glib) headers, so that WIN32 will be
12625         defined. With MS C, include <direct.h> for mkdir prototype.
12626
12627         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
12628         some casts, needed by MS C.
12629
12630         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
12631         implemented).
12632
12633         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
12634         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
12635         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
12636
12637         * gtk/gtkmain.h: Mark variables for export/import on Win32.
12638                 
12639         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
12640         the event is not a hint, or its window is not the slider. Needed
12641         on Win32, at least.
12642
12643         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
12644         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
12645         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
12646         a subdirectory of the Windows directory as gtk system
12647         configuration directory.
12648
12649         * gtk/gtkselection.c: No chunks on Win32.
12650
12651         * gtk/gtksocket.c: Not implemented on Win32.
12652
12653         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
12654
12655         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
12656
12657         * gtk/maketypes.awk: Declare variables with a macro that expands to
12658         necessary export/import magic in the case of Win32.
12659                 
12660         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
12661
12662 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
12663
12664         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
12665         since those were meant only for gdki18n.h.  
12666         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
12667         for widechar tests.
12668         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
12669
12670 1999-03-13  Tor Lillqvist  <tml@iki.fi>
12671
12672         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
12673         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
12674
12675         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
12676         installed) to CFLAGS.
12677
12678         * gdk/Makefile.am: Add rules for gdkconfig.h.
12679
12680         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
12681         APIs.
12682
12683         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
12684         gdkx.h anyway when compiling for X11.
12685         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
12686         general): Merge in Win32 version.
12687         
12688         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
12689         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
12690         expansion (if we don't have HAVE_PWD_H), allow for drive
12691         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
12692         included code from Craig Setera's port to Win32 (the one that uses
12693         X11, and the cygwin dll), even if it probably will be abandoned.
12694
12695         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
12696         the user entered one herself.  This way one can complete *.h and
12697         don't get matches on any .help files, for instance.
12698         
12699 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
12700
12701         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
12702         font hash table, if we have a GdkFontPrivate entry for this font
12703         already, simply increment its reference count, provided by Olaf Dietsche
12704         <olaf.dietsche+list.gtk@netcologne.de>.
12705
12706         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
12707         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
12708
12709 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
12710
12711         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
12712         the number of calls to gdk_draw_point() (and thus to X) by
12713         clipping the points by hand.
12714
12715         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
12716         the clip parameter.
12717         (gtk_handle_box_paint): Only paint the handle if the expose area
12718         intersects it.
12719
12720 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
12721
12722         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
12723
12724 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
12725
12726         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
12727         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
12728
12729 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
12730
12731         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
12732          textmode (O_TEXT) for OS/2 version.
12733
12734 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
12735
12736         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
12737         GtkSpinButton, "input" and "output", to make the output more flexible.
12738         The user has to provide a mapping between adjustment->value and the
12739         output string (and vice versa, if the spin button is editable). 
12740         See testgtk for examples.
12741
12742 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
12743
12744         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
12745         new one.
12746         
12747         * configure.in: set gtk+ version to 1.3.0.