]> Pileus Git - ~andy/gtk/blob - ChangeLog
Fix syntax error introduced with earlier commit) (pointed out by Ollie
[~andy/gtk] / ChangeLog
1 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
2
3         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
4         error introduced with earlier commit) (pointed out by
5         Ollie Lho)
6
7 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
8
9         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
10         which are no longer necessary.
11
12 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
13
14         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
15
16 2001-02-04  Tor Lillqvist  <tml@iki.fi>
17
18         * gdk/gdk.def
19         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
20         Provide dummy implementations.
21
22 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
23
24         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
25
26         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
27         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
28         deprecated this function.
29
30         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
31         argument.
32
33 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
34
35         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
36
37 2001-02-03  Havoc Pennington  <hp@pobox.com>
38
39         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
40         Mikael Hermansson with patch from Mikael (if there was a toggle
41         start one after the first character in the range, this function
42         was broken). Bug #50380
43
44 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
45
46         * configure.in: Remove confusing comment about X11.
47
48 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
49
50         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
51         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
52         
53 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
54
55         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
56         it breaks things on BSD. If you want to compile GTK+ with
57         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
58         when configuring, since GTK+ simply can't be "pure ANSI" 
59         in the header files it uses. (#8170, Greg Hudson)
60
61 2001-02-02  Havoc Pennington  <hp@redhat.com>
62
63         * gtk/gtkwindow.c: docs
64
65         * gtk/gtkwidget.c: docs
66         (gtk_widget_set_colormap): add a reference to the colormap
67         (gtk_widget_get_default_colormap): add a reference to the colormap
68
69         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
70
71         * gtk/gtktextiter.c: docs
72
73         * gtk/gtkmain.c (gtk_propagate_event): docs
74
75         * gtk/gtkpaned.c (gtk_paned_get_position): docs
76         (gtk_paned_set_position): docs
77
78         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
79         sort interface, no implementation yet.
80
81         * demos/testpixbuf.c (new_testrgb_window): replace
82         gtk_drawing_area_size() with gtk_widget_set_usize()
83
84         * demos/testpixbuf-drawable.c (main): ditto
85         
86         * gtk/testgtk.c: remove use of GtkStatusbarMsg
87
88         * gtk/gtktextbuffer.c: docs
89
90         * gtk/gtkstock.c: docs
91
92         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
93
94         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
95
96         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
97         
98         * gtk/gtkimage.c: add some docs in here
99         (gtk_image_size_request): change name of
100         gtk_widget_render_stock_icon
101         (gtk_image_get_icon_set): don't dup returned string
102         (gtk_image_get_icon_set): don't dup returned string
103
104         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
105         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
106         and gtkiconfactory.h functions
107
108         * gtk/gtkiconfactory.c: add some docs in here
109
110         * gtk/gtkmain.c (gtk_get_default_language): document
111         (gtk_get_current_event): document
112         (gtk_get_current_event_state): document
113         (gtk_get_event_widget): document
114
115         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
116
117         * gtk/gtkcontainer.c: Add some documentation
118         (gtk_container_add): give a more explanatory warning on adding an
119         already-parented widget, this is kind of a FAQ and also a common
120         typo that's easier to debug with a nice warning 
121
122         * gtk/gtkcellrenderertoggle.c
123         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
124         adding this, it's useless
125         (gtk_cell_renderer_toggle_set_active): remove
126         (gtk_cell_renderer_toggle_get_radio): add
127
128         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
129         the NULL cell renderer, that doesn't make any sense to me. 
130
131         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
132         demo code should never use deprecated features.
133
134         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
135         code should never use deprecated features.
136
137         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
138         gtk_widget_queue_clear_area deprecated
139
140         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
141         deprecated
142
143         * gtk/gtklabel.h: mark gtk_label_get() deprecated
144
145         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
146         a GdkImage deprecated, replaced by new consistently-named
147         functions       
148
149         * gtk/gtkmain.h: Mark gtk_exit() deprecated
150
151         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
152
153         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
154         deprecated
155
156         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
157         so it won't appear in docs and confuse people.
158
159         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
160
161         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
162         macros deprecated. (can't mark the type itself deprecated, since
163         GtkProgressBar is not deprecated and we need the type decl to use
164         GtkProgressBar)
165
166         * gtk/gtkpixmap.h: Mark deprecated
167
168         * gtk/gtkoldeditable.h: Mark deprecated
169
170         * gtk/gtklist.h: Mark deprecated
171
172         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
173         for anything anymore.
174
175         * gtk/gtkctree.h: Mark deprecated
176
177         * gtk/gtkclist.h: Mark deprecated
178
179         * gtk/gtkpreview.h: Mark deprecated
180
181         * gtk/gtkpacker.h: Mark deprecated
182
183         * gtk/gtktipsquery.h: Mark deprecated
184
185         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
186
187         * gtk/gtkvruler.h: Add comment that it will move out of GTK
188
189         * gtk/gtkhruler.h: Add comment that it will move out of GTK
190
191         * gtk/gtkruler.h: Add comment that it will move out of GTK
192
193         * gtk/gtkgamma.h: Add comment that it will move out of GTK
194
195         * gtk/gtkcurve.h: Add comment that it will move out of GTK
196
197 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
198
199         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
200         gdk_colormap_sync private since it was never exported
201         in a header file.
202
203         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
204         colormap->colors[] for StaticGray, StaticColor colormaps.
205
206         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
207         was being used as if it was image->bits_per_pixel.
208
209         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
210         for the image in the GdkImage structure since it isn't
211         reconstructable, and we need it to handle packed types
212
213         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
214         the assumption that on Win32 image->bits_per_pixel == image->depth,
215         always.
216
217         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
218
219         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
220         warning message if no converter can be found. 
221
222 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
223
224         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
225         chars to isupper() / tolower(). (#567)
226
227         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
228         to clear up 64-bit warnings. (#567)
229
230 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
231
232         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
233         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
234
235         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
236         since some people set $(libdir) separately. (#1290, David Kaelbling)
237
238 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
239
240         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
241         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
242         MAXPATHLEN, but the code here depends on a fixed value.)
243         (#4524)
244
245 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
246
247         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
248         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
249
250 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
251
252         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
253         viewable there is no way that moving the node will cause the 
254         focus row to become not viewable, so omit check on the visibility
255         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
256
257 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
258
259         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
260         selection before inserting new text.
261
262 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
263
264         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
265         Make the sensitivity of the reparented child track that of
266         the original parent menu item. (#34218, David Hodson)
267
268         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
269         the case where the current item is destroyed properly.
270
271         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
272         some edge cases with child-less menuitems.
273         
274 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
275
276         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
277         key pop down window. (#12074, Jon K Hellan)
278
279 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
280
281         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
282         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
283         The solution here isn't perfect - you get an extraneous
284         emission of "toggle", which could conceivably confuse an app,
285         but better than the current situation. LXR search seems to
286         indicate that no apps in GNOME CVS connect to "toggle".
287
288 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
289
290         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
291         gtk_public_h_sources to directly here to avoid warning when
292         building srcdir != builddir. (#9656)
293
294 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
295
296         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
297         handlers in gtkrange.c return the proper values (TRUE == handled)
298         (#10316).
299
300         This is just the tip of the iceberg, but gtkrange.c is the
301         most common place where the propagation is problematical,
302         and also a place where it is almost certainly safe to change
303         this in the stable branch.
304
305         (You don't want right click popups on a range control or anything...)
306
307 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
308
309         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
310         area on focus out, even if a background pixmap isn't set.
311         (#13941)
312         
313 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
314
315         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
316         to deal with setting the shape properly when scrolling arrows are
317         turned on, but not visible because there is sufficient space.
318         (#13432)
319
320 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
321
322         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
323         items with submenus, destroy the item along with the submenu.
324         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
325         properly.
326
327         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
328         later.
329
330 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
331
332         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
333         the focus widget sometimes wasn't drawn with the default if there
334         was no default widget.
335
336         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
337         unreference pixmaps. 
338
339         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
340         for some extra safety.
341
342 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
343
344         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
345         the text of a cell to the old pointer value better, by
346         copying the new text before freeing the old text. Some code
347         cleanup. (#8079, Karl Nelson)
348
349 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
350
351         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
352         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
353
354 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
355
356         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
357         item from a menu, check to see if it matches 
358         menu->old_active_menu_item, and if so, unref and clear
359         old_active_menu_item (Patch from Pavel Cisler)
360
361         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
362         menu_shell->active_menu_item, if it is the child being
363         removed. (Patch based on that of Gene Ragan, #50337)
364
365 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
366
367         * gdk/linux-fb/gdkselection-fb.c: 
368         * gdk/linux-fb/gdkcolor-fb.c: 
369         * gdk/linux-fb/gdkdrawable-fb2.c: 
370         * gdk/linux-fb/gdkfont-fb.c: 
371         * gdk/linux-fb/gdkim-fb.c: 
372         * gdk/linux-fb/gdkinput.c: 
373         * gdk/linux-fb/gdkkeyboard-fb.c: 
374         * gdk/linux-fb/gdkmain-fb.c: 
375         * gdk/linux-fb/gdkrender-fb.c: 
376         A bunch of whitespace cleanup.
377         
378 2001-01-30  Havoc Pennington  <hp@pobox.com>
379
380         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
381         #ifdef GTK_ENABLE_BROKEN.
382
383         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
384         GTK_ENABLE_BROKEN just before including the broken headers.
385         
386         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
387         deprecated types registered.
388
389         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
390         we have to test the broken stuff.
391
392         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
393         
394 2001-01-30  Havoc Pennington  <hp@redhat.com>
395
396         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
397         here where prev pointer was set to the wrong thing
398
399         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
400         (gtk_tree_path_is_descendant): new function
401
402         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
403         cached length
404         (gtk_list_store_get_iter): don't modify iter if we can't get the
405         path.
406
407         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
408         
409         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
410         GtkTreeDragDest
411
412         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
413         was causing segfault
414
415         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
416         pointer to NULL
417
418         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
419
420         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
421         on returning FALSE
422         (gtk_list_store_iter_children): ditto
423         (gtk_list_store_iter_nth_child): ditto
424         (gtk_list_store_iter_nth_child): ditto
425         (gtk_list_store_iter_parent): ditto
426
427         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
428         on iter->user_data != NULL instead of silently accepting it.
429         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
430         we are returning TRUE.
431         (gtk_tree_store_iter_children): ditto
432         (gtk_tree_store_iter_nth_child): ditto
433         (gtk_tree_store_iter_parent): ditto
434         (gtk_tree_store_insert): remove handling of parent->user_data ==
435         NULL, replace with parent == NULL       
436
437         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
438         and a comment explaining things
439
440         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
441         interface support to GtkTreeStore.
442
443         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
444         FALSE if no prev, fix
445
446         * gtk/gtktreeview.c (set_source_row): use a row reference
447         (set_dest_row): use a row reference
448
449 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
450
451         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
452         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
453         (gtk_tree_selection_select_iter): The same as above.
454
455 2001-01-26  Havoc Pennington  <hp@redhat.com>
456
457         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
458         which holds a handle to a specific row (particular set of values
459         in the model, i.e. pointer-identity row).
460
461         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
462         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
463         Still need to use it for the src/dest row saved on the drag context.
464
465 2001-01-26  Havoc Pennington  <hp@redhat.com>
466
467         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
468
469         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
470         not offset by TREE_VIEW_HEADER_HEIGHT
471         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
472         TREE_VIEW_HEADER_HEIGHT
473
474         * configure.in (included_loaders): for me, --with-included-loaders
475         generates the error "the specified loader yes does not exist",
476         i.e. the arg defaults to "yes", so change test for value ""
477         to test for value "yes", and include all loaders in that case.
478
479         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
480
481         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
482         handle TREE_VIEW_VERTICAL_SEPARATOR
483         (gtk_tree_view_bin_expose): fix to consider the row offset as
484         pointing halfway into vertical separator.       
485         (gtk_tree_view_draw_node_focus_rect): ditto
486
487         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
488         --gtk-debug=updates, which causes gdk_window_set_debug_updates
489         (TRUE) to be called.
490
491         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
492         debug mode where the invalid region is colored in on invalidate,
493         so you can see the flicker and know whether your redraw code is 
494         doing a good job.
495
496         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
497         tree window coordinates (clip rect is in tree window coords)
498
499         * gtk/Makefile.am: add gtktreednd.[hc]
500
501         * gtk/gtkliststore.c: implement gtktreednd interfaces.
502
503         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
504         drag-and-drop data operations on a model (so we can set up tree
505         drag-and-drop automatically)
506
507         * gtk/testgtk.c: Add a window to change sensitivity in the
508         GtkLabel test; add a way to change the entry frame in GtkEntry
509         test
510
511         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
512         (gtk_entry_get_has_frame): new functions to remove the frame
513         around an entry
514         (gtk_entry_size_request): shrink requisition if no frame
515         (gtk_entry_draw_focus): don't draw frame if no frame
516
517         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
518         checks inside a cell renderer
519         (gtk_default_draw_option): ditto for options
520
521         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
522         children from the alignment, not the button
523         (gtk_tree_view_column_init): ref/sink the column, to emulate
524         GObject refcounting.
525
526         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
527         
528         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
529         Use theme functions to draw the toggles 
530
531         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
532
533         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
534         GdkPangoAttrEmbossed to use in rendering insensitive text
535
536         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
537
538         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
539         using new GDK features
540         
541 2001-01-24  Alexander Larsson  <alexl@redhat.com>
542
543         * gtk/gtkimage.c:
544         Splitted gtk_image_clear into gtk_image_clear() and
545         gtk_image_reset(). Call gtk_image_clear() in ::destroy
546         to avoid leaks.
547
548         * gtk/gtklabel.c (set_markup):
549         Don't leak text.
550
551         * gtk/gtktextlayout.c:
552         Always free display->shaped_objects.
553
554         * gtk/testgtk.c (create_clist):
555         Don't leak custom style.
556
557 2001-01-23  Alexander Larsson  <alexl@redhat.com>
558
559         * gtk/gtkcolorsel.c (grab_color_at_mouse):
560         Don't leak image. Simplify using gdk_colormap_query_color().
561         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
562
563         * linux-fb/gdkcolor-fb.c:
564         Implemented gdk_colormap_query_color.
565
566 2001-01-23  Alexander Larsson  <alexl@redhat.com>
567
568         * linux-fb/gdkcursor-fb.c:
569         Don't leak built-in cursors.
570
571         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
572         Don't leak tmp_points.
573
574         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
575         Don't modify desc. Don't leak font if the PangoFont
576         isn't found.
577         
578         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
579         Free dash_list.
580
581         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
582         Don't leak string.
583         
584 2001-01-20  Havoc Pennington  <hp@pobox.com>
585
586         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
587         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
588         me, matches Pango
589
590 2001-01-22  Havoc Pennington  <hp@redhat.com>
591
592         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
593
594         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
595
596         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
597         Remove, move back to gdk-pixbuf
598
599         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
600         to all the word functions
601
602         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
603         before doing anything on NULL layout or if we don't have the focus
604
605         * gtk/testtext.c (fill_example_buffer): "justification"
606
607         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
608         to be called "justification" not "justify"
609
610         * demos/gtk-demo/textview.c (create_tags): "justification"
611         
612         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
613
614 2001-01-22  Alexander Larsson  <alexl@redhat.com>
615
616         * gdk/gdkwindow.c (gdk_window_invalidate_region):
617         Don't leak visible_region. Use visible_region instead of region.
618         
619         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
620         Don't do extra gdk_drawable_ref(). This is not X.
621         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
622         gdk_fb_focused_window is ref:ed.
623         (gdk_fb_window_send_crossing_events): Watch out for destroyed
624         windows.
625
626 2001-01-22  Alexander Larsson  <alexl@redhat.com>
627
628         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
629         Don't leak the PangoFontDescriptor.
630
631 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
632
633         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
634         when not realized.
635         (gtk_tree_view_scroll_to_cell): Make work when not realized.
636         (gtk_tree_view_realize): add scroll_to support
637         (gtk_tree_view_finalize): add a finalize method.  Populate.
638         (gtk_tree_view_insert_column): ref and sink the column.
639         (gtk_tree_view_append_column): ref and sink the column.
640         (gtk_tree_view_queue_draw_node): New function to handle redrawing
641         individual nodes.  Should make the code much more efficient, if
642         actually used.
643
644 2001-01-19  Havoc Pennington  <hp@redhat.com>
645
646         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
647         byte_offset variable was being used to mean both "offset into
648         layout" and "offset into buffer line" which was no longer true
649         with addition of preedit string; fix
650
651 2001-01-19  Havoc Pennington  <hp@redhat.com>
652
653         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
654
655         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
656         function
657
658         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
659         implement
660
661         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
662         scroll_to_cell, matches TextView scroll functions better
663         (gtk_tree_view_tree_to_widget_coords): new function
664         (gtk_tree_view_widget_to_tree_coords): new function
665         (gtk_tree_view_get_visible_rect): new function
666         (gtk_tree_view_get_path_at_pos): accept negative coordinates
667         (gtk_tree_view_draw_node_focus_rect): new function moved from
668         draw_focus, also, use width of bin_window as width of the focus
669         rect
670         (gtk_tree_view_expand_row): fix bug where it didn't recognize
671         already-expanded rows
672         (gtk_tree_view_get_cell_rect): new function
673         (gtk_tree_view_get_path_at_pos): return the click position
674         relative to the passed-in cell
675         (gtk_tree_view_set_expander_column): new function
676
677         * configure.in: remove gtk-config-2.0 chmod
678
679         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
680         and properly handle drags with targets we don't understand
681         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
682         scrolling anyway
683         (gtk_text_view_drag_drop): stop scrolling here though, and set the
684         mark invisible
685
686         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
687         function
688         (gtk_drag_dest_get_target_list): new function
689         (gtk_drag_dest_set_target_list): new function
690         
691         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
692
693         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
694         related to drag-and-drop
695
696 2001-01-19  Alexander Larsson  <alexl@redhat.com>
697
698         * gdk/linux-fb/gdkprivate-fb.h:
699         Define EMULATE_GDKFONT.
700         Add extra pango_font stuff to GfkFontPrivate.
701         
702         * gdk/linux-fb/gdkdrawable-fb2.c:
703         * gdk/linux-fb/gdkfont-fb.c:
704         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
705         emulation using PangoFont.
706
707 2001-01-17  Havoc Pennington  <hp@pobox.com>
708
709         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
710         all the non-deprecated set_foo functions. Added missing object
711         properties, and added g_object_notify() to setters. 
712         Wrote docs.
713         
714 2001-01-18  Tor Lillqvist  <tml@iki.fi>
715
716         * gtk/gtkmain.c
717         * gtk/gtkrc.c: (Win32) Use the new
718         g_win32_get_package_installation_(sub)directory() functions.
719
720         * config.h.win32.in: New file.
721         
722         * config.h.win32: Removed.
723
724         * configure.in: Output config.h.win32.
725
726         * Makefile.am: Add it to EXTRA_DIST.
727
728         * gtk/gtk.def: Update.
729
730 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
731
732         * gtk/gtklabel.c (gtk_label_size_request): Set the
733         attributes onto the PangoLayout even if they are newly
734         created from label->pattern.
735
736 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
737
738         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
739
740         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
741         structures in functions. Fixes bug where gtk_dataset_*
742         was accidentally still being used in one place, causing
743         every dest side event to be treated independently.
744
745         * gtk/gtkdnd.c: Remove last vestages of handling
746         ::draw (fixes warning)
747         
748         * gtk/gtkentry.[ch]: Add drag and drop support.
749
750         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
751         new function gtk_check_drag_threshhold() for checking
752         to check if (dx,dy) has exceeded the threshhold for starting
753         a drag and use it everywhere.
754
755 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
756
757         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
758         add -I{includedir}/gtk-2.0.
759
760         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
761         gdk/gdk-pixbuf.h: Doc fixups.
762         
763         * gtk/gtkobject.h: Remove trailing , from enum
764
765 2001-01-17 Alexander Larsson <alexl@redhat.com> 
766
767         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
768         Doh! Mixed up x and y.
769
770         * gdk/linux-fb/gdkglobals-fb.c:
771         Removed gdk_fb_pointer_grab_window_events,
772         added _gdk_fb_pointer_grab_owner_events and
773         _gdk_fb_keyboard_grab_owner_events.
774
775         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
776         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
777         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
778         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
779         Send crossing events after ungrab finished.
780         (gdk_keyboard_grab): Set ..._owner_events
781         (type_masks): Move out of function.
782         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
783         gdk_fb_keyboard_event_window): New functions, return the
784         window an event should be targeted at. Handles grabs and
785         event propagation. Can return NULL.
786         (gdk_event_make): Remove event_mask checking. Now always
787         returns an event.
788                 
789         * gdk/linux-fb/gdkkeyboard-fb.c:
790         * gdk/linux-fb/gdkproperty-fb.c:
791         * gdk/linux-fb/gdkselection-fb.c:
792         Use new event_window/gdk_event_make() behaviour.
793         
794         * gdk/linux-fb/gdkmouse-fb.c:
795         Use new event_window/gdk_event_make() behaviour.
796         Only send motion events if in the same window.
797         If grabbed, use cursor from window if sibling of grabbed
798         window, and cursor from grabbed window otherwise.
799
800         * gdk/linux-fb/gdkprivate-fb.h:
801         Update gdk_fb_window_send_crossing_events, gdk_event_make
802         and grab varaible declarations. Add gdk_fb_*_event_window().
803
804         * gdk/linux-fb/gdkwindow-fb.c:
805         Use new event_window/gdk_event_make() behaviour.
806         Keep correct track of focus window.
807         (gdk_window_set_events): Set all specific button motion masks
808         if GDK_BUTTON_MOTION_MASK set.
809
810         * gtk/gtkdnd.c (gtk_drag_update):
811         Free info->last_event if gdk_drag_motion returned FALSE.
812
813 2001-01-16  Tor Lillqvist  <tml@iki.fi>
814
815         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
816         Eliminate redraws when input-only windows are shown or
817         hidden. Thanks to jpe@archaeopteryx.com.
818
819 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
820
821         * docs/faq/gtk-faq.sgml: FAQ update:
822           - Update to bugzilla
823           - Add GTK+ and security/SUID/SGID
824           - Add DnD question
825
826 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
827
828         * gdk/linux-fb/gdkdnd-fb.c:
829         Some cleanups.
830         
831 2001-01-15  Havoc Pennington  <hp@pobox.com>
832
833         * tests/testtreeview.c: add test stuff for CellRendererToggle
834
835         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
836         accessor
837
838         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
839         only toggle on button press (would do release like GtkButton, but
840         we'd need implicit grab code for treeview cells)
841
842 2001-01-16  Tor Lillqvist  <tml@iki.fi>
843
844         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
845
846         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
847         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
848
849         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
850         to g_{locale,filename}_{to,from}_utf8 to match current API.
851
852         * gtk/makefile.msc.in (gtk_OBJECTS)
853         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
854
855         * gtk/gtk.def: Update.
856
857 2001-01-15  Tor Lillqvist  <tml@iki.fi>
858
859         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
860         implementaion that more closely mimics the events that an X server
861         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
862         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
863         with nested preview widgets, for instance, more responsive when
864         you move the mouse quickly into them.
865         (find_window_for_pointer_event): Make it actually compile.
866         (gdk_event_translate): Set send_event to the value of
867         InSendMessage (). This doesn't really mean the same as X11's
868         send_event flag, but is close enough, says jpe@archaeopteryx.com
869
870 2001-01-15  Alexander Larsson  <alexl@redhat.com>
871
872         * gdk/linux-fb/gdkdnd-fb.c:
873         Implemented drag and drop.
874         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
875         when it tries to free and then copy the same event (info->last_event).
876         I am not sure about why this happens, but will continue looking.
877
878 2001-01-15  Alexander Larsson  <alexl@redhat.com>
879
880         * gdk/linux-fb/gdkwindow-fb.c:
881         Use gdk_window_invalidate_rect instead of
882         gdk_window_invalidate_rect_clear to minimise flashing.
883         When hiding windows you need to clear the root window though.
884
885 2001-01-15  Alexander Larsson  <alexl@redhat.com>
886
887         * gdk/linux-fb/gdkdrawable-fb2.c:
888         For optization, add an full_shapes argument to gdk_fb_clip_region.
889         If this is false, only the cliprects of the shapes are used.
890
891         * gdk/linux-fb/gdkprivate-fb.h:
892         Export gdk_fb_window_peek_shape.
893         Add full_shapes to gdk_fb_clip_region.
894
895         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
896         When moving a window, don't clear everything under the it, just the
897         root window. Makes stuff faster and flash less.
898         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
899         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
900         offset of the shape.
901         
902
903 2001-01-12  Havoc Pennington  <hp@redhat.com>
904
905         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
906         current invalid region, fixes redraw bug while scrolling the 
907         text widget
908
909         * gtk/gtktextview.c, gtk/gtktextview.h:
910         Rearrange the scrolling/validation/etc. code in a major way, 
911         so it seems to make sense to me. Probably isn't genuinely that
912         much better, but...
913
914         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
915         notifies
916
917         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
918
919 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
920
921         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
922         Hide mouse pointer while rotation. Show it afterwards.
923
924 2001-01-12  Alexander Larsson  <alexl@redhat.com>
925
926         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
927         windows in consideration when generating clip region.
928
929         * gdk/linux-fb/gdkfb.h:
930         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
931
932         * gdk/linux-fb/gdkprivate-fb.h:
933         Add shape to GdkWindowFBDatat.
934         exported gdk_fb_window_get_abs_shape().
935         removed gdk_fb_draw_lines declaration.
936
937         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
938         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
939         send focus changes when there is a grabbed window.
940         (gdk_window_get_pointer): Handle shaped windows.
941         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
942         (gdk_fb_window_peek_shape): Returns the shape for a window,
943         handles GDK_FB_USE_CHILD_SHAPE.
944         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
945         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
946         (gdk_window_shape_combine_mask): Implement.
947
948         * gtk/gtkwindow-decorate.c:
949         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
950         setting the shape of a window makes the window transparent.
951
952 2001-01-11  Havoc Pennington  <hp@redhat.com>
953
954         * gtk/gtktreemodelsimple.h: Oops, broke some macros
955
956 2001-01-10  Havoc Pennington  <hp@redhat.com>
957
958         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
959         add this function, bug 40251
960
961         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
962         of type macro   
963
964 2001-01-11  Alexander Larsson  <alexl@redhat.com>
965
966         * acconfig.h:
967         Added ENABLE_SHADOW_FB
968
969         * configure.in:
970         Added --disable-shadowfb
971
972         * gdk/linux-fb/gdkcursor-fb.c:
973         Update shadowfb when updating cursor
974
975         * gdk/linux-fb/gdkdrawable-fb2.c:
976         Added wrappers for shadowfb that calls  the normal drawable
977         methods, but calls gdk_shadow_fb_update(bounding box) when
978         GdkWindows are drawed to.
979         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
980         which also returns the bounding box.
981
982         * gdk/linux-fb/gdkfb.h:
983         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
984
985         * gdk/linux-fb/gdkgeometry-fb.c:
986         Update shadowfb when scrolling window.
987
988         * gdk/linux-fb/gdkglobals-fb.c:
989         Add _gdk_fb_screen_angle.
990         
991         * gdk/linux-fb/gdkkeyboard-fb.c:
992         Test code for screen rotation. Shift-F2 in the xlate driver
993         rotates the screen.
994
995         * gdk/linux-fb/gdkmain-fb.c:
996         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
997
998         * gdk/linux-fb/gdkmouse-fb.c:
999         Use fb_width/height instead of modeinfo.xres/yres.
1000
1001         * gdk/linux-fb/gdkprivate-fb.h:
1002         Added fb_men, fb_width, fb_height & fb_stride. When using
1003         shadow fb these can differ from the framebuffer stuff.
1004         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
1005         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
1006         _gdk_fb_screen_angle. Removed CM, RP.
1007
1008         * gdk/linux-fb/gdkrender-fb.c:
1009         Added code for shadowfb handling and screen rotation using
1010         shadowfb.
1011
1012         * gdk/linux-fb/gdkwindow-fb.c:
1013         Use fb_mem, fb_stride, fb_width, fb_height.
1014         Added recompute_rowstride to reset the rowstride of all windows.
1015         Added gdk_fb_recompute_all() which recomputes rootwindow size,
1016         window abs positions and window rowstrides. Usefull when the
1017         rotation has changed.
1018
1019 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
1020
1021         * docs/faq/gtk-faq.sgml: update to make web site updating easier
1022
1023 2001-01-10  Havoc Pennington  <hp@redhat.com>
1024
1025         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
1026         where sibling == iter
1027         (gtk_tree_store_insert_after): handle sibling == iter
1028         (gtk_tree_store_prepend): remove stamp checks
1029         (gtk_tree_store_insert_before): ditto
1030         (gtk_tree_store_append): ditto
1031         (gtk_tree_store_get_path): ditto
1032         (gtk_tree_store_get_value): ditto
1033         (gtk_tree_store_iter_has_child): ditto
1034         (gtk_tree_store_iter_n_children): ditto
1035         (gtk_tree_store_iter_nth_child): ditto
1036         (gtk_tree_store_insert_after): ditto
1037         (gtk_tree_store_is_ancestor): ditto
1038         (gtk_tree_store_iter_depth): ditto
1039         (gtk_tree_store_insert_before): assert that sibling's parent is
1040         the same as the passed-in parent
1041         (gtk_tree_store_insert_after): assert that sibling's parent is
1042         the same as the passed-in parent
1043
1044         
1045         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
1046         function to get the first iterator in a model
1047         
1048         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
1049         conventionally the "root" in this sense is just NULL afaict.
1050
1051         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
1052         where sibling == iter
1053         (gtk_list_store_insert_after): handle case where sibling == iter
1054
1055         * tests/testtreeview.c (run_automated_tests): fairly lame basic
1056         automated tests for ListStore, TreeStore
1057
1058         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
1059         (gtk_list_store_insert): update tail pointer, and fix it to work
1060         (gtk_list_store_insert_before): update tail pointer, and fix it to work
1061         (gtk_list_store_append): use tail to be faster
1062         (gtk_list_store_prepend): fix it, update tail pointer
1063         (gtk_list_store_insert_after): fix it, update tail pointer
1064
1065         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
1066         the list
1067
1068 2001-01-09  Havoc Pennington  <hp@redhat.com>
1069
1070         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
1071         is NULL due to a pending resize
1072
1073         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
1074         column width to values less than 1
1075
1076         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
1077         width to be between min/max width, and still set the width 
1078         even if autosize is turned on, so the tree view can use this 
1079         function in order to autosize.
1080         (gtk_tree_view_column_init): set initial width to 1 not 0
1081
1082         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
1083         setter function to modify column width, so we get notification
1084         (gtk_tree_view_insert_iter_height): ditto
1085         (gtk_tree_view_calc_size): ditto
1086         (gtk_tree_view_check_dirty): ditto
1087
1088         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
1089         properties to change all the interesting attributes of the tree
1090         view column.
1091         (gtk_tree_view_column_set_header_clickable): rename set_clickable
1092         (gtk_tree_view_column_get_clickable): add
1093         (gtk_tree_view_column_set_cell_renderer): don't unset the current
1094         attributes; assume a cell renderer with equivalent object
1095         properties has been swapped in. Do g_object_notify().
1096         (gtk_tree_view_column_set_visible): g_object_notify
1097         (gtk_tree_view_column_get_sizing): rename from get_col_type
1098         (gtk_tree_view_column_set_sizing): g_object_notify
1099         (gtk_tree_view_column_set_width): add g_object_notify
1100         (gtk_tree_view_column_set_min_width): ditto
1101         (gtk_tree_view_column_set_max_width): ditto
1102         (gtk_tree_view_column_set_title): ditto
1103         (gtk_tree_view_column_set_clickable): ditto
1104         (gtk_tree_view_column_set_widget): ditto
1105         (gtk_tree_view_column_set_justification): ditto
1106
1107 2001-01-09  Havoc Pennington  <hp@redhat.com>
1108
1109         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
1110         there are no rows in the model
1111
1112         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
1113         NULL, then return the start of the list
1114
1115         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
1116         if we can't get any rows from an empty model 
1117
1118         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
1119         extraneous * after function pointer typedef usage
1120
1121         * Makefile.am: don't specify full path to cp and rm
1122
1123         * gtk/gtkcellrenderertextpixbuf.c
1124         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
1125         NULL before dereferencing, fixes a segfault that happened from
1126         time to time
1127
1128         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
1129         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
1130         and reindent the function
1131         (gtk_cell_renderer_pixbuf_get_size): indentation
1132
1133         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
1134         we quit it
1135         (gtk_dialog_add_buttons_valist): add g_return_if_fail
1136         (gtk_dialog_set_default_response): New function, to set default
1137         button
1138         (gtk_dialog_set_response_sensitive): New function, to set 
1139         sensitivity of buttons
1140
1141         * gtk/gtkcellrendererpixbuf.c
1142         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
1143         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
1144
1145         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
1146         handle any G_TYPE_OBJECT subclass, not just the base class, and 
1147         also boxed types.
1148         (_gtk_tree_data_list_value_to_node): ditto
1149
1150         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
1151         --gtk-debug=tree
1152
1153         * gtk/gtkmain.c: add GTK_DEBUG_TREE
1154
1155         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
1156
1157 2001-01-09  Tor Lillqvist  <tml@iki.fi>
1158
1159         * gdk/win32/gdkevents-win32.c: Implement better mouse
1160         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
1161         (find_window_for_pointer_event): New function.
1162         (gdk_event_translate): Use it when handling mouse events.
1163
1164 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
1165
1166         * configure.in:
1167         Added --with-included-loaders option
1168
1169         * gdk-pixbuf/Makefile.am:
1170         * gdk-pixbuf/gdk-pixbuf-io.c:
1171         Add support for including selected gdk-pixbuf loaders only.
1172
1173         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
1174         gtk_window_set_has_frame):
1175         Added inline documentation.
1176
1177         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
1178         * docs/reference/gdk/tmpl/windows.sgml:
1179         Added inline documentation.
1180
1181 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
1182
1183         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
1184         realizing buttons that have already been realized.
1185
1186 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
1187
1188         * tests/testtreeview.c (main): Show menu items before adding to
1189         option menu.
1190
1191         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
1192         around if we kill them.
1193
1194         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
1195         Return if we pass in a NULL model.
1196
1197 2001-01-08  Havoc Pennington  <hp@redhat.com>
1198
1199         * tests/testtreeview.c: hack on this some
1200
1201         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
1202         gtk_tree_store_set_valist, v is for arrays, valist for varargs
1203         list
1204         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
1205
1206         * gtk/gtkliststore.h: Add varargs set() and get() convenience
1207         functions
1208
1209 2001-01-08  Alexander Larsson  <alexl@redhat.com>
1210
1211         * gtk/gtkwindow-decorate.[hc]:
1212         * gtk/Makefile.am:
1213         New files. Contains an implementation of a minimal WM for
1214         linux-fb.
1215
1216         * gtk/gtkwindow.h:
1217         Add the possibility for GtkWindows to specify a frame. This
1218         is used for the window decoration code, but could concievably
1219         be used for X programs too (xmms style windows).
1220         GtkWindow->frame is the toplevel window if the window is framed.
1221         The signal frame_event gets all events that are targeted to
1222         GtkWindow->frame.
1223         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
1224         
1225         * gtk/gtkwindow.c:
1226         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
1227         Call out to gtkwindow-decorate.c for WM support in linx-fb.
1228
1229 2001-01-08  Alexander Larsson  <alexl@redhat.com>
1230
1231         * docs/README.linux-fb:
1232         Correct filename ~/.pangoft2_aliases
1233
1234         * gdk/gdkwindow.h:
1235         Added new function gdk_window_get_decorations.
1236
1237         * gdk/linux-fb/gdkfb.h:
1238         Removed _gdk_window_get_decorations declaration.
1239         Renamed _gdk_window_set_child_handler to
1240         gdk_fb_window_set_child_handler.
1241
1242         * gdk/linux-fb/gdkwindow-fb.c:
1243         Renamed _gdk_window_set_child_handler to
1244         gdk_fb_window_set_child_handler.
1245
1246         * gdk/x11/gdkwindow-x11.c:
1247         New function gdk_window_get_mwm_hints().
1248         Implemented gdk_window_get_decorations.
1249
1250         * docs/reference/gdk/tmpl/windows.sgml:
1251         * docs/reference/gdk/gdk-sections.txt:
1252         Added gdk_window_get_decorations docs.
1253         
1254 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
1255
1256         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
1257         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
1258         gdk_fb_window_send_crossing_events):
1259         Possibly send focus events when the mouse moves from one
1260         window to another.
1261
1262 2001-01-07  Tor Lillqvist  <tml@iki.fi>
1263
1264         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
1265         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
1266         to match current API.
1267
1268         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
1269         environment variable is set, don't call g_error when on a
1270         palettized (PseudoColor) display. Some people want to use GTK+ 
1271         in 256-colour mode even though works only partially.
1272
1273         * gdk/gdk.def
1274         * gtk/gtk.def
1275         * gtk/makefile.mingw.in: Update.
1276
1277 2001-01-05  Havoc Pennington  <hp@redhat.com>
1278
1279         * tests/testtreeview.c: hack on this a bit
1280
1281         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
1282         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
1283
1284         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
1285         was spelled incorrectly
1286         (GTK_IS_TREE_MODEL_SIMPLE): ditto
1287
1288         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
1289         from gtk_tree_view_set_headers_active   
1290
1291         * gtk/gtktexttag.c:
1292         (gtk_text_tag_get_property): handle PROP_DIRECTION
1293         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
1294         properties, bug 40235
1295
1296         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
1297         forward_to_line_end
1298
1299 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
1300
1301         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
1302         modules/input/gtkimcontextxim.c: Adapt to new prototypes
1303         for unicode,locale,filename conversion functions.
1304
1305 2001-01-05  Havoc Pennington  <hp@redhat.com>
1306
1307         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
1308         broken if called on the first position in the buffer.
1309
1310         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
1311         forward_to_delimiters to be called only if we aren't already at
1312         the delimiters.
1313
1314 2001-01-05  Havoc Pennington  <hp@redhat.com>
1315
1316         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
1317
1318 2001-01-05  Alexander Larsson  <alexl@redhat.com>
1319
1320         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
1321         colormap in here. Sync from X port.
1322         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
1323         Sync from X port.
1324         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
1325         This happens now and then, and i don't think it is a bug.
1326         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
1327         != endpoint.
1328         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
1329         GDK_LINE_SOLID.
1330
1331         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
1332         some of the fields filled in at least.
1333
1334         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
1335         miLineArcD is no more, remove it from the function definition.
1336
1337 2001-01-04  Havoc Pennington  <hp@redhat.com>
1338
1339         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
1340         this
1341
1342         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
1343         user_data instead of tree_node
1344
1345         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
1346         TREE_VIEW_COLUMN_SIZE
1347
1348         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
1349         "size" field to "width" finishes bug 40061
1350
1351         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
1352         for bitfields, bug 40268
1353
1354 2001-01-04  Havoc Pennington  <hp@redhat.com>
1355
1356         Rename some stuff:
1357         
1358         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
1359
1360         s/GtkModelSimple/GtkTreeModelSimple/g;
1361         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
1362         s/gtk_model_simple/gtk_tree_model_simple/g;
1363         s/gtkmodelsimple/gtktreemodelsimple/g;
1364
1365         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
1366
1367         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
1368         s/column_set_col_type/column_set_sizing/g;
1369
1370         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
1371         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
1372
1373         s/GtkCellRendererType/GtkCellRendererState/g;
1374         
1375         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
1376         (gtk_cell_renderer_toggle_class_init): change "state" property to
1377         "active", to match GtkToggleButton
1378         (gtk_cell_renderer_toggle_get_active): new function, bug
1379         40269
1380         (gtk_cell_renderer_toggle_set_active): new function
1381         (gtk_cell_renderer_toggle_set_property): route changes to toggle
1382         state through gtk_cell_renderer_set_active
1383
1384 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
1385
1386         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
1387         temporarily until they work again.  Brought up to date with
1388         changes in the model.
1389         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
1390         model.
1391
1392 2001-01-04  Havoc Pennington  <hp@redhat.com>
1393
1394         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
1395         equal to the line length, then position iterator before paragraph 
1396         separators. Fixes crash reported by Mikael Hermansson when
1397         pressing left arrow from the start of a line.   
1398
1399         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
1400         about byte indexes off the end
1401         (iter_set_from_char_offset): add g_error about char offsets
1402         off the end
1403
1404 2001-01-03  Havoc Pennington  <hp@redhat.com>
1405
1406         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
1407
1408         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
1409         of private functions; remove inclusion of private headers.
1410
1411         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
1412         function, so we don't need private functions in gtktextdisplay.c
1413
1414         * gtk/gtktextiterprivate.h: underscore-ification
1415
1416         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
1417         to instead say "only useful to implement widgets"
1418
1419         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
1420         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
1421         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
1422
1423         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
1424         This function was completely broken
1425
1426         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
1427
1428         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
1429
1430         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
1431
1432         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
1433
1434         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
1435
1436         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
1437
1438         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
1439         gtk_paint_layout
1440
1441         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
1442         gtk_paint_layout
1443
1444         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
1445         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
1446         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
1447         which were not implemented.     
1448
1449         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
1450         insert_pixbuf signal. Rename delete_text to delete_range since it
1451         also deletes pixbufs and child anchors. This almost closes bug
1452         40245 (still need to deal with child anchors)
1453
1454         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
1455         insert_pixbuf, change signal names as appropriate, change types of
1456         signals taking marks/tags to have the specific type, not just
1457         G_TYPE_OBJECT
1458         
1459         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
1460         closes bug 40051
1461
1462         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
1463         unnecessary remove_contents() call
1464         (gtk_option_menu_class_init): add a "changed" signal, closes
1465         bug 40039
1466         (gtk_option_menu_update_contents): emit "changed" if the 
1467         active menu item changes
1468
1469         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
1470         cast to GtkObject, reported by Jonas Borgstrom
1471         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
1472         we can't do stuff with side effects in finalize. Instead, spew a
1473         warning if the loader isn't closed.
1474
1475         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
1476         colormap in here, non-X ports probably need to sync to this change
1477
1478         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
1479         assertion that colormap != NULL, you can set the colormap to NULL
1480         if you like.
1481         
1482         * Makefile.am: remove gtk-config-2.0
1483
1484         * configure.in: Use pkg-config to locate GLib. Remove
1485         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
1486         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
1487         Use pkg-config to locate Pango. Output correct Pango libs to
1488         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
1489
1490         * Makefile.am (pkgconfig_DATA): install only target-specific pc
1491         files
1492         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
1493         X11 pc files
1494
1495         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
1496         unref from here
1497
1498 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
1499
1500         * configure.in:
1501         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
1502
1503 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
1504
1505         * gtk/gtktextlayout.c
1506         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
1507         variable when moving back onto a single line.
1508
1509 2001-01-01  Havoc Pennington  <hp@redhat.com>
1510
1511         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
1512
1513         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
1514
1515         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
1516         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
1517
1518 2001-01-01  Havoc Pennington  <hp@redhat.com>
1519
1520         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
1521
1522         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
1523         GtkTextAttributes
1524
1525         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
1526         #40246
1527         (gtk_text_attributes_copy_values): rename from 
1528         gtk_text_attributes_copy
1529         (gtk_text_attributes_copy): a more standard GTK copy function, 
1530         which returns a new object
1531
1532 2001-01-01  Havoc Pennington  <hp@redhat.com>
1533
1534         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
1535         
1536         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
1537         don't fill in tree_view->priv->selection, kind of an unexpected
1538         side effect
1539
1540         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
1541         gtkintl.h
1542         
1543         * gtk/gtkcellrenderer.c: Remove definition of _ and include
1544         gtkintl.h
1545         (gtk_cell_renderer_get_property): remove calls to g_value_init
1546
1547         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
1548         gtkintl.h
1549
1550         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
1551         and include gtkintl.h
1552         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
1553         property names
1554
1555         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
1556         GtkTreeSelection
1557         (_gtk_tree_selection_new_from_with_view): rename, return
1558         GtkTreeSelection
1559         (_gtk_tree_selection_set_tree_view): rename with uscore
1560         (gtk_tree_selection_get_selected): fill in the "model" out param
1561         first, so it gets filled in even if we return at the top of the 
1562         function
1563         (gtk_tree_selection_real_select_all): add a comment and an else{}
1564         to clarify this a bit
1565         (gtk_tree_selection_real_unselect_all): add the same else{}
1566
1567         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
1568         set_tree_view to have underscore prefixes, move them to the
1569         private header, fix return type of new_with_tree_view
1570         (struct _GtkTreeSelection): mark struct
1571         fields private  
1572
1573         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
1574         GtkTreeModelFlags, not a guint
1575         (gtk_tree_path_prev): return gboolean not gint
1576         (gtk_tree_path_up): return gboolean not gint
1577
1578         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
1579         return GtkTreeModelFlags, not a guint
1580
1581         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
1582         that child model is non-null before unrefing it
1583         (g_value_int_compare_func): make this a qsort compare func, not 
1584         a boolean predicate
1585
1586         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
1587         (add -umn to the end), and mark it unimplemented
1588         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
1589         I don't see what it's for - doesn't the model always sort itself?
1590         (gtk_tree_model_sort_set_compare): this had the wrong signature
1591
1592         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
1593         Fix the docs to say that it destructively replaces existing
1594         attributes (previously said that it added attributes).
1595         (gtk_tree_view_column_set_visible): canonicalize bool before
1596         equality testing. Also, check for realization before
1597         hiding/showing the tree_column->window; if this window could exist
1598         before realization, then it's busted and needs fixing, we can't 
1599         create GDK resources pre-realization. Also, remove
1600         superfluous queue_resize(), since set_size() does that for us.
1601         (gtk_tree_view_column_set_col_type): check realization before 
1602         using tree_column->window
1603
1604         * gtk/gtktreedatalist.c: fix filename in copyright notice
1605
1606 2000-12-31  Havoc Pennington  <hp@pobox.com>
1607
1608         * gtk/gtktextview.c: Rearrange all the
1609         scroll-while-dragging-or-selecting code to be different, not
1610         necessarily better. ;-)
1611         (gtk_text_view_scroll_to_mark): Change this
1612         function to take within_margin as a fraction instead of a pixel
1613         value, and to take alignment arguments (indicating where to align 
1614         the mark inside the visible area)
1615         
1616         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
1617         to GtkObject
1618
1619         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
1620         behavior so that offsets past the end of the line are not 
1621         allowed, and an offset equal to the line length moves the iterator
1622         to the next line
1623         (gtk_text_iter_set_line_index): make parallel change
1624         (gtk_text_iter_get_bytes_in_line): add this function
1625         
1626         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
1627         of byte indexes off the end of the line; byte index at the end of
1628         the line now returns FALSE and doesn't fill in the requested
1629         values, byte index past the end of the line is an error.  Also,
1630         don't allow -1 offset anymore, since its meaning is unclear.
1631
1632         This change exposes some bug in visual cursor motion, where we
1633         end up with a huge invalid byte index; needs fixing. Symptom of 
1634         bug is a crash when you hit up arrow.
1635         
1636         (_gtk_text_line_char_locate): match the change to byte_locate
1637
1638         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
1639         from start of line properly. fixes bug reported by Mikael
1640         Hermansson where backspace would delete all text before the
1641         cursor.
1642
1643 2000-12-30  Tor Lillqvist  <tml@iki.fi>
1644
1645         * gdk/win32/gdkwindow-win32.c
1646         (gdk_window_impl_win32_get_visible_region): New function, as in
1647         the X11 backend.
1648         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
1649         instead of duplicating the same code here.
1650
1651         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
1652         GDK_COLORMAP macro.
1653
1654         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
1655         destroy function.
1656         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
1657         access that.
1658
1659         * gtk/gtk.def: Update.
1660
1661         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
1662
1663 2000-12-30  Havoc Pennington  <hp@pobox.com>
1664
1665         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
1666         colormap on input only windows, to avoid special cases all over
1667         the code for these windows.
1668
1669 2000-12-26  Tor Lillqvist  <tml@iki.fi>
1670
1671         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
1672         we are on a palettized display ("PseudoColor" in X11), as the code
1673         for that doesn't work anyway, and never has.
1674
1675 2000-12-22  Alexander Larsson  <alexl@redhat.com>
1676
1677         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
1678         Don't use isprint() for chars > 255.
1679
1680 2000-12-21  Havoc Pennington  <hp@redhat.com>
1681
1682         * tests/testtreeview.c: more work
1683
1684 2000-12-21  Alexander Larsson  <alexl@redhat.com>
1685
1686         * docs/README.linux-fb:
1687         Update the docs to the new pangoft2 way.
1688
1689 2000-12-21  Alexander Larsson  <alexl@redhat.com>
1690
1691         * configure.in:
1692         For linux-fb get the pangoft2 cflags and libs. This needs a recent
1693         pango version.
1694         Remove modules/linux-fb/Makefile.
1695
1696         * gdk/linux-fb/gdkdrawable-fb2.c:
1697         Render glyphs using freetype.
1698
1699         * gdk/linux-fb/gdkfb.h:
1700         Add new fb-specific functions needed for managing windows.
1701
1702         * gdk/linux-fb/gdkmain-fb.c:
1703         Remove gdk_font_init/fini() calls.
1704
1705         * gdk/linux-fb/gdkpango-fb.c:
1706         Remove old implementation. Use pangoft2 instead.
1707
1708         * gdk/linux-fb/gdkprivate-fb.h:
1709         Remove PangoFBFont and related stuff.
1710
1711         * gdk/linux-fb/gdkwindow-fb.c:
1712         Implement drawable->get_visible_region.
1713         Implement support for _gdk_window_set_child_handler () and
1714         _gdk_window_get_decorations().
1715
1716         * modules/Makefile.am:
1717         Remove linux-fb subdir.
1718
1719         * modules/linux-fb/*:
1720         Removed all.
1721         
1722 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
1723
1724         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
1725         calls, as they are no longer needed.
1726
1727         * gtk/gtktreemodelsort.c: Fix up the comparison code.
1728         
1729         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
1730         figure out how to emit a signal on an interface.
1731
1732 2000-12-20  Havoc Pennington  <hp@redhat.com>
1733
1734         * tests: new directory to contain tests, gtk/test* should move
1735         here sometime (with appropriate on-cvs-server hackery)
1736
1737         * tests/testtreeview.c, tests/Makefile.am: a test
1738         
1739         * configure.in (AC_OUTPUT): add tests/Makefile
1740
1741         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
1742         and "invisible_set" which were missing
1743
1744         * gtk/gtkrbtree.h: some cheesy indentation fix
1745         
1746 2000-12-20  Alexander Larsson  <alexl@redhat.com>
1747
1748         * gtk/gtkinvisible.c (gtk_invisible_realize):
1749         Attach the style to the window so that the style it is not
1750         leaked when unrealizing the window.
1751
1752 2000-12-18  Havoc Pennington  <hp@redhat.com>
1753
1754         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
1755         begin/end user action where appropriate
1756         (gtk_text_view_commit_handler): add begin/end user action
1757
1758         * gtk/gtktextbuffer.c: add begin/end user action signals, and
1759         bracket interactive operations with begin/end user action pair.
1760         
1761         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
1762         "interactive" arg from insert_text and delete_text signals.
1763         Add begin_user_action, end_user_action signals
1764         (gtk_text_buffer_begin_user_action): 
1765         (gtk_text_buffer_end_user_action): New functions to delimit 
1766         a user-visible action
1767
1768         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
1769         signals.
1770         
1771 2000-12-18  Havoc Pennington  <hp@redhat.com>
1772
1773         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
1774         was pretty non-working.
1775
1776         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
1777         by passing the length to g_utf8_validate().
1778
1779 2000-12-16  Havoc Pennington  <hp@pobox.com>
1780
1781         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
1782         Port to GObject, can go back in gdk-pixbuf after setting up 
1783         a gdk-pixbuf-marshal.h header over there.
1784
1785         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
1786         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
1787         args
1788         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
1789         set
1790         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
1791         here, do it when we create the buttons later
1792         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
1793         (gtk_tree_view_map): paranoia checks that column->button is shown 
1794         and unmapped
1795         (gtk_tree_view_size_request): only request visible children.
1796         Move header size calculation in here, for cleanliness, and 
1797         to maintain invariants for child widgets if we eventually 
1798         let users set different children inside the buttons
1799         (gtk_tree_view_map_buttons): factor out code to map buttons,
1800         since it was being called several times
1801         (gtk_tree_view_size_allocate_buttons): move_resize the drag
1802         windows instead of just moving them; their height may change 
1803         if we allow random widgets in there, or the theme changes.
1804         (gtk_tree_view_size_allocate): move button size allocation 
1805         above emitting the scroll signals, to ensure a sane state when we
1806         hit user code
1807         (gtk_tree_view_button_release): remove queue_resize after
1808         tree_view_set_size(), set_size() will handle any resize queuing
1809         that's needed
1810         (gtk_tree_view_focus_in): just queue a draw, don't fool with
1811         draw_focus goo
1812         (gtk_tree_view_focus): use gtk_get_current_event() and
1813         gdk_event_get_state()
1814         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
1815         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
1816         semicolon
1817         (gtk_tree_view_create_button): show the button here
1818         (gtk_tree_view_button_clicked): actually emit the clicked signal
1819         on the column
1820         (_gtk_tree_view_set_size): return right away if the size is
1821         unchanged, as a cheesy optimization
1822         (gtk_tree_view_setup_model): rename set_model_realized to 
1823         setup_model to match the flag that indicates whether we've 
1824         called it
1825         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
1826         exist, because set_scroll_adjustment does that and it shouldn't
1827         matter what order you call these in
1828         (gtk_tree_view_get_vadjustment): ditto
1829         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
1830         for paranoia
1831         (gtk_tree_view_set_headers_visible): call
1832         gtk_tree_view_map_buttons() instead of using cut-and-paste code
1833         (gtk_tree_view_append_column): clarify whether the return value
1834         is the count of columns before or after, and do the increment 
1835         separately from the return statement so you can tell from the code.
1836         (gtk_tree_view_remove_column): ditto
1837         (gtk_tree_view_insert_column): ditto
1838         (gtk_tree_view_get_column): remove g_return_if_fail for columns
1839         outside the existing range, the docs say that outside-range
1840         columns are allowed, so we handle them as documented. (Presumably
1841         this allows a nice loop with column != NULL as test.)
1842         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
1843         mean (left/right/center etc.).
1844         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
1845         (gtk_tree_view_expand_row): add docs
1846         (gtk_tree_view_collapse_row): add docs
1847
1848         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
1849         function to emit the clicked signal on a column
1850         
1851         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
1852         state of an event
1853         (gdk_event_get_time): don't treat GDK_SCROLL 
1854         as a button event, remove default case from switch so gcc 
1855         will whine if we don't explicitly handle all event types
1856
1857         * gtk/gtktreeselection.h: added some FIXME 
1858         
1859         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
1860         "columns" to "n_columns" and "column" to "columns" for clarity
1861
1862 2000-12-16  Havoc Pennington  <hp@pobox.com>
1863         
1864         * gtk/gtktextiter.c: General cleanup of the log attr iteration
1865         stuff. This should make e.g. the delete key work again in the
1866         text widget...
1867         (gtk_text_iter_forward_cursor_positions): handle negative count
1868         (gtk_text_iter_backward_cursor_positions): handle negative count
1869         (gtk_text_iter_forward_word_ends): handle negative count
1870         (gtk_text_iter_backward_word_starts): handle negative count
1871
1872         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
1873         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
1874         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
1875         GObject. No doubt will cause breakage.
1876
1877         * demos/gtk-demo/textview.c: remove hacks around
1878         non-GObject-ification of the text objects
1879
1880         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
1881         the text tag
1882         
1883 2000-12-14  Havoc Pennington  <hp@pobox.com>
1884
1885         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
1886         that we have Xrender
1887
1888 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
1889
1890         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
1891         Add two virtualized functions gdk_drawable_get_clip_region - to
1892         get the clip region when drawing.
1893         
1894         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
1895         use invalidate_region.
1896
1897         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
1898         region.
1899
1900         * acconfig.h configure.in: Check for Xft. For now, assume
1901         that if Xft is found, Pango was compiled with Xft support
1902         as well.
1903
1904         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
1905         gdk_colormap_query_color().
1906         
1907         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
1908         with Xft if appropriate.
1909
1910         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
1911         a pangoxft context if we have XFT and the environment
1912         variable GD_USE_XFT is set.
1913         
1914         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
1915         and also possibly an XftDraw structure.
1916
1917         * gtk/gtkfontsel.c: Handle the case where the font from the
1918         style doesn't match any of the fonts a bit better.
1919         
1920         * gtk/testgtk.c: Add tabs between directional segments for
1921         hebrew/arabic test. (Not really necessary, just a little
1922         prettier.)
1923
1924 2000-12-14  Havoc Pennington  <hp@redhat.com>
1925
1926         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
1927         reading a file
1928
1929 2000-12-14  Havoc Pennington  <hp@redhat.com>
1930
1931         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
1932         unused call to get_last_line()
1933
1934         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
1935         here until boxed is working (and maybe after that - we should
1936         really not gratuitously break old code)
1937
1938         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
1939         specific types for font_desc and tabs args, move them to
1940         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
1941         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
1942
1943         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
1944         use GTK_TYPE_POINTER for signal signatures as a hack-around
1945
1946         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
1947         PangoTabArray
1948
1949         * gtk/gtktextlayout.c (line_display_iter_to_index): 
1950         make static
1951         (line_display_index_to_iter): make static
1952
1953         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
1954         to marshal a string not a boxed
1955
1956         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
1957
1958         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
1959         since the UTF-8 isn't validated yet
1960
1961         * gtk/gtktextsegment.c (char_segment_check_func): don't require
1962         lines to end in '\n'
1963         
1964         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
1965         forward_to_delimiters, and grapheme boundaries
1966         (gtk_text_view_delete_from_cursor): properly handle non-newline
1967         delimiters, and grapheme boundaries
1968
1969         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
1970         to gtk_text_iter_forward_to_delimiters, and make it work properly
1971         if empty lines end with a character other than '\n'
1972
1973         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
1974         position
1975
1976 2000-12-15  Tor Lillqvist  <tml@iki.fi>
1977
1978         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
1979
1980         * gtk/gtk.def
1981         * gdk/gdk.def: Update.
1982
1983         * gdk/win32/gdkmain-win32.c
1984         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
1985         gdkmain-win32.c here.
1986
1987         * gdk/win32/makefile.mingw.in (all): No need to make
1988         gdk-win32res.o here, the makefile one step up will call us to make
1989         it.
1990
1991         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
1992         gdkkeys-win32.
1993
1994         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
1995
1996         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
1997         call to g_source_add().
1998
1999         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
2000         leak. Thanks to Andreas Kemnade.
2001
2002 2000-12-13  Havoc Pennington  <hp@pobox.com>
2003
2004         * gtk/gtktextbtree.h: Remove double _ in front of some functions
2005
2006         * gtk/gtktext*.[hc]: update accordingly
2007         
2008 2000-12-13  Havoc Pennington  <hp@pobox.com>
2009
2010         * gtk/gtktextbtree.h: Put _ in front of every function in this 
2011         header file
2012
2013         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
2014
2015 2000-12-13  Alex Larsson  <alexl@redhat.com>
2016
2017         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
2018         Add support for ps2 intellimouse.
2019
2020         * gdkkeyboard-fb.c:
2021         Move shift-F1 repaint handling to xlate handler only.
2022         
2023         * docs/README.linux-fb:
2024         Add imps2 to docs.
2025         Document the new refresh keys.
2026         
2027 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
2028
2029         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
2030
2031         * gtk/gtkbox.c: change property types from (u)long to (u)int for
2032         ::position and ::padding.
2033
2034         * gtk/gtkcontainer.c: make ::border_width an INT property.
2035
2036         * gtk/gtkpacker.c: make ::position an INT property.
2037
2038         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
2039         guard against NULL h/v scrollbars, since this is used at construction
2040         time.
2041
2042         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
2043         internal gtk_clist_constructor().
2044
2045         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
2046         gtk_ctree_constructor().
2047
2048         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
2049         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
2050
2051         * docs/reference/Makefile.am: fun stuff, disabled docs generation
2052         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
2053
2054         * gtk/gtkwidget.[hc]:
2055         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
2056         and gtk_widget_get().
2057         (gtk_widget_new): use g_object_new_valist().
2058         (gtk_widget_set): use g_object_set_valist().
2059
2060         * gtk/gtkobject.[hc]:
2061         removed gtk_object_arg_get_info(), gtk_object_getv(),
2062         gtk_object_query_args(), gtk_object_newv(),
2063         gtk_object_class_add_signals(),
2064         gtk_object_class_user_signal_new(),
2065         gtk_object_class_user_signal_newv(),
2066         gtk_object_arg_set(), gtk_object_arg_get(),
2067         gtk_object_args_collect(),
2068         gtk_object_default_construct(),
2069         gtk_object_constructed(),
2070         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
2071         removed nsignals, signals and n_args members from GtkObjectClass.
2072         (gtk_object_new): use g_object_new_valist().
2073         (gtk_object_set): use g_object_set_valist().
2074         (gtk_object_get): use g_object_get_valist().
2075         
2076         * gtk/gtkcompat.h: define gtk_object_default_construct().
2077         
2078         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
2079         g_object_new().
2080
2081         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
2082         fucntions, cleaned up method assignments (make sure your structures
2083         are setup properly before calling out). removed all GTK_CONSTRUCTED
2084         hacks ;)
2085
2086 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
2087
2088         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
2089         off-by-one error in checks. (Dave Lambert)
2090
2091 2000-12-12  Alexander Larsson  <alexl@redhat.com>
2092
2093         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
2094         Don't free gdk_fb_keyboard twice.
2095
2096 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
2097
2098         * gtk/testgtk.c:
2099         (create_tooltips): 
2100         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
2101         use GObject swapped_signal:: properties instead.
2102
2103         * gtk/gtkcellrenderertoggle.c: 
2104         * gtk/gtkcellrenderertextpixbuf.c: 
2105         * gtk/gtkcellrenderertext.c: 
2106         * gtk/gtkcellrendererpixbuf.c: 
2107         * gtk/gtkcellrenderer.c:
2108         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
2109         missing warnings for invalid property ids, install properties
2110         with g_object_class_install_property() now.
2111         
2112         * gtk/gtksignal.c:
2113         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
2114         
2115 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
2116         
2117         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
2118         to determine if a window is the focus widget within
2119         its toplevel.
2120
2121         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
2122         to be boolean.
2123
2124         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
2125         of the case where the container CAN_FOCUS to here instead
2126         of having it in each individual move-the-focus place.
2127
2128         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
2129         focusing to be geometric in a much more obvious sense. Arrowing
2130         around is still non-intuitive because it isn't perfect and
2131         because entries, etc, grab the arrow keys, but it at least
2132         usually will do what you expect now.
2133         
2134         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
2135         file.
2136
2137         * gtk/gtknotebook.c: Change tabs to be a single item in
2138         the focus chain. Make movement of focus on tabs with arrow
2139         keys wrap around.
2140         
2141         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
2142         CHECK_FIND_CHILD macro to give informative error messages
2143         instead of silent returns.
2144
2145         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
2146         flag since we handle GdkReturn on the tabs.
2147
2148         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
2149         windows rather than sending expose events directly.
2150
2151         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
2152         definition for GtkNotebookPage into .c file, since it is private.
2153
2154         * gtk/testgtk.c (create_notebook): Add option for 
2155         testing borderless notebook.
2156
2157         * gtk/testgtk.c (page_switch): Removed egregious poking
2158         around in GTK+ internals.
2159
2160         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
2161
2162         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
2163         properly through gtk_clist_focus. Make the title headers a
2164         single item in the tab-focus chain, and make left-right wrap
2165         around.
2166
2167         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
2168         focus method so that wrapping around works properly.
2169
2170         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
2171         that is handled for the widget now. 
2172
2173 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
2174
2175         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
2176         widgets as TOPLEVEL.
2177
2178         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
2179         TOPLEVEL widgets are containers.
2180
2181         * gtk/gtkinvisible.h: Remove useless include.
2182
2183 2000-12-11  Havoc Pennington  <hp@redhat.com>
2184
2185         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
2186         Handle chopping off \r\n and 0x2029 in addition to \n before
2187         passing to PangoLayout
2188
2189         * gtk/gtkimcontextsimple.c
2190         (gtk_im_context_simple_get_preedit_string): 
2191         return an empty string if no match is pending
2192
2193         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
2194         assertion that the returned preedit string was sane
2195
2196         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
2197         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
2198         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
2199
2200 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
2201
2202         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
2203         Fix up finalizer to chain to its parent.
2204
2205 2000-12-11  Alexander Larsson  <alexl@redhat.com>
2206
2207         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
2208         Clearified the difference between the keyboard types. Wrote a note
2209         about the magic sysrq key to get out of raw mode.
2210
2211 2000-12-09  James Henstridge  <james@daa.com.au>
2212
2213         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
2214         member to hold masks for detecting the start of a protocol packet.
2215         (mouse_devs): add packet start masks for ps2 and ms device types.
2216         Left the mask for fidmour blank, as I have no idea what it should
2217         be.
2218         (handle_mouse_io): skip bytes until we get to the start of a
2219         packet.  My Logitech mouse seems to be passing an extra NULL pad
2220         byte, and GPM does a similar thing here.
2221         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
2222         this is the ms mouse driver.
2223         (gdk_fb_mouse_ms_packet): fix up button handling, which was
2224         completely broken except for button1.  It was checking the wrong
2225         bit in the packet for the status of the right mouse button, and
2226         wrongly assuming right == button2 rather than 3.  I fixed that and
2227         also added support for middle button (button2).
2228
2229 2000-12-08  Havoc Pennington  <hp@redhat.com>
2230
2231         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
2232         that cause a segfault on text insertion
2233
2234         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
2235         warning
2236
2237         * gtk/gtktextiter.c (test_log_attrs): use
2238         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
2239
2240         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
2241         Get log attrs for a line, using a cache stored on the buffer
2242         
2243         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
2244         reported by Jeff Franks
2245
2246 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
2247
2248         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
2249         /dev/ttyS0 -> /dev/mouse
2250
2251 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
2252
2253         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
2254         Added dummy gdk_fontset_load.
2255
2256 2000-12-08  Alexander Larsson  <alexl@redhat.com>
2257
2258         * docs/README.linux-fb:
2259         * docs/Makefile.am:
2260         Initial GtkFB docs.
2261         
2262         * gdk/linux-fb/Makefile.am:
2263         Define GDK_DATA_PREFIX.
2264
2265         * gdk/linux-fb/gdkmain-fb.c:
2266         Fix typo.
2267         Change default display to /dev/fb0.
2268
2269         * gdk/linux-fb/gdkpango-fb.c:
2270         Add $(prefix)/share/fonts/ to font path.
2271         
2272 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
2273
2274         * gdk/linux-fb/gdkkeyboard-fb.c:
2275         New file containing the abstracted keyboard driver. Most code
2276         taken from gdkinput-ps2.c
2277
2278         * gdk/linux-fb/gdkinput-ps2.c:
2279         Removed file.
2280         
2281         * gdk/linux-fb/Makefile.am:
2282         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
2283
2284         * gdk/linux-fb/gdkcolor-fb.c:
2285         display->fb was renamed to display->fb_fd.
2286
2287         * gdk/linux-fb/gdkcursor-fb.c:
2288         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2289
2290         * gdk/linux-fb/gdkinput.c:
2291         Moved gdk_input_init here from gdkinput-ps2.c
2292
2293         * gdk/linux-fb/gdkmain-fb.c:
2294         display->fb was renamed to display->fb_fd.
2295         Now the tty and the console is opened here instead
2296         of in the keyboard driver. Also check GDK_VT to see what
2297         tty to open.
2298         Move gdk_beep () here from gdkinput-ps2.c
2299         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2300
2301         * gdk/linux-fb/gdkmouse-fb.c:
2302         Add header.
2303         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2304         Return correct keyboard modifiers.
2305         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
2306
2307         * gdk/linux-fb/gdkprivate-fb.h:
2308         Add tty and vt info to display.
2309         Add orignal modeinfo storage to display
2310         Update global functions
2311
2312         * gdk/linux-fb/gdkwindow-fb.c:
2313         Added gdk_fb_window_find_focus().
2314         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2315
2316 2000-12-07  Havoc Pennington  <hp@pobox.com>
2317
2318         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
2319         function, noticed by Alex
2320
2321 2000-12-06  Elliot Lee  <sopwith@redhat.com>
2322
2323         * configure.in: Detect freetype properly
2324
2325         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
2326         above.
2327
2328 2000-12-06  Alexander Larsson  <alexl@redhat.com>
2329
2330         * gdk/linux-fb/Makefile.am:
2331         Add gdkmouse-fb.c
2332         
2333         * gdk/linux-fb/gdkmouse-fb.c:
2334         New file. Abstracted the mouse drivers a bit.
2335
2336         * gdk/linux-fb/gdkcursor-fb.c:
2337         The cursor hide/show functions was moved here from gdkinput-ps2.c.
2338
2339         * gdk/linux-fb/gdkinput-ps2.c:
2340         Removed old mouse handling code. Moved cursor handling code
2341         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
2342         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
2343         gdk_mouse_get_info.
2344
2345         * gdk/linux-fb/gdkmain-fb.c:
2346         Pass NULL pointers for x,y in gdk_mouse_get_info call.
2347
2348         * gdk/linux-fb/gdkprivate-fb.h:
2349         Removed public gdk_fb_find_common_ancestor, added and renamed
2350         functions for the new mouse handling code.
2351
2352         * gdk/linux-fb/gdkwindow-fb.c:
2353         Moved gdk_fb_window_send_crossing_events here. added global
2354         variable gdk_fb_window_containing_pointer. made
2355         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
2356         renamed to gdk_mouse_get_info.
2357
2358 2000-12-06  Alexander Larsson  <alexl@redhat.com>
2359
2360         * gdk/linux-fb/gdkevents-fb.c:
2361         Update to match latest gmain/gsource changes.
2362
2363         * gdk/linux-fb/gdkinput-ps2.c:
2364         Bogus gdk_keymap_get_entries_for_keycode implementation so that
2365         it links. Will be implemented later.
2366
2367 2000-12-03  Havoc Pennington  <hp@pobox.com>
2368
2369         * gdk/Makefile.am: add gdkkeys.[hc]
2370
2371         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
2372         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
2373
2374         * acconfig.h, configure.in: add checks and command line options
2375         for XKB
2376
2377         * gdk/x11/gdkkeys-x11.c: Implement the above functions
2378         
2379         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
2380         and group in the key event
2381
2382         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
2383         field with the low-level hardware key code, and a group
2384         field with the keyboard group
2385
2386         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
2387         and declare a couple globals used for keymap handling
2388         
2389         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
2390         hold down Shift-Control and type a hex number to get a Unicode 
2391         character corresponding to the hex number
2392         (gtk_im_context_simple_get_preedit_string): Fix cursor position
2393         (return bytes not chars)
2394
2395 2000-12-05  Elliot Lee  <sopwith@redhat.com>
2396
2397         * gdk/gdkcolor.h: Make GdkColor specify element sizes
2398         to avoid waste on 64-bit platforms.
2399
2400 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
2401
2402         * INSTALL: Fix link to PNG home, remove reference
2403         to fribidi.
2404
2405         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
2406         
2407         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
2408         tested.)
2409
2410         * gtk/gtkcheckmenuitem.c: Permanently turn on
2411         always_show_toggle.
2412
2413         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
2414         be NULL. (Vladimir Klebanov, #26545)
2415
2416         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
2417         some signed/unsigned comparison problems. (#6510,
2418         David Kaelbling)
2419
2420         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
2421         return type to boolean (Oskar Liljeblad, #18648)
2422
2423 2000-12-05  Alexander Larsson  <alexl@redhat.com>
2424
2425         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
2426         Remove bogus colormap setting.
2427
2428 2000-12-05  Alexander Larsson  <alexl@redhat.com>
2429
2430         * gdk/linux-fb/gdkcolor-fb.c:
2431         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
2432
2433         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
2434         Must set colormap.
2435         
2436 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
2437
2438         * docs/tutorial/gtk-tut.sgml: DND updates
2439
2440 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
2441
2442         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
2443         Remove old debug g_warning().
2444         (gdk_fb_draw_drawable): The src argument can be either a wrapper
2445         or an implementation, just pass the implementation to draw_drawable_2.
2446         
2447         * gdk/linux-fb/gdkprivate-fb.h:
2448         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
2449
2450         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
2451         clear and invalidate area when window is destroyed.
2452         (send_map_events): Remove old commented out code.
2453
2454 2000-12-05  Alexander Larsson  <alexl@redhat.com>
2455
2456         * gdk/linux-fb/gdkpango-fb.c:
2457         Use italic instead of oblique in font aliases.
2458         
2459         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
2460         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
2461         other unsupported functions.
2462
2463 2000-12-04  Havoc Pennington  <hp@redhat.com>
2464
2465         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
2466
2467         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
2468
2469         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
2470
2471         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
2472         hack to avoid infinite loops (synthetic expose event) - 
2473         Owen has more appropriate fixes in a branch he'll check in later.
2474
2475         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
2476         separator, CR, and CRLF as line ends
2477
2478         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
2479         into lines using pango_find_paragraph_boundary(); other bits of
2480         the widget are still going to be broken if the boundary isn't '\n'
2481         though
2482
2483 2000-12-04  Alexander Larsson  <alexl@redhat.com>
2484
2485         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
2486         multiply.
2487
2488         * gdk/linux-fb/gdkpango-fb.c:
2489         Copied some 26.6 scaling macros from pango to clean up the rounding.
2490         (pango_fb_font_get_glyph_info): Correct sign on x value.
2491
2492         * gdk/linux-fb/gdkprivate-fb.h:
2493         Removed unreferenced external functions.
2494
2495         * modules/linux-fb/Makefile.am: Use ` instead of '.
2496
2497         * modules/linux-fb/basic.c:
2498         Remove dead code. In particular the dummy lang engine which broke all
2499         pango layouts in GtkFB. Don't include tables-big.i anymore.
2500
2501         * modules/linux-fb/tables-big.i:
2502         Upgrade to latest version from pango. Left for reference, basic_ranges
2503         moved to basic.c.
2504         
2505 2000-12-04  Havoc Pennington  <hp@redhat.com>
2506
2507         Fix bugs Alex found:
2508         
2509         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
2510         to "draw"
2511
2512         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
2513
2514         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
2515
2516         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
2517         implementation in here, apparently the expose() implementation was
2518         dead code.
2519
2520 2000-12-04  Alexander Larsson  <alexl@redhat.com>
2521
2522         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
2523         Return positive descent.
2524
2525 2000-12-02  Havoc Pennington  <hp@pobox.com>
2526
2527         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
2528         method and signal
2529         
2530         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
2531         calls gdk_window_process_updates() to push the exposes through
2532         (gtk_widget_class_init): No more draw signal, no
2533         gtk_widget_real_draw()  
2534         
2535         * gtk/gtkbin.c (gtk_bin_draw): remove
2536
2537         * gtk/gtkbox.c (gtk_box_draw): remove
2538
2539         * gtk/gtkbutton.c (gtk_button_draw): remove
2540
2541         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
2542
2543         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
2544
2545         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
2546
2547         * gtk/gtkclist.c (gtk_clist_draw): remove
2548
2549         * gtk/gtkentry.c (gtk_entry_draw): remove
2550
2551         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
2552
2553         * gtk/gtkfixed.c (gtk_fixed_draw): remove
2554
2555         * gtk/gtkframe.c (gtk_frame_draw): remove
2556
2557         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
2558
2559         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
2560
2561         * gtk/gtklayout.c (gtk_layout_draw): remove
2562
2563         * gtk/gtklist.c (gtk_list_draw): remove
2564
2565         * gtk/gtklistitem.c (gtk_list_item_draw): remove
2566
2567         * gtk/gtkmenu.c (gtk_menu_draw): remove
2568
2569         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
2570
2571         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
2572
2573         * gtk/gtknotebook.c (gtk_notebook_draw): remove
2574
2575         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
2576
2577         * gtk/gtkpacker.c (gtk_packer_draw): remove
2578
2579         * gtk/gtkrange.c (gtk_range_draw): remove
2580
2581         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
2582
2583         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
2584
2585         * gtk/gtktable.c (gtk_table_draw): remove
2586
2587         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
2588
2589         * gtk/gtktext.c (gtk_text_draw): remove
2590
2591         * gtk/gtktextview.c (gtk_text_view_draw): remove
2592
2593         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
2594
2595         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
2596
2597         * gtk/gtktree.c (gtk_tree_draw): remove
2598
2599         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
2600
2601         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
2602
2603         * gtk/gtkviewport.c (gtk_viewport_draw): remove
2604
2605         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
2606
2607         * gtk/gtkvscale.c (gtk_vscale_draw): remove
2608
2609         * gtk/gtkwindow.c (gtk_window_draw): remove
2610
2611 2000-20-01  Anders Carlsson  <andersca@gnu.org>
2612
2613         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
2614         a GtkToggleButton is both insensitive and active, it was being
2615         drawn by the GtkButton draw handler which doesn't check the
2616         state. Now it's calling gtk_toggle_button_paint instead.
2617         
2618 2000-12-01  Havoc Pennington  <hp@redhat.com>
2619
2620         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
2621         dangling pointers to the appearance attributes from the 
2622         line display
2623
2624         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
2625         width/height to mean "full width/height of drawable"
2626
2627         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
2628         click to select word/line
2629         
2630         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
2631         when getting log attrs. Get a slice, so that pixmaps and stuff
2632         are properly handled.
2633
2634         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
2635         paste into the selection (replaces selection now, previously
2636         crashed or added to selection). Reveals longstanding btree bug -
2637         select multiple lines, middle-click on the selection, boom. This
2638         isn't related to my changes though.
2639
2640         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
2641         PangoLogAttrs changes
2642         (gtk_entry_move_backward_word): ditto
2643
2644         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
2645         functions return bool whether the iter moved onto a
2646         dereferenceable position.
2647  
2648         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
2649         functions for motion in terms of display lines.
2650
2651         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
2652         get the buffer a mark is inside
2653         
2654 2000-12-01  Alexander Larsson  <alexl@redhat.com>
2655
2656         * gdk/linux-fb/Makefile.am:
2657         * modules/linux-fb/Makefile.am:
2658         Freetype 2 final uses freetype-config
2659
2660         * gdk/linux-fb/gdkpango-fb.c:
2661         Upgrade to use Freetype 2 final.
2662         More flexible support for font aliases, this also fixes a bug with
2663         GtkFontSelector, as the aliases must be visible in the font/family list,
2664         or GtkFontSelector reads uninitialized memory.
2665
2666 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
2667
2668         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
2669         XGetIMValues to properly terminate variable argument list, and do
2670         NULL return check for ic_values and xim_styles.
2671
2672         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
2673         Restore preedit state after XmbResetIC().
2674         
2675         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
2676         XvaCreateNestedList() should take XvaNestedList, but not
2677         XvaNestedList*.
2678
2679         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
2680         preedit_draw_callback, preedit_caret_callback): Match
2681         "preedit-changed" signal name to "preedit_changed" to be
2682         consistent to the spec.
2683
2684         * gtk/gtkimcontextsimple.c (check_table):
2685         Match "preedit-changed" to "preedit_changed" to be consistent
2686         to the spec.
2687
2688 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
2689
2690         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
2691         gc->clip_region == NULL>
2692
2693 2000-11-30  Tor Lillqvist  <tml@iki.fi>
2694
2695         Changes by Hans Breuer:
2696         
2697         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
2698         Dont't use negative width and height as max_hints. This fixes
2699         Owen's recent testgtk changes for win32.
2700
2701         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
2702         gdk_win32_hdc_release): These are exported and may be called with
2703         other drawable types than our GdkDrawableImplWin32 (?).
2704
2705         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
2706         so always #define USE_BACKING_STORE.
2707
2708         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
2709         of printf for debugging output.
2710
2711         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
2712         
2713         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
2714
2715         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
2716         declaration.
2717
2718         * gtk/gtktexttypes.h: Ditto.
2719
2720         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
2721         (GDK_VoidSymbol) also if in case of arg check failure.
2722
2723         * gtk/gtkimcontextsimple.c
2724         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
2725         position to the pointer, but to the variable it points to.
2726
2727         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
2728
2729         * gtk/gtk.def: Updates.
2730
2731 2000-11-29  Elliot Lee  <sopwith@redhat.com>
2732
2733         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
2734         GTK_TYPE_TREE_MODEL.
2735
2736 2000-11-29  Alexander Larsson  <alexl@redhat.com>
2737
2738         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
2739         Set the size of the font from the description.
2740         (gdk_text_width): Gross hack that calculates the width
2741         of text by text_length * size/2. This is necessary because
2742         GtkLabel does some ugly gtk_string_width call to calculate
2743         an good size.
2744         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
2745
2746 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
2747
2748         * docs/tutorial/gtk-tut.sgml: DND updates
2749
2750 2000-11-29  Alexander Larsson  <alexl@redhat.com>
2751
2752         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
2753         If you pass width or height == 0 to gdk_window_clear_area they
2754         should be calculated from the window size.
2755
2756 2000-11-29  Alexander Larsson  <alexl@redhat.com>
2757
2758         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
2759         a grab, but no grab-cursor, use the cursor from the grabbed
2760         window. (gdk_fb_window_send_crossing_events): Send normal
2761         enter/leave notifications if grab and owner_events == TRUE.
2762
2763 2000-11-29  Alexander Larsson  <alexl@redhat.com>
2764
2765         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
2766         Do implicit button grabs, even if the window doesn't
2767         want the event.
2768         (gdk_fb_window_send_crossing_events): If there is a
2769         grab, only the grabbed window gets normal enter/leave
2770         notifications. On ungrab go from grabbed window to current.
2771         Don't send any notification to b when propagating from c -> b.
2772         If setting a grab on window, don't set prev_window.
2773         (handle_mouse_input): Send enter/leave events to the window the
2774         mouse is over, not the grabbed one.
2775         
2776 2000-11-28  Elliot Lee  <sopwith@redhat.com>
2777
2778         * gdk/gdkregion-generic.c: Zap warning.
2779         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
2780         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
2781
2782 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
2783
2784         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
2785         The cursor should be hidden if it is part of either the
2786         source or destination region. Not only if it is in both.
2787         (gdk_window_set_transient_for): Silence warnings.
2788
2789 2000-11-28  Alexander Larsson  <alexl@redhat.com>
2790
2791         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
2792         The default mode in X is Pie Arcs, therefore that is
2793         what Gtk+ uses.
2794
2795 2000-11-28  Alexander Larsson  <alexl@redhat.com>
2796
2797         * gdk/linux-fb/gdkinput-ps2.c:
2798         Implement correct EnterNotify/LeaveNotify:
2799         (gdk_fb_window_send_crossing_events): New function that sends
2800         all GdkCrossingEvents from the last mouse-window to the specified
2801         destination.
2802         (gdk_fb_window_visibility_crossing): Removed function.
2803         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
2804         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
2805         instead of gdk_window_get_pointer() for better readability.
2806
2807         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
2808         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
2809
2810         * gdk/linux-fb/gdkprivate-fb.h:
2811         removed gdk_fb_window_visibility_crossing, added
2812         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
2813
2814         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
2815         New function that finds the least common ancestor of two windows.
2816         (gdk_window_show, gdk_window_hide):
2817         Use gdk_fb_window_send_crossing_events.
2818         (gdk_fb_window_move_resize): Send configure events to toplevel
2819         windows. Use gdk_fb_window_send_crossing_events.
2820
2821 2000-11-27  Havoc Pennington  <hp@redhat.com>
2822
2823         * gtk/gtkprivate.h (enum): Remove a trailing comma
2824
2825 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
2826
2827         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
2828         the "changed" callback of the adjustment.  We need to redraw the
2829         spin button's arrows when the adjustment's range changes.
2830         (adjustment_changed_cb): Draw the arrows.
2831         (gtk_spin_button_value_changed): Draw the arrows.
2832
2833 2000-11-23  Alexander Larsson  <alexl@redhat.com>
2834
2835         * gdk/linux-fb/gdkselection-fb.c:
2836         Initial selection implementation.
2837
2838         * gtk/gtkselection.c:
2839         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
2840         requestor in gtk_selection_request.
2841         
2842         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
2843         Added gdk_selection_property atom.
2844
2845         * gdk/linux-fb/gdkprivate-fb.h:
2846         Export _gdk_selection_window_destroyed.
2847         Removed mask_off_x/y from GdkCursorPrivateFB.
2848         Removed hbearing, added top, left to PangoFBGlyphInfo.
2849
2850         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
2851         Call _gdk_selection_window_destroyed
2852         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
2853         the root window has been created.
2854         (static_dx_hack, static_dy_hack, compare_draw_rects,
2855         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
2856         in region. They are already sorted. Instead just traverse them in
2857         reverse if draw_direction < 0.
2858         
2859         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
2860         Double-clicks must be sent after the normal button_press.
2861         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
2862         
2863         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
2864         Pass _gdk_fb_screen_gc instead of NULL.
2865
2866         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
2867         Initialize gdk_selection_property.
2868         (gdk_event_make): Remove unused code.
2869
2870         * gdk/linux-fb/gdkcursor-fb.c:
2871         Make the pixmap for the cursor the same size as the mask. Also remove
2872         the mask_off_x/y fields in GdkCursorPrivateFB and combine
2873         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
2874         Now the whole cursor is visible.
2875
2876         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
2877         Fix bug where xdest+height instead of ydest+height was used
2878         to calculate if the source and dest overlapped. This fixes the
2879         redraw bug when the main window in testgtk was scrolled when
2880         partially covered by a tall window.
2881         Copy rectangles in region in order depending on draw_direction.
2882         Also moved the draw_direction flipping of start_y and end_y into
2883         the gc functions, as this might not be what all of them want.
2884         (gdk_fb_draw_lines): Support dashed lines.
2885         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
2886         so that the text is positioned correctly (was 1 pixel high).
2887
2888         gdk/linux-fb/gdkgc-fb.c:
2889         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
2890         all lines were drawn a pixel to short. Also checked the default of
2891         the rest of the values, and they're the same as X now.
2892
2893         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
2894         Clean up pixel positioning of the glyphs. Just use bgy->top and
2895         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
2896         to all divisions to get correct rounding behaviour.
2897
2898         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
2899         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
2900         Moved start_y/end_y flip into draw_drawable implementations.
2901         Flip also x rendering when draw_direction < 0.
2902         Remove unneccesary multiply with draw_direction.
2903
2904 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
2905
2906         * docs/tutorial/gtk-tut.sgml:
2907           - get rid of gtk_toggle_button_toggled FUD
2908           - start DND section - needs work - based on:
2909                 http://wolfpack.twu.net/docs/gtkdnd/
2910
2911 2000-11-22  Alexander Larsson  <alexl@redhat.com>
2912
2913         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
2914         Correct calculation of font metrics. Now GtkEntrys have sane
2915         size.
2916
2917 2000-11-22  Alexander Larsson  <alexl@redhat.com>
2918
2919         * gdk/gdktypes.h:
2920         Add new type GdkSpan
2921         
2922         * docs/reference/gdk/gdk-sections.txt,
2923         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
2924         gdk/gdkregion.h:
2925         Implement and document gdk_region_spans_intersect_foreach.
2926
2927         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
2928         Add new file gdkrender-fb.c which contains all core
2929         rendering code.
2930         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
2931         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
2932         (optimized rectangle fillers).
2933
2934         * gdk/linux-fb/gdkdrawable-fb2.c:
2935         Move all rendering code to gdkrender-fb.c.
2936         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
2937         Use the new span intersection functions in gdk_fb_fill_spans.
2938         gdk_fb_draw_rectangle() clips filled rectangles and calls
2939         gc->fill_rectangle with the result.
2940         gdk_fb_fill_spans() gets extra argument "sorted".
2941
2942         * gdk/linux-fb/gdkevents-fb.c:
2943         Remove unused includes and defines.
2944         New function gdk_fb_get_time() to get correct time for events.
2945
2946         * gdk/linux-fb/gdkinput-ps2.c:
2947         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
2948         Make sure to set the time of all events.
2949
2950         * gdk/linux-fb/gdkmain-fb.c:
2951         Use gdk_fb_get_time ().
2952
2953         * gdk/linux-fb/gdkprivate-fb.h:
2954         New virtual GC calls: fill_span & fill_rectangle.
2955         Export gdk_fb_get_time().
2956         gdk_fb_fill_spans() gets extra argument "sorted".
2957
2958         * gdk/linux-fb/mi*.c:
2959         Use GdkSpan instead of GdkRectangle.
2960         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
2961         from XFree 4 source)
2962         
2963 2000-11-22    <jrb@redhat.com>
2964
2965         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
2966         reversing the order in an if statement will do.  Doing so managed
2967         to make the treemodelsort half work.  Other half will follow after
2968         I get the insert function fully fixed.
2969
2970 2000-11-21  Elliot Lee  <sopwith@redhat.com>
2971         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
2972         more than 2 bits. Besides, I need to implement an evil hack. :)
2973
2974 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
2975
2976         * docs/tutorial/gtk-tut.sgml: minor corrections
2977
2978 2000-11-20  Jonathan Blandford <jrb@redhat.com>
2979         * gtk/gtktreemodelsort.h: Add convertion functions to let you
2980           convert to and from relative path's and iters.
2981
2982         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
2983           testing sorting functions a bit better.  Currently broken -- will
2984           fix in morning.
2985
2986 2000-11-20  Havoc Pennington  <hp@redhat.com>
2987
2988         * gtk/gtkwidget.c: Documented a bunch of functions in here
2989         (gtk_widget_realize): Warn if you try to realize
2990         a widget with no parent that isn't a toplevel
2991         (gtk_widget_intersect): return a gboolean
2992
2993 2000-11-20  Havoc Pennington  <hp@redhat.com>
2994
2995         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
2996         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
2997         scrolling to be implemented in GDK to finish. Also, right now
2998         we just size_allocate all children on every layout change,
2999         which is pretty lame. Test commented out of testtext.c, 
3000         until it works better.
3001
3002 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
3003
3004         * gdk/linux-fb/gdkdrawable-fb2.c:
3005         Removed unused arguments from gdk_fb_drawable_get_pixel().
3006
3007         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
3008         Renamed fidur specific mouse packet data in MouseDevice to
3009         generic. Used it in ps2 mouse handling code to avoid blocking
3010         reads.
3011
3012 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
3013
3014         * demos/gtk-demo/main.c: Changed to have the list become
3015         non-italic when the demo window is destroyed through an external
3016         event (like a close button).  Doing so found three bugs in the
3017         widget.
3018
3019         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
3020
3021         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
3022         we actually set the cell.
3023
3024         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
3025
3026         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
3027         free a leaked path.  Thanks memprof.
3028
3029 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
3030
3031         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
3032         off-by-one error when destroying allocated segments
3033         on failure. (Elliot)
3034
3035 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
3036
3037         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
3038         memleaks found by Evan Martin.
3039
3040 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
3041
3042         * Released 1.3.2
3043         
3044         * NEWS: Updates for 1.3.2
3045
3046 2000-11-17  Tor Lillqvist  <tml@iki.fi>
3047
3048         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
3049         but in general for window system specific events.
3050
3051         * gtk/gtk.def
3052         * gtk/makefile.mingw.in
3053         * gtk/makefile.msc.in: Update.
3054         
3055         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
3056
3057 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
3058
3059         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
3060         distribute gtk.immodules.
3061
3062         * gtk/Makefile.am (install-data-local): Don't install the
3063         gtk.immodules file created for the uninstalled modules;
3064         instead run gtk-query-immodules after install
3065
3066 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
3067
3068         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
3069         -rpath to the right install location.
3070
3071         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
3072         -export-dynamic.
3073
3074         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
3075         properly.
3076
3077 2000-11-15  Havoc Pennington  <hp@pobox.com>
3078
3079         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
3080         patch from Mikael Hermansson to temporarily stop blinking while
3081         the user is using the keyboard to type or navigate. 
3082
3083         Also, when blinking, stay on for longer than we stay off. Also,
3084         return from start_cursor_blink if !cursor_visible, to save
3085         checking that flag all over the place before we call
3086         start_cursor_blink.
3087
3088 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
3089
3090         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
3091         only contain a "fontset" line, which is now ignored.
3092
3093         * gtk/gtkentry.c (gtk_entry_button_release): Make 
3094         double-click-to-select-word work.
3095         
3096 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
3097
3098         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
3099         Don't move back one char when we are actually at the end of the 
3100         paragraph.
3101
3102 2000-11-15  Robert Brady  <robert@suse.co.uk>
3103
3104         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
3105         'o' < 'p'.
3106         
3107         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
3108         bind_textdomain_codeset.
3109
3110         (gtk_init_check): Make the warning about translating default:LTR
3111         sterner.
3112         
3113 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
3114
3115         * **/Makefile.am : remove unecessary rules for win32-specific
3116         config-substituted targets. If you want these rules, use
3117         --enable-maintainer-mode (called automatically by autogen.sh).
3118         Stops a lot of unneccessary make-time warnings.
3119
3120         * gtk/gtktext{layout,display}.c: Factor in total width as
3121         well as screen when figuring alignment for word-wrap as well as
3122         no wrap; this is necessary to handle lines that cannot be wrapped
3123         at all.
3124
3125 2000-11-15  Havoc Pennington  <hp@redhat.com>
3126
3127         * gtk/testtext.c: Implement essential color cycling feature
3128
3129 2000-11-15  Havoc Pennington  <hp@redhat.com>
3130
3131         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
3132         when we invalidate the main window.
3133
3134         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
3135         GtkTextView will now invalidate the side windows for us when text
3136         changes.
3137
3138 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
3139
3140         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
3141         unconditionally, since we may need to update the horizontal
3142         scrollbars even if the height didn't change.
3143
3144         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
3145         the extra attrs, since some of them affect size.
3146
3147         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
3148         x_offset correctly.
3149
3150 2000-11-15  Havoc Pennington  <hp@redhat.com>
3151
3152         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
3153         don't move the first line out into the margin, instead move the
3154         whole paragraph in order to make space for the first line within 
3155         the margin
3156
3157 2000-11-15  Havoc Pennington  <hp@redhat.com>
3158
3159         * gtk/gtktextview.c (changed_handler): offset redraw rect by
3160         xoffset in addition to yoffset, so horizontal scrolling doesn't
3161         break redraws
3162
3163 2000-11-15  Havoc Pennington  <hp@redhat.com>
3164
3165         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
3166         from the cursor
3167         (render_layout_line): fix reversed test that caused weird
3168         underlines to get drawn
3169
3170 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
3171
3172         * gdk/linux-fb/gdkprivate-fb.h:
3173         Fix debug macros.
3174         
3175 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
3176
3177         * gdk/linux-fb/gdkprivate-fb.h:
3178         Added virtual functions set_pixel, get_color,
3179         fill_span and draw_drawable to the GC.
3180         Added global _gdk_fb_screen_gc to use instead of
3181         NULL when drawing to the screen.
3182         Added _gdk_fb_gc_calc_state() prototype.
3183
3184         * gdk/linux-fb/gdkgc-fb.c:
3185         Call _gdk_fb_gc_calc_state() on any gc state change.
3186
3187         * gdk/linux-fb/gdkglobals-fb.c:
3188         Add _gdk_fb_screen_gc
3189                 
3190         * gdk/linux-fb/gdkdrawable-fb2.c:
3191         _gdk_fb_gc_calc_state() calculates best functions
3192         for the GC state and depth.
3193         Moved bpp specialized code to separate functions.
3194         Added optimized 24 bpp AA draw_drawable.
3195
3196         * gdk/linux-fb/gdkevents-fb.c:
3197         Silence gcc warning.
3198
3199         * gdk/linux-fb/gdkimage-fb.c:
3200         Use _gdk_fb_screen_gc
3201
3202         * gdk/linux-fb/gdkwindow-fb.c:
3203         Init and use _gdk_fb_screen_gc
3204
3205         * gdk/linux-fb/mitypes.h:
3206         Remove unused types.
3207
3208 2000-11-14  Havoc Pennington  <hp@pobox.com>
3209
3210         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
3211         to pixels
3212
3213 2000-11-14  Havoc Pennington  <hp@pobox.com>
3214
3215         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
3216
3217         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
3218         unknown char, no real reason we were using a variable. 
3219         Remove gtk_text_unknown_char variable. Fix all the text widget
3220         files accordingly.
3221
3222         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
3223         since the Unicode spec seems to prefer that character for our
3224         purposes.
3225
3226 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
3227
3228         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
3229         value of g_getenv() isn't freeable, so g_strdup it.
3230
3231         * modules/input/inuktitut.c: Inuktitut input method.
3232
3233         * modules/input/Makefile.am: Build this.
3234         
3235 2000-11-14  Elliot Lee  <sopwith@redhat.com>
3236
3237         * gtk/Makefile.am: Install gtk.immodules, needed for operation
3238         of gtk programs.
3239
3240 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
3241
3242         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
3243         reversed > that was causing Home to go to end of previous line.
3244
3245         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
3246         modified-keypresses (leave for bindings.)
3247
3248         * modules/input/Makefile.am: Remove useless -export-dynamic
3249         from module LDFLAGS.
3250
3251 2000-11-14  Havoc Pennington  <hp@redhat.com>
3252
3253         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
3254         higher.
3255
3256         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
3257         account. Also, render rise, underline, background, etc. for
3258         pixbufs as well as text. Also, draw underlines one pixel higher.
3259
3260         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
3261         PangoAttribute for the rise, so it gets drawn properly. Also,
3262         add the GtkTextAppearance attribute for pixbuf/widget segments
3263         as well; we should go ahead and have rise, underline, background,
3264         stipple work for those
3265
3266         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
3267         Pango
3268
3269 2000-11-15  Tor Lillqvist  <tml@iki.fi>
3270
3271         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
3272
3273         * gtk/gtk.def: Update.
3274
3275         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
3276         included.
3277         (gtk_rc_get_im_module_file): Use run-time installation directory
3278         on Win32.
3279
3280         * gdk/win32/rc/gdk.rc: Remove.
3281         * gdk/win32/rc/gdk.rc.in: New file.
3282         * gdk/win32/rc/Makefile.am: New file
3283         * gdk/win32/Makefile.am: Corresponding changes.
3284
3285         * gtk/gtk.rc: Remove.
3286         * gtk/gtk-win32.rc.in: New file.
3287         * gtk/Makefile.am: Corresponding changes.
3288
3289         * configure.in: Corresponding changes.
3290
3291         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
3292         has a built gtkcompat.h. Developers using CVS code on Win32 can
3293         hand-edit it from gtkcompat.h.in.
3294
3295         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
3296         gtkcompat.h from gtkcompat.h.win32.
3297
3298 2000-11-14  Havoc Pennington  <hp@redhat.com>
3299
3300         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
3301         to default to GDK_ACTION_MOVE if the drag is within a single
3302         widget. Defaults to GDK_ACTION_COPY between widgets.
3303
3304 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
3305
3306         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
3307
3308         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
3309
3310         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
3311         srcdir != builddir
3312
3313         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
3314
3315         * configure.in (GTK_VERSION): Up to 1.3.2
3316
3317         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
3318         gtkimcontextxim.h
3319
3320         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
3321         missing doc comment.
3322
3323 2000-11-14  Alexander Larsson  <alexl@redhat.com>
3324
3325         * modules/linux-fb/basic.c:
3326         Use the glib iconv wrappers.
3327
3328 2000-11-13  Havoc Pennington  <hp@pobox.com>
3329
3330         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
3331         still more bugs.
3332
3333         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
3334         scroll the GdkWindows before realization.
3335
3336 2000-11-13  Havoc Pennington  <hp@redhat.com>
3337
3338         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
3339         where GC didn't always get updated properly
3340
3341         * demos/gtk-demo/textview.c (create_tags): Use subattributes
3342         of fonts instead of setting the entire font
3343
3344         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
3345         setting entire font
3346
3347         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
3348
3349         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
3350         a bunch of individually-settable font attributes. You can still 
3351         use the "font" and "font_desc" args, they just set all the font
3352         attributes at once.
3353
3354 2000-11-13 Elliot Lee <sopwith@redhat.com>
3355
3356         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
3357
3358 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
3359
3360         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
3361         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
3362
3363         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
3364         work better.
3365
3366 2000-11-13  Havoc Pennington  <hp@redhat.com>
3367
3368         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
3369         the module file.
3370
3371         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
3372         dest->language
3373
3374         * gtk/testtext.c: Test pixels above/below/inside paragraphs
3375         settings
3376
3377         * gtk/gtktextview.c: Implement object args and setters/getters for
3378         all the aspects of the GtkTextAttributes that are not set from
3379         GtkWidget attributes. This is spacing, justification, margins,
3380         etc.
3381
3382         (gtk_text_view_set_arg)
3383         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
3384         args
3385         (gtk_text_view_class_init): Add args for justify, left_margin,
3386         right_margin, indent, and tabs
3387         
3388
3389         * gtk/gtktextlayout.c (set_para_values): fix to display indent
3390         attribute properly
3391
3392         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
3393         replace with indent attribute
3394
3395         * gtk/gtktextlayout.c (set_para_values): multiply indent by
3396         PANGO_SCALE
3397
3398         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
3399         rearranging code to do that
3400         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
3401         i.e. don't subtract the top_margin first, just to keep
3402         all margin-futzing in one place.
3403
3404         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
3405
3406         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
3407         special case of last line, Pango now handles this itself.
3408         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
3409         Y coordinate
3410         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
3411         (find_display_line_above): wasn't moving the byte index as it
3412         iterated over lines, so always returned byte 0. Also, port to use
3413         PangoLayoutIter.
3414         (find_display_line_below): same problem as
3415         find_display_line_above. Also, port to use PangoLayoutIter.
3416
3417 2000-11-13  Alexander Larsson  <alexl@redhat.com>
3418
3419         * gdk/linux-fb/*.[ch]:
3420         Massive reindent to gtk+ standard. My hands hurt.
3421
3422         * gdk/linux-fb/gdkcolor-fb.c:
3423         Move GdkColorPrivateFB from inherited to windowing_data
3424
3425         * gdk/linux-fb/gdkcursor-fb.c:
3426         _gdk_cursor_new_from_pixmap made static
3427
3428         * gdk/linux-fb/gdkdnd-fb.c:
3429         GdkDragContextPrivate moved to windowing_data
3430
3431         * gdk/linux-fb/gdkdrawable-fb2.c:
3432         Removed endian.h, use glib endianness macros instead
3433         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
3434         and GDK_DRAWABLE_IMPL_FBDATA
3435
3436         * gdk/linux-fb/gdkfont-fb.c:
3437         Add empty gdk_font_load(). Needed for linking of Gtk+.
3438
3439         * gdk/linux-fb/gdkimage-fb.c:
3440         Removed endian.h, use glib endianness macros instead
3441         Moved GdkImagePrivateFB to windowing_data
3442         gdk_image_new_bitmap didn't always allocate enough
3443         memory.
3444
3445         * gdk/linux-fb/gdkinput-ps2.c:
3446         Added semi-working support for MS serial mice.
3447
3448         * gdk/linux-fb/gdkprivate-fb.h:
3449         s/GdkWindowPrivate/GdkWindowObject/
3450         Removed GdkWindowPrivate typedef
3451         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
3452         Removed GDK_DRAWABLE_P
3453         Move GdkColorPrivateFB from inherited to windowing_data
3454         Moved GdkImagePrivateFB to windowing_data
3455
3456         * gdk/linux-fb/gdkvisual-fb.c:
3457         Removed some unused debug code.
3458
3459         * gdk/linux-fb/gdkwindow-fb.c:
3460         Use stock cursors instead of including X headers.
3461         s/GdkWindowPrivate/GdkWindowObject/
3462
3463         * gdk/linux-fb/mitypes.h:
3464         Removed unused types.
3465
3466         * modules/linux-fb/basic.c:
3467         Use the pango fribidi wrappers.
3468
3469 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3470
3471         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
3472         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
3473         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
3474         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
3475         GEqualFunc where applicable.
3476         
3477         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
3478         pango_font_description_equal as changed in pango.
3479         
3480         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
3481
3482         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
3483
3484         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
3485
3486         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
3487
3488         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
3489
3490         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
3491
3492         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
3493         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
3494
3495         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
3496         gtk_rc_styles_compare -> gtk_rc_styles_equal.
3497
3498 2000-11-12  Havoc Pennington  <hp@pobox.com>
3499
3500         * demos/gtk-demo/Makefile.am (democodedir): change demo install
3501         dir to datadir/gtk+-2.0/demo
3502
3503         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
3504         sorts of text widget and Pango font bugs. Urgh.
3505
3506         * demos/gtk-demo/Makefile.am (demos): Add textview.c
3507
3508         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
3509         tree that you should double click to see the demo. Fix 
3510         types of variables to reflect changed return values from 
3511         GtkTreeStore and GtkTreeViewColumn constructors.
3512
3513         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
3514         newly-created buffer to prepare for GObject semantics
3515
3516         * gtk/testtext.c: don't leak the buffer with GObject semantics
3517
3518         * gtk/testtextbuffer.c: ditto
3519         
3520 2000-11-12  Havoc Pennington  <hp@pobox.com>
3521
3522         Rename this testgtk to gtk-demo to avoid confusion, and 
3523         install it so people can use it as a supplement to 
3524         the documentation.
3525         
3526         * demos/gtk-demo: Moved from demos/testgtk
3527
3528         * demos/testgtk: Removed
3529
3530         * configure.in: make Makefile in gtk-demo
3531         
3532         * demos/gtk-demo/Makefile.am: Install sample source to 
3533         datadir/gtk-demo (maybe there's a better place?), and 
3534         rename the binary to gtk-demo
3535         
3536         * demos/gtk-demo/main.c (load_file): Load installed sample
3537         source if source isn't found in pwd.
3538
3539 2000-11-09  Havoc Pennington  <hp@pobox.com>
3540
3541         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
3542         argument to set the char displayed when visibility == FALSE
3543         (gtk_entry_create_layout): If !entry->visible, replace 
3544         all chars with the "invisible char"
3545
3546         * gtk/testgtk.c: Test the invisible_char deal
3547         
3548 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
3549
3550         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
3551         can't get a native font in the right encoding.
3552
3553 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
3554
3555         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
3556         respectively.
3557
3558 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
3559
3560         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
3561         Fix warning when moving between paragraphs.
3562
3563         * gtk/gtkentry.[ch]: Change move => move_cursor, 
3564         delete => delete_from_cursor, insert => insert_at_cursor
3565
3566 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
3567
3568         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
3569
3570         * modules/input/imthai-broken.c: A Thai input method for use if
3571         Thai keys are really generating Latin1 keysyms.
3572
3573         * modules/input/Makefile.am: Build these.
3574
3575 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
3576
3577         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
3578         g_filename_{to,from}_utf8 now takes an extra parameter.
3579
3580         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
3581         strftime into UTF-8.
3582
3583         (column_from_x, gtk_calendar_paint_day_names): Support RTL
3584         calendars.
3585
3586         (gtk_calendar_paint_day_names): Draw day names in the right 
3587         place.
3588         
3589 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
3590
3591         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
3592         problem with using result of g_get_charset() backwards -
3593         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
3594
3595         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
3596         negative min_width/height and max_width/height to
3597         mean "requisition"; this allows setting a window
3598         to be user-resizable in only one direction easily.
3599
3600         * gtk/testgtk.c (create_main_window): Remove hard-coded
3601         usize - set a default size in the vertical direction.
3602
3603 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
3604
3605         * gtk/gtkrange.c: Add some missing casts. Support 
3606         2 and 3 button clicks on the arrows to mean 
3607         "move by pages" and "jump to end". (Like gtkspinbutton)
3608
3609 2000-11-12 Hans Breuer <Hans@Breuer.Org>
3610
3611         * gdk/win32/makefile.msc : reflect build module changes
3612
3613         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
3614         from GdkPixmap*, cast implementation member instead.
3615
3616         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
3617         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
3618         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
3619         more Gdi functions return value checking. 
3620         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
3621         GdkImagePrivateWin32 *.
3622
3623         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
3624         menus useable again. Add #pragma message to keep reminded on this issue.
3625         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
3626         windows. This allows to enable backing store on Win32!
3627
3628         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
3629         in drawable is of impl type. Correct specific type checks appropriate.
3630  
3631         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
3632         GDK_WINDOW_DESTROYED before allocating new resources.
3633
3634         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
3635
3636         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
3637         (gdk_window_foreign_new) initialize parent handle.
3638         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
3639
3640         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
3641         Let the GDI invalidate the window on MoveWindow call to fix scrolling
3642         problems (e.g. main buttons in testgtk). 
3643
3644 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
3645
3646         * gtk/gtkentry.c (gtk_entry_key_press): Call 
3647         gtk_widget_activate for GDK_Return.
3648
3649         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
3650         of preedit cursor position.
3651
3652 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
3653
3654         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
3655         static.
3656
3657 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
3658
3659         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
3660         out support for multiple locales; that simple doesn't
3661         work reliably with current Xlib
3662
3663         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
3664         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
3665         Add support for positioning the cursor within the preedit string.
3666
3667 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
3668
3669         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
3670         at XIM input method module.
3671
3672         * gtk/gtktextview.c: Check for bindings after passing
3673         events to im context filter.
3674
3675 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
3676
3677         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
3678         empty attribute lists properly.
3679
3680 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
3681
3682         * gtk/queryimmodules.c (main): Return non-zero exit
3683         status if errors were encountered querying any
3684         modules.
3685
3686         * modules/input/Makefile.am (moduledir): remove
3687         leftover bin program target.
3688
3689         * docs/make-todo: Fix typo in error message.
3690
3691 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
3692
3693         * configure.in: Add modules/input/Makefile
3694
3695 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
3696
3697         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
3698         don't include gtkthemes.h.
3699
3700         * gtk/testgtk.c gtk/testtext.c: Set environment variables
3701         to point
3702
3703         * gtk/Makefile.am: Add new .c and .h files, build 
3704         gtk-query-immodules and use it to create a gtk.immodules
3705         file for use of test programs.
3706
3707         * gtk/gtkpreview.c: remove extra blank line.
3708
3709 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
3710
3711         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
3712         Add the ability to add extra tables beyond the default
3713         one, and also the ability to have compose sequences 
3714         that are prefixes of other compose sequences. 
3715
3716         * gtk/gtkimcontextsimple.c: Export a preedit string which
3717         consists of possible candidates for keystrokes that have
3718         been entered but not yet committed.
3719
3720         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
3721         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
3722
3723         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
3724         Add a function to add input-method switching menu items
3725         to a menu.
3726
3727         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
3728         when switching input methods.
3729
3730         * gtk/gtkimcontextsimple.[ch]: Change the format of
3731         the compose table to allow compose tables of different
3732         lengths / sequence.
3733
3734 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
3735
3736         * gtk/gtkimmodule.[ch]: Support routines for loading
3737         GtkIMContext implementations dynamically at runtime.
3738
3739         * modules/input/imcyrillic-translit.c: A sample input
3740         method (based on GtkIMContextSimple with an extra table),
3741         which demonstrates preedit strings and the module
3742         system for input modules
3743
3744         * gtk/queryimmodules.c: Program to query the available
3745         input modules and write the results into a file.
3746          
3747         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
3748         extra config options "im_module_file" (cache file for
3749         input method modules), and "im_module_path" - path
3750         to look for modules when generating cache file.
3751
3752         This doesn't scale.
3753
3754 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
3755
3756         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
3757         generic code from gtkthemes into a new abstraction
3758         GtkModule which has the logic for implementing
3759         a loadable module which implements a number of 
3760         GObject types.
3761
3762 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
3763
3764         * gtk/gtkeditable.[ch]: Convert GtkEditable from
3765         a class into an interface  
3766         
3767         * gtk/gtkoldeditable.[ch]: Move the old editable
3768         implementation into here, so legacy widgets can
3769         still rely on the implemenation. GtkOldEditable
3770         exports GtkEditable. Make selection handling
3771         code use new text conversion functions (and
3772         handle UTF-8 as a side-effect). Use GtkClipboard
3773         for CLIPBOARD.
3774
3775         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
3776         Adopt to match above changes.
3777
3778         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
3779         avoid GtkOldEditable implementation. Restructure
3780         to reduce number of places that modify state directly.
3781         Move to GtkBindingSet. Display the preedit string.
3782         Queue recomputation of PangoLayout and scroll position
3783         to improve effiency of doing complex changes naively.
3784         Add a menu with cut/copy/paste and input method selection.
3785
3786 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
3787
3788         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
3789         to set preedit string and attributes; display preedit string by
3790         inserting string and attributes at cursor when creating the
3791         GtkTextLineDisplay.
3792
3793         * gtk/gtktextlayout.c: Move all conversions between byte
3794         positions in PangoLayout and GtkTextIter into new functions
3795         line_display_iter_to_index/index_to_iter that properly
3796         handle the preedit string.
3797
3798         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
3799         it to return const char * (eventually will end up
3800         as GCONST char *, most likely.)
3801
3802         * gtk/gtktextview.[ch]: Handle the preedit string, call
3803         gtk_im_context_reset() as necessary, add a menu to switch
3804         input methods.
3805         
3806         * gtk/gtktextlayout.[ch]: Remove useless
3807         gtk_text_layout_get_log_attrs() function.
3808
3809 2000-11-11  Tor Lillqvist  <tml@iki.fi>
3810
3811         * gdk/gdk.def
3812         * gtk/gtk.def: Update.
3813
3814         * gdk/win32/*.c: Add last argument to g_type_register_static()
3815         calls.
3816
3817         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
3818
3819         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
3820         generated by older wheel mouse drivers. Get the correct y
3821         coordinate from WM_MOUSEWHEEL messages.
3822
3823         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
3824         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
3825         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
3826         Debugging functions.
3827
3828         * gdk/win32/gdkprivate-win32.h: Declare them.
3829
3830         * gdk/win32/gdkinput-win32.h: Add declaration for
3831         gdk_input_window_destroy().
3832
3833         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
3834
3835 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
3836
3837         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
3838         function to help handle keeping things in sync.
3839
3840 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
3841
3842         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
3843         BOXED marshallers.
3844
3845         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
3846         (gtk_list_store_class_init): use the new BOXED marshallers.
3847
3848         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
3849         new_with_values to new_with_types.
3850         (gtk_tree_store_get_column_type): add this.
3851         (gtk_tree_store_class_init): use the new BOXED marshallers.
3852
3853         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
3854         mirror some POINTER marshallers.
3855
3856 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
3857
3858         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
3859         allow more interesting iterators.  Also, made the lifecycle of
3860         iterators more explicit.
3861
3862         * gtk/gtktreemodelsort.[ch]: New model for sorting.
3863
3864         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
3865         types.
3866
3867 2000-11-09  Alexander Larsson  <alexl@redhat.com>
3868
3869         * demos/testgtk/menus.c:
3870         Changes to make the new testgtk compile after
3871         gtk_menu_append was removed.
3872
3873         * gdk/linux-fb/gdkdrawable-fb2.c
3874         (gdk_fb_get_depth, gdk_fb_get_visual,
3875         gdk_drawable_impl_fb_class_init): Implement
3876         these drawable functions. Now GtkImages work again.
3877
3878         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
3879
3880         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
3881         
3882         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
3883         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
3884         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
3885         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
3886
3887 2000-11-08  Havoc Pennington  <hp@pobox.com>
3888
3889         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
3890         visible_set args, don't know where these had gone, I thought they
3891         used to be there
3892
3893         * gtk/testtext.c: Add a menu item to apply invisibility tag;
3894         now we can test the feature and see that it's totally broken.
3895
3896 2000-11-08  Havoc Pennington  <hp@pobox.com>
3897
3898         Make DND copy pixbufs and tags when source and target share a 
3899         tag table.
3900         
3901         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
3902         in-process GTK_TEXT_BUFFER_CONTENTS target
3903         (gtk_text_view_drag_data_received): Paste from
3904         GTK_TEXT_BUFFER_CONTENTS if we receive it.
3905
3906 2000-11-08  Alexander Larsson  <alexl@redhat.com>
3907
3908         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
3909         API changes.
3910
3911         * gtk/gtkmenu.c: Add support for scrolling menus.
3912         Remove gtk_menu_append/prepend/insert, these have been moved to
3913         gtkcompat.h as #defines.
3914
3915         * gtk/gtkcompat.h.in:
3916         Add compatibility #defines for gtk_menu_append/prepend/insert
3917
3918         * gtk/gtkmenu.h: Add data needed for scrolling menus.
3919         GtkMenuPositionFunc gets an extra argument push_in.
3920         gtk_menu_append/prepend/insert removed.
3921         
3922         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
3923         positioning behaviour to fit to scrolling menus.
3924
3925         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
3926         into menuitem->submeny. That is wrong, and broke torn
3927         off submenus of torn off menus, since they were unrealized
3928         when the first menu was unrealized.
3929
3930         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
3931         gtk_menu_shell_select_item() since these need to be overridden in
3932         GtkMenu.
3933
3934         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
3935         positioning behaviour to fit to scrolling menus.
3936         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
3937         the current item so that it is prelighted when the menu pops up.
3938         This is a workaround to the fact that the menu doesn't get the
3939         initial enter event (due to grabs).
3940
3941         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
3942         s/gtk_menu_append/gtk_menu_shell_append/
3943
3944         * gtk/gtknotebook.c:
3945         s/gtk_menu_insert/gtk_menu_shell_insert/
3946
3947         * gtk/testgtk.c (create_menu, create_menus):
3948         Create the first menu with 50 items so that menu scrolling
3949         can be tested.
3950         
3951         
3952         Patch from Jonathan Blandford  <jrb@redhat.com>
3953
3954         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
3955         system to handle size requests.  First, we ask what the size of
3956         the toggle is.  Then, when allocating the size, we allocate the
3957         toggle_size first.  This way we can have multiple menu-item
3958         classes w/o needing a seperate class for each.
3959
3960         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
3961         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
3962
3963         * gtk/gtkcheckmenuitem.c
3964         (gtk_check_menu_item_toggle_size_request): New function to handle
3965         the toggle size-request.
3966
3967 2000-11-07  Havoc Pennington  <hp@redhat.com>
3968
3969         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
3970         Half-ass somewhat fix this function, so that scrolling to the
3971         insertion point works. Pango hacking is in the future to really
3972         fix it.
3973
3974         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
3975         length of data, no longer used.
3976
3977         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
3978         method contents in here, get rid of destroy method
3979         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
3980         that were backward. Remove debug spew.
3981         (cut_or_copy): Make the clipboard work with insert_range to
3982         preserve tags and pixbufs, not just the primary selection.
3983
3984 2000-11-07  Havoc Pennington  <hp@redhat.com>
3985
3986         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
3987         to gtk_text_mark_get_visible
3988
3989         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
3990         bug that was generating an invalid iterator
3991
3992         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
3993         ensure_char_offsets() in front of code placing the iter in an
3994         invalid state.
3995
3996         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
3997         make override_location arg const
3998         (paste): Replace the selection if we paste into the 
3999         current selection
4000
4001         * gtk/gtkselection.h: Remove "GtkSelectioData"
4002         (struct _GtkSelectionData): move the definition here.
4003
4004         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
4005         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
4006
4007         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
4008
4009         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
4010         (gtk_text_buffer_insert_range_interactive): implement
4011         (gtk_text_buffer_get_tags): Remove, replaced by
4012         gtk_text_iter_get_tags()
4013
4014         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
4015         limit parameter, to avoid infinite linear scan.
4016         (gtk_text_iter_backward_search): Add search limit
4017         (gtk_text_iter_forward_find_char): Add search limit
4018         (gtk_text_iter_backward_find_char): Add search limit
4019
4020 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
4021
4022         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
4023         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
4024         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
4025         gdk/linux-fb/gdkwindow-fb.c:
4026         use g_object_new() instead of g_type_create_instance() which
4027         is a private function for fundamental type implementations.
4028
4029         * gdk/linux-fb/gdkinput-ps2.c:
4030         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
4031         instead just store the current modifier state. Add a (somewhat broken)
4032         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
4033         Rename exported function gdk_input_ps2_get_mouseinfo to
4034         gdk_input_get_mouseinfo.
4035
4036         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
4037         gdk/linux-fb/gdkwindow-fb.c:
4038         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
4039         
4040
4041 2000-11-02  Havoc Pennington  <hp@redhat.com>
4042
4043         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
4044         use stock buttons. Should be 100% source compatible, appropriate
4045         filesel fields now point to dialog->vbox and dialog->action_area.
4046         On the bizarre side, dialog->action_area and filesel->action_area
4047         are not the same widget.
4048         (gtk_file_selection_init): Put some padding around the selection
4049         entry, so it isn't touching the GtkDialog separator.    
4050
4051         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
4052         use stock buttons, etc. Should also be source compatible.
4053         Set the dialog default title in _init not _new().
4054         
4055         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
4056         Use stock buttons; don't put a button box inside the existing
4057         dialog button box. Don't bother with push/pop colormap anymore.
4058
4059         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
4060         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
4061         for message dialog, and necessary for the font selection and color
4062         selection with help and apply buttons.
4063         
4064         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
4065         to the created button widget. Set GTK_CAN_DEFAULT on the button.
4066         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
4067         between buttons, put less padding around the action area.
4068         (gtk_dialog_run): Exit on unmap rather than on destroy. 
4069         This will also exit the loop if the widget is hidden.
4070         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
4071         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
4072         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
4073         special-case delete event.
4074
4075         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
4076         formatting
4077         
4078 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
4079
4080         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
4081         button to temporarily disable position recording in the
4082         "saved position" test.
4083
4084 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
4085
4086         * gtk/gtkthemes.c: added compat code that temporarily implements
4087         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
4088         going to be revamped by owen's upcoming GtkModule patches, but
4089         untill then people want gtk to build, right? ;)
4090
4091 2000-11-04  Havoc Pennington  <hp@pobox.com>
4092
4093         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
4094         list
4095
4096         * docs/Changes-2.0.txt: Add note about
4097         gtk_container_get_toplevels()
4098
4099         * gtk/gtktextview.h: formatting
4100         
4101         * gtk/gtktextview.c: don't start descriptions with "Returns",
4102         confuses gtk-doc
4103
4104 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
4105
4106         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
4107         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
4108
4109 2000-11-03  Havoc Pennington  <hp@redhat.com>
4110
4111         * gtk/gtktexttagtable.c: Docs
4112         (gtk_text_tag_table_size): return a signed int
4113
4114         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
4115         (gtk_text_tag_event): make the event_object a GObject
4116
4117         * gtk/gtktextview.c: Write API docs for all functions.
4118
4119         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
4120         for gtk_text_view_get_window_type() called on one of the private
4121         windows.
4122
4123         * gtk/gtktextview.c: Instead of accessing text_view->buffer
4124         directly, call get_buffer() which demand-creates a default
4125         buffer. So gtk_text_view_new() can be used to create a view with a
4126         default buffer in it, if you just want an empty text box users can
4127         put data in. Useful for GUI builders also.
4128
4129 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
4130
4131         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
4132         the charset encodign portion MUST be in lowercase.
4133         * gtk/gtkrc.az: added file for Azeri language
4134
4135 2000-11-03  Havoc Pennington  <hp@redhat.com>
4136
4137         Get widgets working on the btree/buffer side. Display of them 
4138         still doesn't work.
4139         
4140         * gtk/gtktextview.c: start implementing child widget stuff
4141
4142         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
4143
4144         * gtk/gtktextlayout.c: handle embedded widgets
4145
4146         * gtk/gtktextdisplay.c: handle embedded widgets
4147
4148         * gtk/gtktextchild.c: Implement all the child anchor goo
4149
4150         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
4151         function
4152
4153         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
4154         (insert_pixbuf_or_widget_segment): abstract out common portions of 
4155         creating a child anchor or a pixbuf segment.
4156         (gtk_text_btree_create_child_anchor): new function
4157         (gtk_text_btree_unregister_child_anchor): new function
4158
4159         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
4160         allocate_child signal on GtkTextLayout
4161
4162         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
4163         values
4164         (gtk_text_iter_get_child_anchor): new function
4165
4166         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
4167         default handler for the changed signal, which calls
4168         gtk_text_buffer_set_modified(), instead of just always emitting
4169         changed then calling set_modified() manually. I guess this is
4170         maybe more flexible. It seems logical.
4171
4172 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
4173
4174         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
4175         now.
4176
4177         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
4178
4179 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
4180
4181         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
4182         been marked static.
4183
4184 2000-11-02  Havoc Pennington  <hp@redhat.com>
4185
4186         * gtk/testgtk.c (create_labels): had a test backward
4187
4188         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
4189         fields, so the dest GC ends up with the correct clip origin, 
4190         etc. Fixes a bug where colored labels didn't redraw 
4191         properly.
4192
4193 2000-11-02  Alexander Larsson  <alexl@redhat.com>
4194
4195         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
4196         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
4197         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
4198         Add last argument to t_type_register_static call.
4199         
4200         * gdk/linux-fb/gdkdrawable-fb2.c:
4201         Add last argument to t_type_register_static call.
4202         export the get_image drawable virtual function.
4203
4204         * gdk/linux-fb/gdkimage-fb.c:
4205         Add last argument to t_type_register_static call.
4206         rename gtk_image_get to _gdk_fb_get_image and
4207         export it for use by gdkdrawable-fb2.
4208
4209         * gdk/linux-fb/gdkprivate-fb.h:
4210         export _gdk_fb_get_image.
4211
4212         * gdk/linux-fb/gdkselection-fb.c:
4213         Add new api call stubs.
4214
4215         * gtk/Makefile.am:
4216         Missing ( in linux-fb part.
4217
4218         * modules/linux-fb/Makefile.am:
4219         Must link with gdk_pixbuf or get unresolved symbol.
4220
4221 2000-11-01  Havoc Pennington  <hp@pobox.com>
4222
4223         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
4224         GTK_TYPE_TEXT_ITER and BOXED marshallers
4225
4226         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
4227
4228         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
4229         
4230         * gtk/gtk-boxed.defs: add GtkTextIter
4231
4232         * gtk/gtkmarshal.list: Add marshallers for text widget that 
4233         properly use OBJECT and BOXED
4234
4235 2000-11-01  Havoc Pennington  <hp@redhat.com>
4236
4237         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
4238
4239         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
4240         before returning it. 
4241         
4242 2000-11-01  Havoc Pennington  <hp@redhat.com>
4243
4244         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
4245         Clip the rectangle to be rendered to the drawable, since
4246         get_from_drawable() requires a region within the drawable
4247
4248 2000-11-01  Havoc Pennington  <hp@redhat.com>
4249
4250         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
4251         from coordinates.
4252
4253 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
4254
4255         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
4256         it isn't NULL.
4257
4258 2000-11-01  Havoc Pennington  <hp@pobox.com>
4259
4260         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
4261         on a label
4262         (gtk_label_finalize): unref the attr list if any.
4263
4264         * gtk/testgtk.c (create_get_image): close test on second click
4265         (make_message_dialog): close dialog if it exists
4266
4267         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
4268
4269         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
4270         gdk-pixbuf
4271
4272         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
4273         from Pango markup format
4274         (gtk_label_set_markup_with_accel): ditto but with accelerator
4275         parsing
4276
4277         * gtk/gtkimage.c (gtk_image_expose): reformatting.
4278
4279         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
4280         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
4281         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
4282         call gdk_window_get_origin().
4283
4284         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
4285         implement GDK_PIXBUF_ALPHA_FULL
4286         
4287 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
4288
4289         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
4290         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
4291         g_signal_handlers_disconnect_matched to block/unblock and disconnect
4292         multiple handlers respectively, instead of only treating the
4293         first handler found (bug reported by owen).
4294
4295 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
4296
4297         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
4298
4299         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
4300
4301         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
4302         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
4303         gtk/gtktreeviewcolumn.h: Fixed inline docs.
4304
4305         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
4306         widget.  Needs writing someday.
4307
4308         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
4309         the docs.
4310
4311 2000-10-30  Havoc Pennington  <hp@redhat.com>
4312
4313         * gtk/gtktextview.h, gtk/gtktextview.c:
4314         Rename delete_at_cursor delete_from_cursor, and 
4315         move to move_cursor.
4316
4317 2000-10-30  Havoc Pennington  <hp@redhat.com>
4318
4319         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
4320         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
4321         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
4322         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
4323         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
4324         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
4325         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
4326         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
4327         gtktexttypes.h, gtktextview.c, gtktextview.h:
4328
4329         Massive reindentation and reformatting. Arg alignment and comments
4330         still need fixing in various places.
4331
4332 2000-10-30  Havoc Pennington  <hp@redhat.com>
4333
4334         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
4335         to be named insert_at_cursor and delete_at_cursor so C++ can
4336         handle them.
4337
4338 2000-10-28  Tor Lillqvist  <tml@iki.fi>
4339
4340         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
4341         to get a double directory separator in case the home directory
4342         ends with one. This would cause trouble especially on Windows,
4343         where the path will be confused with the syntax for an an UNC
4344         (network share) path \\server\share\path.
4345         (gtk_rc_add_initial_default_files): Ditto.
4346
4347 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
4348
4349         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
4350
4351         * gtk/gtktextview.c: Use correct marshallers.
4352
4353 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
4354
4355         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
4356         use new iter stuff, and added all the appropriate signals et al.
4357
4358         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
4359         code is internal to gtk only.
4360
4361 2000-10-28  Tor Lillqvist  <tml@iki.fi>
4362
4363         * gtk/gtk.def
4364         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
4365         glib-genmarshal etc.
4366
4367 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
4368
4369         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
4370         parallel builds.
4371
4372 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
4373
4374         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
4375
4376 2000-10-27  Robert Brady  <robert@suse.co.uk>
4377
4378         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
4379         en_GB (British), ia (Interlingua).
4380
4381 2000-10-26  Havoc Pennington  <hp@redhat.com>
4382
4383         * gtk/gtktextiter.c (my_strrstr): fix constness warning
4384
4385         Fixed output of:
4386         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
4387         
4388         * gtk/gtktextsegment.c (char_segment_new): rename
4389         (_char_segment_new_from_two_strings): rename
4390         (_toggle_segment_new): rename
4391         
4392         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
4393         (make_clipboard_widget): make it static
4394         (text_get_func): static
4395         (text_clear_func): static
4396
4397         * gtk/gtkcolorsel.c (adjustment_changed): make this function
4398         static
4399         (hex_changed): make it static
4400         (hsv_changed): make it static
4401         (opacity_entry_changed): make it static
4402
4403         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
4404         (toggle_segment_check_func): rename with _gtk
4405
4406         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
4407         (_widget_segment_new): rename
4408         (_widget_segment_add): rename
4409         (_widget_segment_remove): rename
4410         (_widget_segment_ref): rename
4411         (_widget_segment_unref): rename
4412
4413         * gtk/gtktextmark.c (_mark_segment_new): Rename
4414         _gtk_mark_segment_new   
4415
4416 2000-10-26  Havoc Pennington  <hp@redhat.com>
4417
4418         * gtk/gtkmarshal.list: add new marshallers used by the text widget
4419         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
4420         types
4421
4422         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
4423         marshaller types
4424
4425         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
4426         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
4427         license on these files.
4428
4429         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
4430         work.
4431
4432         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
4433         runtime random number different for each tree, instead of 
4434         a constant I made up.
4435
4436 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
4437
4438         * gtk/Makefile.am: buncha cleanups, kludged build sources
4439         dependencies with a Makefile: oldest-source-stamp dependancy
4440         for the moment. automake is really fighting us here, with
4441         intentionally not allowing user-defined rules or dependancies
4442         prior to it's -include $(DEP_FILES) statement. sucks rocks!
4443
4444         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
4445         to public headers. tehy have a comment stating that they are
4446         "semi-public" aren't included by gtk.h and if enums popup there,
4447         they can be /*< skip >*/-ed.
4448
4449         * gtk/gtktextlayout.h: 
4450         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
4451         added LGPL... <SIGH>
4452
4453 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
4454
4455         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
4456         GtkTreeIter.  Added iterators everywhere.
4457
4458         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
4459
4460         * gtk/gtktreeviewselection.c: Changed to use the iterators.
4461
4462         * gtk/gtktreestore.c: Changed to use the iterators.
4463
4464         * gtk/gtkliststore.c: Commented out the code.  Will convert to
4465         iterators tomorrow.
4466
4467         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
4468         iterators tomorrow.
4469
4470         * gtk/treestoretest.c: Changed to use iterators.
4471
4472         * demos/testgtk/main.c: Moved to use the new iterator system.
4473
4474 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
4475
4476         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
4477         localization misbehaviour.
4478
4479         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
4480         a useless type without copy/free.
4481
4482         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
4483         of GTK_TYPE_CTREE_NODE.
4484
4485 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
4486
4487         * gtk/gtksignal.c:
4488         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
4489         applicable.
4490
4491         * gtk/gtk-boxed.defs (GtkSelectionData): specify
4492         gtk_selection_data_copy and gtk_selection_data_free
4493         do GtkSelectionData work as params in signals.
4494
4495 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
4496
4497         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
4498         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
4499         couldn't they at least give it a non-standard name?
4500         
4501         * gtk/gtktextlayout.c: arg! yet another implementation of
4502         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
4503
4504         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
4505         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
4506         home. now i know this _is_ a conspiracy.
4507
4508         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
4509         ::state-changed.
4510
4511         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
4512         (gtk_accel_group_create_add): marshaller signature fixups.
4513
4514         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
4515         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
4516
4517         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
4518         anymore.
4519
4520 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
4521
4522         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
4523         due to the signal system changes, it wouldn't build currently. to
4524         be fixed soon.
4525
4526         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
4527
4528         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
4529         so it needs gtk_marshal_VOID__ENUM() instead of
4530         gtk_marshal_NONE__UINT().
4531
4532         * gdk/gdk*.c: adapted type registration functions.
4533
4534         * gtk/gtkbindings.c:
4535         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
4536         gone.
4537
4538         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
4539
4540         * gtk/gtkobject.c:
4541         (gtk_object_destroy):
4542         (gtk_object_shutdown): fixed recursion guards. basically we have to
4543         catch the case where any of GObject.shutdown() or gtk_object_destroy()
4544         is called during ::destroy, and avoid recursion there.
4545
4546         * gtk/gtktypeutils.c:
4547         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
4548         boxed_copy/boxed_free. this needs a more general solution based on a
4549         publically installed code-generator utility.
4550
4551         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
4552         glib's gobject has support for that now.
4553         define GtkSignalMarshaller in terms of GSignalCMarshaller.
4554
4555 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
4556
4557         * gtk/gtksignal.[hc]:
4558         * gtk/gtkmarshal.[hc]:
4559         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
4560         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
4561         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
4562         care of that.
4563
4564         * *.c: marshaller name fixups.
4565
4566         * gtk/gtkmarshal.list: added a comment briefing the format.
4567
4568 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
4569
4570         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
4571         compatibility macros here now. more specifically, most of
4572         the API is preserved (yes, _most_, nonwithstanding the
4573         following exceptions listed, the API is stil lHUGE ;)
4574         things that got removed completely:
4575         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
4576         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
4577         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
4578         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
4579         gtk_signal_remove_emission_hook().
4580         non-functional functions variants:
4581         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
4582         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
4583         not supported anymore.
4584         (gtk_signal_compat_matched): new internal function to aid
4585         implementation of the compatibility macros, it  provides
4586         functionality to block/unblock/disconnect handlers based
4587         on func/data.
4588
4589         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
4590
4591         * *.c: adaptions to new type registration API signatures.
4592
4593 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
4594
4595         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
4596
4597 2000-10-25  Robert Brady  <robert@suse.co.uk>
4598
4599         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
4600         gdk_property_delete): If window == NULL, assume the root window.
4601         (restoring the behaviour that was in 1.2).
4602         
4603         * gtk/testtext.c (save_buffer): Allow creation of new files when
4604         saving.
4605
4606         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
4607         calls to read().
4608
4609 2000-10-25  Tor Lillqvist  <tml@iki.fi>
4610
4611         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
4612
4613         * gdk/win32/gdkdrawable-win32.c
4614         * gdk/win32/gdkimage-win32.c
4615         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
4616         X11 backend.
4617
4618         * gdk/win32/gdkcc-win32.c
4619         * gdk/win32/gdkcolor-win32.c
4620         * gdk/win32/gdkfont-win32.c
4621         * gdk/win32/gdkinput-win32.c
4622         * gdk/win32/gdkmain-win32.c
4623         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
4624
4625 2000-10-24  Havoc Pennington  <hp@redhat.com>
4626
4627         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
4628         it a static function
4629
4630         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
4631         redraw text when a tag is applied to it.
4632
4633         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
4634         (gtk_text_tag_affects_nonsize_appearance): private functions to
4635         see if a tag requires various kinds of redraw/layout to be queued
4636         up.
4637
4638         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
4639
4640         * gtk/testtext.c (fill_example_buffer): Put the cursor 
4641         at the start of the buffer, so search works by default
4642
4643         * gtk/gtktextiter.c (lines_match): init match_start always
4644
4645         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
4646         function, get iter at a line + a byte index
4647
4648         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
4649         to set byte position within a line
4650         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
4651
4652 2000-10-23  Havoc Pennington  <hp@redhat.com>
4653
4654         * gtk/testtext.c: Re-enable the "find" dialog
4655
4656         * gtk/testgtk.c: Add test for gdk_drawable_get_image
4657         
4658         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
4659         the arguments to gdk_draw_drawable were in the wrong order
4660         (gdk_window_paint_init_bg): This function was ignoring the
4661         init_region, instead of clipping to it, so the entire backing
4662         pixmap was cleared on every begin_paint()
4663         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
4664         was in here again, the loop kept using the same GtkWindowPaint
4665         over and over.
4666         (gdk_window_begin_paint_region): Fix a bug where we had two
4667         x_offset instead of x_offset and y_offset
4668
4669         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
4670         before we get the image.
4671         (gdk_draw_drawable): get the composite before we draw the drawable.
4672         (gdk_drawable_real_get_composite_drawable): default
4673         get_composite_drawable implementation that returns the drawable 
4674         itself
4675
4676         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
4677         get_composite_drawable virtual function
4678
4679         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
4680         list-walking bug
4681
4682         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
4683         make this work if the source drawable is a GdkDrawableImplX11
4684         instead of a public drawable type. This is really broken; the
4685         problem is that GdkDrawable needs a virtual method get_xid(), but
4686         of course that doesn't work in practice. Enter RTTI.
4687
4688         Also, improve mismatched depth message.
4689
4690         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
4691         GdkPixmap
4692
4693         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
4694         install _gdk_x11_get_image as our implementation of get_image
4695         
4696         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
4697         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
4698
4699         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
4700         gdk_drawable_get_image
4701
4702         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
4703
4704         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
4705         get_image
4706
4707         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
4708         trailing semicolon after for loop
4709
4710 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
4711
4712         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
4713         where font_desc for widget's context lagged widget's font_desc by
4714         one step.
4715
4716 2000-10-22  Tor Lillqvist  <tml@iki.fi>
4717
4718         * gdk/win32/gdkgc-win32.c
4719         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
4720
4721         * gtk/makefile.mingw.in
4722         * gtk/gtk.def: Updates.
4723
4724         * gtk/testgtk.c: sleep() is called _sleep in MS's C
4725         library.
4726
4727         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
4728
4729         * gtk/makefile.msc: Remove
4730
4731         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
4732
4733         * gtk/Makefile.am: Add it.
4734
4735         * configure.in: Generate it.
4736
4737         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
4738         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
4739         something even if not implemented, to satisfy picky MSVC.
4740
4741         Patches by Hans Breuer:
4742         
4743         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
4744         SetBkMode() and SetTextAlign() before calling
4745         pango_win32_render().
4746
4747         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
4748         Set hcliprgn to NULL after destroying it.
4749         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
4750
4751         * gdk/win32/gdkgeometry-win32.c
4752         (_gdk_windowing_window_queue_antiexpose): More effective
4753         implementation.
4754
4755         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
4756         depth as default, not the visual's.
4757
4758         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
4759         against empty title.
4760
4761         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
4762         IMAGE_PRIVATE_DATA.
4763
4764         * gdk/win32/gdkimage-win32.c: Use it.
4765
4766 2000-10-22  Robert Brady  <robert@suse.co.uk>
4767
4768         * configure.in: Check for bind_textdomain_codeset
4769
4770         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
4771         present, make use of it.
4772
4773         Add a translatable string "default:LTR" which, if translated
4774         to "default:RTL", will cause the default direction to be
4775         Right-to-Left.
4776
4777         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
4778         direction if marked as flippable.
4779
4780         * gtk/gtkhscale.c: Mark widget as flippable.
4781         
4782 2000-10-04  Havoc Pennington  <hp@redhat.com>
4783
4784         * gtk/testgtk.c (create_buttons): create some stock buttons
4785         with the default accel group
4786         (create_image): test some new GtkImage features
4787         (make_message_dialog): test GtkMessageDialog
4788         (create_modal_window): fix someone's bizzarro indentation
4789
4790         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
4791         GTK_WIN_POS_CENTER_ON_PARENT. 
4792         Add "destroy with parent" setting, which means the window goes
4793         away with its transient parent.
4794         (gtk_window_get_default_accel_group): get the default accel group
4795         for the window.
4796         (gtk_window_set_destroy_with_parent): set/unset destroy with
4797         parent flag
4798         (gtk_window_read_rcfiles): invalidate icon set caches
4799         after reloading rcfiles 
4800
4801         * gtk/gtkenums.h (GtkWindowPosition): add
4802         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
4803         on its parent window when the dialog is mapped for the first time.
4804
4805         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
4806         a simple message dialog class
4807         
4808         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
4809         handler to emit response signal, and maybe later it would
4810         honor a hide_on_delete flag - though that isn't there yet.
4811         Set border width on the vbox to 2, so we get some padding.      
4812         Use a button box for the action area.
4813         (gtk_dialog_key_press): synthesize a delete event if Esc
4814         is pressed and the GtkWidget key press handler didn't 
4815         handle the escape key.
4816         (gtk_dialog_new_with_buttons): new function creates a dialog
4817         with some default buttons in it.
4818         (gtk_dialog_add_action_widget): add an activatable widget
4819         as a button in the dialog - you can also add a non-activatable
4820         widget by accessing the action area directly.
4821         (gtk_dialog_add_button): add a simple button - stock ID or 
4822         label - to the action area
4823         (gtk_dialog_response): emit response signal
4824         (gtk_dialog_run): block waiting for the dialog, return 
4825         the response. Override normal delete_event behavior, so that 
4826         delete_event does nothing inside gtk_dialog_run().
4827
4828         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
4829         emitted when an action widget is clicked or the dialog gets
4830         delete_event
4831
4832         * gtk/gtk.h: add gtkmessagedialog.h
4833
4834         * gtk/Makefile.am: add gtkmessagedialog.[hc]
4835
4836 2000-10-18  Havoc Pennington  <hp@redhat.com>
4837
4838         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
4839         where any number of empty lines would get skipped
4840
4841         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
4842         edge.
4843
4844         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
4845         warning about invalid iterators (explain more thoroughly)
4846         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
4847
4848         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
4849         big
4850
4851         * demos/*.c: Add error handling
4852
4853         * gtk/gtktextbuffer.c: don't modify const iterators
4854
4855         * gtk/gdk-pixbuf-loader.c: Add full error handling here
4856
4857         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
4858         on file load
4859
4860         * gtk/gtkiconfactory.c: Update to reflect addition of error
4861         handling to gdk-pixbuf loaders
4862
4863 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
4864
4865         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
4866         move to new modularized testgtk.
4867
4868 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
4869
4870         * gtk/gtktreeview.c: Draw the arrows correctly.
4871
4872         * gtk/gtktreemodel.c: Added user docs.
4873
4874         * gtk/gtk.h: remove gtktreedatalist.h.
4875
4876         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
4877         parent when generating my type.
4878
4879         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
4880         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
4881
4882 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
4883
4884         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
4885         GtkTreeModel from object to interface.
4886
4887 2000-10-16  Havoc Pennington  <hp@redhat.com>
4888
4889         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
4890         compilation
4891
4892 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
4893
4894         * gtk/gtktreeselection.c: Add API documentation to all public
4895         functions.
4896
4897         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
4898         functions.
4899
4900 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
4901
4902         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
4903         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
4904         docs to all public functions.
4905
4906         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
4907         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
4908         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
4909         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
4910         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
4911         issue.
4912
4913 2000-10-14  Robert Brady  <robert@suse.co.uk>
4914
4915         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
4916
4917 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
4918
4919         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
4920         values other then G_TYPE_STRING.
4921         * gtk/gtktreeselection.c: Minor commenting updates.
4922         * gtk/gtktreeview.c: Format updates.
4923
4924 2000-10-09  Tor Lillqvist  <tml@iki.fi>
4925
4926         * README.win32: Update.
4927
4928         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
4929         lines that had been deleted by mistake (?).
4930
4931         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
4932         also the case fg==white and bg==black (but still not randomly
4933         coloured cursors). Thanks to Wolfgang Sourdeau.
4934
4935         * gdk/win32/*.c: Silence gcc -Wall.
4936
4937         * gtk/gtk.def: Add missing entry points.
4938
4939         Fixes by Hans Breuer:
4940
4941         * gdk/makefile.msc
4942         * gdk/win32/makefile.msc: Update.
4943
4944         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
4945         some MSVC thing, presumably), cause breakpoint on failures. Add
4946         GDK_NOR case. Call g_log_set_always_fatal.
4947
4948         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
4949         should be pased by reference.
4950         
4951         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
4952         
4953         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
4954
4955         * gdk/win32/gdkevents-win32.c
4956         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
4957
4958         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
4959         implementation object.
4960
4961         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
4962         not just windows.
4963         
4964         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
4965         Use the wrapper object.
4966         
4967 2000-10-06  Havoc Pennington  <hp@redhat.com>
4968
4969         * Makefile.am (SRC_SUBDIRS): contrib subdir
4970
4971         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
4972         so it can be used in Xlib version
4973
4974         * demos/testpixbuf.c (update_timeout): error checking from 1.0
4975         tree
4976
4977         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
4978         change from 1.0 tree that returns first frame of animation
4979         if the loaded file is an animation.
4980
4981         * contrib: add new directory to hold stuff that comes with GTK+
4982         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
4983         
4984         * configure.in: add contrib/*
4985
4986 2000-10-05  Havoc Pennington  <hp@redhat.com>
4987
4988         * demos/testpixbuf-save.c: add pixbuf save test
4989
4990         * demos/Makefile.am: add testpixbuf-save.c
4991
4992 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
4993
4994         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
4995         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
4996         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
4997         * gtk/gtktreeselection.[ch]: Replaced
4998         "node_selected"/"node_unselected" signal with "selection_changed"
4999         signal.
5000
5001 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
5002
5003         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
5004         tree widget.
5005
5006 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
5007
5008         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
5009         drawing.
5010
5011 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
5012
5013         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
5014         Move list pointer forwards before removing item from
5015         list. (Crash reported by Salmaso Raffaele)
5016
5017         * gdk/gdkwindow.h: Remove spurious trailing ,
5018
5019         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
5020         dependencies on uninstalled libraries, sorry folks.
5021
5022 2000-10-04  Havoc Pennington  <hp@redhat.com>
5023
5024         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
5025         gtk/gtkiconfactory.c: Fix copyrights    
5026
5027         * demos/testpixbuf.c: add inline pixbuf test
5028         
5029 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
5030
5031         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
5032         Add gdk_window_iconify.
5033
5034         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
5035         (gdk_window_set_geometry_hints): Add win_gravity
5036         to geometry structure.
5037
5038         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
5039         Implement _NET_WM_PING.
5040
5041         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
5042         Set _NET_WM_PID on the client leader.
5043
5044         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
5045         Handle UTF-8 better.
5046
5047         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
5048         UTF-8 better, set _NET_WM_NAME as well. Only set
5049         icon name if it hasn't previously been explicitely 
5050         set.
5051
5052 2000-10-03  Havoc Pennington  <hp@redhat.com>
5053
5054         * gtk/testtextbuffer.c: clean up trailing whitespace,
5055         add extensive tests for tag toggle iteration.
5056         
5057         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
5058         distance
5059
5060         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
5061         optimize case where the tag root is on level 1
5062         (gtk_text_line_previous_could_contain_tag): attempt to implement
5063         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
5064         functionality
5065
5066         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
5067         Implement this, though not very efficiently.
5068
5069         * gtk/gtktextiterprivate.h: reformat
5070
5071         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
5072         iterator
5073
5074         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
5075         this to properly revalidate the iterators.
5076
5077         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
5078         properly at the end of the line (and therefore on empty lines)
5079
5080         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
5081         maybe we should return a value...
5082
5083 2000-10-03  Tor Lillqvist  <tml@iki.fi>
5084
5085         * config.h.win32: Guard definition of alloca(). glib.h now handles
5086         that.
5087
5088         * gdk/gdk.def
5089         * gtk/gtk.def: Add new entry points.
5090
5091         Changes just to make GTK+ build without errors on Win32. No hope
5092         of it working in its current state, though...:
5093         
5094         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
5095         some functions from the X11 backend, just to make GTK+ build.
5096
5097         * gdk/makefile.mingw.in
5098         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
5099         number. Add new object files.
5100
5101         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
5102         GetMessageTime to get timestamp (where on X11 uses
5103         gdk_x11_get_server_time()).
5104
5105 2000-10-02  Havoc Pennington  <hp@pobox.com>
5106
5107         * gtk/gtktextview.c: text_window_* weren't static and should have
5108         been.
5109         Start work on child widgets; not yet complete, syncing to 
5110         office computer.
5111
5112         * gtk/gtktextchild.h: change this to contain a public interface,
5113         starting work on child interfaces.
5114         * gtk/gtktextchildprivate.h: move private interfaces here
5115
5116         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
5117
5118         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
5119         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
5120         gtk/gtktextmark.c: copyright notices
5121
5122         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
5123         internal functions      
5124
5125         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
5126         internal function
5127
5128         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
5129         Reformatting    
5130
5131 2000-09-30  Havoc Pennington  <hp@pobox.com>
5132
5133         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
5134         NULL start/end pointers
5135
5136         * gtk/gtktextbuffer.c: Write some docs
5137         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
5138         NULL, so you can just check whether there's a selection.        
5139
5140         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
5141         cleanup_line or segments_changed ourselves, it gets done 
5142         in unlink_segment
5143
5144         * gtk/gtktextmark.h:
5145         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
5146         
5147         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
5148
5149         * gtk/gtktextmark.c: delete some more old Tk cruft
5150
5151         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
5152         mark before removing it, so we can emit MARK_DELETED with a valid
5153         pointer.
5154         (gtk_text_buffer_mark_set): hold ref across signal emission
5155
5156         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
5157         whining about attempts to delete special marks
5158
5159         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
5160         underscore, since it's internal.
5161
5162         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
5163         now implemented in terms of iterators in gtktextiter.h
5164
5165         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
5166         New function, destructively sets contents of buffer. Also 
5167         a convenient way to clear the buffer by setting text to ""
5168
5169         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
5170         multiline string literal
5171
5172         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
5173         text changes.
5174
5175         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
5176         is not dereferenceable
5177         (gtk_text_iter_forward_lines): fix return value
5178
5179 2000-09-29  Havoc Pennington  <hp@redhat.com>
5180
5181         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
5182
5183         * gtk/gtktextview.c: Implement drag thresholding; change functions 
5184         that set border window size to have nicer name
5185         (gtk_text_view_mark_set_handler):  Fix this to have the 
5186         right signature.
5187
5188         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
5189
5190         * gtk/testtext.c: Update with API changes, put line numbers on 
5191         both sides.
5192         
5193         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
5194         with this
5195
5196         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
5197         pixbuf; delete a big block of #if 0 Tk code
5198
5199         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
5200         insert_pixmap with insert_pixbuf
5201
5202 2000-09-29  Martin Baulig  <baulig@suse.de>
5203
5204         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
5205         confusion with the GdkPixbuf of the GNOME 1.x platform.
5206
5207 2000-09-29  Havoc Pennington  <hp@pobox.com>
5208
5209         * gtk/gtktextview.c: Implement the side windows.
5210
5211         * gtk/testtext.c: Implement simple line numbering in the 
5212         left side window; seems to make scrolling sloooow. Oops.
5213         Also, cursor blink is for some reason causing redraws
5214         of the line numbers. Should investigate...
5215
5216 2000-09-28  Havoc Pennington  <hp@redhat.com>
5217
5218         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
5219         scrolling child windows, and draw focus rectangle properly.
5220         
5221         (gtk_text_view_buffer_to_window_coords):
5222         Coordinate transformation to deal with all these freaking windows
5223         and offsets
5224         (gtk_text_view_window_to_buffer_coords): transform the other way
5225
5226         * gtk/testtext.c (create_buffer): Update to match Pango API change
5227
5228         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
5229         anonymous tags
5230         (foreach_unref): don't emit remove signal from finalize, just
5231         set tag's parent to NULL
5232
5233 2000-09-26  Havoc Pennington  <hp@redhat.com>
5234
5235         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
5236         Fix some warnings       
5237
5238 2000-09-26  Havoc Pennington  <hp@redhat.com>
5239
5240         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
5241         headers into the private header list
5242
5243         * Makefile.am (pkgconfig_DATA): install pkg-config files
5244
5245         * configure.in: add pkg-config files
5246
5247         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
5248
5249         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
5250         outstanding icon caches on theme change.
5251
5252         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
5253         important types:
5254
5255         (GtkIconSource): Specification for creating a pixbuf 
5256         appropriate for a direction/state/size triplet from 
5257         a source pixbuf or filename
5258
5259         (GtkIconSet): List of GtkIconSource objects that are used to
5260         create the "same" icon (e.g. an OK button icon), and cache for
5261         rendered icons
5262
5263         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
5264         up the icon set for a given stock ID.  GTK maintains a stack of
5265         GtkIconFactory to search, and applications or libraries can add
5266         additional icon factories on top of the stack
5267         
5268         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
5269         the set of GtkIconSource specified for a given stock ID into 
5270         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
5271         RcStyle, under the specified stock ID.
5272
5273         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
5274         render_icon used to derive a GdkPixbuf from a GtkIconSource.
5275         This allows people to theme how prelight, insensitive, etc. are
5276         done.
5277
5278         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
5279         icon factories for a style, and return the resulting 
5280         icon set if any.
5281
5282         (gtk_style_render_icon): Render an icon using the render_icon 
5283         method in the GtkStyleClass.
5284
5285         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
5286         Use the style for a given widget to look up a stock ID, get the
5287         icon set, and render an icon using the render_icon method 
5288         of the style
5289
5290         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
5291         (contains information about a stock item), the built-in stock item
5292         IDs, and functions to add/lookup stock items.
5293
5294         * gtk/stock-icons/*: Stock icons that come with GTK
5295
5296         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
5297         a button based on a GtkStockItem
5298         (gtk_button_new_accel): Takes a uline string and accel group, and
5299         installs the accelerator.
5300
5301         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
5302         image-display widget.
5303
5304 2000-09-25  Havoc Pennington  <hp@redhat.com>
5305
5306         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
5307
5308         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
5309         Fix a bug when removing node data, we didn't properly 
5310         re-splice the linked list after removing the data.
5311
5312         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
5313         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
5314
5315         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
5316
5317         * gtk/gtktextlayout.c (set_para_values): Set tab array 
5318         for the layout from the GtkTextTag.
5319
5320         * gtk/gtktexttypes.h: delete tab and search cruft, 
5321         remove g_convert() in favor of GLib version
5322
5323         * gtk/gtktexttypes.c: remove tab implementation from here,
5324         move to Pango
5325
5326         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
5327         tab stuff using new PangoTabArray from Pango
5328
5329         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
5330         unused border_width stuff
5331
5332 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
5333
5334         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
5335         glib) and now useless utf_to_latin1() latin1_to_utf()
5336
5337         * gtk/gtktextview.[ch]: Change ::move_insert and
5338         ::delete_text action signals to ::move and ::delete;
5339         create the signals with the right enumeration type,
5340         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
5341         C-v bindings, change Home, End to move to beginning/end
5342         of line, Add C-Home C-End to move to beginning/end
5343         of buffer. Change ::cut_text to ::cut_clipboard, etc;
5344         combine ::scroll_text into ::move; use new GtkSelectionData
5345         functions to simplify DND text handling.
5346         
5347         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
5348         deletion enumerations here, rename enumeration values to 
5349         be consistently plural.
5350
5351         * gtk/gtktextbuffer.c: Use new clipboard interfaces
5352         for cut/copy/paste and primary selection.
5353
5354         * gtk/gtktextbuffer.[ch]: Remove excess time and
5355         'interactive' arguments from cut/copy/paste;
5356         rename cut to cut_clipboard, etc; remove
5357         gtk_text_buffer_get_clipboard_contents().
5358
5359         * gtk/gtktextlayout.[ch]: Add 
5360         gtk_text_layout_move_iter_to_line_end() to move the iter to 
5361         line ends.
5362
5363         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
5364         Functions to set or get a UTF-8 string on the selection
5365         data.
5366
5367         * gtk/gtkclipboard.[ch]: New, simplified selection handling
5368         interfaces.
5369
5370         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
5371         created widgets - one of these is useless if we don't.
5372
5373         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
5374         a public function clear all targets registered for the
5375         widget.
5376
5377         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
5378         Never call gtk_widget_realize() - that was just asking
5379         for bizarre side-effects.
5380
5381         * gtk/gtkselection.c (gtk_selection_owner_set): Call
5382         gdk_selection_owner_set even if the widget is the
5383         same so that we reliably update the timestamp on
5384         the server.
5385
5386         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
5387         gdk_x11_get_server_time() function.
5388         
5389         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
5390         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
5391         Add some tricky filtering on serial numbers for
5392         selection clear events to fix up long-standard
5393         race condition FIXME's in gtkselection.c.
5394
5395         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
5396         routines to convert from utf8 to compound text or
5397         STRING and from a text property to UTF-8.
5398
5399         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
5400         a convenience function gdk_get_current_event_time().
5401
5402         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
5403         and free selection_data->data properly
5404
5405 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
5406
5407         * gtk/gtkthemes.c: Remove some unecessary includes.
5408
5409 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
5410
5411         * gtk/gtktextdisplay.c
5412         * gtk/gtktextlayout.c
5413         * gtk/gtktexttag.c
5414         * gtk/gtktexttag.h
5415         * gtk/testtext.c: Change the overstrike property to strikethrough,
5416         to closer match pango.
5417
5418 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
5419
5420         * gtk/gtktextview.c: Fix up visibility so that focus,
5421         cursor_visible and blink interact properly.  Reenable cursor blink
5422         which had been roughly disabled. Make blink and focus
5423         properly per-view.
5424
5425         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
5426         Add a flag for whether to display insertion cursor and
5427         a function to set the flag.
5428
5429         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
5430         get_line_y() to get_line_yrange(), to be a bit more generally
5431         useful.
5432
5433 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
5434
5435         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
5436           do stop_navigating_submenu, to clear last timeout properly.
5437           Also in gtk_menu_motion_notify move ignore_enter above
5438           the conditional to make it always happen as suggested by Owen
5439
5440 2000-09-07  Tor Lillqvist  <tml@iki.fi>
5441
5442         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
5443
5444         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
5445         w32api headers.
5446
5447         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
5448         declarations.
5449
5450         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
5451         (gdk_win32_get_colormap): A line had been deleted by mistake.
5452
5453         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
5454         (gdk_event_translate): Handle more virtual keycodes to be able to
5455         generate GDK events for Control-comma, Control-period, etc.
5456
5457         * gtk/gtk.def: Add some missing entry points.
5458
5459 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
5460
5461         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
5462         Doc comment fixing. (Mostly non-matching parameter names.)
5463
5464         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
5465         comments a little to avoid looking like a doc comment.
5466
5467         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
5468         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
5469         conversions be changed to GError?)
5470
5471         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
5472         Move private #defines into .c file.
5473
5474         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
5475         order of argument addition, remove duplicates.
5476
5477         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
5478         parent class is FrameClass, not BinClass.
5479
5480         * gtk/gtk.h: Add gtkinvisible, which was missing.
5481         (It's occasionalyl useful for client apps, if seldom.)
5482
5483         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
5484         #define.
5485
5486 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
5487
5488         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
5489         coordinates when creating window, instead of GDK-space
5490         coordinates. (Avoid BadValue on too large windows.)
5491
5492 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5493
5494         * configure.in (use_mmx_asm): Remove conftest* after use along the
5495         lines of AC_TRY_COMPILE.        
5496         
5497         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
5498         of g_dirname, which is deprecated.
5499         (gtk_rc_parse_any): Removed calls to
5500         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
5501
5502         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
5503         Removed calls to g_hash_table_{freeze,thaw}, as they are
5504         deprecated now.
5505
5506         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
5507         instead of g_basename.
5508         
5509 2000-09-04 Elliot Lee <sopwith@redhat.com>
5510         
5511         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
5512         ANSI warning.
5513
5514 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
5515
5516         * gtk/gtkwidget.h:  Add some documenting comments about 
5517           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
5518           just as owen said on irc.
5519
5520         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
5521           set HAS_DEFAULT.  Only set it if there isn't another window
5522           holding it (a focus window which RECEIVES_DEFAULT) and only unset
5523           it if the widget is not the focused window with RECEIVES_DEFAULT.
5524           This fixes weird double default bugs in dialogs which has things
5525           call gtk_window_set_default at times.
5526
5527 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
5528
5529         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
5530         Nils Barth and David Santiago to improve submenu
5531         navigation. The patch does this by creating a triangular
5532         region from the point where the pointer leaves the
5533         menu to the submenu.  While the pointer is in
5534         that region and a timeout has not expired, events 
5535         that would cause the active submenu to change are
5536         ignored.
5537
5538 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
5539
5540         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
5541         moving a toplevel window immediately after sizing it would
5542         result in it being sized back to the old size since 
5543         impl->width, impl->height aren't updated until we hear
5544         back from the server. There is still a (longstanding) bug
5545         here that gdk_window_get_size() will give the wrong size
5546         until we do hear back.
5547
5548 2000-08-31  Havoc Pennington  <hp@redhat.com>
5549
5550         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
5551         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
5552         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
5553         Rename GtkTextStyleValues to GtkTextAttributes
5554
5555 2000-08-31  Havoc Pennington  <hp@pobox.com>
5556
5557         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
5558         for rapid testing whether an iterator is the end iterator
5559         (gtk_text_btree_new): init end line cache
5560         (gtk_text_line_is_last): use fast cached line to 
5561         see if we're the last line.
5562         (get_last_line): use cached line here too, should 
5563         speed up some random unrelated code.
5564         
5565 2000-08-30  Havoc Pennington  <hp@pobox.com>
5566
5567         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
5568         signals.
5569
5570         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
5571         delete_text signals. This allows the signals to be used for
5572         implementing undo.
5573
5574         * gtk/gtktextbuffer.c: Change signal handler signatures; 
5575         provide "interactive" argument when emitting insert_text or
5576         delete_text signal.
5577         
5578 2000-08-30  Havoc Pennington  <hp@pobox.com>
5579
5580         * gtk/gtktextbuffer.c: Docs
5581
5582 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
5583
5584         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
5585         from switch statements, since Tor removed the enumeration
5586         value.
5587         
5588         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
5589         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
5590
5591 2000-08-29 Elliot Lee <sopwith@redhat.com>
5592         * */*.h: Use G_GNUC_CONST.
5593
5594 2000-08-27  Havoc Pennington  <hp@pobox.com>
5595
5596         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
5597         minor indentation fixes, inserted some FIXME about stuff I
5598         realized was broken while documenting it.
5599         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
5600         GTK convention  
5601
5602 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
5603
5604         * gtk/testgtk.c (create_styles): Fix double free of
5605         font desc.
5606
5607 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
5608
5609         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
5610         
5611         * gtk/testgtk.c (create_styles): Add a test for modifying
5612         the style through gtk_widget_modify_*.
5613
5614         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
5615         a function to get the current modifier style.
5616
5617         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
5618         of the passed in GtkRcStyle instead of ref'ing it.
5619
5620         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
5621
5622 2000-08-20  Tor Lillqvist  <tml@iki.fi>
5623
5624         * gdk/gdkimage.h
5625         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
5626         shared memory image+pixmap GdkImage type, or
5627         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
5628         I am dropping that.
5629
5630         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
5631         actually call gtk_init_abi_check(), passing also
5632         sizeof(GtkWindow). Ditto for gtk_init_check(). 
5633
5634         * gtk/gtk.def
5635         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
5636         New functions, used to check that the GTK+-using code has been
5637         compiled using the correct compiler and switches. In particular,
5638         with gcc one has to use the -fnative-struct switch as GTK+ is
5639         compiled with that.
5640
5641 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
5642
5643         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
5644         ->prev fields when merging lists. (Found simultaneously
5645         by Pawel Salek and Jakub Jelinek)
5646
5647 2000-08-12  Tor Lillqvist  <tml@iki.fi>
5648
5649         * gdk/gdk.def
5650         * gtk/gtk.def: Add missing entries.
5651
5652         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
5653         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
5654
5655         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
5656         function. Dummy implementation at this point.
5657
5658         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
5659         rules. Undefine GTK_COMPILATION when compiling the test programs.
5660         
5661         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
5662
5663 2000-08-11  Tor Lillqvist  <tml@iki.fi>
5664
5665         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
5666         to convert back and forth from UTF-8 and the "system" (or "current
5667         locale") charset when necessary. Indentation/spacing cleanup.
5668
5669 2000-08-10  Havoc Pennington  <hp@redhat.com>
5670
5671         * Makefile.am (snapshot): Change the format of the snapshot
5672         version to match glib
5673
5674         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
5675         from EXTRA_DIST since it doesn't seem to exist
5676
5677 2000-08-10  Tor Lillqvist  <tml@iki.fi>
5678
5679         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
5680         version of the directory name (not the UTF-8 one) when building
5681         the path name to stat().
5682
5683 2000-08-03  Elliot Lee  <sopwith@redhat.com>
5684
5685         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
5686         PANGO_ATTR_SHAPE set.
5687
5688 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
5689
5690         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
5691         Peter Osterlund to simplify the code while keeping the
5692         functionality the same.
5693
5694 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
5695
5696         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
5697         is_viewable() test further inside the function, since removing the 
5698         window from the redraw list without clearing ->update_area
5699         was also very broken.
5700
5701 2000-08-02  Tor Lillqvist  <tml@iki.fi>
5702
5703         * configure.in: Check for <unistd.h>.
5704
5705 2000-08-01  Martin Baulig  <baulig@suse.de>
5706
5707         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
5708         to display the message that this is a development version of GTK+.
5709
5710 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
5711
5712         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
5713         was depending on widget->allocation instead of the width of text_area,
5714         which was incorrect for subclasses like GtkSpinButton.
5715
5716         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
5717         with width == 1 tests that should be width == -1.
5718
5719 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
5720
5721         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
5722         (broken, Elliot, every single window blank on X) custom code with call
5723         to gdk_window_is_viewable() which a) prevents code duplicate and
5724         b) works. 
5725
5726 2000-07-31  Elliot Lee  <sopwith@redhat.com>
5727
5728         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
5729         to get the GDK_PARENT_ROOT() macro to work.
5730         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
5731         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
5732         of, windows that aren't shown.
5733         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
5734         pointer grab stuff.
5735
5736 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
5737
5738         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
5739           s/gtk_main_iteration/g_main_iteration/
5740
5741           Did this already in change:
5742                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
5743           don't know how it got reverted.
5744
5745 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
5746
5747         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
5748         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
5749
5750         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
5751         not gdk_pixbuf.
5752
5753 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
5754
5755         * configure.in,po/{sp,sr}.po: Added Serbian files
5756
5757 2000-07-30  Tor Lillqvist  <tml@iki.fi>
5758
5759         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
5760
5761         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
5762         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
5763         GIOChannel implementation.
5764
5765         * gdk/win32/gdkinput.c
5766         * gdk/win32/gdkpango-win32.c: Update license name here, too.
5767
5768         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
5769         definition to match prototype.
5770
5771         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
5772
5773 2000-07-27  Elliot Lee  <sopwith@redhat.com>
5774
5775         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
5776         function, to allow handling image formats that cannot be detected
5777         by looking at content alone.
5778
5779 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
5780
5781         * docs/tutorial/*.gif *.jpg *.eps
5782           Update these to the same look-n-feel.
5783           Why does including images in DocBook suck so badly?
5784
5785 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
5786
5787         * gtk/gtktable.c: applied patch from Phil Thompson
5788         <phil@river-bank.demon.co.uk> that enables space settings for
5789         the last row/columns as well.
5790
5791 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
5792
5793         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
5794         updates the license headers to the GNU Lesser General Public License,
5795         as well as updating the copyright year to 2000.
5796
5797 2000-07-26  Robert Brady  <rwb197@zepler.org>
5798
5799         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
5800           and po/Makefile, was installing and looking for them under gtk20
5801           and gtk2 respectively.
5802
5803 2000-07-25  Havoc Pennington  <hp@redhat.com>
5804
5805         * gtk/testtext.c: Comment out some stuff that depends on the rest
5806         of my patches.
5807
5808 2000-07-25  Havoc Pennington  <hp@redhat.com>
5809
5810         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
5811         buffer
5812
5813 2000-07-25  Havoc Pennington  <hp@redhat.com>
5814
5815         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
5816         widget changes.
5817
5818         * gtk/gtktextview.h: To be consistent with usage of "line"
5819         throughout the API to mean "newline-terminated thingy", change
5820         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
5821         to MOVEMENT_LINE.
5822
5823         (GtkTextView): Add flags for default editability, and whether to
5824         show the cursor. Add functions to get/set that. Add 
5825
5826         (gtk_text_view_get_iter_location): new function
5827
5828         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
5829         gtktextlayout.h
5830         (g_convert): Add g_convert temporarily, will go in glib in a bit
5831         
5832         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
5833         GtkTextTagTableForeach instead of brokenly using GHFunc.
5834         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
5835
5836         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
5837         moved to public header.
5838
5839         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
5840         "invisible", since "elide" was a bad name.
5841         (gtk_text_tag_get_priority): Added
5842
5843         (GtkTextStyleValues): put this in public header, along with
5844         functions to use it.
5845
5846         * gtk/gtktextmarkprivate.h: Include more headers, since we no
5847         longer include gtktextbtree.h.
5848
5849         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
5850         gtk_text_mark_deleted
5851
5852         * gtk/gtktextlayout.h: Don't include the "really private" headers,
5853         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
5854         to make this possible. Now we only need to install
5855         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
5856         (However the Makefile.am isn't changed yet because of the
5857         logistics of merging gtk-hp-patches piecemeal)
5858
5859         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
5860         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
5861         gtk_text_iter_get_line is now used in the public API for a
5862         different purpose.
5863
5864         * gtk/gtktextiter.h: Clean up function names to be more
5865         consistent. Always call char offset "offset" and byte index
5866         "index". A "line" is always a line number. 
5867
5868         (gtk_text_iter_is_last): new function, more efficient than 
5869         the existing way to check
5870         (gtk_text_iter_is_first): new function, also more efficient
5871
5872         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
5873
5874         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
5875         gtk_text_iter_forward_char, etc.
5876
5877         (gtk_text_iter_forward_to_tag_toggle): Renamed from
5878         forward_find_tag_toggle, since this isn't a linear search
5879
5880         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
5881
5882         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
5883         New functions, search for a buffer substring.
5884
5885         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
5886         interactive and default editable (since we need to store that info
5887         until we receive the selection data).
5888
5889         Remove all the _at_char and at_line etc. versions of functions;
5890         only have iterator versions.
5891
5892         Add _interactive() versions of functions, that consider the
5893         editability of text. (FIXME add interactive flag to the 
5894         insert/delete signals per Darin's suggestion)
5895
5896         (gtk_text_buffer_get_tag_table): new function, demand-creates the
5897         tag table if necessary
5898
5899         Remove declaration of gtk_text_buffer_get_iter_from_string
5900
5901         (_gtk_text_buffer_get_btree): private/internal function, added.
5902         
5903
5904         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
5905         (gtk_text_line_is_last): new function
5906
5907 2000-07-25  Havoc Pennington  <hp@redhat.com>
5908
5909         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
5910         using GtkProgressBar. See Changes-2.0.txt for details.
5911
5912         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
5913         "pulse_step" which are the equivalent of
5914         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
5915         Implement new API.
5916         
5917         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
5918         (use_text_format) to mark whether text set on the progress bar is
5919         a format string. Deprecate entire GtkProgress interface.
5920
5921         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
5922         (gtk_progress_build_string): make this a no-op if use_text_format
5923         is FALSE
5924
5925         * docs/Changes-2.0.txt: Describe progress bar changes.
5926
5927 2000-07-25  Tor Lillqvist  <tml@iki.fi>
5928
5929         * Makefile.am: Include the build directory.
5930
5931         * configure.in: Generate build/Makefile, build/win32/Makefile,
5932         gdk/, gdk/win32/, and gtk/makefile.mingw.
5933
5934         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
5935         Add GETTEXT_PACKAGE.
5936         
5937         * gdk/gdk.def
5938         * gtk/gtk.def: Updates.
5939
5940         * gdk/gdkfont.h
5941         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
5942         need them any longer.
5943
5944         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
5945
5946         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
5947         PANGOWIN32_LIBS and gdk_pixbuf.
5948
5949         * gdk/win32: Compiles, but no doubt doesn't work at all.
5950
5951         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
5952
5953         * gdk/win32/gdkinput.c: New file, temporarily.
5954         
5955         * gdk/win32/gdkinput-win32.h: New file
5956
5957         * gdk/win32/gdkinputprivate.h: Remove.
5958
5959         * gdk/win32/gdkpango-win32.c: New file.
5960
5961         * gtk/makefile.mingw.in: New file
5962
5963         * gtk/makefile.cygwin: Removed
5964         
5965         * gtk/Makefile.am: Update accordingly.
5966
5967         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
5968         made externally visible.
5969
5970         * gtk/gtkmain.c: Use it.
5971         
5972         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
5973         is enough.
5974
5975         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
5976
5977 2000-07-24 Elliot Lee <sopwith@redhat.com>
5978         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
5979         individual backends already.
5980         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
5981         again. Yes, there really is a good reason for this, if you are using the gdkregion
5982         internals, and if you're not, why do you care?
5983         * gdk/gdkwindow.c: Fix inverted condition
5984         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
5985         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
5986         * gtk/gtkrange.c: Redraw trough when moving.
5987         * gtk/gtktypeutils.c: Fix warning by adding const cast.
5988         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
5989
5990 2000-07-23  Tor Lillqvist  <tml@iki.fi>
5991
5992         * configure.in: Check for mkstemp and sigsetjmp. Output
5993         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
5994
5995         More work on GDK for Win32. Still in an intermediate state.
5996
5997         * gdk/makefile.cygwin
5998         * gdk/win32/makefile.cygwin: Removed.
5999         
6000         * gdk/makefile.mingw.in
6001         * gdk/win32/makefile.mingw.in: New files.
6002
6003         * gdk/Makefile.am
6004         * gdk/win32/Makefile.am: Generate and distribute them.
6005
6006         * gdk/win32/gdkwindow-win32.h
6007         * gdk/win32/gdkdrawable-win32.h
6008         * gdk/win32/gdkpixmap-win32.h: New files.
6009
6010         * gdk/win32/gdkcolor-win32.c
6011         * gdk/win32/gdkcursor-win32.c
6012         * gdk/win32/gdkdrawable-win32.c
6013         * gdk/win32/gdkgc-win32.c
6014         * gdk/win32/gdkimage-win32.c
6015         * gdk/win32/gdkprivate-win32.h
6016         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
6017         Rename fields and variables called xcursor, xid, etc (these names
6018         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
6019
6020 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
6021
6022         * gtk/gtkentry.[ch]: Fix some problems with vertical
6023         alignment.
6024
6025         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
6026         char/byte confusion.
6027
6028 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
6029
6030         * gtk/gtktextview.c (changed_handler): Fix bug where
6031         redraw wasn't being done properly when height of
6032         dirty region changed.
6033
6034         * demos/Makefile.am: Remove various references to
6035         -lgmodule
6036
6037 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
6038
6039         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
6040         PangoAttrShape to reserve space for pixmaps, add 
6041         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
6042         in the display functions.
6043         
6044         * gtk/testgtk.c (create_layout): Set some more exotic
6045         scrolled window options
6046
6047         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
6048         Add function to set the shadow type of a window, to allow
6049         putting a shadow around widgets such as GtkLayout or GnomeCanvas
6050         which don't draw their own frame.
6051
6052 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
6053
6054         * docs/tutorial/package-db-tutorial.sh: New file for
6055           packaging DocBook format tutorial
6056
6057 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
6058
6059         * docs/tutorial/gtk-tut.sgml: Minor updates
6060
6061         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
6062
6063 2000-07-19  Tor Lillqvist  <tml@iki.fi>
6064
6065         * gtk/gtksignal.c: Fix C++ comment.
6066
6067         * gtk/gtkimmulticontext.c
6068         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
6069         don't return value from void functions.
6070
6071         * gtk/gtk.def: Add gtk_rc_style_unref.
6072
6073 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6074
6075         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
6076         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
6077         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
6078         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
6079         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
6080         gtk/gtktypeutils.h: Include files outside of the extern "C"
6081         block. Makes some C++ compiler happy. Reported by Denis Vakatov
6082         <vakatov@peony.nlm.nih.gov>.
6083
6084 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
6085
6086         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
6087           Completes first pass. Hurrah!
6088
6089 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
6090
6091         * docs/tutorial/gtk-tut.sgml: More clean ups.
6092
6093 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
6094
6095         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
6096         paint the background of the text area which was accidentally
6097         removed at some point.
6098
6099         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
6100           
6101          - Move most of the functionality from the theme vtable
6102            into GtkRcStyleClass and GtkStyleClass. The moved
6103            vtable functions were changed a bit in the move to
6104            work better in their new home.
6105
6106          - Get rid of the engine and engine_data fields from
6107            GtkRcStyle and GtkStyle; instead the theme
6108            engine derives theme-specific subclasses of GtkRcStyle
6109            and GtkStyle
6110
6111          - Add extra dlsym() found entry point to themes,
6112            theme_create_rc_style().
6113
6114         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
6115         in gtk_style_real_copy.
6116
6117         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
6118         to register a type associated with an engine. (The engine
6119         won't be unloaded as there is an instance of the type.)
6120
6121
6122 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
6123
6124         * docs/tutorial/gtk-tut.sgml: Clean ups.
6125
6126 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
6127
6128         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
6129           of cleaning up to do.
6130
6131 2000-07-15  Tor Lillqvist  <tml@iki.fi>
6132
6133         * gdk/testgdk.c: New file, quick hack to test backends for
6134         pixel-by-pixel correctness of the most simple graphic operations.
6135
6136 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
6137
6138         * Really release 1.3.1
6139         
6140         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
6141         include structure.
6142
6143 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
6144
6145         * Released 1.3.1
6146
6147 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
6148
6149         * gtk/gtktextlayout.c: use FALSE for size_only most
6150         of the time when calling gtk_text_layout_get_line_display()
6151         to avoid causing double reshapes when a redraw follows
6152         immediately after.
6153
6154 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
6155
6156         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
6157         appropriate region and gdk_window_process_updates() so trough
6158         updating doesn't lag behind the window being scrolled.
6159
6160         * gdk/gdkgc.c: Make parent_class pointer static.
6161          
6162 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
6163
6164         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
6165         include <string.h>.
6166          
6167         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
6168         cut-and-paste error in computing memory offset for 4 channels.
6169
6170 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
6171
6172         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
6173         gtk_rc_append_default_pixmap_path(), since it wasn't
6174         adding an interesting path and we don't have a meaningful
6175         default for this value.
6176
6177 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
6178
6179         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
6180         gtk-config to gtk-config-2.0 move gtk_.m4 to
6181         gtk-2.0.m4
6182
6183         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
6184         gdk/Makefile.am demos/Makefile.am: Change 
6185         library names to libgtk-1.3.la, etc, so that we
6186         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
6187
6188         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
6189         gdk/Makefile.am gdk/x11/Makfile.am
6190         Move include files into /usr/include/gtk-2.0, 
6191         /usr/lib/gtk-2.0/include/
6192          
6193         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
6194         gtk/gtkintl.h: Change package for gettext from 
6195         gtk+ to gtk20. Put hack in autogen.sh to modify
6196         po/Makefile.in.in after gettextize to make this
6197         possible.
6198
6199         * gtk+.spec: Some updates, not tested.
6200
6201         * gdk-pixbuf/Makefile.am: Move loaders into
6202         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
6203
6204         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
6205         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
6206         to THEMENAME/gtk-2.0/. Move engine directory  to
6207         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
6208         
6209 2000-07-12  Tor Lillqvist  <tml@iki.fi>
6210
6211         Win32 changes, still doesn't build though.
6212
6213         * gdk/makefile.cygwin
6214         * gdk/win32/makefile.cygwin
6215         * gtk/makefile.cygwin: Updates.
6216
6217         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
6218         default values for fg and bg pixel as X11 does (0 and 1), not
6219         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
6220         Use 0 for pen width by default (treated as 1 anyway later, but for
6221         apps that might check the value in the GdkGC).
6222         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
6223         interface to gdk_gc_predraw and _postdraw.
6224
6225         * gdk/win32/gdkwin32.h
6226         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
6227
6228         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
6229         extraneous semicolon.
6230
6231         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
6232
6233         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
6234         not the Win32 bitspixel value.
6235
6236         * gdk/win32/gdkcc-win32.c:
6237         * gdk/win32/gdkcolor-win32.c 
6238         * gdk/win32/gdkprivate-win32.h
6239         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
6240         GDK object structure.
6241
6242 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
6243
6244         * docs/tutorial/gtk_tut_12.es.sgml (name): 
6245         * docs/tutorial/gtk_tut_it.sgml (name): 
6246         * docs/tutorial/gtk_tut_fr.sgml (name): 
6247         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
6248         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
6249
6250 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
6251
6252         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
6253           small changes.
6254
6255 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
6256
6257         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
6258         a bug here, never been here and never fixed anything ;(
6259         (don't segfault if tree->root_tree is NULL, which happens prior
6260         to widget realization, but puke instead).
6261
6262 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
6263
6264         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
6265         add the necessary tokens.
6266
6267         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
6268         (gtk_rc_style_to_style): copy thicknesses.
6269         (gtk_rc_init_style): apply thicknesses.
6270         (gtk_rc_parse_style): parse xthickness and ythickness.
6271
6272         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
6273
6274         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
6275         (gdk_window_new): 
6276         (_gdk_windowing_window_init): 
6277         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
6278         (gdk_pixmap_create_from_data): 
6279         (gdk_bitmap_create_from_data): 
6280         (gdk_pixmap_new): 
6281         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
6282         (gdk_image_new): 
6283         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
6284         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
6285         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
6286         (gdk_colormap_get_system): 
6287         (gdk_colormap_new): 
6288         * gdk/gdkwindow.c (gdk_window_init): 
6289         * gtk/gtkstyle.c (gtk_style_new):
6290         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
6291         * gdk/gdkpixmap.c (gdk_pixmap_init): 
6292         * gtk/gtkrc.c (gtk_rc_style_new):
6293         use g_object_new() instead of g_type_create_instance() which
6294         is a private function for fundamental type implementations.
6295
6296 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
6297
6298         * configure.in: Add check for db2html
6299
6300 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
6301
6302         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
6303         hack to set glib_debug_objects based on gtk_debug_flags.
6304
6305 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
6306
6307         * INSTALL.in: Update the Prerequisites section.
6308
6309         * Makefile.am demos/Makefile.am docs/Makefile.am
6310         docs/tutorial/Makefile.am gdk/x11/Makefile.am
6311         gdk/linux-fb/Makefile.am: Dist fixes
6312
6313 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
6314
6315         * NEWS: 10,000 foot view of 1.3.1 changes.
6316
6317 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
6318
6319         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
6320         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
6321         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
6322         gdk/x11/gdkmain-x11.c: 
6323
6324         Patch from George Lebl to add a GdkGrabStatus enumeration to use
6325         as a return value of gdk_*_grab(). Previously, we just
6326         returned the X11 values directly.
6327
6328 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
6329
6330         * gdk/x11/Makefile.am: Patch from George Lebl to 
6331         install all the headers in the right place.
6332
6333 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
6334
6335         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
6336           initial conversion to DocBook.
6337
6338 2000-07-04  Tor Lillqvist  <tml@iki.fi>
6339
6340         * README.win32: Improve a bit.
6341
6342         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
6343         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
6344         Alt+0nnn on the numpad (used to enter characters by numeric code
6345         from current DOS or ANSI codepage) working correctly, as in other
6346         Windows apps.
6347
6348         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
6349         same argument validity tests as in X11 version.
6350         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
6351
6352         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
6353         definitions in case missing from headers.
6354
6355         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
6356         destroy the window-specific cursor.
6357         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
6358         calling GetModuleHandle(NULL).
6359         (gdk_window_set_cursor): Reworked to always copy the passed cursor
6360         with CopyCursor before setting it as the window-specific
6361         cursor. It is OK for the caller to destroy the GdkCursor (and thus
6362         also its Windows cursor) after calling this function. Destroy any
6363         previous window-specific cursor.
6364
6365 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
6366
6367         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
6368         font charset is iso8859-1, not iso-8859-1.
6369
6370 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
6371
6372         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
6373         Use g_get_charset() instead of g_get_codeset().
6374
6375         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
6376         Comment out some strdup'ing functions to keep timj
6377         happy until we finish fighting this out.
6378
6379 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
6380
6381         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
6382         <= width or height.
6383
6384         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
6385         from 1.2 for parent/child states.
6386
6387         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
6388         of typos.
6389
6390         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
6391         event structures, replace with a generic axes field. Replace 
6392         deviceid/sourec with GdkDevice *device.
6393
6394         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
6395         to extract particular axis use value from event. (Also
6396         can be used for normal X/Y.)
6397
6398         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
6399         allow for arbitrary number of axes, namespace everything
6400         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
6401         everywhere.
6402
6403         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
6404         Get rid of the gdk_input_vtable setup if favor of simply
6405         defining the functions in gdkinput-none/gxi/xfree.c in
6406         a similar fashion to the way that the port structure is 
6407         done.
6408
6409         * gtk/gtkdnd.c: Fix fields of synthesized button press event
6410         for new event structures. 
6411
6412         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
6413         new device interfaces.
6414
6415 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
6416
6417         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
6418         set the initial text.
6419
6420         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
6421         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
6422         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
6423         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
6424
6425         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
6426         pango_layout_set_font_description to simplify.
6427
6428 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
6429
6430         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
6431         pango_layout_set_font_description to simplify.
6432
6433 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
6434
6435         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
6436         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
6437         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
6438
6439         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
6440         PANGO_PIXELS() macro.
6441
6442 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
6443
6444         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
6445         that returns a PangoContext owned by the widget and updated to
6446         match future changes in the widget. Also, make 
6447         gtk_widget_create_pango_layout() use this context. If we ever
6448         add a ::changed signal to PangoContext, this will make things
6449         much more convenient. 
6450
6451         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
6452         in the appropriate places instead of destroying the layouts and
6453         creating new ones.
6454
6455         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
6456         in a few strategic places.
6457
6458 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
6459
6460         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
6461         gtk_widget_size_request() on reparented child, if one. Otherwise,
6462         queue_resize() on the child never results in it getting size-requested
6463         at all.
6464
6465         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
6466         in option menus, so that (with luck) people won't copy it into
6467         their apps in the future.
6468
6469         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
6470         to gtk_option_menu_calc_size. This isn't perfect, but should fix
6471         a lot of problems with changing the size of the menu's menu
6472         items after adding it to the option menu.
6473
6474         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
6475
6476         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
6477         the text direction for a widget changes.
6478
6479         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
6480         ::direction_changed to get rid of various hacks.
6481
6482 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
6483
6484         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
6485         name.
6486
6487 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
6488
6489         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
6490         flag to the structure. Do not call XFreePixmap on pixmaps created
6491         by gdk_pixmap_foreign_new().
6492
6493 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
6494
6495         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
6496         value using GdkRGB functionality given GdkColormap and GdkColor.
6497         (name not final, waiting for inspiration.)
6498         
6499         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
6500         set the foreground/background of a GC using the GC's colormap
6501         and GdkRGB. (name not final, waiting for inspiration.)
6502
6503         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
6504         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
6505
6506         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
6507         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
6508         purely a function of the corresponding colormap. Make
6509         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
6510
6511         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
6512         gdk_pixbuf_*create_from_xpm_* in terms of
6513         gdk_pixbuf_new_from_xpm_data(), move into platform independent
6514         code.
6515
6516         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
6517         advantage of the new draw_rgb_32_image_dithalign.
6518
6519         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
6520
6521         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
6522         on each created GC.
6523
6524         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
6525
6526         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
6527         which we initialize from the drawable when the GC is created,
6528         if the drawable has a colormap.
6529
6530         * gdk/x11/gdkgc-x11.c: include string.h for memset.
6531
6532         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
6533
6534         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
6535
6536 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
6537
6538         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
6539         actually returning expose events, make sure to set
6540         the count field properly.
6541
6542         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
6543         accidentally reintroced bug which always cleared
6544         the graphics_exposures value. 
6545
6546 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
6547
6548         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
6549
6550 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
6551
6552         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
6553
6554 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
6555
6556         * docs/faq/gtk-faq.sgml: Start of Section 6.
6557
6558 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
6559
6560         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
6561         
6562         (Fixes problem with drawing childless frames. Pointed out
6563         by and a first patch from Anders)
6564         
6565         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
6566         compute a child_allocation, even if we don't have a child.
6567
6568         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
6569         Always chain to the parent's impl, even if we don't have a child.
6570
6571 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
6572
6573         * gdk/gdkrgb.c: If possible, create only a single shm segment and
6574         use multiple parts of it instead of creating a bunch of separate
6575         segments, since the maximum number of segments per system is not
6576         large. (This might be worth backporting to GTK+-1.2.x if we make a
6577         new release )
6578
6579         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
6580         structure in preparation for per-colormap GdkRGB.
6581
6582         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
6583         to False when we get EINVAL from shmget so that the caller of
6584         gdk_image_new can retry with a smaller segment size.
6585
6586 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
6587
6588         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
6589
6590 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
6591
6592         * configure.in: make the current version number 1.3.1 (binary age 0,
6593         interface age 0).
6594         
6595         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
6596         gtkcompat.h is all we want.
6597
6598         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
6599         GLib primitive types. fixed g_type_register_fundamental() argument
6600         ordering.
6601
6602         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
6603         compiles.
6604
6605         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
6606         object code cleanup, comment trigraph fixes, etc...
6607
6608 2000-06-23  Havoc Pennington  <hp@redhat.com>
6609
6610         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
6611         instead of making up a bogus name for first_para_mark
6612
6613         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
6614         0 as a context ID
6615
6616 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
6617
6618         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
6619
6620 2000-06-21  Havoc Pennington  <hp@pobox.com>
6621
6622         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
6623         we didn't check window->bg_pixmap != GDK_NO_BG.
6624
6625         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
6626         gdk-pixbuf
6627
6628 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
6629
6630         * docs/faq/gtk-faq.sgm: Move file to here.
6631           TODO: Update Makfile.am 
6632
6633 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
6634
6635         * docs/gtk-faq.sgm: Add Section 2
6636
6637 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
6638
6639         * docs/gtk-faq.sgm: New file. Start of DocBook
6640           version of the FAQ.
6641
6642 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
6643
6644         * configure.in (GDK_PIXBUF_MAJOR): Define version
6645         numbers for GDK_PIXBUF_*, as they get substituted
6646         into a header file. Need to consider versioning
6647         for gdk-pixbuf more carefully later.
6648
6649 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
6650
6651         Work with srcdir != builddir.   
6652         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
6653         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
6654         * demos/testpixbuf.c: Likewise.
6655         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
6656         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
6657         <gdk/x11/gdkx.h>.
6658         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
6659         "gdk-pixbuf.h".
6660         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
6661
6662 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
6663
6664         * TODO.xml: Change 1.4 version numbers to 2.0.
6665
6666 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
6667
6668         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
6669         fixups to GTK+ standard.
6670
6671 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
6672
6673         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
6674         gdk-pixbuf.
6675
6676         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
6677         fixups for GObject.
6678
6679         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
6680         gdk-pixbuf with GDK dependencies moved into GDK.
6681         
6682         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
6683         move gdk-pixbuf-loader here until GObject has signals.
6684
6685         * demos/: New directory of demos. Move demos from
6686         gdk-pixbuf here.
6687
6688         * demos/pixbuf-init.c: Small bit of code to check for
6689         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
6690         set GDK_PIXBUF_MODULEDIR appropriately.
6691
6692         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
6693         define which no longer makes sense.
6694
6695 2000-06-21  Havoc Pennington  <hp@redhat.com>
6696
6697         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
6698         gtk_get_default_language
6699
6700         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
6701         new function to get the default language
6702
6703         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
6704         s/gtk_text_view_style_values/gtk_text_style_values/
6705
6706         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
6707         Add a "language" field to tags.
6708
6709         (gtk_text_tag_set_arg): Fix bug in setting
6710         "bg_full_height_set" tag.
6711
6712 2000-06-21  Havoc Pennington  <hp@redhat.com>
6713
6714         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
6715         in the interfaces
6716
6717         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
6718         stuff instead when possible.
6719
6720         * gtk/gtktexttypes.h: Delete some unused constants
6721
6722         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
6723         testtextbuffer.c: use glib instead of custom unicode routines
6724
6725 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
6726
6727         * docs/es/: Removed mistakenly added generated sgml
6728
6729         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
6730         Remove outdated info files.
6731
6732         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
6733         Moved tutorial files into subdir
6734
6735         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
6736         subdir.
6737
6738         * docs/man/gtk_button.pod: Remove. (contents will be
6739         integrated into gtk-reference button page.)
6740
6741         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
6742         docs/faq/Makefile.am: Adjust for new organization
6743
6744 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
6745
6746         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
6747         not $(MKINSTALLDIRS)
6748
6749 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
6750
6751         * gtk/testgtk.c (create_text): Finish the job Elliot started
6752         of removing font setting test for text widget. (Since text widget
6753         and GdkFont are not deprecated, and cause portability problems.)
6754
6755 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
6756
6757         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
6758         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
6759         Remove use of libunicode in favor of new GLib functions.
6760
6761         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
6762         nano-x, framebuffer. The X11 include is just a hack until we get
6763         the necessary functions in gdkcolor.h, so there is no reason to
6764         add other includes of platforms.
6765
6766         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
6767         window bigger than the screen change.
6768
6769         * gtk/testgtk.c: Revert some random changes from Elliot
6770         that had no particular point and were causing testgtkrc
6771         not to function correctly.
6772         
6773         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
6774         because GdkSegment and GdkRegionBox have the same fields,
6775         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
6776         results in clearer code.
6777
6778         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
6779         gdk_input_translate_coordinates): Fix missed GdkObjectification
6780
6781 2000-06-18  Elliot Lee  <sopwith@redhat.com>
6782
6783         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
6784         * gtk/gtk{plug,socket}.h: Missed commits from previous.
6785
6786 2000-06-20  Havoc Pennington  <hp@redhat.com>
6787
6788         * modules/linux-fb/Makefile.am: Make this compile
6789         without framebuffer enabled
6790
6791         * gdk/linux-fb/Makefile.am: Add conditional to not build
6792         framebuffer unless specified in configure
6793
6794         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
6795         the size of the target instead of source if -1 was passed for
6796         width/height
6797
6798         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
6799         width/height confusion.
6800
6801 2000-06-19  Havoc Pennington  <hp@redhat.com>
6802
6803         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
6804         GDK_DRAWABLE_XID. In the future, we probably want to make it
6805         faster with G_DISABLE_CHECKS turned on.
6806
6807 2000-06-14  Havoc Pennington  <hp@redhat.com>
6808
6809         * gdk/Makefile.am: add gdkpixmap.c
6810
6811         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
6812         s/gdk_image_init/_gdk_windowing_image_init
6813
6814         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
6815         ref/unref
6816
6817         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
6818
6819         * gdk/gdkcompat.h: remove GdkWindowType compat, since
6820         GdkWindowType is now non-deprecated; 
6821         change gdk_window_get_type() compat to be
6822         gdk_window_get_window_type().
6823
6824         * gdk/gdkdnd.h: make GdkDragContext a GObject.
6825
6826         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
6827         virtual GObject. Make all functions call into the vtable.
6828         Move gdk_image_put() guts in here. Remove GdkDrawableType
6829         and gdk_drawable_get_type(), these are now GdkWindow-specific.
6830         draw_image, get_depth, get_size, set_colormap, get_colormap,
6831         get_visual added to the vtable.
6832         
6833         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
6834         GObject. Virtualize everything. 
6835         (gdk_gc_new_with_values): remove check for destroyed window,
6836         because now GdkWindow::create_gc will check this.
6837         (gdk_gc_set_values): New function to set GC values, this 
6838         was already implemented but wasn't in the header
6839
6840         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
6841
6842         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
6843         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
6844         remove _gdk_window_class; add _gdk_window_impl_get_type() and
6845         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
6846         _gdk_windowing_window_init, rename gdk_image_init to
6847         _gdk_windowing_image_init.
6848         
6849         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
6850         (gdk_draw_layout): Remove check for destroyed window, 
6851         because all the drawable methods already check it.
6852         
6853         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
6854         Add gdkpixmap.c which contains implementation of GdkDrawable
6855         virtual table (by chaining to a platform-specific implementation
6856         object).
6857         
6858         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
6859         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
6860         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
6861         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
6862         GdkColormapPrivate. 
6863
6864         * gdk/gdktypes.h: #include <glib-object.h>
6865
6866         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
6867         Move most functionality to platform-specific implementation
6868         object. GdkWindow itself now handles the backing store, then
6869         chains to the platform-specific implementation.
6870         (gdk_window_get_window_type): return GdkWindowType of the window.
6871         (gdk_window_peek_children): New routine, returns the children of 
6872         a GdkWindow
6873         (gdk_window_get_children): Was in X11-specific code and did 
6874         XQueryTree. Changed to simply return a copy of window->children; 
6875         so it can go in cross-platform code.
6876         
6877         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
6878
6879         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
6880         GdkColormap; just changed to use the new private data instead
6881         of casting to GdkColormapPrivate.
6882
6883         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
6884         gdk_cursor_new().
6885
6886         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
6887         (private data member in the GObject). 
6888         (xdnd_manager_source_filter): Function had broken 
6889         error handling, fix it (use gdk_error_trap_push).
6890
6891         * gdk/x11/gdkdrawable-x11.c: This file now implements
6892         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
6893         base class is purely for the convenience of the X port,
6894         and not part of the interface to cross-platform GDK.
6895
6896         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
6897         
6898         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
6899         specific to X, and returned by the create_gc virtual method
6900         of GdkDrawableImplX11. 
6901         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
6902         rather than gchar, this was also changed in the GdkGC vtable.
6903         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
6904         mask is 0, return immediately, instead of checking every flag.
6905         This is faster, and keeps us from segfaulting if values is NULL
6906         and the mask contains some nonzero flags.
6907
6908         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
6909         GdkWindow.
6910
6911         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
6912         GdkWindowPrivate is gone.
6913
6914         * gdk/x11/gdkim-x11.c: rename things that got renamed.
6915
6916         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
6917         remove the image_put stuff that got transferred to GdkDrawable.
6918         
6919         * gdk/x11/gdkinput.c: renamings
6920
6921         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
6922
6923         * gdk/x11/gdkpixmap-x11.c: GObject conversion
6924
6925         * gdk/x11/gdkprivate-x11.h: indentation fixes
6926
6927         * gdk/x11/gdkproperty-x11.c: renamings
6928
6929         * gdk/x11/gdkselection-x11.c: renamings
6930
6931         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
6932         implements the platform-specific "impl" object.
6933         Moved gdk_window_get_children to gdk/gdkwindow.c
6934
6935         * gdk/x11/gdkx.h: Remove all the private structs and private datas
6936         that no longer exist. Add declaration of GdkGCX11 object here.
6937         Fix all the macros to still work. 
6938
6939         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
6940         GdkDragContext from the boxed types since they are now GObjects.
6941
6942         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
6943         moved xthickness/ythickness into the instance. GtkStyleClass
6944         functions are now in the standard vtable for GtkStyle, so you have
6945         to create a GObject subclass to write a theme engine.
6946         (gtk_style_copy): fixed a leaked PangoFontDescription
6947         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
6948         can be the standard GObject function.
6949         
6950         * Throughout GTK:
6951         s/style->klass->[xy]thickness/style->[xy]thickness
6952         s/pango_layout_unref/g_object_unref/
6953
6954         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
6955         
6956         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
6957         accessing GDK internals.
6958
6959         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
6960         accessing GDK internals.
6961
6962 2000-06-18  Elliot Lee  <sopwith@redhat.com>
6963
6964         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
6965
6966         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
6967         problem by calculating event position relative to the trough
6968         rather than the slider.
6969         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
6970
6971         * gdk/gdkgc.h: Add GDK_NOR.
6972
6973         * configure.in, Makefile.am: Add modules top level dir
6974         * configure.in: Only use pangox library if building x11 target.
6975         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
6976
6977 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
6978
6979         * gtk/gtkcolorsel.c: Change private class member to be named
6980         private_data throughout the file.
6981
6982         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
6983         private_data to avoid clashing with keyword.
6984
6985 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
6986
6987         * gdk/gdkdnd.h: Add comment to remove warning.
6988
6989 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
6990
6991         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
6992         Byelorussian language; changed the Makefile and file names 
6993         to reflect that.
6994
6995 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
6996
6997         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
6998         rather than gdk_window_hide; this makes things work
6999         correctly if the window is programmatically hidden while
7000         iconified.
7001
7002 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
7003
7004         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
7005         cut and paste typo where wrong pixmap was being
7006         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
7007
7008 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
7009
7010         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
7011         Add helper function to compute format / bytes 
7012         relationship. Use in a couple places to fix up
7013         errors which assume 8 * format.
7014
7015         * gtk/gtkselection.c (gtk_selection_request): Use 32
7016         rather than 8 * sizeof (GdkAtom), to work correctly
7017         on Alpha.
7018
7019 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
7020
7021         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
7022         libgtk.la
7023         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
7024         versions
7025
7026         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
7027         checking macros return NULL since the function has a return value.
7028
7029 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
7030
7031         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
7032         GTK+ from building at all.
7033
7034         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
7035
7036 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
7037
7038         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
7039         gtk/Makefile.am: make it possible to configure gtk for different
7040         targets on the same platform. The library name is now 
7041         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
7042         flag. Only the x11 target compiles right now.
7043         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
7044         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
7045         * gdk/nanox/gdk*generic*: delete generic region code.
7046         * gdk/linux-fb/gdk*generic*: delete generic region code.
7047         * README.nanox: update information.
7048         
7049 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
7050
7051         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
7052         prepend not append. (Pointed out by Brett Hall.)
7053
7054 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
7055
7056         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
7057
7058 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
7059
7060         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
7061         need this later, and this makes sure that the atexit for
7062         glib gets called after that for GDK, so atexits are
7063         properly ordered for object leak checking.
7064
7065         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
7066
7067         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
7068         pango_x_shutdown_display()
7069
7070         * gtk/simple.c (main): Close window on destroy.
7071
7072 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
7073
7074         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
7075         to treat initial creation different from setting with 
7076         regards to the graphics-exposures parameter, so add a parameter
7077         indicating whether this is initial or not.
7078
7079 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
7080
7081         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
7082         to sort of work by adding an extra return_exposes arg
7083         to gdk_event_translate() - it might be better to simply
7084         deprecate the function altogether and force people to rewrite
7085         without it. gdk_window_scroll() handles most of it, and where
7086         gdk_window_scroll() doesn't work, simply redrawing more does.
7087
7088         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
7089         assertion.
7090
7091         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
7092
7093         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
7094         bunch of pretty much useless /* Print debugging info */ comments 
7095         which had drifted away from the code they were commenting.
7096
7097 2000-06-02  Havoc Pennington  <hp@pobox.com>
7098
7099         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
7100         is in working order.
7101         
7102         * gtk/testtext.c: Change to reflect anonymous mark API
7103
7104         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
7105
7106         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
7107         field, which was unused.
7108
7109         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
7110         saves some typing.
7111
7112         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
7113
7114         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
7115         flag on the insertion point and selection bound
7116
7117         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
7118         make mark-manipulation functions take a GtkTextMark* instead of a
7119         mark name.
7120         
7121         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
7122         GtkTextMarkBody; will be used to detect attempts to delete
7123         the permanent marks (insert and selection bound)
7124
7125         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
7126
7127 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
7128
7129         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
7130         flag to on.
7131
7132         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
7133         Honor DOUBLE_BUFFRED_FLAG
7134
7135         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
7136         function to set the DOUBLE_BUFFERED flag.
7137
7138         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
7139         or not exposes done on the widget should be double-buffered.
7140
7141         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
7142         to be what would be expected. (Fixes problem with a
7143         g_return_if_fail() validating a TextDirection enumeration)
7144
7145 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
7146
7147         * gtk/gtkwidget.c: Remove all references to 
7148         offscreen flag which was no longer used.
7149
7150         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
7151
7152         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
7153         for non-null label_widget->parent.
7154
7155         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
7156         which no longer was used.
7157
7158         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
7159
7160         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
7161         for null arguments.
7162
7163         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
7164         check for destroyed windows.
7165
7166 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
7167
7168         * gtk/gtkimmulticontext.c: Add a finalize method and unref
7169         the slave context there.
7170
7171         * gtk/gtkinvisible.[ch]: Make reference counting behavior
7172         identical to GtkWindow.
7173
7174 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
7175
7176         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
7177         pangox to here, so we can write them independent of rendering
7178         system, using GDK primitives.
7179
7180         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
7181         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
7182         since we have a rendering-system independent implementation in
7183         terms of draw_glyphs().
7184         
7185         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
7186         function to render a single line.
7187
7188         * gdk/x11/gdkpango.c: Move the guts of this file mostly
7189         into ../gdkpango.c, which simplifies things, since we
7190         don't have to deal with raw X gc's.
7191
7192 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
7193
7194         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
7195         get the logical attributes for a given GtkTextLine.
7196
7197 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
7198
7199         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
7200         g_locale_get_codeset() to g_get_codeset() change.
7201
7202 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
7203
7204         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
7205         descriptions.
7206
7207         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
7208         the entry.
7209
7210         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
7211         redoing (vastly simplifying) for Pango. Still needs quite
7212         a bit of work. (Size selection is currently poor. List of 
7213         predefined sizes is not a good idea, since all of these
7214         sizes won't necessarily be distinct.)
7215
7216 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
7217
7218         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
7219         CODESET results for LANG=C.
7220
7221 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
7222
7223         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
7224         which takes a stringized pango font description;
7225         ignore the older 'font' and 'fontset' declarations.
7226
7227         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
7228         field with a GdkFont derived via gdk_font_from_description(),
7229         for compatibility. (Should we just remove it entirely?
7230         Probably too much compatibility breakage, but people
7231         should be migrating to the new Pango stuff as quickly
7232         as possible.)
7233
7234 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
7235
7236         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
7237
7238 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
7239
7240         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
7241         redoing; there are some bugs in size allocation right
7242         now, the semi-existant distinction between header / day
7243         fonts was removed, but, with Pango, could actually
7244         be made functional in a nice way.
7245         
7246         * gtk/testcalender: Move calender from examples into this
7247         directory as a test program. (We really need to restrcture
7248         testgtk into a whole directory full of tests for every
7249         widget or functionality group, separated into multiple .c
7250         files.)
7251
7252 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
7253
7254         * gtk/testgtk.c (file_exists): Fix stupid typo that
7255         was keeping RC file from being loaded.
7256
7257         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
7258         RC file font code.
7259
7260 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
7261
7262         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
7263         Add function to load a GdkFont from a PangoFontDescription.
7264
7265 2000-05-29  Tor Lillqvist  <tml@iki.fi>
7266
7267         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
7268         variable should be of type GdkEventPrivate.
7269
7270 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
7271
7272         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
7273         to have any widget for the label, use a GtkLabel widget
7274         to display the text. (Based partially on a patch from
7275         Anders Carlson.)
7276
7277         (Quite a bit of code reorganization - strip 90% of the
7278         guts out of gtkaspectframe and add a single virtual
7279         func to GtkFrameClass - compute_child_allocation.)
7280
7281 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
7282
7283         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
7284         (Removed clist->row_center_offset field because caching
7285         it wasn't saving time or code, added private function
7286         _gtk_clist_create_cell_layout()).
7287
7288 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
7289
7290         * gtk/gtkaccellabel.c: Pangoized.
7291
7292         * gtk/[hv]ruler.c: Pangoized
7293
7294 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
7295
7296         * gtk/gtkfilesel.c (gtk_file_selection_init):
7297         Use gtk_clist_set_column_auto_resize() to remove need
7298         need for manual column width computations.
7299
7300 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
7301
7302         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
7303         ensuring Pango correctness, and considerably simplifying the
7304         code.
7305         
7306         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
7307
7308         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
7309         getting of numbers of lines.
7310
7311         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
7312         to the actual requested width of the lable, not to the wrap
7313         width we set.
7314
7315         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
7316
7317         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
7318           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
7319
7320         * gtk/gtktextview.c: Fix structure inheritance.
7321
7322         * gtk/gtkprogressbar.c: Pangoize.
7323
7324 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
7325
7326         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
7327         in a function.
7328
7329         * gtk/gtktextlayout.c (find_display_line_above): Fixed
7330         bug with computing line tops.
7331
7332         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
7333
7334 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
7335
7336         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
7337         and y_offset coordinates to do what we need now. (The offset between
7338         buffer and layout coordinates has been reintroduced, but is a 
7339         bit different than before.)
7340
7341         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
7342         handle the adjustments ourselves, and scroll as necessary using
7343         the new gdk_window_scroll().
7344         
7345         The advantage of this is that when we are incrementally revalidating,
7346         we are essentially rearranging things around the visible portion
7347         of the screen. With the old setup, the visible portion of the
7348         screen was moved around in the layout, so scrolling and redrawing
7349         to track that caused jumping of the display. Since we now
7350         control the scrolling ourselves, we can suppress this and
7351         only redraw when things actually change.
7352
7353 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
7354
7355         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
7356         the region not just redisplay it after-all, since we store the
7357         cursors in the LineDisplay. (Ugly interactions here between
7358         GtkLayout and GtkTextBTree here.)
7359         
7360         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
7361
7362 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
7363
7364         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
7365         Added function to scroll contents of a window while keeping the
7366         window constant. Works by XCopyArea or guffaw-scrolling depending
7367         on the details of how the window is set up. (guffaw-scrolling
7368         still needs to be filled in.)
7369
7370 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
7371
7372         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
7373         move the debugging that was tied to a global variable
7374         to that.
7375
7376         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
7377
7378         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
7379         validated flag, in line data instead of setting height/width to
7380         -1. This allows us to perform operations with partially invalid
7381         buffer (using the old size for invalid lines) and thus to do
7382         incremental vaidation. Keep height/width aggregates up to date
7383         when deleting text and rebalancing the tree.
7384
7385         * gtk/gtktextbtree.[ch]: Add functions validate a line
7386         (gtk_text_btree_validate_line), and to validate up
7387         to a number of pixels (gtk_text_btree_validate).
7388
7389         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
7390         that indicates that something is changed and a revalidation
7391         pass is needed. Change ::need_repaint to ::changed, and
7392         make it take old and new yranges instead of a rectangle.
7393
7394         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
7395         the line_data_destroy() function from 
7396         gtk_text_btree_add_view() to a virtual function in 
7397         GtkTextLayout
7398
7399         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
7400         since we are handling partial repaints in a different fashion
7401         now.
7402
7403         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
7404         of the selection instead of queueing a repaint on the
7405         entire widget.
7406
7407         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
7408         get_selection_bounds() down to btree, make the function
7409         in buffer a wrapper around the btree function.
7410
7411         * gtk/gtktextlayout.[ch]: Add functions to check if the
7412         layout is valid and to recompute either a range of pixels
7413         aroudn a line or a certain total number of pixels.
7414
7415         * gtk/gtktextlayout.[ch]: Cache a single line display;
7416         now that we only redraw the needed portions, the hit rate
7417         for this cache is quite high.
7418         
7419         * gtk/gtktextview.[ch]: Keep track of the first paragraph
7420         on the screen so that when re-laying-out the buffer, we can
7421         keep the same place. This requires connecting to ::value_changed
7422         on the adjustments
7423
7424         * gtk/gtktextview.[ch]: Add idle functions to revalidate
7425         the buffer after we receive an ::invalidated signal.
7426         
7427 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
7428
7429         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
7430         to max of allocation and layout size, not just to the
7431         layout size.
7432
7433         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
7434         Invalidate window so it gets redrawn properly.
7435
7436         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
7437         to mean the entire window.
7438
7439         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
7440         into public header.
7441
7442 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
7443
7444         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
7445         to get the name of a mark.
7446
7447         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
7448         to find the paragraph from a y position.
7449
7450 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
7451
7452         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
7453         nodes have width/height >= 0, not > 0.
7454
7455 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
7456
7457         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
7458         Add a size_only flag, so when we only need the size, we don't create
7459         useless appearance attributes.
7460
7461         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
7462         duplicate setting of font description.
7463
7464         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
7465
7466 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
7467
7468         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
7469         EXTRA_DIST. It does not work well when the file that
7470         everything depends on is not in the tarball.
7471
7472 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
7473
7474         * gtk/testgtk.c: Some hacks and fixes so that it basically
7475         works when not sitting in the GTK+ build tree.
7476
7477 2000-05-03  Havoc Pennington  <hp@redhat.com>
7478
7479         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
7480         Properly determine the ordering of the tag root and the current
7481         line within the tree. Previous algorithm only worked if the tag
7482         root's immediate parent was the common root of both the current
7483         line and the tag root.
7484
7485 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
7486
7487         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
7488         alignment.
7489
7490         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
7491         the widget text directional dynamically.
7492
7493         * gtk/gtktextview.[ch]: Added functions to get and set default
7494         wrap mode.
7495
7496 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
7497
7498         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
7499         in cursor location computation.
7500
7501 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
7502
7503         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
7504         vadjusment values properly when layout gets smaller.
7505
7506         * gtk/gtktextview.c (need_repaint_handler): Areas being
7507         passed in are far completely inaccurate, and sometimes
7508         too small, so, for now, just queue a redraw on the
7509         whole visible region.
7510
7511 2000-04-25  Havoc Pennington  <hp@redhat.com>
7512
7513         * gtk/gtktextbtree.c (summary_destroy): new function to 
7514         destroy tag summary nodes
7515         (gtk_text_line_next_could_contain_tag): this function was 
7516         totally broken if the line passed in wasn't below the tag
7517         root. Fix it.
7518         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
7519         "wildcard" case, we have to do a linear scan. Blah.
7520         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
7521         we have to do the linear scan
7522         (tag_removed_cb): When a tag is removed from the tag table, 
7523         remove the GtkTextTagInfo node from the btree.
7524         (gtk_text_btree_spew): Implement the spew function, for 
7525         our debugging pleasure.
7526
7527 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
7528
7529         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
7530         a problem with referring to the wrong buffer.
7531
7532         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
7533
7534         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
7535         font description to gtk_style_new() - otherwise things
7536         don't work without a .gtkrc file.
7537
7538         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
7539         tags table if we create it ourself, too.
7540
7541         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
7542         it was conflicting with XKB modifiers.
7543
7544         * gtk/gtktextview.[ch]: Add simple support for 
7545         GtkIMContext.
7546
7547 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
7548
7549         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
7550         with deletion from last commit.
7551
7552 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
7553
7554         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
7555         in the context from the current locale.
7556         
7557         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
7558         context, not hardcoded value.
7559
7560         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
7561         not logical.
7562
7563 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
7564
7565         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
7566         attributes - that doesn't handle partial-glyph selection
7567         properly. Instead use new pango_layout_line_get_x_ranges()
7568         functionality to draw the selection.
7569
7570         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
7571         now properly handles out-of-range coordinates.
7572
7573         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
7574
7575         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
7576         public.
7577
7578         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
7579         for paragraphs opposite to the base direction of the widget.
7580
7581         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
7582
7583         * gtk/gtktextlayout.c: Don't split segments on marks, since that
7584         causes Arabic words to reshape as you cursor through.
7585
7586         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
7587         cursor position when moving vertically with the arrow keys and
7588         scrolling with page-up/page-down. (Arrow keys save only the X,
7589         scrolling saves both X and Y.)
7590
7591         This means you can line-up / line-down or page-up / page-down
7592         without losing your place, and also that moving vertically
7593         with the cursor keys keeps the same X position, not the same
7594         character count:
7595
7596         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
7597         arrow keys move by display lines, not paragraphs.
7598
7599 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
7600
7601         * gtk/gtklayout.c: Make sure that the bin window is at least
7602         as big as the allocation. (Should we also make sure that the
7603         bin window is big enough to completely cover widget->window?)
7604
7605         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
7606         function to get the onscreen rectangle.
7607
7608         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
7609         for offsets in window coordinates.
7610
7611 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
7612
7613         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
7614         confusion.
7615
7616         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
7617         from the widget direction.
7618
7619         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
7620         Add a "direction" attribute.
7621
7622         * gtk/gtktextview.c: global s/tkxt/text_view/.
7623
7624         * gtk/testtext.c: Added long block of text in Arabic, to test out
7625         the direction attributes. (Some problems with the shaping system
7626         for arabic become obvious - like the fact the cursor splits words
7627         into unjoined pieces.)
7628
7629 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
7630
7631         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
7632
7633         * gtk/gtktextlayout.c: Fix up alignment.
7634
7635         * gtk/testtext.c: Add some tests for centering, wrapping.
7636
7637 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
7638
7639         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
7640         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
7641         If we wrote GTK+-specific layout-render function this could just replace
7642         the draw_layout() operation in the vtable.
7643
7644         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
7645         pango_layout_get_cursor_pos() and use that function.
7646
7647         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
7648         is a non-static symbol.
7649
7650         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
7651         with gtk_text_btree_find_line_by_y()
7652
7653         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
7654         renderer that handles GtkTextAppearance attributes.
7655
7656         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
7657
7658           - Move the values in the style that don't affect geometry into a
7659             GtkTextAppearance structure.
7660           - Change underline to take a PangoUnderline and "font" a string
7661             representation of a font description
7662           - Add a "font_desc" attribute which takes a FontDescription structure.
7663
7664         * gtk/gtktextlayout.[ch]:
7665
7666           - Get rid of the display-line list per each line. Instead, we
7667             generate, on demand, a GtkTextLineDisplay structure which]
7668             contains a PangoLayout * and other necesary information
7669             (offsets, cursor locations) for displaying a paragraph.
7670           - Get rid of the code to wrap lines, create display chunks,
7671             etc. Instead, we just go through a paragraph and convert
7672             it into the necessary inputs to a PangoLayout.
7673           - Implement a new attribute type, GtkTextAttrAppearance. This
7674             holds a GtkTextAppearance, and is used to pass colors, 
7675             stipple, etc, through from the layout to the display without
7676             having to use lots and lots of individual attributes.
7677           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
7678             in terms of PangoLayout functions.
7679         
7680         * gtk/gtktextview.c: 
7681          
7682           - Handle passing the necessary PangoContext to the layout
7683           - Some fixups in painting to deal with the automatic backing store
7684             and offsetting of GTK+-1.4
7685           - Add a style_set handler so that the default style reacts
7686             properly to theme changes.
7687         
7688         * gtk/gtktext?*.[ch]: Random code-style fixes.
7689
7690         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
7691
7692 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
7693
7694         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
7695         in original form preparatory to Pango-ization and gdkimcontext-ization.
7696
7697 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
7698
7699         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
7700         so that we can derive from gtkimcontext in language bindings properly.
7701
7702 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
7703
7704         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
7705         Add a compose table including (almost) all the compose combinations
7706         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
7707         data in the XIM implementation.
7708
7709         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
7710         Moved functions to convert keyvalues from and to unicode here from
7711         the win32 port and made them public.
7712
7713 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
7714
7715         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
7716
7717 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
7718
7719         * gtk/gtkimcontext.[ch]: Base class for new input context system
7720
7721         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
7722         the real input context implementation to be loaded from modules
7723         and switched on the fly.
7724
7725         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
7726         context that just does direct keysymbol => unicode translation.
7727
7728         * gtk/gtkentry.[ch]: Start switching editing over to using
7729         GtkInputContext. (No handling of preedit yet.)
7730
7731 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
7732
7733         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
7734         many substitutions. (klass should not be subsituted.)
7735
7736 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
7737
7738         * configure.in: Add checks for Pango
7739
7740         * configure.in docs/Makefile.am: Add test for sgml2html
7741         and allow 'make dist' without building html, but print out
7742         warnings in that case. (For making snapshots)
7743
7744         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
7745         Add Pango libraries and C flags
7746
7747         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
7748         Add function (gdk_draw_layout) to draw a pango layout.
7749
7750         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
7751         for getting Pango contexts for GDK.
7752
7753         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
7754
7755         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
7756         editing.
7757
7758         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
7759         keysym => unicode translations. More languages can be added
7760         here, but real input-method support is needed.
7761
7762         * docs/Changes-1.4.txt: Added note about entry behavior.
7763         
7764         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
7765         to set the reading direction for a widget and the global direction.
7766         Add test which allows toggling the global direction. Two private
7767         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
7768
7769         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
7770           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
7771
7772         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
7773
7774         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
7775         underlining now handled by Pango.
7776
7777         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
7778         to RCStyle and Style. (Having both this and the old font name and GdkFont 
7779         is temporary.)
7780
7781         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
7782         convenience functions for creating contexts and layouts for widgets.
7783
7784         * gtk/testgtk.c: Enhance label tests with multilingual labels.
7785
7786 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
7787
7788         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
7789         titles to be active, even if they aren't visible.
7790         (gtk_clist_column_titles_passive):  Ditto.
7791
7792 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
7793
7794         * gtkmenu.c:
7795         * gtkmenu.h:
7796         * gtktypeutils.h: Spelling/grammar fixes in comments.
7797
7798 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
7799
7800         * gdk/nanox/*.h: add missing header files.
7801
7802 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
7803
7804         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
7805         send_event to TRUE.
7806         (gtk_drawing_area_size): queue a resize.
7807
7808 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
7809
7810         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
7811         the handlers, also invalidate them. bug nailed down by Karl Nelson
7812         <kenelson@ece.ucdavis.edu>.
7813
7814 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
7815
7816         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
7817         "(nil)" foundries, patch from Grigorios Magklis.
7818
7819         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
7820         on non-available fonts, based on a patch by Grigorios Magklis
7821         <maglis@cs.rochester.edu>.
7822
7823 2000-05-18  Elliot Lee  <sopwith@redhat.com>
7824
7825         * gdk/x11/gdkregion-generic.c: If a region does not have any
7826         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
7827         instead of GDK_OVERLAP_RECTANGLE_IN.
7828
7829 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
7830
7831         * gtk/gtklayout.c (gtk_layout_map): Remove references to
7832         OFFSCREEN, as it is no longer necessary.
7833
7834 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
7835
7836         * gtk/gtkcolorsel.c: Patch from David Santiago
7837         <mrcooger@cyberverse.com> to change things so that the 
7838         indicator of the active palette entry is done independently,
7839         not via the focus, since it should always be visible.
7840
7841 2000-05-17  Tor Lillqvist  <tml@iki.fi>
7842
7843         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
7844         refcount leaks as in the X11 backend.
7845
7846         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
7847         cosmetics.
7848
7849         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
7850         backend. Add _gdk_windowing_window_destroy().
7851
7852         * gtk/gtkcolorsel.c: Include correct backend-specific header.
7853         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
7854         either, but these probably do exist on nanox?)
7855         
7856         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
7857         which isn't necessarily defined by <math.h>.
7858
7859         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
7860         ancestry past GtkObject.
7861
7862         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
7863         from DLL on Win32.
7864
7865         * gtk/gtk.def: Update corresponding to recent changes.
7866
7867         * gtk/makefile.{cygwin,msc}: Updates.
7868
7869 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
7870
7871         * docs/Changes-1.4.txt: A bit of editing.
7872
7873         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
7874         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
7875         to clear the update area for the window, and clear it
7876         when hiding a window.
7877
7878         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
7879         if window destroyed.
7880
7881         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
7882
7883         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
7884         gdk_window_destroy() to the generic code, since there was a lot of 
7885         window-system-independent logic it in. Add a function:
7886         
7887          _gdk_window_destroy() 
7888
7889         to the internal API to destroy a window without unreferencing it.
7890         Add a function:
7891
7892          _gdk_windowing_window_destroy()
7893
7894         That does the windowing-system-dependent part of destroying 
7895         the window.
7896
7897 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
7898
7899         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
7900
7901 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
7902
7903         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
7904         Make gtk_widget_shape_combine_mask() keep a reference count on
7905         the pixmap since it keeps it around.
7906
7907 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
7908
7909         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
7910         leak.
7911
7912         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
7913         leak with event filters.
7914
7915 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
7916
7917         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
7918         signal handlers with the right data arguments. (Fixes
7919         some warnings when a widget was repeatedly set as a drag
7920         destination.)
7921
7922         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
7923         window so we can avoid avoid setting the DND properties on the
7924         toplevel window repeatedly.
7925
7926 2000-05-13  Tor Lillqvist  <tml@iki.fi>
7927
7928         * gdk/win32/gdkwin32.h: Define more message types missing from
7929         mingw headers.
7930
7931         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
7932         call gdk_window_destroy_notify(). It was never called. This
7933         probably meant that the GdkWindow was never freed. Thanks Owen for
7934         noticing (!).
7935
7936         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
7937         window as destroyed before calling DestroyWindow(). DestroyWindow()
7938         causes a call to the window procedure (gdk_WindowProc), which
7939         calls gdk_event_translate(), which calls
7940         gdk_window_destroy_notify(), which gets confused unless the window
7941         is set as destroyed.
7942
7943         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
7944         this function to indicate it's win32 only. Put inside #ifdef
7945         G_ENABLE_DEBUG.
7946
7947         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
7948         debugging function. (gdk_event_translate:) Add a default branch
7949         that uses the above function to print debug messages with all
7950         Windows messages symbolically.
7951
7952         * gdk/win32/gdkprivate-win32.h: Declare it, and
7953         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
7954
7955 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
7956
7957         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
7958         public header file.
7959
7960 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
7961
7962         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
7963
7964         * gtk/gtktext.c: made the adjustments no-construct args, simply
7965         provide default adjustments.
7966         (gtk_text_destroy): release adjustments.
7967
7968         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
7969         adjustment argument non-construct.
7970
7971         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
7972         instead of in finalize.
7973         (gtk_progress_get_text_from_value): 
7974         (gtk_progress_get_current_text): 
7975         (gtk_progress_set_value): 
7976         (gtk_progress_get_percentage_from_value): 
7977         (gtk_progress_get_current_percentage): 
7978         (gtk_progress_set_percentage): 
7979         (gtk_progress_configure): ensure an adjustment is present.
7980
7981 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
7982
7983         * gtk/gtkcolorsel.[hc]:
7984         * gtk/gtkcolorseldialog.[hc]:
7985         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
7986         their parent implementation, use bit fields for boolean values, don't
7987         create unused widgets, usage of glib types, braces go on their own
7988         lines, function argument alignment, #include directives etc. etc. etc..
7989
7990         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
7991
7992 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
7993
7994         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
7995
7996         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
7997         of NULL.
7998
7999         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
8000         to freed data.
8001         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
8002
8003         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
8004         to NULL when the toplevel is getting destroyed.
8005         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
8006         (gtk_menu_destroy): 
8007         (gtk_menu_init): store the information of whether we have to
8008         readd the initial child ref_count during destruction in a new
8009         GtkMenu field needs_destruction_ref_count.
8010
8011         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
8012         here, those reading: learn from my mistake! ;)
8013         in order for set_?adjustment to support a default adjustemnt if
8014         invoked with an adjustment pointer of NULL, the code read (pseudo):
8015         if (v->adjustment) unref (v->adjustment);
8016         if (!adjustment) adjustment = adjustment_new ();
8017         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
8018         now imagine the first unref to actually free the old adjustment and
8019         adjustment_new() creating a new adjustment from the very same memory
8020         portion. here, the latter comparision will unintendedly fail, and
8021         all hell breaks loose.
8022         (gtk_viewport_set_hadjustment):
8023         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
8024         after unreferencing it.
8025
8026         * gtk/gtkcontainer.[hc]: removed toplevel registration
8027         functions: gtk_container_register_toplevel(),
8028         gtk_container_unregister_toplevel() and
8029         gtk_container_get_toplevels() which had wrong semantics
8030         anyways: it didn't reference and copy the list.
8031
8032         * gtk/gtkwindow.c: we take over the container toplevel registration
8033         bussiness now. windows are registered across multiple destructions,
8034         untill they are finalized. the initial implicit reference count
8035         users are holding on windows is removed with the first destruction
8036         though.
8037         (gtk_window_init): ref & sink and set has_user_ref_count, got
8038         rid of gtk_container_register_toplevel() call. add window to
8039         toplevel_list.
8040         (gtk_window_destroy): unref the window if has_user_ref_count
8041         is still set, got rid of call to
8042         gtk_container_unregister_toplevel().
8043         (gtk_window_finalize): remove window from toplevel list.
8044         (gtk_window_list_toplevels): new function to return a newly
8045         created list with referenced toplevels.
8046         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
8047
8048         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
8049         adjustment a non-construct arg.
8050         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
8051         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
8052         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
8053
8054         * gtk/gtkrange.c: added some realized checks.
8055         (gtk_range_destroy): get rid of the h/v adjustments in the
8056         destroy handler instead of finalize. remove timer.
8057         (gtk_range_get_adjustment): demand create adjustment.
8058
8059         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
8060         we simply create them on demand now and get rid of them in
8061         the destroy handler.
8062         (gtk_viewport_destroy): get rid of the h/v adjustments in the
8063         destroy handler instead of finalize.
8064         (gtk_viewport_get_hadjustment): 
8065         (gtk_viewport_get_vadjustment): 
8066         (gtk_viewport_size_allocate): demand create h/v adjustment
8067         if required.
8068
8069         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
8070         gtk_widget_real_destroy () functionality.
8071         (gtk_widget_real_destroy): reinitialize with a new style, instead
8072         of setting widget->style to NULL.
8073
8074 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
8075
8076         * gtk/gtkcalendar.c:
8077         * gtk/gtkbutton.c: ported _get_type() implementation over to
8078         GType, either to preserve memchunks allocation facilities,
8079         or because Gtk+ 1.0 GtkTypeInfo was still being used.
8080
8081         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
8082         over. prepare for ::destroy to be emitted multiple times.
8083         removed reference tracer magic. chain into GObjectClass.shutdown()
8084         to emit ::destroy signal.
8085
8086         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
8087         fundamental.
8088
8089         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
8090         cludge.
8091
8092         * gtk/gtksocket.c:
8093         * gtk/gtkplug.c:
8094         * gtk/gtklayout.c:
8095         * gtk/gtklabel.c:
8096         * gtk/gtkargcollector.c:
8097         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
8098         not being a fundamental anymore, and to work with the new
8099         type system (nuked fundamental type varargs clutter).
8100
8101         * gtk/*.c: install finalize handlers in the GObjectClass
8102         part of the class structure.
8103         changed direct GTK_OBJECT()->klass accesses to
8104         GTK_*_GET_CLASS().
8105         changed direct object_class->type accesses to GTK_CLASS_TYPE().
8106
8107         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
8108         GType. made most of the GTK_*() type macros and Gtk* typedefs
8109         simple wrappers around macros and types provided by GType.
8110         most notably, a significant portion of the old API vanished:
8111         GTK_TYPE_MAKE(),
8112         GTK_TYPE_SEQNO(),
8113         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
8114         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
8115         GTK_TYPE_ARGS,
8116         GTK_TYPE_CALLBACK,
8117         GTK_TYPE_C_CALLBACK,
8118         GTK_TYPE_FOREIGN,
8119         GtkTypeQuery,
8120         gtk_type_query(),
8121         gtk_type_set_varargs_type(),
8122         gtk_type_get_varargs_type(),
8123         gtk_type_check_object_cast(),
8124         gtk_type_check_class_cast(),
8125         gtk_type_describe_tree(),
8126         gtk_type_describe_heritage(),
8127         gtk_type_free(),
8128         gtk_type_children_types(),
8129         gtk_type_set_chunk_alloc(),
8130         gtk_type_register_enum(),
8131         gtk_type_register_flags(),
8132         gtk_type_parent_class().
8133         replacements, where available are described in ../docs/Changes-1.4.txt.
8134         implemented compatibility functions for the remaining API.
8135
8136         * configure.in: depend on glib 1.3.1, use gobject module.
8137
8138 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
8139
8140         * TODO.xml: Various updates to current status.
8141
8142 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
8143
8144         * gtk.m4: Print out version when test succeeds.
8145
8146 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
8147
8148         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
8149         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
8150         
8151         (Original triangle color selector from Simon Budig
8152         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
8153         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
8154         Santiago <mrcooger@cyberverse.com>)
8155
8156         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
8157         out into a separate widget.
8158
8159         * gtk/testgtk.c: Add some checkbuttons for toggling palette
8160         and opacity controls.
8161
8162 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
8163
8164         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
8165         snuck in prematurely.
8166
8167 2000-05-07  Tor Lillqvist  <tml@iki.fi>
8168
8169         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
8170         had deleted a ! operator by mistake, which caused
8171         GDK_SELECTION_CLEAR events never to be generated, which caused
8172         only the first copy to the clipboard from an gtkeditable to
8173         actually cause a copy to the Windows clipboard.
8174
8175 2000-05-06  Tor Lillqvist  <tml@iki.fi>
8176
8177         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
8178         compilation, too. Current mingw gcc distributions include the
8179         necessary headers. Also the necessary IIDs are now in mingw
8180         headers/libraries, and own definitions unnecessary.
8181
8182         More hacking on OLE2 DND, still doesn't work though, and thus
8183         ifdeffed out.
8184
8185         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
8186         here, too.
8187
8188 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
8189
8190         * gdk/nanox/*: nano-X port work in progress.
8191         * gdk/simple.c: simple test for Gdk.
8192         * README.nanox: notes about the port: read this first!
8193         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
8194         with nano-X.
8195
8196 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
8197
8198         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
8199         gdk_window_clear() into common code, implement in terms of
8200         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
8201         not redirected to the backing rectangle.
8202
8203 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
8204
8205         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
8206         EXTRA_DIST. It does not work well when the file that
8207         everything depends on is not in the tarball.
8208
8209 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
8210
8211         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
8212         with recursion where process_updates() is called from
8213         an expose handler. (GtkTextView is highly broken in
8214         doing this, but it should work, so it is a nice test
8215         case.)
8216
8217 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8218
8219         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
8220         handle the case where updates are queued during processing of
8221         updates.
8222
8223 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
8224
8225         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
8226         window is on gdk_display - use that instead of segfaulting.
8227
8228 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
8229
8230         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
8231         broken and require an empty arg, give it to them.
8232
8233 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
8234
8235         * gtk/gtklabel.h: indentation fixes.
8236
8237 2000-05-02  Tor Lillqvist  <tml@iki.fi>
8238
8239         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
8240         draw too narrow or too low arcs, they seem to fail, at least with
8241         some display drivers.
8242
8243         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
8244
8245         Large changes to the Win32 backend, partially made necessary by
8246         the changes to the backend-independent internal
8247         structures. Attempts to implement similar backing store stuff as
8248         on X11. The current (CVS) version of the Win32 backend is *not* as
8249         stable as it was before the no-flicker branch was merged. A
8250         zipfile with that version is available from
8251         http://www.gimp.org/win32/. That should be use by "production"
8252         code until this CVS version is usable. (But note, the Win32
8253         backend has never been claimed to be "production quality".)
8254
8255         * README.win32: Add the above comment about versions.
8256
8257         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
8258
8259         * gdk/gdk.def: Update.
8260
8261         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
8262         presumably be replaced by some more better mechanism as 1.4 gets
8263         closer to release shape.
8264
8265         * gdk/makefile.{cygwin,msc}: Update.
8266
8267         * gdk/win32/*.c: Correct inclusions of the backend-specific and
8268         internal headers. Change code according to changes in these. Use
8269         gdk_drawable_*, not gdk_window_* where necessary.
8270
8271         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
8272         our old DND.
8273
8274         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
8275         to interpret single characters as UTF-8. Thanks to Hans Breuer.
8276         Use correct function name in warning messages.
8277
8278         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
8279         GSourceFuncs gdk_event_prepare and gdk_event_check.
8280         (gdk_event_get_graphics_expose): Do implement, use
8281         PeekMessage. Thanks to Hans Breuer.
8282         (event_mask_string): Debugging function to print an GdkEventMask.
8283         (gdk_pointer_grab): Use it.
8284
8285         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
8286         (old) book I used claimed was Hangul actually is CJK Unified
8287         Ideographs Extension A. Also, Hangul Syllables were missing.
8288         Improve logging.
8289
8290         * gdk/win32/gdkgc-win32.c: Largish changes.
8291
8292         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
8293         g_win32_getlocale() from GLib, and not setlocale() to get current
8294         locale name.
8295
8296         * gdk/win32/gdkprivate-win32.h
8297         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
8298         gdkwin32.h, similarily as in the X11 backend.
8299
8300         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
8301         assignment was used instead of equals in if test. Thanks to Hans
8302         Breuer.
8303
8304         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
8305         the X11 version.
8306
8307         * gdk/win32/makefile.{cygwin,msc}
8308         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
8309         path to the Win32 headers that works also with the mingw compiler.
8310
8311         * gtk/gtkstyle.c: Include <string.h>.
8312
8313 2000-04-26  Havoc Pennington  <hp@redhat.com>
8314
8315         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
8316         replacing the broken gtk_label_get ()
8317
8318 2000-04-15  Havoc Pennington  <hp@pobox.com>
8319
8320         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
8321         this keeps scanner scripts from getting confused.
8322
8323         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
8324         data, rather than void
8325
8326 2000-04-15  Tor Lillqvist  <tml@iki.fi>
8327
8328         * gtk/gtkclist.c (gtk_clist_motion)
8329         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
8330         with is_hint FALSE, get x and y from the event. They used to be
8331         used uninitialised. The Win32 backend never sends motion events
8332         marked as hints. This for instance fixes the annoying file and
8333         font selector behaviour in the Win32 version.
8334
8335 2000-04-14  Tor Lillqvist  <tml@iki.fi>
8336
8337         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
8338         gtk_private_n_signals variables, they are used by some software,
8339         sigh.
8340
8341         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
8342         installation directory from the Registry, where the installer
8343         should have put it.
8344
8345 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
8346
8347         * gdk/x11/Makefile.am: Fix problem with installation directory for
8348         gdkx.h
8349
8350         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
8351         <mrcooger@cyberverse.com> so that when selecting menus with the
8352         mouse, the first item will not be selected, but when selecting
8353         with an accelerator, or navigating left-right on a menubar with
8354         the menus popped up, the first item will be selected.
8355
8356 2000-04-05  Dan Damian  <dand@dnttm.ro>
8357
8358         * configure.in: Added "ro" to ALL_LINGUAS.
8359
8360 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
8361
8362         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
8363         indentation.
8364
8365         * Makefile.am (EXTRA_DIST): Fix typo.
8366
8367         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
8368         to catch gdkconfig.h
8369
8370         * gtk/gtkitemfactory.c: Added FIXME.
8371
8372 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
8373
8374         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
8375         s/return_if_fail/return_val_if_fail/g and add a return value.
8376
8377 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
8378
8379         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
8380         merge slipup.
8381
8382         * gdk/gdkinput.h: Fix missing line from merge.
8383
8384 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
8385
8386         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
8387         instead of gdkprivate.h.
8388
8389 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
8390
8391         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
8392         parent class to correctly be GtkDialogClass.
8393
8394 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
8395
8396         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
8397         toplevel windows and their immediate children by their parents,
8398         since the size of toplevel windows is out of our immediate
8399         control and we don't get any real benefit from trying to track
8400         this size for clipping.
8401
8402         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
8403         for input_only windows.
8404
8405         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
8406         to fix some hacks and make sure that we don't try to set the
8407         background of input only windows.
8408
8409 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
8410
8411         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
8412         the _really_ internal stuff, and leave gdkprivate.h for the fake private
8413         stuff that we've traditionally exposed.
8414
8415         * gdk/**.c: Use gdkinternals.h where appropriate.
8416
8417         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
8418         not include gdkprivate-x11.h, move all stuff of conceivable public
8419         interest into gdkx.h; keep all really private stuff in
8420         uninstalled header gdkprivate-x11.h.
8421
8422         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
8423         image->image_put on windows through a new function _gdk_window_draw_image()
8424         to allow us to do backing store for images. (Sort of ugly)
8425
8426         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
8427         contexts locally so that we can offset them properly when drawing 
8428         onto backing pixmaps.
8429
8430         * gdk/gdkinput.h: Reindented
8431
8432         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
8433         pixmap or color for the window, so we can properly initialize
8434         our double-buffer pixmaps, and also so that we temporarily set
8435         a background of None while scrolling.
8436
8437         * gdk/gdkregion.h: Revise region boolean operators to have an
8438         interface that is actually convenient - switch from creating new
8439         regions on every op, to "methods" that modify existing regions
8440         (A = A OP B). 3 argument forms which allow dest == src, would also
8441         be possible, but the current interfaces seem to map nicely
8442         onto what needs to be done. (There is quite a lot of region
8443         code in GDK now.)
8444
8445         * gdk/gdkregion.h: Add constructor from rectangle and a copy
8446         operator.
8447
8448         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
8449         gdkpoly-generic.h: Copy region code from Xlib, switch it over
8450         to 32 bit coordinates, modify it to be mostly GTK+ style
8451         and to have interfaces that match gdkregion.h.
8452
8453         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
8454         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
8455         create a backing pixmap and redirect all drawing to
8456         that backing pixmap until a matching gdk_window_end_paint().
8457
8458         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
8459         Create a special drawable class for GtkWindow's that 
8460         redirects the drawing to the backing pixmap as necessary
8461         and then calls the real operations in _gdk_windowing_window_class.
8462
8463         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
8464         Store invalid region for each window. Generate expose events for invalid
8465         region in an idle. This replaces both the expose compression
8466         and the redrawing queuing in GTK+. It is both more efficient and
8467         simpler than either one individually and far more so then the
8468         combination.
8469
8470         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
8471         Emulate 32 bit coordinates for windows with 16 bit coordinates
8472         by offsetting drawing, guffaw scrolling techniques and
8473         mapping/unmapping child windows as necessary.
8474
8475         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
8476         where, when invalid regions are processed, the region is stored,
8477         and if expose events come in that are detectably duplicate
8478         the processed exposes (by comparison of event serial numbers),
8479         the stored region is subtracted out of those exposes.
8480
8481         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
8482         regions newly exposed when scrolling or resizing windows.
8483         This, combined with forcing processesing of queued invalidated
8484         regions, gives nice flicker-free scrolling.
8485
8486         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
8487         invalidated regions after every scroll.
8488
8489         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
8490         emulation in GDK. Its, for all practical purposes just a
8491         GtkViewport/GtkFixed hybrid now.
8492
8493         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
8494         (16-bit) structures as necessary instead of just casting.
8495
8496         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
8497         in terms of the structures from gdkregion-generic.c, using appropriate
8498         offsets from GDK to X11 coordinates. Cache clip mask and
8499         origin and ts origin locally and only flush to the server
8500         when drawing, to avoid constantly setting and resetting these
8501         values when offsetting GC's for scrolling and backing pixmaps.
8502
8503         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
8504
8505         * gtk/gtkcontainer.c: Call process_all_updates at end
8506         of resizing to reduce flicker. (Avoids having redraw
8507         lag arbitrarily behind resize under some circumstances)
8508
8509         * gtk/gtkentry.c: Remove old backing store code, and simply take
8510         advantage of the new backing store capabilities of GDK.
8511
8512         * gtk/gtkmain.c: Simple implementation of widget backing
8513         store - simply push a paint while handling each expose.
8514         (Should really be configurable widget for widget.)
8515         
8516         * gtk/gtkwidget.c: Remove all the old complicated redraw
8517         code, and simply invalidate the GDK windows from
8518         gdk_window_queue_clear(), etc. (Sigh, so much carefully
8519         debugged complexity ... gone to the winds.)
8520
8521         Remove all the code for suppressing expose events while
8522         resizes are pending; this isn't needed since the invalid
8523         areas won't be processed until after the resizes are
8524         processed, since they are in a lower priority idle.
8525
8526 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
8527
8528         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
8529         and height of dest rectangle for non-intersecting rectangles.
8530
8531 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
8532
8533         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
8534         for GdkRectangle.
8535
8536 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
8537
8538         * gdk/gdk{events,image,private,types,window}.h
8539          gdk/x11/gdkinputprivate.h: Change all coordinates
8540          from int16 to int. Also, Change width and height from
8541          unsigned to signed to avoid all the stupid C 
8542          signedness bugs.
8543
8544 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
8545
8546         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
8547         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
8548         Add some more detailed checking.
8549
8550         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
8551         New function to retrieve the depth of a drawable.
8552
8553         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
8554         field, reorder fields to save memory. 
8555
8556 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
8557
8558         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
8559         of the background image instead of scaling the background down to
8560         a line.
8561
8562         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
8563         which temporarily set slider to wrong size.
8564
8565         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
8566         queue_clear().
8567
8568 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
8569
8570 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
8571
8572         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
8573
8574 2000-03-17  Tor Lillqvist  <tml@iki.fi>
8575
8576         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
8577         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
8578
8579         * gdk/win32/gdkfont-win32.c
8580         * gdk/win32/gdkproperty-win32.c
8581         * gdk/win32/gdkselection-win32.c
8582         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
8583         now declared such.
8584
8585 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
8586
8587         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
8588
8589 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
8590
8591         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
8592         is called without trapping X errors.
8593
8594 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
8595
8596         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
8597         way into the fontset lists.
8598
8599 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
8600
8601         * gtk/gtkthemes.h: add extern "C" scope.
8602
8603 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
8604
8605         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
8606         to make appends to the list constant. (gtk-guy-990901-0.patch)
8607
8608 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
8609
8610         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
8611         for the typename hash table.
8612
8613 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
8614
8615         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
8616         to make sure we never divide by zero. 
8617         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
8618
8619 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
8620
8621         * gtk/gtkfontsel.c: Apply patch from
8622         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
8623         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
8624
8625         Also, some cleanups in atom handling.
8626
8627 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
8628
8629         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
8630         not GtkWidget.
8631
8632 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
8633
8634         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
8635         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
8636         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
8637         more guint wrap-around bugs before going to bed.
8638
8639 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
8640
8641         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
8642         guint wrap arounds in allocation.width.
8643
8644         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
8645         process untill we fit the allocation given.
8646
8647 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
8648
8649         * gtk/gtkwidget.c:
8650         (gtk_widget_unrealize): guard widget access with ref/unref
8651         around signal emission.
8652         (gtk_widget_hide): same here, but also check its destroyed
8653         state before queueing a resize.
8654
8655 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
8656
8657         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
8658         of gtk_default_insensitive_bg as insensitive base color.
8659
8660         * gtk/gtktext.c (gtk_text_style_set): set the background color according
8661         to the widget's state.
8662         (gtk_text_realize): same here.
8663         (gtk_text_state_changed): same here.
8664         (draw_bg_rect): compare background color against base[] from
8665         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
8666
8667 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
8668
8669         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
8670         grabs are active, unless a delete event is send to the toplevel
8671         of the currently grab holding widget.
8672
8673 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
8674
8675         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
8676         debugging g_print's.
8677
8678 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
8679
8680         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
8681         ever make the scrolled-window requisition ever depend on the 
8682         visibility state of the scrollbars for the AUTOMATIC policy. 
8683         This breaks the GTK+ requisition model, and causes loops.
8684
8685 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
8686
8687         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
8688         the default font to avoid problems with XFree86-4.0 where the
8689         default charset is iso10646-1, not iso8859-1.
8690
8691 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
8692
8693         * acinclude.m4
8694         * config.guess
8695         * config.sub
8696         * ltconfig
8697         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
8698
8699         * gtk/Makefile.am: minor cosmetic consistency tweak
8700
8701 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
8702
8703         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
8704         the activate_time to 0, so that we handle a quick
8705         press/release press/release properly and don't suppress
8706         the second release. (Red Hat bug #7545)
8707
8708 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
8709
8710         * gtk/gtkctree.c (row_delete):
8711         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
8712         bugs with destruction notifier, *always* update internal
8713         structures *before* calling user code.
8714
8715 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
8716
8717         A few more fixes for bug #5487, #2051, #2677.
8718         * gtk/gtkclist.c : 
8719         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
8720         not GDK_BUTTON_PRESS.
8721         (resync_selection): resync only if selection_mode is
8722         GTK_SELECTION_EXTENDED
8723         * gtk/gtkctree.c (resync_selection): same here
8724
8725 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
8726
8727         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
8728         gdk_drag_get_selection() and gtk_menu_detach().
8729
8730         [ From Jeroen Ruigrok/Asmodai ]
8731
8732 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
8733
8734         * gtk/gtknotebook.c (gtk_notebook_size_request): 
8735         page->tab_label can be NULL.
8736
8737 2000-01-25  Havoc Pennington  <hp@pobox.com>
8738         
8739         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
8740         arg is boolean
8741
8742         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
8743
8744         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
8745
8746         * gdk/gdkproperty.c (gdk_property_get): return boolean
8747
8748         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
8749
8750         * gdk/gdkim.c (gdk_im_ready): return boolean
8751
8752         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
8753
8754         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
8755         glib clash, should fix glib)
8756
8757         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
8758         (gdk_get_show_events): return gboolean, and canonicalize 
8759         to TRUE/FALSE
8760
8761         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
8762         colormap is private
8763         (gdk_colors_alloc): gboolean whether to be contiguous
8764         (gdk_color_equal): return gboolean since we are a predicate
8765         and not a qsort() (this looks semi-wrong due to glib breakage,
8766         IMO glib should be fixed)
8767         
8768         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
8769         (gdk_get_use_xshm): return gboolean
8770         (gdk_pointer_is_grabbed): return gboolean
8771
8772         * gdk/gdk.h: Change prototypes to match all the above changes,
8773         and re-run egtk-format-protos as required.
8774
8775 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
8776
8777         * gtk/gtkctree.c (resync_selection): 
8778         * gtk/gtkclist.c (resync_selection):
8779
8780         Return immediately if clist->drag_pos < 0. This is a workaround
8781         for the corrupt state that the clist gets into when a
8782         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
8783
8784         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
8785         
8786         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
8787         variable from recent commit.
8788
8789 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
8790
8791         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
8792
8793 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
8794
8795         * gtk/Makefile.am: prefix all autogenerated source that get build in
8796         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
8797         in builddir. since we subsequently cd into srcdir for autogeneration,
8798         the paths have to be stripped from the target file names, thusly we
8799         use $(@F) as target names now.
8800         put a comment about configure.in's --disable-rebuilds option,
8801         which can be used for non-writable source directories, for development
8802         setups though, srcdir has to be *writable*.
8803
8804 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
8805
8806         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
8807           Finish the job of allowing event to be NULL.
8808           (Fixes bug #4283, reported by Chris Blizzard)
8809
8810         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
8811           things so that the cursor appears on screen, properly
8812           take into account INNER_BORDER.
8813           (Fixes bug #4754, reported by Antonio Campos)
8814
8815 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
8816
8817         * gtk/gtknotebook.c (gtk_notebook_map): Don't
8818           show the tab_label unless it itself is visible.
8819
8820           gtk/gtknotebook.c (gtk_notebook_size_request):
8821           Do a better job of making sure that the visibility
8822           of the tab label corresponds to whether it should
8823           be mapped or not.
8824
8825 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
8826
8827         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
8828           Use the requisition, not the allocation, since the
8829           allocation has not necessarily been computed yet.
8830           (Pointed out by Eugene Osintsev)
8831
8832 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
8833
8834         * gtk/gtkstyle.c (gtk_style_new): Dont' set
8835           style/base[GTK_STATE_INSENSITIVE] both to
8836           gtk_default_insensitive_bg!
8837           (Bug #2187, reported by Jonathan Blandford)
8838
8839         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
8840           Add Alt_L, Alt_R to list of invalid accelerators.
8841           (Bug #3736, reported by Vlad Harchev)
8842
8843 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
8844
8845         * gtk/gtkfilesel.c (open_ref_dir): Fix several
8846         bugs which occured after an attempt to open 
8847         invalid home directory left cmpl_state->reference_dir == NULL.
8848
8849          - completion on files in home directory didn't work
8850          - completion on an empty string caused  segfault
8851
8852          (Bug #3678, reported by Steve Ratcliffe)
8853
8854         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
8855         cut and paste error that was causing scales to
8856         be incorrectly positioned.
8857         (Bug #2956,
8858          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
8859
8860 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
8861
8862         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
8863         when checking for dcgettext, if we've found we needed
8864         it for dgettext.
8865 +
8866 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
8867
8868         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
8869         queue_clear on NO_WINDOW widgets during a reparent,
8870         since at that point the window and widget heirarchies
8871         are out of sync. This stops crashing in some cases
8872         (the scrolled window reparent test, for instance), and
8873         _probably_ won't cause drawing errors.
8874
8875         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
8876         test do what it was supposed to do and be robust against
8877         window closings, etc. (Bug #2443)
8878
8879 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
8880
8881         * gtk/gtkentry.c: Fix return values on mouse events.
8882         (Bug #2686, Sky <seb_sky@yahoo.com>)
8883
8884         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
8885         (pointed out by George Lebl)
8886
8887         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
8888         (From Ettore Perazzoli  <ettore@helixcode.com>)
8889  
8890 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
8891
8892         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
8893         clicks between rows or outside calender area correctly.
8894         (Patch from Damon Chaplin)
8895
8896         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
8897         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
8898           Call destroy function when overwriting existing data. 
8899           (Pointed out by Damon Chaplin)
8900
8901 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
8902
8903         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
8904           which was causing problems on various systems with Xmu.
8905           This hasn't been needed for a very long time.
8906           (Fixes #1185 3167)
8907
8908 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
8909
8910         * gdk/gdki18n.h: Include <ctype.h> when defining
8911           gdk_isw* in terms of is* as a fallback.
8912           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
8913
8914 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
8915
8916         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
8917           realize the widget when it is size allocated!
8918           (old, old bug)
8919
8920         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
8921           Removed unused call to gdk_window_get_size() that
8922           showed up when the above was fixed.
8923
8924 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
8925
8926         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
8927           fix up widget->window when the widget is a
8928           NO_WINDOW container widget.
8929
8930 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
8931
8932         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
8933           to account for the fact that feof() does _not_ 
8934           return TRUE on errors, and thus avoid infinite loops
8935           when trying to use gdk_pixmap_create_from_xpm()
8936           on unreadable values.
8937
8938 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
8939
8940         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
8941
8942 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
8943
8944         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
8945           gdk_gc_set_dashes to take gint8 instead of gchar to
8946           make it clearer that it is _not_ a NULL terminated string.
8947
8948         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
8949           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
8950           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
8951           arguments.
8952
8953 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
8954
8955         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
8956         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
8957         background size relative to our allocation, guard against small
8958         allocations, we may have not yet been size allocated.
8959
8960 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
8961
8962         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
8963         not just version == 3. We implement all 3 + most of 4 - 
8964         (we don't support matching text/plain;charset=iso-8859-1
8965         to a dest that expects text/plain). We'll still advertise
8966         3 to be safe, but any client implementing version >= 3
8967         must interoperate with 3.
8968         
8969 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8970
8971         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
8972         background and gc members, add a warning in gtk_tooltips_set_color()
8973         indicating that this function is deprecated.
8974
8975 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
8976
8977         * docs/gtkfaq.sgml: FAQ Update:
8978           - Minor cleanups (Emmanuel, me)
8979           - New questions:
8980                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
8981                 How can I retrieve the text from a GtkMenuItem? (timj)
8982                 How do I validate/limit/filter the input to a GtkEntry? (me)
8983                 Memory does not seem to be released when I free the list
8984                         nodes I've allocated (timj)
8985
8986 2000-03-07  Tor Lillqvist  <tml@iki.fi>
8987
8988         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
8989         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
8990         for which it is no use to call GetLastError onWin9x.
8991         (gdk_other_api_failed) New function, for general error
8992         reporting without calling GetLastError.
8993         (gdk_win32_api_failed) OTOH, this function always calls
8994         GetLastError. (gdk_win32_last_error_string) Remove this function,
8995         GLib has the equivalent now.
8996
8997         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
8998         call them with function name, file name and line number in the
8999         arguments.
9000
9001         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
9002         functions.
9003         
9004         * gtk/gtk.def: Add some missing entry points.
9005
9006         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
9007         gtk_paned_set_gutter_size, which don't exist any longer, as void.
9008         
9009         Fixes by Hans Breuer:
9010
9011         * gdk/makefile.msc: Update for debugging.
9012
9013         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
9014         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
9015         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
9016         in the dash_list.
9017
9018         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
9019         the x11 backend.
9020
9021         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
9022
9023         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
9024
9025 2000-03-04  Tor Lillqvist  <tml@iki.fi>
9026
9027         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
9028         just pixel value of background colour.
9029
9030         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
9031         containing code snippet previously duplicated in a couple of
9032         places.
9033         
9034         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
9035         gdk_colormap_color.
9036
9037         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
9038         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
9039         events for autorepeated Shift, Control and Alt keys. Use
9040         gdk_colormap_color.
9041
9042         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
9043         pointer is inside the window the cursor of which we are setting,
9044         call SetCursor immediately.
9045
9046         * gdk/win32/makefile.cygwin
9047         * gtk/makefile.cygwin: If we don't have the build number stamp
9048         file, use zero.
9049
9050         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
9051         gtk_paned_set_gutter_size as empty.
9052
9053         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
9054         
9055 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
9056
9057         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
9058           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
9059           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
9060           docs/gtk_tut.sgml docs/gtk.texi TODO:
9061
9062           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
9063
9064 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
9065
9066         * gtk/gtkcalendar.c: Implement num_marked_dates,
9067           and don't emit mutiple day_selected signals on
9068           month_prev.
9069
9070 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
9071
9072         * docs/make-todo (lineno): let title and logo be configurable so
9073         that GNOME can use this script too.
9074
9075         * TODO.xml: added logourl and a title
9076
9077 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
9078
9079         * TODO.xml: Added some UI items, and an explanatory
9080         comment at the top of the file.
9081
9082 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
9083
9084         * TODO.xml: some updates, added abunch of new entries.
9085         a note for those fiddeling with this file, when done
9086         with it, invoke:
9087         $ ./docs/make-todo TODO.xml >/dev/null
9088         and correct output errors before comitting changes.
9089
9090 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
9091
9092         * TODO.xml: Added XML-structured TODO file.
9093         * docs/make-todo: python script to turn TODO.xml into
9094           pretty XML output. 
9095
9096 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
9097
9098         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
9099         the function to let it draw the seven dots, instead of the old,
9100         much maligned, method.
9101         (draw_dot): New function to draw a dot.
9102
9103         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
9104         to draw the handle inside the border width as opposed to outside.
9105         Use paint function instead of gdk_draw_point.
9106
9107         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
9108         to draw the handle inside the border width as opposed to outside.
9109         Use paint function instead of gdk_draw_point.
9110
9111         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
9112         Change indenting to be more GTK like.
9113
9114 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
9115
9116         * docs/gtk_tut.sgml: New section on GtkCalendar
9117         * examples/calendar: Update example code
9118
9119 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
9120
9121         * docs/gtkfaq.sgml: FAQ Update
9122
9123 2000-02-19  Anders Carlsson  <andersca@gnu.org>
9124
9125         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
9126         to prevent the scroll event to be propagated upwards.
9127
9128 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
9129
9130         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
9131         OwnerGrabButtonMask from button entries for
9132         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
9133
9134         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
9135         to the event mask (which will result in button/press release
9136         being added to the event mask on Unix) so scrolling works
9137         for layouts in scroll windows.
9138
9139         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
9140
9141         Patch from Anders Carlsson  <andersca@gnu.org> to add
9142         a scroll event.
9143
9144         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
9145         scrolling to the "Test Scrolling" part of testgtk.
9146  
9147         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
9148  
9149         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
9150         it against GDK_SCROLL.
9151  
9152         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
9153         way of mouse wheel scrolling.
9154  
9155         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
9156  
9157         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
9158  
9159         * gtk/gtkmain.c: Removed previous mouse wheel hack.
9160  
9161         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
9162         gdk_event_mask_table.
9163  
9164         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
9165         GdkEventScroll handler.
9166  
9167         * gdk/gdkevents.h: Added GdkEventScroll structure.
9168  
9169 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
9170
9171         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
9172         and Anders Carlsson to change the Paned widgets so that they
9173         can be dragged from anywhere along the length. Also change
9174         the way that this is drawn to make this apparent.
9175
9176         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
9177         from George Lebl to check that option_menu->menu is present
9178         before getting history.
9179
9180 2000-02-14  Tor Lillqvist  <tml@iki.fi>
9181
9182         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
9183         before the assertion for non-NULL segment list.
9184
9185         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
9186         Seems that pattern brushes *must* be 8x8 pixels! At least on my
9187         machine, but it might be display driver dependent. Sigh, so make
9188         sure the stipple is that size. Does Windows suck or what?
9189
9190         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
9191         places.
9192
9193 2000-02-13  Havoc Pennington  <hp@pobox.com>
9194
9195         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
9196         refcount to 1
9197         (gdk_cursor_new): init refcount to 1
9198
9199         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
9200
9201 2000-02-13  Tor Lillqvist  <tml@iki.fi>
9202
9203         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
9204         so that we don't have to do unnecessary settings to the HDC.
9205
9206         * gdk/win32/gdkdrawable-win32.c
9207         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
9208         gdk_gc_predraw.
9209
9210         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
9211         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
9212         GDI paths, call WidenPath to get the outline of the stroken path,
9213         and then fill the outline (with the brush that was built from the
9214         stipple).
9215
9216         * gdk/win32/gdkgc-win32.c: Factor out common code from
9217         _gdk_win32_gc_new and gdk_win32_gc_set_values into
9218         gdk_win32_gc_values_to_win32values. Use correct colour for
9219         SetBkColor() (Until now the code actually used a random colour in
9220         the call to SetBkColor()... but that didn't show up as not many
9221         GDI APIs use the background colour. Pattern (opaque stippled)
9222         brushes do.)
9223
9224         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
9225         gdk_win32_api_failed): New functions for error logging.
9226
9227         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
9228         WIN32_API_FAILED to call them, passing function or file name and
9229         line number.
9230
9231         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
9232
9233         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
9234         GdkColor for foreground and background in GdkGCWin32Data.
9235
9236         * gdk/makefile.cygwin: Link in the resource object separately.
9237
9238         * gdk/win32/rc/gdk.rc
9239         * gtk/gtk.rc (New file)
9240         * gdk/win32/makefile.cygwin
9241         * gtk/makefile.cygwin: Update build number in DLLs automatically,
9242         as in GLib.
9243
9244 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
9245
9246         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
9247         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
9248         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
9249         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
9250         parameters given and cursor->ref_count. coding style fixups.
9251
9252         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
9253         not GtkWidget.
9254         
9255         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
9256         fix up widget macros and add _GET_CLASS() variant.
9257         
9258         * gtk/*.c: some GtkType fixups.
9259
9260 2000-02-09  Tor Lillqvist  <tml@iki.fi>
9261
9262         * gdk/win32/gdkproperty-win32.c
9263         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
9264         were reversed.
9265
9266 2000-02-04  Tor Lillqvist  <tml@iki.fi>
9267
9268         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
9269         g_filename_to_utf8 to convert the font names Windows gives us from
9270         whatever is the default codepage to UTF-8.
9271         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
9272         in the other direction.
9273
9274         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
9275         error in debugging output.
9276
9277 2000-02-02  Tor Lillqvist  <tml@iki.fi>
9278
9279         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
9280         and height parameters to gdk_window_clear_area(). Not minus one.
9281
9282 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
9283
9284         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
9285         checks if the widget passed to gtk_drag_get_data() was not the
9286         dest widget.
9287
9288 2000-02-01  Tor Lillqvist  <tml@iki.fi>
9289
9290         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
9291         g_filename_from_utf8 functions (which were added a moment ago to
9292         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
9293         size buffers.
9294
9295         gtk_file_selection_get_filename returns the filename in the C
9296         runtime encoding. It calls g_filename_from_utf8, but copies the
9297         returned string to a static buffer, which is returned. I think
9298         this is better than returning the result from g_filename_from_utf8
9299         directly, which would mean all apps that use it would have to free
9300         the return value. Or should this function care about this issue at
9301         all? Maybe a new function with clearly defined semantics.
9302
9303         * gtk/gtkfilesel.h: Add comment about
9304         gtk_file_selection_get_filename returning the filename in the C
9305         runtime's encoding.
9306
9307         * README.win32
9308         * gdk/gdk.def
9309         * gdk/makefile.{cygwin,msc}
9310         * gtk/gtk.def: Updates.
9311
9312         * gdk/gdkcursor-win32.c: Initialise refcount.
9313
9314 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
9315
9316         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
9317
9318 2000-01-30  Havoc Pennington  <hp@pobox.com>
9319
9320         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
9321         destroy
9322
9323         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
9324
9325         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
9326         implemented in platform-specific code
9327
9328         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
9329
9330         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
9331         underscore in front
9332
9333         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
9334         put an underscore in front
9335
9336         * gdk/gdkcursor.c: new file, implements
9337         gdk_cursor_ref/gdk_cursor_unref
9338
9339         * gdk/gdkcursor.h: Refcount GdkCursor
9340
9341         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
9342
9343 2000-01-29  Tor Lillqvist  <tml@iki.fi>
9344
9345         * gdk/gdkwindow.h
9346         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
9347
9348 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
9349
9350         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
9351         structures to properly inherit from GtkWidget not GtkBin.
9352
9353 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
9354
9355         * gtk+.spec.in: Added lib/gtk+/include/* to %files
9356         (bug #5178 - Peter Wainright)
9357         
9358         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
9359         so that it will be installed.
9360         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
9361
9362 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
9363
9364         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
9365         for the GtkStyleClass vtable const.
9366
9367         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
9368         take a const string argument like GtkTranslateFunc. This will
9369         require changes in use code.
9370
9371 2000-01-19  Tor Lillqvist  <tml@iki.fi>
9372
9373         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
9374         semantics (to mimic the X11 backend, which just calls XClearArea)
9375         is to check for zero width (and height), and in that case use the
9376         window's width minus x (height minus y). This fixes for instance
9377         some redraw problems with gtkclist, which were easily noticeable
9378         in the gtk file selection widget.
9379
9380         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
9381         windows.
9382
9383 2000-01-13  Tor Lillqvist  <tml@iki.fi>
9384
9385         * configure.in
9386         * gdk/Makefile.am
9387         * gdk/x11/Makefile.am
9388         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
9389         (bug #5177).
9390         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
9391         out later.
9392
9393 2000-01-09  Tor Lillqvist  <tml@iki.fi>
9394
9395         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
9396         WM_MOVE for iconified or invisible windows. This fixes various
9397         problems when minimising windows. Thanks to Bernd Herd.
9398
9399 2000-01-05  Tor Lillqvist  <tml@iki.fi>
9400
9401         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
9402         backend's draw_lines method, not draw_points.
9403
9404 2000-01-02  Tor Lillqvist  <tml@iki.fi>
9405
9406         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
9407         before Owen's reorganisation: Don't have queued_events and
9408         queued_tail statics in this file, but use gdk_queued_events and
9409         gdk_queued_tail. This makes exposure event compression work again.
9410
9411         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
9412         seem to be needed?
9413
9414 1999-12-30  Tor Lillqvist  <tml@iki.fi>
9415
9416         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
9417         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
9418         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
9419         doesn't do anything.
9420
9421         * gdk/gdk.def: Add gdk_xid_table_insert.
9422
9423         * gdk/win32/gdkprivate-win32.h
9424         * gdk/win32/gdkevents-win32.c
9425         * gdk/win32/gdkinput-win32.c
9426         
9427         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
9428         extension_events field in the GdkWindowWin32Data struct. Use only
9429         the extension_events field in GdkWindowPrivate. Previously one was
9430         set, and the other one tested, which broke tablet
9431         functionality. Thanks to Keishi Suenaga for pointing this out.
9432
9433 1999-12-18  Tor Lillqvist  <tml@iki.fi>
9434
9435         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
9436         When handling a single character (text length == 1), don't handle
9437         it as if it was UTF-8.
9438
9439 1999-12-11  Tor Lillqvist  <tml@iki.fi>
9440
9441         * Makefile.am: Distribute README.win32.
9442         
9443         * gdk/Makefile.am
9444         * gdk/win32/Makefile.am: Distribute Win32 files.
9445
9446         * gdk/makefile.msc: New file.
9447
9448         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
9449         after label).
9450
9451         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
9452         gdk_error_code as GDKVAR, as they are referred outside GDK.
9453
9454         * gdk/win32/makefile.msc: Update.
9455
9456         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
9457         tweaks. Check only if at least one of those Unicode subrange bits
9458         we care for is set. If no code page bits are set, guess (wildly)
9459         based on the charset.
9460
9461         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
9462
9463         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
9464         non-NULL.
9465
9466         * gtk/gtkdnd.c
9467         * gtk/gtklayout.c
9468         * gtk/gtkplug.c
9469         * gtk/gtkselection.c
9470         * gtk/gtksocket.c
9471         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
9472         appropriate. There must be a cleaner way to handle this?
9473
9474         * gtk/gtkrc.c: Must include windows.h on Win32.
9475
9476         * gtk/testgtk.c: No need to include gdkx.h.
9477
9478         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
9479
9480 1999-12-07  Tor Lillqvist  <tml@iki.fi>
9481
9482         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
9483         the rbearing is set to the same as the width, but this should be
9484         fixed.
9485
9486 1999-12-06  Tor Lillqvist  <tml@iki.fi>
9487
9488         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
9489         function. If Windows doesn't tell us what Unicode subranges a font
9490         covers, guesstimate based on the codepages it covers. This will
9491         hopefully help those Windows versions or fonts that don't give us
9492         any useful Unicode subrange information with GetTextCharsetInfo.
9493         Call this function in gdk_font_load_internal.
9494
9495         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
9496         minor changes.
9497
9498 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
9499
9500         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
9501         New function, long needed.
9502
9503 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
9504
9505         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
9506         only_if_exists argument of gdk_atom_intern to
9507         bool.
9508
9509 1999-11-25  Tor Lillqvist  <tml@iki.fi>
9510
9511         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
9512         Fix two copy&paste errors.
9513
9514         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
9515         win32 has changed.
9516
9517         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
9518         GdkWin32SingleFont struct.
9519
9520         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
9521         subranges of loaded fonts. Clear font signature first, in case
9522         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
9523         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
9524
9525         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
9526         Unoffset clip region.
9527
9528 1999-11-23  Tor Lillqvist  <tml@iki.fi>
9529
9530         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
9531         event->any.window before calling filter functions.
9532
9533 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
9534
9535         * gtk/gtkgamma.h: Adapt cast macros to standard.
9536
9537 [ Merges from 1.2 ]
9538
9539 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
9540
9541         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
9542         If translation does not include a '/', use entire
9543         translation instead of crashing.
9544
9545 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
9546
9547         * docs/gtk_tut.sgml:
9548         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
9549
9550 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
9551
9552         * gtk/gtkselection.c (gtk_target_list_remove): Use
9553         g_list_remove_link, not g_list_remove.
9554
9555         [ From Geert Bevin <gbevin@thunderstorms.org> ]
9556         
9557 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
9558
9559         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
9560         statement upon unselection (how the heck did that slip in?).
9561
9562 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
9563
9564         * gtk/gtktext.c (gtk_text_freeze): 
9565         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
9566         in frozen state (and aparently crashes). patch provided by Anders
9567         Melchiorsen <and@kampsax.dtu.dk>.
9568
9569 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
9570
9571         * fix insensitive default/focus widget activation,
9572         reported by Matt Goodall <mgg@isotek.co.uk>.
9573
9574         * gtk/gtkwindow.c (gtk_window_key_press_event): 
9575         (gtk_window_activate_default):
9576         (gtk_window_activate_focus):
9577         return handled=FALSE for actiavtion of insensitive default
9578         widgets. return handled=TRUE for activation of insensitive
9579         focus widgets. don't activate in either case.
9580
9581 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
9582
9583         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
9584         and $glib_cflags to match library order and in the
9585         theory that an old version of GLib is more likely to
9586         be in the include directory for X then vice-versa.
9587         (Bug #2776)
9588
9589 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
9590
9591         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
9592         to determine the locale for fontsets, not LC_MESSAGES;
9593         the user may want English messages with a handling
9594         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
9595         will still be broken) (Bug #2891)
9596
9597 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
9598
9599         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
9600
9601 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
9602
9603         * gtk/gtkrc.ko: Changed the Korean default fontset.
9604
9605 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
9606
9607         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
9608         where when scrolling to the left or top double exposes
9609         were done, causing major slowdowns.
9610
9611 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
9612
9613         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
9614         names to lowercase and alphanumeric, before looking
9615         them up.
9616
9617         * gtk/Makefile.am: Install codeset variant gtkrc files
9618         with normalized names.
9619
9620 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
9621
9622         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
9623         popup menus when the menu is already visible, but its parent
9624         is still hidden, (happens after tornoff window got hidden).
9625
9626 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
9627
9628         * gtk/Makefile.am (install-data-local): Fix
9629         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
9630         deleted, causing error messages on install.
9631
9632 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
9633
9634         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
9635         the handle as well, since we now sometimes ignore
9636         exposes on the handle while resizing.
9637
9638 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
9639
9640         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
9641         extra g_free introduced in one of the last one or two 
9642         commits.
9643
9644 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
9645
9646         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
9647         consistent, put each style that a gtkrc.* file creates
9648         in a unique namespace, remove old files before installing.
9649
9650 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
9651
9652         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
9653         gtk_rc_init is called multiple times. (Yes, people who
9654         do that have bugs in their code.)
9655
9656 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
9657
9658         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
9659         Remove it since it's generated by the Makefile anyway
9660
9661 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
9662
9663         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
9664         device->info.axes for core pointer.
9665
9666 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
9667
9668         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
9669         idle_id, to deal with obsolete, broken C libraries.
9670
9671 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
9672
9673         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
9674         allocation->x/y twice!
9675
9676         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
9677         consistent with gtk_vscale_pos_trough().
9678
9679 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
9680
9681         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
9682         be queueing a resize on a toplevel container between
9683         the time we show it and when we map it. So, we need
9684         to test GTK_WIDGET_VISIBLE() for toplevels, and only
9685         use GTK_WIDGET_DRAWABLE() for child windows.
9686
9687 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
9688
9689         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
9690         (fixes bug #2144)
9691
9692 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
9693
9694         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
9695         container DRAWABLE (instead of VISIBLE), so we don't queue
9696         resizes on non-toplevel containers.
9697
9698 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
9699
9700         * gtk/gtkselection.[ch]: Make the data argument
9701         const guchar *.
9702
9703 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
9704
9705         * gtk/gtkwindow.c: Try to behave sensibly if 
9706         the focus widget is the window itself. (Should
9707         we allow this at all?)
9708
9709 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
9710
9711         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
9712         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
9713         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
9714         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
9715         in prototypes and implementations consistent (Tomas Ogren).
9716
9717         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
9718         before the widget is unparented (reported by damon).
9719
9720         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
9721         since we provide unsigned data anyways.
9722
9723 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
9724
9725         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
9726         the call to gtk_tooltips_layout_text() until later.
9727
9728         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
9729         Call gtk_widget_ensure_style() before using the style.
9730
9731 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
9732
9733         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
9734         for old widgets that don't propagate draws to all
9735         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
9736
9737 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
9738
9739         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
9740         for a redraw but just the widget that requested the resize.
9741
9742 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
9743
9744         * gtk/gtkcontainer.c: added new widget level method
9745         gtk_container_set_reallocate_redraws() and a GtkContainer flag
9746         reallocate_redraws : 1 to reflect the setting, exported this through
9747         the argument system as a boolean ::reallocate_redraws.
9748
9749         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
9750         on the widget because the allocation changes, do so as well for
9751         widget->parent if the parent has reallocate_redraws set to TRUE.
9752         with that containers requesting reallocation redraws get automatically
9753         redrawn if their children changed allocation (this unfortunately
9754         affects also other children that didn't change allocation, but we
9755         cannot work around that before 1.3).
9756
9757 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
9758
9759         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
9760         _and_ height are >0 (not _or_).
9761
9762         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
9763         instead of gtk_container_queue_resize(), which is a core gtk internal
9764         function (must have been on crack when i queued that).
9765
9766         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
9767         we can check more reliably if we want to discard expose events.
9768         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
9769         flag.
9770         
9771         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
9772         we simply trust these events. for deciding whether to discard exposes,
9773         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
9774         
9775 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
9776
9777         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
9778         queues of areas that are completely off screen.
9779
9780         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
9781         logic for handleboxes.
9782
9783         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
9784         check on width/height.
9785
9786 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
9787
9788         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
9789         we are fine with using $@ the way we do (if we actually encounter
9790         brokeness with $@ in VPATH builds because of additional path prefixes,
9791         we need to use $(@F) actually).
9792
9793 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
9794
9795         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
9796         short lived bugs, that would allow language bindings to do surgeries
9797         to our guts.
9798
9799 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
9800
9801         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
9802         where comparison was being done against an uninitialized
9803         value causing intermittant results depending on
9804         compiler flags. Also make it clearer that we aren't
9805         ever initializing the child as 0x0 (though this will
9806         be caught in gtk_widget_size_allocate())
9807
9808 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
9809
9810         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
9811         gtk_window_unset_transient_for() call after we do checks
9812         involving the old transient parent.
9813         [ From Lance Capser <lmc@cyberhighway.net> ]
9814
9815 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
9816
9817         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
9818         an empty file.
9819
9820 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
9821
9822         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
9823         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
9824
9825 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
9826
9827         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
9828         `$@' is valid only in the build dir, not after we've done 
9829         `cd $srcdir'.  Also use `test -f' instead of less portable
9830         `test -e'.
9831
9832 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
9833
9834         * gtk/gtktext.c (correct_cache_insert): Rewrite
9835          for simplicity, and hopefully correctness.
9836          (Fixes bug #1322, which was a segfault when
9837           on some insertions with the properties around
9838           the insertion set up just wrong.)
9839
9840         * gtk/gtktext.c (gtk_text_adjustment): When we receive
9841          a "changed" signal, clamp the new value to the adjustment
9842          bounds to avoid segfaulting if someone tries to change
9843          the adjustment to a bogus value. (Bug #1795)
9844
9845 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
9846
9847         * gtk/gtkmain.c: Ignore unexpected destroy notifies
9848         for children, for toplevel windows handle them
9849         like delete_event.
9850
9851         * gtk/gtkplug.c: Add an unrealize handler so that
9852         we unref plug->socket_window when we are done
9853         with it.
9854
9855 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
9856
9857         * gtk/gtktext.c (clear_area): Fix stupid signedness
9858          problem that was causing background to sometimes
9859          be misaligned.
9860
9861 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
9862
9863         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
9864         
9865         * gtk/gtkmenu.c (gtk_menu_position): Make
9866          sure we never position menus with negative x, y,
9867          since gtk_widget_set_uposition() can't handle that.
9868
9869         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
9870          Modify the positioning code a bit so that we always
9871          put the top-left corner onscreen. (This is for
9872          UI reasons, gtk_menu_position() now takes care of
9873          gtk_widet_set_uposition() brokeness.)
9874
9875 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
9876
9877         * gtk/Makefile.am: fixed up things for -jx, x > 1.
9878
9879 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
9880
9881         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
9882           RC style that is passed in. The lack of the ref
9883           before was a bug. If people worked around this
9884           bug, this will introduce a slight memory leak
9885           in their code. The code should typically look like:
9886
9887             rc_style = gtk_rc_style_new ();
9888             [...]
9889             gtk_widget_modify_style (widget, rc_style);
9890             gtk_rc_style_unref (rc_style);
9891
9892         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
9893           the style if it was already set.
9894
9895         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
9896           style if it was set before.
9897
9898 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
9899
9900         * gtk/testgtk.c (main): Add a check to see if we
9901           are being run from the correct directory and
9902           to quit nicely if we are not.
9903
9904         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
9905           static.
9906
9907 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
9908
9909         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
9910
9911         * gtk/gtkwindow.c:
9912         queue resizes unconditionally (gtk_widget_queue_resize will figure
9913         what to do if the window is not realized).
9914         (gtk_window_move_resize): only recenter the window
9915         for GTK_WIN_POS_CENTER_ALWAYS.
9916         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
9917         the same way as GTK_WIN_POS_CENTER.
9918
9919 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
9920
9921         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
9922         with (!(info->last_flags & GDK_HINT_POS)) instead of
9923         (!info->last_flags & GDK_HINT_POS).
9924
9925         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
9926         new_height unconditionally, because we use these values even if
9927         !default_size_changed && !hints_changed.
9928         comented the (default_size_changed || hints_changed) case with
9929         respect to resize rejects from the window manager.
9930
9931         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
9932         in the zvt condition hack, since this includes the window hints, set
9933         the hints after the handling_resize case.
9934
9935         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
9936         window is initially shown with to the geometry.
9937
9938 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
9939
9940         * gtk/gtkwindow.c (gtk_window_move_resize):
9941         s/size_changed/default_size_changed/g so i know what's
9942         really going on (frying brain on smaller flame now).
9943
9944 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
9945
9946         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
9947         we have size_changed upon handling_resize. this is a gross
9948         workaround for the broken zvt widget and should be removed in
9949         1.3 again (search for FIXME).
9950         Owen provided an accurate comment for this:
9951
9952         /* We could be here for two reasons
9953          *  1) We coincidentally got a resize while handling
9954          *     another resize.
9955          *  2) Our computation of size_changed was completely
9956          *     screwed up, probably because one of our children
9957          *     is broken. It's probably a zvt widget.
9958          *
9959          * For 1), we could just go ahead and ask for the
9960          * new size right now, but doing that for 2)
9961          * might well be fighting the user (and can even
9962          * trigger a loop). Since we really don't want to
9963          * do that, we requeue a resize in hopes that
9964          * by the time it gets handled, the child has seen
9965          * the light and is willing to go along with the
9966          * new size. (this happens for the zvt widget, since
9967          * the size_allocate() above will have stored the
9968          * requisition corresponding to the new size in the
9969          * zvt widget)
9970          *
9971          * This doesn't buy us anything for 1), but it shouldn't
9972          * hurt us too badly, since it is what would have
9973          * happened if we had gotten the configure event before
9974          * the new size had been set.
9975          */
9976
9977 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
9978
9979         * gtk/gtkrc.c: deal properly with the fact that RC
9980           style lists may include rc styles more than once.
9981
9982         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
9983           unused static function.
9984
9985         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
9986           stack of directories of RC files currently being
9987           parsed and implicitely add them to pixmap path.
9988           
9989           This fixes a bug where the directory would get
9990           appended then overwritten by pixmap_path declarations.
9991
9992           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
9993
9994         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
9995           theme's exit function. (Patch from Peter Wainwright,
9996           bug #1454)
9997
9998         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
9999           Add a destroy() handler to take care of removing
10000           group for menu item. (Fixes bug #1197)
10001
10002         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
10003           in warning message.
10004
10005 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
10006
10007         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
10008         roundtrip to figure window's width and height, since we know that
10009         anyways from widget->allocation.
10010
10011 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
10012
10013         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
10014           the hints after we request the new size.
10015
10016 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
10017
10018         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
10019           GTK_WIDGET_REALIZED() assertion - we can compute the
10020           hints before we are realized.
10021
10022         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
10023           hint changing so that we have a value of hints_changed
10024           when we decide whether to constrain the window size.
10025
10026         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
10027
10028         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
10029         change back to G_MAXINT.
10030
10031 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
10032
10033         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
10034         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
10035         contain uncluttered values.
10036         (gtk_window_compute_hints): simply assert that window is realized
10037         and that geometry_info is valid, since we rely on this anyways.
10038         (gtk_window_constrain_size): major cleanups to the code.
10039         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
10040         for the base size, instead of the minimums. use 32767 as max width
10041         and height (like in gtkwindow.c) instead of G_MAXINT.
10042
10043 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
10044
10045         * cleaned up the GtkContainer.need_resize flag handling mess, we
10046         only need to force resize requests when we were prematurely
10047         realized, or our widget tree was modified when we were temporarily
10048         hidden. handling these cases directly upon showing the window (i.e.
10049         while the GdkWindow is still unmapped) avoids the need to wait for
10050         a configure event response and therefore makes the GUI more snappier
10051         and avoids blank windows during the roundtrip.
10052
10053         * gtk/gtkwidget.c:
10054         (gtk_widget_hide): 
10055         (gtk_widget_show): don't queue resizes on toplevels, they know how
10056         to deal with matters.
10057
10058         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
10059         flag directly for not visible resize containers and spare us unecessary
10060         signal emissions.
10061
10062         * gtk/gtkwindow.c:
10063         (gtk_window_realize): if we need to enforce premature size allocation,
10064         queue a container resize so we are correctly resized later on.
10065         (gtk_window_init):
10066         (gtk_window_size_request):
10067         don't freak around with the ->need_resize flag,
10068         gtk_container_queue_resize() will care about that.
10069         (gtk_window_show):
10070         handle initial resizing issues here, we can handle matters better in
10071         this place, especially since we know that our GdkWindow is still
10072         unmapped.
10073         (gtk_window_move_resize):
10074         don't care about ->need_resize at all.
10075         handle size changes properly that occoured while we waited for a
10076         configure event.
10077
10078 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
10079
10080         * gtk/gtkwidget.c (gtk_widget_set_uposition):
10081         * gtk/gtkwindow.[hc] (gtk_window_reposition):
10082         Move the hint setting code from gtk_widget_set_uposition
10083         to here; set the hints so that we respect any previously
10084         set geometry hints.
10085
10086         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
10087         change the window hints here or move the window here,
10088         let that happen in gtk_window_move_resize().
10089
10090 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
10091
10092         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
10093         to already queued resizes (and therefore redraws) on a widget, check
10094         its anchestry as well.
10095
10096         * gtk/gtkcontainer.c:
10097         (gtk_container_queue_resize): clear resize widgets for resize
10098         containers before aborting prematurely. this is especially important
10099         for toplevels which may need imemdiate processing or their resize
10100         handler to be queued.
10101         (gtk_container_dequeue_resize_handler): added new internal function for
10102         gtkwindow.c.
10103
10104         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
10105         configure event, take possible changes in window position into account
10106         as well.
10107         if we request a new window size, queue up a resize handler that will
10108         last until the configure event response arrives.
10109         combined the ->need_resize case (initial show) with the general size
10110         (hints) changed case and added even more comments.
10111         if !auto_shrink, only revert to the old allocation if the new size
10112         is smaller than the current allocation.
10113
10114 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
10115
10116         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
10117                            gtk_window_set_geometry_hints
10118                            gtk_window_set_default_size):
10119         When hints are set, queue a resize so that the hints will
10120         be eventually reset on the toplevel.
10121
10122         * gtk/gtkwindow.c (gtk_window_show): Use
10123         gtk_window_compute_default_size(). Clear the need_resize flag
10124         on the initail map so that we don't unnecessarily trigger the
10125         resize code.
10126
10127         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
10128         into separate functions. Compare the hints we are setting
10129         with what we set last time so that we can accurately
10130         tell when we need to reset the hints.
10131
10132         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
10133         function to figure out the size from requisition
10134         and default_size.
10135
10136         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
10137         from fvwm to constrain a size to the geometry hints.
10138
10139         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
10140         to compare two sets of geometry hints.
10141
10142         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
10143         from gtk_window_set_hints(), just compute the hints,
10144         don't set them.
10145
10146         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
10147         code from gtk_window_move_resize() to separate function,
10148         rationalize a bit.
10149
10150 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
10151
10152         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
10153         structure into a new private structure.
10154
10155         * gtkrc.c: Split GtkRcStyle into public/private.
10156         In the private part, add a list of pointers to the
10157         RcStyle lists this RcStyle participates in.
10158
10159         * gtkrc.c: When a RcStyle is free, remove all
10160         lists referencing it from the 
10161         realized_style_ht hash, and free those lists.
10162         
10163         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
10164         gtk_rc_init(), since that adds the default styles
10165         to the list of parsed RC files again.
10166
10167         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
10168         
10169 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
10170
10171         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
10172         checks that ensure that a widget's allocation is at least 1 in width
10173         and height. (GNOME note: this doesn't affect old panel code anymore,
10174         because GtkSocket will request width and height of at least 1 since
10175         Fri Jul 23).
10176
10177         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
10178         allocated yet (happens if the user realizes the window prematurely),
10179         size request and allocate it.
10180         (gtk_window_size_allocate): guard against guint underflows.
10181
10182 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
10183
10184         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
10185         in gtk_built_sources, so gtk.defs gets built prior to all other
10186         sources.
10187
10188 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
10189
10190         * gtk/Makefile.am:
10191         invoke indent on gtkmarshal.*. 
10192         rewrote source generation rules, use COPYING as oldest source tag for
10193         a piggyback rule to generate all sources from (don't touch it ;).
10194         major cleanups, strip spaces on build rules for GNU Make.
10195
10196         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
10197         source and target files from commandline arguments. don't invoke indent.
10198
10199 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
10200
10201         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
10202         notebook after switch to avoid drawing problems.
10203         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
10204         
10205         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
10206         show them instead. 
10207         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
10208
10209 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
10210
10211         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
10212         notebook after switch to avoid drawing problems.
10213         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
10214         
10215         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
10216         show them instead. 
10217         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
10218
10219 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
10220
10221         * gtk/gtkwindow.c:
10222         we use window->need_resize from configure_event now, to indicate that
10223         the gtkwindow should keep its allocation (e.g. because the user resized
10224         the window through window manager handles). resize_count is now reliably
10225         used to figure whether we got the allocation we requested from the
10226         window manager.
10227         configure events get queued as resizes now, the real stuff (size
10228         computation and allocation) now only goes on in gtk_window_move_resize().
10229         GtkWindow's requisition now contains its *real* requisition (like all
10230         other widgets), *not* taking usize into account.
10231         geometry_info->last_{width|height} is now updated from set_hints() only
10232         so it always contains the last hints we set for the window manager.
10233         made some event handlers return TRUE instead of FALSE.
10234         the overall code should be much more straight forward now, and the
10235         significant code portions are accompanied by comments now.
10236         (gtk_window_set_hints):
10237         removed requisition argument and made it
10238         fetch the requisition through gtk_widget_get_child_requisition.
10239         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
10240         does that now.
10241         (gtk_window_show):
10242         ensure that the widget is realized before calling 
10243         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
10244         ensure that we got properly size requested and allocated before
10245         realization.
10246         (gtk_window_configure_event):
10247         ignore plain window moves, or reallocate the widget tree through the
10248         resize queue otherwise.
10249         (gtk_window_move_resize):
10250         mostly rewrote this function to figure window manager hints more
10251         reliably, coalesce window moves and resizes to reduce configure events
10252         and do actuall size allocations.
10253
10254 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
10255
10256         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
10257         that have a resize pending, because a redraw is already queued for them.
10258
10259         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
10260         hack to clear resize_widgets.
10261
10262         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
10263         for resize containers prior to size allocation. (this is also a bit
10264         ugly, but avoids side effects for stopped emissions and is thus more
10265         reliable).
10266         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
10267
10268         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
10269         function from gtk_tooltips_expose, as we connect to ::expose_event
10270         *and* ::draw now.
10271
10272 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
10273
10274         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
10275         checks.
10276         (gtk_target_list_unref): Likewise.
10277
10278         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
10279
10280 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
10281
10282         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
10283         guard against division by zero. (Fixes bug #1339)
10284
10285 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
10286
10287         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
10288         Prevent the trivial leak of information of allowing
10289         word motion when the entry is not visible.
10290
10291 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
10292
10293         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
10294         modality to error dialog as well as confirmation dialogs.
10295         (Bug #1803, reported by Rosanna Wing Sze Yuen)
10296
10297 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
10298
10299         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
10300         tree->view_lines.
10301         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
10302
10303         * gtk/Makefile.am (install-data-local): Solaris apparently
10304         has various troubles with ln -f; use rm first instead.
10305         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
10306
10307 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
10308
10309         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
10310         use `cp' followed by `rm' (the `rm' was already there).
10311
10312 July 30, 1999 Elliot Lee <sopwith@redhat.com>
10313         
10314         * configure.in: Fix autoconf warnings about cross compilation by
10315         trying to provide sane defaults for AC_TRY_RUN.
10316         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
10317         put them into $(srcdir) when generated. Also add a dependency of
10318         gtksignal.h on gtkmarshal.h for -j builds. 
10319         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
10320
10321 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
10322
10323         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
10324         GDK_THREADS_{LEAVE,ENTER} pair.
10325         (From Paul Fisher <pnfisher@redhat.com>)
10326
10327 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
10328
10329         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
10330         width and height are always >0 (owen).
10331
10332 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
10333
10334         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
10335         change that assured that a widget's allocated with and height are
10336         always >1, since this breaks *buggy* panel code. unfortunately this
10337         back-breaks the gimp's color selector.
10338
10339         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
10340         allocation is always >0 in width and height, before sending the
10341         configure event; this is a *gross* hack to get the gimp back to work.
10342         
10343         * marked both cases with TODO-1.3
10344
10345 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
10346
10347         * gtk/gtktext.c: Don't display wrap indicators when
10348         text is not editable and word wrap is on.
10349
10350 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
10351
10352         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
10353         option menus here as they are not derived from menu shell, assure that
10354         the option menu has a menu we can add items to.
10355
10356 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
10357
10358         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
10359         width/height to (gint) before calculations and check against < 0 to
10360         avoid guint wraparounds.
10361
10362 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
10363
10364         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
10365         width and height is never zero. sanity check both dimensions against
10366         32767 and issue a warning if the allocation is greater than that.
10367
10368 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
10369
10370         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
10371         to g_main_pending() as well.
10372
10373 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
10374
10375         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
10376         call to g_main_iteration() - since that will regrab
10377         GTK+ lock to process events.
10378
10379 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
10380
10381         * gtk/gtkwindow.c
10382         - Regularize with the rest of GTK+ by making widget->requisition
10383           not reflect the set_usize()
10384         - Always recompute geometry hints, then check if they
10385           changed before sending them to the X server. The
10386           previous checks for changes would fail in a number
10387           of circumstances. 
10388
10389 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
10390
10391         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
10392
10393 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
10394
10395         * gtk/gtkdnd.c:
10396         - Code cleanups
10397         - Instantaneously update on modifier key presses
10398         - Allow cancellation of the drag with Escape.
10399
10400 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
10401
10402         * gtk/testgtk.c (create_handle_box): Set the policy
10403         to auto_shrink - otherwise the appearance is rather
10404         strange when flipping between horizontal and vertical.
10405
10406 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
10407
10408         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
10409         (gtk_window_set_default_size): don't change a value if it's < 0.
10410         queue a resize.
10411
10412 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
10413
10414         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
10415
10416 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
10417
10418         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
10419         add an extra "/" when concating "/" + filename.
10420         (From Matt Grossman <mattg@oz.net>)
10421
10422 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
10423
10424         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
10425         for fg_gc if we set it for drawing pixmap.
10426
10427 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
10428
10429         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
10430         
10431         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
10432         already set, call old engine's destroy function and
10433         unref the old engine.
10434
10435 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
10436
10437         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
10438
10439 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
10440
10441         * gtk/gtkaccelgroup.h: mark certain functions as internal.
10442
10443 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
10444
10445         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
10446         expand behaviour changed.
10447
10448         * gtk/gtklabel.c (gtk_label_set_pattern):
10449         (gtk_label_set_justify):
10450         (gtk_label_set_line_wrap):
10451         don't bother invoking queue_clear, the reallocation does
10452         that for us, always free_words so the upcoming resize will
10453         relayout the label's contents.
10454
10455 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
10456
10457         * applied argument implementation patches from Elena Devdariani
10458         <elena@cogent.ca>.
10459
10460         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
10461         ::space_style, ::relief
10462         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
10463         * gtk/gtkpreview.c: ::expand
10464         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
10465         * gtk/gtknotebook.c: ::homogeneous
10466         * gtk/gtklabel.c: ::wrap
10467         * gtk/gtklist.c: ::selection_mode
10468         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
10469         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
10470         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
10471         * gtk/gtkclist.c: ::sort_type
10472         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
10473         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
10474
10475 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
10476
10477         * gtk/gtkstyle.c: Removed ill-thought-out part of last
10478         comment.
10479
10480 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
10481
10482         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
10483         counting right when we have to attach a new style
10484         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
10485
10486         * gtk/gtkstyle.c: Documented the refcounting
10487         peculularities of gtk_style_attach.
10488
10489 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
10490
10491         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
10492         window types.
10493
10494         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
10495         of GTK_TOPLEVEL for creating the window.
10496
10497 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
10498
10499         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
10500         the last argument (reported by Per Winkvist).
10501         
10502 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
10503
10504         Fixes for invisible XOR lines (Frank Loemker
10505         <floemker@TechFak.Uni-Bielefeld.DE>)
10506         
10507         * gtk/gtkclist.c (gtk_clist_realize): Always use
10508         a non-zero pixel for GDK_XOR.
10509
10510         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
10511         Use GDK_INVERT instead of GDK_XOR.
10512
10513 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
10514
10515         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
10516         signals if h/voffsets differ from adjustment values.
10517         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
10518
10519 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
10520
10521         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
10522         ::selection-done emissions up to the topmost menu shell.
10523
10524 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
10525
10526         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
10527         the user data on the window before destroying it.
10528
10529         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
10530         unrealize handler to take care of destroying 
10531         notebook->panel properly. 
10532         (Bug #1198 - Morten Welinder <terra@diku.dk>)
10533
10534         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
10535         of g_new and g_realloc to stop memory leak. (Actually,
10536         we could just use g_realloc(), but I'm not 100% sure
10537         that is portable).
10538         (Bug #1196 - Morten Welinder <terra@diku.dk>)
10539
10540 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
10541
10542         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
10543
10544         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
10545         for fontsets.
10546
10547         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
10548         with bin/button confusion.
10549
10550 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
10551
10552         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
10553         and show how preselection of radio items is done.
10554
10555 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
10556
10557         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
10558         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
10559         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
10560         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
10561         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
10562         * gtk/gtktable.c (gtk_table_attach): 
10563         * gtk/gtklist.c (gtk_list_insert_items): 
10564         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
10565         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
10566         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
10567         * gtk/gtkbin.c (gtk_bin_add): 
10568         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
10569         * gtk/gtkfixed.c (gtk_fixed_put): 
10570         * gtk/gtklayout.c (gtk_layout_put):
10571         general fixups to container_add logic. always realize child if
10572         child->parent is realized, only map the child and queue a resize
10573         if child and child->parent are both visible.
10574
10575 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
10576
10577         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
10578         instead of gtk_container_foreach to walk and unrealize children, so
10579         composite children get also unrealized.
10580         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
10581         (gtk_widget_map): assert that the widget is visible (basic constrain).
10582         (gtk_widget_real_map): assert that the widget is realized (basic
10583         constrain).
10584
10585 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
10586
10587         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
10588
10589 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
10590
10591         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
10592         file for iso-8859-2 locales.
10593
10594         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
10595
10596 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
10597
10598         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
10599          (Pointed out by andy@rz.uni-karlsruhe.de and others).
10600          Remove some suspicious and useless lines. 
10601
10602 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
10603
10604         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
10605         width,height = 0, 0 to mean - here to edge of window,
10606         instead of -1, -1, since the former is all we support.
10607
10608 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
10609
10610         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
10611         when removing from quit_functions list.
10612
10613 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
10614
10615         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
10616
10617 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
10618
10619         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
10620          When redrawing characters on non-visible entry, use appropriate
10621          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
10622
10623 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
10624
10625         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
10626         from drag coordinates.
10627         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
10628         use drag_dest_cell.
10629
10630         * gtk/gtktree (drag_dest_cell)
10631         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
10632         (Bug #1129)
10633
10634 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
10635
10636         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
10637         translate_* fields.
10638         (gtk_item_factory_finalize): invoke translate_notify independant from
10639         translate_data.
10640         (gtk_item_factory_set_translate_func): likewise.
10641         (gtk_item_factory_destroy): only remove ifactory pointer from those
10642         widgets that belong to us (stupid me).
10643
10644 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
10645
10646         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
10647         rc_style list when lookup succeeeds.
10648
10649 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
10650
10651         * gtk/gtkctree.c (resync_selection): 
10652         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
10653         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
10654         bug.
10655
10656 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
10657
10658         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
10659         Add some missing GDK_THREADS_ENTER()/LEAVE around
10660         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
10661
10662 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
10663
10664         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
10665         rather than emit_by_name.
10666
10667         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
10668         on the widget across multiple signal emissions.
10669         (gtk_editable_delete_text): same here.
10670         (gtk_editable_class_init): set widget_class->activate_signal after
10671         editable_signals[ACTIVATE] has been created.
10672
10673 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
10674
10675         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
10676         position here prematurely -- we might not have the
10677         right ->min_position and ->max_position yet.
10678
10679 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
10680
10681         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
10682         Add error traps so if the other end of the connection
10683         dies, we survive.
10684
10685         * gtk/gtkselection.c (gtk_selection_notify): Clean
10686         up properly when selection property retrieval fails.
10687         
10688         * gtk/gtkselection.c (gtk_selection_request): Correctly
10689         reject SelectionRequest notifies where the handler
10690         returns no data.
10691
10692 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
10693
10694         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
10695         when we've previously highlighted.
10696
10697         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
10698         emit two "drag_leave" signals for Motif drops.
10699
10700         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
10701         back the correct status messages when dropping from
10702         Motif onto a proxy window that is rejecting the
10703         drop.
10704
10705 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
10706
10707         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
10708         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
10709         to compare two argument values. added gtk_arg_to_valueloc() to set a
10710         variable from an arg through its location (pointer).
10711
10712         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
10713         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
10714         as gfloat*, uchars are collected as guchar*, ints are collected as
10715         gint*, etc...
10716
10717 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
10718
10719         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
10720         Include <string.h> instead of <strings.h>.
10721
10722         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
10723         (actually, a lot more duplicate includes occur if
10724          you trace through the sequence of #include's)
10725         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
10726         
10727 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
10728
10729         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
10730         gtk-a-higuti-990322-[0-3]
10731
10732         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
10733         that was causing -DX_LOCALE not to work.
10734
10735         * gtk/gtkrc.c (gtk_rc_init):
10736         X_LOCALE will never have LC_MESSAGES defined
10737
10738 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
10739
10740         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
10741         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
10742
10743         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
10744         left/right as well (gtk-michael-980726-0.patch.gz).
10745
10746         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
10747         for pointer values, use gchar instead of char. fixed uline allocation
10748         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
10749         chunks instead of G_ALLOC_ONLY.
10750         (gtk_label_size_request): always alter requisition as passed and leave
10751         widget->requisition alone.
10752         (gtk_label_set_text): allow NULL strings.
10753         (gtk_label_new): likewise.
10754
10755 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
10756
10757         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
10758
10759 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
10760
10761         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
10762         *and* mapped (i.e. drawable).
10763         (gtk_bin_expose): only send exposes to drawable children.
10764
10765         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
10766         (gtk_box_expose): only send exposes to drawable children.
10767
10768         * gtk/gtkhscale.c (gtk_hscale_draw): 
10769         * gtk/gtkvscale.c (gtk_vscale_draw):
10770         hm, this is an ugly one. we first compute the size of our trough area
10771         here (window relative) and then check intersection with the draw_area
10772         which is parent relative because we're a NO_WINDOW widget, so we need
10773         to offset the trough area by allocation.x and allocation.y before the
10774         check. (this must not be done for the background area though, since
10775         that's already computed parent relative).
10776
10777 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
10778
10779         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
10780         unrealize title buttons.
10781
10782 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
10783
10784         * gtk/gtkclist.c (gtk_clist_column_title_passive)
10785         (gtk_clist_column_title_active): 
10786         only connect/disconnect to GtkWidgetClass::event to block mouse events.
10787
10788         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
10789         zero initialize event, removed superfluous gdk_window_get_pointer call
10790
10791         * gtk/gtklist.c (gtk_list_vertical_timeout)
10792         (gtk_list_horizontal_timeout): removed superfluous
10793         gdk_window_get_pointer call
10794
10795 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
10796
10797         * plugging problems reported by "Bruce Mitchener, Jr."
10798         <bruce@puremagic.com> due to a purify session.
10799
10800         * gtk/gtkstyle.c:
10801         (gtk_style_ref): 
10802         (gtk_style_unref): assert ref_count to be > 0.
10803
10804         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
10805         the requisition.
10806         (gtk_clist_set_shift): likewise.
10807
10808         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
10809         adjustments.
10810
10811         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
10812         event before sending it and set send_event to TRUE (which needs to
10813         be done for *all* synthesized events).
10814         (gtk_list_vertical_timeout): likewise.
10815
10816         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
10817         leaks.
10818
10819         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
10820         to TRUE when synthesizing events.
10821
10822 [ *** end of merges from 1.2 *** ]      
10823         
10824 1999-11-21  Tor Lillqvist  <tml@iki.fi>
10825
10826         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
10827         (or copied from gdkconfig.h.win32 on Win32, sigh).
10828
10829         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
10830
10831         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
10832
10833         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
10834
10835         * gdk/gdkconfig.h.win32: New file.
10836
10837         * gdk/win32/makefile.cygwin: Build just a static archive here.
10838
10839         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
10840         for the DLL from the static archive built above.
10841
10842         * gdk/gdk.def: Moved here from the win32 subdirectory.
10843
10844         * gdk/win32/*: Adapt for the changed private struct organisation.
10845
10846         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
10847
10848 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
10849
10850         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
10851         for wheel mice (buttons 4 and 5).
10852
10853 1999-11-18  Tor Lillqvist  <tml@iki.fi>
10854
10855         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
10856         drawables use just the pixel field in the foreground and
10857         background GdkColor of the GdkGC.
10858
10859         gdk_gc_set_{fore,back}ground() are called in the GIMP with
10860         GdkColors containing uninitialized (red,green,blue) fields, and
10861         just the pixel field filled in, and furthermore in the
10862         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
10863         It thus turns out that we really don't need to have the full
10864         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
10865         it later to have just the pixel values.
10866
10867 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
10868
10869         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
10870
10871 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
10872
10873         * docs/gtkfaq.sgml: threads example from Erik Mouw.
10874         New question on GtkLabel background colors.
10875
10876         * docs/gtk_tut.sgml:
10877           - Correct the example code callback
10878             function definitions.
10879           - Update the gtkdial example code, from Frans van Schaik.
10880           - Update setselection.c to current API.
10881
10882         * examples/Makefile examples/*/*.c: Update to code
10883         listed in tutorial.
10884
10885 1999-11-10  Tor Lillqvist  <tml@iki.fi>
10886
10887         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
10888         subrange table (from the "Developing International Software for
10889         WIndows 95 and Windows NT" book) was missing the Hangul syllable
10890         block... Get the loaded font's charset correctly.
10891
10892         (Note that this, and the other *-win32.c files, still really are
10893         the old ones, the win32 subdirectory is not ready for compilation
10894         yet after the reorg.)
10895
10896 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
10897
10898         * gtk/gtkclist.c: Fix off-by-one bug in parameter
10899         check.
10900
10901 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
10902
10903         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
10904         on results of XQueryDeviceState().
10905
10906 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
10907
10908         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
10909         we need to accesss only ->children. We need an accessor
10910         for the children.
10911
10912         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
10913         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
10914         to get rid of gdkx.h include.
10915         
10916         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
10917         and random references to 'None'.
10918
10919         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
10920         Get rid of unused #include <gdk/gdkx.h>
10921
10922         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
10923         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
10924         gdkconfig.h.
10925
10926 1999-11-08  Tor Lillqvist  <tml@iki.fi>
10927
10928         * gdk/win32/gdkdraw.c
10929         * gdk/win32/gdkfont.c
10930         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
10931         following yesterday's changes. (Unrelated to Owen's reorg.)
10932
10933 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
10934
10935         * gdk/x11/gdkinput-gxi.c: Add missing include,
10936           fix GdkWindowPrivate => GdkDrawablePrivate.
10937
10938         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
10939
10940         * gdk/x11/Makefile.am (xinput_sources): Add missing
10941         backslash to fix building with --with-xinput=none
10942
10943 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
10944
10945         Move all X specific code into the x11/ directory.
10946         Aside from shuffling things around, did the following:
10947
10948        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
10949          gdk_arg_context_* - a simple argument parsing system
10950          in the style of popt.
10951
10952        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
10953          gdk/x11/gdkprivate-x11.h:
10954          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
10955          add ->klass and ->klass_data fields. The klass_data
10956          field points to an auxilliary structure that is
10957          windowing system dependent.
10958
10959        * gdk/gdkfont.c: Make most of the measurement functions
10960          simply wrappers around gdk_text_extents().
10961
10962        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
10963          _gdk_font_strlen() function that hides the weird
10964          behavior in gtk+-1.[02] where a string is interpreted
10965          differently for 8-bit and 16-bit fonts.
10966
10967        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
10968          to store common code for synthesizing double/triple
10969          press events.
10970         
10971        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
10972          Make all the function that modify an existing GC
10973          simply wrappers around gdk_gc_set_values().
10974          
10975        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
10976          for throwing out later.
10977
10978        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
10979          GdkImagePrivate and GdkColormapPrivate to have a
10980          windowing system dependent part (GdkFontPrivateX etc.)
10981          that "derives" from the system-independent part.
10982
10983        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
10984          Got rid of the included-source-files for XInput in
10985          favor of automake conditionals. (Which didn't exist
10986          when XInput support was originally added.)
10987
10988        * gdk/gdkrgb.c: Remove the visual id from the debugging
10989          statements since that is X11 specific; print out
10990          type/depth info instead.
10991          
10992
10993 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
10994
10995         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
10996         loading duplicates of hashed fonts.
10997
10998         * gdk/gdk.c (gdk_keysym_convert_case): rename
10999         gdk_XConvertCase to gdk_keysym_convert_case, allow
11000         results to be NULL in the GTK+ style.
11001
11002         * gdk/gdkcompat.h: Started compatibility header
11003         for renames.
11004
11005 1999-11-07  Tor Lillqvist  <tml@iki.fi>
11006
11007         * gdk/win32/gdkprivate.h: New font private structures, related to
11008         fontsets.
11009
11010         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
11011         gdk_font_list_free(). On X11, will just be wrappers to
11012         XListFonts() and XFreeFontNames(). On Win32, the code previously
11013         in gtkfontsel.c is now here.
11014
11015         New function gdk_font_xlfd_create(). On X11 will get the FONT
11016         property of the font (for GDK_FONT_FONTs), or call
11017         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
11018         builds a XLFD style name from the font information in the LOGFONT
11019         struct(s).
11020
11021         New function gdk_font_xlfd_free(), which correspondingly frees the
11022         string returned by gdk_font_xlfd_create().
11023
11024         Implement fontsets on Win32. Add a function that iterates over a
11025         wide char string and calls a callback function for each substring
11026         of wide chars from the same Unicode subrange (and thus probably
11027         available in the same real font).
11028
11029         Improve the XLFD emulation a bit.
11030
11031         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
11032
11033         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
11034         Beta3, WM_IME_CHAR messages don't seem to contain the composed
11035         multi-byte char as with the Active IMM on Win9x. Oh well, handle
11036         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
11037         ImmGetCompositionStringW() to get the composed Unicode chars.
11038
11039         * gdk/win32/gdkgc.c
11040         * gdk/win32/gdkdraw.c: Changes needed because of the font private
11041         struct changes.
11042
11043         * gdk/win32/gdk.def: Add the new functions.
11044
11045 1999-11-04  Tor Lillqvist  <tml@iki.fi>
11046
11047         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
11048         get the Platform SDK to get <dimm.h>.
11049
11050         * gdk/win32/gdkevents.c: More event handling fixes and
11051         simplification. Never generate motion events with is_hint true. We
11052         used to do that on bogus grounds earlier. Windows sends
11053         WM_MOUSEMOVE messages on button events even if the mouse hasn't
11054         moved, ignore these.
11055
11056         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
11057
11058         * gdk/win32/gdkglobals.c
11059         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
11060         the TrackMouseEvent function, and use it.
11061
11062         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
11063         char before calling WideCharToMultiByte in order to get a string
11064         for the window title.
11065
11066         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
11067
11068         * gdk/win32/gdk.def: Remove obsolete functions.
11069
11070         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
11071         /nodefaultlib and /defaultlib switches.
11072
11073         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
11074
11075 1999-10-31  Tor Lillqvist  <tml@iki.fi>
11076
11077         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
11078         EuroSign).
11079
11080         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
11081         same type as GdkWChar, especially on Win32.
11082
11083         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
11084
11085         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
11086         before passing to Windows GDI for drawing etc. Convert to the
11087         system default codepage before passing to Windows as window
11088         titles.
11089
11090         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
11091         support changing input locale on the fly.
11092
11093         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
11094         on-the-fly changes. Convert incoming characters from the current
11095         codepage to Unicode (and then to a UTF-8 multi-byte string) based
11096         on the current input language. Use keysym<->Unicode mapping tables
11097         and functions borrowed from xterm sources.
11098
11099         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
11100         editions of Win9x, use the ActiveX-based Active IMM (Input Method
11101         Manager) if available. IMEs and the Active IMM are available under
11102         the disguise of Chinese, Korean and Japanese support for IE and
11103         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
11104         support is present in all editions (as long as you install it).
11105
11106         Call DispatchMessage from gdk_events_queue() (and thus
11107         gdk_WindowProc()), instead of duplicating the code in
11108         gdk_WindowProc().
11109
11110         Reworked the grab handling and propagation code, factored out
11111         duplicated code snippets into separate functions. Other cleanups,
11112         too.
11113
11114         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
11115         the <dimm.h> header describing the Active IMM.
11116
11117         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
11118         just do the same as for "single" fonts.
11119
11120         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
11121         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
11122         the new keysyms from gdkkeysyms.h.
11123
11124         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
11125         fontset, so that gtkentry uses wide characters.
11126
11127         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
11128         GTk+'s system directory "gtk+", not "gtk".
11129
11130 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
11131
11132         * docs/gtkfaq.sgml: FAQ update
11133
11134 1999-10-21  Tor Lillqvist  <tml@iki.fi>
11135
11136         * gdk/win32/gdkprivate.h: Add more font private data.
11137
11138         * gdk/win32/gdkfont.c
11139         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
11140         fonts and strings. Now works much better. You still have to
11141         have a correct font selected, though. No fontset emulation yet.
11142
11143 1999-10-19  Tor Lillqvist  <tml@iki.fi>
11144
11145         * gtk/maketypes.awk: Use G_OS_WIN32.
11146
11147         * gtk/gtk.def: Add some missing entry points. Also some non-public
11148         ones, but PyGTK porter claims to need them.
11149
11150         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
11151         built-in type generation.
11152
11153 1999-10-14  Tor Lillqvist  <tml@iki.fi>
11154
11155         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
11156         GDK_FONT_FONT fonts (which is all we have for now, we don't
11157         emulate fontsets). The X11 version uses plain XDrawString in that
11158         case, too. The string passed to gdk_draw_text_wc seems to be in
11159         fact (at least, when used by gtkentry and gtktext) either in a
11160         single-byte charset, or a DBCS. Not Unicode.
11161
11162         This fixes the problem in gtkfontsel, where even if you had
11163         selected a font with a non-Latin1 charset (windows-greek, for
11164         instance), the preview still used Latin-1 glyphs.
11165
11166         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
11167         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
11168         (gdk_font_load): Recognize the demibold etc weights, even if we
11169         don't have the corresponding constants in the headers.
11170         (gdk_font_hash_insert): Use same hash mechanism as in the X11
11171         version. Should save font resources a bit, when we don't have
11172         multiple HFONTs for the same font.
11173
11174         * gdk/win32/gdkprivate.h: Add the names field as in the X11
11175         version.
11176
11177 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
11178
11179         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
11180         X values
11181
11182 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
11183
11184         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
11185         layout support (as mentioned on
11186         http://www.jcinteractive.com/gnome-ui/software/widgets/)
11187
11188 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
11189
11190         * gtk/fnmatch.c
11191         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
11192
11193 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
11194
11195         * configure.in (ALL_LINGUAS): Added Galician (gl)
11196
11197 1999-10-05  Tor Lillqvist  <tml@iki.fi>
11198
11199         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
11200
11201         * gdk/win32/gdkcompat.c: New file, actually provide an
11202         implementation for the deprecated functions. (Just temporarily.)
11203
11204         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
11205
11206         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
11207
11208         * gdk/win32/gdk.def gtk/gtk.def: Updates.
11209
11210 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
11211
11212         * configure.in: Added "uk" to ALL_LINGUAS.
11213         
11214 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
11215
11216         * configure.in: correct checking for BeOS check
11217
11218         * gdk/gdktypes.h
11219         * gtk/fnmatch.c
11220         * gtk/gtkfilesel.c
11221         * gtk/gtkitemfactory.c
11222         * gtk/gtkmain.[ch]
11223         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
11224
11225 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
11226
11227         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
11228         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
11229         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
11230         by Bulgarian). 
11231
11232 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
11233
11234         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
11235         Fix a reference to window_private->destroyed.   
11236
11237         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
11238         (ugly) setting of an internal GdkWindow member to use
11239         a _slightly_ cleaner macro.
11240
11241         * gdk/gdkprivate.h: Split GdkWindowPrivate into
11242         GdkDrawablePrivate and GdkWindowPrivate.
11243         Add extra macros for accessing GDK_DRAWABLE_ components.
11244
11245         * *.[ch]: Massive adjustments for the above, use the
11246         new macros in a lot of places.
11247
11248 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
11249
11250         * gdk/gdktypes.h: Make GdkDrawable the base type,
11251         not GdkWindow.
11252
11253 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
11254
11255         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
11256
11257 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
11258
11259         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
11260
11261 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
11262
11263         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
11264         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
11265
11266         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
11267
11268         * docs/gtk-config.1: Now autogenerated.
11269         * docs/Changes-1.4.txt: started
11270         
11271 1999-10-03  Tor Lillqvist  <tml@iki.fi>
11272
11273         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
11274         to #ifdef also here.
11275
11276         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
11277         Owen did to the X11 backend.
11278
11279         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
11280         ScrollWindowEx when blitting inside a window, it can't be correct
11281         in the general case.
11282
11283         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
11284         WM_GETMINMAXINFO is easier.
11285
11286         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
11287         depth equal to the bitspixel value, not the visual's depth.
11288
11289         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
11290         to 24 even if the bitspixel value is 32.
11291
11292         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
11293         need to check for depth==32 when bpp==32, depth will always be 24.
11294
11295 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
11296
11297         * docs/Changes-1.4.txt: Started
11298         
11299         * gtk/Makefile.am (gdk_headers): Include all the new headers.
11300
11301         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
11302         
11303         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
11304         into C file.
11305         
11306         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
11307         header to gdkinputprivate.h.
11308
11309         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
11310         unused since before 1.2.
11311
11312 1999-09-30  Tor Lillqvist  <tml@iki.fi>
11313
11314         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
11315         expand possible hex escapes in the font family (put there by
11316         logfont_to_xlfd if the font name isn't a legal XLFD font family,
11317         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
11318         On Win32, add hex escapes here, too.
11319
11320 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
11321
11322         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
11323         to #ifdef GDK_WINDOWING_X11.
11324
11325 [ Merges from gtk-1-2 ]
11326
11327 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
11328
11329         * configure.in: fixed "GNU Make" check to pass with new make version
11330         3.77.95.
11331
11332 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
11333
11334         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
11335         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
11336         AM_PATH_GTK() macros don't get confused by the -pre1.
11337
11338 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
11339
11340         * configure.in (REBUILD): Change check for perl5
11341           to check explicitely for v >= 5.002. (5.001
11342           does not work with our scripts.)
11343
11344 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
11345
11346         * configure.in: evaluate $PERL for the perl version check. added
11347         --disable-rebuilds to give the user an option to completely disable
11348         any source autogeneration rules.
11349
11350 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
11351
11352         * configure.in: evaluate $ac_make when checking for GNU Make.
11353
11354 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
11355
11356         * docs/Makefile.am: added generation.txt.
11357
11358         * Makefile.am: require automake 1.4, build README from README.in and
11359         INSTALL from INSTALL.in in dist-hook.
11360         
11361         * README.in:
11362         * INSTALL.in: new files to autogenerate README and INSTALL from.
11363
11364         * configure.in: figure whether we have GNU Make
11365
11366         * docs/generation.txt: minor additions/corrections.
11367
11368 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
11369
11370         * docs/gtkfaq.sgml: FAQ Update
11371
11372 July 30, 1999 Elliot Lee <sopwith@redhat.com>
11373         
11374         * configure.in: Fix autoconf warnings about cross compilation by
11375         trying to provide sane defaults for AC_TRY_RUN.
11376
11377 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
11378
11379         * ltconfig
11380         * ltmain.sh: upgrade to libtool 1.3.3
11381
11382 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
11383
11384         * INSTALL: Indicate that the --with-glib= configure
11385         time flag is unsupported.
11386
11387 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
11388
11389         * docs/generation.txt: Added a file that gives
11390         documenation about the autogeneration process for
11391         various autogenerated files.
11392         
11393 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
11394
11395         * configure.in (LIBS): Look for libgmodule in the
11396         right location.
11397
11398 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
11399
11400         * docs/gtk_tut.sgml: Removed references to
11401         code examples in my directory on gtk.org as
11402         they should all be in the tutorial now.
11403
11404         * docs/gtk_tut.sgml: Added sources for dial-test
11405         and scribble-xinput programs that were previously
11406         missing.
11407
11408 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
11409
11410         * TODO: Added entry about menu keyboard navigation, removed
11411         some finished items.
11412
11413 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
11414
11415         * acinclude.m4: Standardize on func_dgettext
11416         not func_gettext, so that the checks for dgettext
11417         actually are paid attention to.
11418
11419 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
11420
11421         * configure.in (LIBS): Add $INTLLIBS into $LIBS
11422         directly, rather than repeating the checks for
11423         gettext.
11424
11425         * INSTALL: Added information about gettext and
11426         NLS support.
11427
11428         * acinclude.m4 (LIBM): Check for dgettext, not
11429         just gettext. This should hopefully fix things wrt
11430         systems with old versions of GNU gettext installed.
11431
11432 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
11433
11434         * configure.in (LIBS): Look for libgmodule in the
11435         right location.
11436
11437 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
11438
11439         * autogen.sh: add --enable-maintainer-mode
11440
11441         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
11442
11443 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
11444
11445         * docs/gtk-config.1.in:
11446           docs/Makefile.am:
11447           configure.in: gtk-config is now generated.
11448
11449         * docs/gtk-config.1: Removed, now generated.
11450
11451 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
11452
11453         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
11454         handle CreateNotify itself, still put out a debuging message for
11455         --gdk-debug=events. made the ReparentNotify debugging message more
11456         verbose.
11457         wrap xcoords translation for ConfigureEvents into an error trap,
11458         a destroy event may already be pending, and in that case, the
11459         actuall coordinate values are not at all critical.
11460
11461 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
11462
11463         * gdk/gdkcc.c: Stop leaking the color_hash all over
11464         the place. Simplify and improve the logic.
11465
11466 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
11467
11468         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
11469         for prototypes and function implementations consistent (reported
11470         by Tomas Ogren).
11471
11472 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
11473
11474         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
11475         send_event set in debugging output.
11476         (gdk_compress_exposures): default initialize the event so we don't
11477         operate on bogus values (namely send_event).
11478
11479 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
11480
11481         * gdk/gdkwindow.c: When we receive an unexpected
11482         destroy notify on one of our windows, don't just
11483         warn about it, also mark our windows as destroyed.
11484
11485 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
11486
11487         * gdk/gdkfont.c (gdk_font_hash_insert): Add
11488           name => font and name => fontset hashes. The 
11489           name => fontset hash is a _big_ win since we
11490           weren't previously caching fontsets at all and loading
11491           fontsets is expensive. The name => font hash
11492           is less of a win, but it does save us from doing
11493           repeated XQueryFont calls on the same font.
11494
11495         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
11496           list so we can remove font/fontset from hash.
11497
11498 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
11499
11500         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
11501           and slightly confusing test. [ XInternAtom (,,TRUE)
11502           will never return None ].
11503
11504 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
11505
11506         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
11507           gdk/gdkwindow.c (gdk_window_set_hints):
11508
11509         Don't omit setting the properties if flags == 0 -
11510         there may be an existing set of properties there
11511         already. (Very old bug. Would it be better to
11512         delete the property instead?)
11513
11514         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
11515           spelling error in comment.
11516
11517 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
11518
11519         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
11520           to avoid stomping over gdk_error_warnings.
11521
11522         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
11523           as (bits_per_pixel + 7) / 8. This gives the same
11524           result as before for multiples of 8, but actually
11525           a "reasonable" value for 1bit or 4bit displays.
11526
11527 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
11528
11529         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
11530         GNU Make.
11531
11532 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
11533
11534         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
11535         discarding configure events.
11536
11537 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
11538
11539         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
11540         refcount is greater than zero.
11541
11542         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
11543
11544         * gdk/gdkfont.c (gdk_font_unref): Likewise.
11545
11546         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
11547
11548         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
11549
11550 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
11551
11552         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
11553         that format 32 => sizeof(item) == 4. It really is
11554         sizeof(long).
11555
11556 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
11557
11558         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
11559         core dump at all on X IO errors, only core dump
11560         if --enable-debug for X errors.
11561
11562 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
11563
11564         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
11565         unknown window:" message. disabled ConfigureNotify discarding code,
11566         because it led to events being processed out of order.
11567
11568 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
11569
11570         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
11571
11572         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
11573         we export this function, supress error warnings and don't reset the
11574         error code in the first half of this function.
11575
11576         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
11577         code (instead of just -1) so gdk_error_trap_pop() reveals something
11578         actually informative about the error that happened.
11579
11580         * gdk/*.c:
11581         don't rely on gdk_error_code being -1 if an error occoured, but just
11582         gdk_error_code != 0.
11583
11584 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
11585
11586         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
11587         pointer *before* invoking the filter function, so we at least don't
11588         crash if a filter is removed that is currently executed. window filters
11589         *really* need to be made truely reentrant at some point.
11590
11591 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
11592
11593         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
11594         PropertyNotify debug messages.
11595
11596 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
11597         
11598         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
11599         
11600         * gdk/gdkim.c: Fix cut-and-paste errors for 
11601         x/y and PreeditAttributes/StatusAttributes.
11602
11603 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
11604
11605         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
11606         G_MAXINT to 2^16 to alleviate overflow problems in
11607         various window managers.
11608
11609 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
11610
11611         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
11612         for fontsets.
11613
11614 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
11615
11616         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
11617         Initialize size_hints.x and size_hints.y because kwm
11618         brokenly pays attention to them.
11619         (Bug #1181 -  Lars Heete <hel@admin.de>)
11620
11621 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
11622
11623         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
11624         return value of gdk_list_visuals(). 
11625         (Bug #1193 - Morten Welinder <terra@diku.dk>)
11626
11627 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
11628
11629         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
11630         XSetIMValues to (void *) when comparing to NULL, to workaround
11631         the problem of some compilers barfing since older X headers don't
11632         have the prototype for it.
11633
11634 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
11635
11636         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
11637         for pseudocolor where colormap->colors was double
11638         allocated.
11639
11640         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
11641         color value in the hash table with the pixel filled
11642         in so when we do later hash table lookups, the color
11643         value is correct.
11644         
11645 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
11646
11647         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
11648         making the call
11649
11650 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
11651
11652         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
11653         pointed out by Morten Welinder <terra@diku.dk>.
11654
11655 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
11656
11657         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
11658           default filter from the list
11659
11660 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
11661
11662         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
11663           default filter from the list
11664
11665 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
11666
11667         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
11668
11669         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
11670         g_strdup_printf instead of calcing the length separately
11671
11672 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
11673
11674         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
11675         that we don't do in many other places. (Fixing duplicate 
11676         #include of config.h)
11677
11678         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
11679         Otherwise, #ifndef XINPUT_NONE check in the latter
11680         doesn't work. (Bug #546)
11681
11682 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
11683
11684         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
11685         "None" case insensitive.
11686
11687 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
11688
11689         * gdk/gdkselection.c: 
11690         Add error traps so if the other end of the connection
11691         dies, we survive.
11692
11693 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
11694
11695         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
11696         dest_xid field into two fields - one for the window
11697         to send in messages, one to indicate the last looked
11698         up window for caching purposes. This is needed, so
11699         that Leave messages get the correct window.
11700
11701 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
11702
11703         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
11704         Fix warning created by people mucking around
11705         with the gsource API.
11706
11707         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
11708         Change mapping between GIOCondition and GdkInputCondition
11709         to match the way the Linux kernel does it. This should
11710         fix problems where closed pipes were no longer signalling
11711         GDK_INPUT_READ on systems with a native poll().
11712
11713 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
11714
11715         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
11716         explicitly for the string "None" - it is in the XPM
11717         spec and some servers treat unknown colors in odd ways
11718         (like asking the user!)
11719
11720 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
11721
11722         * gdk/gdkevents.c: made "->" into a "." of previous change so
11723         it compiles
11724
11725 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
11726
11727         * gdk/gdkevents.c (gdk_compress_exposures): Set the
11728         window field of the event structure before calling
11729         user filters.
11730
11731 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
11732
11733         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
11734         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
11735
11736 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
11737
11738         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
11739         intermediate text property - prevents major memory
11740         leak when gdk_use_mb.
11741         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
11742
11743 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
11744
11745         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
11746         gtk-a-higuti-990322-[0-3]
11747
11748         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
11749         sizeof(wchar_t) != sizeof (GdkWChar)
11750
11751         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
11752         that was causing -DX_LOCALE not to work.
11753
11754         * gtk/gtkrc.c (gtk_rc_init):
11755         X_LOCALE will never have LC_MESSAGES defined
11756
11757         * gdk/gdk.c (gdk_init_check):
11758         Remove --xim-preedit and --xim-status from argv properly.
11759
11760         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
11761         that the client window is present on the X server
11762         before we pass it to the input method.
11763
11764 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
11765
11766         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
11767         if --display is specified on the command line, than
11768         the drag window will not be created on that display.
11769         
11770 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
11771
11772         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
11773         lookups with only_if_exists == TRUE were inserting
11774         bogus values into the atom cache.
11775
11776 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
11777
11778         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
11779         then reset it to NULL.
11780
11781         * gdk/gdkcolor.c:
11782         (gdk_colors_free): 
11783         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
11784         key for g_hash_table_remove() in both functions, this prevents us
11785         from accessing possibly uninitialized portions of a GdkColor structure
11786         where we are only interested in its pixel value.
11787
11788 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
11789
11790         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
11791         font hash table, if we have a GdkFontPrivate entry for this font
11792         already, simply increment its reference count, provided by Olaf Dietsche
11793         <olaf.dietsche+list.gtk@netcologne.de>.
11794
11795 1999-09-21  Tor Lillqvist  <tml@iki.fi>
11796
11797         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
11798         just to be sure.
11799
11800         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
11801         unused variables, leftovers from the X11 version.
11802
11803         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
11804
11805         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
11806         downcase fields on X11.
11807
11808 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
11809         
11810         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
11811         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
11812
11813 1999-09-17  Tor Lillqvist  <tml@iki.fi>
11814
11815         * gdk/win32/gdk.def: Add gdk_threads_mutex.
11816
11817         * gtk/makefile.msc: Correct path to libintl.
11818
11819         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
11820         use of gint vs. int, and gint vs. gboolean in headers and
11821         definitions. Use GtkType for the *_get_type functions. Note that
11822         these changes preserve binary compatibility.
11823
11824         * gdk/gdk.c
11825         * gdk/win32/gdk.c
11826         * gdk/gdk.h: Fix inconsistencies: gint vs int.
11827
11828         * gtk/gtkmain.c
11829         * gtk/gtkclist.c
11830         * gtk/gtkmenufactory.c
11831         * gtk/gtknotebook.c
11832         * gtk/gtkwidget.c: Fix inconsistencies, also gint
11833         vs. gboolean.
11834
11835         * gtk/gtkcolorsel.[ch]
11836         * gtk/gtkcombo.[ch]
11837         * gtk/gtkdrawingarea.[ch]
11838         * gtk/gtkgamma.[ch]
11839         * gtk/gtkhandlebox.[ch]
11840         * gtk/gtkhpaned.[ch]
11841         * gtk/gtkhruler.[ch]
11842         * gtk/gtkplug.[ch]
11843         * gtk/gtkpreview.[ch]
11844         * gtk/gtkruler.[ch]
11845         * gtk/gtksocket.[ch]
11846         * gtk/gtkstatusbar.[ch]
11847         * gtk/gtktoolbar.[ch]
11848         * gtk/gtkvbbox.[ch]
11849         * gtk/gtkvpaned.[ch]
11850         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
11851         functions.
11852
11853         * gtk/gtkgamma.h: Fix bug, missing () in call of
11854         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
11855
11856 1999-09-14  Tor Lillqvist  <tml@iki.fi>
11857
11858         * gdk/gdkcolor.c (gdk_colormap_new)
11859         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
11860         colormap->colors was allocated twice.
11861
11862         * gdk/win32/gdk.c: Remove some unused stuff.
11863
11864         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
11865         colormap.
11866
11867         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
11868         * gtk/gtklabel.h (gtk_label_get_type)
11869         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
11870         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
11871         in a couple of places, not guint.
11872
11873 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
11874
11875         * configure.in,po/et.po: added Estonian language file
11876
11877 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
11878
11879         * configure.in,po/da.po: added Danish file
11880
11881 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
11882
11883         * docs/gtkfaq.sgml: Minor FAQ Update
11884
11885 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
11886
11887         * docs/gtkfaq.sgml: FAQ update
11888
11889 1999-08-27  Tor Lillqvist  <tml@iki.fi>
11890
11891         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
11892         way to get window contents continually refreshed while resizing. I
11893         didn't like the effects myself, so it's not on by default.
11894
11895         * gdk/win32/gdkprivate.h: New flag variable
11896         gdk_event_func_from_window_proc, FALSE by default.
11897
11898         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
11899         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
11900         are passed --gdk-event-func-from-window-proc.
11901
11902         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
11903         and we have am event_func, call it instead of enqueing the event.
11904
11905 1999-08-23  Tor Lillqvist  <tml@iki.fi>
11906
11907         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
11908         Kelley: Set expose_count in GdkEventExposes correctly.
11909
11910         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
11911         MULTIPLE_WINDOW_CLASSES).
11912
11913         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
11914         for bug in NT, apparently NT *does* draw the end pixel, too, in
11915         LineTo with a one-pixel pen, so we don't have to do it ourselves.
11916
11917 1999-08-21  Tor Lillqvist  <tml@iki.fi>
11918
11919         Improvements by Hans Breuer: 
11920
11921         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
11922
11923         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
11924         CS_?REDRAW flags as they cause lots of (late) redraws when "show
11925         window contents while dragging" is turned on. Allocate at least
11926         one unique class for every GdkWindowType. If support for single
11927         window-specific icons is ever needed (eg. Dialog specific), every
11928         such window should get its own class.
11929
11930 1999-08-19  Tor Lillqvist  <tml@iki.fi>
11931
11932         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
11933         error that caused crashes.
11934
11935 1999-08-17  Tor Lillqvist  <tml@iki.fi>
11936
11937         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
11938         window, use ScrollWindowEx, and call UpdateWindow. This prevents
11939         bugs when for instance part of the window was outside the
11940         display. Thanks to Philippe Colantoni for finding and fixing this.
11941
11942 1999-08-16  Tor Lillqvist  <tml@iki.fi>
11943
11944         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
11945         endpoint calculations which were totally wrong. (A little RTFMing
11946         helps a lot ;-)
11947
11948         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
11949         from a separate directory, not from gettext, because of licensing
11950         issues (we want to use the LGPL version).
11951
11952         * README.win32: Mention the intl from glibc vs from gettext issue.
11953
11954 1999-08-13  Tor Lillqvist  <tml@iki.fi>
11955
11956         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
11957         in the key event handling: Now AltGr chars work again. Also,
11958         now Alt-digits are passed up as well as Control-digits.
11959         Pass keypad plus and minus as normal plus and minus.
11960
11961 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
11962
11963         * docs/gtkfaq.sgml: FAQ Update
11964
11965 1999-07-25  Tor Lillqvist  <tml@iki.fi>
11966
11967         * README.win32
11968         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
11969         the Wintab SDK.
11970
11971         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
11972         OK, but getting closer. Guard against bogus tilt data from Wacom
11973         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
11974         enable easier building without Wintab.
11975
11976         * gdk/win32/gdkinput.h
11977         * gdk/win32/gdkevents.c 
11978         * gdk/win32/gdkwindow.c: Minor changes related related to above.
11979         
11980         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
11981         code. As we have just one visual on Win32, no sense to have it in a
11982         table, and no need for the hash table.
11983
11984         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
11985         better on white background.
11986
11987 1999-07-21  Tor Lillqvist  <tml@iki.fi>
11988
11989         * README.win32: Update gcc build instructions. Mention gettext is
11990         GPL.
11991
11992         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
11993         supported cursor size with GetSystemMetrics.
11994
11995         * gdk/win32/gdkfont.c
11996         * gtk/gtkfontsel.c: Guard against some font weight and charset
11997         symbols being undefined (in mingw32 headers).
11998
11999         * gdk/win32/makefile.cygwin
12000         * gtk/makefile.cygwin
12001         * gtk/gtkthemes.c: No longer need to have differently named
12002         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
12003
12004 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
12005
12006         * docs/gtkfaq.sgml: Long awaited FAQ update.
12007
12008 1999-07-15  Tor Lillqvist  <tml@iki.fi>
12009
12010         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
12011         it. Obscure bit manipulation needed.
12012
12013         * gdk/win32/gdkevents.c: Logging.
12014         
12015         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
12016         style (file name include compiler name) for theme engines.
12017
12018 1999-07-13  Tor Lillqvist  <tml@iki.fi>
12019
12020         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
12021
12022         * gdk/win32/gdkevents.c: Fix long-standing bug in key
12023         events. The key.string wasn't zero-terminated, still we strdup'ed
12024         it in gdk_event_copy(). Synthesize crossing events for button
12025         events before possible propagation.
12026
12027         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
12028
12029         * gdk/win32/makefile.cygwin
12030         * gtk/makefile.cygwin: Use new DLL naming style for the
12031         GCC-compiled ones.
12032
12033         * gdk/win32/makefile.msc
12034         * gtk/makefile.msc: Cosmetics mostly.
12035
12036         * gtk/gtk.def: Add missing entry points.
12037
12038         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
12039
12040 1999-07-09  Tor Lillqvist  <tml@iki.fi>
12041
12042         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
12043         or height is zero. Don't print a warning if Pie or Arc fails, they
12044         always fail (?) for very narrow ellipses.
12045
12046         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
12047         the part or the destination window corresponding to source area
12048         outside of the source drawable's boundary.
12049
12050         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
12051         anything if less than two points.
12052
12053         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
12054         return NULL. Gtk cut-and-paste inside a single program works
12055         better this way. (It always gets the clipboard contents from
12056         Windows, not from its own copy, which is cleared anyway. I can't
12057         say I fully understand what happens... Emulating the X selection
12058         and property stuff is a bit of a mess.)
12059
12060         * gdk/win32/gdkevents.c
12061         * gdk/win32/gdkproperty.c: A bit more verbose logging.
12062
12063         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
12064         that never got deleted). Revamp gdk_region_shrink.
12065
12066         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
12067         after use.
12068
12069         * gtk/gtk.def: Add some missing entry points.
12070
12071         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
12072         component.
12073
12074 1999-07-04  Tor Lillqvist  <tml@iki.fi>
12075
12076         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
12077         Control-digits specially.
12078
12079 1999-07-03  Tor Lillqvist  <tml@iki.fi>
12080
12081         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
12082
12083 1999-06-28  Tor Lillqvist  <tml@iki.fi>
12084
12085         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
12086         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
12087         finding this.)
12088
12089 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
12090
12091         * gtk+.spec.in: Corrected some typos in files section.
12092         
12093 1999-06-15  Tor Lillqvist  <tml@iki.fi>
12094
12095         * README.win32: Mention using GNU gettext.
12096         * config.h.win32: Enable NLS stuff.
12097         * gtk/makefile.msc: Use GNU gettext.
12098         * gdk/win32/gdkdnd.c: Minor header reorg.
12099         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
12100         cosmetics.
12101         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
12102         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
12103
12104 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
12105
12106         * acinclude.m4
12107         * config.guess
12108         * config.status
12109         * ltconfig
12110         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
12111
12112 1999-05-30  Tor Lillqvist  <tml@iki.fi>
12113
12114         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
12115         SafeAdjustWindowRectEx. Don't override all calls to
12116         AdjustWindowRectEx by it, but use it only in two places: When
12117         creating a new top-level window and when moving a top-level
12118         window.
12119
12120         Use screen coordinate rectangle, not client rectangle, in
12121         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
12122         when we try to place a window so that the decoration (mainly,
12123         title bar) isn't visible.
12124
12125         These changes fix the bug that showed up for instance as the
12126         GIMP's saved top-level windows moving right and down (by an amount
12127         equal to the window decoration) for each session. This bug showed
12128         up also in testgtk's "Saved Position".
12129
12130         gdk_window_resize also redone a bit.
12131
12132 1999-05-25  Tor Lillqvist  <tml@iki.fi>
12133
12134         * gtk/testgtkrc: Add (commented out) Windows-style theme
12135         include line.
12136
12137         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
12138
12139 1999-05-18  Tor Lillqvist  <tml@iki.fi>
12140
12141         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
12142         gdkx.h to a gdk subdirectory, so that applications can include
12143         these with <gdk/*.h> without trouble.
12144
12145         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
12146         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
12147         have their bitmap destroyed.
12148
12149         * gdk/win32/gdk.def: Add gdk_root_parent.
12150
12151 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
12152
12153         * configure.in
12154           gtk-config.in
12155           ltconfig
12156           ltmain.sh     
12157           gtk/Makefile.am: changes to compile nicely (with xlib) 
12158           on BeOS
12159
12160 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
12161
12162         * acinclude.m4
12163         * config.guess
12164         * config.sub
12165         * ltconfig
12166         * ltmain.sh: upgrade to libtool 1.3
12167
12168 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
12169
12170         * gtk/gtkclist.c:
12171         * gtk/gtkctree.c: merges from gtk-1-2
12172
12173 1999-04-25  Tor Lillqvist  <tml@iki.fi>
12174
12175         Support added for building using a GNU toolchain on Win32,
12176         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
12177
12178         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
12179         * config.h.win32: Changes for gcc.
12180         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
12181         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
12182         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
12183         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
12184         Protect shl stuff unavaiilable with mingw32 headers.
12185         * gdk/win32/gdkevents.c: Fix typo.
12186         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
12187         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
12188         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
12189         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
12190         the mingw32 headers.
12191         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
12192         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
12193         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
12194         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
12195         Test for NATIVE_WIN32, not _MSC_VER.
12196         * gtk/gtkmain.c: No use warning about developer version on Win32,
12197         there aren't any non-developer versions anyhow.
12198         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
12199         * gtk/makefile.msc: Use pthread from another directory. Minor other
12200         changes. 
12201
12202 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
12203
12204         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
12205           default filter from the list
12206
12207 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
12208
12209         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
12210          when gtk_widget_grab_default() is called for a widget that
12211          is not within a GtkWindow.
12212
12213 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
12214
12215         * docs/gtk_tut.sgml, examples/clist.c: use a
12216           scrolled window in the clist example. Minor
12217           tutorial fixes.
12218
12219 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
12220
12221         * docs/gtk_tut.sgml: Style check from David King
12222           <dking@youvegotmail.net>
12223
12224 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
12225
12226         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
12227         compile with unknown value of GDK_WINDOWING
12228
12229 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
12230
12231         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
12232         after the rule is fired.
12233         (install-exec-local): Install gdkconfig.h only if the contents are
12234         different from the currently installed gdkconfig.h.
12235
12236 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
12237
12238         * gdk/Makefile.am (configexecincludedir): Rename from 
12239         configincludedir so that gdkconfig.h will be installed 
12240         as part of `make install-exec'. 
12241
12242 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
12243
12244         * acinclude.m4
12245         * config.guess
12246         * config.sub
12247         * ltconfig
12248         * ltmain.sh: upgrade to libtool 1.2f
12249
12250         * autogen.sh: libtool is not required to autogen gtk+
12251
12252         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
12253         needed)
12254
12255 1999-03-18  Tor Lillqvist  <tml@iki.fi>
12256
12257         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
12258         declaring gdk variables exported/imported from the DLL. New image
12259         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
12260         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
12261         GDK_DRAG_PROTO_OLE2.
12262
12263         * gdk/gdk.h: Merge in Win32 version: Two new functions,
12264         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
12265         declared only for the Win32 version, but could be in the X11
12266         version as well. (Needed for a Xlib-less gdk_imlib.)
12267         gdk_color_hash should have only one parameter. Declare
12268         gdk_threads_mutex with GDKVAR.
12269         
12270         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
12271         just one parameter.
12272
12273         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
12274         per pixel, not bits.
12275
12276         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
12277         Fetch bpp (which means bits-per-pixel here) from another place on
12278         Win32. Accept also depth==32 (which we might get on Win32) with
12279         bpp==32.
12280
12281         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
12282         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
12283         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
12284         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
12285         in the backend-dependent directory, not in the common gdk
12286         directory.
12287
12288         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
12289         headers.
12290
12291 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
12292
12293         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
12294         want to use the Gtk+ devel version (which is true, and yes - even i am
12295         currently working with the 1.2.x branch). so everyone reading this, you
12296         probably want to issue
12297         cvs checkout -r glib-1-2 glib
12298         and
12299         cvs checkout -r gtk-1-2 gtk+
12300         as your next two comands.
12301
12302 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
12303
12304         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
12305         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
12306
12307         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
12308         file. strongly deprecated the GTK_HAVE_* macros, we provide
12309         GTK_CHECK_VERSION() for people that need to check for certain
12310         Gtk+ versions.
12311
12312         * gtk/gtkcompat.h: removed this from CVS.
12313         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
12314         idea right from the start, it just didn't seem like that back then.
12315
12316 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
12317
12318         * merges from gtk-1-2:
12319
12320 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
12321
12322         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
12323         item factory class has been created.
12324         (gtk_item_factory_parse_rc): likewise.
12325
12326         * gtk/gtkmenu.c:
12327         keep proper references for old_active_menu_item.
12328         (gtk_menu_reparent): unset the usize of the new parent,
12329         so the menu can sanely be size requested and we don't get nasty screen
12330         artefacts upon next reparentation.
12331         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
12332         enter notify. only synthesize enter notifies if the pointer really is
12333         inside the event window.
12334         (gtk_menu_popdown): use gtk_menu_shell_deselect().
12335         (gtk_menu_popup): move the background setting stuff into
12336         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
12337
12338         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
12339         gtk_menu_shell_select_item() to select the new item.
12340         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
12341         do the right thing for deselection as well.
12342
12343 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
12344
12345         * gtk/gtkwidget.[hc]:
12346         (gtk_widget_accelerators_locked): return whether a widget's accelerators
12347         are locked.
12348
12349         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
12350         existing accelerators if the widget's accelerators are locked.
12351
12352 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
12353
12354         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
12355
12356         * gtk/gtkmenu.c: truely forward key press and key release events to
12357         the menu widget from the toplevel or tearoff window. we can't simply
12358         connect to that, we need to stop further processing of the events as
12359         well.
12360
12361 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
12362
12363         * gtk/gtkmenu.c:
12364         (gtk_menu_key_press): pass event->keyval, event->state to
12365         gtk_accelerator_valid, instead of event->keyval twice.
12366         refuse to install single letter accelerators for menus that use
12367         single letter shortcuts.
12368
12369         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
12370         gtk_menu_ensure_uline_accel_group().
12371
12372         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
12373         which will always return an uline accel group, made
12374         gtk_menu_get_uline_accel_group() return NULL if the group isn't
12375         yet created.
12376
12377 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
12378
12379         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
12380
12381         * gtk/gtkclist.c (gtk_clist_column_title_passive):
12382         Leave button sensitive, trap  button_press, button_release,
12383         motion_notify, enter_notify and leave_notify events instead.
12384         (gtk_clist_column_title_active): disconnect event handler.
12385         (gtk_clist_drag_data_get): fixed memory leak. Reported by
12386         Guillaume Laurent <glaurent@worldnet.fr>
12387
12388 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
12389
12390         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
12391         width/height mixups.
12392
12393         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
12394         if needed.
12395
12396 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
12397
12398         * gtk/testgtk.c (create_item_factory): unref the item factory after
12399         window's destruction.
12400
12401         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
12402         count on the menu shell around the menu item's activation, since the
12403         signal emission may cause menu shell destruction.
12404
12405         * gtk/gtkitemfactory.c:
12406         the previous code leaked one accel group per menu. we use
12407         gtk_menu_get_uline_accel_group() now to fix that, and with that
12408         also create the underline accelerator group of the menus only if
12409         required (i.e. an underline accelerator has been specified).
12410         (gtk_item_factory_construct):
12411         (gtk_item_factory_create_item): removed code that would create an
12412         extra accel group for the menu (and leak references).
12413         (gtk_item_factory_create_item): adapted the underline accelerator
12414         installation code to properly feature gtk_menu_get_uline_accel_group().
12415
12416         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
12417         menu->accel_group, this may return NULL if the accelerator group
12418         hasn't been set yet.
12419         added gtk_menu_get_uline_accel_group() to retrive the underline
12420         accelerator group of the menu, this will be created on demand
12421         and proper care is taken about its reference count.
12422
12423         * gtk/gtkitemfactory.h:
12424         * gtk/gtkitemfactory.c:
12425         dumped the approach of keeping a widgets by action list on the
12426         factory since the factory<->widget destroy negotiation didn't work
12427         and would be hard to get going at all. instead we keep a list of
12428         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
12429         persistant throughout a program's life time).
12430         also, i removed the static const gchar *key_* variables, and made
12431         them inline strings (they weren't actually used anyways).
12432         (gtk_item_factory_add_item): update ifactory->items.
12433         (gtk_item_factory_destroy): destroy ifactory->items (and remove
12434         the item factory pointer from the remaining ifactory widgets).
12435         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
12436         list to find the widget.
12437         (gtk_item_factory_get_item): new function that works around
12438         gtk_item_factory_get_widget() limitations, this function will only
12439         return menu items, even for <Branch> entries.
12440
12441 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
12442
12443         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
12444         font hash table, if we have a GdkFontPrivate entry for this font
12445         already, simply increment its reference count, provided by Olaf Dietsche
12446         <olaf.dietsche+list.gtk@netcologne.de>.
12447
12448         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
12449         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
12450
12451 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
12452
12453         * gtk/gtkcontainer.c:
12454         (gtk_container_add_with_args):
12455         (gtk_container_addv):
12456         (gtk_container_add): before adding a child to a conatiner, make sure
12457         it is (default) constructed, this is neccessary because under certain
12458         circumstances the child will get relized and mapped immediatedly, in
12459         which case it has to be constructed already.
12460
12461 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
12462
12463         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
12464         values > 1 as TRUE also.
12465
12466 1999-03-16  Tor Lillqvist  <tml@iki.fi>
12467
12468         * README.win32: New file.
12469                 
12470         * configure.in: Check for lstat.
12471
12472         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
12473         completeness.
12474
12475         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
12476
12477         * gtk/gtk.def: Removed CRs.
12478
12479         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
12480         ..\gdk\win32).
12481
12482         * gdk/win32/makefile.msc: Correct upwards relative paths.
12483         
12484 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
12485
12486         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
12487           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
12488           it was connecting a void function to expose_event and the int
12489           returning function to the draw signal
12490
12491 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
12492
12493         * configure.in:
12494         Use correct path to libgmodule.la when ref'ing uninstalled copy
12495         of glib.  (Already in stable branch, Bug #417)
12496
12497 1999-03-15  Tor Lillqvist  <tml@iki.fi>
12498
12499         Win32 merge and general portability stuff:
12500                 
12501         * acconfig.h,configure.in: Check for <sys/time.h>.
12502
12503         * gdk/win32: New directory (actually, been there for a while).
12504         
12505         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
12506         NATIVE_WIN32, and use these. Always case fold on Win32. No
12507         backslashed escapes on native Win32.
12508
12509         * gtk/{gtk.def,makefile.msc}: New files.
12510
12511         * gtk/Makefile.am: Add above new files.
12512         
12513         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
12514         instead of <strings.h>.
12515
12516         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
12517         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
12518         <unistd.h> appropriately.
12519
12520         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
12521         Use ABS() (from <glib.h>) instead of abs().
12522         
12523         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
12524         of gtk (and thus glib) headers, so that WIN32 will be
12525         defined. With MS C, include <direct.h> for mkdir prototype.
12526
12527         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
12528         some casts, needed by MS C.
12529
12530         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
12531         implemented).
12532
12533         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
12534         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
12535         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
12536
12537         * gtk/gtkmain.h: Mark variables for export/import on Win32.
12538                 
12539         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
12540         the event is not a hint, or its window is not the slider. Needed
12541         on Win32, at least.
12542
12543         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
12544         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
12545         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
12546         a subdirectory of the Windows directory as gtk system
12547         configuration directory.
12548
12549         * gtk/gtkselection.c: No chunks on Win32.
12550
12551         * gtk/gtksocket.c: Not implemented on Win32.
12552
12553         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
12554
12555         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
12556
12557         * gtk/maketypes.awk: Declare variables with a macro that expands to
12558         necessary export/import magic in the case of Win32.
12559                 
12560         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
12561
12562 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
12563
12564         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
12565         since those were meant only for gdki18n.h.  
12566         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
12567         for widechar tests.
12568         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
12569
12570 1999-03-13  Tor Lillqvist  <tml@iki.fi>
12571
12572         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
12573         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
12574
12575         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
12576         installed) to CFLAGS.
12577
12578         * gdk/Makefile.am: Add rules for gdkconfig.h.
12579
12580         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
12581         APIs.
12582
12583         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
12584         gdkx.h anyway when compiling for X11.
12585         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
12586         general): Merge in Win32 version.
12587         
12588         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
12589         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
12590         expansion (if we don't have HAVE_PWD_H), allow for drive
12591         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
12592         included code from Craig Setera's port to Win32 (the one that uses
12593         X11, and the cygwin dll), even if it probably will be abandoned.
12594
12595         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
12596         the user entered one herself.  This way one can complete *.h and
12597         don't get matches on any .help files, for instance.
12598         
12599 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
12600
12601         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
12602         font hash table, if we have a GdkFontPrivate entry for this font
12603         already, simply increment its reference count, provided by Olaf Dietsche
12604         <olaf.dietsche+list.gtk@netcologne.de>.
12605
12606         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
12607         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
12608
12609 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
12610
12611         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
12612         the number of calls to gdk_draw_point() (and thus to X) by
12613         clipping the points by hand.
12614
12615         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
12616         the clip parameter.
12617         (gtk_handle_box_paint): Only paint the handle if the expose area
12618         intersects it.
12619
12620 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
12621
12622         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
12623
12624 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
12625
12626         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
12627         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
12628
12629 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
12630
12631         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
12632          textmode (O_TEXT) for OS/2 version.
12633
12634 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
12635
12636         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
12637         GtkSpinButton, "input" and "output", to make the output more flexible.
12638         The user has to provide a mapping between adjustment->value and the
12639         output string (and vice versa, if the spin button is editable). 
12640         See testgtk for examples.
12641
12642 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
12643
12644         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
12645         new one.
12646         
12647         * configure.in: set gtk+ version to 1.3.0.