]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-0
1d5c0b3666f4021e33a0c2cee78e0afee3d61fa3
[~andy/gtk] / ChangeLog.pre-2-0
1 2001-02-16  Alexander Larsson  <alexl@redhat.com>
2
3         * gtk/gtktreemodelmapping.[ch]:
4         New files. Implement GtkTreeModelMapping.
5         
6         * gtk/Makefile.am:
7         Add gtktreemodelmapping.[ch].
8         
9         * gtk/gtk.h:
10         Add gtktreemodelmapping.h
11
12         * gtk/treestoretest.c:
13         Test the GtkTreeModelMapping
14
15 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
16
17         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
18         have a demo, we might as well pass in real values.  Thanks to
19         clahey for pointing this out.
20
21 2001-02-14  Havoc Pennington  <hp@pobox.com>
22
23         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
24         "static" to a private function
25         (gtk_image_menu_item_class_init): remove destroy handler,
26         add "image" object property
27
28 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
29
30         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
31         Add a shortcut if the window and the current clip_region doesn't
32         overlap. This is needed when there are a lot of windows in a
33         window. The layout test in testgtk is a good test.
34
35         * gdk/linux-fb/gdkwindow-fb.c:
36         Whitespace fix.
37
38 2001-02-13  Sven Neumann  <sven@convergence.de>
39
40         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
41
42 2001-02-13  Alexander Larsson  <alexl@redhat.com>
43
44         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
45         Don't reference last_cursor if it is null. Fixes crash when rotating
46         the screen before having moved the mouse.
47
48         * gdk/linux-fb/gdkcc-fb.c: Zapp!
49
50         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
51
52         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
53         when using 90 or 270 degrees rotation.
54
55 2001-02-12  Havoc Pennington  <hp@pobox.com>
56
57         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
58         it always set the foreground, even if we were only using
59         a stipple.
60         (gdk_draw_layout_line_with_colors): new function, allow
61         override colors
62         (gdk_draw_layout_with_colors): new function, allow override
63         colors
64         (gdk_pango_layout_line_get_clip_region): function to get the clip
65         region for a logical text range
66         (gdk_pango_layout_get_clip_region): get the clip region for a
67         logical text range
68
69         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
70         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
71         the right number of arguments.
72
73         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
74         enhance the function to check that node data corresponds to a 
75         view still belonging to the tree.
76
77         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
78         GtkTreePath
79         (gtk_tree_view_inserted): ditto
80         (gtk_tree_view_child_toggled): ditto
81
82         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
83         simplify this code.
84
85         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
86         a PangoAttrList
87
88         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
89
90         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
91
92         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
93         size in the size request 
94         (gtk_menu_bar_size_allocate): consider toggle size here
95
96         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
97         that displays a widget in the toggle slot
98
99         * gtk/testgtk.c: test GtkImageMenuItem
100
101         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
102         
103         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
104         request and allocation
105
106         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
107
108         * gtk/gtkcheckmenuitem.c
109         (gtk_check_menu_item_toggle_size_request): ditto
110         
111 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
112
113         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
114         reference.
115
116         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
117         and refuse to initialize GTK+ if they fail.
118
119 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
120
121         * configure.in: Add check for gtk-doc version.
122
123 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
124
125         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
126         where the xpad/ypad was only being used on one side!
127
128 2001-02-11  Tor Lillqvist  <tml@iki.fi>
129
130         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
131         function, copied from X11 version.
132
133         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
134         DestroyCursor failures. The reason for the problem (despite the
135         inconsistent messages from GetLastError()) was that
136         DestroyCursor() cannot be called while a cursor is set in a
137         window. Set the new cursor first and then destroy the old one.
138         Thanks to jpe@archaeopteryx.com.
139
140         * gdk/win32/gdkcc-win32.c: Remove.
141
142         * gdk/win32/Makefile.am: Remove from here, too.
143         
144         * gdk/gdk.def
145         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
146
147         * gtk/gtk.def
148         * gtk/makefile.mingw.in: Updates.
149
150 2001-02-08  Havoc Pennington  <hp@redhat.com>
151
152         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
153         add a widget to a bin that already has a child.
154
155         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
156
157         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
158         
159         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
160
161         * gdk/gdk.h: remove gdkcc.h
162
163         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
164
165         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
166         GdkPixbuf, since the previous implementation was GdkColorContext
167         dependent.
168
169         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
170         
171 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
172
173         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
174         a sane value!
175
176 2001-02-08  Havoc Pennington  <hp@redhat.com>
177
178         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
179         lighten them.
180
181 2001-02-08  Havoc Pennington  <hp@redhat.com>
182
183         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
184         validation idle
185
186         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
187         cell renderer
188
189         * demos/pixbuf-demo.c (timeout): remove deprecated
190         gtk_widget_draw
191
192         * demos/testpixbuf-save.c (main): remove deprecated
193         gtk_drawing_area_size
194
195         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
196         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
197         at the start of the allocation.
198         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
199         unsetup or NULL model.
200
201         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
202         even/odd/sorted cells in the tree view.
203
204         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
205         bugfixes
206
207         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
208         backgrounds with draw_flat_box using different detail for even/odd
209         rows.
210
211         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
212         row, so we can draw the alternating colors thing
213
214         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
215         property from a synonym property, notify for the synonym.
216         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
217         (gtk_text_tag_get_property): Always return the font, even if
218         all its fields aren't set
219
220         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
221         store the attr list; it leaves us with no way to change attributes
222         in _render according to the render flags, and no way to implement
223         get_property. Instead store all the specific text attributes. 
224         Separate whether an attribute is enabled from its value. Sync all
225         properties with GtkTextTag, make them all consistent, etc.
226
227         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
228         renderers can highlight the sort row/column     
229
230         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
231         accessor functions to get values; this has the side effect of
232         showing up which accessor functions were missing. Added those.
233
234         * gtk/gtktreeviewcolumn.h: Replace set_justification with
235         set_alignment, to be consistent with GtkLabel, GtkMisc
236
237         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
238         arrow.
239
240         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
241
242         * gtk/gtktreesortable.h: updates in here
243
244 2001-02-07  Sven Neumann  <sven@convergence.de>
245
246         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
247         pango dimensions after painting the background. We used to draw
248         gigantic flat boxes here.
249
250 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
251
252         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
253         error introduced with earlier commit) (pointed out by
254         Ollie Lho)
255
256 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
257
258         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
259         which are no longer necessary.
260
261 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
262
263         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
264
265 2001-02-04  Tor Lillqvist  <tml@iki.fi>
266
267         * gdk/gdk.def
268         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
269         Provide dummy implementations.
270
271 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
272
273         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
274
275         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
276         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
277         deprecated this function.
278
279         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
280         argument.
281
282 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
283
284         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
285
286 2001-02-03  Havoc Pennington  <hp@pobox.com>
287
288         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
289         Mikael Hermansson with patch from Mikael (if there was a toggle
290         start one after the first character in the range, this function
291         was broken). Bug #50380
292
293 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
294
295         * configure.in: Remove confusing comment about X11.
296
297 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
298
299         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
300         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
301         
302 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
303
304         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
305         it breaks things on BSD. If you want to compile GTK+ with
306         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
307         when configuring, since GTK+ simply can't be "pure ANSI" 
308         in the header files it uses. (#8170, Greg Hudson)
309
310 2001-02-02  Havoc Pennington  <hp@redhat.com>
311
312         * gtk/gtkwindow.c: docs
313
314         * gtk/gtkwidget.c: docs
315         (gtk_widget_set_colormap): add a reference to the colormap
316         (gtk_widget_get_default_colormap): add a reference to the colormap
317
318         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
319
320         * gtk/gtktextiter.c: docs
321
322         * gtk/gtkmain.c (gtk_propagate_event): docs
323
324         * gtk/gtkpaned.c (gtk_paned_get_position): docs
325         (gtk_paned_set_position): docs
326
327         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
328         sort interface, no implementation yet.
329
330         * demos/testpixbuf.c (new_testrgb_window): replace
331         gtk_drawing_area_size() with gtk_widget_set_usize()
332
333         * demos/testpixbuf-drawable.c (main): ditto
334         
335         * gtk/testgtk.c: remove use of GtkStatusbarMsg
336
337         * gtk/gtktextbuffer.c: docs
338
339         * gtk/gtkstock.c: docs
340
341         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
342
343         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
344
345         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
346         
347         * gtk/gtkimage.c: add some docs in here
348         (gtk_image_size_request): change name of
349         gtk_widget_render_stock_icon
350         (gtk_image_get_icon_set): don't dup returned string
351         (gtk_image_get_icon_set): don't dup returned string
352
353         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
354         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
355         and gtkiconfactory.h functions
356
357         * gtk/gtkiconfactory.c: add some docs in here
358
359         * gtk/gtkmain.c (gtk_get_default_language): document
360         (gtk_get_current_event): document
361         (gtk_get_current_event_state): document
362         (gtk_get_event_widget): document
363
364         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
365
366         * gtk/gtkcontainer.c: Add some documentation
367         (gtk_container_add): give a more explanatory warning on adding an
368         already-parented widget, this is kind of a FAQ and also a common
369         typo that's easier to debug with a nice warning 
370
371         * gtk/gtkcellrenderertoggle.c
372         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
373         adding this, it's useless
374         (gtk_cell_renderer_toggle_set_active): remove
375         (gtk_cell_renderer_toggle_get_radio): add
376
377         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
378         the NULL cell renderer, that doesn't make any sense to me. 
379
380         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
381         demo code should never use deprecated features.
382
383         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
384         code should never use deprecated features.
385
386         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
387         gtk_widget_queue_clear_area deprecated
388
389         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
390         deprecated
391
392         * gtk/gtklabel.h: mark gtk_label_get() deprecated
393
394         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
395         a GdkImage deprecated, replaced by new consistently-named
396         functions       
397
398         * gtk/gtkmain.h: Mark gtk_exit() deprecated
399
400         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
401
402         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
403         deprecated
404
405         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
406         so it won't appear in docs and confuse people.
407
408         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
409
410         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
411         macros deprecated. (can't mark the type itself deprecated, since
412         GtkProgressBar is not deprecated and we need the type decl to use
413         GtkProgressBar)
414
415         * gtk/gtkpixmap.h: Mark deprecated
416
417         * gtk/gtkoldeditable.h: Mark deprecated
418
419         * gtk/gtklist.h: Mark deprecated
420
421         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
422         for anything anymore.
423
424         * gtk/gtkctree.h: Mark deprecated
425
426         * gtk/gtkclist.h: Mark deprecated
427
428         * gtk/gtkpreview.h: Mark deprecated
429
430         * gtk/gtkpacker.h: Mark deprecated
431
432         * gtk/gtktipsquery.h: Mark deprecated
433
434         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
435
436         * gtk/gtkvruler.h: Add comment that it will move out of GTK
437
438         * gtk/gtkhruler.h: Add comment that it will move out of GTK
439
440         * gtk/gtkruler.h: Add comment that it will move out of GTK
441
442         * gtk/gtkgamma.h: Add comment that it will move out of GTK
443
444         * gtk/gtkcurve.h: Add comment that it will move out of GTK
445
446 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
447
448         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
449         gdk_colormap_sync private since it was never exported
450         in a header file.
451
452         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
453         colormap->colors[] for StaticGray, StaticColor colormaps.
454
455         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
456         was being used as if it was image->bits_per_pixel.
457
458         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
459         for the image in the GdkImage structure since it isn't
460         reconstructable, and we need it to handle packed types
461
462         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
463         the assumption that on Win32 image->bits_per_pixel == image->depth,
464         always.
465
466         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
467
468         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
469         warning message if no converter can be found. 
470
471 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
472
473         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
474         chars to isupper() / tolower(). (#567)
475
476         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
477         to clear up 64-bit warnings. (#567)
478
479 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
480
481         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
482         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
483
484         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
485         since some people set $(libdir) separately. (#1290, David Kaelbling)
486
487 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
488
489         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
490         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
491         MAXPATHLEN, but the code here depends on a fixed value.)
492         (#4524)
493
494 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
495
496         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
497         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
498
499 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
500
501         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
502         viewable there is no way that moving the node will cause the 
503         focus row to become not viewable, so omit check on the visibility
504         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
505
506 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
507
508         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
509         selection before inserting new text.
510
511 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
512
513         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
514         Make the sensitivity of the reparented child track that of
515         the original parent menu item. (#34218, David Hodson)
516
517         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
518         the case where the current item is destroyed properly.
519
520         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
521         some edge cases with child-less menuitems.
522         
523 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
524
525         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
526         key pop down window. (#12074, Jon K Hellan)
527
528 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
529
530         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
531         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
532         The solution here isn't perfect - you get an extraneous
533         emission of "toggle", which could conceivably confuse an app,
534         but better than the current situation. LXR search seems to
535         indicate that no apps in GNOME CVS connect to "toggle".
536
537 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
538
539         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
540         gtk_public_h_sources to directly here to avoid warning when
541         building srcdir != builddir. (#9656)
542
543 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
544
545         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
546         handlers in gtkrange.c return the proper values (TRUE == handled)
547         (#10316).
548
549         This is just the tip of the iceberg, but gtkrange.c is the
550         most common place where the propagation is problematical,
551         and also a place where it is almost certainly safe to change
552         this in the stable branch.
553
554         (You don't want right click popups on a range control or anything...)
555
556 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
557
558         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
559         area on focus out, even if a background pixmap isn't set.
560         (#13941)
561         
562 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
563
564         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
565         to deal with setting the shape properly when scrolling arrows are
566         turned on, but not visible because there is sufficient space.
567         (#13432)
568
569 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
570
571         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
572         items with submenus, destroy the item along with the submenu.
573         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
574         properly.
575
576         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
577         later.
578
579 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
580
581         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
582         the focus widget sometimes wasn't drawn with the default if there
583         was no default widget.
584
585         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
586         unreference pixmaps. 
587
588         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
589         for some extra safety.
590
591 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
592
593         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
594         the text of a cell to the old pointer value better, by
595         copying the new text before freeing the old text. Some code
596         cleanup. (#8079, Karl Nelson)
597
598 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
599
600         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
601         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
602
603 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
604
605         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
606         item from a menu, check to see if it matches 
607         menu->old_active_menu_item, and if so, unref and clear
608         old_active_menu_item (Patch from Pavel Cisler)
609
610         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
611         menu_shell->active_menu_item, if it is the child being
612         removed. (Patch based on that of Gene Ragan, #50337)
613
614 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
615
616         * gdk/linux-fb/gdkselection-fb.c: 
617         * gdk/linux-fb/gdkcolor-fb.c: 
618         * gdk/linux-fb/gdkdrawable-fb2.c: 
619         * gdk/linux-fb/gdkfont-fb.c: 
620         * gdk/linux-fb/gdkim-fb.c: 
621         * gdk/linux-fb/gdkinput.c: 
622         * gdk/linux-fb/gdkkeyboard-fb.c: 
623         * gdk/linux-fb/gdkmain-fb.c: 
624         * gdk/linux-fb/gdkrender-fb.c: 
625         A bunch of whitespace cleanup.
626         
627 2001-01-30  Havoc Pennington  <hp@pobox.com>
628
629         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
630         #ifdef GTK_ENABLE_BROKEN.
631
632         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
633         GTK_ENABLE_BROKEN just before including the broken headers.
634         
635         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
636         deprecated types registered.
637
638         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
639         we have to test the broken stuff.
640
641         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
642         
643 2001-01-30  Havoc Pennington  <hp@redhat.com>
644
645         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
646         here where prev pointer was set to the wrong thing
647
648         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
649         (gtk_tree_path_is_descendant): new function
650
651         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
652         cached length
653         (gtk_list_store_get_iter): don't modify iter if we can't get the
654         path.
655
656         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
657         
658         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
659         GtkTreeDragDest
660
661         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
662         was causing segfault
663
664         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
665         pointer to NULL
666
667         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
668
669         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
670         on returning FALSE
671         (gtk_list_store_iter_children): ditto
672         (gtk_list_store_iter_nth_child): ditto
673         (gtk_list_store_iter_nth_child): ditto
674         (gtk_list_store_iter_parent): ditto
675
676         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
677         on iter->user_data != NULL instead of silently accepting it.
678         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
679         we are returning TRUE.
680         (gtk_tree_store_iter_children): ditto
681         (gtk_tree_store_iter_nth_child): ditto
682         (gtk_tree_store_iter_parent): ditto
683         (gtk_tree_store_insert): remove handling of parent->user_data ==
684         NULL, replace with parent == NULL       
685
686         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
687         and a comment explaining things
688
689         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
690         interface support to GtkTreeStore.
691
692         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
693         FALSE if no prev, fix
694
695         * gtk/gtktreeview.c (set_source_row): use a row reference
696         (set_dest_row): use a row reference
697
698 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
699
700         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
701         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
702         (gtk_tree_selection_select_iter): The same as above.
703
704 2001-01-26  Havoc Pennington  <hp@redhat.com>
705
706         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
707         which holds a handle to a specific row (particular set of values
708         in the model, i.e. pointer-identity row).
709
710         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
711         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
712         Still need to use it for the src/dest row saved on the drag context.
713
714 2001-01-26  Havoc Pennington  <hp@redhat.com>
715
716         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
717
718         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
719         not offset by TREE_VIEW_HEADER_HEIGHT
720         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
721         TREE_VIEW_HEADER_HEIGHT
722
723         * configure.in (included_loaders): for me, --with-included-loaders
724         generates the error "the specified loader yes does not exist",
725         i.e. the arg defaults to "yes", so change test for value ""
726         to test for value "yes", and include all loaders in that case.
727
728         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
729
730         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
731         handle TREE_VIEW_VERTICAL_SEPARATOR
732         (gtk_tree_view_bin_expose): fix to consider the row offset as
733         pointing halfway into vertical separator.       
734         (gtk_tree_view_draw_node_focus_rect): ditto
735
736         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
737         --gtk-debug=updates, which causes gdk_window_set_debug_updates
738         (TRUE) to be called.
739
740         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
741         debug mode where the invalid region is colored in on invalidate,
742         so you can see the flicker and know whether your redraw code is 
743         doing a good job.
744
745         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
746         tree window coordinates (clip rect is in tree window coords)
747
748         * gtk/Makefile.am: add gtktreednd.[hc]
749
750         * gtk/gtkliststore.c: implement gtktreednd interfaces.
751
752         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
753         drag-and-drop data operations on a model (so we can set up tree
754         drag-and-drop automatically)
755
756         * gtk/testgtk.c: Add a window to change sensitivity in the
757         GtkLabel test; add a way to change the entry frame in GtkEntry
758         test
759
760         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
761         (gtk_entry_get_has_frame): new functions to remove the frame
762         around an entry
763         (gtk_entry_size_request): shrink requisition if no frame
764         (gtk_entry_draw_focus): don't draw frame if no frame
765
766         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
767         checks inside a cell renderer
768         (gtk_default_draw_option): ditto for options
769
770         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
771         children from the alignment, not the button
772         (gtk_tree_view_column_init): ref/sink the column, to emulate
773         GObject refcounting.
774
775         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
776         
777         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
778         Use theme functions to draw the toggles 
779
780         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
781
782         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
783         GdkPangoAttrEmbossed to use in rendering insensitive text
784
785         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
786
787         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
788         using new GDK features
789         
790 2001-01-24  Alexander Larsson  <alexl@redhat.com>
791
792         * gtk/gtkimage.c:
793         Splitted gtk_image_clear into gtk_image_clear() and
794         gtk_image_reset(). Call gtk_image_clear() in ::destroy
795         to avoid leaks.
796
797         * gtk/gtklabel.c (set_markup):
798         Don't leak text.
799
800         * gtk/gtktextlayout.c:
801         Always free display->shaped_objects.
802
803         * gtk/testgtk.c (create_clist):
804         Don't leak custom style.
805
806 2001-01-23  Alexander Larsson  <alexl@redhat.com>
807
808         * gtk/gtkcolorsel.c (grab_color_at_mouse):
809         Don't leak image. Simplify using gdk_colormap_query_color().
810         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
811
812         * linux-fb/gdkcolor-fb.c:
813         Implemented gdk_colormap_query_color.
814
815 2001-01-23  Alexander Larsson  <alexl@redhat.com>
816
817         * linux-fb/gdkcursor-fb.c:
818         Don't leak built-in cursors.
819
820         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
821         Don't leak tmp_points.
822
823         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
824         Don't modify desc. Don't leak font if the PangoFont
825         isn't found.
826         
827         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
828         Free dash_list.
829
830         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
831         Don't leak string.
832         
833 2001-01-20  Havoc Pennington  <hp@pobox.com>
834
835         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
836         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
837         me, matches Pango
838
839 2001-01-22  Havoc Pennington  <hp@redhat.com>
840
841         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
842
843         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
844
845         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
846         Remove, move back to gdk-pixbuf
847
848         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
849         to all the word functions
850
851         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
852         before doing anything on NULL layout or if we don't have the focus
853
854         * gtk/testtext.c (fill_example_buffer): "justification"
855
856         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
857         to be called "justification" not "justify"
858
859         * demos/gtk-demo/textview.c (create_tags): "justification"
860         
861         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
862
863 2001-01-22  Alexander Larsson  <alexl@redhat.com>
864
865         * gdk/gdkwindow.c (gdk_window_invalidate_region):
866         Don't leak visible_region. Use visible_region instead of region.
867         
868         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
869         Don't do extra gdk_drawable_ref(). This is not X.
870         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
871         gdk_fb_focused_window is ref:ed.
872         (gdk_fb_window_send_crossing_events): Watch out for destroyed
873         windows.
874
875 2001-01-22  Alexander Larsson  <alexl@redhat.com>
876
877         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
878         Don't leak the PangoFontDescriptor.
879
880 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
881
882         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
883         when not realized.
884         (gtk_tree_view_scroll_to_cell): Make work when not realized.
885         (gtk_tree_view_realize): add scroll_to support
886         (gtk_tree_view_finalize): add a finalize method.  Populate.
887         (gtk_tree_view_insert_column): ref and sink the column.
888         (gtk_tree_view_append_column): ref and sink the column.
889         (gtk_tree_view_queue_draw_node): New function to handle redrawing
890         individual nodes.  Should make the code much more efficient, if
891         actually used.
892
893 2001-01-19  Havoc Pennington  <hp@redhat.com>
894
895         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
896         byte_offset variable was being used to mean both "offset into
897         layout" and "offset into buffer line" which was no longer true
898         with addition of preedit string; fix
899
900 2001-01-19  Havoc Pennington  <hp@redhat.com>
901
902         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
903
904         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
905         function
906
907         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
908         implement
909
910         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
911         scroll_to_cell, matches TextView scroll functions better
912         (gtk_tree_view_tree_to_widget_coords): new function
913         (gtk_tree_view_widget_to_tree_coords): new function
914         (gtk_tree_view_get_visible_rect): new function
915         (gtk_tree_view_get_path_at_pos): accept negative coordinates
916         (gtk_tree_view_draw_node_focus_rect): new function moved from
917         draw_focus, also, use width of bin_window as width of the focus
918         rect
919         (gtk_tree_view_expand_row): fix bug where it didn't recognize
920         already-expanded rows
921         (gtk_tree_view_get_cell_rect): new function
922         (gtk_tree_view_get_path_at_pos): return the click position
923         relative to the passed-in cell
924         (gtk_tree_view_set_expander_column): new function
925
926         * configure.in: remove gtk-config-2.0 chmod
927
928         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
929         and properly handle drags with targets we don't understand
930         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
931         scrolling anyway
932         (gtk_text_view_drag_drop): stop scrolling here though, and set the
933         mark invisible
934
935         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
936         function
937         (gtk_drag_dest_get_target_list): new function
938         (gtk_drag_dest_set_target_list): new function
939         
940         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
941
942         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
943         related to drag-and-drop
944
945 2001-01-19  Alexander Larsson  <alexl@redhat.com>
946
947         * gdk/linux-fb/gdkprivate-fb.h:
948         Define EMULATE_GDKFONT.
949         Add extra pango_font stuff to GfkFontPrivate.
950         
951         * gdk/linux-fb/gdkdrawable-fb2.c:
952         * gdk/linux-fb/gdkfont-fb.c:
953         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
954         emulation using PangoFont.
955
956 2001-01-17  Havoc Pennington  <hp@pobox.com>
957
958         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
959         all the non-deprecated set_foo functions. Added missing object
960         properties, and added g_object_notify() to setters. 
961         Wrote docs.
962         
963 2001-01-18  Tor Lillqvist  <tml@iki.fi>
964
965         * gtk/gtkmain.c
966         * gtk/gtkrc.c: (Win32) Use the new
967         g_win32_get_package_installation_(sub)directory() functions.
968
969         * config.h.win32.in: New file.
970         
971         * config.h.win32: Removed.
972
973         * configure.in: Output config.h.win32.
974
975         * Makefile.am: Add it to EXTRA_DIST.
976
977         * gtk/gtk.def: Update.
978
979 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
980
981         * gtk/gtklabel.c (gtk_label_size_request): Set the
982         attributes onto the PangoLayout even if they are newly
983         created from label->pattern.
984
985 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
986
987         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
988
989         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
990         structures in functions. Fixes bug where gtk_dataset_*
991         was accidentally still being used in one place, causing
992         every dest side event to be treated independently.
993
994         * gtk/gtkdnd.c: Remove last vestages of handling
995         ::draw (fixes warning)
996         
997         * gtk/gtkentry.[ch]: Add drag and drop support.
998
999         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
1000         new function gtk_check_drag_threshhold() for checking
1001         to check if (dx,dy) has exceeded the threshhold for starting
1002         a drag and use it everywhere.
1003
1004 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
1005
1006         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
1007         add -I{includedir}/gtk-2.0.
1008
1009         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
1010         gdk/gdk-pixbuf.h: Doc fixups.
1011         
1012         * gtk/gtkobject.h: Remove trailing , from enum
1013
1014 2001-01-17 Alexander Larsson <alexl@redhat.com> 
1015
1016         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
1017         Doh! Mixed up x and y.
1018
1019         * gdk/linux-fb/gdkglobals-fb.c:
1020         Removed gdk_fb_pointer_grab_window_events,
1021         added _gdk_fb_pointer_grab_owner_events and
1022         _gdk_fb_keyboard_grab_owner_events.
1023
1024         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
1025         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
1026         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
1027         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
1028         Send crossing events after ungrab finished.
1029         (gdk_keyboard_grab): Set ..._owner_events
1030         (type_masks): Move out of function.
1031         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
1032         gdk_fb_keyboard_event_window): New functions, return the
1033         window an event should be targeted at. Handles grabs and
1034         event propagation. Can return NULL.
1035         (gdk_event_make): Remove event_mask checking. Now always
1036         returns an event.
1037                 
1038         * gdk/linux-fb/gdkkeyboard-fb.c:
1039         * gdk/linux-fb/gdkproperty-fb.c:
1040         * gdk/linux-fb/gdkselection-fb.c:
1041         Use new event_window/gdk_event_make() behaviour.
1042         
1043         * gdk/linux-fb/gdkmouse-fb.c:
1044         Use new event_window/gdk_event_make() behaviour.
1045         Only send motion events if in the same window.
1046         If grabbed, use cursor from window if sibling of grabbed
1047         window, and cursor from grabbed window otherwise.
1048
1049         * gdk/linux-fb/gdkprivate-fb.h:
1050         Update gdk_fb_window_send_crossing_events, gdk_event_make
1051         and grab varaible declarations. Add gdk_fb_*_event_window().
1052
1053         * gdk/linux-fb/gdkwindow-fb.c:
1054         Use new event_window/gdk_event_make() behaviour.
1055         Keep correct track of focus window.
1056         (gdk_window_set_events): Set all specific button motion masks
1057         if GDK_BUTTON_MOTION_MASK set.
1058
1059         * gtk/gtkdnd.c (gtk_drag_update):
1060         Free info->last_event if gdk_drag_motion returned FALSE.
1061
1062 2001-01-16  Tor Lillqvist  <tml@iki.fi>
1063
1064         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
1065         Eliminate redraws when input-only windows are shown or
1066         hidden. Thanks to jpe@archaeopteryx.com.
1067
1068 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
1069
1070         * docs/faq/gtk-faq.sgml: FAQ update:
1071           - Update to bugzilla
1072           - Add GTK+ and security/SUID/SGID
1073           - Add DnD question
1074
1075 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
1076
1077         * gdk/linux-fb/gdkdnd-fb.c:
1078         Some cleanups.
1079         
1080 2001-01-15  Havoc Pennington  <hp@pobox.com>
1081
1082         * tests/testtreeview.c: add test stuff for CellRendererToggle
1083
1084         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
1085         accessor
1086
1087         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
1088         only toggle on button press (would do release like GtkButton, but
1089         we'd need implicit grab code for treeview cells)
1090
1091 2001-01-16  Tor Lillqvist  <tml@iki.fi>
1092
1093         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
1094
1095         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
1096         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
1097
1098         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
1099         to g_{locale,filename}_{to,from}_utf8 to match current API.
1100
1101         * gtk/makefile.msc.in (gtk_OBJECTS)
1102         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
1103
1104         * gtk/gtk.def: Update.
1105
1106 2001-01-15  Tor Lillqvist  <tml@iki.fi>
1107
1108         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
1109         implementaion that more closely mimics the events that an X server
1110         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
1111         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
1112         with nested preview widgets, for instance, more responsive when
1113         you move the mouse quickly into them.
1114         (find_window_for_pointer_event): Make it actually compile.
1115         (gdk_event_translate): Set send_event to the value of
1116         InSendMessage (). This doesn't really mean the same as X11's
1117         send_event flag, but is close enough, says jpe@archaeopteryx.com
1118
1119 2001-01-15  Alexander Larsson  <alexl@redhat.com>
1120
1121         * gdk/linux-fb/gdkdnd-fb.c:
1122         Implemented drag and drop.
1123         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
1124         when it tries to free and then copy the same event (info->last_event).
1125         I am not sure about why this happens, but will continue looking.
1126
1127 2001-01-15  Alexander Larsson  <alexl@redhat.com>
1128
1129         * gdk/linux-fb/gdkwindow-fb.c:
1130         Use gdk_window_invalidate_rect instead of
1131         gdk_window_invalidate_rect_clear to minimise flashing.
1132         When hiding windows you need to clear the root window though.
1133
1134 2001-01-15  Alexander Larsson  <alexl@redhat.com>
1135
1136         * gdk/linux-fb/gdkdrawable-fb2.c:
1137         For optization, add an full_shapes argument to gdk_fb_clip_region.
1138         If this is false, only the cliprects of the shapes are used.
1139
1140         * gdk/linux-fb/gdkprivate-fb.h:
1141         Export gdk_fb_window_peek_shape.
1142         Add full_shapes to gdk_fb_clip_region.
1143
1144         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
1145         When moving a window, don't clear everything under the it, just the
1146         root window. Makes stuff faster and flash less.
1147         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
1148         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
1149         offset of the shape.
1150         
1151
1152 2001-01-12  Havoc Pennington  <hp@redhat.com>
1153
1154         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
1155         current invalid region, fixes redraw bug while scrolling the 
1156         text widget
1157
1158         * gtk/gtktextview.c, gtk/gtktextview.h:
1159         Rearrange the scrolling/validation/etc. code in a major way, 
1160         so it seems to make sense to me. Probably isn't genuinely that
1161         much better, but...
1162
1163         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
1164         notifies
1165
1166         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
1167
1168 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
1169
1170         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
1171         Hide mouse pointer while rotation. Show it afterwards.
1172
1173 2001-01-12  Alexander Larsson  <alexl@redhat.com>
1174
1175         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
1176         windows in consideration when generating clip region.
1177
1178         * gdk/linux-fb/gdkfb.h:
1179         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
1180
1181         * gdk/linux-fb/gdkprivate-fb.h:
1182         Add shape to GdkWindowFBDatat.
1183         exported gdk_fb_window_get_abs_shape().
1184         removed gdk_fb_draw_lines declaration.
1185
1186         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
1187         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
1188         send focus changes when there is a grabbed window.
1189         (gdk_window_get_pointer): Handle shaped windows.
1190         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
1191         (gdk_fb_window_peek_shape): Returns the shape for a window,
1192         handles GDK_FB_USE_CHILD_SHAPE.
1193         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
1194         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
1195         (gdk_window_shape_combine_mask): Implement.
1196
1197         * gtk/gtkwindow-decorate.c:
1198         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
1199         setting the shape of a window makes the window transparent.
1200
1201 2001-01-11  Havoc Pennington  <hp@redhat.com>
1202
1203         * gtk/gtktreemodelsimple.h: Oops, broke some macros
1204
1205 2001-01-10  Havoc Pennington  <hp@redhat.com>
1206
1207         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
1208         add this function, bug 40251
1209
1210         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
1211         of type macro   
1212
1213 2001-01-11  Alexander Larsson  <alexl@redhat.com>
1214
1215         * acconfig.h:
1216         Added ENABLE_SHADOW_FB
1217
1218         * configure.in:
1219         Added --disable-shadowfb
1220
1221         * gdk/linux-fb/gdkcursor-fb.c:
1222         Update shadowfb when updating cursor
1223
1224         * gdk/linux-fb/gdkdrawable-fb2.c:
1225         Added wrappers for shadowfb that calls  the normal drawable
1226         methods, but calls gdk_shadow_fb_update(bounding box) when
1227         GdkWindows are drawed to.
1228         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
1229         which also returns the bounding box.
1230
1231         * gdk/linux-fb/gdkfb.h:
1232         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
1233
1234         * gdk/linux-fb/gdkgeometry-fb.c:
1235         Update shadowfb when scrolling window.
1236
1237         * gdk/linux-fb/gdkglobals-fb.c:
1238         Add _gdk_fb_screen_angle.
1239         
1240         * gdk/linux-fb/gdkkeyboard-fb.c:
1241         Test code for screen rotation. Shift-F2 in the xlate driver
1242         rotates the screen.
1243
1244         * gdk/linux-fb/gdkmain-fb.c:
1245         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
1246
1247         * gdk/linux-fb/gdkmouse-fb.c:
1248         Use fb_width/height instead of modeinfo.xres/yres.
1249
1250         * gdk/linux-fb/gdkprivate-fb.h:
1251         Added fb_men, fb_width, fb_height & fb_stride. When using
1252         shadow fb these can differ from the framebuffer stuff.
1253         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
1254         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
1255         _gdk_fb_screen_angle. Removed CM, RP.
1256
1257         * gdk/linux-fb/gdkrender-fb.c:
1258         Added code for shadowfb handling and screen rotation using
1259         shadowfb.
1260
1261         * gdk/linux-fb/gdkwindow-fb.c:
1262         Use fb_mem, fb_stride, fb_width, fb_height.
1263         Added recompute_rowstride to reset the rowstride of all windows.
1264         Added gdk_fb_recompute_all() which recomputes rootwindow size,
1265         window abs positions and window rowstrides. Usefull when the
1266         rotation has changed.
1267
1268 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
1269
1270         * docs/faq/gtk-faq.sgml: update to make web site updating easier
1271
1272 2001-01-10  Havoc Pennington  <hp@redhat.com>
1273
1274         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
1275         where sibling == iter
1276         (gtk_tree_store_insert_after): handle sibling == iter
1277         (gtk_tree_store_prepend): remove stamp checks
1278         (gtk_tree_store_insert_before): ditto
1279         (gtk_tree_store_append): ditto
1280         (gtk_tree_store_get_path): ditto
1281         (gtk_tree_store_get_value): ditto
1282         (gtk_tree_store_iter_has_child): ditto
1283         (gtk_tree_store_iter_n_children): ditto
1284         (gtk_tree_store_iter_nth_child): ditto
1285         (gtk_tree_store_insert_after): ditto
1286         (gtk_tree_store_is_ancestor): ditto
1287         (gtk_tree_store_iter_depth): ditto
1288         (gtk_tree_store_insert_before): assert that sibling's parent is
1289         the same as the passed-in parent
1290         (gtk_tree_store_insert_after): assert that sibling's parent is
1291         the same as the passed-in parent
1292
1293         
1294         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
1295         function to get the first iterator in a model
1296         
1297         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
1298         conventionally the "root" in this sense is just NULL afaict.
1299
1300         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
1301         where sibling == iter
1302         (gtk_list_store_insert_after): handle case where sibling == iter
1303
1304         * tests/testtreeview.c (run_automated_tests): fairly lame basic
1305         automated tests for ListStore, TreeStore
1306
1307         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
1308         (gtk_list_store_insert): update tail pointer, and fix it to work
1309         (gtk_list_store_insert_before): update tail pointer, and fix it to work
1310         (gtk_list_store_append): use tail to be faster
1311         (gtk_list_store_prepend): fix it, update tail pointer
1312         (gtk_list_store_insert_after): fix it, update tail pointer
1313
1314         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
1315         the list
1316
1317 2001-01-09  Havoc Pennington  <hp@redhat.com>
1318
1319         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
1320         is NULL due to a pending resize
1321
1322         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
1323         column width to values less than 1
1324
1325         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
1326         width to be between min/max width, and still set the width 
1327         even if autosize is turned on, so the tree view can use this 
1328         function in order to autosize.
1329         (gtk_tree_view_column_init): set initial width to 1 not 0
1330
1331         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
1332         setter function to modify column width, so we get notification
1333         (gtk_tree_view_insert_iter_height): ditto
1334         (gtk_tree_view_calc_size): ditto
1335         (gtk_tree_view_check_dirty): ditto
1336
1337         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
1338         properties to change all the interesting attributes of the tree
1339         view column.
1340         (gtk_tree_view_column_set_header_clickable): rename set_clickable
1341         (gtk_tree_view_column_get_clickable): add
1342         (gtk_tree_view_column_set_cell_renderer): don't unset the current
1343         attributes; assume a cell renderer with equivalent object
1344         properties has been swapped in. Do g_object_notify().
1345         (gtk_tree_view_column_set_visible): g_object_notify
1346         (gtk_tree_view_column_get_sizing): rename from get_col_type
1347         (gtk_tree_view_column_set_sizing): g_object_notify
1348         (gtk_tree_view_column_set_width): add g_object_notify
1349         (gtk_tree_view_column_set_min_width): ditto
1350         (gtk_tree_view_column_set_max_width): ditto
1351         (gtk_tree_view_column_set_title): ditto
1352         (gtk_tree_view_column_set_clickable): ditto
1353         (gtk_tree_view_column_set_widget): ditto
1354         (gtk_tree_view_column_set_justification): ditto
1355
1356 2001-01-09  Havoc Pennington  <hp@redhat.com>
1357
1358         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
1359         there are no rows in the model
1360
1361         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
1362         NULL, then return the start of the list
1363
1364         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
1365         if we can't get any rows from an empty model 
1366
1367         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
1368         extraneous * after function pointer typedef usage
1369
1370         * Makefile.am: don't specify full path to cp and rm
1371
1372         * gtk/gtkcellrenderertextpixbuf.c
1373         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
1374         NULL before dereferencing, fixes a segfault that happened from
1375         time to time
1376
1377         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
1378         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
1379         and reindent the function
1380         (gtk_cell_renderer_pixbuf_get_size): indentation
1381
1382         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
1383         we quit it
1384         (gtk_dialog_add_buttons_valist): add g_return_if_fail
1385         (gtk_dialog_set_default_response): New function, to set default
1386         button
1387         (gtk_dialog_set_response_sensitive): New function, to set 
1388         sensitivity of buttons
1389
1390         * gtk/gtkcellrendererpixbuf.c
1391         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
1392         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
1393
1394         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
1395         handle any G_TYPE_OBJECT subclass, not just the base class, and 
1396         also boxed types.
1397         (_gtk_tree_data_list_value_to_node): ditto
1398
1399         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
1400         --gtk-debug=tree
1401
1402         * gtk/gtkmain.c: add GTK_DEBUG_TREE
1403
1404         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
1405
1406 2001-01-09  Tor Lillqvist  <tml@iki.fi>
1407
1408         * gdk/win32/gdkevents-win32.c: Implement better mouse
1409         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
1410         (find_window_for_pointer_event): New function.
1411         (gdk_event_translate): Use it when handling mouse events.
1412
1413 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
1414
1415         * configure.in:
1416         Added --with-included-loaders option
1417
1418         * gdk-pixbuf/Makefile.am:
1419         * gdk-pixbuf/gdk-pixbuf-io.c:
1420         Add support for including selected gdk-pixbuf loaders only.
1421
1422         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
1423         gtk_window_set_has_frame):
1424         Added inline documentation.
1425
1426         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
1427         * docs/reference/gdk/tmpl/windows.sgml:
1428         Added inline documentation.
1429
1430 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
1431
1432         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
1433         realizing buttons that have already been realized.
1434
1435 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
1436
1437         * tests/testtreeview.c (main): Show menu items before adding to
1438         option menu.
1439
1440         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
1441         around if we kill them.
1442
1443         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
1444         Return if we pass in a NULL model.
1445
1446 2001-01-08  Havoc Pennington  <hp@redhat.com>
1447
1448         * tests/testtreeview.c: hack on this some
1449
1450         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
1451         gtk_tree_store_set_valist, v is for arrays, valist for varargs
1452         list
1453         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
1454
1455         * gtk/gtkliststore.h: Add varargs set() and get() convenience
1456         functions
1457
1458 2001-01-08  Alexander Larsson  <alexl@redhat.com>
1459
1460         * gtk/gtkwindow-decorate.[hc]:
1461         * gtk/Makefile.am:
1462         New files. Contains an implementation of a minimal WM for
1463         linux-fb.
1464
1465         * gtk/gtkwindow.h:
1466         Add the possibility for GtkWindows to specify a frame. This
1467         is used for the window decoration code, but could concievably
1468         be used for X programs too (xmms style windows).
1469         GtkWindow->frame is the toplevel window if the window is framed.
1470         The signal frame_event gets all events that are targeted to
1471         GtkWindow->frame.
1472         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
1473         
1474         * gtk/gtkwindow.c:
1475         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
1476         Call out to gtkwindow-decorate.c for WM support in linx-fb.
1477
1478 2001-01-08  Alexander Larsson  <alexl@redhat.com>
1479
1480         * docs/README.linux-fb:
1481         Correct filename ~/.pangoft2_aliases
1482
1483         * gdk/gdkwindow.h:
1484         Added new function gdk_window_get_decorations.
1485
1486         * gdk/linux-fb/gdkfb.h:
1487         Removed _gdk_window_get_decorations declaration.
1488         Renamed _gdk_window_set_child_handler to
1489         gdk_fb_window_set_child_handler.
1490
1491         * gdk/linux-fb/gdkwindow-fb.c:
1492         Renamed _gdk_window_set_child_handler to
1493         gdk_fb_window_set_child_handler.
1494
1495         * gdk/x11/gdkwindow-x11.c:
1496         New function gdk_window_get_mwm_hints().
1497         Implemented gdk_window_get_decorations.
1498
1499         * docs/reference/gdk/tmpl/windows.sgml:
1500         * docs/reference/gdk/gdk-sections.txt:
1501         Added gdk_window_get_decorations docs.
1502         
1503 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
1504
1505         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
1506         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
1507         gdk_fb_window_send_crossing_events):
1508         Possibly send focus events when the mouse moves from one
1509         window to another.
1510
1511 2001-01-07  Tor Lillqvist  <tml@iki.fi>
1512
1513         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
1514         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
1515         to match current API.
1516
1517         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
1518         environment variable is set, don't call g_error when on a
1519         palettized (PseudoColor) display. Some people want to use GTK+ 
1520         in 256-colour mode even though works only partially.
1521
1522         * gdk/gdk.def
1523         * gtk/gtk.def
1524         * gtk/makefile.mingw.in: Update.
1525
1526 2001-01-05  Havoc Pennington  <hp@redhat.com>
1527
1528         * tests/testtreeview.c: hack on this a bit
1529
1530         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
1531         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
1532
1533         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
1534         was spelled incorrectly
1535         (GTK_IS_TREE_MODEL_SIMPLE): ditto
1536
1537         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
1538         from gtk_tree_view_set_headers_active   
1539
1540         * gtk/gtktexttag.c:
1541         (gtk_text_tag_get_property): handle PROP_DIRECTION
1542         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
1543         properties, bug 40235
1544
1545         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
1546         forward_to_line_end
1547
1548 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
1549
1550         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
1551         modules/input/gtkimcontextxim.c: Adapt to new prototypes
1552         for unicode,locale,filename conversion functions.
1553
1554 2001-01-05  Havoc Pennington  <hp@redhat.com>
1555
1556         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
1557         broken if called on the first position in the buffer.
1558
1559         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
1560         forward_to_delimiters to be called only if we aren't already at
1561         the delimiters.
1562
1563 2001-01-05  Havoc Pennington  <hp@redhat.com>
1564
1565         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
1566
1567 2001-01-05  Alexander Larsson  <alexl@redhat.com>
1568
1569         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
1570         colormap in here. Sync from X port.
1571         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
1572         Sync from X port.
1573         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
1574         This happens now and then, and i don't think it is a bug.
1575         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
1576         != endpoint.
1577         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
1578         GDK_LINE_SOLID.
1579
1580         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
1581         some of the fields filled in at least.
1582
1583         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
1584         miLineArcD is no more, remove it from the function definition.
1585
1586 2001-01-04  Havoc Pennington  <hp@redhat.com>
1587
1588         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
1589         this
1590
1591         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
1592         user_data instead of tree_node
1593
1594         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
1595         TREE_VIEW_COLUMN_SIZE
1596
1597         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
1598         "size" field to "width" finishes bug 40061
1599
1600         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
1601         for bitfields, bug 40268
1602
1603 2001-01-04  Havoc Pennington  <hp@redhat.com>
1604
1605         Rename some stuff:
1606         
1607         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
1608
1609         s/GtkModelSimple/GtkTreeModelSimple/g;
1610         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
1611         s/gtk_model_simple/gtk_tree_model_simple/g;
1612         s/gtkmodelsimple/gtktreemodelsimple/g;
1613
1614         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
1615
1616         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
1617         s/column_set_col_type/column_set_sizing/g;
1618
1619         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
1620         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
1621
1622         s/GtkCellRendererType/GtkCellRendererState/g;
1623         
1624         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
1625         (gtk_cell_renderer_toggle_class_init): change "state" property to
1626         "active", to match GtkToggleButton
1627         (gtk_cell_renderer_toggle_get_active): new function, bug
1628         40269
1629         (gtk_cell_renderer_toggle_set_active): new function
1630         (gtk_cell_renderer_toggle_set_property): route changes to toggle
1631         state through gtk_cell_renderer_set_active
1632
1633 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
1634
1635         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
1636         temporarily until they work again.  Brought up to date with
1637         changes in the model.
1638         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
1639         model.
1640
1641 2001-01-04  Havoc Pennington  <hp@redhat.com>
1642
1643         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
1644         equal to the line length, then position iterator before paragraph 
1645         separators. Fixes crash reported by Mikael Hermansson when
1646         pressing left arrow from the start of a line.   
1647
1648         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
1649         about byte indexes off the end
1650         (iter_set_from_char_offset): add g_error about char offsets
1651         off the end
1652
1653 2001-01-03  Havoc Pennington  <hp@redhat.com>
1654
1655         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
1656
1657         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
1658         of private functions; remove inclusion of private headers.
1659
1660         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
1661         function, so we don't need private functions in gtktextdisplay.c
1662
1663         * gtk/gtktextiterprivate.h: underscore-ification
1664
1665         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
1666         to instead say "only useful to implement widgets"
1667
1668         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
1669         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
1670         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
1671
1672         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
1673         This function was completely broken
1674
1675         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
1676
1677         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
1678
1679         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
1680
1681         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
1682
1683         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
1684
1685         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
1686
1687         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
1688         gtk_paint_layout
1689
1690         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
1691         gtk_paint_layout
1692
1693         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
1694         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
1695         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
1696         which were not implemented.     
1697
1698         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
1699         insert_pixbuf signal. Rename delete_text to delete_range since it
1700         also deletes pixbufs and child anchors. This almost closes bug
1701         40245 (still need to deal with child anchors)
1702
1703         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
1704         insert_pixbuf, change signal names as appropriate, change types of
1705         signals taking marks/tags to have the specific type, not just
1706         G_TYPE_OBJECT
1707         
1708         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
1709         closes bug 40051
1710
1711         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
1712         unnecessary remove_contents() call
1713         (gtk_option_menu_class_init): add a "changed" signal, closes
1714         bug 40039
1715         (gtk_option_menu_update_contents): emit "changed" if the 
1716         active menu item changes
1717
1718         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
1719         cast to GtkObject, reported by Jonas Borgstrom
1720         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
1721         we can't do stuff with side effects in finalize. Instead, spew a
1722         warning if the loader isn't closed.
1723
1724         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
1725         colormap in here, non-X ports probably need to sync to this change
1726
1727         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
1728         assertion that colormap != NULL, you can set the colormap to NULL
1729         if you like.
1730         
1731         * Makefile.am: remove gtk-config-2.0
1732
1733         * configure.in: Use pkg-config to locate GLib. Remove
1734         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
1735         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
1736         Use pkg-config to locate Pango. Output correct Pango libs to
1737         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
1738
1739         * Makefile.am (pkgconfig_DATA): install only target-specific pc
1740         files
1741         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
1742         X11 pc files
1743
1744         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
1745         unref from here
1746
1747 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
1748
1749         * configure.in:
1750         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
1751
1752 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
1753
1754         * gtk/gtktextlayout.c
1755         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
1756         variable when moving back onto a single line.
1757
1758 2001-01-01  Havoc Pennington  <hp@redhat.com>
1759
1760         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
1761
1762         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
1763
1764         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
1765         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
1766
1767 2001-01-01  Havoc Pennington  <hp@redhat.com>
1768
1769         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
1770
1771         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
1772         GtkTextAttributes
1773
1774         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
1775         #40246
1776         (gtk_text_attributes_copy_values): rename from 
1777         gtk_text_attributes_copy
1778         (gtk_text_attributes_copy): a more standard GTK copy function, 
1779         which returns a new object
1780
1781 2001-01-01  Havoc Pennington  <hp@redhat.com>
1782
1783         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
1784         
1785         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
1786         don't fill in tree_view->priv->selection, kind of an unexpected
1787         side effect
1788
1789         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
1790         gtkintl.h
1791         
1792         * gtk/gtkcellrenderer.c: Remove definition of _ and include
1793         gtkintl.h
1794         (gtk_cell_renderer_get_property): remove calls to g_value_init
1795
1796         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
1797         gtkintl.h
1798
1799         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
1800         and include gtkintl.h
1801         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
1802         property names
1803
1804         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
1805         GtkTreeSelection
1806         (_gtk_tree_selection_new_from_with_view): rename, return
1807         GtkTreeSelection
1808         (_gtk_tree_selection_set_tree_view): rename with uscore
1809         (gtk_tree_selection_get_selected): fill in the "model" out param
1810         first, so it gets filled in even if we return at the top of the 
1811         function
1812         (gtk_tree_selection_real_select_all): add a comment and an else{}
1813         to clarify this a bit
1814         (gtk_tree_selection_real_unselect_all): add the same else{}
1815
1816         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
1817         set_tree_view to have underscore prefixes, move them to the
1818         private header, fix return type of new_with_tree_view
1819         (struct _GtkTreeSelection): mark struct
1820         fields private  
1821
1822         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
1823         GtkTreeModelFlags, not a guint
1824         (gtk_tree_path_prev): return gboolean not gint
1825         (gtk_tree_path_up): return gboolean not gint
1826
1827         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
1828         return GtkTreeModelFlags, not a guint
1829
1830         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
1831         that child model is non-null before unrefing it
1832         (g_value_int_compare_func): make this a qsort compare func, not 
1833         a boolean predicate
1834
1835         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
1836         (add -umn to the end), and mark it unimplemented
1837         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
1838         I don't see what it's for - doesn't the model always sort itself?
1839         (gtk_tree_model_sort_set_compare): this had the wrong signature
1840
1841         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
1842         Fix the docs to say that it destructively replaces existing
1843         attributes (previously said that it added attributes).
1844         (gtk_tree_view_column_set_visible): canonicalize bool before
1845         equality testing. Also, check for realization before
1846         hiding/showing the tree_column->window; if this window could exist
1847         before realization, then it's busted and needs fixing, we can't 
1848         create GDK resources pre-realization. Also, remove
1849         superfluous queue_resize(), since set_size() does that for us.
1850         (gtk_tree_view_column_set_col_type): check realization before 
1851         using tree_column->window
1852
1853         * gtk/gtktreedatalist.c: fix filename in copyright notice
1854
1855 2000-12-31  Havoc Pennington  <hp@pobox.com>
1856
1857         * gtk/gtktextview.c: Rearrange all the
1858         scroll-while-dragging-or-selecting code to be different, not
1859         necessarily better. ;-)
1860         (gtk_text_view_scroll_to_mark): Change this
1861         function to take within_margin as a fraction instead of a pixel
1862         value, and to take alignment arguments (indicating where to align 
1863         the mark inside the visible area)
1864         
1865         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
1866         to GtkObject
1867
1868         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
1869         behavior so that offsets past the end of the line are not 
1870         allowed, and an offset equal to the line length moves the iterator
1871         to the next line
1872         (gtk_text_iter_set_line_index): make parallel change
1873         (gtk_text_iter_get_bytes_in_line): add this function
1874         
1875         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
1876         of byte indexes off the end of the line; byte index at the end of
1877         the line now returns FALSE and doesn't fill in the requested
1878         values, byte index past the end of the line is an error.  Also,
1879         don't allow -1 offset anymore, since its meaning is unclear.
1880
1881         This change exposes some bug in visual cursor motion, where we
1882         end up with a huge invalid byte index; needs fixing. Symptom of 
1883         bug is a crash when you hit up arrow.
1884         
1885         (_gtk_text_line_char_locate): match the change to byte_locate
1886
1887         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
1888         from start of line properly. fixes bug reported by Mikael
1889         Hermansson where backspace would delete all text before the
1890         cursor.
1891
1892 2000-12-30  Tor Lillqvist  <tml@iki.fi>
1893
1894         * gdk/win32/gdkwindow-win32.c
1895         (gdk_window_impl_win32_get_visible_region): New function, as in
1896         the X11 backend.
1897         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
1898         instead of duplicating the same code here.
1899
1900         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
1901         GDK_COLORMAP macro.
1902
1903         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
1904         destroy function.
1905         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
1906         access that.
1907
1908         * gtk/gtk.def: Update.
1909
1910         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
1911
1912 2000-12-30  Havoc Pennington  <hp@pobox.com>
1913
1914         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
1915         colormap on input only windows, to avoid special cases all over
1916         the code for these windows.
1917
1918 2000-12-26  Tor Lillqvist  <tml@iki.fi>
1919
1920         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
1921         we are on a palettized display ("PseudoColor" in X11), as the code
1922         for that doesn't work anyway, and never has.
1923
1924 2000-12-22  Alexander Larsson  <alexl@redhat.com>
1925
1926         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
1927         Don't use isprint() for chars > 255.
1928
1929 2000-12-21  Havoc Pennington  <hp@redhat.com>
1930
1931         * tests/testtreeview.c: more work
1932
1933 2000-12-21  Alexander Larsson  <alexl@redhat.com>
1934
1935         * docs/README.linux-fb:
1936         Update the docs to the new pangoft2 way.
1937
1938 2000-12-21  Alexander Larsson  <alexl@redhat.com>
1939
1940         * configure.in:
1941         For linux-fb get the pangoft2 cflags and libs. This needs a recent
1942         pango version.
1943         Remove modules/linux-fb/Makefile.
1944
1945         * gdk/linux-fb/gdkdrawable-fb2.c:
1946         Render glyphs using freetype.
1947
1948         * gdk/linux-fb/gdkfb.h:
1949         Add new fb-specific functions needed for managing windows.
1950
1951         * gdk/linux-fb/gdkmain-fb.c:
1952         Remove gdk_font_init/fini() calls.
1953
1954         * gdk/linux-fb/gdkpango-fb.c:
1955         Remove old implementation. Use pangoft2 instead.
1956
1957         * gdk/linux-fb/gdkprivate-fb.h:
1958         Remove PangoFBFont and related stuff.
1959
1960         * gdk/linux-fb/gdkwindow-fb.c:
1961         Implement drawable->get_visible_region.
1962         Implement support for _gdk_window_set_child_handler () and
1963         _gdk_window_get_decorations().
1964
1965         * modules/Makefile.am:
1966         Remove linux-fb subdir.
1967
1968         * modules/linux-fb/*:
1969         Removed all.
1970         
1971 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
1972
1973         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
1974         calls, as they are no longer needed.
1975
1976         * gtk/gtktreemodelsort.c: Fix up the comparison code.
1977         
1978         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
1979         figure out how to emit a signal on an interface.
1980
1981 2000-12-20  Havoc Pennington  <hp@redhat.com>
1982
1983         * tests: new directory to contain tests, gtk/test* should move
1984         here sometime (with appropriate on-cvs-server hackery)
1985
1986         * tests/testtreeview.c, tests/Makefile.am: a test
1987         
1988         * configure.in (AC_OUTPUT): add tests/Makefile
1989
1990         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
1991         and "invisible_set" which were missing
1992
1993         * gtk/gtkrbtree.h: some cheesy indentation fix
1994         
1995 2000-12-20  Alexander Larsson  <alexl@redhat.com>
1996
1997         * gtk/gtkinvisible.c (gtk_invisible_realize):
1998         Attach the style to the window so that the style it is not
1999         leaked when unrealizing the window.
2000
2001 2000-12-18  Havoc Pennington  <hp@redhat.com>
2002
2003         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
2004         begin/end user action where appropriate
2005         (gtk_text_view_commit_handler): add begin/end user action
2006
2007         * gtk/gtktextbuffer.c: add begin/end user action signals, and
2008         bracket interactive operations with begin/end user action pair.
2009         
2010         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
2011         "interactive" arg from insert_text and delete_text signals.
2012         Add begin_user_action, end_user_action signals
2013         (gtk_text_buffer_begin_user_action): 
2014         (gtk_text_buffer_end_user_action): New functions to delimit 
2015         a user-visible action
2016
2017         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
2018         signals.
2019         
2020 2000-12-18  Havoc Pennington  <hp@redhat.com>
2021
2022         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
2023         was pretty non-working.
2024
2025         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
2026         by passing the length to g_utf8_validate().
2027
2028 2000-12-16  Havoc Pennington  <hp@pobox.com>
2029
2030         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
2031         Port to GObject, can go back in gdk-pixbuf after setting up 
2032         a gdk-pixbuf-marshal.h header over there.
2033
2034         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
2035         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
2036         args
2037         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
2038         set
2039         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
2040         here, do it when we create the buttons later
2041         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
2042         (gtk_tree_view_map): paranoia checks that column->button is shown 
2043         and unmapped
2044         (gtk_tree_view_size_request): only request visible children.
2045         Move header size calculation in here, for cleanliness, and 
2046         to maintain invariants for child widgets if we eventually 
2047         let users set different children inside the buttons
2048         (gtk_tree_view_map_buttons): factor out code to map buttons,
2049         since it was being called several times
2050         (gtk_tree_view_size_allocate_buttons): move_resize the drag
2051         windows instead of just moving them; their height may change 
2052         if we allow random widgets in there, or the theme changes.
2053         (gtk_tree_view_size_allocate): move button size allocation 
2054         above emitting the scroll signals, to ensure a sane state when we
2055         hit user code
2056         (gtk_tree_view_button_release): remove queue_resize after
2057         tree_view_set_size(), set_size() will handle any resize queuing
2058         that's needed
2059         (gtk_tree_view_focus_in): just queue a draw, don't fool with
2060         draw_focus goo
2061         (gtk_tree_view_focus): use gtk_get_current_event() and
2062         gdk_event_get_state()
2063         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
2064         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
2065         semicolon
2066         (gtk_tree_view_create_button): show the button here
2067         (gtk_tree_view_button_clicked): actually emit the clicked signal
2068         on the column
2069         (_gtk_tree_view_set_size): return right away if the size is
2070         unchanged, as a cheesy optimization
2071         (gtk_tree_view_setup_model): rename set_model_realized to 
2072         setup_model to match the flag that indicates whether we've 
2073         called it
2074         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
2075         exist, because set_scroll_adjustment does that and it shouldn't
2076         matter what order you call these in
2077         (gtk_tree_view_get_vadjustment): ditto
2078         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
2079         for paranoia
2080         (gtk_tree_view_set_headers_visible): call
2081         gtk_tree_view_map_buttons() instead of using cut-and-paste code
2082         (gtk_tree_view_append_column): clarify whether the return value
2083         is the count of columns before or after, and do the increment 
2084         separately from the return statement so you can tell from the code.
2085         (gtk_tree_view_remove_column): ditto
2086         (gtk_tree_view_insert_column): ditto
2087         (gtk_tree_view_get_column): remove g_return_if_fail for columns
2088         outside the existing range, the docs say that outside-range
2089         columns are allowed, so we handle them as documented. (Presumably
2090         this allows a nice loop with column != NULL as test.)
2091         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
2092         mean (left/right/center etc.).
2093         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
2094         (gtk_tree_view_expand_row): add docs
2095         (gtk_tree_view_collapse_row): add docs
2096
2097         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
2098         function to emit the clicked signal on a column
2099         
2100         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
2101         state of an event
2102         (gdk_event_get_time): don't treat GDK_SCROLL 
2103         as a button event, remove default case from switch so gcc 
2104         will whine if we don't explicitly handle all event types
2105
2106         * gtk/gtktreeselection.h: added some FIXME 
2107         
2108         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
2109         "columns" to "n_columns" and "column" to "columns" for clarity
2110
2111 2000-12-16  Havoc Pennington  <hp@pobox.com>
2112         
2113         * gtk/gtktextiter.c: General cleanup of the log attr iteration
2114         stuff. This should make e.g. the delete key work again in the
2115         text widget...
2116         (gtk_text_iter_forward_cursor_positions): handle negative count
2117         (gtk_text_iter_backward_cursor_positions): handle negative count
2118         (gtk_text_iter_forward_word_ends): handle negative count
2119         (gtk_text_iter_backward_word_starts): handle negative count
2120
2121         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
2122         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
2123         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
2124         GObject. No doubt will cause breakage.
2125
2126         * demos/gtk-demo/textview.c: remove hacks around
2127         non-GObject-ification of the text objects
2128
2129         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
2130         the text tag
2131         
2132 2000-12-14  Havoc Pennington  <hp@pobox.com>
2133
2134         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
2135         that we have Xrender
2136
2137 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
2138
2139         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
2140         Add two virtualized functions gdk_drawable_get_clip_region - to
2141         get the clip region when drawing.
2142         
2143         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
2144         use invalidate_region.
2145
2146         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
2147         region.
2148
2149         * acconfig.h configure.in: Check for Xft. For now, assume
2150         that if Xft is found, Pango was compiled with Xft support
2151         as well.
2152
2153         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
2154         gdk_colormap_query_color().
2155         
2156         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
2157         with Xft if appropriate.
2158
2159         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
2160         a pangoxft context if we have XFT and the environment
2161         variable GD_USE_XFT is set.
2162         
2163         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
2164         and also possibly an XftDraw structure.
2165
2166         * gtk/gtkfontsel.c: Handle the case where the font from the
2167         style doesn't match any of the fonts a bit better.
2168         
2169         * gtk/testgtk.c: Add tabs between directional segments for
2170         hebrew/arabic test. (Not really necessary, just a little
2171         prettier.)
2172
2173 2000-12-14  Havoc Pennington  <hp@redhat.com>
2174
2175         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
2176         reading a file
2177
2178 2000-12-14  Havoc Pennington  <hp@redhat.com>
2179
2180         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
2181         unused call to get_last_line()
2182
2183         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
2184         here until boxed is working (and maybe after that - we should
2185         really not gratuitously break old code)
2186
2187         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
2188         specific types for font_desc and tabs args, move them to
2189         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
2190         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
2191
2192         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
2193         use GTK_TYPE_POINTER for signal signatures as a hack-around
2194
2195         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
2196         PangoTabArray
2197
2198         * gtk/gtktextlayout.c (line_display_iter_to_index): 
2199         make static
2200         (line_display_index_to_iter): make static
2201
2202         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
2203         to marshal a string not a boxed
2204
2205         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
2206
2207         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
2208         since the UTF-8 isn't validated yet
2209
2210         * gtk/gtktextsegment.c (char_segment_check_func): don't require
2211         lines to end in '\n'
2212         
2213         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
2214         forward_to_delimiters, and grapheme boundaries
2215         (gtk_text_view_delete_from_cursor): properly handle non-newline
2216         delimiters, and grapheme boundaries
2217
2218         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
2219         to gtk_text_iter_forward_to_delimiters, and make it work properly
2220         if empty lines end with a character other than '\n'
2221
2222         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
2223         position
2224
2225 2000-12-15  Tor Lillqvist  <tml@iki.fi>
2226
2227         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
2228
2229         * gtk/gtk.def
2230         * gdk/gdk.def: Update.
2231
2232         * gdk/win32/gdkmain-win32.c
2233         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
2234         gdkmain-win32.c here.
2235
2236         * gdk/win32/makefile.mingw.in (all): No need to make
2237         gdk-win32res.o here, the makefile one step up will call us to make
2238         it.
2239
2240         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
2241         gdkkeys-win32.
2242
2243         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
2244
2245         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
2246         call to g_source_add().
2247
2248         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
2249         leak. Thanks to Andreas Kemnade.
2250
2251 2000-12-13  Havoc Pennington  <hp@pobox.com>
2252
2253         * gtk/gtktextbtree.h: Remove double _ in front of some functions
2254
2255         * gtk/gtktext*.[hc]: update accordingly
2256         
2257 2000-12-13  Havoc Pennington  <hp@pobox.com>
2258
2259         * gtk/gtktextbtree.h: Put _ in front of every function in this 
2260         header file
2261
2262         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
2263
2264 2000-12-13  Alex Larsson  <alexl@redhat.com>
2265
2266         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
2267         Add support for ps2 intellimouse.
2268
2269         * gdkkeyboard-fb.c:
2270         Move shift-F1 repaint handling to xlate handler only.
2271         
2272         * docs/README.linux-fb:
2273         Add imps2 to docs.
2274         Document the new refresh keys.
2275         
2276 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
2277
2278         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
2279
2280         * gtk/gtkbox.c: change property types from (u)long to (u)int for
2281         ::position and ::padding.
2282
2283         * gtk/gtkcontainer.c: make ::border_width an INT property.
2284
2285         * gtk/gtkpacker.c: make ::position an INT property.
2286
2287         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
2288         guard against NULL h/v scrollbars, since this is used at construction
2289         time.
2290
2291         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
2292         internal gtk_clist_constructor().
2293
2294         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
2295         gtk_ctree_constructor().
2296
2297         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
2298         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
2299
2300         * docs/reference/Makefile.am: fun stuff, disabled docs generation
2301         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
2302
2303         * gtk/gtkwidget.[hc]:
2304         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
2305         and gtk_widget_get().
2306         (gtk_widget_new): use g_object_new_valist().
2307         (gtk_widget_set): use g_object_set_valist().
2308
2309         * gtk/gtkobject.[hc]:
2310         removed gtk_object_arg_get_info(), gtk_object_getv(),
2311         gtk_object_query_args(), gtk_object_newv(),
2312         gtk_object_class_add_signals(),
2313         gtk_object_class_user_signal_new(),
2314         gtk_object_class_user_signal_newv(),
2315         gtk_object_arg_set(), gtk_object_arg_get(),
2316         gtk_object_args_collect(),
2317         gtk_object_default_construct(),
2318         gtk_object_constructed(),
2319         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
2320         removed nsignals, signals and n_args members from GtkObjectClass.
2321         (gtk_object_new): use g_object_new_valist().
2322         (gtk_object_set): use g_object_set_valist().
2323         (gtk_object_get): use g_object_get_valist().
2324         
2325         * gtk/gtkcompat.h: define gtk_object_default_construct().
2326         
2327         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
2328         g_object_new().
2329
2330         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
2331         fucntions, cleaned up method assignments (make sure your structures
2332         are setup properly before calling out). removed all GTK_CONSTRUCTED
2333         hacks ;)
2334
2335 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
2336
2337         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
2338         off-by-one error in checks. (Dave Lambert)
2339
2340 2000-12-12  Alexander Larsson  <alexl@redhat.com>
2341
2342         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
2343         Don't free gdk_fb_keyboard twice.
2344
2345 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
2346
2347         * gtk/testgtk.c:
2348         (create_tooltips): 
2349         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
2350         use GObject swapped_signal:: properties instead.
2351
2352         * gtk/gtkcellrenderertoggle.c: 
2353         * gtk/gtkcellrenderertextpixbuf.c: 
2354         * gtk/gtkcellrenderertext.c: 
2355         * gtk/gtkcellrendererpixbuf.c: 
2356         * gtk/gtkcellrenderer.c:
2357         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
2358         missing warnings for invalid property ids, install properties
2359         with g_object_class_install_property() now.
2360         
2361         * gtk/gtksignal.c:
2362         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
2363         
2364 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
2365         
2366         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
2367         to determine if a window is the focus widget within
2368         its toplevel.
2369
2370         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
2371         to be boolean.
2372
2373         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
2374         of the case where the container CAN_FOCUS to here instead
2375         of having it in each individual move-the-focus place.
2376
2377         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
2378         focusing to be geometric in a much more obvious sense. Arrowing
2379         around is still non-intuitive because it isn't perfect and
2380         because entries, etc, grab the arrow keys, but it at least
2381         usually will do what you expect now.
2382         
2383         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
2384         file.
2385
2386         * gtk/gtknotebook.c: Change tabs to be a single item in
2387         the focus chain. Make movement of focus on tabs with arrow
2388         keys wrap around.
2389         
2390         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
2391         CHECK_FIND_CHILD macro to give informative error messages
2392         instead of silent returns.
2393
2394         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
2395         flag since we handle GdkReturn on the tabs.
2396
2397         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
2398         windows rather than sending expose events directly.
2399
2400         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
2401         definition for GtkNotebookPage into .c file, since it is private.
2402
2403         * gtk/testgtk.c (create_notebook): Add option for 
2404         testing borderless notebook.
2405
2406         * gtk/testgtk.c (page_switch): Removed egregious poking
2407         around in GTK+ internals.
2408
2409         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
2410
2411         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
2412         properly through gtk_clist_focus. Make the title headers a
2413         single item in the tab-focus chain, and make left-right wrap
2414         around.
2415
2416         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
2417         focus method so that wrapping around works properly.
2418
2419         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
2420         that is handled for the widget now. 
2421
2422 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
2423
2424         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
2425         widgets as TOPLEVEL.
2426
2427         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
2428         TOPLEVEL widgets are containers.
2429
2430         * gtk/gtkinvisible.h: Remove useless include.
2431
2432 2000-12-11  Havoc Pennington  <hp@redhat.com>
2433
2434         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
2435         Handle chopping off \r\n and 0x2029 in addition to \n before
2436         passing to PangoLayout
2437
2438         * gtk/gtkimcontextsimple.c
2439         (gtk_im_context_simple_get_preedit_string): 
2440         return an empty string if no match is pending
2441
2442         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
2443         assertion that the returned preedit string was sane
2444
2445         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
2446         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
2447         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
2448
2449 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
2450
2451         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
2452         Fix up finalizer to chain to its parent.
2453
2454 2000-12-11  Alexander Larsson  <alexl@redhat.com>
2455
2456         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
2457         Clearified the difference between the keyboard types. Wrote a note
2458         about the magic sysrq key to get out of raw mode.
2459
2460 2000-12-09  James Henstridge  <james@daa.com.au>
2461
2462         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
2463         member to hold masks for detecting the start of a protocol packet.
2464         (mouse_devs): add packet start masks for ps2 and ms device types.
2465         Left the mask for fidmour blank, as I have no idea what it should
2466         be.
2467         (handle_mouse_io): skip bytes until we get to the start of a
2468         packet.  My Logitech mouse seems to be passing an extra NULL pad
2469         byte, and GPM does a similar thing here.
2470         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
2471         this is the ms mouse driver.
2472         (gdk_fb_mouse_ms_packet): fix up button handling, which was
2473         completely broken except for button1.  It was checking the wrong
2474         bit in the packet for the status of the right mouse button, and
2475         wrongly assuming right == button2 rather than 3.  I fixed that and
2476         also added support for middle button (button2).
2477
2478 2000-12-08  Havoc Pennington  <hp@redhat.com>
2479
2480         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
2481         that cause a segfault on text insertion
2482
2483         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
2484         warning
2485
2486         * gtk/gtktextiter.c (test_log_attrs): use
2487         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
2488
2489         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
2490         Get log attrs for a line, using a cache stored on the buffer
2491         
2492         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
2493         reported by Jeff Franks
2494
2495 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
2496
2497         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
2498         /dev/ttyS0 -> /dev/mouse
2499
2500 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
2501
2502         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
2503         Added dummy gdk_fontset_load.
2504
2505 2000-12-08  Alexander Larsson  <alexl@redhat.com>
2506
2507         * docs/README.linux-fb:
2508         * docs/Makefile.am:
2509         Initial GtkFB docs.
2510         
2511         * gdk/linux-fb/Makefile.am:
2512         Define GDK_DATA_PREFIX.
2513
2514         * gdk/linux-fb/gdkmain-fb.c:
2515         Fix typo.
2516         Change default display to /dev/fb0.
2517
2518         * gdk/linux-fb/gdkpango-fb.c:
2519         Add $(prefix)/share/fonts/ to font path.
2520         
2521 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
2522
2523         * gdk/linux-fb/gdkkeyboard-fb.c:
2524         New file containing the abstracted keyboard driver. Most code
2525         taken from gdkinput-ps2.c
2526
2527         * gdk/linux-fb/gdkinput-ps2.c:
2528         Removed file.
2529         
2530         * gdk/linux-fb/Makefile.am:
2531         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
2532
2533         * gdk/linux-fb/gdkcolor-fb.c:
2534         display->fb was renamed to display->fb_fd.
2535
2536         * gdk/linux-fb/gdkcursor-fb.c:
2537         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2538
2539         * gdk/linux-fb/gdkinput.c:
2540         Moved gdk_input_init here from gdkinput-ps2.c
2541
2542         * gdk/linux-fb/gdkmain-fb.c:
2543         display->fb was renamed to display->fb_fd.
2544         Now the tty and the console is opened here instead
2545         of in the keyboard driver. Also check GDK_VT to see what
2546         tty to open.
2547         Move gdk_beep () here from gdkinput-ps2.c
2548         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2549
2550         * gdk/linux-fb/gdkmouse-fb.c:
2551         Add header.
2552         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2553         Return correct keyboard modifiers.
2554         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
2555
2556         * gdk/linux-fb/gdkprivate-fb.h:
2557         Add tty and vt info to display.
2558         Add orignal modeinfo storage to display
2559         Update global functions
2560
2561         * gdk/linux-fb/gdkwindow-fb.c:
2562         Added gdk_fb_window_find_focus().
2563         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2564
2565 2000-12-07  Havoc Pennington  <hp@pobox.com>
2566
2567         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
2568         function, noticed by Alex
2569
2570 2000-12-06  Elliot Lee  <sopwith@redhat.com>
2571
2572         * configure.in: Detect freetype properly
2573
2574         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
2575         above.
2576
2577 2000-12-06  Alexander Larsson  <alexl@redhat.com>
2578
2579         * gdk/linux-fb/Makefile.am:
2580         Add gdkmouse-fb.c
2581         
2582         * gdk/linux-fb/gdkmouse-fb.c:
2583         New file. Abstracted the mouse drivers a bit.
2584
2585         * gdk/linux-fb/gdkcursor-fb.c:
2586         The cursor hide/show functions was moved here from gdkinput-ps2.c.
2587
2588         * gdk/linux-fb/gdkinput-ps2.c:
2589         Removed old mouse handling code. Moved cursor handling code
2590         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
2591         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
2592         gdk_mouse_get_info.
2593
2594         * gdk/linux-fb/gdkmain-fb.c:
2595         Pass NULL pointers for x,y in gdk_mouse_get_info call.
2596
2597         * gdk/linux-fb/gdkprivate-fb.h:
2598         Removed public gdk_fb_find_common_ancestor, added and renamed
2599         functions for the new mouse handling code.
2600
2601         * gdk/linux-fb/gdkwindow-fb.c:
2602         Moved gdk_fb_window_send_crossing_events here. added global
2603         variable gdk_fb_window_containing_pointer. made
2604         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
2605         renamed to gdk_mouse_get_info.
2606
2607 2000-12-06  Alexander Larsson  <alexl@redhat.com>
2608
2609         * gdk/linux-fb/gdkevents-fb.c:
2610         Update to match latest gmain/gsource changes.
2611
2612         * gdk/linux-fb/gdkinput-ps2.c:
2613         Bogus gdk_keymap_get_entries_for_keycode implementation so that
2614         it links. Will be implemented later.
2615
2616 2000-12-03  Havoc Pennington  <hp@pobox.com>
2617
2618         * gdk/Makefile.am: add gdkkeys.[hc]
2619
2620         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
2621         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
2622
2623         * acconfig.h, configure.in: add checks and command line options
2624         for XKB
2625
2626         * gdk/x11/gdkkeys-x11.c: Implement the above functions
2627         
2628         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
2629         and group in the key event
2630
2631         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
2632         field with the low-level hardware key code, and a group
2633         field with the keyboard group
2634
2635         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
2636         and declare a couple globals used for keymap handling
2637         
2638         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
2639         hold down Shift-Control and type a hex number to get a Unicode 
2640         character corresponding to the hex number
2641         (gtk_im_context_simple_get_preedit_string): Fix cursor position
2642         (return bytes not chars)
2643
2644 2000-12-05  Elliot Lee  <sopwith@redhat.com>
2645
2646         * gdk/gdkcolor.h: Make GdkColor specify element sizes
2647         to avoid waste on 64-bit platforms.
2648
2649 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
2650
2651         * INSTALL: Fix link to PNG home, remove reference
2652         to fribidi.
2653
2654         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
2655         
2656         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
2657         tested.)
2658
2659         * gtk/gtkcheckmenuitem.c: Permanently turn on
2660         always_show_toggle.
2661
2662         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
2663         be NULL. (Vladimir Klebanov, #26545)
2664
2665         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
2666         some signed/unsigned comparison problems. (#6510,
2667         David Kaelbling)
2668
2669         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
2670         return type to boolean (Oskar Liljeblad, #18648)
2671
2672 2000-12-05  Alexander Larsson  <alexl@redhat.com>
2673
2674         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
2675         Remove bogus colormap setting.
2676
2677 2000-12-05  Alexander Larsson  <alexl@redhat.com>
2678
2679         * gdk/linux-fb/gdkcolor-fb.c:
2680         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
2681
2682         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
2683         Must set colormap.
2684         
2685 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
2686
2687         * docs/tutorial/gtk-tut.sgml: DND updates
2688
2689 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
2690
2691         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
2692         Remove old debug g_warning().
2693         (gdk_fb_draw_drawable): The src argument can be either a wrapper
2694         or an implementation, just pass the implementation to draw_drawable_2.
2695         
2696         * gdk/linux-fb/gdkprivate-fb.h:
2697         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
2698
2699         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
2700         clear and invalidate area when window is destroyed.
2701         (send_map_events): Remove old commented out code.
2702
2703 2000-12-05  Alexander Larsson  <alexl@redhat.com>
2704
2705         * gdk/linux-fb/gdkpango-fb.c:
2706         Use italic instead of oblique in font aliases.
2707         
2708         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
2709         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
2710         other unsupported functions.
2711
2712 2000-12-04  Havoc Pennington  <hp@redhat.com>
2713
2714         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
2715
2716         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
2717
2718         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
2719
2720         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
2721         hack to avoid infinite loops (synthetic expose event) - 
2722         Owen has more appropriate fixes in a branch he'll check in later.
2723
2724         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
2725         separator, CR, and CRLF as line ends
2726
2727         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
2728         into lines using pango_find_paragraph_boundary(); other bits of
2729         the widget are still going to be broken if the boundary isn't '\n'
2730         though
2731
2732 2000-12-04  Alexander Larsson  <alexl@redhat.com>
2733
2734         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
2735         multiply.
2736
2737         * gdk/linux-fb/gdkpango-fb.c:
2738         Copied some 26.6 scaling macros from pango to clean up the rounding.
2739         (pango_fb_font_get_glyph_info): Correct sign on x value.
2740
2741         * gdk/linux-fb/gdkprivate-fb.h:
2742         Removed unreferenced external functions.
2743
2744         * modules/linux-fb/Makefile.am: Use ` instead of '.
2745
2746         * modules/linux-fb/basic.c:
2747         Remove dead code. In particular the dummy lang engine which broke all
2748         pango layouts in GtkFB. Don't include tables-big.i anymore.
2749
2750         * modules/linux-fb/tables-big.i:
2751         Upgrade to latest version from pango. Left for reference, basic_ranges
2752         moved to basic.c.
2753         
2754 2000-12-04  Havoc Pennington  <hp@redhat.com>
2755
2756         Fix bugs Alex found:
2757         
2758         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
2759         to "draw"
2760
2761         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
2762
2763         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
2764
2765         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
2766         implementation in here, apparently the expose() implementation was
2767         dead code.
2768
2769 2000-12-04  Alexander Larsson  <alexl@redhat.com>
2770
2771         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
2772         Return positive descent.
2773
2774 2000-12-02  Havoc Pennington  <hp@pobox.com>
2775
2776         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
2777         method and signal
2778         
2779         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
2780         calls gdk_window_process_updates() to push the exposes through
2781         (gtk_widget_class_init): No more draw signal, no
2782         gtk_widget_real_draw()  
2783         
2784         * gtk/gtkbin.c (gtk_bin_draw): remove
2785
2786         * gtk/gtkbox.c (gtk_box_draw): remove
2787
2788         * gtk/gtkbutton.c (gtk_button_draw): remove
2789
2790         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
2791
2792         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
2793
2794         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
2795
2796         * gtk/gtkclist.c (gtk_clist_draw): remove
2797
2798         * gtk/gtkentry.c (gtk_entry_draw): remove
2799
2800         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
2801
2802         * gtk/gtkfixed.c (gtk_fixed_draw): remove
2803
2804         * gtk/gtkframe.c (gtk_frame_draw): remove
2805
2806         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
2807
2808         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
2809
2810         * gtk/gtklayout.c (gtk_layout_draw): remove
2811
2812         * gtk/gtklist.c (gtk_list_draw): remove
2813
2814         * gtk/gtklistitem.c (gtk_list_item_draw): remove
2815
2816         * gtk/gtkmenu.c (gtk_menu_draw): remove
2817
2818         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
2819
2820         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
2821
2822         * gtk/gtknotebook.c (gtk_notebook_draw): remove
2823
2824         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
2825
2826         * gtk/gtkpacker.c (gtk_packer_draw): remove
2827
2828         * gtk/gtkrange.c (gtk_range_draw): remove
2829
2830         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
2831
2832         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
2833
2834         * gtk/gtktable.c (gtk_table_draw): remove
2835
2836         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
2837
2838         * gtk/gtktext.c (gtk_text_draw): remove
2839
2840         * gtk/gtktextview.c (gtk_text_view_draw): remove
2841
2842         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
2843
2844         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
2845
2846         * gtk/gtktree.c (gtk_tree_draw): remove
2847
2848         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
2849
2850         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
2851
2852         * gtk/gtkviewport.c (gtk_viewport_draw): remove
2853
2854         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
2855
2856         * gtk/gtkvscale.c (gtk_vscale_draw): remove
2857
2858         * gtk/gtkwindow.c (gtk_window_draw): remove
2859
2860 2000-20-01  Anders Carlsson  <andersca@gnu.org>
2861
2862         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
2863         a GtkToggleButton is both insensitive and active, it was being
2864         drawn by the GtkButton draw handler which doesn't check the
2865         state. Now it's calling gtk_toggle_button_paint instead.
2866         
2867 2000-12-01  Havoc Pennington  <hp@redhat.com>
2868
2869         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
2870         dangling pointers to the appearance attributes from the 
2871         line display
2872
2873         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
2874         width/height to mean "full width/height of drawable"
2875
2876         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
2877         click to select word/line
2878         
2879         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
2880         when getting log attrs. Get a slice, so that pixmaps and stuff
2881         are properly handled.
2882
2883         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
2884         paste into the selection (replaces selection now, previously
2885         crashed or added to selection). Reveals longstanding btree bug -
2886         select multiple lines, middle-click on the selection, boom. This
2887         isn't related to my changes though.
2888
2889         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
2890         PangoLogAttrs changes
2891         (gtk_entry_move_backward_word): ditto
2892
2893         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
2894         functions return bool whether the iter moved onto a
2895         dereferenceable position.
2896  
2897         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
2898         functions for motion in terms of display lines.
2899
2900         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
2901         get the buffer a mark is inside
2902         
2903 2000-12-01  Alexander Larsson  <alexl@redhat.com>
2904
2905         * gdk/linux-fb/Makefile.am:
2906         * modules/linux-fb/Makefile.am:
2907         Freetype 2 final uses freetype-config
2908
2909         * gdk/linux-fb/gdkpango-fb.c:
2910         Upgrade to use Freetype 2 final.
2911         More flexible support for font aliases, this also fixes a bug with
2912         GtkFontSelector, as the aliases must be visible in the font/family list,
2913         or GtkFontSelector reads uninitialized memory.
2914
2915 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
2916
2917         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
2918         XGetIMValues to properly terminate variable argument list, and do
2919         NULL return check for ic_values and xim_styles.
2920
2921         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
2922         Restore preedit state after XmbResetIC().
2923         
2924         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
2925         XvaCreateNestedList() should take XvaNestedList, but not
2926         XvaNestedList*.
2927
2928         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
2929         preedit_draw_callback, preedit_caret_callback): Match
2930         "preedit-changed" signal name to "preedit_changed" to be
2931         consistent to the spec.
2932
2933         * gtk/gtkimcontextsimple.c (check_table):
2934         Match "preedit-changed" to "preedit_changed" to be consistent
2935         to the spec.
2936
2937 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
2938
2939         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
2940         gc->clip_region == NULL>
2941
2942 2000-11-30  Tor Lillqvist  <tml@iki.fi>
2943
2944         Changes by Hans Breuer:
2945         
2946         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
2947         Dont't use negative width and height as max_hints. This fixes
2948         Owen's recent testgtk changes for win32.
2949
2950         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
2951         gdk_win32_hdc_release): These are exported and may be called with
2952         other drawable types than our GdkDrawableImplWin32 (?).
2953
2954         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
2955         so always #define USE_BACKING_STORE.
2956
2957         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
2958         of printf for debugging output.
2959
2960         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
2961         
2962         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
2963
2964         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
2965         declaration.
2966
2967         * gtk/gtktexttypes.h: Ditto.
2968
2969         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
2970         (GDK_VoidSymbol) also if in case of arg check failure.
2971
2972         * gtk/gtkimcontextsimple.c
2973         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
2974         position to the pointer, but to the variable it points to.
2975
2976         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
2977
2978         * gtk/gtk.def: Updates.
2979
2980 2000-11-29  Elliot Lee  <sopwith@redhat.com>
2981
2982         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
2983         GTK_TYPE_TREE_MODEL.
2984
2985 2000-11-29  Alexander Larsson  <alexl@redhat.com>
2986
2987         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
2988         Set the size of the font from the description.
2989         (gdk_text_width): Gross hack that calculates the width
2990         of text by text_length * size/2. This is necessary because
2991         GtkLabel does some ugly gtk_string_width call to calculate
2992         an good size.
2993         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
2994
2995 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
2996
2997         * docs/tutorial/gtk-tut.sgml: DND updates
2998
2999 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3000
3001         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
3002         If you pass width or height == 0 to gdk_window_clear_area they
3003         should be calculated from the window size.
3004
3005 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3006
3007         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
3008         a grab, but no grab-cursor, use the cursor from the grabbed
3009         window. (gdk_fb_window_send_crossing_events): Send normal
3010         enter/leave notifications if grab and owner_events == TRUE.
3011
3012 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3013
3014         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
3015         Do implicit button grabs, even if the window doesn't
3016         want the event.
3017         (gdk_fb_window_send_crossing_events): If there is a
3018         grab, only the grabbed window gets normal enter/leave
3019         notifications. On ungrab go from grabbed window to current.
3020         Don't send any notification to b when propagating from c -> b.
3021         If setting a grab on window, don't set prev_window.
3022         (handle_mouse_input): Send enter/leave events to the window the
3023         mouse is over, not the grabbed one.
3024         
3025 2000-11-28  Elliot Lee  <sopwith@redhat.com>
3026
3027         * gdk/gdkregion-generic.c: Zap warning.
3028         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
3029         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
3030
3031 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
3032
3033         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
3034         The cursor should be hidden if it is part of either the
3035         source or destination region. Not only if it is in both.
3036         (gdk_window_set_transient_for): Silence warnings.
3037
3038 2000-11-28  Alexander Larsson  <alexl@redhat.com>
3039
3040         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
3041         The default mode in X is Pie Arcs, therefore that is
3042         what Gtk+ uses.
3043
3044 2000-11-28  Alexander Larsson  <alexl@redhat.com>
3045
3046         * gdk/linux-fb/gdkinput-ps2.c:
3047         Implement correct EnterNotify/LeaveNotify:
3048         (gdk_fb_window_send_crossing_events): New function that sends
3049         all GdkCrossingEvents from the last mouse-window to the specified
3050         destination.
3051         (gdk_fb_window_visibility_crossing): Removed function.
3052         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
3053         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
3054         instead of gdk_window_get_pointer() for better readability.
3055
3056         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
3057         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
3058
3059         * gdk/linux-fb/gdkprivate-fb.h:
3060         removed gdk_fb_window_visibility_crossing, added
3061         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
3062
3063         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
3064         New function that finds the least common ancestor of two windows.
3065         (gdk_window_show, gdk_window_hide):
3066         Use gdk_fb_window_send_crossing_events.
3067         (gdk_fb_window_move_resize): Send configure events to toplevel
3068         windows. Use gdk_fb_window_send_crossing_events.
3069
3070 2000-11-27  Havoc Pennington  <hp@redhat.com>
3071
3072         * gtk/gtkprivate.h (enum): Remove a trailing comma
3073
3074 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
3075
3076         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
3077         the "changed" callback of the adjustment.  We need to redraw the
3078         spin button's arrows when the adjustment's range changes.
3079         (adjustment_changed_cb): Draw the arrows.
3080         (gtk_spin_button_value_changed): Draw the arrows.
3081
3082 2000-11-23  Alexander Larsson  <alexl@redhat.com>
3083
3084         * gdk/linux-fb/gdkselection-fb.c:
3085         Initial selection implementation.
3086
3087         * gtk/gtkselection.c:
3088         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
3089         requestor in gtk_selection_request.
3090         
3091         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
3092         Added gdk_selection_property atom.
3093
3094         * gdk/linux-fb/gdkprivate-fb.h:
3095         Export _gdk_selection_window_destroyed.
3096         Removed mask_off_x/y from GdkCursorPrivateFB.
3097         Removed hbearing, added top, left to PangoFBGlyphInfo.
3098
3099         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
3100         Call _gdk_selection_window_destroyed
3101         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
3102         the root window has been created.
3103         (static_dx_hack, static_dy_hack, compare_draw_rects,
3104         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
3105         in region. They are already sorted. Instead just traverse them in
3106         reverse if draw_direction < 0.
3107         
3108         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
3109         Double-clicks must be sent after the normal button_press.
3110         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
3111         
3112         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
3113         Pass _gdk_fb_screen_gc instead of NULL.
3114
3115         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
3116         Initialize gdk_selection_property.
3117         (gdk_event_make): Remove unused code.
3118
3119         * gdk/linux-fb/gdkcursor-fb.c:
3120         Make the pixmap for the cursor the same size as the mask. Also remove
3121         the mask_off_x/y fields in GdkCursorPrivateFB and combine
3122         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
3123         Now the whole cursor is visible.
3124
3125         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
3126         Fix bug where xdest+height instead of ydest+height was used
3127         to calculate if the source and dest overlapped. This fixes the
3128         redraw bug when the main window in testgtk was scrolled when
3129         partially covered by a tall window.
3130         Copy rectangles in region in order depending on draw_direction.
3131         Also moved the draw_direction flipping of start_y and end_y into
3132         the gc functions, as this might not be what all of them want.
3133         (gdk_fb_draw_lines): Support dashed lines.
3134         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
3135         so that the text is positioned correctly (was 1 pixel high).
3136
3137         gdk/linux-fb/gdkgc-fb.c:
3138         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
3139         all lines were drawn a pixel to short. Also checked the default of
3140         the rest of the values, and they're the same as X now.
3141
3142         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
3143         Clean up pixel positioning of the glyphs. Just use bgy->top and
3144         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
3145         to all divisions to get correct rounding behaviour.
3146
3147         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
3148         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
3149         Moved start_y/end_y flip into draw_drawable implementations.
3150         Flip also x rendering when draw_direction < 0.
3151         Remove unneccesary multiply with draw_direction.
3152
3153 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
3154
3155         * docs/tutorial/gtk-tut.sgml:
3156           - get rid of gtk_toggle_button_toggled FUD
3157           - start DND section - needs work - based on:
3158                 http://wolfpack.twu.net/docs/gtkdnd/
3159
3160 2000-11-22  Alexander Larsson  <alexl@redhat.com>
3161
3162         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
3163         Correct calculation of font metrics. Now GtkEntrys have sane
3164         size.
3165
3166 2000-11-22  Alexander Larsson  <alexl@redhat.com>
3167
3168         * gdk/gdktypes.h:
3169         Add new type GdkSpan
3170         
3171         * docs/reference/gdk/gdk-sections.txt,
3172         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
3173         gdk/gdkregion.h:
3174         Implement and document gdk_region_spans_intersect_foreach.
3175
3176         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
3177         Add new file gdkrender-fb.c which contains all core
3178         rendering code.
3179         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
3180         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
3181         (optimized rectangle fillers).
3182
3183         * gdk/linux-fb/gdkdrawable-fb2.c:
3184         Move all rendering code to gdkrender-fb.c.
3185         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
3186         Use the new span intersection functions in gdk_fb_fill_spans.
3187         gdk_fb_draw_rectangle() clips filled rectangles and calls
3188         gc->fill_rectangle with the result.
3189         gdk_fb_fill_spans() gets extra argument "sorted".
3190
3191         * gdk/linux-fb/gdkevents-fb.c:
3192         Remove unused includes and defines.
3193         New function gdk_fb_get_time() to get correct time for events.
3194
3195         * gdk/linux-fb/gdkinput-ps2.c:
3196         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
3197         Make sure to set the time of all events.
3198
3199         * gdk/linux-fb/gdkmain-fb.c:
3200         Use gdk_fb_get_time ().
3201
3202         * gdk/linux-fb/gdkprivate-fb.h:
3203         New virtual GC calls: fill_span & fill_rectangle.
3204         Export gdk_fb_get_time().
3205         gdk_fb_fill_spans() gets extra argument "sorted".
3206
3207         * gdk/linux-fb/mi*.c:
3208         Use GdkSpan instead of GdkRectangle.
3209         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
3210         from XFree 4 source)
3211         
3212 2000-11-22    <jrb@redhat.com>
3213
3214         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
3215         reversing the order in an if statement will do.  Doing so managed
3216         to make the treemodelsort half work.  Other half will follow after
3217         I get the insert function fully fixed.
3218
3219 2000-11-21  Elliot Lee  <sopwith@redhat.com>
3220         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
3221         more than 2 bits. Besides, I need to implement an evil hack. :)
3222
3223 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
3224
3225         * docs/tutorial/gtk-tut.sgml: minor corrections
3226
3227 2000-11-20  Jonathan Blandford <jrb@redhat.com>
3228         * gtk/gtktreemodelsort.h: Add convertion functions to let you
3229           convert to and from relative path's and iters.
3230
3231         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
3232           testing sorting functions a bit better.  Currently broken -- will
3233           fix in morning.
3234
3235 2000-11-20  Havoc Pennington  <hp@redhat.com>
3236
3237         * gtk/gtkwidget.c: Documented a bunch of functions in here
3238         (gtk_widget_realize): Warn if you try to realize
3239         a widget with no parent that isn't a toplevel
3240         (gtk_widget_intersect): return a gboolean
3241
3242 2000-11-20  Havoc Pennington  <hp@redhat.com>
3243
3244         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
3245         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
3246         scrolling to be implemented in GDK to finish. Also, right now
3247         we just size_allocate all children on every layout change,
3248         which is pretty lame. Test commented out of testtext.c, 
3249         until it works better.
3250
3251 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
3252
3253         * gdk/linux-fb/gdkdrawable-fb2.c:
3254         Removed unused arguments from gdk_fb_drawable_get_pixel().
3255
3256         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
3257         Renamed fidur specific mouse packet data in MouseDevice to
3258         generic. Used it in ps2 mouse handling code to avoid blocking
3259         reads.
3260
3261 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
3262
3263         * demos/gtk-demo/main.c: Changed to have the list become
3264         non-italic when the demo window is destroyed through an external
3265         event (like a close button).  Doing so found three bugs in the
3266         widget.
3267
3268         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
3269
3270         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
3271         we actually set the cell.
3272
3273         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
3274
3275         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
3276         free a leaked path.  Thanks memprof.
3277
3278 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
3279
3280         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
3281         off-by-one error when destroying allocated segments
3282         on failure. (Elliot)
3283
3284 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
3285
3286         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
3287         memleaks found by Evan Martin.
3288
3289 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
3290
3291         * Released 1.3.2
3292         
3293         * NEWS: Updates for 1.3.2
3294
3295 2000-11-17  Tor Lillqvist  <tml@iki.fi>
3296
3297         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
3298         but in general for window system specific events.
3299
3300         * gtk/gtk.def
3301         * gtk/makefile.mingw.in
3302         * gtk/makefile.msc.in: Update.
3303         
3304         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
3305
3306 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
3307
3308         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
3309         distribute gtk.immodules.
3310
3311         * gtk/Makefile.am (install-data-local): Don't install the
3312         gtk.immodules file created for the uninstalled modules;
3313         instead run gtk-query-immodules after install
3314
3315 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
3316
3317         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
3318         -rpath to the right install location.
3319
3320         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
3321         -export-dynamic.
3322
3323         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
3324         properly.
3325
3326 2000-11-15  Havoc Pennington  <hp@pobox.com>
3327
3328         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
3329         patch from Mikael Hermansson to temporarily stop blinking while
3330         the user is using the keyboard to type or navigate. 
3331
3332         Also, when blinking, stay on for longer than we stay off. Also,
3333         return from start_cursor_blink if !cursor_visible, to save
3334         checking that flag all over the place before we call
3335         start_cursor_blink.
3336
3337 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
3338
3339         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
3340         only contain a "fontset" line, which is now ignored.
3341
3342         * gtk/gtkentry.c (gtk_entry_button_release): Make 
3343         double-click-to-select-word work.
3344         
3345 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
3346
3347         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
3348         Don't move back one char when we are actually at the end of the 
3349         paragraph.
3350
3351 2000-11-15  Robert Brady  <robert@suse.co.uk>
3352
3353         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
3354         'o' < 'p'.
3355         
3356         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
3357         bind_textdomain_codeset.
3358
3359         (gtk_init_check): Make the warning about translating default:LTR
3360         sterner.
3361         
3362 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
3363
3364         * **/Makefile.am : remove unecessary rules for win32-specific
3365         config-substituted targets. If you want these rules, use
3366         --enable-maintainer-mode (called automatically by autogen.sh).
3367         Stops a lot of unneccessary make-time warnings.
3368
3369         * gtk/gtktext{layout,display}.c: Factor in total width as
3370         well as screen when figuring alignment for word-wrap as well as
3371         no wrap; this is necessary to handle lines that cannot be wrapped
3372         at all.
3373
3374 2000-11-15  Havoc Pennington  <hp@redhat.com>
3375
3376         * gtk/testtext.c: Implement essential color cycling feature
3377
3378 2000-11-15  Havoc Pennington  <hp@redhat.com>
3379
3380         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
3381         when we invalidate the main window.
3382
3383         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
3384         GtkTextView will now invalidate the side windows for us when text
3385         changes.
3386
3387 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
3388
3389         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
3390         unconditionally, since we may need to update the horizontal
3391         scrollbars even if the height didn't change.
3392
3393         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
3394         the extra attrs, since some of them affect size.
3395
3396         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
3397         x_offset correctly.
3398
3399 2000-11-15  Havoc Pennington  <hp@redhat.com>
3400
3401         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
3402         don't move the first line out into the margin, instead move the
3403         whole paragraph in order to make space for the first line within 
3404         the margin
3405
3406 2000-11-15  Havoc Pennington  <hp@redhat.com>
3407
3408         * gtk/gtktextview.c (changed_handler): offset redraw rect by
3409         xoffset in addition to yoffset, so horizontal scrolling doesn't
3410         break redraws
3411
3412 2000-11-15  Havoc Pennington  <hp@redhat.com>
3413
3414         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
3415         from the cursor
3416         (render_layout_line): fix reversed test that caused weird
3417         underlines to get drawn
3418
3419 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
3420
3421         * gdk/linux-fb/gdkprivate-fb.h:
3422         Fix debug macros.
3423         
3424 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
3425
3426         * gdk/linux-fb/gdkprivate-fb.h:
3427         Added virtual functions set_pixel, get_color,
3428         fill_span and draw_drawable to the GC.
3429         Added global _gdk_fb_screen_gc to use instead of
3430         NULL when drawing to the screen.
3431         Added _gdk_fb_gc_calc_state() prototype.
3432
3433         * gdk/linux-fb/gdkgc-fb.c:
3434         Call _gdk_fb_gc_calc_state() on any gc state change.
3435
3436         * gdk/linux-fb/gdkglobals-fb.c:
3437         Add _gdk_fb_screen_gc
3438                 
3439         * gdk/linux-fb/gdkdrawable-fb2.c:
3440         _gdk_fb_gc_calc_state() calculates best functions
3441         for the GC state and depth.
3442         Moved bpp specialized code to separate functions.
3443         Added optimized 24 bpp AA draw_drawable.
3444
3445         * gdk/linux-fb/gdkevents-fb.c:
3446         Silence gcc warning.
3447
3448         * gdk/linux-fb/gdkimage-fb.c:
3449         Use _gdk_fb_screen_gc
3450
3451         * gdk/linux-fb/gdkwindow-fb.c:
3452         Init and use _gdk_fb_screen_gc
3453
3454         * gdk/linux-fb/mitypes.h:
3455         Remove unused types.
3456
3457 2000-11-14  Havoc Pennington  <hp@pobox.com>
3458
3459         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
3460         to pixels
3461
3462 2000-11-14  Havoc Pennington  <hp@pobox.com>
3463
3464         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
3465
3466         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
3467         unknown char, no real reason we were using a variable. 
3468         Remove gtk_text_unknown_char variable. Fix all the text widget
3469         files accordingly.
3470
3471         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
3472         since the Unicode spec seems to prefer that character for our
3473         purposes.
3474
3475 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
3476
3477         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
3478         value of g_getenv() isn't freeable, so g_strdup it.
3479
3480         * modules/input/inuktitut.c: Inuktitut input method.
3481
3482         * modules/input/Makefile.am: Build this.
3483         
3484 2000-11-14  Elliot Lee  <sopwith@redhat.com>
3485
3486         * gtk/Makefile.am: Install gtk.immodules, needed for operation
3487         of gtk programs.
3488
3489 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
3490
3491         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
3492         reversed > that was causing Home to go to end of previous line.
3493
3494         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
3495         modified-keypresses (leave for bindings.)
3496
3497         * modules/input/Makefile.am: Remove useless -export-dynamic
3498         from module LDFLAGS.
3499
3500 2000-11-14  Havoc Pennington  <hp@redhat.com>
3501
3502         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
3503         higher.
3504
3505         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
3506         account. Also, render rise, underline, background, etc. for
3507         pixbufs as well as text. Also, draw underlines one pixel higher.
3508
3509         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
3510         PangoAttribute for the rise, so it gets drawn properly. Also,
3511         add the GtkTextAppearance attribute for pixbuf/widget segments
3512         as well; we should go ahead and have rise, underline, background,
3513         stipple work for those
3514
3515         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
3516         Pango
3517
3518 2000-11-15  Tor Lillqvist  <tml@iki.fi>
3519
3520         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
3521
3522         * gtk/gtk.def: Update.
3523
3524         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
3525         included.
3526         (gtk_rc_get_im_module_file): Use run-time installation directory
3527         on Win32.
3528
3529         * gdk/win32/rc/gdk.rc: Remove.
3530         * gdk/win32/rc/gdk.rc.in: New file.
3531         * gdk/win32/rc/Makefile.am: New file
3532         * gdk/win32/Makefile.am: Corresponding changes.
3533
3534         * gtk/gtk.rc: Remove.
3535         * gtk/gtk-win32.rc.in: New file.
3536         * gtk/Makefile.am: Corresponding changes.
3537
3538         * configure.in: Corresponding changes.
3539
3540         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
3541         has a built gtkcompat.h. Developers using CVS code on Win32 can
3542         hand-edit it from gtkcompat.h.in.
3543
3544         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
3545         gtkcompat.h from gtkcompat.h.win32.
3546
3547 2000-11-14  Havoc Pennington  <hp@redhat.com>
3548
3549         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
3550         to default to GDK_ACTION_MOVE if the drag is within a single
3551         widget. Defaults to GDK_ACTION_COPY between widgets.
3552
3553 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
3554
3555         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
3556
3557         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
3558
3559         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
3560         srcdir != builddir
3561
3562         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
3563
3564         * configure.in (GTK_VERSION): Up to 1.3.2
3565
3566         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
3567         gtkimcontextxim.h
3568
3569         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
3570         missing doc comment.
3571
3572 2000-11-14  Alexander Larsson  <alexl@redhat.com>
3573
3574         * modules/linux-fb/basic.c:
3575         Use the glib iconv wrappers.
3576
3577 2000-11-13  Havoc Pennington  <hp@pobox.com>
3578
3579         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
3580         still more bugs.
3581
3582         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
3583         scroll the GdkWindows before realization.
3584
3585 2000-11-13  Havoc Pennington  <hp@redhat.com>
3586
3587         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
3588         where GC didn't always get updated properly
3589
3590         * demos/gtk-demo/textview.c (create_tags): Use subattributes
3591         of fonts instead of setting the entire font
3592
3593         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
3594         setting entire font
3595
3596         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
3597
3598         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
3599         a bunch of individually-settable font attributes. You can still 
3600         use the "font" and "font_desc" args, they just set all the font
3601         attributes at once.
3602
3603 2000-11-13 Elliot Lee <sopwith@redhat.com>
3604
3605         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
3606
3607 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
3608
3609         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
3610         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
3611
3612         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
3613         work better.
3614
3615 2000-11-13  Havoc Pennington  <hp@redhat.com>
3616
3617         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
3618         the module file.
3619
3620         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
3621         dest->language
3622
3623         * gtk/testtext.c: Test pixels above/below/inside paragraphs
3624         settings
3625
3626         * gtk/gtktextview.c: Implement object args and setters/getters for
3627         all the aspects of the GtkTextAttributes that are not set from
3628         GtkWidget attributes. This is spacing, justification, margins,
3629         etc.
3630
3631         (gtk_text_view_set_arg)
3632         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
3633         args
3634         (gtk_text_view_class_init): Add args for justify, left_margin,
3635         right_margin, indent, and tabs
3636         
3637
3638         * gtk/gtktextlayout.c (set_para_values): fix to display indent
3639         attribute properly
3640
3641         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
3642         replace with indent attribute
3643
3644         * gtk/gtktextlayout.c (set_para_values): multiply indent by
3645         PANGO_SCALE
3646
3647         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
3648         rearranging code to do that
3649         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
3650         i.e. don't subtract the top_margin first, just to keep
3651         all margin-futzing in one place.
3652
3653         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
3654
3655         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
3656         special case of last line, Pango now handles this itself.
3657         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
3658         Y coordinate
3659         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
3660         (find_display_line_above): wasn't moving the byte index as it
3661         iterated over lines, so always returned byte 0. Also, port to use
3662         PangoLayoutIter.
3663         (find_display_line_below): same problem as
3664         find_display_line_above. Also, port to use PangoLayoutIter.
3665
3666 2000-11-13  Alexander Larsson  <alexl@redhat.com>
3667
3668         * gdk/linux-fb/*.[ch]:
3669         Massive reindent to gtk+ standard. My hands hurt.
3670
3671         * gdk/linux-fb/gdkcolor-fb.c:
3672         Move GdkColorPrivateFB from inherited to windowing_data
3673
3674         * gdk/linux-fb/gdkcursor-fb.c:
3675         _gdk_cursor_new_from_pixmap made static
3676
3677         * gdk/linux-fb/gdkdnd-fb.c:
3678         GdkDragContextPrivate moved to windowing_data
3679
3680         * gdk/linux-fb/gdkdrawable-fb2.c:
3681         Removed endian.h, use glib endianness macros instead
3682         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
3683         and GDK_DRAWABLE_IMPL_FBDATA
3684
3685         * gdk/linux-fb/gdkfont-fb.c:
3686         Add empty gdk_font_load(). Needed for linking of Gtk+.
3687
3688         * gdk/linux-fb/gdkimage-fb.c:
3689         Removed endian.h, use glib endianness macros instead
3690         Moved GdkImagePrivateFB to windowing_data
3691         gdk_image_new_bitmap didn't always allocate enough
3692         memory.
3693
3694         * gdk/linux-fb/gdkinput-ps2.c:
3695         Added semi-working support for MS serial mice.
3696
3697         * gdk/linux-fb/gdkprivate-fb.h:
3698         s/GdkWindowPrivate/GdkWindowObject/
3699         Removed GdkWindowPrivate typedef
3700         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
3701         Removed GDK_DRAWABLE_P
3702         Move GdkColorPrivateFB from inherited to windowing_data
3703         Moved GdkImagePrivateFB to windowing_data
3704
3705         * gdk/linux-fb/gdkvisual-fb.c:
3706         Removed some unused debug code.
3707
3708         * gdk/linux-fb/gdkwindow-fb.c:
3709         Use stock cursors instead of including X headers.
3710         s/GdkWindowPrivate/GdkWindowObject/
3711
3712         * gdk/linux-fb/mitypes.h:
3713         Removed unused types.
3714
3715         * modules/linux-fb/basic.c:
3716         Use the pango fribidi wrappers.
3717
3718 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3719
3720         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
3721         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
3722         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
3723         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
3724         GEqualFunc where applicable.
3725         
3726         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
3727         pango_font_description_equal as changed in pango.
3728         
3729         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
3730
3731         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
3732
3733         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
3734
3735         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
3736
3737         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
3738
3739         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
3740
3741         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
3742         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
3743
3744         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
3745         gtk_rc_styles_compare -> gtk_rc_styles_equal.
3746
3747 2000-11-12  Havoc Pennington  <hp@pobox.com>
3748
3749         * demos/gtk-demo/Makefile.am (democodedir): change demo install
3750         dir to datadir/gtk+-2.0/demo
3751
3752         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
3753         sorts of text widget and Pango font bugs. Urgh.
3754
3755         * demos/gtk-demo/Makefile.am (demos): Add textview.c
3756
3757         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
3758         tree that you should double click to see the demo. Fix 
3759         types of variables to reflect changed return values from 
3760         GtkTreeStore and GtkTreeViewColumn constructors.
3761
3762         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
3763         newly-created buffer to prepare for GObject semantics
3764
3765         * gtk/testtext.c: don't leak the buffer with GObject semantics
3766
3767         * gtk/testtextbuffer.c: ditto
3768         
3769 2000-11-12  Havoc Pennington  <hp@pobox.com>
3770
3771         Rename this testgtk to gtk-demo to avoid confusion, and 
3772         install it so people can use it as a supplement to 
3773         the documentation.
3774         
3775         * demos/gtk-demo: Moved from demos/testgtk
3776
3777         * demos/testgtk: Removed
3778
3779         * configure.in: make Makefile in gtk-demo
3780         
3781         * demos/gtk-demo/Makefile.am: Install sample source to 
3782         datadir/gtk-demo (maybe there's a better place?), and 
3783         rename the binary to gtk-demo
3784         
3785         * demos/gtk-demo/main.c (load_file): Load installed sample
3786         source if source isn't found in pwd.
3787
3788 2000-11-09  Havoc Pennington  <hp@pobox.com>
3789
3790         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
3791         argument to set the char displayed when visibility == FALSE
3792         (gtk_entry_create_layout): If !entry->visible, replace 
3793         all chars with the "invisible char"
3794
3795         * gtk/testgtk.c: Test the invisible_char deal
3796         
3797 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
3798
3799         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
3800         can't get a native font in the right encoding.
3801
3802 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
3803
3804         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
3805         respectively.
3806
3807 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
3808
3809         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
3810         Fix warning when moving between paragraphs.
3811
3812         * gtk/gtkentry.[ch]: Change move => move_cursor, 
3813         delete => delete_from_cursor, insert => insert_at_cursor
3814
3815 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
3816
3817         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
3818
3819         * modules/input/imthai-broken.c: A Thai input method for use if
3820         Thai keys are really generating Latin1 keysyms.
3821
3822         * modules/input/Makefile.am: Build these.
3823
3824 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
3825
3826         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
3827         g_filename_{to,from}_utf8 now takes an extra parameter.
3828
3829         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
3830         strftime into UTF-8.
3831
3832         (column_from_x, gtk_calendar_paint_day_names): Support RTL
3833         calendars.
3834
3835         (gtk_calendar_paint_day_names): Draw day names in the right 
3836         place.
3837         
3838 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
3839
3840         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
3841         problem with using result of g_get_charset() backwards -
3842         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
3843
3844         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
3845         negative min_width/height and max_width/height to
3846         mean "requisition"; this allows setting a window
3847         to be user-resizable in only one direction easily.
3848
3849         * gtk/testgtk.c (create_main_window): Remove hard-coded
3850         usize - set a default size in the vertical direction.
3851
3852 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
3853
3854         * gtk/gtkrange.c: Add some missing casts. Support 
3855         2 and 3 button clicks on the arrows to mean 
3856         "move by pages" and "jump to end". (Like gtkspinbutton)
3857
3858 2000-11-12 Hans Breuer <Hans@Breuer.Org>
3859
3860         * gdk/win32/makefile.msc : reflect build module changes
3861
3862         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
3863         from GdkPixmap*, cast implementation member instead.
3864
3865         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
3866         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
3867         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
3868         more Gdi functions return value checking. 
3869         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
3870         GdkImagePrivateWin32 *.
3871
3872         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
3873         menus useable again. Add #pragma message to keep reminded on this issue.
3874         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
3875         windows. This allows to enable backing store on Win32!
3876
3877         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
3878         in drawable is of impl type. Correct specific type checks appropriate.
3879  
3880         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
3881         GDK_WINDOW_DESTROYED before allocating new resources.
3882
3883         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
3884
3885         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
3886         (gdk_window_foreign_new) initialize parent handle.
3887         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
3888
3889         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
3890         Let the GDI invalidate the window on MoveWindow call to fix scrolling
3891         problems (e.g. main buttons in testgtk). 
3892
3893 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
3894
3895         * gtk/gtkentry.c (gtk_entry_key_press): Call 
3896         gtk_widget_activate for GDK_Return.
3897
3898         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
3899         of preedit cursor position.
3900
3901 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
3902
3903         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
3904         static.
3905
3906 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
3907
3908         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
3909         out support for multiple locales; that simple doesn't
3910         work reliably with current Xlib
3911
3912         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
3913         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
3914         Add support for positioning the cursor within the preedit string.
3915
3916 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
3917
3918         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
3919         at XIM input method module.
3920
3921         * gtk/gtktextview.c: Check for bindings after passing
3922         events to im context filter.
3923
3924 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
3925
3926         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
3927         empty attribute lists properly.
3928
3929 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
3930
3931         * gtk/queryimmodules.c (main): Return non-zero exit
3932         status if errors were encountered querying any
3933         modules.
3934
3935         * modules/input/Makefile.am (moduledir): remove
3936         leftover bin program target.
3937
3938         * docs/make-todo: Fix typo in error message.
3939
3940 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
3941
3942         * configure.in: Add modules/input/Makefile
3943
3944 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
3945
3946         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
3947         don't include gtkthemes.h.
3948
3949         * gtk/testgtk.c gtk/testtext.c: Set environment variables
3950         to point
3951
3952         * gtk/Makefile.am: Add new .c and .h files, build 
3953         gtk-query-immodules and use it to create a gtk.immodules
3954         file for use of test programs.
3955
3956         * gtk/gtkpreview.c: remove extra blank line.
3957
3958 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
3959
3960         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
3961         Add the ability to add extra tables beyond the default
3962         one, and also the ability to have compose sequences 
3963         that are prefixes of other compose sequences. 
3964
3965         * gtk/gtkimcontextsimple.c: Export a preedit string which
3966         consists of possible candidates for keystrokes that have
3967         been entered but not yet committed.
3968
3969         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
3970         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
3971
3972         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
3973         Add a function to add input-method switching menu items
3974         to a menu.
3975
3976         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
3977         when switching input methods.
3978
3979         * gtk/gtkimcontextsimple.[ch]: Change the format of
3980         the compose table to allow compose tables of different
3981         lengths / sequence.
3982
3983 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
3984
3985         * gtk/gtkimmodule.[ch]: Support routines for loading
3986         GtkIMContext implementations dynamically at runtime.
3987
3988         * modules/input/imcyrillic-translit.c: A sample input
3989         method (based on GtkIMContextSimple with an extra table),
3990         which demonstrates preedit strings and the module
3991         system for input modules
3992
3993         * gtk/queryimmodules.c: Program to query the available
3994         input modules and write the results into a file.
3995          
3996         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
3997         extra config options "im_module_file" (cache file for
3998         input method modules), and "im_module_path" - path
3999         to look for modules when generating cache file.
4000
4001         This doesn't scale.
4002
4003 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
4004
4005         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
4006         generic code from gtkthemes into a new abstraction
4007         GtkModule which has the logic for implementing
4008         a loadable module which implements a number of 
4009         GObject types.
4010
4011 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
4012
4013         * gtk/gtkeditable.[ch]: Convert GtkEditable from
4014         a class into an interface  
4015         
4016         * gtk/gtkoldeditable.[ch]: Move the old editable
4017         implementation into here, so legacy widgets can
4018         still rely on the implemenation. GtkOldEditable
4019         exports GtkEditable. Make selection handling
4020         code use new text conversion functions (and
4021         handle UTF-8 as a side-effect). Use GtkClipboard
4022         for CLIPBOARD.
4023
4024         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
4025         Adopt to match above changes.
4026
4027         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
4028         avoid GtkOldEditable implementation. Restructure
4029         to reduce number of places that modify state directly.
4030         Move to GtkBindingSet. Display the preedit string.
4031         Queue recomputation of PangoLayout and scroll position
4032         to improve effiency of doing complex changes naively.
4033         Add a menu with cut/copy/paste and input method selection.
4034
4035 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
4036
4037         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
4038         to set preedit string and attributes; display preedit string by
4039         inserting string and attributes at cursor when creating the
4040         GtkTextLineDisplay.
4041
4042         * gtk/gtktextlayout.c: Move all conversions between byte
4043         positions in PangoLayout and GtkTextIter into new functions
4044         line_display_iter_to_index/index_to_iter that properly
4045         handle the preedit string.
4046
4047         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
4048         it to return const char * (eventually will end up
4049         as GCONST char *, most likely.)
4050
4051         * gtk/gtktextview.[ch]: Handle the preedit string, call
4052         gtk_im_context_reset() as necessary, add a menu to switch
4053         input methods.
4054         
4055         * gtk/gtktextlayout.[ch]: Remove useless
4056         gtk_text_layout_get_log_attrs() function.
4057
4058 2000-11-11  Tor Lillqvist  <tml@iki.fi>
4059
4060         * gdk/gdk.def
4061         * gtk/gtk.def: Update.
4062
4063         * gdk/win32/*.c: Add last argument to g_type_register_static()
4064         calls.
4065
4066         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
4067
4068         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
4069         generated by older wheel mouse drivers. Get the correct y
4070         coordinate from WM_MOUSEWHEEL messages.
4071
4072         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
4073         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
4074         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
4075         Debugging functions.
4076
4077         * gdk/win32/gdkprivate-win32.h: Declare them.
4078
4079         * gdk/win32/gdkinput-win32.h: Add declaration for
4080         gdk_input_window_destroy().
4081
4082         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
4083
4084 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
4085
4086         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
4087         function to help handle keeping things in sync.
4088
4089 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
4090
4091         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
4092         BOXED marshallers.
4093
4094         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
4095         (gtk_list_store_class_init): use the new BOXED marshallers.
4096
4097         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
4098         new_with_values to new_with_types.
4099         (gtk_tree_store_get_column_type): add this.
4100         (gtk_tree_store_class_init): use the new BOXED marshallers.
4101
4102         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
4103         mirror some POINTER marshallers.
4104
4105 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
4106
4107         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
4108         allow more interesting iterators.  Also, made the lifecycle of
4109         iterators more explicit.
4110
4111         * gtk/gtktreemodelsort.[ch]: New model for sorting.
4112
4113         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
4114         types.
4115
4116 2000-11-09  Alexander Larsson  <alexl@redhat.com>
4117
4118         * demos/testgtk/menus.c:
4119         Changes to make the new testgtk compile after
4120         gtk_menu_append was removed.
4121
4122         * gdk/linux-fb/gdkdrawable-fb2.c
4123         (gdk_fb_get_depth, gdk_fb_get_visual,
4124         gdk_drawable_impl_fb_class_init): Implement
4125         these drawable functions. Now GtkImages work again.
4126
4127         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
4128
4129         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
4130         
4131         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
4132         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
4133         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
4134         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
4135
4136 2000-11-08  Havoc Pennington  <hp@pobox.com>
4137
4138         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
4139         visible_set args, don't know where these had gone, I thought they
4140         used to be there
4141
4142         * gtk/testtext.c: Add a menu item to apply invisibility tag;
4143         now we can test the feature and see that it's totally broken.
4144
4145 2000-11-08  Havoc Pennington  <hp@pobox.com>
4146
4147         Make DND copy pixbufs and tags when source and target share a 
4148         tag table.
4149         
4150         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
4151         in-process GTK_TEXT_BUFFER_CONTENTS target
4152         (gtk_text_view_drag_data_received): Paste from
4153         GTK_TEXT_BUFFER_CONTENTS if we receive it.
4154
4155 2000-11-08  Alexander Larsson  <alexl@redhat.com>
4156
4157         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
4158         API changes.
4159
4160         * gtk/gtkmenu.c: Add support for scrolling menus.
4161         Remove gtk_menu_append/prepend/insert, these have been moved to
4162         gtkcompat.h as #defines.
4163
4164         * gtk/gtkcompat.h.in:
4165         Add compatibility #defines for gtk_menu_append/prepend/insert
4166
4167         * gtk/gtkmenu.h: Add data needed for scrolling menus.
4168         GtkMenuPositionFunc gets an extra argument push_in.
4169         gtk_menu_append/prepend/insert removed.
4170         
4171         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
4172         positioning behaviour to fit to scrolling menus.
4173
4174         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
4175         into menuitem->submeny. That is wrong, and broke torn
4176         off submenus of torn off menus, since they were unrealized
4177         when the first menu was unrealized.
4178
4179         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
4180         gtk_menu_shell_select_item() since these need to be overridden in
4181         GtkMenu.
4182
4183         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
4184         positioning behaviour to fit to scrolling menus.
4185         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
4186         the current item so that it is prelighted when the menu pops up.
4187         This is a workaround to the fact that the menu doesn't get the
4188         initial enter event (due to grabs).
4189
4190         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
4191         s/gtk_menu_append/gtk_menu_shell_append/
4192
4193         * gtk/gtknotebook.c:
4194         s/gtk_menu_insert/gtk_menu_shell_insert/
4195
4196         * gtk/testgtk.c (create_menu, create_menus):
4197         Create the first menu with 50 items so that menu scrolling
4198         can be tested.
4199         
4200         
4201         Patch from Jonathan Blandford  <jrb@redhat.com>
4202
4203         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
4204         system to handle size requests.  First, we ask what the size of
4205         the toggle is.  Then, when allocating the size, we allocate the
4206         toggle_size first.  This way we can have multiple menu-item
4207         classes w/o needing a seperate class for each.
4208
4209         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
4210         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
4211
4212         * gtk/gtkcheckmenuitem.c
4213         (gtk_check_menu_item_toggle_size_request): New function to handle
4214         the toggle size-request.
4215
4216 2000-11-07  Havoc Pennington  <hp@redhat.com>
4217
4218         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
4219         Half-ass somewhat fix this function, so that scrolling to the
4220         insertion point works. Pango hacking is in the future to really
4221         fix it.
4222
4223         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
4224         length of data, no longer used.
4225
4226         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
4227         method contents in here, get rid of destroy method
4228         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
4229         that were backward. Remove debug spew.
4230         (cut_or_copy): Make the clipboard work with insert_range to
4231         preserve tags and pixbufs, not just the primary selection.
4232
4233 2000-11-07  Havoc Pennington  <hp@redhat.com>
4234
4235         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
4236         to gtk_text_mark_get_visible
4237
4238         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
4239         bug that was generating an invalid iterator
4240
4241         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
4242         ensure_char_offsets() in front of code placing the iter in an
4243         invalid state.
4244
4245         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
4246         make override_location arg const
4247         (paste): Replace the selection if we paste into the 
4248         current selection
4249
4250         * gtk/gtkselection.h: Remove "GtkSelectioData"
4251         (struct _GtkSelectionData): move the definition here.
4252
4253         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
4254         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
4255
4256         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
4257
4258         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
4259         (gtk_text_buffer_insert_range_interactive): implement
4260         (gtk_text_buffer_get_tags): Remove, replaced by
4261         gtk_text_iter_get_tags()
4262
4263         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
4264         limit parameter, to avoid infinite linear scan.
4265         (gtk_text_iter_backward_search): Add search limit
4266         (gtk_text_iter_forward_find_char): Add search limit
4267         (gtk_text_iter_backward_find_char): Add search limit
4268
4269 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
4270
4271         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
4272         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
4273         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
4274         gdk/linux-fb/gdkwindow-fb.c:
4275         use g_object_new() instead of g_type_create_instance() which
4276         is a private function for fundamental type implementations.
4277
4278         * gdk/linux-fb/gdkinput-ps2.c:
4279         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
4280         instead just store the current modifier state. Add a (somewhat broken)
4281         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
4282         Rename exported function gdk_input_ps2_get_mouseinfo to
4283         gdk_input_get_mouseinfo.
4284
4285         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
4286         gdk/linux-fb/gdkwindow-fb.c:
4287         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
4288         
4289
4290 2000-11-02  Havoc Pennington  <hp@redhat.com>
4291
4292         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
4293         use stock buttons. Should be 100% source compatible, appropriate
4294         filesel fields now point to dialog->vbox and dialog->action_area.
4295         On the bizarre side, dialog->action_area and filesel->action_area
4296         are not the same widget.
4297         (gtk_file_selection_init): Put some padding around the selection
4298         entry, so it isn't touching the GtkDialog separator.    
4299
4300         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
4301         use stock buttons, etc. Should also be source compatible.
4302         Set the dialog default title in _init not _new().
4303         
4304         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
4305         Use stock buttons; don't put a button box inside the existing
4306         dialog button box. Don't bother with push/pop colormap anymore.
4307
4308         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
4309         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
4310         for message dialog, and necessary for the font selection and color
4311         selection with help and apply buttons.
4312         
4313         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
4314         to the created button widget. Set GTK_CAN_DEFAULT on the button.
4315         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
4316         between buttons, put less padding around the action area.
4317         (gtk_dialog_run): Exit on unmap rather than on destroy. 
4318         This will also exit the loop if the widget is hidden.
4319         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
4320         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
4321         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
4322         special-case delete event.
4323
4324         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
4325         formatting
4326         
4327 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
4328
4329         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
4330         button to temporarily disable position recording in the
4331         "saved position" test.
4332
4333 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
4334
4335         * gtk/gtkthemes.c: added compat code that temporarily implements
4336         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
4337         going to be revamped by owen's upcoming GtkModule patches, but
4338         untill then people want gtk to build, right? ;)
4339
4340 2000-11-04  Havoc Pennington  <hp@pobox.com>
4341
4342         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
4343         list
4344
4345         * docs/Changes-2.0.txt: Add note about
4346         gtk_container_get_toplevels()
4347
4348         * gtk/gtktextview.h: formatting
4349         
4350         * gtk/gtktextview.c: don't start descriptions with "Returns",
4351         confuses gtk-doc
4352
4353 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
4354
4355         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
4356         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
4357
4358 2000-11-03  Havoc Pennington  <hp@redhat.com>
4359
4360         * gtk/gtktexttagtable.c: Docs
4361         (gtk_text_tag_table_size): return a signed int
4362
4363         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
4364         (gtk_text_tag_event): make the event_object a GObject
4365
4366         * gtk/gtktextview.c: Write API docs for all functions.
4367
4368         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
4369         for gtk_text_view_get_window_type() called on one of the private
4370         windows.
4371
4372         * gtk/gtktextview.c: Instead of accessing text_view->buffer
4373         directly, call get_buffer() which demand-creates a default
4374         buffer. So gtk_text_view_new() can be used to create a view with a
4375         default buffer in it, if you just want an empty text box users can
4376         put data in. Useful for GUI builders also.
4377
4378 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
4379
4380         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
4381         the charset encodign portion MUST be in lowercase.
4382         * gtk/gtkrc.az: added file for Azeri language
4383
4384 2000-11-03  Havoc Pennington  <hp@redhat.com>
4385
4386         Get widgets working on the btree/buffer side. Display of them 
4387         still doesn't work.
4388         
4389         * gtk/gtktextview.c: start implementing child widget stuff
4390
4391         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
4392
4393         * gtk/gtktextlayout.c: handle embedded widgets
4394
4395         * gtk/gtktextdisplay.c: handle embedded widgets
4396
4397         * gtk/gtktextchild.c: Implement all the child anchor goo
4398
4399         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
4400         function
4401
4402         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
4403         (insert_pixbuf_or_widget_segment): abstract out common portions of 
4404         creating a child anchor or a pixbuf segment.
4405         (gtk_text_btree_create_child_anchor): new function
4406         (gtk_text_btree_unregister_child_anchor): new function
4407
4408         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
4409         allocate_child signal on GtkTextLayout
4410
4411         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
4412         values
4413         (gtk_text_iter_get_child_anchor): new function
4414
4415         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
4416         default handler for the changed signal, which calls
4417         gtk_text_buffer_set_modified(), instead of just always emitting
4418         changed then calling set_modified() manually. I guess this is
4419         maybe more flexible. It seems logical.
4420
4421 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
4422
4423         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
4424         now.
4425
4426         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
4427
4428 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
4429
4430         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
4431         been marked static.
4432
4433 2000-11-02  Havoc Pennington  <hp@redhat.com>
4434
4435         * gtk/testgtk.c (create_labels): had a test backward
4436
4437         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
4438         fields, so the dest GC ends up with the correct clip origin, 
4439         etc. Fixes a bug where colored labels didn't redraw 
4440         properly.
4441
4442 2000-11-02  Alexander Larsson  <alexl@redhat.com>
4443
4444         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
4445         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
4446         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
4447         Add last argument to t_type_register_static call.
4448         
4449         * gdk/linux-fb/gdkdrawable-fb2.c:
4450         Add last argument to t_type_register_static call.
4451         export the get_image drawable virtual function.
4452
4453         * gdk/linux-fb/gdkimage-fb.c:
4454         Add last argument to t_type_register_static call.
4455         rename gtk_image_get to _gdk_fb_get_image and
4456         export it for use by gdkdrawable-fb2.
4457
4458         * gdk/linux-fb/gdkprivate-fb.h:
4459         export _gdk_fb_get_image.
4460
4461         * gdk/linux-fb/gdkselection-fb.c:
4462         Add new api call stubs.
4463
4464         * gtk/Makefile.am:
4465         Missing ( in linux-fb part.
4466
4467         * modules/linux-fb/Makefile.am:
4468         Must link with gdk_pixbuf or get unresolved symbol.
4469
4470 2000-11-01  Havoc Pennington  <hp@pobox.com>
4471
4472         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
4473         GTK_TYPE_TEXT_ITER and BOXED marshallers
4474
4475         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
4476
4477         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
4478         
4479         * gtk/gtk-boxed.defs: add GtkTextIter
4480
4481         * gtk/gtkmarshal.list: Add marshallers for text widget that 
4482         properly use OBJECT and BOXED
4483
4484 2000-11-01  Havoc Pennington  <hp@redhat.com>
4485
4486         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
4487
4488         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
4489         before returning it. 
4490         
4491 2000-11-01  Havoc Pennington  <hp@redhat.com>
4492
4493         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
4494         Clip the rectangle to be rendered to the drawable, since
4495         get_from_drawable() requires a region within the drawable
4496
4497 2000-11-01  Havoc Pennington  <hp@redhat.com>
4498
4499         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
4500         from coordinates.
4501
4502 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
4503
4504         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
4505         it isn't NULL.
4506
4507 2000-11-01  Havoc Pennington  <hp@pobox.com>
4508
4509         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
4510         on a label
4511         (gtk_label_finalize): unref the attr list if any.
4512
4513         * gtk/testgtk.c (create_get_image): close test on second click
4514         (make_message_dialog): close dialog if it exists
4515
4516         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
4517
4518         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
4519         gdk-pixbuf
4520
4521         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
4522         from Pango markup format
4523         (gtk_label_set_markup_with_accel): ditto but with accelerator
4524         parsing
4525
4526         * gtk/gtkimage.c (gtk_image_expose): reformatting.
4527
4528         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
4529         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
4530         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
4531         call gdk_window_get_origin().
4532
4533         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
4534         implement GDK_PIXBUF_ALPHA_FULL
4535         
4536 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
4537
4538         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
4539         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
4540         g_signal_handlers_disconnect_matched to block/unblock and disconnect
4541         multiple handlers respectively, instead of only treating the
4542         first handler found (bug reported by owen).
4543
4544 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
4545
4546         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
4547
4548         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
4549
4550         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
4551         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
4552         gtk/gtktreeviewcolumn.h: Fixed inline docs.
4553
4554         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
4555         widget.  Needs writing someday.
4556
4557         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
4558         the docs.
4559
4560 2000-10-30  Havoc Pennington  <hp@redhat.com>
4561
4562         * gtk/gtktextview.h, gtk/gtktextview.c:
4563         Rename delete_at_cursor delete_from_cursor, and 
4564         move to move_cursor.
4565
4566 2000-10-30  Havoc Pennington  <hp@redhat.com>
4567
4568         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
4569         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
4570         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
4571         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
4572         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
4573         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
4574         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
4575         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
4576         gtktexttypes.h, gtktextview.c, gtktextview.h:
4577
4578         Massive reindentation and reformatting. Arg alignment and comments
4579         still need fixing in various places.
4580
4581 2000-10-30  Havoc Pennington  <hp@redhat.com>
4582
4583         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
4584         to be named insert_at_cursor and delete_at_cursor so C++ can
4585         handle them.
4586
4587 2000-10-28  Tor Lillqvist  <tml@iki.fi>
4588
4589         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
4590         to get a double directory separator in case the home directory
4591         ends with one. This would cause trouble especially on Windows,
4592         where the path will be confused with the syntax for an an UNC
4593         (network share) path \\server\share\path.
4594         (gtk_rc_add_initial_default_files): Ditto.
4595
4596 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
4597
4598         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
4599
4600         * gtk/gtktextview.c: Use correct marshallers.
4601
4602 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
4603
4604         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
4605         use new iter stuff, and added all the appropriate signals et al.
4606
4607         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
4608         code is internal to gtk only.
4609
4610 2000-10-28  Tor Lillqvist  <tml@iki.fi>
4611
4612         * gtk/gtk.def
4613         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
4614         glib-genmarshal etc.
4615
4616 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
4617
4618         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
4619         parallel builds.
4620
4621 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
4622
4623         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
4624
4625 2000-10-27  Robert Brady  <robert@suse.co.uk>
4626
4627         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
4628         en_GB (British), ia (Interlingua).
4629
4630 2000-10-26  Havoc Pennington  <hp@redhat.com>
4631
4632         * gtk/gtktextiter.c (my_strrstr): fix constness warning
4633
4634         Fixed output of:
4635         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
4636         
4637         * gtk/gtktextsegment.c (char_segment_new): rename
4638         (_char_segment_new_from_two_strings): rename
4639         (_toggle_segment_new): rename
4640         
4641         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
4642         (make_clipboard_widget): make it static
4643         (text_get_func): static
4644         (text_clear_func): static
4645
4646         * gtk/gtkcolorsel.c (adjustment_changed): make this function
4647         static
4648         (hex_changed): make it static
4649         (hsv_changed): make it static
4650         (opacity_entry_changed): make it static
4651
4652         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
4653         (toggle_segment_check_func): rename with _gtk
4654
4655         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
4656         (_widget_segment_new): rename
4657         (_widget_segment_add): rename
4658         (_widget_segment_remove): rename
4659         (_widget_segment_ref): rename
4660         (_widget_segment_unref): rename
4661
4662         * gtk/gtktextmark.c (_mark_segment_new): Rename
4663         _gtk_mark_segment_new   
4664
4665 2000-10-26  Havoc Pennington  <hp@redhat.com>
4666
4667         * gtk/gtkmarshal.list: add new marshallers used by the text widget
4668         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
4669         types
4670
4671         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
4672         marshaller types
4673
4674         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
4675         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
4676         license on these files.
4677
4678         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
4679         work.
4680
4681         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
4682         runtime random number different for each tree, instead of 
4683         a constant I made up.
4684
4685 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
4686
4687         * gtk/Makefile.am: buncha cleanups, kludged build sources
4688         dependencies with a Makefile: oldest-source-stamp dependancy
4689         for the moment. automake is really fighting us here, with
4690         intentionally not allowing user-defined rules or dependancies
4691         prior to it's -include $(DEP_FILES) statement. sucks rocks!
4692
4693         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
4694         to public headers. tehy have a comment stating that they are
4695         "semi-public" aren't included by gtk.h and if enums popup there,
4696         they can be /*< skip >*/-ed.
4697
4698         * gtk/gtktextlayout.h: 
4699         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
4700         added LGPL... <SIGH>
4701
4702 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
4703
4704         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
4705         GtkTreeIter.  Added iterators everywhere.
4706
4707         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
4708
4709         * gtk/gtktreeviewselection.c: Changed to use the iterators.
4710
4711         * gtk/gtktreestore.c: Changed to use the iterators.
4712
4713         * gtk/gtkliststore.c: Commented out the code.  Will convert to
4714         iterators tomorrow.
4715
4716         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
4717         iterators tomorrow.
4718
4719         * gtk/treestoretest.c: Changed to use iterators.
4720
4721         * demos/testgtk/main.c: Moved to use the new iterator system.
4722
4723 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
4724
4725         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
4726         localization misbehaviour.
4727
4728         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
4729         a useless type without copy/free.
4730
4731         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
4732         of GTK_TYPE_CTREE_NODE.
4733
4734 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
4735
4736         * gtk/gtksignal.c:
4737         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
4738         applicable.
4739
4740         * gtk/gtk-boxed.defs (GtkSelectionData): specify
4741         gtk_selection_data_copy and gtk_selection_data_free
4742         do GtkSelectionData work as params in signals.
4743
4744 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
4745
4746         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
4747         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
4748         couldn't they at least give it a non-standard name?
4749         
4750         * gtk/gtktextlayout.c: arg! yet another implementation of
4751         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
4752
4753         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
4754         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
4755         home. now i know this _is_ a conspiracy.
4756
4757         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
4758         ::state-changed.
4759
4760         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
4761         (gtk_accel_group_create_add): marshaller signature fixups.
4762
4763         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
4764         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
4765
4766         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
4767         anymore.
4768
4769 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
4770
4771         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
4772         due to the signal system changes, it wouldn't build currently. to
4773         be fixed soon.
4774
4775         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
4776
4777         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
4778         so it needs gtk_marshal_VOID__ENUM() instead of
4779         gtk_marshal_NONE__UINT().
4780
4781         * gdk/gdk*.c: adapted type registration functions.
4782
4783         * gtk/gtkbindings.c:
4784         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
4785         gone.
4786
4787         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
4788
4789         * gtk/gtkobject.c:
4790         (gtk_object_destroy):
4791         (gtk_object_shutdown): fixed recursion guards. basically we have to
4792         catch the case where any of GObject.shutdown() or gtk_object_destroy()
4793         is called during ::destroy, and avoid recursion there.
4794
4795         * gtk/gtktypeutils.c:
4796         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
4797         boxed_copy/boxed_free. this needs a more general solution based on a
4798         publically installed code-generator utility.
4799
4800         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
4801         glib's gobject has support for that now.
4802         define GtkSignalMarshaller in terms of GSignalCMarshaller.
4803
4804 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
4805
4806         * gtk/gtksignal.[hc]:
4807         * gtk/gtkmarshal.[hc]:
4808         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
4809         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
4810         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
4811         care of that.
4812
4813         * *.c: marshaller name fixups.
4814
4815         * gtk/gtkmarshal.list: added a comment briefing the format.
4816
4817 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
4818
4819         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
4820         compatibility macros here now. more specifically, most of
4821         the API is preserved (yes, _most_, nonwithstanding the
4822         following exceptions listed, the API is stil lHUGE ;)
4823         things that got removed completely:
4824         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
4825         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
4826         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
4827         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
4828         gtk_signal_remove_emission_hook().
4829         non-functional functions variants:
4830         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
4831         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
4832         not supported anymore.
4833         (gtk_signal_compat_matched): new internal function to aid
4834         implementation of the compatibility macros, it  provides
4835         functionality to block/unblock/disconnect handlers based
4836         on func/data.
4837
4838         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
4839
4840         * *.c: adaptions to new type registration API signatures.
4841
4842 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
4843
4844         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
4845
4846 2000-10-25  Robert Brady  <robert@suse.co.uk>
4847
4848         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
4849         gdk_property_delete): If window == NULL, assume the root window.
4850         (restoring the behaviour that was in 1.2).
4851         
4852         * gtk/testtext.c (save_buffer): Allow creation of new files when
4853         saving.
4854
4855         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
4856         calls to read().
4857
4858 2000-10-25  Tor Lillqvist  <tml@iki.fi>
4859
4860         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
4861
4862         * gdk/win32/gdkdrawable-win32.c
4863         * gdk/win32/gdkimage-win32.c
4864         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
4865         X11 backend.
4866
4867         * gdk/win32/gdkcc-win32.c
4868         * gdk/win32/gdkcolor-win32.c
4869         * gdk/win32/gdkfont-win32.c
4870         * gdk/win32/gdkinput-win32.c
4871         * gdk/win32/gdkmain-win32.c
4872         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
4873
4874 2000-10-24  Havoc Pennington  <hp@redhat.com>
4875
4876         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
4877         it a static function
4878
4879         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
4880         redraw text when a tag is applied to it.
4881
4882         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
4883         (gtk_text_tag_affects_nonsize_appearance): private functions to
4884         see if a tag requires various kinds of redraw/layout to be queued
4885         up.
4886
4887         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
4888
4889         * gtk/testtext.c (fill_example_buffer): Put the cursor 
4890         at the start of the buffer, so search works by default
4891
4892         * gtk/gtktextiter.c (lines_match): init match_start always
4893
4894         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
4895         function, get iter at a line + a byte index
4896
4897         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
4898         to set byte position within a line
4899         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
4900
4901 2000-10-23  Havoc Pennington  <hp@redhat.com>
4902
4903         * gtk/testtext.c: Re-enable the "find" dialog
4904
4905         * gtk/testgtk.c: Add test for gdk_drawable_get_image
4906         
4907         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
4908         the arguments to gdk_draw_drawable were in the wrong order
4909         (gdk_window_paint_init_bg): This function was ignoring the
4910         init_region, instead of clipping to it, so the entire backing
4911         pixmap was cleared on every begin_paint()
4912         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
4913         was in here again, the loop kept using the same GtkWindowPaint
4914         over and over.
4915         (gdk_window_begin_paint_region): Fix a bug where we had two
4916         x_offset instead of x_offset and y_offset
4917
4918         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
4919         before we get the image.
4920         (gdk_draw_drawable): get the composite before we draw the drawable.
4921         (gdk_drawable_real_get_composite_drawable): default
4922         get_composite_drawable implementation that returns the drawable 
4923         itself
4924
4925         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
4926         get_composite_drawable virtual function
4927
4928         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
4929         list-walking bug
4930
4931         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
4932         make this work if the source drawable is a GdkDrawableImplX11
4933         instead of a public drawable type. This is really broken; the
4934         problem is that GdkDrawable needs a virtual method get_xid(), but
4935         of course that doesn't work in practice. Enter RTTI.
4936
4937         Also, improve mismatched depth message.
4938
4939         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
4940         GdkPixmap
4941
4942         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
4943         install _gdk_x11_get_image as our implementation of get_image
4944         
4945         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
4946         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
4947
4948         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
4949         gdk_drawable_get_image
4950
4951         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
4952
4953         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
4954         get_image
4955
4956         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
4957         trailing semicolon after for loop
4958
4959 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
4960
4961         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
4962         where font_desc for widget's context lagged widget's font_desc by
4963         one step.
4964
4965 2000-10-22  Tor Lillqvist  <tml@iki.fi>
4966
4967         * gdk/win32/gdkgc-win32.c
4968         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
4969
4970         * gtk/makefile.mingw.in
4971         * gtk/gtk.def: Updates.
4972
4973         * gtk/testgtk.c: sleep() is called _sleep in MS's C
4974         library.
4975
4976         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
4977
4978         * gtk/makefile.msc: Remove
4979
4980         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
4981
4982         * gtk/Makefile.am: Add it.
4983
4984         * configure.in: Generate it.
4985
4986         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
4987         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
4988         something even if not implemented, to satisfy picky MSVC.
4989
4990         Patches by Hans Breuer:
4991         
4992         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
4993         SetBkMode() and SetTextAlign() before calling
4994         pango_win32_render().
4995
4996         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
4997         Set hcliprgn to NULL after destroying it.
4998         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
4999
5000         * gdk/win32/gdkgeometry-win32.c
5001         (_gdk_windowing_window_queue_antiexpose): More effective
5002         implementation.
5003
5004         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
5005         depth as default, not the visual's.
5006
5007         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
5008         against empty title.
5009
5010         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
5011         IMAGE_PRIVATE_DATA.
5012
5013         * gdk/win32/gdkimage-win32.c: Use it.
5014
5015 2000-10-22  Robert Brady  <robert@suse.co.uk>
5016
5017         * configure.in: Check for bind_textdomain_codeset
5018
5019         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
5020         present, make use of it.
5021
5022         Add a translatable string "default:LTR" which, if translated
5023         to "default:RTL", will cause the default direction to be
5024         Right-to-Left.
5025
5026         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
5027         direction if marked as flippable.
5028
5029         * gtk/gtkhscale.c: Mark widget as flippable.
5030         
5031 2000-10-04  Havoc Pennington  <hp@redhat.com>
5032
5033         * gtk/testgtk.c (create_buttons): create some stock buttons
5034         with the default accel group
5035         (create_image): test some new GtkImage features
5036         (make_message_dialog): test GtkMessageDialog
5037         (create_modal_window): fix someone's bizzarro indentation
5038
5039         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
5040         GTK_WIN_POS_CENTER_ON_PARENT. 
5041         Add "destroy with parent" setting, which means the window goes
5042         away with its transient parent.
5043         (gtk_window_get_default_accel_group): get the default accel group
5044         for the window.
5045         (gtk_window_set_destroy_with_parent): set/unset destroy with
5046         parent flag
5047         (gtk_window_read_rcfiles): invalidate icon set caches
5048         after reloading rcfiles 
5049
5050         * gtk/gtkenums.h (GtkWindowPosition): add
5051         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
5052         on its parent window when the dialog is mapped for the first time.
5053
5054         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
5055         a simple message dialog class
5056         
5057         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
5058         handler to emit response signal, and maybe later it would
5059         honor a hide_on_delete flag - though that isn't there yet.
5060         Set border width on the vbox to 2, so we get some padding.      
5061         Use a button box for the action area.
5062         (gtk_dialog_key_press): synthesize a delete event if Esc
5063         is pressed and the GtkWidget key press handler didn't 
5064         handle the escape key.
5065         (gtk_dialog_new_with_buttons): new function creates a dialog
5066         with some default buttons in it.
5067         (gtk_dialog_add_action_widget): add an activatable widget
5068         as a button in the dialog - you can also add a non-activatable
5069         widget by accessing the action area directly.
5070         (gtk_dialog_add_button): add a simple button - stock ID or 
5071         label - to the action area
5072         (gtk_dialog_response): emit response signal
5073         (gtk_dialog_run): block waiting for the dialog, return 
5074         the response. Override normal delete_event behavior, so that 
5075         delete_event does nothing inside gtk_dialog_run().
5076
5077         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
5078         emitted when an action widget is clicked or the dialog gets
5079         delete_event
5080
5081         * gtk/gtk.h: add gtkmessagedialog.h
5082
5083         * gtk/Makefile.am: add gtkmessagedialog.[hc]
5084
5085 2000-10-18  Havoc Pennington  <hp@redhat.com>
5086
5087         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
5088         where any number of empty lines would get skipped
5089
5090         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
5091         edge.
5092
5093         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
5094         warning about invalid iterators (explain more thoroughly)
5095         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
5096
5097         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
5098         big
5099
5100         * demos/*.c: Add error handling
5101
5102         * gtk/gtktextbuffer.c: don't modify const iterators
5103
5104         * gtk/gdk-pixbuf-loader.c: Add full error handling here
5105
5106         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
5107         on file load
5108
5109         * gtk/gtkiconfactory.c: Update to reflect addition of error
5110         handling to gdk-pixbuf loaders
5111
5112 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
5113
5114         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
5115         move to new modularized testgtk.
5116
5117 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
5118
5119         * gtk/gtktreeview.c: Draw the arrows correctly.
5120
5121         * gtk/gtktreemodel.c: Added user docs.
5122
5123         * gtk/gtk.h: remove gtktreedatalist.h.
5124
5125         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
5126         parent when generating my type.
5127
5128         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
5129         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
5130
5131 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
5132
5133         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
5134         GtkTreeModel from object to interface.
5135
5136 2000-10-16  Havoc Pennington  <hp@redhat.com>
5137
5138         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
5139         compilation
5140
5141 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
5142
5143         * gtk/gtktreeselection.c: Add API documentation to all public
5144         functions.
5145
5146         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
5147         functions.
5148
5149 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
5150
5151         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
5152         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
5153         docs to all public functions.
5154
5155         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
5156         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
5157         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
5158         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
5159         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
5160         issue.
5161
5162 2000-10-14  Robert Brady  <robert@suse.co.uk>
5163
5164         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
5165
5166 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
5167
5168         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
5169         values other then G_TYPE_STRING.
5170         * gtk/gtktreeselection.c: Minor commenting updates.
5171         * gtk/gtktreeview.c: Format updates.
5172
5173 2000-10-09  Tor Lillqvist  <tml@iki.fi>
5174
5175         * README.win32: Update.
5176
5177         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
5178         lines that had been deleted by mistake (?).
5179
5180         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
5181         also the case fg==white and bg==black (but still not randomly
5182         coloured cursors). Thanks to Wolfgang Sourdeau.
5183
5184         * gdk/win32/*.c: Silence gcc -Wall.
5185
5186         * gtk/gtk.def: Add missing entry points.
5187
5188         Fixes by Hans Breuer:
5189
5190         * gdk/makefile.msc
5191         * gdk/win32/makefile.msc: Update.
5192
5193         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
5194         some MSVC thing, presumably), cause breakpoint on failures. Add
5195         GDK_NOR case. Call g_log_set_always_fatal.
5196
5197         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
5198         should be pased by reference.
5199         
5200         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
5201         
5202         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
5203
5204         * gdk/win32/gdkevents-win32.c
5205         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
5206
5207         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
5208         implementation object.
5209
5210         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
5211         not just windows.
5212         
5213         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
5214         Use the wrapper object.
5215         
5216 2000-10-06  Havoc Pennington  <hp@redhat.com>
5217
5218         * Makefile.am (SRC_SUBDIRS): contrib subdir
5219
5220         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
5221         so it can be used in Xlib version
5222
5223         * demos/testpixbuf.c (update_timeout): error checking from 1.0
5224         tree
5225
5226         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
5227         change from 1.0 tree that returns first frame of animation
5228         if the loaded file is an animation.
5229
5230         * contrib: add new directory to hold stuff that comes with GTK+
5231         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
5232         
5233         * configure.in: add contrib/*
5234
5235 2000-10-05  Havoc Pennington  <hp@redhat.com>
5236
5237         * demos/testpixbuf-save.c: add pixbuf save test
5238
5239         * demos/Makefile.am: add testpixbuf-save.c
5240
5241 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
5242
5243         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
5244         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
5245         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
5246         * gtk/gtktreeselection.[ch]: Replaced
5247         "node_selected"/"node_unselected" signal with "selection_changed"
5248         signal.
5249
5250 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
5251
5252         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
5253         tree widget.
5254
5255 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
5256
5257         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
5258         drawing.
5259
5260 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
5261
5262         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
5263         Move list pointer forwards before removing item from
5264         list. (Crash reported by Salmaso Raffaele)
5265
5266         * gdk/gdkwindow.h: Remove spurious trailing ,
5267
5268         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
5269         dependencies on uninstalled libraries, sorry folks.
5270
5271 2000-10-04  Havoc Pennington  <hp@redhat.com>
5272
5273         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
5274         gtk/gtkiconfactory.c: Fix copyrights    
5275
5276         * demos/testpixbuf.c: add inline pixbuf test
5277         
5278 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
5279
5280         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
5281         Add gdk_window_iconify.
5282
5283         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
5284         (gdk_window_set_geometry_hints): Add win_gravity
5285         to geometry structure.
5286
5287         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
5288         Implement _NET_WM_PING.
5289
5290         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
5291         Set _NET_WM_PID on the client leader.
5292
5293         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
5294         Handle UTF-8 better.
5295
5296         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
5297         UTF-8 better, set _NET_WM_NAME as well. Only set
5298         icon name if it hasn't previously been explicitely 
5299         set.
5300
5301 2000-10-03  Havoc Pennington  <hp@redhat.com>
5302
5303         * gtk/testtextbuffer.c: clean up trailing whitespace,
5304         add extensive tests for tag toggle iteration.
5305         
5306         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
5307         distance
5308
5309         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
5310         optimize case where the tag root is on level 1
5311         (gtk_text_line_previous_could_contain_tag): attempt to implement
5312         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
5313         functionality
5314
5315         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
5316         Implement this, though not very efficiently.
5317
5318         * gtk/gtktextiterprivate.h: reformat
5319
5320         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
5321         iterator
5322
5323         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
5324         this to properly revalidate the iterators.
5325
5326         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
5327         properly at the end of the line (and therefore on empty lines)
5328
5329         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
5330         maybe we should return a value...
5331
5332 2000-10-03  Tor Lillqvist  <tml@iki.fi>
5333
5334         * config.h.win32: Guard definition of alloca(). glib.h now handles
5335         that.
5336
5337         * gdk/gdk.def
5338         * gtk/gtk.def: Add new entry points.
5339
5340         Changes just to make GTK+ build without errors on Win32. No hope
5341         of it working in its current state, though...:
5342         
5343         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
5344         some functions from the X11 backend, just to make GTK+ build.
5345
5346         * gdk/makefile.mingw.in
5347         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
5348         number. Add new object files.
5349
5350         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
5351         GetMessageTime to get timestamp (where on X11 uses
5352         gdk_x11_get_server_time()).
5353
5354 2000-10-02  Havoc Pennington  <hp@pobox.com>
5355
5356         * gtk/gtktextview.c: text_window_* weren't static and should have
5357         been.
5358         Start work on child widgets; not yet complete, syncing to 
5359         office computer.
5360
5361         * gtk/gtktextchild.h: change this to contain a public interface,
5362         starting work on child interfaces.
5363         * gtk/gtktextchildprivate.h: move private interfaces here
5364
5365         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
5366
5367         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
5368         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
5369         gtk/gtktextmark.c: copyright notices
5370
5371         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
5372         internal functions      
5373
5374         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
5375         internal function
5376
5377         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
5378         Reformatting    
5379
5380 2000-09-30  Havoc Pennington  <hp@pobox.com>
5381
5382         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
5383         NULL start/end pointers
5384
5385         * gtk/gtktextbuffer.c: Write some docs
5386         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
5387         NULL, so you can just check whether there's a selection.        
5388
5389         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
5390         cleanup_line or segments_changed ourselves, it gets done 
5391         in unlink_segment
5392
5393         * gtk/gtktextmark.h:
5394         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
5395         
5396         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
5397
5398         * gtk/gtktextmark.c: delete some more old Tk cruft
5399
5400         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
5401         mark before removing it, so we can emit MARK_DELETED with a valid
5402         pointer.
5403         (gtk_text_buffer_mark_set): hold ref across signal emission
5404
5405         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
5406         whining about attempts to delete special marks
5407
5408         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
5409         underscore, since it's internal.
5410
5411         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
5412         now implemented in terms of iterators in gtktextiter.h
5413
5414         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
5415         New function, destructively sets contents of buffer. Also 
5416         a convenient way to clear the buffer by setting text to ""
5417
5418         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
5419         multiline string literal
5420
5421         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
5422         text changes.
5423
5424         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
5425         is not dereferenceable
5426         (gtk_text_iter_forward_lines): fix return value
5427
5428 2000-09-29  Havoc Pennington  <hp@redhat.com>
5429
5430         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
5431
5432         * gtk/gtktextview.c: Implement drag thresholding; change functions 
5433         that set border window size to have nicer name
5434         (gtk_text_view_mark_set_handler):  Fix this to have the 
5435         right signature.
5436
5437         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
5438
5439         * gtk/testtext.c: Update with API changes, put line numbers on 
5440         both sides.
5441         
5442         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
5443         with this
5444
5445         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
5446         pixbuf; delete a big block of #if 0 Tk code
5447
5448         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
5449         insert_pixmap with insert_pixbuf
5450
5451 2000-09-29  Martin Baulig  <baulig@suse.de>
5452
5453         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
5454         confusion with the GdkPixbuf of the GNOME 1.x platform.
5455
5456 2000-09-29  Havoc Pennington  <hp@pobox.com>
5457
5458         * gtk/gtktextview.c: Implement the side windows.
5459
5460         * gtk/testtext.c: Implement simple line numbering in the 
5461         left side window; seems to make scrolling sloooow. Oops.
5462         Also, cursor blink is for some reason causing redraws
5463         of the line numbers. Should investigate...
5464
5465 2000-09-28  Havoc Pennington  <hp@redhat.com>
5466
5467         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
5468         scrolling child windows, and draw focus rectangle properly.
5469         
5470         (gtk_text_view_buffer_to_window_coords):
5471         Coordinate transformation to deal with all these freaking windows
5472         and offsets
5473         (gtk_text_view_window_to_buffer_coords): transform the other way
5474
5475         * gtk/testtext.c (create_buffer): Update to match Pango API change
5476
5477         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
5478         anonymous tags
5479         (foreach_unref): don't emit remove signal from finalize, just
5480         set tag's parent to NULL
5481
5482 2000-09-26  Havoc Pennington  <hp@redhat.com>
5483
5484         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
5485         Fix some warnings       
5486
5487 2000-09-26  Havoc Pennington  <hp@redhat.com>
5488
5489         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
5490         headers into the private header list
5491
5492         * Makefile.am (pkgconfig_DATA): install pkg-config files
5493
5494         * configure.in: add pkg-config files
5495
5496         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
5497
5498         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
5499         outstanding icon caches on theme change.
5500
5501         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
5502         important types:
5503
5504         (GtkIconSource): Specification for creating a pixbuf 
5505         appropriate for a direction/state/size triplet from 
5506         a source pixbuf or filename
5507
5508         (GtkIconSet): List of GtkIconSource objects that are used to
5509         create the "same" icon (e.g. an OK button icon), and cache for
5510         rendered icons
5511
5512         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
5513         up the icon set for a given stock ID.  GTK maintains a stack of
5514         GtkIconFactory to search, and applications or libraries can add
5515         additional icon factories on top of the stack
5516         
5517         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
5518         the set of GtkIconSource specified for a given stock ID into 
5519         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
5520         RcStyle, under the specified stock ID.
5521
5522         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
5523         render_icon used to derive a GdkPixbuf from a GtkIconSource.
5524         This allows people to theme how prelight, insensitive, etc. are
5525         done.
5526
5527         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
5528         icon factories for a style, and return the resulting 
5529         icon set if any.
5530
5531         (gtk_style_render_icon): Render an icon using the render_icon 
5532         method in the GtkStyleClass.
5533
5534         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
5535         Use the style for a given widget to look up a stock ID, get the
5536         icon set, and render an icon using the render_icon method 
5537         of the style
5538
5539         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
5540         (contains information about a stock item), the built-in stock item
5541         IDs, and functions to add/lookup stock items.
5542
5543         * gtk/stock-icons/*: Stock icons that come with GTK
5544
5545         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
5546         a button based on a GtkStockItem
5547         (gtk_button_new_accel): Takes a uline string and accel group, and
5548         installs the accelerator.
5549
5550         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
5551         image-display widget.
5552
5553 2000-09-25  Havoc Pennington  <hp@redhat.com>
5554
5555         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
5556
5557         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
5558         Fix a bug when removing node data, we didn't properly 
5559         re-splice the linked list after removing the data.
5560
5561         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
5562         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
5563
5564         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
5565
5566         * gtk/gtktextlayout.c (set_para_values): Set tab array 
5567         for the layout from the GtkTextTag.
5568
5569         * gtk/gtktexttypes.h: delete tab and search cruft, 
5570         remove g_convert() in favor of GLib version
5571
5572         * gtk/gtktexttypes.c: remove tab implementation from here,
5573         move to Pango
5574
5575         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
5576         tab stuff using new PangoTabArray from Pango
5577
5578         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
5579         unused border_width stuff
5580
5581 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
5582
5583         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
5584         glib) and now useless utf_to_latin1() latin1_to_utf()
5585
5586         * gtk/gtktextview.[ch]: Change ::move_insert and
5587         ::delete_text action signals to ::move and ::delete;
5588         create the signals with the right enumeration type,
5589         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
5590         C-v bindings, change Home, End to move to beginning/end
5591         of line, Add C-Home C-End to move to beginning/end
5592         of buffer. Change ::cut_text to ::cut_clipboard, etc;
5593         combine ::scroll_text into ::move; use new GtkSelectionData
5594         functions to simplify DND text handling.
5595         
5596         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
5597         deletion enumerations here, rename enumeration values to 
5598         be consistently plural.
5599
5600         * gtk/gtktextbuffer.c: Use new clipboard interfaces
5601         for cut/copy/paste and primary selection.
5602
5603         * gtk/gtktextbuffer.[ch]: Remove excess time and
5604         'interactive' arguments from cut/copy/paste;
5605         rename cut to cut_clipboard, etc; remove
5606         gtk_text_buffer_get_clipboard_contents().
5607
5608         * gtk/gtktextlayout.[ch]: Add 
5609         gtk_text_layout_move_iter_to_line_end() to move the iter to 
5610         line ends.
5611
5612         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
5613         Functions to set or get a UTF-8 string on the selection
5614         data.
5615
5616         * gtk/gtkclipboard.[ch]: New, simplified selection handling
5617         interfaces.
5618
5619         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
5620         created widgets - one of these is useless if we don't.
5621
5622         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
5623         a public function clear all targets registered for the
5624         widget.
5625
5626         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
5627         Never call gtk_widget_realize() - that was just asking
5628         for bizarre side-effects.
5629
5630         * gtk/gtkselection.c (gtk_selection_owner_set): Call
5631         gdk_selection_owner_set even if the widget is the
5632         same so that we reliably update the timestamp on
5633         the server.
5634
5635         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
5636         gdk_x11_get_server_time() function.
5637         
5638         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
5639         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
5640         Add some tricky filtering on serial numbers for
5641         selection clear events to fix up long-standard
5642         race condition FIXME's in gtkselection.c.
5643
5644         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
5645         routines to convert from utf8 to compound text or
5646         STRING and from a text property to UTF-8.
5647
5648         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
5649         a convenience function gdk_get_current_event_time().
5650
5651         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
5652         and free selection_data->data properly
5653
5654 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
5655
5656         * gtk/gtkthemes.c: Remove some unecessary includes.
5657
5658 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
5659
5660         * gtk/gtktextdisplay.c
5661         * gtk/gtktextlayout.c
5662         * gtk/gtktexttag.c
5663         * gtk/gtktexttag.h
5664         * gtk/testtext.c: Change the overstrike property to strikethrough,
5665         to closer match pango.
5666
5667 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
5668
5669         * gtk/gtktextview.c: Fix up visibility so that focus,
5670         cursor_visible and blink interact properly.  Reenable cursor blink
5671         which had been roughly disabled. Make blink and focus
5672         properly per-view.
5673
5674         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
5675         Add a flag for whether to display insertion cursor and
5676         a function to set the flag.
5677
5678         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
5679         get_line_y() to get_line_yrange(), to be a bit more generally
5680         useful.
5681
5682 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
5683
5684         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
5685           do stop_navigating_submenu, to clear last timeout properly.
5686           Also in gtk_menu_motion_notify move ignore_enter above
5687           the conditional to make it always happen as suggested by Owen
5688
5689 2000-09-07  Tor Lillqvist  <tml@iki.fi>
5690
5691         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
5692
5693         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
5694         w32api headers.
5695
5696         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
5697         declarations.
5698
5699         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
5700         (gdk_win32_get_colormap): A line had been deleted by mistake.
5701
5702         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
5703         (gdk_event_translate): Handle more virtual keycodes to be able to
5704         generate GDK events for Control-comma, Control-period, etc.
5705
5706         * gtk/gtk.def: Add some missing entry points.
5707
5708 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
5709
5710         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
5711         Doc comment fixing. (Mostly non-matching parameter names.)
5712
5713         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
5714         comments a little to avoid looking like a doc comment.
5715
5716         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
5717         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
5718         conversions be changed to GError?)
5719
5720         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
5721         Move private #defines into .c file.
5722
5723         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
5724         order of argument addition, remove duplicates.
5725
5726         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
5727         parent class is FrameClass, not BinClass.
5728
5729         * gtk/gtk.h: Add gtkinvisible, which was missing.
5730         (It's occasionalyl useful for client apps, if seldom.)
5731
5732         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
5733         #define.
5734
5735 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
5736
5737         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
5738         coordinates when creating window, instead of GDK-space
5739         coordinates. (Avoid BadValue on too large windows.)
5740
5741 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5742
5743         * configure.in (use_mmx_asm): Remove conftest* after use along the
5744         lines of AC_TRY_COMPILE.        
5745         
5746         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
5747         of g_dirname, which is deprecated.
5748         (gtk_rc_parse_any): Removed calls to
5749         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
5750
5751         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
5752         Removed calls to g_hash_table_{freeze,thaw}, as they are
5753         deprecated now.
5754
5755         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
5756         instead of g_basename.
5757         
5758 2000-09-04 Elliot Lee <sopwith@redhat.com>
5759         
5760         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
5761         ANSI warning.
5762
5763 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
5764
5765         * gtk/gtkwidget.h:  Add some documenting comments about 
5766           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
5767           just as owen said on irc.
5768
5769         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
5770           set HAS_DEFAULT.  Only set it if there isn't another window
5771           holding it (a focus window which RECEIVES_DEFAULT) and only unset
5772           it if the widget is not the focused window with RECEIVES_DEFAULT.
5773           This fixes weird double default bugs in dialogs which has things
5774           call gtk_window_set_default at times.
5775
5776 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
5777
5778         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
5779         Nils Barth and David Santiago to improve submenu
5780         navigation. The patch does this by creating a triangular
5781         region from the point where the pointer leaves the
5782         menu to the submenu.  While the pointer is in
5783         that region and a timeout has not expired, events 
5784         that would cause the active submenu to change are
5785         ignored.
5786
5787 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
5788
5789         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
5790         moving a toplevel window immediately after sizing it would
5791         result in it being sized back to the old size since 
5792         impl->width, impl->height aren't updated until we hear
5793         back from the server. There is still a (longstanding) bug
5794         here that gdk_window_get_size() will give the wrong size
5795         until we do hear back.
5796
5797 2000-08-31  Havoc Pennington  <hp@redhat.com>
5798
5799         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
5800         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
5801         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
5802         Rename GtkTextStyleValues to GtkTextAttributes
5803
5804 2000-08-31  Havoc Pennington  <hp@pobox.com>
5805
5806         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
5807         for rapid testing whether an iterator is the end iterator
5808         (gtk_text_btree_new): init end line cache
5809         (gtk_text_line_is_last): use fast cached line to 
5810         see if we're the last line.
5811         (get_last_line): use cached line here too, should 
5812         speed up some random unrelated code.
5813         
5814 2000-08-30  Havoc Pennington  <hp@pobox.com>
5815
5816         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
5817         signals.
5818
5819         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
5820         delete_text signals. This allows the signals to be used for
5821         implementing undo.
5822
5823         * gtk/gtktextbuffer.c: Change signal handler signatures; 
5824         provide "interactive" argument when emitting insert_text or
5825         delete_text signal.
5826         
5827 2000-08-30  Havoc Pennington  <hp@pobox.com>
5828
5829         * gtk/gtktextbuffer.c: Docs
5830
5831 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
5832
5833         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
5834         from switch statements, since Tor removed the enumeration
5835         value.
5836         
5837         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
5838         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
5839
5840 2000-08-29 Elliot Lee <sopwith@redhat.com>
5841         * */*.h: Use G_GNUC_CONST.
5842
5843 2000-08-27  Havoc Pennington  <hp@pobox.com>
5844
5845         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
5846         minor indentation fixes, inserted some FIXME about stuff I
5847         realized was broken while documenting it.
5848         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
5849         GTK convention  
5850
5851 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
5852
5853         * gtk/testgtk.c (create_styles): Fix double free of
5854         font desc.
5855
5856 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
5857
5858         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
5859         
5860         * gtk/testgtk.c (create_styles): Add a test for modifying
5861         the style through gtk_widget_modify_*.
5862
5863         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
5864         a function to get the current modifier style.
5865
5866         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
5867         of the passed in GtkRcStyle instead of ref'ing it.
5868
5869         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
5870
5871 2000-08-20  Tor Lillqvist  <tml@iki.fi>
5872
5873         * gdk/gdkimage.h
5874         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
5875         shared memory image+pixmap GdkImage type, or
5876         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
5877         I am dropping that.
5878
5879         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
5880         actually call gtk_init_abi_check(), passing also
5881         sizeof(GtkWindow). Ditto for gtk_init_check(). 
5882
5883         * gtk/gtk.def
5884         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
5885         New functions, used to check that the GTK+-using code has been
5886         compiled using the correct compiler and switches. In particular,
5887         with gcc one has to use the -fnative-struct switch as GTK+ is
5888         compiled with that.
5889
5890 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
5891
5892         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
5893         ->prev fields when merging lists. (Found simultaneously
5894         by Pawel Salek and Jakub Jelinek)
5895
5896 2000-08-12  Tor Lillqvist  <tml@iki.fi>
5897
5898         * gdk/gdk.def
5899         * gtk/gtk.def: Add missing entries.
5900
5901         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
5902         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
5903
5904         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
5905         function. Dummy implementation at this point.
5906
5907         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
5908         rules. Undefine GTK_COMPILATION when compiling the test programs.
5909         
5910         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
5911
5912 2000-08-11  Tor Lillqvist  <tml@iki.fi>
5913
5914         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
5915         to convert back and forth from UTF-8 and the "system" (or "current
5916         locale") charset when necessary. Indentation/spacing cleanup.
5917
5918 2000-08-10  Havoc Pennington  <hp@redhat.com>
5919
5920         * Makefile.am (snapshot): Change the format of the snapshot
5921         version to match glib
5922
5923         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
5924         from EXTRA_DIST since it doesn't seem to exist
5925
5926 2000-08-10  Tor Lillqvist  <tml@iki.fi>
5927
5928         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
5929         version of the directory name (not the UTF-8 one) when building
5930         the path name to stat().
5931
5932 2000-08-03  Elliot Lee  <sopwith@redhat.com>
5933
5934         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
5935         PANGO_ATTR_SHAPE set.
5936
5937 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
5938
5939         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
5940         Peter Osterlund to simplify the code while keeping the
5941         functionality the same.
5942
5943 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
5944
5945         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
5946         is_viewable() test further inside the function, since removing the 
5947         window from the redraw list without clearing ->update_area
5948         was also very broken.
5949
5950 2000-08-02  Tor Lillqvist  <tml@iki.fi>
5951
5952         * configure.in: Check for <unistd.h>.
5953
5954 2000-08-01  Martin Baulig  <baulig@suse.de>
5955
5956         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
5957         to display the message that this is a development version of GTK+.
5958
5959 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
5960
5961         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
5962         was depending on widget->allocation instead of the width of text_area,
5963         which was incorrect for subclasses like GtkSpinButton.
5964
5965         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
5966         with width == 1 tests that should be width == -1.
5967
5968 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
5969
5970         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
5971         (broken, Elliot, every single window blank on X) custom code with call
5972         to gdk_window_is_viewable() which a) prevents code duplicate and
5973         b) works. 
5974
5975 2000-07-31  Elliot Lee  <sopwith@redhat.com>
5976
5977         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
5978         to get the GDK_PARENT_ROOT() macro to work.
5979         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
5980         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
5981         of, windows that aren't shown.
5982         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
5983         pointer grab stuff.
5984
5985 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
5986
5987         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
5988           s/gtk_main_iteration/g_main_iteration/
5989
5990           Did this already in change:
5991                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
5992           don't know how it got reverted.
5993
5994 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
5995
5996         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
5997         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
5998
5999         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
6000         not gdk_pixbuf.
6001
6002 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
6003
6004         * configure.in,po/{sp,sr}.po: Added Serbian files
6005
6006 2000-07-30  Tor Lillqvist  <tml@iki.fi>
6007
6008         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
6009
6010         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
6011         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
6012         GIOChannel implementation.
6013
6014         * gdk/win32/gdkinput.c
6015         * gdk/win32/gdkpango-win32.c: Update license name here, too.
6016
6017         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
6018         definition to match prototype.
6019
6020         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
6021
6022 2000-07-27  Elliot Lee  <sopwith@redhat.com>
6023
6024         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
6025         function, to allow handling image formats that cannot be detected
6026         by looking at content alone.
6027
6028 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
6029
6030         * docs/tutorial/*.gif *.jpg *.eps
6031           Update these to the same look-n-feel.
6032           Why does including images in DocBook suck so badly?
6033
6034 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
6035
6036         * gtk/gtktable.c: applied patch from Phil Thompson
6037         <phil@river-bank.demon.co.uk> that enables space settings for
6038         the last row/columns as well.
6039
6040 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
6041
6042         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
6043         updates the license headers to the GNU Lesser General Public License,
6044         as well as updating the copyright year to 2000.
6045
6046 2000-07-26  Robert Brady  <rwb197@zepler.org>
6047
6048         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
6049           and po/Makefile, was installing and looking for them under gtk20
6050           and gtk2 respectively.
6051
6052 2000-07-25  Havoc Pennington  <hp@redhat.com>
6053
6054         * gtk/testtext.c: Comment out some stuff that depends on the rest
6055         of my patches.
6056
6057 2000-07-25  Havoc Pennington  <hp@redhat.com>
6058
6059         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
6060         buffer
6061
6062 2000-07-25  Havoc Pennington  <hp@redhat.com>
6063
6064         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
6065         widget changes.
6066
6067         * gtk/gtktextview.h: To be consistent with usage of "line"
6068         throughout the API to mean "newline-terminated thingy", change
6069         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
6070         to MOVEMENT_LINE.
6071
6072         (GtkTextView): Add flags for default editability, and whether to
6073         show the cursor. Add functions to get/set that. Add 
6074
6075         (gtk_text_view_get_iter_location): new function
6076
6077         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
6078         gtktextlayout.h
6079         (g_convert): Add g_convert temporarily, will go in glib in a bit
6080         
6081         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
6082         GtkTextTagTableForeach instead of brokenly using GHFunc.
6083         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
6084
6085         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
6086         moved to public header.
6087
6088         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
6089         "invisible", since "elide" was a bad name.
6090         (gtk_text_tag_get_priority): Added
6091
6092         (GtkTextStyleValues): put this in public header, along with
6093         functions to use it.
6094
6095         * gtk/gtktextmarkprivate.h: Include more headers, since we no
6096         longer include gtktextbtree.h.
6097
6098         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
6099         gtk_text_mark_deleted
6100
6101         * gtk/gtktextlayout.h: Don't include the "really private" headers,
6102         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
6103         to make this possible. Now we only need to install
6104         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
6105         (However the Makefile.am isn't changed yet because of the
6106         logistics of merging gtk-hp-patches piecemeal)
6107
6108         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
6109         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
6110         gtk_text_iter_get_line is now used in the public API for a
6111         different purpose.
6112
6113         * gtk/gtktextiter.h: Clean up function names to be more
6114         consistent. Always call char offset "offset" and byte index
6115         "index". A "line" is always a line number. 
6116
6117         (gtk_text_iter_is_last): new function, more efficient than 
6118         the existing way to check
6119         (gtk_text_iter_is_first): new function, also more efficient
6120
6121         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
6122
6123         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
6124         gtk_text_iter_forward_char, etc.
6125
6126         (gtk_text_iter_forward_to_tag_toggle): Renamed from
6127         forward_find_tag_toggle, since this isn't a linear search
6128
6129         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
6130
6131         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
6132         New functions, search for a buffer substring.
6133
6134         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
6135         interactive and default editable (since we need to store that info
6136         until we receive the selection data).
6137
6138         Remove all the _at_char and at_line etc. versions of functions;
6139         only have iterator versions.
6140
6141         Add _interactive() versions of functions, that consider the
6142         editability of text. (FIXME add interactive flag to the 
6143         insert/delete signals per Darin's suggestion)
6144
6145         (gtk_text_buffer_get_tag_table): new function, demand-creates the
6146         tag table if necessary
6147
6148         Remove declaration of gtk_text_buffer_get_iter_from_string
6149
6150         (_gtk_text_buffer_get_btree): private/internal function, added.
6151         
6152
6153         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
6154         (gtk_text_line_is_last): new function
6155
6156 2000-07-25  Havoc Pennington  <hp@redhat.com>
6157
6158         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
6159         using GtkProgressBar. See Changes-2.0.txt for details.
6160
6161         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
6162         "pulse_step" which are the equivalent of
6163         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
6164         Implement new API.
6165         
6166         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
6167         (use_text_format) to mark whether text set on the progress bar is
6168         a format string. Deprecate entire GtkProgress interface.
6169
6170         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
6171         (gtk_progress_build_string): make this a no-op if use_text_format
6172         is FALSE
6173
6174         * docs/Changes-2.0.txt: Describe progress bar changes.
6175
6176 2000-07-25  Tor Lillqvist  <tml@iki.fi>
6177
6178         * Makefile.am: Include the build directory.
6179
6180         * configure.in: Generate build/Makefile, build/win32/Makefile,
6181         gdk/, gdk/win32/, and gtk/makefile.mingw.
6182
6183         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
6184         Add GETTEXT_PACKAGE.
6185         
6186         * gdk/gdk.def
6187         * gtk/gtk.def: Updates.
6188
6189         * gdk/gdkfont.h
6190         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
6191         need them any longer.
6192
6193         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
6194
6195         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
6196         PANGOWIN32_LIBS and gdk_pixbuf.
6197
6198         * gdk/win32: Compiles, but no doubt doesn't work at all.
6199
6200         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
6201
6202         * gdk/win32/gdkinput.c: New file, temporarily.
6203         
6204         * gdk/win32/gdkinput-win32.h: New file
6205
6206         * gdk/win32/gdkinputprivate.h: Remove.
6207
6208         * gdk/win32/gdkpango-win32.c: New file.
6209
6210         * gtk/makefile.mingw.in: New file
6211
6212         * gtk/makefile.cygwin: Removed
6213         
6214         * gtk/Makefile.am: Update accordingly.
6215
6216         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
6217         made externally visible.
6218
6219         * gtk/gtkmain.c: Use it.
6220         
6221         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
6222         is enough.
6223
6224         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
6225
6226 2000-07-24 Elliot Lee <sopwith@redhat.com>
6227         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
6228         individual backends already.
6229         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
6230         again. Yes, there really is a good reason for this, if you are using the gdkregion
6231         internals, and if you're not, why do you care?
6232         * gdk/gdkwindow.c: Fix inverted condition
6233         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
6234         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
6235         * gtk/gtkrange.c: Redraw trough when moving.
6236         * gtk/gtktypeutils.c: Fix warning by adding const cast.
6237         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
6238
6239 2000-07-23  Tor Lillqvist  <tml@iki.fi>
6240
6241         * configure.in: Check for mkstemp and sigsetjmp. Output
6242         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
6243
6244         More work on GDK for Win32. Still in an intermediate state.
6245
6246         * gdk/makefile.cygwin
6247         * gdk/win32/makefile.cygwin: Removed.
6248         
6249         * gdk/makefile.mingw.in
6250         * gdk/win32/makefile.mingw.in: New files.
6251
6252         * gdk/Makefile.am
6253         * gdk/win32/Makefile.am: Generate and distribute them.
6254
6255         * gdk/win32/gdkwindow-win32.h
6256         * gdk/win32/gdkdrawable-win32.h
6257         * gdk/win32/gdkpixmap-win32.h: New files.
6258
6259         * gdk/win32/gdkcolor-win32.c
6260         * gdk/win32/gdkcursor-win32.c
6261         * gdk/win32/gdkdrawable-win32.c
6262         * gdk/win32/gdkgc-win32.c
6263         * gdk/win32/gdkimage-win32.c
6264         * gdk/win32/gdkprivate-win32.h
6265         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
6266         Rename fields and variables called xcursor, xid, etc (these names
6267         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
6268
6269 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
6270
6271         * gtk/gtkentry.[ch]: Fix some problems with vertical
6272         alignment.
6273
6274         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
6275         char/byte confusion.
6276
6277 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
6278
6279         * gtk/gtktextview.c (changed_handler): Fix bug where
6280         redraw wasn't being done properly when height of
6281         dirty region changed.
6282
6283         * demos/Makefile.am: Remove various references to
6284         -lgmodule
6285
6286 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
6287
6288         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
6289         PangoAttrShape to reserve space for pixmaps, add 
6290         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
6291         in the display functions.
6292         
6293         * gtk/testgtk.c (create_layout): Set some more exotic
6294         scrolled window options
6295
6296         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
6297         Add function to set the shadow type of a window, to allow
6298         putting a shadow around widgets such as GtkLayout or GnomeCanvas
6299         which don't draw their own frame.
6300
6301 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
6302
6303         * docs/tutorial/package-db-tutorial.sh: New file for
6304           packaging DocBook format tutorial
6305
6306 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
6307
6308         * docs/tutorial/gtk-tut.sgml: Minor updates
6309
6310         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
6311
6312 2000-07-19  Tor Lillqvist  <tml@iki.fi>
6313
6314         * gtk/gtksignal.c: Fix C++ comment.
6315
6316         * gtk/gtkimmulticontext.c
6317         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
6318         don't return value from void functions.
6319
6320         * gtk/gtk.def: Add gtk_rc_style_unref.
6321
6322 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6323
6324         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
6325         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
6326         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
6327         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
6328         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
6329         gtk/gtktypeutils.h: Include files outside of the extern "C"
6330         block. Makes some C++ compiler happy. Reported by Denis Vakatov
6331         <vakatov@peony.nlm.nih.gov>.
6332
6333 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
6334
6335         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
6336           Completes first pass. Hurrah!
6337
6338 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
6339
6340         * docs/tutorial/gtk-tut.sgml: More clean ups.
6341
6342 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
6343
6344         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
6345         paint the background of the text area which was accidentally
6346         removed at some point.
6347
6348         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
6349           
6350          - Move most of the functionality from the theme vtable
6351            into GtkRcStyleClass and GtkStyleClass. The moved
6352            vtable functions were changed a bit in the move to
6353            work better in their new home.
6354
6355          - Get rid of the engine and engine_data fields from
6356            GtkRcStyle and GtkStyle; instead the theme
6357            engine derives theme-specific subclasses of GtkRcStyle
6358            and GtkStyle
6359
6360          - Add extra dlsym() found entry point to themes,
6361            theme_create_rc_style().
6362
6363         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
6364         in gtk_style_real_copy.
6365
6366         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
6367         to register a type associated with an engine. (The engine
6368         won't be unloaded as there is an instance of the type.)
6369
6370
6371 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
6372
6373         * docs/tutorial/gtk-tut.sgml: Clean ups.
6374
6375 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
6376
6377         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
6378           of cleaning up to do.
6379
6380 2000-07-15  Tor Lillqvist  <tml@iki.fi>
6381
6382         * gdk/testgdk.c: New file, quick hack to test backends for
6383         pixel-by-pixel correctness of the most simple graphic operations.
6384
6385 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
6386
6387         * Really release 1.3.1
6388         
6389         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
6390         include structure.
6391
6392 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
6393
6394         * Released 1.3.1
6395
6396 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
6397
6398         * gtk/gtktextlayout.c: use FALSE for size_only most
6399         of the time when calling gtk_text_layout_get_line_display()
6400         to avoid causing double reshapes when a redraw follows
6401         immediately after.
6402
6403 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
6404
6405         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
6406         appropriate region and gdk_window_process_updates() so trough
6407         updating doesn't lag behind the window being scrolled.
6408
6409         * gdk/gdkgc.c: Make parent_class pointer static.
6410          
6411 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
6412
6413         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
6414         include <string.h>.
6415          
6416         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
6417         cut-and-paste error in computing memory offset for 4 channels.
6418
6419 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
6420
6421         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
6422         gtk_rc_append_default_pixmap_path(), since it wasn't
6423         adding an interesting path and we don't have a meaningful
6424         default for this value.
6425
6426 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
6427
6428         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
6429         gtk-config to gtk-config-2.0 move gtk_.m4 to
6430         gtk-2.0.m4
6431
6432         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
6433         gdk/Makefile.am demos/Makefile.am: Change 
6434         library names to libgtk-1.3.la, etc, so that we
6435         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
6436
6437         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
6438         gdk/Makefile.am gdk/x11/Makfile.am
6439         Move include files into /usr/include/gtk-2.0, 
6440         /usr/lib/gtk-2.0/include/
6441          
6442         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
6443         gtk/gtkintl.h: Change package for gettext from 
6444         gtk+ to gtk20. Put hack in autogen.sh to modify
6445         po/Makefile.in.in after gettextize to make this
6446         possible.
6447
6448         * gtk+.spec: Some updates, not tested.
6449
6450         * gdk-pixbuf/Makefile.am: Move loaders into
6451         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
6452
6453         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
6454         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
6455         to THEMENAME/gtk-2.0/. Move engine directory  to
6456         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
6457         
6458 2000-07-12  Tor Lillqvist  <tml@iki.fi>
6459
6460         Win32 changes, still doesn't build though.
6461
6462         * gdk/makefile.cygwin
6463         * gdk/win32/makefile.cygwin
6464         * gtk/makefile.cygwin: Updates.
6465
6466         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
6467         default values for fg and bg pixel as X11 does (0 and 1), not
6468         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
6469         Use 0 for pen width by default (treated as 1 anyway later, but for
6470         apps that might check the value in the GdkGC).
6471         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
6472         interface to gdk_gc_predraw and _postdraw.
6473
6474         * gdk/win32/gdkwin32.h
6475         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
6476
6477         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
6478         extraneous semicolon.
6479
6480         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
6481
6482         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
6483         not the Win32 bitspixel value.
6484
6485         * gdk/win32/gdkcc-win32.c:
6486         * gdk/win32/gdkcolor-win32.c 
6487         * gdk/win32/gdkprivate-win32.h
6488         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
6489         GDK object structure.
6490
6491 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
6492
6493         * docs/tutorial/gtk_tut_12.es.sgml (name): 
6494         * docs/tutorial/gtk_tut_it.sgml (name): 
6495         * docs/tutorial/gtk_tut_fr.sgml (name): 
6496         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
6497         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
6498
6499 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
6500
6501         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
6502           small changes.
6503
6504 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
6505
6506         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
6507         a bug here, never been here and never fixed anything ;(
6508         (don't segfault if tree->root_tree is NULL, which happens prior
6509         to widget realization, but puke instead).
6510
6511 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
6512
6513         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
6514         add the necessary tokens.
6515
6516         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
6517         (gtk_rc_style_to_style): copy thicknesses.
6518         (gtk_rc_init_style): apply thicknesses.
6519         (gtk_rc_parse_style): parse xthickness and ythickness.
6520
6521         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
6522
6523         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
6524         (gdk_window_new): 
6525         (_gdk_windowing_window_init): 
6526         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
6527         (gdk_pixmap_create_from_data): 
6528         (gdk_bitmap_create_from_data): 
6529         (gdk_pixmap_new): 
6530         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
6531         (gdk_image_new): 
6532         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
6533         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
6534         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
6535         (gdk_colormap_get_system): 
6536         (gdk_colormap_new): 
6537         * gdk/gdkwindow.c (gdk_window_init): 
6538         * gtk/gtkstyle.c (gtk_style_new):
6539         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
6540         * gdk/gdkpixmap.c (gdk_pixmap_init): 
6541         * gtk/gtkrc.c (gtk_rc_style_new):
6542         use g_object_new() instead of g_type_create_instance() which
6543         is a private function for fundamental type implementations.
6544
6545 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
6546
6547         * configure.in: Add check for db2html
6548
6549 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
6550
6551         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
6552         hack to set glib_debug_objects based on gtk_debug_flags.
6553
6554 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
6555
6556         * INSTALL.in: Update the Prerequisites section.
6557
6558         * Makefile.am demos/Makefile.am docs/Makefile.am
6559         docs/tutorial/Makefile.am gdk/x11/Makefile.am
6560         gdk/linux-fb/Makefile.am: Dist fixes
6561
6562 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
6563
6564         * NEWS: 10,000 foot view of 1.3.1 changes.
6565
6566 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
6567
6568         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
6569         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
6570         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
6571         gdk/x11/gdkmain-x11.c: 
6572
6573         Patch from George Lebl to add a GdkGrabStatus enumeration to use
6574         as a return value of gdk_*_grab(). Previously, we just
6575         returned the X11 values directly.
6576
6577 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
6578
6579         * gdk/x11/Makefile.am: Patch from George Lebl to 
6580         install all the headers in the right place.
6581
6582 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
6583
6584         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
6585           initial conversion to DocBook.
6586
6587 2000-07-04  Tor Lillqvist  <tml@iki.fi>
6588
6589         * README.win32: Improve a bit.
6590
6591         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
6592         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
6593         Alt+0nnn on the numpad (used to enter characters by numeric code
6594         from current DOS or ANSI codepage) working correctly, as in other
6595         Windows apps.
6596
6597         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
6598         same argument validity tests as in X11 version.
6599         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
6600
6601         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
6602         definitions in case missing from headers.
6603
6604         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
6605         destroy the window-specific cursor.
6606         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
6607         calling GetModuleHandle(NULL).
6608         (gdk_window_set_cursor): Reworked to always copy the passed cursor
6609         with CopyCursor before setting it as the window-specific
6610         cursor. It is OK for the caller to destroy the GdkCursor (and thus
6611         also its Windows cursor) after calling this function. Destroy any
6612         previous window-specific cursor.
6613
6614 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
6615
6616         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
6617         font charset is iso8859-1, not iso-8859-1.
6618
6619 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
6620
6621         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
6622         Use g_get_charset() instead of g_get_codeset().
6623
6624         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
6625         Comment out some strdup'ing functions to keep timj
6626         happy until we finish fighting this out.
6627
6628 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
6629
6630         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
6631         <= width or height.
6632
6633         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
6634         from 1.2 for parent/child states.
6635
6636         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
6637         of typos.
6638
6639         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
6640         event structures, replace with a generic axes field. Replace 
6641         deviceid/sourec with GdkDevice *device.
6642
6643         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
6644         to extract particular axis use value from event. (Also
6645         can be used for normal X/Y.)
6646
6647         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
6648         allow for arbitrary number of axes, namespace everything
6649         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
6650         everywhere.
6651
6652         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
6653         Get rid of the gdk_input_vtable setup if favor of simply
6654         defining the functions in gdkinput-none/gxi/xfree.c in
6655         a similar fashion to the way that the port structure is 
6656         done.
6657
6658         * gtk/gtkdnd.c: Fix fields of synthesized button press event
6659         for new event structures. 
6660
6661         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
6662         new device interfaces.
6663
6664 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
6665
6666         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
6667         set the initial text.
6668
6669         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
6670         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
6671         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
6672         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
6673
6674         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
6675         pango_layout_set_font_description to simplify.
6676
6677 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
6678
6679         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
6680         pango_layout_set_font_description to simplify.
6681
6682 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
6683
6684         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
6685         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
6686         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
6687
6688         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
6689         PANGO_PIXELS() macro.
6690
6691 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
6692
6693         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
6694         that returns a PangoContext owned by the widget and updated to
6695         match future changes in the widget. Also, make 
6696         gtk_widget_create_pango_layout() use this context. If we ever
6697         add a ::changed signal to PangoContext, this will make things
6698         much more convenient. 
6699
6700         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
6701         in the appropriate places instead of destroying the layouts and
6702         creating new ones.
6703
6704         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
6705         in a few strategic places.
6706
6707 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
6708
6709         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
6710         gtk_widget_size_request() on reparented child, if one. Otherwise,
6711         queue_resize() on the child never results in it getting size-requested
6712         at all.
6713
6714         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
6715         in option menus, so that (with luck) people won't copy it into
6716         their apps in the future.
6717
6718         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
6719         to gtk_option_menu_calc_size. This isn't perfect, but should fix
6720         a lot of problems with changing the size of the menu's menu
6721         items after adding it to the option menu.
6722
6723         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
6724
6725         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
6726         the text direction for a widget changes.
6727
6728         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
6729         ::direction_changed to get rid of various hacks.
6730
6731 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
6732
6733         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
6734         name.
6735
6736 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
6737
6738         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
6739         flag to the structure. Do not call XFreePixmap on pixmaps created
6740         by gdk_pixmap_foreign_new().
6741
6742 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
6743
6744         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
6745         value using GdkRGB functionality given GdkColormap and GdkColor.
6746         (name not final, waiting for inspiration.)
6747         
6748         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
6749         set the foreground/background of a GC using the GC's colormap
6750         and GdkRGB. (name not final, waiting for inspiration.)
6751
6752         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
6753         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
6754
6755         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
6756         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
6757         purely a function of the corresponding colormap. Make
6758         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
6759
6760         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
6761         gdk_pixbuf_*create_from_xpm_* in terms of
6762         gdk_pixbuf_new_from_xpm_data(), move into platform independent
6763         code.
6764
6765         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
6766         advantage of the new draw_rgb_32_image_dithalign.
6767
6768         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
6769
6770         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
6771         on each created GC.
6772
6773         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
6774
6775         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
6776         which we initialize from the drawable when the GC is created,
6777         if the drawable has a colormap.
6778
6779         * gdk/x11/gdkgc-x11.c: include string.h for memset.
6780
6781         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
6782
6783         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
6784
6785 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
6786
6787         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
6788         actually returning expose events, make sure to set
6789         the count field properly.
6790
6791         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
6792         accidentally reintroced bug which always cleared
6793         the graphics_exposures value. 
6794
6795 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
6796
6797         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
6798
6799 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
6800
6801         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
6802
6803 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
6804
6805         * docs/faq/gtk-faq.sgml: Start of Section 6.
6806
6807 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
6808
6809         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
6810         
6811         (Fixes problem with drawing childless frames. Pointed out
6812         by and a first patch from Anders)
6813         
6814         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
6815         compute a child_allocation, even if we don't have a child.
6816
6817         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
6818         Always chain to the parent's impl, even if we don't have a child.
6819
6820 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
6821
6822         * gdk/gdkrgb.c: If possible, create only a single shm segment and
6823         use multiple parts of it instead of creating a bunch of separate
6824         segments, since the maximum number of segments per system is not
6825         large. (This might be worth backporting to GTK+-1.2.x if we make a
6826         new release )
6827
6828         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
6829         structure in preparation for per-colormap GdkRGB.
6830
6831         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
6832         to False when we get EINVAL from shmget so that the caller of
6833         gdk_image_new can retry with a smaller segment size.
6834
6835 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
6836
6837         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
6838
6839 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
6840
6841         * configure.in: make the current version number 1.3.1 (binary age 0,
6842         interface age 0).
6843         
6844         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
6845         gtkcompat.h is all we want.
6846
6847         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
6848         GLib primitive types. fixed g_type_register_fundamental() argument
6849         ordering.
6850
6851         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
6852         compiles.
6853
6854         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
6855         object code cleanup, comment trigraph fixes, etc...
6856
6857 2000-06-23  Havoc Pennington  <hp@redhat.com>
6858
6859         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
6860         instead of making up a bogus name for first_para_mark
6861
6862         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
6863         0 as a context ID
6864
6865 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
6866
6867         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
6868
6869 2000-06-21  Havoc Pennington  <hp@pobox.com>
6870
6871         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
6872         we didn't check window->bg_pixmap != GDK_NO_BG.
6873
6874         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
6875         gdk-pixbuf
6876
6877 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
6878
6879         * docs/faq/gtk-faq.sgm: Move file to here.
6880           TODO: Update Makfile.am 
6881
6882 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
6883
6884         * docs/gtk-faq.sgm: Add Section 2
6885
6886 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
6887
6888         * docs/gtk-faq.sgm: New file. Start of DocBook
6889           version of the FAQ.
6890
6891 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
6892
6893         * configure.in (GDK_PIXBUF_MAJOR): Define version
6894         numbers for GDK_PIXBUF_*, as they get substituted
6895         into a header file. Need to consider versioning
6896         for gdk-pixbuf more carefully later.
6897
6898 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
6899
6900         Work with srcdir != builddir.   
6901         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
6902         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
6903         * demos/testpixbuf.c: Likewise.
6904         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
6905         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
6906         <gdk/x11/gdkx.h>.
6907         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
6908         "gdk-pixbuf.h".
6909         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
6910
6911 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
6912
6913         * TODO.xml: Change 1.4 version numbers to 2.0.
6914
6915 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
6916
6917         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
6918         fixups to GTK+ standard.
6919
6920 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
6921
6922         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
6923         gdk-pixbuf.
6924
6925         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
6926         fixups for GObject.
6927
6928         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
6929         gdk-pixbuf with GDK dependencies moved into GDK.
6930         
6931         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
6932         move gdk-pixbuf-loader here until GObject has signals.
6933
6934         * demos/: New directory of demos. Move demos from
6935         gdk-pixbuf here.
6936
6937         * demos/pixbuf-init.c: Small bit of code to check for
6938         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
6939         set GDK_PIXBUF_MODULEDIR appropriately.
6940
6941         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
6942         define which no longer makes sense.
6943
6944 2000-06-21  Havoc Pennington  <hp@redhat.com>
6945
6946         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
6947         gtk_get_default_language
6948
6949         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
6950         new function to get the default language
6951
6952         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
6953         s/gtk_text_view_style_values/gtk_text_style_values/
6954
6955         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
6956         Add a "language" field to tags.
6957
6958         (gtk_text_tag_set_arg): Fix bug in setting
6959         "bg_full_height_set" tag.
6960
6961 2000-06-21  Havoc Pennington  <hp@redhat.com>
6962
6963         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
6964         in the interfaces
6965
6966         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
6967         stuff instead when possible.
6968
6969         * gtk/gtktexttypes.h: Delete some unused constants
6970
6971         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
6972         testtextbuffer.c: use glib instead of custom unicode routines
6973
6974 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
6975
6976         * docs/es/: Removed mistakenly added generated sgml
6977
6978         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
6979         Remove outdated info files.
6980
6981         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
6982         Moved tutorial files into subdir
6983
6984         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
6985         subdir.
6986
6987         * docs/man/gtk_button.pod: Remove. (contents will be
6988         integrated into gtk-reference button page.)
6989
6990         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
6991         docs/faq/Makefile.am: Adjust for new organization
6992
6993 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
6994
6995         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
6996         not $(MKINSTALLDIRS)
6997
6998 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
6999
7000         * gtk/testgtk.c (create_text): Finish the job Elliot started
7001         of removing font setting test for text widget. (Since text widget
7002         and GdkFont are not deprecated, and cause portability problems.)
7003
7004 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
7005
7006         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
7007         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
7008         Remove use of libunicode in favor of new GLib functions.
7009
7010         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
7011         nano-x, framebuffer. The X11 include is just a hack until we get
7012         the necessary functions in gdkcolor.h, so there is no reason to
7013         add other includes of platforms.
7014
7015         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
7016         window bigger than the screen change.
7017
7018         * gtk/testgtk.c: Revert some random changes from Elliot
7019         that had no particular point and were causing testgtkrc
7020         not to function correctly.
7021         
7022         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
7023         because GdkSegment and GdkRegionBox have the same fields,
7024         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
7025         results in clearer code.
7026
7027         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
7028         gdk_input_translate_coordinates): Fix missed GdkObjectification
7029
7030 2000-06-18  Elliot Lee  <sopwith@redhat.com>
7031
7032         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
7033         * gtk/gtk{plug,socket}.h: Missed commits from previous.
7034
7035 2000-06-20  Havoc Pennington  <hp@redhat.com>
7036
7037         * modules/linux-fb/Makefile.am: Make this compile
7038         without framebuffer enabled
7039
7040         * gdk/linux-fb/Makefile.am: Add conditional to not build
7041         framebuffer unless specified in configure
7042
7043         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
7044         the size of the target instead of source if -1 was passed for
7045         width/height
7046
7047         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
7048         width/height confusion.
7049
7050 2000-06-19  Havoc Pennington  <hp@redhat.com>
7051
7052         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
7053         GDK_DRAWABLE_XID. In the future, we probably want to make it
7054         faster with G_DISABLE_CHECKS turned on.
7055
7056 2000-06-14  Havoc Pennington  <hp@redhat.com>
7057
7058         * gdk/Makefile.am: add gdkpixmap.c
7059
7060         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
7061         s/gdk_image_init/_gdk_windowing_image_init
7062
7063         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
7064         ref/unref
7065
7066         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
7067
7068         * gdk/gdkcompat.h: remove GdkWindowType compat, since
7069         GdkWindowType is now non-deprecated; 
7070         change gdk_window_get_type() compat to be
7071         gdk_window_get_window_type().
7072
7073         * gdk/gdkdnd.h: make GdkDragContext a GObject.
7074
7075         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
7076         virtual GObject. Make all functions call into the vtable.
7077         Move gdk_image_put() guts in here. Remove GdkDrawableType
7078         and gdk_drawable_get_type(), these are now GdkWindow-specific.
7079         draw_image, get_depth, get_size, set_colormap, get_colormap,
7080         get_visual added to the vtable.
7081         
7082         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
7083         GObject. Virtualize everything. 
7084         (gdk_gc_new_with_values): remove check for destroyed window,
7085         because now GdkWindow::create_gc will check this.
7086         (gdk_gc_set_values): New function to set GC values, this 
7087         was already implemented but wasn't in the header
7088
7089         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
7090
7091         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
7092         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
7093         remove _gdk_window_class; add _gdk_window_impl_get_type() and
7094         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
7095         _gdk_windowing_window_init, rename gdk_image_init to
7096         _gdk_windowing_image_init.
7097         
7098         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
7099         (gdk_draw_layout): Remove check for destroyed window, 
7100         because all the drawable methods already check it.
7101         
7102         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
7103         Add gdkpixmap.c which contains implementation of GdkDrawable
7104         virtual table (by chaining to a platform-specific implementation
7105         object).
7106         
7107         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
7108         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
7109         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
7110         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
7111         GdkColormapPrivate. 
7112
7113         * gdk/gdktypes.h: #include <glib-object.h>
7114
7115         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
7116         Move most functionality to platform-specific implementation
7117         object. GdkWindow itself now handles the backing store, then
7118         chains to the platform-specific implementation.
7119         (gdk_window_get_window_type): return GdkWindowType of the window.
7120         (gdk_window_peek_children): New routine, returns the children of 
7121         a GdkWindow
7122         (gdk_window_get_children): Was in X11-specific code and did 
7123         XQueryTree. Changed to simply return a copy of window->children; 
7124         so it can go in cross-platform code.
7125         
7126         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
7127
7128         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
7129         GdkColormap; just changed to use the new private data instead
7130         of casting to GdkColormapPrivate.
7131
7132         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
7133         gdk_cursor_new().
7134
7135         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
7136         (private data member in the GObject). 
7137         (xdnd_manager_source_filter): Function had broken 
7138         error handling, fix it (use gdk_error_trap_push).
7139
7140         * gdk/x11/gdkdrawable-x11.c: This file now implements
7141         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
7142         base class is purely for the convenience of the X port,
7143         and not part of the interface to cross-platform GDK.
7144
7145         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
7146         
7147         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
7148         specific to X, and returned by the create_gc virtual method
7149         of GdkDrawableImplX11. 
7150         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
7151         rather than gchar, this was also changed in the GdkGC vtable.
7152         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
7153         mask is 0, return immediately, instead of checking every flag.
7154         This is faster, and keeps us from segfaulting if values is NULL
7155         and the mask contains some nonzero flags.
7156
7157         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
7158         GdkWindow.
7159
7160         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
7161         GdkWindowPrivate is gone.
7162
7163         * gdk/x11/gdkim-x11.c: rename things that got renamed.
7164
7165         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
7166         remove the image_put stuff that got transferred to GdkDrawable.
7167         
7168         * gdk/x11/gdkinput.c: renamings
7169
7170         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
7171
7172         * gdk/x11/gdkpixmap-x11.c: GObject conversion
7173
7174         * gdk/x11/gdkprivate-x11.h: indentation fixes
7175
7176         * gdk/x11/gdkproperty-x11.c: renamings
7177
7178         * gdk/x11/gdkselection-x11.c: renamings
7179
7180         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
7181         implements the platform-specific "impl" object.
7182         Moved gdk_window_get_children to gdk/gdkwindow.c
7183
7184         * gdk/x11/gdkx.h: Remove all the private structs and private datas
7185         that no longer exist. Add declaration of GdkGCX11 object here.
7186         Fix all the macros to still work. 
7187
7188         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
7189         GdkDragContext from the boxed types since they are now GObjects.
7190
7191         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
7192         moved xthickness/ythickness into the instance. GtkStyleClass
7193         functions are now in the standard vtable for GtkStyle, so you have
7194         to create a GObject subclass to write a theme engine.
7195         (gtk_style_copy): fixed a leaked PangoFontDescription
7196         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
7197         can be the standard GObject function.
7198         
7199         * Throughout GTK:
7200         s/style->klass->[xy]thickness/style->[xy]thickness
7201         s/pango_layout_unref/g_object_unref/
7202
7203         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
7204         
7205         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
7206         accessing GDK internals.
7207
7208         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
7209         accessing GDK internals.
7210
7211 2000-06-18  Elliot Lee  <sopwith@redhat.com>
7212
7213         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
7214
7215         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
7216         problem by calculating event position relative to the trough
7217         rather than the slider.
7218         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
7219
7220         * gdk/gdkgc.h: Add GDK_NOR.
7221
7222         * configure.in, Makefile.am: Add modules top level dir
7223         * configure.in: Only use pangox library if building x11 target.
7224         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
7225
7226 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
7227
7228         * gtk/gtkcolorsel.c: Change private class member to be named
7229         private_data throughout the file.
7230
7231         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
7232         private_data to avoid clashing with keyword.
7233
7234 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
7235
7236         * gdk/gdkdnd.h: Add comment to remove warning.
7237
7238 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
7239
7240         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
7241         Byelorussian language; changed the Makefile and file names 
7242         to reflect that.
7243
7244 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
7245
7246         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
7247         rather than gdk_window_hide; this makes things work
7248         correctly if the window is programmatically hidden while
7249         iconified.
7250
7251 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
7252
7253         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
7254         cut and paste typo where wrong pixmap was being
7255         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
7256
7257 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
7258
7259         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
7260         Add helper function to compute format / bytes 
7261         relationship. Use in a couple places to fix up
7262         errors which assume 8 * format.
7263
7264         * gtk/gtkselection.c (gtk_selection_request): Use 32
7265         rather than 8 * sizeof (GdkAtom), to work correctly
7266         on Alpha.
7267
7268 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
7269
7270         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
7271         libgtk.la
7272         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
7273         versions
7274
7275         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
7276         checking macros return NULL since the function has a return value.
7277
7278 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
7279
7280         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
7281         GTK+ from building at all.
7282
7283         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
7284
7285 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
7286
7287         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
7288         gtk/Makefile.am: make it possible to configure gtk for different
7289         targets on the same platform. The library name is now 
7290         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
7291         flag. Only the x11 target compiles right now.
7292         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
7293         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
7294         * gdk/nanox/gdk*generic*: delete generic region code.
7295         * gdk/linux-fb/gdk*generic*: delete generic region code.
7296         * README.nanox: update information.
7297         
7298 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
7299
7300         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
7301         prepend not append. (Pointed out by Brett Hall.)
7302
7303 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
7304
7305         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
7306
7307 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
7308
7309         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
7310         need this later, and this makes sure that the atexit for
7311         glib gets called after that for GDK, so atexits are
7312         properly ordered for object leak checking.
7313
7314         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
7315
7316         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
7317         pango_x_shutdown_display()
7318
7319         * gtk/simple.c (main): Close window on destroy.
7320
7321 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
7322
7323         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
7324         to treat initial creation different from setting with 
7325         regards to the graphics-exposures parameter, so add a parameter
7326         indicating whether this is initial or not.
7327
7328 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
7329
7330         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
7331         to sort of work by adding an extra return_exposes arg
7332         to gdk_event_translate() - it might be better to simply
7333         deprecate the function altogether and force people to rewrite
7334         without it. gdk_window_scroll() handles most of it, and where
7335         gdk_window_scroll() doesn't work, simply redrawing more does.
7336
7337         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
7338         assertion.
7339
7340         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
7341
7342         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
7343         bunch of pretty much useless /* Print debugging info */ comments 
7344         which had drifted away from the code they were commenting.
7345
7346 2000-06-02  Havoc Pennington  <hp@pobox.com>
7347
7348         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
7349         is in working order.
7350         
7351         * gtk/testtext.c: Change to reflect anonymous mark API
7352
7353         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
7354
7355         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
7356         field, which was unused.
7357
7358         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
7359         saves some typing.
7360
7361         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
7362
7363         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
7364         flag on the insertion point and selection bound
7365
7366         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
7367         make mark-manipulation functions take a GtkTextMark* instead of a
7368         mark name.
7369         
7370         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
7371         GtkTextMarkBody; will be used to detect attempts to delete
7372         the permanent marks (insert and selection bound)
7373
7374         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
7375
7376 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
7377
7378         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
7379         flag to on.
7380
7381         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
7382         Honor DOUBLE_BUFFRED_FLAG
7383
7384         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
7385         function to set the DOUBLE_BUFFERED flag.
7386
7387         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
7388         or not exposes done on the widget should be double-buffered.
7389
7390         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
7391         to be what would be expected. (Fixes problem with a
7392         g_return_if_fail() validating a TextDirection enumeration)
7393
7394 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
7395
7396         * gtk/gtkwidget.c: Remove all references to 
7397         offscreen flag which was no longer used.
7398
7399         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
7400
7401         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
7402         for non-null label_widget->parent.
7403
7404         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
7405         which no longer was used.
7406
7407         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
7408
7409         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
7410         for null arguments.
7411
7412         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
7413         check for destroyed windows.
7414
7415 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
7416
7417         * gtk/gtkimmulticontext.c: Add a finalize method and unref
7418         the slave context there.
7419
7420         * gtk/gtkinvisible.[ch]: Make reference counting behavior
7421         identical to GtkWindow.
7422
7423 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
7424
7425         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
7426         pangox to here, so we can write them independent of rendering
7427         system, using GDK primitives.
7428
7429         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
7430         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
7431         since we have a rendering-system independent implementation in
7432         terms of draw_glyphs().
7433         
7434         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
7435         function to render a single line.
7436
7437         * gdk/x11/gdkpango.c: Move the guts of this file mostly
7438         into ../gdkpango.c, which simplifies things, since we
7439         don't have to deal with raw X gc's.
7440
7441 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
7442
7443         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
7444         get the logical attributes for a given GtkTextLine.
7445
7446 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
7447
7448         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
7449         g_locale_get_codeset() to g_get_codeset() change.
7450
7451 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
7452
7453         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
7454         descriptions.
7455
7456         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
7457         the entry.
7458
7459         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
7460         redoing (vastly simplifying) for Pango. Still needs quite
7461         a bit of work. (Size selection is currently poor. List of 
7462         predefined sizes is not a good idea, since all of these
7463         sizes won't necessarily be distinct.)
7464
7465 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
7466
7467         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
7468         CODESET results for LANG=C.
7469
7470 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
7471
7472         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
7473         which takes a stringized pango font description;
7474         ignore the older 'font' and 'fontset' declarations.
7475
7476         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
7477         field with a GdkFont derived via gdk_font_from_description(),
7478         for compatibility. (Should we just remove it entirely?
7479         Probably too much compatibility breakage, but people
7480         should be migrating to the new Pango stuff as quickly
7481         as possible.)
7482
7483 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
7484
7485         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
7486
7487 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
7488
7489         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
7490         redoing; there are some bugs in size allocation right
7491         now, the semi-existant distinction between header / day
7492         fonts was removed, but, with Pango, could actually
7493         be made functional in a nice way.
7494         
7495         * gtk/testcalender: Move calender from examples into this
7496         directory as a test program. (We really need to restrcture
7497         testgtk into a whole directory full of tests for every
7498         widget or functionality group, separated into multiple .c
7499         files.)
7500
7501 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
7502
7503         * gtk/testgtk.c (file_exists): Fix stupid typo that
7504         was keeping RC file from being loaded.
7505
7506         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
7507         RC file font code.
7508
7509 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
7510
7511         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
7512         Add function to load a GdkFont from a PangoFontDescription.
7513
7514 2000-05-29  Tor Lillqvist  <tml@iki.fi>
7515
7516         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
7517         variable should be of type GdkEventPrivate.
7518
7519 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
7520
7521         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
7522         to have any widget for the label, use a GtkLabel widget
7523         to display the text. (Based partially on a patch from
7524         Anders Carlson.)
7525
7526         (Quite a bit of code reorganization - strip 90% of the
7527         guts out of gtkaspectframe and add a single virtual
7528         func to GtkFrameClass - compute_child_allocation.)
7529
7530 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
7531
7532         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
7533         (Removed clist->row_center_offset field because caching
7534         it wasn't saving time or code, added private function
7535         _gtk_clist_create_cell_layout()).
7536
7537 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
7538
7539         * gtk/gtkaccellabel.c: Pangoized.
7540
7541         * gtk/[hv]ruler.c: Pangoized
7542
7543 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
7544
7545         * gtk/gtkfilesel.c (gtk_file_selection_init):
7546         Use gtk_clist_set_column_auto_resize() to remove need
7547         need for manual column width computations.
7548
7549 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
7550
7551         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
7552         ensuring Pango correctness, and considerably simplifying the
7553         code.
7554         
7555         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
7556
7557         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
7558         getting of numbers of lines.
7559
7560         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
7561         to the actual requested width of the lable, not to the wrap
7562         width we set.
7563
7564         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
7565
7566         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
7567           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
7568
7569         * gtk/gtktextview.c: Fix structure inheritance.
7570
7571         * gtk/gtkprogressbar.c: Pangoize.
7572
7573 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
7574
7575         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
7576         in a function.
7577
7578         * gtk/gtktextlayout.c (find_display_line_above): Fixed
7579         bug with computing line tops.
7580
7581         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
7582
7583 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
7584
7585         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
7586         and y_offset coordinates to do what we need now. (The offset between
7587         buffer and layout coordinates has been reintroduced, but is a 
7588         bit different than before.)
7589
7590         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
7591         handle the adjustments ourselves, and scroll as necessary using
7592         the new gdk_window_scroll().
7593         
7594         The advantage of this is that when we are incrementally revalidating,
7595         we are essentially rearranging things around the visible portion
7596         of the screen. With the old setup, the visible portion of the
7597         screen was moved around in the layout, so scrolling and redrawing
7598         to track that caused jumping of the display. Since we now
7599         control the scrolling ourselves, we can suppress this and
7600         only redraw when things actually change.
7601
7602 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
7603
7604         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
7605         the region not just redisplay it after-all, since we store the
7606         cursors in the LineDisplay. (Ugly interactions here between
7607         GtkLayout and GtkTextBTree here.)
7608         
7609         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
7610
7611 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
7612
7613         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
7614         Added function to scroll contents of a window while keeping the
7615         window constant. Works by XCopyArea or guffaw-scrolling depending
7616         on the details of how the window is set up. (guffaw-scrolling
7617         still needs to be filled in.)
7618
7619 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
7620
7621         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
7622         move the debugging that was tied to a global variable
7623         to that.
7624
7625         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
7626
7627         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
7628         validated flag, in line data instead of setting height/width to
7629         -1. This allows us to perform operations with partially invalid
7630         buffer (using the old size for invalid lines) and thus to do
7631         incremental vaidation. Keep height/width aggregates up to date
7632         when deleting text and rebalancing the tree.
7633
7634         * gtk/gtktextbtree.[ch]: Add functions validate a line
7635         (gtk_text_btree_validate_line), and to validate up
7636         to a number of pixels (gtk_text_btree_validate).
7637
7638         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
7639         that indicates that something is changed and a revalidation
7640         pass is needed. Change ::need_repaint to ::changed, and
7641         make it take old and new yranges instead of a rectangle.
7642
7643         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
7644         the line_data_destroy() function from 
7645         gtk_text_btree_add_view() to a virtual function in 
7646         GtkTextLayout
7647
7648         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
7649         since we are handling partial repaints in a different fashion
7650         now.
7651
7652         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
7653         of the selection instead of queueing a repaint on the
7654         entire widget.
7655
7656         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
7657         get_selection_bounds() down to btree, make the function
7658         in buffer a wrapper around the btree function.
7659
7660         * gtk/gtktextlayout.[ch]: Add functions to check if the
7661         layout is valid and to recompute either a range of pixels
7662         aroudn a line or a certain total number of pixels.
7663
7664         * gtk/gtktextlayout.[ch]: Cache a single line display;
7665         now that we only redraw the needed portions, the hit rate
7666         for this cache is quite high.
7667         
7668         * gtk/gtktextview.[ch]: Keep track of the first paragraph
7669         on the screen so that when re-laying-out the buffer, we can
7670         keep the same place. This requires connecting to ::value_changed
7671         on the adjustments
7672
7673         * gtk/gtktextview.[ch]: Add idle functions to revalidate
7674         the buffer after we receive an ::invalidated signal.
7675         
7676 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
7677
7678         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
7679         to max of allocation and layout size, not just to the
7680         layout size.
7681
7682         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
7683         Invalidate window so it gets redrawn properly.
7684
7685         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
7686         to mean the entire window.
7687
7688         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
7689         into public header.
7690
7691 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
7692
7693         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
7694         to get the name of a mark.
7695
7696         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
7697         to find the paragraph from a y position.
7698
7699 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
7700
7701         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
7702         nodes have width/height >= 0, not > 0.
7703
7704 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
7705
7706         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
7707         Add a size_only flag, so when we only need the size, we don't create
7708         useless appearance attributes.
7709
7710         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
7711         duplicate setting of font description.
7712
7713         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
7714
7715 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
7716
7717         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
7718         EXTRA_DIST. It does not work well when the file that
7719         everything depends on is not in the tarball.
7720
7721 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
7722
7723         * gtk/testgtk.c: Some hacks and fixes so that it basically
7724         works when not sitting in the GTK+ build tree.
7725
7726 2000-05-03  Havoc Pennington  <hp@redhat.com>
7727
7728         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
7729         Properly determine the ordering of the tag root and the current
7730         line within the tree. Previous algorithm only worked if the tag
7731         root's immediate parent was the common root of both the current
7732         line and the tag root.
7733
7734 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
7735
7736         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
7737         alignment.
7738
7739         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
7740         the widget text directional dynamically.
7741
7742         * gtk/gtktextview.[ch]: Added functions to get and set default
7743         wrap mode.
7744
7745 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
7746
7747         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
7748         in cursor location computation.
7749
7750 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
7751
7752         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
7753         vadjusment values properly when layout gets smaller.
7754
7755         * gtk/gtktextview.c (need_repaint_handler): Areas being
7756         passed in are far completely inaccurate, and sometimes
7757         too small, so, for now, just queue a redraw on the
7758         whole visible region.
7759
7760 2000-04-25  Havoc Pennington  <hp@redhat.com>
7761
7762         * gtk/gtktextbtree.c (summary_destroy): new function to 
7763         destroy tag summary nodes
7764         (gtk_text_line_next_could_contain_tag): this function was 
7765         totally broken if the line passed in wasn't below the tag
7766         root. Fix it.
7767         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
7768         "wildcard" case, we have to do a linear scan. Blah.
7769         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
7770         we have to do the linear scan
7771         (tag_removed_cb): When a tag is removed from the tag table, 
7772         remove the GtkTextTagInfo node from the btree.
7773         (gtk_text_btree_spew): Implement the spew function, for 
7774         our debugging pleasure.
7775
7776 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
7777
7778         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
7779         a problem with referring to the wrong buffer.
7780
7781         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
7782
7783         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
7784         font description to gtk_style_new() - otherwise things
7785         don't work without a .gtkrc file.
7786
7787         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
7788         tags table if we create it ourself, too.
7789
7790         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
7791         it was conflicting with XKB modifiers.
7792
7793         * gtk/gtktextview.[ch]: Add simple support for 
7794         GtkIMContext.
7795
7796 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
7797
7798         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
7799         with deletion from last commit.
7800
7801 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
7802
7803         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
7804         in the context from the current locale.
7805         
7806         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
7807         context, not hardcoded value.
7808
7809         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
7810         not logical.
7811
7812 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
7813
7814         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
7815         attributes - that doesn't handle partial-glyph selection
7816         properly. Instead use new pango_layout_line_get_x_ranges()
7817         functionality to draw the selection.
7818
7819         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
7820         now properly handles out-of-range coordinates.
7821
7822         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
7823
7824         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
7825         public.
7826
7827         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
7828         for paragraphs opposite to the base direction of the widget.
7829
7830         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
7831
7832         * gtk/gtktextlayout.c: Don't split segments on marks, since that
7833         causes Arabic words to reshape as you cursor through.
7834
7835         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
7836         cursor position when moving vertically with the arrow keys and
7837         scrolling with page-up/page-down. (Arrow keys save only the X,
7838         scrolling saves both X and Y.)
7839
7840         This means you can line-up / line-down or page-up / page-down
7841         without losing your place, and also that moving vertically
7842         with the cursor keys keeps the same X position, not the same
7843         character count:
7844
7845         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
7846         arrow keys move by display lines, not paragraphs.
7847
7848 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
7849
7850         * gtk/gtklayout.c: Make sure that the bin window is at least
7851         as big as the allocation. (Should we also make sure that the
7852         bin window is big enough to completely cover widget->window?)
7853
7854         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
7855         function to get the onscreen rectangle.
7856
7857         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
7858         for offsets in window coordinates.
7859
7860 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
7861
7862         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
7863         confusion.
7864
7865         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
7866         from the widget direction.
7867
7868         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
7869         Add a "direction" attribute.
7870
7871         * gtk/gtktextview.c: global s/tkxt/text_view/.
7872
7873         * gtk/testtext.c: Added long block of text in Arabic, to test out
7874         the direction attributes. (Some problems with the shaping system
7875         for arabic become obvious - like the fact the cursor splits words
7876         into unjoined pieces.)
7877
7878 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
7879
7880         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
7881
7882         * gtk/gtktextlayout.c: Fix up alignment.
7883
7884         * gtk/testtext.c: Add some tests for centering, wrapping.
7885
7886 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
7887
7888         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
7889         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
7890         If we wrote GTK+-specific layout-render function this could just replace
7891         the draw_layout() operation in the vtable.
7892
7893         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
7894         pango_layout_get_cursor_pos() and use that function.
7895
7896         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
7897         is a non-static symbol.
7898
7899         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
7900         with gtk_text_btree_find_line_by_y()
7901
7902         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
7903         renderer that handles GtkTextAppearance attributes.
7904
7905         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
7906
7907           - Move the values in the style that don't affect geometry into a
7908             GtkTextAppearance structure.
7909           - Change underline to take a PangoUnderline and "font" a string
7910             representation of a font description
7911           - Add a "font_desc" attribute which takes a FontDescription structure.
7912
7913         * gtk/gtktextlayout.[ch]:
7914
7915           - Get rid of the display-line list per each line. Instead, we
7916             generate, on demand, a GtkTextLineDisplay structure which]
7917             contains a PangoLayout * and other necesary information
7918             (offsets, cursor locations) for displaying a paragraph.
7919           - Get rid of the code to wrap lines, create display chunks,
7920             etc. Instead, we just go through a paragraph and convert
7921             it into the necessary inputs to a PangoLayout.
7922           - Implement a new attribute type, GtkTextAttrAppearance. This
7923             holds a GtkTextAppearance, and is used to pass colors, 
7924             stipple, etc, through from the layout to the display without
7925             having to use lots and lots of individual attributes.
7926           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
7927             in terms of PangoLayout functions.
7928         
7929         * gtk/gtktextview.c: 
7930          
7931           - Handle passing the necessary PangoContext to the layout
7932           - Some fixups in painting to deal with the automatic backing store
7933             and offsetting of GTK+-1.4
7934           - Add a style_set handler so that the default style reacts
7935             properly to theme changes.
7936         
7937         * gtk/gtktext?*.[ch]: Random code-style fixes.
7938
7939         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
7940
7941 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
7942
7943         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
7944         in original form preparatory to Pango-ization and gdkimcontext-ization.
7945
7946 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
7947
7948         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
7949         so that we can derive from gtkimcontext in language bindings properly.
7950
7951 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
7952
7953         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
7954         Add a compose table including (almost) all the compose combinations
7955         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
7956         data in the XIM implementation.
7957
7958         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
7959         Moved functions to convert keyvalues from and to unicode here from
7960         the win32 port and made them public.
7961
7962 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
7963
7964         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
7965
7966 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
7967
7968         * gtk/gtkimcontext.[ch]: Base class for new input context system
7969
7970         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
7971         the real input context implementation to be loaded from modules
7972         and switched on the fly.
7973
7974         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
7975         context that just does direct keysymbol => unicode translation.
7976
7977         * gtk/gtkentry.[ch]: Start switching editing over to using
7978         GtkInputContext. (No handling of preedit yet.)
7979
7980 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
7981
7982         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
7983         many substitutions. (klass should not be subsituted.)
7984
7985 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
7986
7987         * configure.in: Add checks for Pango
7988
7989         * configure.in docs/Makefile.am: Add test for sgml2html
7990         and allow 'make dist' without building html, but print out
7991         warnings in that case. (For making snapshots)
7992
7993         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
7994         Add Pango libraries and C flags
7995
7996         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
7997         Add function (gdk_draw_layout) to draw a pango layout.
7998
7999         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
8000         for getting Pango contexts for GDK.
8001
8002         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
8003
8004         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
8005         editing.
8006
8007         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
8008         keysym => unicode translations. More languages can be added
8009         here, but real input-method support is needed.
8010
8011         * docs/Changes-1.4.txt: Added note about entry behavior.
8012         
8013         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
8014         to set the reading direction for a widget and the global direction.
8015         Add test which allows toggling the global direction. Two private
8016         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
8017
8018         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
8019           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
8020
8021         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
8022
8023         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
8024         underlining now handled by Pango.
8025
8026         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
8027         to RCStyle and Style. (Having both this and the old font name and GdkFont 
8028         is temporary.)
8029
8030         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
8031         convenience functions for creating contexts and layouts for widgets.
8032
8033         * gtk/testgtk.c: Enhance label tests with multilingual labels.
8034
8035 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
8036
8037         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
8038         titles to be active, even if they aren't visible.
8039         (gtk_clist_column_titles_passive):  Ditto.
8040
8041 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
8042
8043         * gtkmenu.c:
8044         * gtkmenu.h:
8045         * gtktypeutils.h: Spelling/grammar fixes in comments.
8046
8047 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
8048
8049         * gdk/nanox/*.h: add missing header files.
8050
8051 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
8052
8053         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
8054         send_event to TRUE.
8055         (gtk_drawing_area_size): queue a resize.
8056
8057 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
8058
8059         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
8060         the handlers, also invalidate them. bug nailed down by Karl Nelson
8061         <kenelson@ece.ucdavis.edu>.
8062
8063 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
8064
8065         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
8066         "(nil)" foundries, patch from Grigorios Magklis.
8067
8068         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
8069         on non-available fonts, based on a patch by Grigorios Magklis
8070         <maglis@cs.rochester.edu>.
8071
8072 2000-05-18  Elliot Lee  <sopwith@redhat.com>
8073
8074         * gdk/x11/gdkregion-generic.c: If a region does not have any
8075         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
8076         instead of GDK_OVERLAP_RECTANGLE_IN.
8077
8078 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
8079
8080         * gtk/gtklayout.c (gtk_layout_map): Remove references to
8081         OFFSCREEN, as it is no longer necessary.
8082
8083 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
8084
8085         * gtk/gtkcolorsel.c: Patch from David Santiago
8086         <mrcooger@cyberverse.com> to change things so that the 
8087         indicator of the active palette entry is done independently,
8088         not via the focus, since it should always be visible.
8089
8090 2000-05-17  Tor Lillqvist  <tml@iki.fi>
8091
8092         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
8093         refcount leaks as in the X11 backend.
8094
8095         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
8096         cosmetics.
8097
8098         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
8099         backend. Add _gdk_windowing_window_destroy().
8100
8101         * gtk/gtkcolorsel.c: Include correct backend-specific header.
8102         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
8103         either, but these probably do exist on nanox?)
8104         
8105         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
8106         which isn't necessarily defined by <math.h>.
8107
8108         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
8109         ancestry past GtkObject.
8110
8111         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
8112         from DLL on Win32.
8113
8114         * gtk/gtk.def: Update corresponding to recent changes.
8115
8116         * gtk/makefile.{cygwin,msc}: Updates.
8117
8118 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
8119
8120         * docs/Changes-1.4.txt: A bit of editing.
8121
8122         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
8123         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
8124         to clear the update area for the window, and clear it
8125         when hiding a window.
8126
8127         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
8128         if window destroyed.
8129
8130         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
8131
8132         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
8133         gdk_window_destroy() to the generic code, since there was a lot of 
8134         window-system-independent logic it in. Add a function:
8135         
8136          _gdk_window_destroy() 
8137
8138         to the internal API to destroy a window without unreferencing it.
8139         Add a function:
8140
8141          _gdk_windowing_window_destroy()
8142
8143         That does the windowing-system-dependent part of destroying 
8144         the window.
8145
8146 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
8147
8148         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
8149
8150 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
8151
8152         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
8153         Make gtk_widget_shape_combine_mask() keep a reference count on
8154         the pixmap since it keeps it around.
8155
8156 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
8157
8158         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
8159         leak.
8160
8161         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
8162         leak with event filters.
8163
8164 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
8165
8166         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
8167         signal handlers with the right data arguments. (Fixes
8168         some warnings when a widget was repeatedly set as a drag
8169         destination.)
8170
8171         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
8172         window so we can avoid avoid setting the DND properties on the
8173         toplevel window repeatedly.
8174
8175 2000-05-13  Tor Lillqvist  <tml@iki.fi>
8176
8177         * gdk/win32/gdkwin32.h: Define more message types missing from
8178         mingw headers.
8179
8180         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
8181         call gdk_window_destroy_notify(). It was never called. This
8182         probably meant that the GdkWindow was never freed. Thanks Owen for
8183         noticing (!).
8184
8185         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
8186         window as destroyed before calling DestroyWindow(). DestroyWindow()
8187         causes a call to the window procedure (gdk_WindowProc), which
8188         calls gdk_event_translate(), which calls
8189         gdk_window_destroy_notify(), which gets confused unless the window
8190         is set as destroyed.
8191
8192         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
8193         this function to indicate it's win32 only. Put inside #ifdef
8194         G_ENABLE_DEBUG.
8195
8196         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
8197         debugging function. (gdk_event_translate:) Add a default branch
8198         that uses the above function to print debug messages with all
8199         Windows messages symbolically.
8200
8201         * gdk/win32/gdkprivate-win32.h: Declare it, and
8202         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
8203
8204 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
8205
8206         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
8207         public header file.
8208
8209 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
8210
8211         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
8212
8213         * gtk/gtktext.c: made the adjustments no-construct args, simply
8214         provide default adjustments.
8215         (gtk_text_destroy): release adjustments.
8216
8217         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
8218         adjustment argument non-construct.
8219
8220         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
8221         instead of in finalize.
8222         (gtk_progress_get_text_from_value): 
8223         (gtk_progress_get_current_text): 
8224         (gtk_progress_set_value): 
8225         (gtk_progress_get_percentage_from_value): 
8226         (gtk_progress_get_current_percentage): 
8227         (gtk_progress_set_percentage): 
8228         (gtk_progress_configure): ensure an adjustment is present.
8229
8230 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
8231
8232         * gtk/gtkcolorsel.[hc]:
8233         * gtk/gtkcolorseldialog.[hc]:
8234         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
8235         their parent implementation, use bit fields for boolean values, don't
8236         create unused widgets, usage of glib types, braces go on their own
8237         lines, function argument alignment, #include directives etc. etc. etc..
8238
8239         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
8240
8241 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
8242
8243         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
8244
8245         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
8246         of NULL.
8247
8248         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
8249         to freed data.
8250         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
8251
8252         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
8253         to NULL when the toplevel is getting destroyed.
8254         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
8255         (gtk_menu_destroy): 
8256         (gtk_menu_init): store the information of whether we have to
8257         readd the initial child ref_count during destruction in a new
8258         GtkMenu field needs_destruction_ref_count.
8259
8260         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
8261         here, those reading: learn from my mistake! ;)
8262         in order for set_?adjustment to support a default adjustemnt if
8263         invoked with an adjustment pointer of NULL, the code read (pseudo):
8264         if (v->adjustment) unref (v->adjustment);
8265         if (!adjustment) adjustment = adjustment_new ();
8266         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
8267         now imagine the first unref to actually free the old adjustment and
8268         adjustment_new() creating a new adjustment from the very same memory
8269         portion. here, the latter comparision will unintendedly fail, and
8270         all hell breaks loose.
8271         (gtk_viewport_set_hadjustment):
8272         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
8273         after unreferencing it.
8274
8275         * gtk/gtkcontainer.[hc]: removed toplevel registration
8276         functions: gtk_container_register_toplevel(),
8277         gtk_container_unregister_toplevel() and
8278         gtk_container_get_toplevels() which had wrong semantics
8279         anyways: it didn't reference and copy the list.
8280
8281         * gtk/gtkwindow.c: we take over the container toplevel registration
8282         bussiness now. windows are registered across multiple destructions,
8283         untill they are finalized. the initial implicit reference count
8284         users are holding on windows is removed with the first destruction
8285         though.
8286         (gtk_window_init): ref & sink and set has_user_ref_count, got
8287         rid of gtk_container_register_toplevel() call. add window to
8288         toplevel_list.
8289         (gtk_window_destroy): unref the window if has_user_ref_count
8290         is still set, got rid of call to
8291         gtk_container_unregister_toplevel().
8292         (gtk_window_finalize): remove window from toplevel list.
8293         (gtk_window_list_toplevels): new function to return a newly
8294         created list with referenced toplevels.
8295         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
8296
8297         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
8298         adjustment a non-construct arg.
8299         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
8300         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
8301         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
8302
8303         * gtk/gtkrange.c: added some realized checks.
8304         (gtk_range_destroy): get rid of the h/v adjustments in the
8305         destroy handler instead of finalize. remove timer.
8306         (gtk_range_get_adjustment): demand create adjustment.
8307
8308         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
8309         we simply create them on demand now and get rid of them in
8310         the destroy handler.
8311         (gtk_viewport_destroy): get rid of the h/v adjustments in the
8312         destroy handler instead of finalize.
8313         (gtk_viewport_get_hadjustment): 
8314         (gtk_viewport_get_vadjustment): 
8315         (gtk_viewport_size_allocate): demand create h/v adjustment
8316         if required.
8317
8318         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
8319         gtk_widget_real_destroy () functionality.
8320         (gtk_widget_real_destroy): reinitialize with a new style, instead
8321         of setting widget->style to NULL.
8322
8323 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
8324
8325         * gtk/gtkcalendar.c:
8326         * gtk/gtkbutton.c: ported _get_type() implementation over to
8327         GType, either to preserve memchunks allocation facilities,
8328         or because Gtk+ 1.0 GtkTypeInfo was still being used.
8329
8330         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
8331         over. prepare for ::destroy to be emitted multiple times.
8332         removed reference tracer magic. chain into GObjectClass.shutdown()
8333         to emit ::destroy signal.
8334
8335         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
8336         fundamental.
8337
8338         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
8339         cludge.
8340
8341         * gtk/gtksocket.c:
8342         * gtk/gtkplug.c:
8343         * gtk/gtklayout.c:
8344         * gtk/gtklabel.c:
8345         * gtk/gtkargcollector.c:
8346         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
8347         not being a fundamental anymore, and to work with the new
8348         type system (nuked fundamental type varargs clutter).
8349
8350         * gtk/*.c: install finalize handlers in the GObjectClass
8351         part of the class structure.
8352         changed direct GTK_OBJECT()->klass accesses to
8353         GTK_*_GET_CLASS().
8354         changed direct object_class->type accesses to GTK_CLASS_TYPE().
8355
8356         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
8357         GType. made most of the GTK_*() type macros and Gtk* typedefs
8358         simple wrappers around macros and types provided by GType.
8359         most notably, a significant portion of the old API vanished:
8360         GTK_TYPE_MAKE(),
8361         GTK_TYPE_SEQNO(),
8362         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
8363         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
8364         GTK_TYPE_ARGS,
8365         GTK_TYPE_CALLBACK,
8366         GTK_TYPE_C_CALLBACK,
8367         GTK_TYPE_FOREIGN,
8368         GtkTypeQuery,
8369         gtk_type_query(),
8370         gtk_type_set_varargs_type(),
8371         gtk_type_get_varargs_type(),
8372         gtk_type_check_object_cast(),
8373         gtk_type_check_class_cast(),
8374         gtk_type_describe_tree(),
8375         gtk_type_describe_heritage(),
8376         gtk_type_free(),
8377         gtk_type_children_types(),
8378         gtk_type_set_chunk_alloc(),
8379         gtk_type_register_enum(),
8380         gtk_type_register_flags(),
8381         gtk_type_parent_class().
8382         replacements, where available are described in ../docs/Changes-1.4.txt.
8383         implemented compatibility functions for the remaining API.
8384
8385         * configure.in: depend on glib 1.3.1, use gobject module.
8386
8387 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
8388
8389         * TODO.xml: Various updates to current status.
8390
8391 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
8392
8393         * gtk.m4: Print out version when test succeeds.
8394
8395 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
8396
8397         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
8398         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
8399         
8400         (Original triangle color selector from Simon Budig
8401         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
8402         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
8403         Santiago <mrcooger@cyberverse.com>)
8404
8405         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
8406         out into a separate widget.
8407
8408         * gtk/testgtk.c: Add some checkbuttons for toggling palette
8409         and opacity controls.
8410
8411 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
8412
8413         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
8414         snuck in prematurely.
8415
8416 2000-05-07  Tor Lillqvist  <tml@iki.fi>
8417
8418         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
8419         had deleted a ! operator by mistake, which caused
8420         GDK_SELECTION_CLEAR events never to be generated, which caused
8421         only the first copy to the clipboard from an gtkeditable to
8422         actually cause a copy to the Windows clipboard.
8423
8424 2000-05-06  Tor Lillqvist  <tml@iki.fi>
8425
8426         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
8427         compilation, too. Current mingw gcc distributions include the
8428         necessary headers. Also the necessary IIDs are now in mingw
8429         headers/libraries, and own definitions unnecessary.
8430
8431         More hacking on OLE2 DND, still doesn't work though, and thus
8432         ifdeffed out.
8433
8434         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
8435         here, too.
8436
8437 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
8438
8439         * gdk/nanox/*: nano-X port work in progress.
8440         * gdk/simple.c: simple test for Gdk.
8441         * README.nanox: notes about the port: read this first!
8442         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
8443         with nano-X.
8444
8445 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
8446
8447         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
8448         gdk_window_clear() into common code, implement in terms of
8449         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
8450         not redirected to the backing rectangle.
8451
8452 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
8453
8454         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
8455         EXTRA_DIST. It does not work well when the file that
8456         everything depends on is not in the tarball.
8457
8458 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
8459
8460         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
8461         with recursion where process_updates() is called from
8462         an expose handler. (GtkTextView is highly broken in
8463         doing this, but it should work, so it is a nice test
8464         case.)
8465
8466 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8467
8468         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
8469         handle the case where updates are queued during processing of
8470         updates.
8471
8472 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
8473
8474         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
8475         window is on gdk_display - use that instead of segfaulting.
8476
8477 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
8478
8479         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
8480         broken and require an empty arg, give it to them.
8481
8482 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
8483
8484         * gtk/gtklabel.h: indentation fixes.
8485
8486 2000-05-02  Tor Lillqvist  <tml@iki.fi>
8487
8488         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
8489         draw too narrow or too low arcs, they seem to fail, at least with
8490         some display drivers.
8491
8492         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
8493
8494         Large changes to the Win32 backend, partially made necessary by
8495         the changes to the backend-independent internal
8496         structures. Attempts to implement similar backing store stuff as
8497         on X11. The current (CVS) version of the Win32 backend is *not* as
8498         stable as it was before the no-flicker branch was merged. A
8499         zipfile with that version is available from
8500         http://www.gimp.org/win32/. That should be use by "production"
8501         code until this CVS version is usable. (But note, the Win32
8502         backend has never been claimed to be "production quality".)
8503
8504         * README.win32: Add the above comment about versions.
8505
8506         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
8507
8508         * gdk/gdk.def: Update.
8509
8510         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
8511         presumably be replaced by some more better mechanism as 1.4 gets
8512         closer to release shape.
8513
8514         * gdk/makefile.{cygwin,msc}: Update.
8515
8516         * gdk/win32/*.c: Correct inclusions of the backend-specific and
8517         internal headers. Change code according to changes in these. Use
8518         gdk_drawable_*, not gdk_window_* where necessary.
8519
8520         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
8521         our old DND.
8522
8523         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
8524         to interpret single characters as UTF-8. Thanks to Hans Breuer.
8525         Use correct function name in warning messages.
8526
8527         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
8528         GSourceFuncs gdk_event_prepare and gdk_event_check.
8529         (gdk_event_get_graphics_expose): Do implement, use
8530         PeekMessage. Thanks to Hans Breuer.
8531         (event_mask_string): Debugging function to print an GdkEventMask.
8532         (gdk_pointer_grab): Use it.
8533
8534         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
8535         (old) book I used claimed was Hangul actually is CJK Unified
8536         Ideographs Extension A. Also, Hangul Syllables were missing.
8537         Improve logging.
8538
8539         * gdk/win32/gdkgc-win32.c: Largish changes.
8540
8541         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
8542         g_win32_getlocale() from GLib, and not setlocale() to get current
8543         locale name.
8544
8545         * gdk/win32/gdkprivate-win32.h
8546         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
8547         gdkwin32.h, similarily as in the X11 backend.
8548
8549         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
8550         assignment was used instead of equals in if test. Thanks to Hans
8551         Breuer.
8552
8553         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
8554         the X11 version.
8555
8556         * gdk/win32/makefile.{cygwin,msc}
8557         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
8558         path to the Win32 headers that works also with the mingw compiler.
8559
8560         * gtk/gtkstyle.c: Include <string.h>.
8561
8562 2000-04-26  Havoc Pennington  <hp@redhat.com>
8563
8564         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
8565         replacing the broken gtk_label_get ()
8566
8567 2000-04-15  Havoc Pennington  <hp@pobox.com>
8568
8569         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
8570         this keeps scanner scripts from getting confused.
8571
8572         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
8573         data, rather than void
8574
8575 2000-04-15  Tor Lillqvist  <tml@iki.fi>
8576
8577         * gtk/gtkclist.c (gtk_clist_motion)
8578         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
8579         with is_hint FALSE, get x and y from the event. They used to be
8580         used uninitialised. The Win32 backend never sends motion events
8581         marked as hints. This for instance fixes the annoying file and
8582         font selector behaviour in the Win32 version.
8583
8584 2000-04-14  Tor Lillqvist  <tml@iki.fi>
8585
8586         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
8587         gtk_private_n_signals variables, they are used by some software,
8588         sigh.
8589
8590         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
8591         installation directory from the Registry, where the installer
8592         should have put it.
8593
8594 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
8595
8596         * gdk/x11/Makefile.am: Fix problem with installation directory for
8597         gdkx.h
8598
8599         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
8600         <mrcooger@cyberverse.com> so that when selecting menus with the
8601         mouse, the first item will not be selected, but when selecting
8602         with an accelerator, or navigating left-right on a menubar with
8603         the menus popped up, the first item will be selected.
8604
8605 2000-04-05  Dan Damian  <dand@dnttm.ro>
8606
8607         * configure.in: Added "ro" to ALL_LINGUAS.
8608
8609 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
8610
8611         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
8612         indentation.
8613
8614         * Makefile.am (EXTRA_DIST): Fix typo.
8615
8616         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
8617         to catch gdkconfig.h
8618
8619         * gtk/gtkitemfactory.c: Added FIXME.
8620
8621 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
8622
8623         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
8624         s/return_if_fail/return_val_if_fail/g and add a return value.
8625
8626 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
8627
8628         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
8629         merge slipup.
8630
8631         * gdk/gdkinput.h: Fix missing line from merge.
8632
8633 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
8634
8635         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
8636         instead of gdkprivate.h.
8637
8638 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
8639
8640         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
8641         parent class to correctly be GtkDialogClass.
8642
8643 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
8644
8645         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
8646         toplevel windows and their immediate children by their parents,
8647         since the size of toplevel windows is out of our immediate
8648         control and we don't get any real benefit from trying to track
8649         this size for clipping.
8650
8651         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
8652         for input_only windows.
8653
8654         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
8655         to fix some hacks and make sure that we don't try to set the
8656         background of input only windows.
8657
8658 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
8659
8660         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
8661         the _really_ internal stuff, and leave gdkprivate.h for the fake private
8662         stuff that we've traditionally exposed.
8663
8664         * gdk/**.c: Use gdkinternals.h where appropriate.
8665
8666         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
8667         not include gdkprivate-x11.h, move all stuff of conceivable public
8668         interest into gdkx.h; keep all really private stuff in
8669         uninstalled header gdkprivate-x11.h.
8670
8671         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
8672         image->image_put on windows through a new function _gdk_window_draw_image()
8673         to allow us to do backing store for images. (Sort of ugly)
8674
8675         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
8676         contexts locally so that we can offset them properly when drawing 
8677         onto backing pixmaps.
8678
8679         * gdk/gdkinput.h: Reindented
8680
8681         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
8682         pixmap or color for the window, so we can properly initialize
8683         our double-buffer pixmaps, and also so that we temporarily set
8684         a background of None while scrolling.
8685
8686         * gdk/gdkregion.h: Revise region boolean operators to have an
8687         interface that is actually convenient - switch from creating new
8688         regions on every op, to "methods" that modify existing regions
8689         (A = A OP B). 3 argument forms which allow dest == src, would also
8690         be possible, but the current interfaces seem to map nicely
8691         onto what needs to be done. (There is quite a lot of region
8692         code in GDK now.)
8693
8694         * gdk/gdkregion.h: Add constructor from rectangle and a copy
8695         operator.
8696
8697         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
8698         gdkpoly-generic.h: Copy region code from Xlib, switch it over
8699         to 32 bit coordinates, modify it to be mostly GTK+ style
8700         and to have interfaces that match gdkregion.h.
8701
8702         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
8703         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
8704         create a backing pixmap and redirect all drawing to
8705         that backing pixmap until a matching gdk_window_end_paint().
8706
8707         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
8708         Create a special drawable class for GtkWindow's that 
8709         redirects the drawing to the backing pixmap as necessary
8710         and then calls the real operations in _gdk_windowing_window_class.
8711
8712         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
8713         Store invalid region for each window. Generate expose events for invalid
8714         region in an idle. This replaces both the expose compression
8715         and the redrawing queuing in GTK+. It is both more efficient and
8716         simpler than either one individually and far more so then the
8717         combination.
8718
8719         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
8720         Emulate 32 bit coordinates for windows with 16 bit coordinates
8721         by offsetting drawing, guffaw scrolling techniques and
8722         mapping/unmapping child windows as necessary.
8723
8724         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
8725         where, when invalid regions are processed, the region is stored,
8726         and if expose events come in that are detectably duplicate
8727         the processed exposes (by comparison of event serial numbers),
8728         the stored region is subtracted out of those exposes.
8729
8730         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
8731         regions newly exposed when scrolling or resizing windows.
8732         This, combined with forcing processesing of queued invalidated
8733         regions, gives nice flicker-free scrolling.
8734
8735         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
8736         invalidated regions after every scroll.
8737
8738         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
8739         emulation in GDK. Its, for all practical purposes just a
8740         GtkViewport/GtkFixed hybrid now.
8741
8742         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
8743         (16-bit) structures as necessary instead of just casting.
8744
8745         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
8746         in terms of the structures from gdkregion-generic.c, using appropriate
8747         offsets from GDK to X11 coordinates. Cache clip mask and
8748         origin and ts origin locally and only flush to the server
8749         when drawing, to avoid constantly setting and resetting these
8750         values when offsetting GC's for scrolling and backing pixmaps.
8751
8752         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
8753
8754         * gtk/gtkcontainer.c: Call process_all_updates at end
8755         of resizing to reduce flicker. (Avoids having redraw
8756         lag arbitrarily behind resize under some circumstances)
8757
8758         * gtk/gtkentry.c: Remove old backing store code, and simply take
8759         advantage of the new backing store capabilities of GDK.
8760
8761         * gtk/gtkmain.c: Simple implementation of widget backing
8762         store - simply push a paint while handling each expose.
8763         (Should really be configurable widget for widget.)
8764         
8765         * gtk/gtkwidget.c: Remove all the old complicated redraw
8766         code, and simply invalidate the GDK windows from
8767         gdk_window_queue_clear(), etc. (Sigh, so much carefully
8768         debugged complexity ... gone to the winds.)
8769
8770         Remove all the code for suppressing expose events while
8771         resizes are pending; this isn't needed since the invalid
8772         areas won't be processed until after the resizes are
8773         processed, since they are in a lower priority idle.
8774
8775 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
8776
8777         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
8778         and height of dest rectangle for non-intersecting rectangles.
8779
8780 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
8781
8782         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
8783         for GdkRectangle.
8784
8785 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
8786
8787         * gdk/gdk{events,image,private,types,window}.h
8788          gdk/x11/gdkinputprivate.h: Change all coordinates
8789          from int16 to int. Also, Change width and height from
8790          unsigned to signed to avoid all the stupid C 
8791          signedness bugs.
8792
8793 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
8794
8795         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
8796         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
8797         Add some more detailed checking.
8798
8799         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
8800         New function to retrieve the depth of a drawable.
8801
8802         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
8803         field, reorder fields to save memory. 
8804
8805 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
8806
8807         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
8808         of the background image instead of scaling the background down to
8809         a line.
8810
8811         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
8812         which temporarily set slider to wrong size.
8813
8814         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
8815         queue_clear().
8816
8817 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
8818
8819 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
8820
8821         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
8822
8823 2000-03-17  Tor Lillqvist  <tml@iki.fi>
8824
8825         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
8826         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
8827
8828         * gdk/win32/gdkfont-win32.c
8829         * gdk/win32/gdkproperty-win32.c
8830         * gdk/win32/gdkselection-win32.c
8831         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
8832         now declared such.
8833
8834 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
8835
8836         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
8837
8838 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
8839
8840         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
8841         is called without trapping X errors.
8842
8843 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
8844
8845         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
8846         way into the fontset lists.
8847
8848 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
8849
8850         * gtk/gtkthemes.h: add extern "C" scope.
8851
8852 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
8853
8854         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
8855         to make appends to the list constant. (gtk-guy-990901-0.patch)
8856
8857 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
8858
8859         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
8860         for the typename hash table.
8861
8862 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
8863
8864         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
8865         to make sure we never divide by zero. 
8866         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
8867
8868 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
8869
8870         * gtk/gtkfontsel.c: Apply patch from
8871         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
8872         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
8873
8874         Also, some cleanups in atom handling.
8875
8876 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
8877
8878         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
8879         not GtkWidget.
8880
8881 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
8882
8883         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
8884         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
8885         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
8886         more guint wrap-around bugs before going to bed.
8887
8888 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
8889
8890         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
8891         guint wrap arounds in allocation.width.
8892
8893         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
8894         process untill we fit the allocation given.
8895
8896 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
8897
8898         * gtk/gtkwidget.c:
8899         (gtk_widget_unrealize): guard widget access with ref/unref
8900         around signal emission.
8901         (gtk_widget_hide): same here, but also check its destroyed
8902         state before queueing a resize.
8903
8904 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
8905
8906         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
8907         of gtk_default_insensitive_bg as insensitive base color.
8908
8909         * gtk/gtktext.c (gtk_text_style_set): set the background color according
8910         to the widget's state.
8911         (gtk_text_realize): same here.
8912         (gtk_text_state_changed): same here.
8913         (draw_bg_rect): compare background color against base[] from
8914         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
8915
8916 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
8917
8918         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
8919         grabs are active, unless a delete event is send to the toplevel
8920         of the currently grab holding widget.
8921
8922 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
8923
8924         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
8925         debugging g_print's.
8926
8927 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
8928
8929         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
8930         ever make the scrolled-window requisition ever depend on the 
8931         visibility state of the scrollbars for the AUTOMATIC policy. 
8932         This breaks the GTK+ requisition model, and causes loops.
8933
8934 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
8935
8936         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
8937         the default font to avoid problems with XFree86-4.0 where the
8938         default charset is iso10646-1, not iso8859-1.
8939
8940 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
8941
8942         * acinclude.m4
8943         * config.guess
8944         * config.sub
8945         * ltconfig
8946         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
8947
8948         * gtk/Makefile.am: minor cosmetic consistency tweak
8949
8950 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
8951
8952         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
8953         the activate_time to 0, so that we handle a quick
8954         press/release press/release properly and don't suppress
8955         the second release. (Red Hat bug #7545)
8956
8957 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
8958
8959         * gtk/gtkctree.c (row_delete):
8960         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
8961         bugs with destruction notifier, *always* update internal
8962         structures *before* calling user code.
8963
8964 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
8965
8966         A few more fixes for bug #5487, #2051, #2677.
8967         * gtk/gtkclist.c : 
8968         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
8969         not GDK_BUTTON_PRESS.
8970         (resync_selection): resync only if selection_mode is
8971         GTK_SELECTION_EXTENDED
8972         * gtk/gtkctree.c (resync_selection): same here
8973
8974 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
8975
8976         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
8977         gdk_drag_get_selection() and gtk_menu_detach().
8978
8979         [ From Jeroen Ruigrok/Asmodai ]
8980
8981 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
8982
8983         * gtk/gtknotebook.c (gtk_notebook_size_request): 
8984         page->tab_label can be NULL.
8985
8986 2000-01-25  Havoc Pennington  <hp@pobox.com>
8987         
8988         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
8989         arg is boolean
8990
8991         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
8992
8993         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
8994
8995         * gdk/gdkproperty.c (gdk_property_get): return boolean
8996
8997         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
8998
8999         * gdk/gdkim.c (gdk_im_ready): return boolean
9000
9001         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
9002
9003         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
9004         glib clash, should fix glib)
9005
9006         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
9007         (gdk_get_show_events): return gboolean, and canonicalize 
9008         to TRUE/FALSE
9009
9010         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
9011         colormap is private
9012         (gdk_colors_alloc): gboolean whether to be contiguous
9013         (gdk_color_equal): return gboolean since we are a predicate
9014         and not a qsort() (this looks semi-wrong due to glib breakage,
9015         IMO glib should be fixed)
9016         
9017         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
9018         (gdk_get_use_xshm): return gboolean
9019         (gdk_pointer_is_grabbed): return gboolean
9020
9021         * gdk/gdk.h: Change prototypes to match all the above changes,
9022         and re-run egtk-format-protos as required.
9023
9024 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
9025
9026         * gtk/gtkctree.c (resync_selection): 
9027         * gtk/gtkclist.c (resync_selection):
9028
9029         Return immediately if clist->drag_pos < 0. This is a workaround
9030         for the corrupt state that the clist gets into when a
9031         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
9032
9033         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
9034         
9035         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
9036         variable from recent commit.
9037
9038 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
9039
9040         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
9041
9042 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
9043
9044         * gtk/Makefile.am: prefix all autogenerated source that get build in
9045         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
9046         in builddir. since we subsequently cd into srcdir for autogeneration,
9047         the paths have to be stripped from the target file names, thusly we
9048         use $(@F) as target names now.
9049         put a comment about configure.in's --disable-rebuilds option,
9050         which can be used for non-writable source directories, for development
9051         setups though, srcdir has to be *writable*.
9052
9053 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
9054
9055         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
9056           Finish the job of allowing event to be NULL.
9057           (Fixes bug #4283, reported by Chris Blizzard)
9058
9059         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
9060           things so that the cursor appears on screen, properly
9061           take into account INNER_BORDER.
9062           (Fixes bug #4754, reported by Antonio Campos)
9063
9064 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
9065
9066         * gtk/gtknotebook.c (gtk_notebook_map): Don't
9067           show the tab_label unless it itself is visible.
9068
9069           gtk/gtknotebook.c (gtk_notebook_size_request):
9070           Do a better job of making sure that the visibility
9071           of the tab label corresponds to whether it should
9072           be mapped or not.
9073
9074 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
9075
9076         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
9077           Use the requisition, not the allocation, since the
9078           allocation has not necessarily been computed yet.
9079           (Pointed out by Eugene Osintsev)
9080
9081 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
9082
9083         * gtk/gtkstyle.c (gtk_style_new): Dont' set
9084           style/base[GTK_STATE_INSENSITIVE] both to
9085           gtk_default_insensitive_bg!
9086           (Bug #2187, reported by Jonathan Blandford)
9087
9088         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
9089           Add Alt_L, Alt_R to list of invalid accelerators.
9090           (Bug #3736, reported by Vlad Harchev)
9091
9092 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
9093
9094         * gtk/gtkfilesel.c (open_ref_dir): Fix several
9095         bugs which occured after an attempt to open 
9096         invalid home directory left cmpl_state->reference_dir == NULL.
9097
9098          - completion on files in home directory didn't work
9099          - completion on an empty string caused  segfault
9100
9101          (Bug #3678, reported by Steve Ratcliffe)
9102
9103         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
9104         cut and paste error that was causing scales to
9105         be incorrectly positioned.
9106         (Bug #2956,
9107          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
9108
9109 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
9110
9111         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
9112         when checking for dcgettext, if we've found we needed
9113         it for dgettext.
9114 +
9115 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
9116
9117         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
9118         queue_clear on NO_WINDOW widgets during a reparent,
9119         since at that point the window and widget heirarchies
9120         are out of sync. This stops crashing in some cases
9121         (the scrolled window reparent test, for instance), and
9122         _probably_ won't cause drawing errors.
9123
9124         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
9125         test do what it was supposed to do and be robust against
9126         window closings, etc. (Bug #2443)
9127
9128 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
9129
9130         * gtk/gtkentry.c: Fix return values on mouse events.
9131         (Bug #2686, Sky <seb_sky@yahoo.com>)
9132
9133         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
9134         (pointed out by George Lebl)
9135
9136         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
9137         (From Ettore Perazzoli  <ettore@helixcode.com>)
9138  
9139 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
9140
9141         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
9142         clicks between rows or outside calender area correctly.
9143         (Patch from Damon Chaplin)
9144
9145         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
9146         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
9147           Call destroy function when overwriting existing data. 
9148           (Pointed out by Damon Chaplin)
9149
9150 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
9151
9152         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
9153           which was causing problems on various systems with Xmu.
9154           This hasn't been needed for a very long time.
9155           (Fixes #1185 3167)
9156
9157 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
9158
9159         * gdk/gdki18n.h: Include <ctype.h> when defining
9160           gdk_isw* in terms of is* as a fallback.
9161           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
9162
9163 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
9164
9165         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
9166           realize the widget when it is size allocated!
9167           (old, old bug)
9168
9169         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
9170           Removed unused call to gdk_window_get_size() that
9171           showed up when the above was fixed.
9172
9173 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
9174
9175         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
9176           fix up widget->window when the widget is a
9177           NO_WINDOW container widget.
9178
9179 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
9180
9181         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
9182           to account for the fact that feof() does _not_ 
9183           return TRUE on errors, and thus avoid infinite loops
9184           when trying to use gdk_pixmap_create_from_xpm()
9185           on unreadable values.
9186
9187 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
9188
9189         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
9190
9191 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
9192
9193         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
9194           gdk_gc_set_dashes to take gint8 instead of gchar to
9195           make it clearer that it is _not_ a NULL terminated string.
9196
9197         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
9198           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
9199           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
9200           arguments.
9201
9202 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
9203
9204         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
9205         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
9206         background size relative to our allocation, guard against small
9207         allocations, we may have not yet been size allocated.
9208
9209 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
9210
9211         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
9212         not just version == 3. We implement all 3 + most of 4 - 
9213         (we don't support matching text/plain;charset=iso-8859-1
9214         to a dest that expects text/plain). We'll still advertise
9215         3 to be safe, but any client implementing version >= 3
9216         must interoperate with 3.
9217         
9218 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9219
9220         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
9221         background and gc members, add a warning in gtk_tooltips_set_color()
9222         indicating that this function is deprecated.
9223
9224 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
9225
9226         * docs/gtkfaq.sgml: FAQ Update:
9227           - Minor cleanups (Emmanuel, me)
9228           - New questions:
9229                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
9230                 How can I retrieve the text from a GtkMenuItem? (timj)
9231                 How do I validate/limit/filter the input to a GtkEntry? (me)
9232                 Memory does not seem to be released when I free the list
9233                         nodes I've allocated (timj)
9234
9235 2000-03-07  Tor Lillqvist  <tml@iki.fi>
9236
9237         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
9238         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
9239         for which it is no use to call GetLastError onWin9x.
9240         (gdk_other_api_failed) New function, for general error
9241         reporting without calling GetLastError.
9242         (gdk_win32_api_failed) OTOH, this function always calls
9243         GetLastError. (gdk_win32_last_error_string) Remove this function,
9244         GLib has the equivalent now.
9245
9246         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
9247         call them with function name, file name and line number in the
9248         arguments.
9249
9250         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
9251         functions.
9252         
9253         * gtk/gtk.def: Add some missing entry points.
9254
9255         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
9256         gtk_paned_set_gutter_size, which don't exist any longer, as void.
9257         
9258         Fixes by Hans Breuer:
9259
9260         * gdk/makefile.msc: Update for debugging.
9261
9262         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
9263         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
9264         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
9265         in the dash_list.
9266
9267         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
9268         the x11 backend.
9269
9270         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
9271
9272         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
9273
9274 2000-03-04  Tor Lillqvist  <tml@iki.fi>
9275
9276         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
9277         just pixel value of background colour.
9278
9279         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
9280         containing code snippet previously duplicated in a couple of
9281         places.
9282         
9283         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
9284         gdk_colormap_color.
9285
9286         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
9287         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
9288         events for autorepeated Shift, Control and Alt keys. Use
9289         gdk_colormap_color.
9290
9291         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
9292         pointer is inside the window the cursor of which we are setting,
9293         call SetCursor immediately.
9294
9295         * gdk/win32/makefile.cygwin
9296         * gtk/makefile.cygwin: If we don't have the build number stamp
9297         file, use zero.
9298
9299         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
9300         gtk_paned_set_gutter_size as empty.
9301
9302         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
9303         
9304 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
9305
9306         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
9307           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
9308           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
9309           docs/gtk_tut.sgml docs/gtk.texi TODO:
9310
9311           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
9312
9313 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
9314
9315         * gtk/gtkcalendar.c: Implement num_marked_dates,
9316           and don't emit mutiple day_selected signals on
9317           month_prev.
9318
9319 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
9320
9321         * docs/make-todo (lineno): let title and logo be configurable so
9322         that GNOME can use this script too.
9323
9324         * TODO.xml: added logourl and a title
9325
9326 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
9327
9328         * TODO.xml: Added some UI items, and an explanatory
9329         comment at the top of the file.
9330
9331 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
9332
9333         * TODO.xml: some updates, added abunch of new entries.
9334         a note for those fiddeling with this file, when done
9335         with it, invoke:
9336         $ ./docs/make-todo TODO.xml >/dev/null
9337         and correct output errors before comitting changes.
9338
9339 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
9340
9341         * TODO.xml: Added XML-structured TODO file.
9342         * docs/make-todo: python script to turn TODO.xml into
9343           pretty XML output. 
9344
9345 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
9346
9347         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
9348         the function to let it draw the seven dots, instead of the old,
9349         much maligned, method.
9350         (draw_dot): New function to draw a dot.
9351
9352         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
9353         to draw the handle inside the border width as opposed to outside.
9354         Use paint function instead of gdk_draw_point.
9355
9356         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
9357         to draw the handle inside the border width as opposed to outside.
9358         Use paint function instead of gdk_draw_point.
9359
9360         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
9361         Change indenting to be more GTK like.
9362
9363 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
9364
9365         * docs/gtk_tut.sgml: New section on GtkCalendar
9366         * examples/calendar: Update example code
9367
9368 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
9369
9370         * docs/gtkfaq.sgml: FAQ Update
9371
9372 2000-02-19  Anders Carlsson  <andersca@gnu.org>
9373
9374         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
9375         to prevent the scroll event to be propagated upwards.
9376
9377 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
9378
9379         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
9380         OwnerGrabButtonMask from button entries for
9381         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
9382
9383         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
9384         to the event mask (which will result in button/press release
9385         being added to the event mask on Unix) so scrolling works
9386         for layouts in scroll windows.
9387
9388         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
9389
9390         Patch from Anders Carlsson  <andersca@gnu.org> to add
9391         a scroll event.
9392
9393         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
9394         scrolling to the "Test Scrolling" part of testgtk.
9395  
9396         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
9397  
9398         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
9399         it against GDK_SCROLL.
9400  
9401         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
9402         way of mouse wheel scrolling.
9403  
9404         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
9405  
9406         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
9407  
9408         * gtk/gtkmain.c: Removed previous mouse wheel hack.
9409  
9410         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
9411         gdk_event_mask_table.
9412  
9413         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
9414         GdkEventScroll handler.
9415  
9416         * gdk/gdkevents.h: Added GdkEventScroll structure.
9417  
9418 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
9419
9420         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
9421         and Anders Carlsson to change the Paned widgets so that they
9422         can be dragged from anywhere along the length. Also change
9423         the way that this is drawn to make this apparent.
9424
9425         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
9426         from George Lebl to check that option_menu->menu is present
9427         before getting history.
9428
9429 2000-02-14  Tor Lillqvist  <tml@iki.fi>
9430
9431         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
9432         before the assertion for non-NULL segment list.
9433
9434         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
9435         Seems that pattern brushes *must* be 8x8 pixels! At least on my
9436         machine, but it might be display driver dependent. Sigh, so make
9437         sure the stipple is that size. Does Windows suck or what?
9438
9439         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
9440         places.
9441
9442 2000-02-13  Havoc Pennington  <hp@pobox.com>
9443
9444         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
9445         refcount to 1
9446         (gdk_cursor_new): init refcount to 1
9447
9448         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
9449
9450 2000-02-13  Tor Lillqvist  <tml@iki.fi>
9451
9452         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
9453         so that we don't have to do unnecessary settings to the HDC.
9454
9455         * gdk/win32/gdkdrawable-win32.c
9456         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
9457         gdk_gc_predraw.
9458
9459         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
9460         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
9461         GDI paths, call WidenPath to get the outline of the stroken path,
9462         and then fill the outline (with the brush that was built from the
9463         stipple).
9464
9465         * gdk/win32/gdkgc-win32.c: Factor out common code from
9466         _gdk_win32_gc_new and gdk_win32_gc_set_values into
9467         gdk_win32_gc_values_to_win32values. Use correct colour for
9468         SetBkColor() (Until now the code actually used a random colour in
9469         the call to SetBkColor()... but that didn't show up as not many
9470         GDI APIs use the background colour. Pattern (opaque stippled)
9471         brushes do.)
9472
9473         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
9474         gdk_win32_api_failed): New functions for error logging.
9475
9476         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
9477         WIN32_API_FAILED to call them, passing function or file name and
9478         line number.
9479
9480         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
9481
9482         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
9483         GdkColor for foreground and background in GdkGCWin32Data.
9484
9485         * gdk/makefile.cygwin: Link in the resource object separately.
9486
9487         * gdk/win32/rc/gdk.rc
9488         * gtk/gtk.rc (New file)
9489         * gdk/win32/makefile.cygwin
9490         * gtk/makefile.cygwin: Update build number in DLLs automatically,
9491         as in GLib.
9492
9493 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
9494
9495         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
9496         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
9497         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
9498         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
9499         parameters given and cursor->ref_count. coding style fixups.
9500
9501         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
9502         not GtkWidget.
9503         
9504         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
9505         fix up widget macros and add _GET_CLASS() variant.
9506         
9507         * gtk/*.c: some GtkType fixups.
9508
9509 2000-02-09  Tor Lillqvist  <tml@iki.fi>
9510
9511         * gdk/win32/gdkproperty-win32.c
9512         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
9513         were reversed.
9514
9515 2000-02-04  Tor Lillqvist  <tml@iki.fi>
9516
9517         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
9518         g_filename_to_utf8 to convert the font names Windows gives us from
9519         whatever is the default codepage to UTF-8.
9520         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
9521         in the other direction.
9522
9523         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
9524         error in debugging output.
9525
9526 2000-02-02  Tor Lillqvist  <tml@iki.fi>
9527
9528         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
9529         and height parameters to gdk_window_clear_area(). Not minus one.
9530
9531 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
9532
9533         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
9534         checks if the widget passed to gtk_drag_get_data() was not the
9535         dest widget.
9536
9537 2000-02-01  Tor Lillqvist  <tml@iki.fi>
9538
9539         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
9540         g_filename_from_utf8 functions (which were added a moment ago to
9541         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
9542         size buffers.
9543
9544         gtk_file_selection_get_filename returns the filename in the C
9545         runtime encoding. It calls g_filename_from_utf8, but copies the
9546         returned string to a static buffer, which is returned. I think
9547         this is better than returning the result from g_filename_from_utf8
9548         directly, which would mean all apps that use it would have to free
9549         the return value. Or should this function care about this issue at
9550         all? Maybe a new function with clearly defined semantics.
9551
9552         * gtk/gtkfilesel.h: Add comment about
9553         gtk_file_selection_get_filename returning the filename in the C
9554         runtime's encoding.
9555
9556         * README.win32
9557         * gdk/gdk.def
9558         * gdk/makefile.{cygwin,msc}
9559         * gtk/gtk.def: Updates.
9560
9561         * gdk/gdkcursor-win32.c: Initialise refcount.
9562
9563 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
9564
9565         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
9566
9567 2000-01-30  Havoc Pennington  <hp@pobox.com>
9568
9569         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
9570         destroy
9571
9572         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
9573
9574         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
9575         implemented in platform-specific code
9576
9577         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
9578
9579         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
9580         underscore in front
9581
9582         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
9583         put an underscore in front
9584
9585         * gdk/gdkcursor.c: new file, implements
9586         gdk_cursor_ref/gdk_cursor_unref
9587
9588         * gdk/gdkcursor.h: Refcount GdkCursor
9589
9590         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
9591
9592 2000-01-29  Tor Lillqvist  <tml@iki.fi>
9593
9594         * gdk/gdkwindow.h
9595         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
9596
9597 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
9598
9599         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
9600         structures to properly inherit from GtkWidget not GtkBin.
9601
9602 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
9603
9604         * gtk+.spec.in: Added lib/gtk+/include/* to %files
9605         (bug #5178 - Peter Wainright)
9606         
9607         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
9608         so that it will be installed.
9609         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
9610
9611 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
9612
9613         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
9614         for the GtkStyleClass vtable const.
9615
9616         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
9617         take a const string argument like GtkTranslateFunc. This will
9618         require changes in use code.
9619
9620 2000-01-19  Tor Lillqvist  <tml@iki.fi>
9621
9622         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
9623         semantics (to mimic the X11 backend, which just calls XClearArea)
9624         is to check for zero width (and height), and in that case use the
9625         window's width minus x (height minus y). This fixes for instance
9626         some redraw problems with gtkclist, which were easily noticeable
9627         in the gtk file selection widget.
9628
9629         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
9630         windows.
9631
9632 2000-01-13  Tor Lillqvist  <tml@iki.fi>
9633
9634         * configure.in
9635         * gdk/Makefile.am
9636         * gdk/x11/Makefile.am
9637         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
9638         (bug #5177).
9639         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
9640         out later.
9641
9642 2000-01-09  Tor Lillqvist  <tml@iki.fi>
9643
9644         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
9645         WM_MOVE for iconified or invisible windows. This fixes various
9646         problems when minimising windows. Thanks to Bernd Herd.
9647
9648 2000-01-05  Tor Lillqvist  <tml@iki.fi>
9649
9650         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
9651         backend's draw_lines method, not draw_points.
9652
9653 2000-01-02  Tor Lillqvist  <tml@iki.fi>
9654
9655         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
9656         before Owen's reorganisation: Don't have queued_events and
9657         queued_tail statics in this file, but use gdk_queued_events and
9658         gdk_queued_tail. This makes exposure event compression work again.
9659
9660         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
9661         seem to be needed?
9662
9663 1999-12-30  Tor Lillqvist  <tml@iki.fi>
9664
9665         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
9666         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
9667         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
9668         doesn't do anything.
9669
9670         * gdk/gdk.def: Add gdk_xid_table_insert.
9671
9672         * gdk/win32/gdkprivate-win32.h
9673         * gdk/win32/gdkevents-win32.c
9674         * gdk/win32/gdkinput-win32.c
9675         
9676         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
9677         extension_events field in the GdkWindowWin32Data struct. Use only
9678         the extension_events field in GdkWindowPrivate. Previously one was
9679         set, and the other one tested, which broke tablet
9680         functionality. Thanks to Keishi Suenaga for pointing this out.
9681
9682 1999-12-18  Tor Lillqvist  <tml@iki.fi>
9683
9684         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
9685         When handling a single character (text length == 1), don't handle
9686         it as if it was UTF-8.
9687
9688 1999-12-11  Tor Lillqvist  <tml@iki.fi>
9689
9690         * Makefile.am: Distribute README.win32.
9691         
9692         * gdk/Makefile.am
9693         * gdk/win32/Makefile.am: Distribute Win32 files.
9694
9695         * gdk/makefile.msc: New file.
9696
9697         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
9698         after label).
9699
9700         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
9701         gdk_error_code as GDKVAR, as they are referred outside GDK.
9702
9703         * gdk/win32/makefile.msc: Update.
9704
9705         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
9706         tweaks. Check only if at least one of those Unicode subrange bits
9707         we care for is set. If no code page bits are set, guess (wildly)
9708         based on the charset.
9709
9710         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
9711
9712         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
9713         non-NULL.
9714
9715         * gtk/gtkdnd.c
9716         * gtk/gtklayout.c
9717         * gtk/gtkplug.c
9718         * gtk/gtkselection.c
9719         * gtk/gtksocket.c
9720         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
9721         appropriate. There must be a cleaner way to handle this?
9722
9723         * gtk/gtkrc.c: Must include windows.h on Win32.
9724
9725         * gtk/testgtk.c: No need to include gdkx.h.
9726
9727         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
9728
9729 1999-12-07  Tor Lillqvist  <tml@iki.fi>
9730
9731         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
9732         the rbearing is set to the same as the width, but this should be
9733         fixed.
9734
9735 1999-12-06  Tor Lillqvist  <tml@iki.fi>
9736
9737         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
9738         function. If Windows doesn't tell us what Unicode subranges a font
9739         covers, guesstimate based on the codepages it covers. This will
9740         hopefully help those Windows versions or fonts that don't give us
9741         any useful Unicode subrange information with GetTextCharsetInfo.
9742         Call this function in gdk_font_load_internal.
9743
9744         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
9745         minor changes.
9746
9747 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
9748
9749         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
9750         New function, long needed.
9751
9752 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
9753
9754         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
9755         only_if_exists argument of gdk_atom_intern to
9756         bool.
9757
9758 1999-11-25  Tor Lillqvist  <tml@iki.fi>
9759
9760         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
9761         Fix two copy&paste errors.
9762
9763         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
9764         win32 has changed.
9765
9766         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
9767         GdkWin32SingleFont struct.
9768
9769         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
9770         subranges of loaded fonts. Clear font signature first, in case
9771         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
9772         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
9773
9774         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
9775         Unoffset clip region.
9776
9777 1999-11-23  Tor Lillqvist  <tml@iki.fi>
9778
9779         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
9780         event->any.window before calling filter functions.
9781
9782 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
9783
9784         * gtk/gtkgamma.h: Adapt cast macros to standard.
9785
9786 [ Merges from 1.2 ]
9787
9788 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
9789
9790         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
9791         If translation does not include a '/', use entire
9792         translation instead of crashing.
9793
9794 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
9795
9796         * docs/gtk_tut.sgml:
9797         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
9798
9799 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
9800
9801         * gtk/gtkselection.c (gtk_target_list_remove): Use
9802         g_list_remove_link, not g_list_remove.
9803
9804         [ From Geert Bevin <gbevin@thunderstorms.org> ]
9805         
9806 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
9807
9808         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
9809         statement upon unselection (how the heck did that slip in?).
9810
9811 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
9812
9813         * gtk/gtktext.c (gtk_text_freeze): 
9814         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
9815         in frozen state (and aparently crashes). patch provided by Anders
9816         Melchiorsen <and@kampsax.dtu.dk>.
9817
9818 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
9819
9820         * fix insensitive default/focus widget activation,
9821         reported by Matt Goodall <mgg@isotek.co.uk>.
9822
9823         * gtk/gtkwindow.c (gtk_window_key_press_event): 
9824         (gtk_window_activate_default):
9825         (gtk_window_activate_focus):
9826         return handled=FALSE for actiavtion of insensitive default
9827         widgets. return handled=TRUE for activation of insensitive
9828         focus widgets. don't activate in either case.
9829
9830 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
9831
9832         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
9833         and $glib_cflags to match library order and in the
9834         theory that an old version of GLib is more likely to
9835         be in the include directory for X then vice-versa.
9836         (Bug #2776)
9837
9838 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
9839
9840         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
9841         to determine the locale for fontsets, not LC_MESSAGES;
9842         the user may want English messages with a handling
9843         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
9844         will still be broken) (Bug #2891)
9845
9846 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
9847
9848         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
9849
9850 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
9851
9852         * gtk/gtkrc.ko: Changed the Korean default fontset.
9853
9854 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
9855
9856         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
9857         where when scrolling to the left or top double exposes
9858         were done, causing major slowdowns.
9859
9860 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
9861
9862         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
9863         names to lowercase and alphanumeric, before looking
9864         them up.
9865
9866         * gtk/Makefile.am: Install codeset variant gtkrc files
9867         with normalized names.
9868
9869 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
9870
9871         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
9872         popup menus when the menu is already visible, but its parent
9873         is still hidden, (happens after tornoff window got hidden).
9874
9875 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
9876
9877         * gtk/Makefile.am (install-data-local): Fix
9878         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
9879         deleted, causing error messages on install.
9880
9881 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
9882
9883         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
9884         the handle as well, since we now sometimes ignore
9885         exposes on the handle while resizing.
9886
9887 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
9888
9889         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
9890         extra g_free introduced in one of the last one or two 
9891         commits.
9892
9893 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
9894
9895         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
9896         consistent, put each style that a gtkrc.* file creates
9897         in a unique namespace, remove old files before installing.
9898
9899 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
9900
9901         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
9902         gtk_rc_init is called multiple times. (Yes, people who
9903         do that have bugs in their code.)
9904
9905 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
9906
9907         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
9908         Remove it since it's generated by the Makefile anyway
9909
9910 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
9911
9912         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
9913         device->info.axes for core pointer.
9914
9915 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
9916
9917         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
9918         idle_id, to deal with obsolete, broken C libraries.
9919
9920 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
9921
9922         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
9923         allocation->x/y twice!
9924
9925         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
9926         consistent with gtk_vscale_pos_trough().
9927
9928 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
9929
9930         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
9931         be queueing a resize on a toplevel container between
9932         the time we show it and when we map it. So, we need
9933         to test GTK_WIDGET_VISIBLE() for toplevels, and only
9934         use GTK_WIDGET_DRAWABLE() for child windows.
9935
9936 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
9937
9938         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
9939         (fixes bug #2144)
9940
9941 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
9942
9943         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
9944         container DRAWABLE (instead of VISIBLE), so we don't queue
9945         resizes on non-toplevel containers.
9946
9947 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
9948
9949         * gtk/gtkselection.[ch]: Make the data argument
9950         const guchar *.
9951
9952 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
9953
9954         * gtk/gtkwindow.c: Try to behave sensibly if 
9955         the focus widget is the window itself. (Should
9956         we allow this at all?)
9957
9958 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
9959
9960         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
9961         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
9962         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
9963         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
9964         in prototypes and implementations consistent (Tomas Ogren).
9965
9966         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
9967         before the widget is unparented (reported by damon).
9968
9969         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
9970         since we provide unsigned data anyways.
9971
9972 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
9973
9974         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
9975         the call to gtk_tooltips_layout_text() until later.
9976
9977         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
9978         Call gtk_widget_ensure_style() before using the style.
9979
9980 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
9981
9982         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
9983         for old widgets that don't propagate draws to all
9984         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
9985
9986 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
9987
9988         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
9989         for a redraw but just the widget that requested the resize.
9990
9991 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
9992
9993         * gtk/gtkcontainer.c: added new widget level method
9994         gtk_container_set_reallocate_redraws() and a GtkContainer flag
9995         reallocate_redraws : 1 to reflect the setting, exported this through
9996         the argument system as a boolean ::reallocate_redraws.
9997
9998         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
9999         on the widget because the allocation changes, do so as well for
10000         widget->parent if the parent has reallocate_redraws set to TRUE.
10001         with that containers requesting reallocation redraws get automatically
10002         redrawn if their children changed allocation (this unfortunately
10003         affects also other children that didn't change allocation, but we
10004         cannot work around that before 1.3).
10005
10006 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
10007
10008         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
10009         _and_ height are >0 (not _or_).
10010
10011         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
10012         instead of gtk_container_queue_resize(), which is a core gtk internal
10013         function (must have been on crack when i queued that).
10014
10015         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
10016         we can check more reliably if we want to discard expose events.
10017         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
10018         flag.
10019         
10020         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
10021         we simply trust these events. for deciding whether to discard exposes,
10022         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
10023         
10024 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
10025
10026         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
10027         queues of areas that are completely off screen.
10028
10029         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
10030         logic for handleboxes.
10031
10032         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
10033         check on width/height.
10034
10035 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
10036
10037         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
10038         we are fine with using $@ the way we do (if we actually encounter
10039         brokeness with $@ in VPATH builds because of additional path prefixes,
10040         we need to use $(@F) actually).
10041
10042 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
10043
10044         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
10045         short lived bugs, that would allow language bindings to do surgeries
10046         to our guts.
10047
10048 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
10049
10050         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
10051         where comparison was being done against an uninitialized
10052         value causing intermittant results depending on
10053         compiler flags. Also make it clearer that we aren't
10054         ever initializing the child as 0x0 (though this will
10055         be caught in gtk_widget_size_allocate())
10056
10057 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
10058
10059         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
10060         gtk_window_unset_transient_for() call after we do checks
10061         involving the old transient parent.
10062         [ From Lance Capser <lmc@cyberhighway.net> ]
10063
10064 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
10065
10066         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
10067         an empty file.
10068
10069 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
10070
10071         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
10072         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
10073
10074 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
10075
10076         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
10077         `$@' is valid only in the build dir, not after we've done 
10078         `cd $srcdir'.  Also use `test -f' instead of less portable
10079         `test -e'.
10080
10081 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
10082
10083         * gtk/gtktext.c (correct_cache_insert): Rewrite
10084          for simplicity, and hopefully correctness.
10085          (Fixes bug #1322, which was a segfault when
10086           on some insertions with the properties around
10087           the insertion set up just wrong.)
10088
10089         * gtk/gtktext.c (gtk_text_adjustment): When we receive
10090          a "changed" signal, clamp the new value to the adjustment
10091          bounds to avoid segfaulting if someone tries to change
10092          the adjustment to a bogus value. (Bug #1795)
10093
10094 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
10095
10096         * gtk/gtkmain.c: Ignore unexpected destroy notifies
10097         for children, for toplevel windows handle them
10098         like delete_event.
10099
10100         * gtk/gtkplug.c: Add an unrealize handler so that
10101         we unref plug->socket_window when we are done
10102         with it.
10103
10104 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
10105
10106         * gtk/gtktext.c (clear_area): Fix stupid signedness
10107          problem that was causing background to sometimes
10108          be misaligned.
10109
10110 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
10111
10112         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
10113         
10114         * gtk/gtkmenu.c (gtk_menu_position): Make
10115          sure we never position menus with negative x, y,
10116          since gtk_widget_set_uposition() can't handle that.
10117
10118         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
10119          Modify the positioning code a bit so that we always
10120          put the top-left corner onscreen. (This is for
10121          UI reasons, gtk_menu_position() now takes care of
10122          gtk_widet_set_uposition() brokeness.)
10123
10124 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
10125
10126         * gtk/Makefile.am: fixed up things for -jx, x > 1.
10127
10128 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
10129
10130         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
10131           RC style that is passed in. The lack of the ref
10132           before was a bug. If people worked around this
10133           bug, this will introduce a slight memory leak
10134           in their code. The code should typically look like:
10135
10136             rc_style = gtk_rc_style_new ();
10137             [...]
10138             gtk_widget_modify_style (widget, rc_style);
10139             gtk_rc_style_unref (rc_style);
10140
10141         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
10142           the style if it was already set.
10143
10144         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
10145           style if it was set before.
10146
10147 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
10148
10149         * gtk/testgtk.c (main): Add a check to see if we
10150           are being run from the correct directory and
10151           to quit nicely if we are not.
10152
10153         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
10154           static.
10155
10156 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
10157
10158         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
10159
10160         * gtk/gtkwindow.c:
10161         queue resizes unconditionally (gtk_widget_queue_resize will figure
10162         what to do if the window is not realized).
10163         (gtk_window_move_resize): only recenter the window
10164         for GTK_WIN_POS_CENTER_ALWAYS.
10165         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
10166         the same way as GTK_WIN_POS_CENTER.
10167
10168 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
10169
10170         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
10171         with (!(info->last_flags & GDK_HINT_POS)) instead of
10172         (!info->last_flags & GDK_HINT_POS).
10173
10174         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
10175         new_height unconditionally, because we use these values even if
10176         !default_size_changed && !hints_changed.
10177         comented the (default_size_changed || hints_changed) case with
10178         respect to resize rejects from the window manager.
10179
10180         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
10181         in the zvt condition hack, since this includes the window hints, set
10182         the hints after the handling_resize case.
10183
10184         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
10185         window is initially shown with to the geometry.
10186
10187 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
10188
10189         * gtk/gtkwindow.c (gtk_window_move_resize):
10190         s/size_changed/default_size_changed/g so i know what's
10191         really going on (frying brain on smaller flame now).
10192
10193 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
10194
10195         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
10196         we have size_changed upon handling_resize. this is a gross
10197         workaround for the broken zvt widget and should be removed in
10198         1.3 again (search for FIXME).
10199         Owen provided an accurate comment for this:
10200
10201         /* We could be here for two reasons
10202          *  1) We coincidentally got a resize while handling
10203          *     another resize.
10204          *  2) Our computation of size_changed was completely
10205          *     screwed up, probably because one of our children
10206          *     is broken. It's probably a zvt widget.
10207          *
10208          * For 1), we could just go ahead and ask for the
10209          * new size right now, but doing that for 2)
10210          * might well be fighting the user (and can even
10211          * trigger a loop). Since we really don't want to
10212          * do that, we requeue a resize in hopes that
10213          * by the time it gets handled, the child has seen
10214          * the light and is willing to go along with the
10215          * new size. (this happens for the zvt widget, since
10216          * the size_allocate() above will have stored the
10217          * requisition corresponding to the new size in the
10218          * zvt widget)
10219          *
10220          * This doesn't buy us anything for 1), but it shouldn't
10221          * hurt us too badly, since it is what would have
10222          * happened if we had gotten the configure event before
10223          * the new size had been set.
10224          */
10225
10226 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
10227
10228         * gtk/gtkrc.c: deal properly with the fact that RC
10229           style lists may include rc styles more than once.
10230
10231         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
10232           unused static function.
10233
10234         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
10235           stack of directories of RC files currently being
10236           parsed and implicitely add them to pixmap path.
10237           
10238           This fixes a bug where the directory would get
10239           appended then overwritten by pixmap_path declarations.
10240
10241           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
10242
10243         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
10244           theme's exit function. (Patch from Peter Wainwright,
10245           bug #1454)
10246
10247         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
10248           Add a destroy() handler to take care of removing
10249           group for menu item. (Fixes bug #1197)
10250
10251         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
10252           in warning message.
10253
10254 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
10255
10256         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
10257         roundtrip to figure window's width and height, since we know that
10258         anyways from widget->allocation.
10259
10260 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
10261
10262         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
10263           the hints after we request the new size.
10264
10265 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
10266
10267         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
10268           GTK_WIDGET_REALIZED() assertion - we can compute the
10269           hints before we are realized.
10270
10271         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
10272           hint changing so that we have a value of hints_changed
10273           when we decide whether to constrain the window size.
10274
10275         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
10276
10277         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
10278         change back to G_MAXINT.
10279
10280 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
10281
10282         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
10283         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
10284         contain uncluttered values.
10285         (gtk_window_compute_hints): simply assert that window is realized
10286         and that geometry_info is valid, since we rely on this anyways.
10287         (gtk_window_constrain_size): major cleanups to the code.
10288         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
10289         for the base size, instead of the minimums. use 32767 as max width
10290         and height (like in gtkwindow.c) instead of G_MAXINT.
10291
10292 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
10293
10294         * cleaned up the GtkContainer.need_resize flag handling mess, we
10295         only need to force resize requests when we were prematurely
10296         realized, or our widget tree was modified when we were temporarily
10297         hidden. handling these cases directly upon showing the window (i.e.
10298         while the GdkWindow is still unmapped) avoids the need to wait for
10299         a configure event response and therefore makes the GUI more snappier
10300         and avoids blank windows during the roundtrip.
10301
10302         * gtk/gtkwidget.c:
10303         (gtk_widget_hide): 
10304         (gtk_widget_show): don't queue resizes on toplevels, they know how
10305         to deal with matters.
10306
10307         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
10308         flag directly for not visible resize containers and spare us unecessary
10309         signal emissions.
10310
10311         * gtk/gtkwindow.c:
10312         (gtk_window_realize): if we need to enforce premature size allocation,
10313         queue a container resize so we are correctly resized later on.
10314         (gtk_window_init):
10315         (gtk_window_size_request):
10316         don't freak around with the ->need_resize flag,
10317         gtk_container_queue_resize() will care about that.
10318         (gtk_window_show):
10319         handle initial resizing issues here, we can handle matters better in
10320         this place, especially since we know that our GdkWindow is still
10321         unmapped.
10322         (gtk_window_move_resize):
10323         don't care about ->need_resize at all.
10324         handle size changes properly that occoured while we waited for a
10325         configure event.
10326
10327 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
10328
10329         * gtk/gtkwidget.c (gtk_widget_set_uposition):
10330         * gtk/gtkwindow.[hc] (gtk_window_reposition):
10331         Move the hint setting code from gtk_widget_set_uposition
10332         to here; set the hints so that we respect any previously
10333         set geometry hints.
10334
10335         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
10336         change the window hints here or move the window here,
10337         let that happen in gtk_window_move_resize().
10338
10339 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
10340
10341         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
10342         to already queued resizes (and therefore redraws) on a widget, check
10343         its anchestry as well.
10344
10345         * gtk/gtkcontainer.c:
10346         (gtk_container_queue_resize): clear resize widgets for resize
10347         containers before aborting prematurely. this is especially important
10348         for toplevels which may need imemdiate processing or their resize
10349         handler to be queued.
10350         (gtk_container_dequeue_resize_handler): added new internal function for
10351         gtkwindow.c.
10352
10353         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
10354         configure event, take possible changes in window position into account
10355         as well.
10356         if we request a new window size, queue up a resize handler that will
10357         last until the configure event response arrives.
10358         combined the ->need_resize case (initial show) with the general size
10359         (hints) changed case and added even more comments.
10360         if !auto_shrink, only revert to the old allocation if the new size
10361         is smaller than the current allocation.
10362
10363 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
10364
10365         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
10366                            gtk_window_set_geometry_hints
10367                            gtk_window_set_default_size):
10368         When hints are set, queue a resize so that the hints will
10369         be eventually reset on the toplevel.
10370
10371         * gtk/gtkwindow.c (gtk_window_show): Use
10372         gtk_window_compute_default_size(). Clear the need_resize flag
10373         on the initail map so that we don't unnecessarily trigger the
10374         resize code.
10375
10376         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
10377         into separate functions. Compare the hints we are setting
10378         with what we set last time so that we can accurately
10379         tell when we need to reset the hints.
10380
10381         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
10382         function to figure out the size from requisition
10383         and default_size.
10384
10385         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
10386         from fvwm to constrain a size to the geometry hints.
10387
10388         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
10389         to compare two sets of geometry hints.
10390
10391         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
10392         from gtk_window_set_hints(), just compute the hints,
10393         don't set them.
10394
10395         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
10396         code from gtk_window_move_resize() to separate function,
10397         rationalize a bit.
10398
10399 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
10400
10401         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
10402         structure into a new private structure.
10403
10404         * gtkrc.c: Split GtkRcStyle into public/private.
10405         In the private part, add a list of pointers to the
10406         RcStyle lists this RcStyle participates in.
10407
10408         * gtkrc.c: When a RcStyle is free, remove all
10409         lists referencing it from the 
10410         realized_style_ht hash, and free those lists.
10411         
10412         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
10413         gtk_rc_init(), since that adds the default styles
10414         to the list of parsed RC files again.
10415
10416         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
10417         
10418 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
10419
10420         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
10421         checks that ensure that a widget's allocation is at least 1 in width
10422         and height. (GNOME note: this doesn't affect old panel code anymore,
10423         because GtkSocket will request width and height of at least 1 since
10424         Fri Jul 23).
10425
10426         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
10427         allocated yet (happens if the user realizes the window prematurely),
10428         size request and allocate it.
10429         (gtk_window_size_allocate): guard against guint underflows.
10430
10431 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
10432
10433         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
10434         in gtk_built_sources, so gtk.defs gets built prior to all other
10435         sources.
10436
10437 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
10438
10439         * gtk/Makefile.am:
10440         invoke indent on gtkmarshal.*. 
10441         rewrote source generation rules, use COPYING as oldest source tag for
10442         a piggyback rule to generate all sources from (don't touch it ;).
10443         major cleanups, strip spaces on build rules for GNU Make.
10444
10445         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
10446         source and target files from commandline arguments. don't invoke indent.
10447
10448 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
10449
10450         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
10451         notebook after switch to avoid drawing problems.
10452         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
10453         
10454         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
10455         show them instead. 
10456         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
10457
10458 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
10459
10460         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
10461         notebook after switch to avoid drawing problems.
10462         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
10463         
10464         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
10465         show them instead. 
10466         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
10467
10468 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
10469
10470         * gtk/gtkwindow.c:
10471         we use window->need_resize from configure_event now, to indicate that
10472         the gtkwindow should keep its allocation (e.g. because the user resized
10473         the window through window manager handles). resize_count is now reliably
10474         used to figure whether we got the allocation we requested from the
10475         window manager.
10476         configure events get queued as resizes now, the real stuff (size
10477         computation and allocation) now only goes on in gtk_window_move_resize().
10478         GtkWindow's requisition now contains its *real* requisition (like all
10479         other widgets), *not* taking usize into account.
10480         geometry_info->last_{width|height} is now updated from set_hints() only
10481         so it always contains the last hints we set for the window manager.
10482         made some event handlers return TRUE instead of FALSE.
10483         the overall code should be much more straight forward now, and the
10484         significant code portions are accompanied by comments now.
10485         (gtk_window_set_hints):
10486         removed requisition argument and made it
10487         fetch the requisition through gtk_widget_get_child_requisition.
10488         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
10489         does that now.
10490         (gtk_window_show):
10491         ensure that the widget is realized before calling 
10492         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
10493         ensure that we got properly size requested and allocated before
10494         realization.
10495         (gtk_window_configure_event):
10496         ignore plain window moves, or reallocate the widget tree through the
10497         resize queue otherwise.
10498         (gtk_window_move_resize):
10499         mostly rewrote this function to figure window manager hints more
10500         reliably, coalesce window moves and resizes to reduce configure events
10501         and do actuall size allocations.
10502
10503 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
10504
10505         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
10506         that have a resize pending, because a redraw is already queued for them.
10507
10508         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
10509         hack to clear resize_widgets.
10510
10511         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
10512         for resize containers prior to size allocation. (this is also a bit
10513         ugly, but avoids side effects for stopped emissions and is thus more
10514         reliable).
10515         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
10516
10517         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
10518         function from gtk_tooltips_expose, as we connect to ::expose_event
10519         *and* ::draw now.
10520
10521 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
10522
10523         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
10524         checks.
10525         (gtk_target_list_unref): Likewise.
10526
10527         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
10528
10529 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
10530
10531         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
10532         guard against division by zero. (Fixes bug #1339)
10533
10534 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
10535
10536         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
10537         Prevent the trivial leak of information of allowing
10538         word motion when the entry is not visible.
10539
10540 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
10541
10542         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
10543         modality to error dialog as well as confirmation dialogs.
10544         (Bug #1803, reported by Rosanna Wing Sze Yuen)
10545
10546 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
10547
10548         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
10549         tree->view_lines.
10550         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
10551
10552         * gtk/Makefile.am (install-data-local): Solaris apparently
10553         has various troubles with ln -f; use rm first instead.
10554         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
10555
10556 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
10557
10558         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
10559         use `cp' followed by `rm' (the `rm' was already there).
10560
10561 July 30, 1999 Elliot Lee <sopwith@redhat.com>
10562         
10563         * configure.in: Fix autoconf warnings about cross compilation by
10564         trying to provide sane defaults for AC_TRY_RUN.
10565         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
10566         put them into $(srcdir) when generated. Also add a dependency of
10567         gtksignal.h on gtkmarshal.h for -j builds. 
10568         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
10569
10570 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
10571
10572         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
10573         GDK_THREADS_{LEAVE,ENTER} pair.
10574         (From Paul Fisher <pnfisher@redhat.com>)
10575
10576 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
10577
10578         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
10579         width and height are always >0 (owen).
10580
10581 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
10582
10583         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
10584         change that assured that a widget's allocated with and height are
10585         always >1, since this breaks *buggy* panel code. unfortunately this
10586         back-breaks the gimp's color selector.
10587
10588         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
10589         allocation is always >0 in width and height, before sending the
10590         configure event; this is a *gross* hack to get the gimp back to work.
10591         
10592         * marked both cases with TODO-1.3
10593
10594 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
10595
10596         * gtk/gtktext.c: Don't display wrap indicators when
10597         text is not editable and word wrap is on.
10598
10599 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
10600
10601         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
10602         option menus here as they are not derived from menu shell, assure that
10603         the option menu has a menu we can add items to.
10604
10605 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
10606
10607         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
10608         width/height to (gint) before calculations and check against < 0 to
10609         avoid guint wraparounds.
10610
10611 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
10612
10613         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
10614         width and height is never zero. sanity check both dimensions against
10615         32767 and issue a warning if the allocation is greater than that.
10616
10617 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
10618
10619         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
10620         to g_main_pending() as well.
10621
10622 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
10623
10624         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
10625         call to g_main_iteration() - since that will regrab
10626         GTK+ lock to process events.
10627
10628 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
10629
10630         * gtk/gtkwindow.c
10631         - Regularize with the rest of GTK+ by making widget->requisition
10632           not reflect the set_usize()
10633         - Always recompute geometry hints, then check if they
10634           changed before sending them to the X server. The
10635           previous checks for changes would fail in a number
10636           of circumstances. 
10637
10638 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
10639
10640         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
10641
10642 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
10643
10644         * gtk/gtkdnd.c:
10645         - Code cleanups
10646         - Instantaneously update on modifier key presses
10647         - Allow cancellation of the drag with Escape.
10648
10649 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
10650
10651         * gtk/testgtk.c (create_handle_box): Set the policy
10652         to auto_shrink - otherwise the appearance is rather
10653         strange when flipping between horizontal and vertical.
10654
10655 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
10656
10657         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
10658         (gtk_window_set_default_size): don't change a value if it's < 0.
10659         queue a resize.
10660
10661 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
10662
10663         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
10664
10665 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
10666
10667         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
10668         add an extra "/" when concating "/" + filename.
10669         (From Matt Grossman <mattg@oz.net>)
10670
10671 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
10672
10673         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
10674         for fg_gc if we set it for drawing pixmap.
10675
10676 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
10677
10678         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
10679         
10680         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
10681         already set, call old engine's destroy function and
10682         unref the old engine.
10683
10684 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
10685
10686         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
10687
10688 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
10689
10690         * gtk/gtkaccelgroup.h: mark certain functions as internal.
10691
10692 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
10693
10694         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
10695         expand behaviour changed.
10696
10697         * gtk/gtklabel.c (gtk_label_set_pattern):
10698         (gtk_label_set_justify):
10699         (gtk_label_set_line_wrap):
10700         don't bother invoking queue_clear, the reallocation does
10701         that for us, always free_words so the upcoming resize will
10702         relayout the label's contents.
10703
10704 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
10705
10706         * applied argument implementation patches from Elena Devdariani
10707         <elena@cogent.ca>.
10708
10709         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
10710         ::space_style, ::relief
10711         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
10712         * gtk/gtkpreview.c: ::expand
10713         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
10714         * gtk/gtknotebook.c: ::homogeneous
10715         * gtk/gtklabel.c: ::wrap
10716         * gtk/gtklist.c: ::selection_mode
10717         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
10718         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
10719         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
10720         * gtk/gtkclist.c: ::sort_type
10721         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
10722         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
10723
10724 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
10725
10726         * gtk/gtkstyle.c: Removed ill-thought-out part of last
10727         comment.
10728
10729 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
10730
10731         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
10732         counting right when we have to attach a new style
10733         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
10734
10735         * gtk/gtkstyle.c: Documented the refcounting
10736         peculularities of gtk_style_attach.
10737
10738 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
10739
10740         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
10741         window types.
10742
10743         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
10744         of GTK_TOPLEVEL for creating the window.
10745
10746 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
10747
10748         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
10749         the last argument (reported by Per Winkvist).
10750         
10751 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
10752
10753         Fixes for invisible XOR lines (Frank Loemker
10754         <floemker@TechFak.Uni-Bielefeld.DE>)
10755         
10756         * gtk/gtkclist.c (gtk_clist_realize): Always use
10757         a non-zero pixel for GDK_XOR.
10758
10759         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
10760         Use GDK_INVERT instead of GDK_XOR.
10761
10762 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
10763
10764         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
10765         signals if h/voffsets differ from adjustment values.
10766         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
10767
10768 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
10769
10770         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
10771         ::selection-done emissions up to the topmost menu shell.
10772
10773 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
10774
10775         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
10776         the user data on the window before destroying it.
10777
10778         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
10779         unrealize handler to take care of destroying 
10780         notebook->panel properly. 
10781         (Bug #1198 - Morten Welinder <terra@diku.dk>)
10782
10783         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
10784         of g_new and g_realloc to stop memory leak. (Actually,
10785         we could just use g_realloc(), but I'm not 100% sure
10786         that is portable).
10787         (Bug #1196 - Morten Welinder <terra@diku.dk>)
10788
10789 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
10790
10791         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
10792
10793         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
10794         for fontsets.
10795
10796         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
10797         with bin/button confusion.
10798
10799 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
10800
10801         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
10802         and show how preselection of radio items is done.
10803
10804 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
10805
10806         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
10807         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
10808         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
10809         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
10810         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
10811         * gtk/gtktable.c (gtk_table_attach): 
10812         * gtk/gtklist.c (gtk_list_insert_items): 
10813         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
10814         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
10815         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
10816         * gtk/gtkbin.c (gtk_bin_add): 
10817         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
10818         * gtk/gtkfixed.c (gtk_fixed_put): 
10819         * gtk/gtklayout.c (gtk_layout_put):
10820         general fixups to container_add logic. always realize child if
10821         child->parent is realized, only map the child and queue a resize
10822         if child and child->parent are both visible.
10823
10824 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
10825
10826         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
10827         instead of gtk_container_foreach to walk and unrealize children, so
10828         composite children get also unrealized.
10829         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
10830         (gtk_widget_map): assert that the widget is visible (basic constrain).
10831         (gtk_widget_real_map): assert that the widget is realized (basic
10832         constrain).
10833
10834 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
10835
10836         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
10837
10838 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
10839
10840         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
10841         file for iso-8859-2 locales.
10842
10843         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
10844
10845 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
10846
10847         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
10848          (Pointed out by andy@rz.uni-karlsruhe.de and others).
10849          Remove some suspicious and useless lines. 
10850
10851 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
10852
10853         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
10854         width,height = 0, 0 to mean - here to edge of window,
10855         instead of -1, -1, since the former is all we support.
10856
10857 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
10858
10859         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
10860         when removing from quit_functions list.
10861
10862 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
10863
10864         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
10865
10866 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
10867
10868         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
10869          When redrawing characters on non-visible entry, use appropriate
10870          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
10871
10872 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
10873
10874         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
10875         from drag coordinates.
10876         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
10877         use drag_dest_cell.
10878
10879         * gtk/gtktree (drag_dest_cell)
10880         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
10881         (Bug #1129)
10882
10883 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
10884
10885         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
10886         translate_* fields.
10887         (gtk_item_factory_finalize): invoke translate_notify independant from
10888         translate_data.
10889         (gtk_item_factory_set_translate_func): likewise.
10890         (gtk_item_factory_destroy): only remove ifactory pointer from those
10891         widgets that belong to us (stupid me).
10892
10893 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
10894
10895         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
10896         rc_style list when lookup succeeeds.
10897
10898 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
10899
10900         * gtk/gtkctree.c (resync_selection): 
10901         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
10902         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
10903         bug.
10904
10905 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
10906
10907         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
10908         Add some missing GDK_THREADS_ENTER()/LEAVE around
10909         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
10910
10911 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
10912
10913         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
10914         rather than emit_by_name.
10915
10916         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
10917         on the widget across multiple signal emissions.
10918         (gtk_editable_delete_text): same here.
10919         (gtk_editable_class_init): set widget_class->activate_signal after
10920         editable_signals[ACTIVATE] has been created.
10921
10922 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
10923
10924         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
10925         position here prematurely -- we might not have the
10926         right ->min_position and ->max_position yet.
10927
10928 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
10929
10930         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
10931         Add error traps so if the other end of the connection
10932         dies, we survive.
10933
10934         * gtk/gtkselection.c (gtk_selection_notify): Clean
10935         up properly when selection property retrieval fails.
10936         
10937         * gtk/gtkselection.c (gtk_selection_request): Correctly
10938         reject SelectionRequest notifies where the handler
10939         returns no data.
10940
10941 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
10942
10943         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
10944         when we've previously highlighted.
10945
10946         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
10947         emit two "drag_leave" signals for Motif drops.
10948
10949         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
10950         back the correct status messages when dropping from
10951         Motif onto a proxy window that is rejecting the
10952         drop.
10953
10954 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
10955
10956         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
10957         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
10958         to compare two argument values. added gtk_arg_to_valueloc() to set a
10959         variable from an arg through its location (pointer).
10960
10961         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
10962         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
10963         as gfloat*, uchars are collected as guchar*, ints are collected as
10964         gint*, etc...
10965
10966 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
10967
10968         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
10969         Include <string.h> instead of <strings.h>.
10970
10971         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
10972         (actually, a lot more duplicate includes occur if
10973          you trace through the sequence of #include's)
10974         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
10975         
10976 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
10977
10978         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
10979         gtk-a-higuti-990322-[0-3]
10980
10981         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
10982         that was causing -DX_LOCALE not to work.
10983
10984         * gtk/gtkrc.c (gtk_rc_init):
10985         X_LOCALE will never have LC_MESSAGES defined
10986
10987 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
10988
10989         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
10990         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
10991
10992         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
10993         left/right as well (gtk-michael-980726-0.patch.gz).
10994
10995         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
10996         for pointer values, use gchar instead of char. fixed uline allocation
10997         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
10998         chunks instead of G_ALLOC_ONLY.
10999         (gtk_label_size_request): always alter requisition as passed and leave
11000         widget->requisition alone.
11001         (gtk_label_set_text): allow NULL strings.
11002         (gtk_label_new): likewise.
11003
11004 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
11005
11006         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
11007
11008 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
11009
11010         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
11011         *and* mapped (i.e. drawable).
11012         (gtk_bin_expose): only send exposes to drawable children.
11013
11014         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
11015         (gtk_box_expose): only send exposes to drawable children.
11016
11017         * gtk/gtkhscale.c (gtk_hscale_draw): 
11018         * gtk/gtkvscale.c (gtk_vscale_draw):
11019         hm, this is an ugly one. we first compute the size of our trough area
11020         here (window relative) and then check intersection with the draw_area
11021         which is parent relative because we're a NO_WINDOW widget, so we need
11022         to offset the trough area by allocation.x and allocation.y before the
11023         check. (this must not be done for the background area though, since
11024         that's already computed parent relative).
11025
11026 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
11027
11028         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
11029         unrealize title buttons.
11030
11031 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
11032
11033         * gtk/gtkclist.c (gtk_clist_column_title_passive)
11034         (gtk_clist_column_title_active): 
11035         only connect/disconnect to GtkWidgetClass::event to block mouse events.
11036
11037         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
11038         zero initialize event, removed superfluous gdk_window_get_pointer call
11039
11040         * gtk/gtklist.c (gtk_list_vertical_timeout)
11041         (gtk_list_horizontal_timeout): removed superfluous
11042         gdk_window_get_pointer call
11043
11044 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
11045
11046         * plugging problems reported by "Bruce Mitchener, Jr."
11047         <bruce@puremagic.com> due to a purify session.
11048
11049         * gtk/gtkstyle.c:
11050         (gtk_style_ref): 
11051         (gtk_style_unref): assert ref_count to be > 0.
11052
11053         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
11054         the requisition.
11055         (gtk_clist_set_shift): likewise.
11056
11057         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
11058         adjustments.
11059
11060         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
11061         event before sending it and set send_event to TRUE (which needs to
11062         be done for *all* synthesized events).
11063         (gtk_list_vertical_timeout): likewise.
11064
11065         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
11066         leaks.
11067
11068         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
11069         to TRUE when synthesizing events.
11070
11071 [ *** end of merges from 1.2 *** ]      
11072         
11073 1999-11-21  Tor Lillqvist  <tml@iki.fi>
11074
11075         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
11076         (or copied from gdkconfig.h.win32 on Win32, sigh).
11077
11078         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
11079
11080         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
11081
11082         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
11083
11084         * gdk/gdkconfig.h.win32: New file.
11085
11086         * gdk/win32/makefile.cygwin: Build just a static archive here.
11087
11088         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
11089         for the DLL from the static archive built above.
11090
11091         * gdk/gdk.def: Moved here from the win32 subdirectory.
11092
11093         * gdk/win32/*: Adapt for the changed private struct organisation.
11094
11095         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
11096
11097 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
11098
11099         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
11100         for wheel mice (buttons 4 and 5).
11101
11102 1999-11-18  Tor Lillqvist  <tml@iki.fi>
11103
11104         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
11105         drawables use just the pixel field in the foreground and
11106         background GdkColor of the GdkGC.
11107
11108         gdk_gc_set_{fore,back}ground() are called in the GIMP with
11109         GdkColors containing uninitialized (red,green,blue) fields, and
11110         just the pixel field filled in, and furthermore in the
11111         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
11112         It thus turns out that we really don't need to have the full
11113         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
11114         it later to have just the pixel values.
11115
11116 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
11117
11118         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
11119
11120 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
11121
11122         * docs/gtkfaq.sgml: threads example from Erik Mouw.
11123         New question on GtkLabel background colors.
11124
11125         * docs/gtk_tut.sgml:
11126           - Correct the example code callback
11127             function definitions.
11128           - Update the gtkdial example code, from Frans van Schaik.
11129           - Update setselection.c to current API.
11130
11131         * examples/Makefile examples/*/*.c: Update to code
11132         listed in tutorial.
11133
11134 1999-11-10  Tor Lillqvist  <tml@iki.fi>
11135
11136         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
11137         subrange table (from the "Developing International Software for
11138         WIndows 95 and Windows NT" book) was missing the Hangul syllable
11139         block... Get the loaded font's charset correctly.
11140
11141         (Note that this, and the other *-win32.c files, still really are
11142         the old ones, the win32 subdirectory is not ready for compilation
11143         yet after the reorg.)
11144
11145 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
11146
11147         * gtk/gtkclist.c: Fix off-by-one bug in parameter
11148         check.
11149
11150 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
11151
11152         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
11153         on results of XQueryDeviceState().
11154
11155 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
11156
11157         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
11158         we need to accesss only ->children. We need an accessor
11159         for the children.
11160
11161         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
11162         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
11163         to get rid of gdkx.h include.
11164         
11165         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
11166         and random references to 'None'.
11167
11168         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
11169         Get rid of unused #include <gdk/gdkx.h>
11170
11171         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
11172         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
11173         gdkconfig.h.
11174
11175 1999-11-08  Tor Lillqvist  <tml@iki.fi>
11176
11177         * gdk/win32/gdkdraw.c
11178         * gdk/win32/gdkfont.c
11179         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
11180         following yesterday's changes. (Unrelated to Owen's reorg.)
11181
11182 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
11183
11184         * gdk/x11/gdkinput-gxi.c: Add missing include,
11185           fix GdkWindowPrivate => GdkDrawablePrivate.
11186
11187         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
11188
11189         * gdk/x11/Makefile.am (xinput_sources): Add missing
11190         backslash to fix building with --with-xinput=none
11191
11192 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
11193
11194         Move all X specific code into the x11/ directory.
11195         Aside from shuffling things around, did the following:
11196
11197        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
11198          gdk_arg_context_* - a simple argument parsing system
11199          in the style of popt.
11200
11201        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
11202          gdk/x11/gdkprivate-x11.h:
11203          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
11204          add ->klass and ->klass_data fields. The klass_data
11205          field points to an auxilliary structure that is
11206          windowing system dependent.
11207
11208        * gdk/gdkfont.c: Make most of the measurement functions
11209          simply wrappers around gdk_text_extents().
11210
11211        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
11212          _gdk_font_strlen() function that hides the weird
11213          behavior in gtk+-1.[02] where a string is interpreted
11214          differently for 8-bit and 16-bit fonts.
11215
11216        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
11217          to store common code for synthesizing double/triple
11218          press events.
11219         
11220        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
11221          Make all the function that modify an existing GC
11222          simply wrappers around gdk_gc_set_values().
11223          
11224        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
11225          for throwing out later.
11226
11227        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
11228          GdkImagePrivate and GdkColormapPrivate to have a
11229          windowing system dependent part (GdkFontPrivateX etc.)
11230          that "derives" from the system-independent part.
11231
11232        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
11233          Got rid of the included-source-files for XInput in
11234          favor of automake conditionals. (Which didn't exist
11235          when XInput support was originally added.)
11236
11237        * gdk/gdkrgb.c: Remove the visual id from the debugging
11238          statements since that is X11 specific; print out
11239          type/depth info instead.
11240          
11241
11242 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
11243
11244         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
11245         loading duplicates of hashed fonts.
11246
11247         * gdk/gdk.c (gdk_keysym_convert_case): rename
11248         gdk_XConvertCase to gdk_keysym_convert_case, allow
11249         results to be NULL in the GTK+ style.
11250
11251         * gdk/gdkcompat.h: Started compatibility header
11252         for renames.
11253
11254 1999-11-07  Tor Lillqvist  <tml@iki.fi>
11255
11256         * gdk/win32/gdkprivate.h: New font private structures, related to
11257         fontsets.
11258
11259         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
11260         gdk_font_list_free(). On X11, will just be wrappers to
11261         XListFonts() and XFreeFontNames(). On Win32, the code previously
11262         in gtkfontsel.c is now here.
11263
11264         New function gdk_font_xlfd_create(). On X11 will get the FONT
11265         property of the font (for GDK_FONT_FONTs), or call
11266         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
11267         builds a XLFD style name from the font information in the LOGFONT
11268         struct(s).
11269
11270         New function gdk_font_xlfd_free(), which correspondingly frees the
11271         string returned by gdk_font_xlfd_create().
11272
11273         Implement fontsets on Win32. Add a function that iterates over a
11274         wide char string and calls a callback function for each substring
11275         of wide chars from the same Unicode subrange (and thus probably
11276         available in the same real font).
11277
11278         Improve the XLFD emulation a bit.
11279
11280         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
11281
11282         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
11283         Beta3, WM_IME_CHAR messages don't seem to contain the composed
11284         multi-byte char as with the Active IMM on Win9x. Oh well, handle
11285         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
11286         ImmGetCompositionStringW() to get the composed Unicode chars.
11287
11288         * gdk/win32/gdkgc.c
11289         * gdk/win32/gdkdraw.c: Changes needed because of the font private
11290         struct changes.
11291
11292         * gdk/win32/gdk.def: Add the new functions.
11293
11294 1999-11-04  Tor Lillqvist  <tml@iki.fi>
11295
11296         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
11297         get the Platform SDK to get <dimm.h>.
11298
11299         * gdk/win32/gdkevents.c: More event handling fixes and
11300         simplification. Never generate motion events with is_hint true. We
11301         used to do that on bogus grounds earlier. Windows sends
11302         WM_MOUSEMOVE messages on button events even if the mouse hasn't
11303         moved, ignore these.
11304
11305         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
11306
11307         * gdk/win32/gdkglobals.c
11308         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
11309         the TrackMouseEvent function, and use it.
11310
11311         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
11312         char before calling WideCharToMultiByte in order to get a string
11313         for the window title.
11314
11315         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
11316
11317         * gdk/win32/gdk.def: Remove obsolete functions.
11318
11319         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
11320         /nodefaultlib and /defaultlib switches.
11321
11322         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
11323
11324 1999-10-31  Tor Lillqvist  <tml@iki.fi>
11325
11326         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
11327         EuroSign).
11328
11329         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
11330         same type as GdkWChar, especially on Win32.
11331
11332         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
11333
11334         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
11335         before passing to Windows GDI for drawing etc. Convert to the
11336         system default codepage before passing to Windows as window
11337         titles.
11338
11339         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
11340         support changing input locale on the fly.
11341
11342         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
11343         on-the-fly changes. Convert incoming characters from the current
11344         codepage to Unicode (and then to a UTF-8 multi-byte string) based
11345         on the current input language. Use keysym<->Unicode mapping tables
11346         and functions borrowed from xterm sources.
11347
11348         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
11349         editions of Win9x, use the ActiveX-based Active IMM (Input Method
11350         Manager) if available. IMEs and the Active IMM are available under
11351         the disguise of Chinese, Korean and Japanese support for IE and
11352         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
11353         support is present in all editions (as long as you install it).
11354
11355         Call DispatchMessage from gdk_events_queue() (and thus
11356         gdk_WindowProc()), instead of duplicating the code in
11357         gdk_WindowProc().
11358
11359         Reworked the grab handling and propagation code, factored out
11360         duplicated code snippets into separate functions. Other cleanups,
11361         too.
11362
11363         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
11364         the <dimm.h> header describing the Active IMM.
11365
11366         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
11367         just do the same as for "single" fonts.
11368
11369         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
11370         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
11371         the new keysyms from gdkkeysyms.h.
11372
11373         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
11374         fontset, so that gtkentry uses wide characters.
11375
11376         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
11377         GTk+'s system directory "gtk+", not "gtk".
11378
11379 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
11380
11381         * docs/gtkfaq.sgml: FAQ update
11382
11383 1999-10-21  Tor Lillqvist  <tml@iki.fi>
11384
11385         * gdk/win32/gdkprivate.h: Add more font private data.
11386
11387         * gdk/win32/gdkfont.c
11388         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
11389         fonts and strings. Now works much better. You still have to
11390         have a correct font selected, though. No fontset emulation yet.
11391
11392 1999-10-19  Tor Lillqvist  <tml@iki.fi>
11393
11394         * gtk/maketypes.awk: Use G_OS_WIN32.
11395
11396         * gtk/gtk.def: Add some missing entry points. Also some non-public
11397         ones, but PyGTK porter claims to need them.
11398
11399         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
11400         built-in type generation.
11401
11402 1999-10-14  Tor Lillqvist  <tml@iki.fi>
11403
11404         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
11405         GDK_FONT_FONT fonts (which is all we have for now, we don't
11406         emulate fontsets). The X11 version uses plain XDrawString in that
11407         case, too. The string passed to gdk_draw_text_wc seems to be in
11408         fact (at least, when used by gtkentry and gtktext) either in a
11409         single-byte charset, or a DBCS. Not Unicode.
11410
11411         This fixes the problem in gtkfontsel, where even if you had
11412         selected a font with a non-Latin1 charset (windows-greek, for
11413         instance), the preview still used Latin-1 glyphs.
11414
11415         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
11416         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
11417         (gdk_font_load): Recognize the demibold etc weights, even if we
11418         don't have the corresponding constants in the headers.
11419         (gdk_font_hash_insert): Use same hash mechanism as in the X11
11420         version. Should save font resources a bit, when we don't have
11421         multiple HFONTs for the same font.
11422
11423         * gdk/win32/gdkprivate.h: Add the names field as in the X11
11424         version.
11425
11426 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
11427
11428         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
11429         X values
11430
11431 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
11432
11433         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
11434         layout support (as mentioned on
11435         http://www.jcinteractive.com/gnome-ui/software/widgets/)
11436
11437 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
11438
11439         * gtk/fnmatch.c
11440         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
11441
11442 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
11443
11444         * configure.in (ALL_LINGUAS): Added Galician (gl)
11445
11446 1999-10-05  Tor Lillqvist  <tml@iki.fi>
11447
11448         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
11449
11450         * gdk/win32/gdkcompat.c: New file, actually provide an
11451         implementation for the deprecated functions. (Just temporarily.)
11452
11453         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
11454
11455         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
11456
11457         * gdk/win32/gdk.def gtk/gtk.def: Updates.
11458
11459 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
11460
11461         * configure.in: Added "uk" to ALL_LINGUAS.
11462         
11463 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
11464
11465         * configure.in: correct checking for BeOS check
11466
11467         * gdk/gdktypes.h
11468         * gtk/fnmatch.c
11469         * gtk/gtkfilesel.c
11470         * gtk/gtkitemfactory.c
11471         * gtk/gtkmain.[ch]
11472         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
11473
11474 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
11475
11476         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
11477         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
11478         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
11479         by Bulgarian). 
11480
11481 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
11482
11483         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
11484         Fix a reference to window_private->destroyed.   
11485
11486         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
11487         (ugly) setting of an internal GdkWindow member to use
11488         a _slightly_ cleaner macro.
11489
11490         * gdk/gdkprivate.h: Split GdkWindowPrivate into
11491         GdkDrawablePrivate and GdkWindowPrivate.
11492         Add extra macros for accessing GDK_DRAWABLE_ components.
11493
11494         * *.[ch]: Massive adjustments for the above, use the
11495         new macros in a lot of places.
11496
11497 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
11498
11499         * gdk/gdktypes.h: Make GdkDrawable the base type,
11500         not GdkWindow.
11501
11502 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
11503
11504         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
11505
11506 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
11507
11508         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
11509
11510 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
11511
11512         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
11513         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
11514
11515         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
11516
11517         * docs/gtk-config.1: Now autogenerated.
11518         * docs/Changes-1.4.txt: started
11519         
11520 1999-10-03  Tor Lillqvist  <tml@iki.fi>
11521
11522         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
11523         to #ifdef also here.
11524
11525         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
11526         Owen did to the X11 backend.
11527
11528         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
11529         ScrollWindowEx when blitting inside a window, it can't be correct
11530         in the general case.
11531
11532         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
11533         WM_GETMINMAXINFO is easier.
11534
11535         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
11536         depth equal to the bitspixel value, not the visual's depth.
11537
11538         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
11539         to 24 even if the bitspixel value is 32.
11540
11541         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
11542         need to check for depth==32 when bpp==32, depth will always be 24.
11543
11544 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
11545
11546         * docs/Changes-1.4.txt: Started
11547         
11548         * gtk/Makefile.am (gdk_headers): Include all the new headers.
11549
11550         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
11551         
11552         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
11553         into C file.
11554         
11555         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
11556         header to gdkinputprivate.h.
11557
11558         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
11559         unused since before 1.2.
11560
11561 1999-09-30  Tor Lillqvist  <tml@iki.fi>
11562
11563         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
11564         expand possible hex escapes in the font family (put there by
11565         logfont_to_xlfd if the font name isn't a legal XLFD font family,
11566         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
11567         On Win32, add hex escapes here, too.
11568
11569 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
11570
11571         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
11572         to #ifdef GDK_WINDOWING_X11.
11573
11574 [ Merges from gtk-1-2 ]
11575
11576 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
11577
11578         * configure.in: fixed "GNU Make" check to pass with new make version
11579         3.77.95.
11580
11581 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
11582
11583         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
11584         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
11585         AM_PATH_GTK() macros don't get confused by the -pre1.
11586
11587 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
11588
11589         * configure.in (REBUILD): Change check for perl5
11590           to check explicitely for v >= 5.002. (5.001
11591           does not work with our scripts.)
11592
11593 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
11594
11595         * configure.in: evaluate $PERL for the perl version check. added
11596         --disable-rebuilds to give the user an option to completely disable
11597         any source autogeneration rules.
11598
11599 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
11600
11601         * configure.in: evaluate $ac_make when checking for GNU Make.
11602
11603 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
11604
11605         * docs/Makefile.am: added generation.txt.
11606
11607         * Makefile.am: require automake 1.4, build README from README.in and
11608         INSTALL from INSTALL.in in dist-hook.
11609         
11610         * README.in:
11611         * INSTALL.in: new files to autogenerate README and INSTALL from.
11612
11613         * configure.in: figure whether we have GNU Make
11614
11615         * docs/generation.txt: minor additions/corrections.
11616
11617 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
11618
11619         * docs/gtkfaq.sgml: FAQ Update
11620
11621 July 30, 1999 Elliot Lee <sopwith@redhat.com>
11622         
11623         * configure.in: Fix autoconf warnings about cross compilation by
11624         trying to provide sane defaults for AC_TRY_RUN.
11625
11626 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
11627
11628         * ltconfig
11629         * ltmain.sh: upgrade to libtool 1.3.3
11630
11631 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
11632
11633         * INSTALL: Indicate that the --with-glib= configure
11634         time flag is unsupported.
11635
11636 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
11637
11638         * docs/generation.txt: Added a file that gives
11639         documenation about the autogeneration process for
11640         various autogenerated files.
11641         
11642 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
11643
11644         * configure.in (LIBS): Look for libgmodule in the
11645         right location.
11646
11647 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
11648
11649         * docs/gtk_tut.sgml: Removed references to
11650         code examples in my directory on gtk.org as
11651         they should all be in the tutorial now.
11652
11653         * docs/gtk_tut.sgml: Added sources for dial-test
11654         and scribble-xinput programs that were previously
11655         missing.
11656
11657 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
11658
11659         * TODO: Added entry about menu keyboard navigation, removed
11660         some finished items.
11661
11662 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
11663
11664         * acinclude.m4: Standardize on func_dgettext
11665         not func_gettext, so that the checks for dgettext
11666         actually are paid attention to.
11667
11668 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
11669
11670         * configure.in (LIBS): Add $INTLLIBS into $LIBS
11671         directly, rather than repeating the checks for
11672         gettext.
11673
11674         * INSTALL: Added information about gettext and
11675         NLS support.
11676
11677         * acinclude.m4 (LIBM): Check for dgettext, not
11678         just gettext. This should hopefully fix things wrt
11679         systems with old versions of GNU gettext installed.
11680
11681 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
11682
11683         * configure.in (LIBS): Look for libgmodule in the
11684         right location.
11685
11686 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
11687
11688         * autogen.sh: add --enable-maintainer-mode
11689
11690         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
11691
11692 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
11693
11694         * docs/gtk-config.1.in:
11695           docs/Makefile.am:
11696           configure.in: gtk-config is now generated.
11697
11698         * docs/gtk-config.1: Removed, now generated.
11699
11700 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
11701
11702         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
11703         handle CreateNotify itself, still put out a debuging message for
11704         --gdk-debug=events. made the ReparentNotify debugging message more
11705         verbose.
11706         wrap xcoords translation for ConfigureEvents into an error trap,
11707         a destroy event may already be pending, and in that case, the
11708         actuall coordinate values are not at all critical.
11709
11710 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
11711
11712         * gdk/gdkcc.c: Stop leaking the color_hash all over
11713         the place. Simplify and improve the logic.
11714
11715 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
11716
11717         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
11718         for prototypes and function implementations consistent (reported
11719         by Tomas Ogren).
11720
11721 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
11722
11723         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
11724         send_event set in debugging output.
11725         (gdk_compress_exposures): default initialize the event so we don't
11726         operate on bogus values (namely send_event).
11727
11728 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
11729
11730         * gdk/gdkwindow.c: When we receive an unexpected
11731         destroy notify on one of our windows, don't just
11732         warn about it, also mark our windows as destroyed.
11733
11734 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
11735
11736         * gdk/gdkfont.c (gdk_font_hash_insert): Add
11737           name => font and name => fontset hashes. The 
11738           name => fontset hash is a _big_ win since we
11739           weren't previously caching fontsets at all and loading
11740           fontsets is expensive. The name => font hash
11741           is less of a win, but it does save us from doing
11742           repeated XQueryFont calls on the same font.
11743
11744         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
11745           list so we can remove font/fontset from hash.
11746
11747 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
11748
11749         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
11750           and slightly confusing test. [ XInternAtom (,,TRUE)
11751           will never return None ].
11752
11753 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
11754
11755         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
11756           gdk/gdkwindow.c (gdk_window_set_hints):
11757
11758         Don't omit setting the properties if flags == 0 -
11759         there may be an existing set of properties there
11760         already. (Very old bug. Would it be better to
11761         delete the property instead?)
11762
11763         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
11764           spelling error in comment.
11765
11766 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
11767
11768         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
11769           to avoid stomping over gdk_error_warnings.
11770
11771         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
11772           as (bits_per_pixel + 7) / 8. This gives the same
11773           result as before for multiples of 8, but actually
11774           a "reasonable" value for 1bit or 4bit displays.
11775
11776 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
11777
11778         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
11779         GNU Make.
11780
11781 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
11782
11783         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
11784         discarding configure events.
11785
11786 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
11787
11788         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
11789         refcount is greater than zero.
11790
11791         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
11792
11793         * gdk/gdkfont.c (gdk_font_unref): Likewise.
11794
11795         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
11796
11797         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
11798
11799 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
11800
11801         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
11802         that format 32 => sizeof(item) == 4. It really is
11803         sizeof(long).
11804
11805 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
11806
11807         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
11808         core dump at all on X IO errors, only core dump
11809         if --enable-debug for X errors.
11810
11811 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
11812
11813         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
11814         unknown window:" message. disabled ConfigureNotify discarding code,
11815         because it led to events being processed out of order.
11816
11817 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
11818
11819         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
11820
11821         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
11822         we export this function, supress error warnings and don't reset the
11823         error code in the first half of this function.
11824
11825         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
11826         code (instead of just -1) so gdk_error_trap_pop() reveals something
11827         actually informative about the error that happened.
11828
11829         * gdk/*.c:
11830         don't rely on gdk_error_code being -1 if an error occoured, but just
11831         gdk_error_code != 0.
11832
11833 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
11834
11835         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
11836         pointer *before* invoking the filter function, so we at least don't
11837         crash if a filter is removed that is currently executed. window filters
11838         *really* need to be made truely reentrant at some point.
11839
11840 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
11841
11842         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
11843         PropertyNotify debug messages.
11844
11845 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
11846         
11847         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
11848         
11849         * gdk/gdkim.c: Fix cut-and-paste errors for 
11850         x/y and PreeditAttributes/StatusAttributes.
11851
11852 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
11853
11854         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
11855         G_MAXINT to 2^16 to alleviate overflow problems in
11856         various window managers.
11857
11858 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
11859
11860         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
11861         for fontsets.
11862
11863 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
11864
11865         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
11866         Initialize size_hints.x and size_hints.y because kwm
11867         brokenly pays attention to them.
11868         (Bug #1181 -  Lars Heete <hel@admin.de>)
11869
11870 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
11871
11872         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
11873         return value of gdk_list_visuals(). 
11874         (Bug #1193 - Morten Welinder <terra@diku.dk>)
11875
11876 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
11877
11878         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
11879         XSetIMValues to (void *) when comparing to NULL, to workaround
11880         the problem of some compilers barfing since older X headers don't
11881         have the prototype for it.
11882
11883 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
11884
11885         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
11886         for pseudocolor where colormap->colors was double
11887         allocated.
11888
11889         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
11890         color value in the hash table with the pixel filled
11891         in so when we do later hash table lookups, the color
11892         value is correct.
11893         
11894 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
11895
11896         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
11897         making the call
11898
11899 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
11900
11901         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
11902         pointed out by Morten Welinder <terra@diku.dk>.
11903
11904 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
11905
11906         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
11907           default filter from the list
11908
11909 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
11910
11911         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
11912           default filter from the list
11913
11914 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
11915
11916         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
11917
11918         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
11919         g_strdup_printf instead of calcing the length separately
11920
11921 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
11922
11923         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
11924         that we don't do in many other places. (Fixing duplicate 
11925         #include of config.h)
11926
11927         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
11928         Otherwise, #ifndef XINPUT_NONE check in the latter
11929         doesn't work. (Bug #546)
11930
11931 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
11932
11933         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
11934         "None" case insensitive.
11935
11936 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
11937
11938         * gdk/gdkselection.c: 
11939         Add error traps so if the other end of the connection
11940         dies, we survive.
11941
11942 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
11943
11944         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
11945         dest_xid field into two fields - one for the window
11946         to send in messages, one to indicate the last looked
11947         up window for caching purposes. This is needed, so
11948         that Leave messages get the correct window.
11949
11950 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
11951
11952         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
11953         Fix warning created by people mucking around
11954         with the gsource API.
11955
11956         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
11957         Change mapping between GIOCondition and GdkInputCondition
11958         to match the way the Linux kernel does it. This should
11959         fix problems where closed pipes were no longer signalling
11960         GDK_INPUT_READ on systems with a native poll().
11961
11962 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
11963
11964         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
11965         explicitly for the string "None" - it is in the XPM
11966         spec and some servers treat unknown colors in odd ways
11967         (like asking the user!)
11968
11969 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
11970
11971         * gdk/gdkevents.c: made "->" into a "." of previous change so
11972         it compiles
11973
11974 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
11975
11976         * gdk/gdkevents.c (gdk_compress_exposures): Set the
11977         window field of the event structure before calling
11978         user filters.
11979
11980 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
11981
11982         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
11983         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
11984
11985 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
11986
11987         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
11988         intermediate text property - prevents major memory
11989         leak when gdk_use_mb.
11990         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
11991
11992 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
11993
11994         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
11995         gtk-a-higuti-990322-[0-3]
11996
11997         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
11998         sizeof(wchar_t) != sizeof (GdkWChar)
11999
12000         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
12001         that was causing -DX_LOCALE not to work.
12002
12003         * gtk/gtkrc.c (gtk_rc_init):
12004         X_LOCALE will never have LC_MESSAGES defined
12005
12006         * gdk/gdk.c (gdk_init_check):
12007         Remove --xim-preedit and --xim-status from argv properly.
12008
12009         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
12010         that the client window is present on the X server
12011         before we pass it to the input method.
12012
12013 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
12014
12015         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
12016         if --display is specified on the command line, than
12017         the drag window will not be created on that display.
12018         
12019 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
12020
12021         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
12022         lookups with only_if_exists == TRUE were inserting
12023         bogus values into the atom cache.
12024
12025 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
12026
12027         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
12028         then reset it to NULL.
12029
12030         * gdk/gdkcolor.c:
12031         (gdk_colors_free): 
12032         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
12033         key for g_hash_table_remove() in both functions, this prevents us
12034         from accessing possibly uninitialized portions of a GdkColor structure
12035         where we are only interested in its pixel value.
12036
12037 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
12038
12039         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
12040         font hash table, if we have a GdkFontPrivate entry for this font
12041         already, simply increment its reference count, provided by Olaf Dietsche
12042         <olaf.dietsche+list.gtk@netcologne.de>.
12043
12044 1999-09-21  Tor Lillqvist  <tml@iki.fi>
12045
12046         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
12047         just to be sure.
12048
12049         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
12050         unused variables, leftovers from the X11 version.
12051
12052         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
12053
12054         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
12055         downcase fields on X11.
12056
12057 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
12058         
12059         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
12060         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
12061
12062 1999-09-17  Tor Lillqvist  <tml@iki.fi>
12063
12064         * gdk/win32/gdk.def: Add gdk_threads_mutex.
12065
12066         * gtk/makefile.msc: Correct path to libintl.
12067
12068         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
12069         use of gint vs. int, and gint vs. gboolean in headers and
12070         definitions. Use GtkType for the *_get_type functions. Note that
12071         these changes preserve binary compatibility.
12072
12073         * gdk/gdk.c
12074         * gdk/win32/gdk.c
12075         * gdk/gdk.h: Fix inconsistencies: gint vs int.
12076
12077         * gtk/gtkmain.c
12078         * gtk/gtkclist.c
12079         * gtk/gtkmenufactory.c
12080         * gtk/gtknotebook.c
12081         * gtk/gtkwidget.c: Fix inconsistencies, also gint
12082         vs. gboolean.
12083
12084         * gtk/gtkcolorsel.[ch]
12085         * gtk/gtkcombo.[ch]
12086         * gtk/gtkdrawingarea.[ch]
12087         * gtk/gtkgamma.[ch]
12088         * gtk/gtkhandlebox.[ch]
12089         * gtk/gtkhpaned.[ch]
12090         * gtk/gtkhruler.[ch]
12091         * gtk/gtkplug.[ch]
12092         * gtk/gtkpreview.[ch]
12093         * gtk/gtkruler.[ch]
12094         * gtk/gtksocket.[ch]
12095         * gtk/gtkstatusbar.[ch]
12096         * gtk/gtktoolbar.[ch]
12097         * gtk/gtkvbbox.[ch]
12098         * gtk/gtkvpaned.[ch]
12099         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
12100         functions.
12101
12102         * gtk/gtkgamma.h: Fix bug, missing () in call of
12103         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
12104
12105 1999-09-14  Tor Lillqvist  <tml@iki.fi>
12106
12107         * gdk/gdkcolor.c (gdk_colormap_new)
12108         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
12109         colormap->colors was allocated twice.
12110
12111         * gdk/win32/gdk.c: Remove some unused stuff.
12112
12113         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
12114         colormap.
12115
12116         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
12117         * gtk/gtklabel.h (gtk_label_get_type)
12118         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
12119         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
12120         in a couple of places, not guint.
12121
12122 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
12123
12124         * configure.in,po/et.po: added Estonian language file
12125
12126 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
12127
12128         * configure.in,po/da.po: added Danish file
12129
12130 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
12131
12132         * docs/gtkfaq.sgml: Minor FAQ Update
12133
12134 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
12135
12136         * docs/gtkfaq.sgml: FAQ update
12137
12138 1999-08-27  Tor Lillqvist  <tml@iki.fi>
12139
12140         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
12141         way to get window contents continually refreshed while resizing. I
12142         didn't like the effects myself, so it's not on by default.
12143
12144         * gdk/win32/gdkprivate.h: New flag variable
12145         gdk_event_func_from_window_proc, FALSE by default.
12146
12147         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
12148         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
12149         are passed --gdk-event-func-from-window-proc.
12150
12151         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
12152         and we have am event_func, call it instead of enqueing the event.
12153
12154 1999-08-23  Tor Lillqvist  <tml@iki.fi>
12155
12156         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
12157         Kelley: Set expose_count in GdkEventExposes correctly.
12158
12159         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
12160         MULTIPLE_WINDOW_CLASSES).
12161
12162         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
12163         for bug in NT, apparently NT *does* draw the end pixel, too, in
12164         LineTo with a one-pixel pen, so we don't have to do it ourselves.
12165
12166 1999-08-21  Tor Lillqvist  <tml@iki.fi>
12167
12168         Improvements by Hans Breuer: 
12169
12170         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
12171
12172         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
12173         CS_?REDRAW flags as they cause lots of (late) redraws when "show
12174         window contents while dragging" is turned on. Allocate at least
12175         one unique class for every GdkWindowType. If support for single
12176         window-specific icons is ever needed (eg. Dialog specific), every
12177         such window should get its own class.
12178
12179 1999-08-19  Tor Lillqvist  <tml@iki.fi>
12180
12181         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
12182         error that caused crashes.
12183
12184 1999-08-17  Tor Lillqvist  <tml@iki.fi>
12185
12186         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
12187         window, use ScrollWindowEx, and call UpdateWindow. This prevents
12188         bugs when for instance part of the window was outside the
12189         display. Thanks to Philippe Colantoni for finding and fixing this.
12190
12191 1999-08-16  Tor Lillqvist  <tml@iki.fi>
12192
12193         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
12194         endpoint calculations which were totally wrong. (A little RTFMing
12195         helps a lot ;-)
12196
12197         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
12198         from a separate directory, not from gettext, because of licensing
12199         issues (we want to use the LGPL version).
12200
12201         * README.win32: Mention the intl from glibc vs from gettext issue.
12202
12203 1999-08-13  Tor Lillqvist  <tml@iki.fi>
12204
12205         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
12206         in the key event handling: Now AltGr chars work again. Also,
12207         now Alt-digits are passed up as well as Control-digits.
12208         Pass keypad plus and minus as normal plus and minus.
12209
12210 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
12211
12212         * docs/gtkfaq.sgml: FAQ Update
12213
12214 1999-07-25  Tor Lillqvist  <tml@iki.fi>
12215
12216         * README.win32
12217         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
12218         the Wintab SDK.
12219
12220         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
12221         OK, but getting closer. Guard against bogus tilt data from Wacom
12222         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
12223         enable easier building without Wintab.
12224
12225         * gdk/win32/gdkinput.h
12226         * gdk/win32/gdkevents.c 
12227         * gdk/win32/gdkwindow.c: Minor changes related related to above.
12228         
12229         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
12230         code. As we have just one visual on Win32, no sense to have it in a
12231         table, and no need for the hash table.
12232
12233         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
12234         better on white background.
12235
12236 1999-07-21  Tor Lillqvist  <tml@iki.fi>
12237
12238         * README.win32: Update gcc build instructions. Mention gettext is
12239         GPL.
12240
12241         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
12242         supported cursor size with GetSystemMetrics.
12243
12244         * gdk/win32/gdkfont.c
12245         * gtk/gtkfontsel.c: Guard against some font weight and charset
12246         symbols being undefined (in mingw32 headers).
12247
12248         * gdk/win32/makefile.cygwin
12249         * gtk/makefile.cygwin
12250         * gtk/gtkthemes.c: No longer need to have differently named
12251         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
12252
12253 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
12254
12255         * docs/gtkfaq.sgml: Long awaited FAQ update.
12256
12257 1999-07-15  Tor Lillqvist  <tml@iki.fi>
12258
12259         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
12260         it. Obscure bit manipulation needed.
12261
12262         * gdk/win32/gdkevents.c: Logging.
12263         
12264         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
12265         style (file name include compiler name) for theme engines.
12266
12267 1999-07-13  Tor Lillqvist  <tml@iki.fi>
12268
12269         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
12270
12271         * gdk/win32/gdkevents.c: Fix long-standing bug in key
12272         events. The key.string wasn't zero-terminated, still we strdup'ed
12273         it in gdk_event_copy(). Synthesize crossing events for button
12274         events before possible propagation.
12275
12276         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
12277
12278         * gdk/win32/makefile.cygwin
12279         * gtk/makefile.cygwin: Use new DLL naming style for the
12280         GCC-compiled ones.
12281
12282         * gdk/win32/makefile.msc
12283         * gtk/makefile.msc: Cosmetics mostly.
12284
12285         * gtk/gtk.def: Add missing entry points.
12286
12287         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
12288
12289 1999-07-09  Tor Lillqvist  <tml@iki.fi>
12290
12291         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
12292         or height is zero. Don't print a warning if Pie or Arc fails, they
12293         always fail (?) for very narrow ellipses.
12294
12295         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
12296         the part or the destination window corresponding to source area
12297         outside of the source drawable's boundary.
12298
12299         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
12300         anything if less than two points.
12301
12302         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
12303         return NULL. Gtk cut-and-paste inside a single program works
12304         better this way. (It always gets the clipboard contents from
12305         Windows, not from its own copy, which is cleared anyway. I can't
12306         say I fully understand what happens... Emulating the X selection
12307         and property stuff is a bit of a mess.)
12308
12309         * gdk/win32/gdkevents.c
12310         * gdk/win32/gdkproperty.c: A bit more verbose logging.
12311
12312         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
12313         that never got deleted). Revamp gdk_region_shrink.
12314
12315         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
12316         after use.
12317
12318         * gtk/gtk.def: Add some missing entry points.
12319
12320         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
12321         component.
12322
12323 1999-07-04  Tor Lillqvist  <tml@iki.fi>
12324
12325         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
12326         Control-digits specially.
12327
12328 1999-07-03  Tor Lillqvist  <tml@iki.fi>
12329
12330         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
12331
12332 1999-06-28  Tor Lillqvist  <tml@iki.fi>
12333
12334         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
12335         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
12336         finding this.)
12337
12338 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
12339
12340         * gtk+.spec.in: Corrected some typos in files section.
12341         
12342 1999-06-15  Tor Lillqvist  <tml@iki.fi>
12343
12344         * README.win32: Mention using GNU gettext.
12345         * config.h.win32: Enable NLS stuff.
12346         * gtk/makefile.msc: Use GNU gettext.
12347         * gdk/win32/gdkdnd.c: Minor header reorg.
12348         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
12349         cosmetics.
12350         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
12351         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
12352
12353 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
12354
12355         * acinclude.m4
12356         * config.guess
12357         * config.status
12358         * ltconfig
12359         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
12360
12361 1999-05-30  Tor Lillqvist  <tml@iki.fi>
12362
12363         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
12364         SafeAdjustWindowRectEx. Don't override all calls to
12365         AdjustWindowRectEx by it, but use it only in two places: When
12366         creating a new top-level window and when moving a top-level
12367         window.
12368
12369         Use screen coordinate rectangle, not client rectangle, in
12370         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
12371         when we try to place a window so that the decoration (mainly,
12372         title bar) isn't visible.
12373
12374         These changes fix the bug that showed up for instance as the
12375         GIMP's saved top-level windows moving right and down (by an amount
12376         equal to the window decoration) for each session. This bug showed
12377         up also in testgtk's "Saved Position".
12378
12379         gdk_window_resize also redone a bit.
12380
12381 1999-05-25  Tor Lillqvist  <tml@iki.fi>
12382
12383         * gtk/testgtkrc: Add (commented out) Windows-style theme
12384         include line.
12385
12386         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
12387
12388 1999-05-18  Tor Lillqvist  <tml@iki.fi>
12389
12390         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
12391         gdkx.h to a gdk subdirectory, so that applications can include
12392         these with <gdk/*.h> without trouble.
12393
12394         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
12395         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
12396         have their bitmap destroyed.
12397
12398         * gdk/win32/gdk.def: Add gdk_root_parent.
12399
12400 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
12401
12402         * configure.in
12403           gtk-config.in
12404           ltconfig
12405           ltmain.sh     
12406           gtk/Makefile.am: changes to compile nicely (with xlib) 
12407           on BeOS
12408
12409 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
12410
12411         * acinclude.m4
12412         * config.guess
12413         * config.sub
12414         * ltconfig
12415         * ltmain.sh: upgrade to libtool 1.3
12416
12417 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
12418
12419         * gtk/gtkclist.c:
12420         * gtk/gtkctree.c: merges from gtk-1-2
12421
12422 1999-04-25  Tor Lillqvist  <tml@iki.fi>
12423
12424         Support added for building using a GNU toolchain on Win32,
12425         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
12426
12427         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
12428         * config.h.win32: Changes for gcc.
12429         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
12430         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
12431         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
12432         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
12433         Protect shl stuff unavaiilable with mingw32 headers.
12434         * gdk/win32/gdkevents.c: Fix typo.
12435         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
12436         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
12437         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
12438         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
12439         the mingw32 headers.
12440         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
12441         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
12442         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
12443         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
12444         Test for NATIVE_WIN32, not _MSC_VER.
12445         * gtk/gtkmain.c: No use warning about developer version on Win32,
12446         there aren't any non-developer versions anyhow.
12447         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
12448         * gtk/makefile.msc: Use pthread from another directory. Minor other
12449         changes. 
12450
12451 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
12452
12453         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
12454           default filter from the list
12455
12456 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
12457
12458         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
12459          when gtk_widget_grab_default() is called for a widget that
12460          is not within a GtkWindow.
12461
12462 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
12463
12464         * docs/gtk_tut.sgml, examples/clist.c: use a
12465           scrolled window in the clist example. Minor
12466           tutorial fixes.
12467
12468 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
12469
12470         * docs/gtk_tut.sgml: Style check from David King
12471           <dking@youvegotmail.net>
12472
12473 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
12474
12475         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
12476         compile with unknown value of GDK_WINDOWING
12477
12478 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
12479
12480         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
12481         after the rule is fired.
12482         (install-exec-local): Install gdkconfig.h only if the contents are
12483         different from the currently installed gdkconfig.h.
12484
12485 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
12486
12487         * gdk/Makefile.am (configexecincludedir): Rename from 
12488         configincludedir so that gdkconfig.h will be installed 
12489         as part of `make install-exec'. 
12490
12491 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
12492
12493         * acinclude.m4
12494         * config.guess
12495         * config.sub
12496         * ltconfig
12497         * ltmain.sh: upgrade to libtool 1.2f
12498
12499         * autogen.sh: libtool is not required to autogen gtk+
12500
12501         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
12502         needed)
12503
12504 1999-03-18  Tor Lillqvist  <tml@iki.fi>
12505
12506         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
12507         declaring gdk variables exported/imported from the DLL. New image
12508         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
12509         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
12510         GDK_DRAG_PROTO_OLE2.
12511
12512         * gdk/gdk.h: Merge in Win32 version: Two new functions,
12513         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
12514         declared only for the Win32 version, but could be in the X11
12515         version as well. (Needed for a Xlib-less gdk_imlib.)
12516         gdk_color_hash should have only one parameter. Declare
12517         gdk_threads_mutex with GDKVAR.
12518         
12519         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
12520         just one parameter.
12521
12522         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
12523         per pixel, not bits.
12524
12525         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
12526         Fetch bpp (which means bits-per-pixel here) from another place on
12527         Win32. Accept also depth==32 (which we might get on Win32) with
12528         bpp==32.
12529
12530         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
12531         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
12532         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
12533         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
12534         in the backend-dependent directory, not in the common gdk
12535         directory.
12536
12537         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
12538         headers.
12539
12540 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
12541
12542         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
12543         want to use the Gtk+ devel version (which is true, and yes - even i am
12544         currently working with the 1.2.x branch). so everyone reading this, you
12545         probably want to issue
12546         cvs checkout -r glib-1-2 glib
12547         and
12548         cvs checkout -r gtk-1-2 gtk+
12549         as your next two comands.
12550
12551 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
12552
12553         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
12554         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
12555
12556         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
12557         file. strongly deprecated the GTK_HAVE_* macros, we provide
12558         GTK_CHECK_VERSION() for people that need to check for certain
12559         Gtk+ versions.
12560
12561         * gtk/gtkcompat.h: removed this from CVS.
12562         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
12563         idea right from the start, it just didn't seem like that back then.
12564
12565 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
12566
12567         * merges from gtk-1-2:
12568
12569 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
12570
12571         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
12572         item factory class has been created.
12573         (gtk_item_factory_parse_rc): likewise.
12574
12575         * gtk/gtkmenu.c:
12576         keep proper references for old_active_menu_item.
12577         (gtk_menu_reparent): unset the usize of the new parent,
12578         so the menu can sanely be size requested and we don't get nasty screen
12579         artefacts upon next reparentation.
12580         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
12581         enter notify. only synthesize enter notifies if the pointer really is
12582         inside the event window.
12583         (gtk_menu_popdown): use gtk_menu_shell_deselect().
12584         (gtk_menu_popup): move the background setting stuff into
12585         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
12586
12587         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
12588         gtk_menu_shell_select_item() to select the new item.
12589         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
12590         do the right thing for deselection as well.
12591
12592 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
12593
12594         * gtk/gtkwidget.[hc]:
12595         (gtk_widget_accelerators_locked): return whether a widget's accelerators
12596         are locked.
12597
12598         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
12599         existing accelerators if the widget's accelerators are locked.
12600
12601 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
12602
12603         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
12604
12605         * gtk/gtkmenu.c: truely forward key press and key release events to
12606         the menu widget from the toplevel or tearoff window. we can't simply
12607         connect to that, we need to stop further processing of the events as
12608         well.
12609
12610 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
12611
12612         * gtk/gtkmenu.c:
12613         (gtk_menu_key_press): pass event->keyval, event->state to
12614         gtk_accelerator_valid, instead of event->keyval twice.
12615         refuse to install single letter accelerators for menus that use
12616         single letter shortcuts.
12617
12618         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
12619         gtk_menu_ensure_uline_accel_group().
12620
12621         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
12622         which will always return an uline accel group, made
12623         gtk_menu_get_uline_accel_group() return NULL if the group isn't
12624         yet created.
12625
12626 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
12627
12628         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
12629
12630         * gtk/gtkclist.c (gtk_clist_column_title_passive):
12631         Leave button sensitive, trap  button_press, button_release,
12632         motion_notify, enter_notify and leave_notify events instead.
12633         (gtk_clist_column_title_active): disconnect event handler.
12634         (gtk_clist_drag_data_get): fixed memory leak. Reported by
12635         Guillaume Laurent <glaurent@worldnet.fr>
12636
12637 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
12638
12639         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
12640         width/height mixups.
12641
12642         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
12643         if needed.
12644
12645 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
12646
12647         * gtk/testgtk.c (create_item_factory): unref the item factory after
12648         window's destruction.
12649
12650         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
12651         count on the menu shell around the menu item's activation, since the
12652         signal emission may cause menu shell destruction.
12653
12654         * gtk/gtkitemfactory.c:
12655         the previous code leaked one accel group per menu. we use
12656         gtk_menu_get_uline_accel_group() now to fix that, and with that
12657         also create the underline accelerator group of the menus only if
12658         required (i.e. an underline accelerator has been specified).
12659         (gtk_item_factory_construct):
12660         (gtk_item_factory_create_item): removed code that would create an
12661         extra accel group for the menu (and leak references).
12662         (gtk_item_factory_create_item): adapted the underline accelerator
12663         installation code to properly feature gtk_menu_get_uline_accel_group().
12664
12665         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
12666         menu->accel_group, this may return NULL if the accelerator group
12667         hasn't been set yet.
12668         added gtk_menu_get_uline_accel_group() to retrive the underline
12669         accelerator group of the menu, this will be created on demand
12670         and proper care is taken about its reference count.
12671
12672         * gtk/gtkitemfactory.h:
12673         * gtk/gtkitemfactory.c:
12674         dumped the approach of keeping a widgets by action list on the
12675         factory since the factory<->widget destroy negotiation didn't work
12676         and would be hard to get going at all. instead we keep a list of
12677         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
12678         persistant throughout a program's life time).
12679         also, i removed the static const gchar *key_* variables, and made
12680         them inline strings (they weren't actually used anyways).
12681         (gtk_item_factory_add_item): update ifactory->items.
12682         (gtk_item_factory_destroy): destroy ifactory->items (and remove
12683         the item factory pointer from the remaining ifactory widgets).
12684         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
12685         list to find the widget.
12686         (gtk_item_factory_get_item): new function that works around
12687         gtk_item_factory_get_widget() limitations, this function will only
12688         return menu items, even for <Branch> entries.
12689
12690 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
12691
12692         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
12693         font hash table, if we have a GdkFontPrivate entry for this font
12694         already, simply increment its reference count, provided by Olaf Dietsche
12695         <olaf.dietsche+list.gtk@netcologne.de>.
12696
12697         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
12698         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
12699
12700 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
12701
12702         * gtk/gtkcontainer.c:
12703         (gtk_container_add_with_args):
12704         (gtk_container_addv):
12705         (gtk_container_add): before adding a child to a conatiner, make sure
12706         it is (default) constructed, this is neccessary because under certain
12707         circumstances the child will get relized and mapped immediatedly, in
12708         which case it has to be constructed already.
12709
12710 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
12711
12712         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
12713         values > 1 as TRUE also.
12714
12715 1999-03-16  Tor Lillqvist  <tml@iki.fi>
12716
12717         * README.win32: New file.
12718                 
12719         * configure.in: Check for lstat.
12720
12721         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
12722         completeness.
12723
12724         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
12725
12726         * gtk/gtk.def: Removed CRs.
12727
12728         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
12729         ..\gdk\win32).
12730
12731         * gdk/win32/makefile.msc: Correct upwards relative paths.
12732         
12733 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
12734
12735         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
12736           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
12737           it was connecting a void function to expose_event and the int
12738           returning function to the draw signal
12739
12740 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
12741
12742         * configure.in:
12743         Use correct path to libgmodule.la when ref'ing uninstalled copy
12744         of glib.  (Already in stable branch, Bug #417)
12745
12746 1999-03-15  Tor Lillqvist  <tml@iki.fi>
12747
12748         Win32 merge and general portability stuff:
12749                 
12750         * acconfig.h,configure.in: Check for <sys/time.h>.
12751
12752         * gdk/win32: New directory (actually, been there for a while).
12753         
12754         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
12755         NATIVE_WIN32, and use these. Always case fold on Win32. No
12756         backslashed escapes on native Win32.
12757
12758         * gtk/{gtk.def,makefile.msc}: New files.
12759
12760         * gtk/Makefile.am: Add above new files.
12761         
12762         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
12763         instead of <strings.h>.
12764
12765         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
12766         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
12767         <unistd.h> appropriately.
12768
12769         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
12770         Use ABS() (from <glib.h>) instead of abs().
12771         
12772         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
12773         of gtk (and thus glib) headers, so that WIN32 will be
12774         defined. With MS C, include <direct.h> for mkdir prototype.
12775
12776         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
12777         some casts, needed by MS C.
12778
12779         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
12780         implemented).
12781
12782         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
12783         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
12784         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
12785
12786         * gtk/gtkmain.h: Mark variables for export/import on Win32.
12787                 
12788         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
12789         the event is not a hint, or its window is not the slider. Needed
12790         on Win32, at least.
12791
12792         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
12793         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
12794         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
12795         a subdirectory of the Windows directory as gtk system
12796         configuration directory.
12797
12798         * gtk/gtkselection.c: No chunks on Win32.
12799
12800         * gtk/gtksocket.c: Not implemented on Win32.
12801
12802         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
12803
12804         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
12805
12806         * gtk/maketypes.awk: Declare variables with a macro that expands to
12807         necessary export/import magic in the case of Win32.
12808                 
12809         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
12810
12811 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
12812
12813         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
12814         since those were meant only for gdki18n.h.  
12815         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
12816         for widechar tests.
12817         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
12818
12819 1999-03-13  Tor Lillqvist  <tml@iki.fi>
12820
12821         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
12822         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
12823
12824         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
12825         installed) to CFLAGS.
12826
12827         * gdk/Makefile.am: Add rules for gdkconfig.h.
12828
12829         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
12830         APIs.
12831
12832         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
12833         gdkx.h anyway when compiling for X11.
12834         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
12835         general): Merge in Win32 version.
12836         
12837         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
12838         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
12839         expansion (if we don't have HAVE_PWD_H), allow for drive
12840         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
12841         included code from Craig Setera's port to Win32 (the one that uses
12842         X11, and the cygwin dll), even if it probably will be abandoned.
12843
12844         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
12845         the user entered one herself.  This way one can complete *.h and
12846         don't get matches on any .help files, for instance.
12847         
12848 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
12849
12850         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
12851         font hash table, if we have a GdkFontPrivate entry for this font
12852         already, simply increment its reference count, provided by Olaf Dietsche
12853         <olaf.dietsche+list.gtk@netcologne.de>.
12854
12855         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
12856         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
12857
12858 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
12859
12860         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
12861         the number of calls to gdk_draw_point() (and thus to X) by
12862         clipping the points by hand.
12863
12864         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
12865         the clip parameter.
12866         (gtk_handle_box_paint): Only paint the handle if the expose area
12867         intersects it.
12868
12869 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
12870
12871         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
12872
12873 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
12874
12875         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
12876         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
12877
12878 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
12879
12880         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
12881          textmode (O_TEXT) for OS/2 version.
12882
12883 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
12884
12885         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
12886         GtkSpinButton, "input" and "output", to make the output more flexible.
12887         The user has to provide a mapping between adjustment->value and the
12888         output string (and vice versa, if the spin button is editable). 
12889         See testgtk for examples.
12890
12891 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
12892
12893         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
12894         new one.
12895         
12896         * configure.in: set gtk+ version to 1.3.0.