]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-4
updated for win32 msvc build
[~andy/gtk] / ChangeLog.pre-2-4
1 2001-02-19  Hans Breuer <hans@breuer.org>
2
3         * gtk/gtk.def : updated exported symbols
4
5         * gtk/makefile.msc.in : updated
6
7         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
8         a colormap, when invoked from testgtk::entry. I'm not sure where
9         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
10         avoids immediate crashing ...
11
12         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
13         any objections ?
14
15         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
16         0 parameter. At least msvc doesn't like macros with var args. 
17         I simply removed the extra 0, was it a feature or a typo ?
18
19         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
20         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
21         because the value assignment to the internal struct wasn't working.
22         I'm not absolutely sure. The problem could have been resolved by
23         changing the "func" declartion in the struct, but was the pointer
24         to the function pointer intended ?
25
26         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
27
28         * gdk/gdk.def : updated exported symbols
29
30         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
31         only use SetDIBitsToDevice if there is a palette at the drawable
32         and the image is GDK_VISUAL_PSEUDO_COLOR
33
34         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
35
36         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
37
38         * gdk/*/makefile.msc : updated
39
40 2001-02-19  Havoc Pennington  <hp@redhat.com>
41
42         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
43         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
44
45         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
46         (gdk_key_repeat_restore): nuke
47
48         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
49         (gdk_init_check): no atexit func
50
51         * gdk/gdkrgb.h: mark some stuff deprecated
52
53         * gdk/gdkcolor.h: mark some stuff deprecated
54         
55         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
56
57         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
58
59 2001-02-16  Havoc Pennington  <hp@redhat.com>
60
61         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
62         scroll steps.
63
64         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
65         steps, and add Ctrl-arrow shortcuts for paging visually as with
66         HScale, since Page Up and Page Down move logically.
67
68         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
69         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
70         
71         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
72         steps
73         (gtk_range_scroll): handle the visual steps
74
75         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
76         scroll steps
77
78         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
79         steps, not the logical ones.
80
81         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
82         (scroll_vertical): handle up/down steps
83
84 2001-02-19 Alexander Larsson  <alexl@redhat.com>
85
86         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
87         Copy data and free data with free().
88
89         * gdk-pixbuf/gdk-pixbuf.c:
90         * gdk-pixbuf/io-jpeg.c:
91         * gdk-pixbuf/io-png.c:
92         Use g_try_malloc/g_free instead malloc/free.
93         
94         * gdk-pixbuf/test-gdk-pixbuf.c:
95         Must... initialize... gobject...
96         
97         * gdk-pixbuf/pixops/timescale.c:
98         * gtk/gtkcalendar.c:
99         Use g_malloc instead of malloc.
100         
101 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
102
103         * gtk/testgtkrc:
104         Comment out property assignments, these don't work yet.
105
106 2001-02-17  Havoc Pennington  <hp@pobox.com>
107
108         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
109         bit.
110
111 2001-02-17  Havoc Pennington  <hp@pobox.com>
112
113         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
114         shadowed variables that had broken size request in some cases,
115         leading to bogus tooltips (#50996)
116
117 2001-02-06  Jon K Hellan  <hellan@acm.org>
118
119         Implement fast browsing of tooltips, bug #50619
120         
121         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
122         and last_popdown
123         
124         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
125         use_sticky_delay and last_popdown.
126         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
127         time of popdown.
128         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
129         is NULL.
130         (gtk_tooltips_recently_shown): New static function.  Return true
131         if < sticky_delay has elapsed since last popdown.
132         (gtk_tooltips_event_handler): Display window after sticky_delay
133         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
134         since last popdown.
135         
136 2001-02-17  Havoc Pennington  <hp@pobox.com>
137
138         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
139         instead of (). #6394
140
141         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
142         G_CONST_RETURN, make it return by reference, #50473
143         
144 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
145
146         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
147         generated ENTER_NOTIFY event with 0, otherwise not explicitely
148         setup fields contain garbage (e.g. subwindow, breaking
149         gdk_drawable_ref() upon event copy).
150         (gtk_menu_stop_navigating_submenu_cb): same here.
151
152         * gtk/gtklist.c (gtk_list_vertical_timeout): 
153         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
154         * gtk/gtkclist.c (vertical_timeout): 
155         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
156         default-zero-intialization for unions to memset(,0,), as unions are
157         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
158         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
159
160         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
161         g_closure_sink() warning.
162
163         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
164         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
165         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
166         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
167         
168 >>>>>>> 1.1728
169 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
170
171         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
172         gtk_*_store_get, and moved to GtkTreeModel.
173
174         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
175
176         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
177
178         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
179
180         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
181         set the func.
182
183         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
184         freeze/thaw notify between setting all the properties for a cell.
185
186         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
187
188 2001-02-15  Havoc Pennington  <hp@redhat.com>
189
190         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
191         the X coordinates so they're with respect to the line, rather than 
192         with respect to the layout.
193
194         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
195         Mallabone
196
197         * gtk/testgtk.c (create_range_controls): add vscale tests, 
198         and inverted test
199
200         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
201         #50806
202
203         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
204
205         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
206         gtk_text_iter_is_end
207
208         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
209         rename gtk_text_buffer_get_end_iter
210
211         * gtk/testgtk.c (create_labels): Add test for selectable
212
213         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
214         the selection stuff. This code is kind of broken since it doesn't 
215         use the theme engine.
216
217         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
218         fix infinite loop and y offset problem
219         (gdk_draw_layout_line_with_colors): fix foreground color handling
220
221         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
222         that makes the label selectable.
223         
224         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
225         layout when the style is set, since fonts etc. could have changed.      
226
227 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
228
229         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
230
231         * gtk/gtktreemodelsimple.[ch]: removed.
232
233 2001-02-16  Alexander Larsson  <alexl@redhat.com>
234
235         * gtk/gtktreemodelmapping.[ch]:
236         New files. Implement GtkTreeModelMapping.
237         
238         * gtk/Makefile.am:
239         Add gtktreemodelmapping.[ch].
240         
241         * gtk/gtk.h:
242         Add gtktreemodelmapping.h
243
244         * gtk/treestoretest.c:
245         Test the GtkTreeModelMapping
246
247 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
248
249         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
250         have a demo, we might as well pass in real values.  Thanks to
251         clahey for pointing this out.
252
253 2001-02-14  Havoc Pennington  <hp@pobox.com>
254
255         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
256         "static" to a private function
257         (gtk_image_menu_item_class_init): remove destroy handler,
258         add "image" object property
259
260 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
261
262         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
263         Add a shortcut if the window and the current clip_region doesn't
264         overlap. This is needed when there are a lot of windows in a
265         window. The layout test in testgtk is a good test.
266
267         * gdk/linux-fb/gdkwindow-fb.c:
268         Whitespace fix.
269
270 2001-02-13  Sven Neumann  <sven@convergence.de>
271
272         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
273
274 2001-02-13  Alexander Larsson  <alexl@redhat.com>
275
276         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
277         Don't reference last_cursor if it is null. Fixes crash when rotating
278         the screen before having moved the mouse.
279
280         * gdk/linux-fb/gdkcc-fb.c: Zapp!
281
282         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
283
284         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
285         when using 90 or 270 degrees rotation.
286
287 2001-02-12  Havoc Pennington  <hp@pobox.com>
288
289         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
290         it always set the foreground, even if we were only using
291         a stipple.
292         (gdk_draw_layout_line_with_colors): new function, allow
293         override colors
294         (gdk_draw_layout_with_colors): new function, allow override
295         colors
296         (gdk_pango_layout_line_get_clip_region): function to get the clip
297         region for a logical text range
298         (gdk_pango_layout_get_clip_region): get the clip region for a
299         logical text range
300
301         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
302         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
303         the right number of arguments.
304
305         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
306         enhance the function to check that node data corresponds to a 
307         view still belonging to the tree.
308
309         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
310         GtkTreePath
311         (gtk_tree_view_inserted): ditto
312         (gtk_tree_view_child_toggled): ditto
313
314         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
315         simplify this code.
316
317         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
318         a PangoAttrList
319
320         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
321
322         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
323
324         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
325         size in the size request 
326         (gtk_menu_bar_size_allocate): consider toggle size here
327
328         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
329         that displays a widget in the toggle slot
330
331         * gtk/testgtk.c: test GtkImageMenuItem
332
333         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
334         
335         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
336         request and allocation
337
338         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
339
340         * gtk/gtkcheckmenuitem.c
341         (gtk_check_menu_item_toggle_size_request): ditto
342         
343 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
344
345         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
346         reference.
347
348         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
349         and refuse to initialize GTK+ if they fail.
350
351 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
352
353         * configure.in: Add check for gtk-doc version.
354
355 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
356
357         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
358         where the xpad/ypad was only being used on one side!
359
360 2001-02-11  Tor Lillqvist  <tml@iki.fi>
361
362         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
363         function, copied from X11 version.
364
365         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
366         DestroyCursor failures. The reason for the problem (despite the
367         inconsistent messages from GetLastError()) was that
368         DestroyCursor() cannot be called while a cursor is set in a
369         window. Set the new cursor first and then destroy the old one.
370         Thanks to jpe@archaeopteryx.com.
371
372         * gdk/win32/gdkcc-win32.c: Remove.
373
374         * gdk/win32/Makefile.am: Remove from here, too.
375         
376         * gdk/gdk.def
377         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
378
379         * gtk/gtk.def
380         * gtk/makefile.mingw.in: Updates.
381
382 2001-02-08  Havoc Pennington  <hp@redhat.com>
383
384         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
385         add a widget to a bin that already has a child.
386
387         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
388
389         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
390         
391         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
392
393         * gdk/gdk.h: remove gdkcc.h
394
395         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
396
397         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
398         GdkPixbuf, since the previous implementation was GdkColorContext
399         dependent.
400
401         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
402         
403 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
404
405         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
406         a sane value!
407
408 2001-02-08  Havoc Pennington  <hp@redhat.com>
409
410         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
411         lighten them.
412
413 2001-02-08  Havoc Pennington  <hp@redhat.com>
414
415         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
416         validation idle
417
418         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
419         cell renderer
420
421         * demos/pixbuf-demo.c (timeout): remove deprecated
422         gtk_widget_draw
423
424         * demos/testpixbuf-save.c (main): remove deprecated
425         gtk_drawing_area_size
426
427         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
428         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
429         at the start of the allocation.
430         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
431         unsetup or NULL model.
432
433         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
434         even/odd/sorted cells in the tree view.
435
436         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
437         bugfixes
438
439         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
440         backgrounds with draw_flat_box using different detail for even/odd
441         rows.
442
443         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
444         row, so we can draw the alternating colors thing
445
446         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
447         property from a synonym property, notify for the synonym.
448         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
449         (gtk_text_tag_get_property): Always return the font, even if
450         all its fields aren't set
451
452         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
453         store the attr list; it leaves us with no way to change attributes
454         in _render according to the render flags, and no way to implement
455         get_property. Instead store all the specific text attributes. 
456         Separate whether an attribute is enabled from its value. Sync all
457         properties with GtkTextTag, make them all consistent, etc.
458
459         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
460         renderers can highlight the sort row/column     
461
462         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
463         accessor functions to get values; this has the side effect of
464         showing up which accessor functions were missing. Added those.
465
466         * gtk/gtktreeviewcolumn.h: Replace set_justification with
467         set_alignment, to be consistent with GtkLabel, GtkMisc
468
469         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
470         arrow.
471
472         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
473
474         * gtk/gtktreesortable.h: updates in here
475
476 2001-02-07  Sven Neumann  <sven@convergence.de>
477
478         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
479         pango dimensions after painting the background. We used to draw
480         gigantic flat boxes here.
481
482 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
483
484         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
485         error introduced with earlier commit) (pointed out by
486         Ollie Lho)
487
488 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
489
490         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
491         which are no longer necessary.
492
493 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
494
495         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
496
497 2001-02-04  Tor Lillqvist  <tml@iki.fi>
498
499         * gdk/gdk.def
500         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
501         Provide dummy implementations.
502
503 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
504
505         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
506
507         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
508         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
509         deprecated this function.
510
511         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
512         argument.
513
514 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
515
516         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
517
518 2001-02-03  Havoc Pennington  <hp@pobox.com>
519
520         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
521         Mikael Hermansson with patch from Mikael (if there was a toggle
522         start one after the first character in the range, this function
523         was broken). Bug #50380
524
525 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
526
527         * configure.in: Remove confusing comment about X11.
528
529 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
530
531         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
532         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
533         
534 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
535
536         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
537         it breaks things on BSD. If you want to compile GTK+ with
538         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
539         when configuring, since GTK+ simply can't be "pure ANSI" 
540         in the header files it uses. (#8170, Greg Hudson)
541
542 2001-02-02  Havoc Pennington  <hp@redhat.com>
543
544         * gtk/gtkwindow.c: docs
545
546         * gtk/gtkwidget.c: docs
547         (gtk_widget_set_colormap): add a reference to the colormap
548         (gtk_widget_get_default_colormap): add a reference to the colormap
549
550         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
551
552         * gtk/gtktextiter.c: docs
553
554         * gtk/gtkmain.c (gtk_propagate_event): docs
555
556         * gtk/gtkpaned.c (gtk_paned_get_position): docs
557         (gtk_paned_set_position): docs
558
559         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
560         sort interface, no implementation yet.
561
562         * demos/testpixbuf.c (new_testrgb_window): replace
563         gtk_drawing_area_size() with gtk_widget_set_usize()
564
565         * demos/testpixbuf-drawable.c (main): ditto
566         
567         * gtk/testgtk.c: remove use of GtkStatusbarMsg
568
569         * gtk/gtktextbuffer.c: docs
570
571         * gtk/gtkstock.c: docs
572
573         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
574
575         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
576
577         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
578         
579         * gtk/gtkimage.c: add some docs in here
580         (gtk_image_size_request): change name of
581         gtk_widget_render_stock_icon
582         (gtk_image_get_icon_set): don't dup returned string
583         (gtk_image_get_icon_set): don't dup returned string
584
585         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
586         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
587         and gtkiconfactory.h functions
588
589         * gtk/gtkiconfactory.c: add some docs in here
590
591         * gtk/gtkmain.c (gtk_get_default_language): document
592         (gtk_get_current_event): document
593         (gtk_get_current_event_state): document
594         (gtk_get_event_widget): document
595
596         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
597
598         * gtk/gtkcontainer.c: Add some documentation
599         (gtk_container_add): give a more explanatory warning on adding an
600         already-parented widget, this is kind of a FAQ and also a common
601         typo that's easier to debug with a nice warning 
602
603         * gtk/gtkcellrenderertoggle.c
604         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
605         adding this, it's useless
606         (gtk_cell_renderer_toggle_set_active): remove
607         (gtk_cell_renderer_toggle_get_radio): add
608
609         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
610         the NULL cell renderer, that doesn't make any sense to me. 
611
612         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
613         demo code should never use deprecated features.
614
615         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
616         code should never use deprecated features.
617
618         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
619         gtk_widget_queue_clear_area deprecated
620
621         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
622         deprecated
623
624         * gtk/gtklabel.h: mark gtk_label_get() deprecated
625
626         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
627         a GdkImage deprecated, replaced by new consistently-named
628         functions       
629
630         * gtk/gtkmain.h: Mark gtk_exit() deprecated
631
632         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
633
634         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
635         deprecated
636
637         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
638         so it won't appear in docs and confuse people.
639
640         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
641
642         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
643         macros deprecated. (can't mark the type itself deprecated, since
644         GtkProgressBar is not deprecated and we need the type decl to use
645         GtkProgressBar)
646
647         * gtk/gtkpixmap.h: Mark deprecated
648
649         * gtk/gtkoldeditable.h: Mark deprecated
650
651         * gtk/gtklist.h: Mark deprecated
652
653         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
654         for anything anymore.
655
656         * gtk/gtkctree.h: Mark deprecated
657
658         * gtk/gtkclist.h: Mark deprecated
659
660         * gtk/gtkpreview.h: Mark deprecated
661
662         * gtk/gtkpacker.h: Mark deprecated
663
664         * gtk/gtktipsquery.h: Mark deprecated
665
666         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
667
668         * gtk/gtkvruler.h: Add comment that it will move out of GTK
669
670         * gtk/gtkhruler.h: Add comment that it will move out of GTK
671
672         * gtk/gtkruler.h: Add comment that it will move out of GTK
673
674         * gtk/gtkgamma.h: Add comment that it will move out of GTK
675
676         * gtk/gtkcurve.h: Add comment that it will move out of GTK
677
678 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
679
680         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
681         gdk_colormap_sync private since it was never exported
682         in a header file.
683
684         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
685         colormap->colors[] for StaticGray, StaticColor colormaps.
686
687         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
688         was being used as if it was image->bits_per_pixel.
689
690         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
691         for the image in the GdkImage structure since it isn't
692         reconstructable, and we need it to handle packed types
693
694         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
695         the assumption that on Win32 image->bits_per_pixel == image->depth,
696         always.
697
698         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
699
700         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
701         warning message if no converter can be found. 
702
703 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
704
705         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
706         chars to isupper() / tolower(). (#567)
707
708         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
709         to clear up 64-bit warnings. (#567)
710
711 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
712
713         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
714         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
715
716         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
717         since some people set $(libdir) separately. (#1290, David Kaelbling)
718
719 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
720
721         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
722         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
723         MAXPATHLEN, but the code here depends on a fixed value.)
724         (#4524)
725
726 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
727
728         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
729         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
730
731 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
732
733         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
734         viewable there is no way that moving the node will cause the 
735         focus row to become not viewable, so omit check on the visibility
736         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
737
738 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
739
740         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
741         selection before inserting new text.
742
743 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
744
745         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
746         Make the sensitivity of the reparented child track that of
747         the original parent menu item. (#34218, David Hodson)
748
749         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
750         the case where the current item is destroyed properly.
751
752         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
753         some edge cases with child-less menuitems.
754         
755 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
756
757         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
758         key pop down window. (#12074, Jon K Hellan)
759
760 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
761
762         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
763         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
764         The solution here isn't perfect - you get an extraneous
765         emission of "toggle", which could conceivably confuse an app,
766         but better than the current situation. LXR search seems to
767         indicate that no apps in GNOME CVS connect to "toggle".
768
769 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
770
771         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
772         gtk_public_h_sources to directly here to avoid warning when
773         building srcdir != builddir. (#9656)
774
775 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
776
777         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
778         handlers in gtkrange.c return the proper values (TRUE == handled)
779         (#10316).
780
781         This is just the tip of the iceberg, but gtkrange.c is the
782         most common place where the propagation is problematical,
783         and also a place where it is almost certainly safe to change
784         this in the stable branch.
785
786         (You don't want right click popups on a range control or anything...)
787
788 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
789
790         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
791         area on focus out, even if a background pixmap isn't set.
792         (#13941)
793         
794 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
795
796         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
797         to deal with setting the shape properly when scrolling arrows are
798         turned on, but not visible because there is sufficient space.
799         (#13432)
800
801 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
802
803         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
804         items with submenus, destroy the item along with the submenu.
805         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
806         properly.
807
808         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
809         later.
810
811 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
812
813         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
814         the focus widget sometimes wasn't drawn with the default if there
815         was no default widget.
816
817         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
818         unreference pixmaps. 
819
820         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
821         for some extra safety.
822
823 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
824
825         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
826         the text of a cell to the old pointer value better, by
827         copying the new text before freeing the old text. Some code
828         cleanup. (#8079, Karl Nelson)
829
830 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
831
832         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
833         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
834
835 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
836
837         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
838         item from a menu, check to see if it matches 
839         menu->old_active_menu_item, and if so, unref and clear
840         old_active_menu_item (Patch from Pavel Cisler)
841
842         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
843         menu_shell->active_menu_item, if it is the child being
844         removed. (Patch based on that of Gene Ragan, #50337)
845
846 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
847
848         * gdk/linux-fb/gdkselection-fb.c: 
849         * gdk/linux-fb/gdkcolor-fb.c: 
850         * gdk/linux-fb/gdkdrawable-fb2.c: 
851         * gdk/linux-fb/gdkfont-fb.c: 
852         * gdk/linux-fb/gdkim-fb.c: 
853         * gdk/linux-fb/gdkinput.c: 
854         * gdk/linux-fb/gdkkeyboard-fb.c: 
855         * gdk/linux-fb/gdkmain-fb.c: 
856         * gdk/linux-fb/gdkrender-fb.c: 
857         A bunch of whitespace cleanup.
858         
859 2001-01-30  Havoc Pennington  <hp@pobox.com>
860
861         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
862         #ifdef GTK_ENABLE_BROKEN.
863
864         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
865         GTK_ENABLE_BROKEN just before including the broken headers.
866         
867         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
868         deprecated types registered.
869
870         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
871         we have to test the broken stuff.
872
873         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
874         
875 2001-01-30  Havoc Pennington  <hp@redhat.com>
876
877         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
878         here where prev pointer was set to the wrong thing
879
880         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
881         (gtk_tree_path_is_descendant): new function
882
883         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
884         cached length
885         (gtk_list_store_get_iter): don't modify iter if we can't get the
886         path.
887
888         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
889         
890         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
891         GtkTreeDragDest
892
893         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
894         was causing segfault
895
896         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
897         pointer to NULL
898
899         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
900
901         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
902         on returning FALSE
903         (gtk_list_store_iter_children): ditto
904         (gtk_list_store_iter_nth_child): ditto
905         (gtk_list_store_iter_nth_child): ditto
906         (gtk_list_store_iter_parent): ditto
907
908         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
909         on iter->user_data != NULL instead of silently accepting it.
910         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
911         we are returning TRUE.
912         (gtk_tree_store_iter_children): ditto
913         (gtk_tree_store_iter_nth_child): ditto
914         (gtk_tree_store_iter_parent): ditto
915         (gtk_tree_store_insert): remove handling of parent->user_data ==
916         NULL, replace with parent == NULL       
917
918         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
919         and a comment explaining things
920
921         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
922         interface support to GtkTreeStore.
923
924         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
925         FALSE if no prev, fix
926
927         * gtk/gtktreeview.c (set_source_row): use a row reference
928         (set_dest_row): use a row reference
929
930 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
931
932         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
933         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
934         (gtk_tree_selection_select_iter): The same as above.
935
936 2001-01-26  Havoc Pennington  <hp@redhat.com>
937
938         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
939         which holds a handle to a specific row (particular set of values
940         in the model, i.e. pointer-identity row).
941
942         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
943         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
944         Still need to use it for the src/dest row saved on the drag context.
945
946 2001-01-26  Havoc Pennington  <hp@redhat.com>
947
948         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
949
950         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
951         not offset by TREE_VIEW_HEADER_HEIGHT
952         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
953         TREE_VIEW_HEADER_HEIGHT
954
955         * configure.in (included_loaders): for me, --with-included-loaders
956         generates the error "the specified loader yes does not exist",
957         i.e. the arg defaults to "yes", so change test for value ""
958         to test for value "yes", and include all loaders in that case.
959
960         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
961
962         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
963         handle TREE_VIEW_VERTICAL_SEPARATOR
964         (gtk_tree_view_bin_expose): fix to consider the row offset as
965         pointing halfway into vertical separator.       
966         (gtk_tree_view_draw_node_focus_rect): ditto
967
968         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
969         --gtk-debug=updates, which causes gdk_window_set_debug_updates
970         (TRUE) to be called.
971
972         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
973         debug mode where the invalid region is colored in on invalidate,
974         so you can see the flicker and know whether your redraw code is 
975         doing a good job.
976
977         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
978         tree window coordinates (clip rect is in tree window coords)
979
980         * gtk/Makefile.am: add gtktreednd.[hc]
981
982         * gtk/gtkliststore.c: implement gtktreednd interfaces.
983
984         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
985         drag-and-drop data operations on a model (so we can set up tree
986         drag-and-drop automatically)
987
988         * gtk/testgtk.c: Add a window to change sensitivity in the
989         GtkLabel test; add a way to change the entry frame in GtkEntry
990         test
991
992         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
993         (gtk_entry_get_has_frame): new functions to remove the frame
994         around an entry
995         (gtk_entry_size_request): shrink requisition if no frame
996         (gtk_entry_draw_focus): don't draw frame if no frame
997
998         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
999         checks inside a cell renderer
1000         (gtk_default_draw_option): ditto for options
1001
1002         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
1003         children from the alignment, not the button
1004         (gtk_tree_view_column_init): ref/sink the column, to emulate
1005         GObject refcounting.
1006
1007         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
1008         
1009         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
1010         Use theme functions to draw the toggles 
1011
1012         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
1013
1014         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
1015         GdkPangoAttrEmbossed to use in rendering insensitive text
1016
1017         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
1018
1019         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
1020         using new GDK features
1021         
1022 2001-01-24  Alexander Larsson  <alexl@redhat.com>
1023
1024         * gtk/gtkimage.c:
1025         Splitted gtk_image_clear into gtk_image_clear() and
1026         gtk_image_reset(). Call gtk_image_clear() in ::destroy
1027         to avoid leaks.
1028
1029         * gtk/gtklabel.c (set_markup):
1030         Don't leak text.
1031
1032         * gtk/gtktextlayout.c:
1033         Always free display->shaped_objects.
1034
1035         * gtk/testgtk.c (create_clist):
1036         Don't leak custom style.
1037
1038 2001-01-23  Alexander Larsson  <alexl@redhat.com>
1039
1040         * gtk/gtkcolorsel.c (grab_color_at_mouse):
1041         Don't leak image. Simplify using gdk_colormap_query_color().
1042         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
1043
1044         * linux-fb/gdkcolor-fb.c:
1045         Implemented gdk_colormap_query_color.
1046
1047 2001-01-23  Alexander Larsson  <alexl@redhat.com>
1048
1049         * linux-fb/gdkcursor-fb.c:
1050         Don't leak built-in cursors.
1051
1052         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
1053         Don't leak tmp_points.
1054
1055         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
1056         Don't modify desc. Don't leak font if the PangoFont
1057         isn't found.
1058         
1059         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
1060         Free dash_list.
1061
1062         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
1063         Don't leak string.
1064         
1065 2001-01-20  Havoc Pennington  <hp@pobox.com>
1066
1067         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
1068         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
1069         me, matches Pango
1070
1071 2001-01-22  Havoc Pennington  <hp@redhat.com>
1072
1073         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
1074
1075         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
1076
1077         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
1078         Remove, move back to gdk-pixbuf
1079
1080         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
1081         to all the word functions
1082
1083         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
1084         before doing anything on NULL layout or if we don't have the focus
1085
1086         * gtk/testtext.c (fill_example_buffer): "justification"
1087
1088         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
1089         to be called "justification" not "justify"
1090
1091         * demos/gtk-demo/textview.c (create_tags): "justification"
1092         
1093         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
1094
1095 2001-01-22  Alexander Larsson  <alexl@redhat.com>
1096
1097         * gdk/gdkwindow.c (gdk_window_invalidate_region):
1098         Don't leak visible_region. Use visible_region instead of region.
1099         
1100         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
1101         Don't do extra gdk_drawable_ref(). This is not X.
1102         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
1103         gdk_fb_focused_window is ref:ed.
1104         (gdk_fb_window_send_crossing_events): Watch out for destroyed
1105         windows.
1106
1107 2001-01-22  Alexander Larsson  <alexl@redhat.com>
1108
1109         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
1110         Don't leak the PangoFontDescriptor.
1111
1112 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
1113
1114         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
1115         when not realized.
1116         (gtk_tree_view_scroll_to_cell): Make work when not realized.
1117         (gtk_tree_view_realize): add scroll_to support
1118         (gtk_tree_view_finalize): add a finalize method.  Populate.
1119         (gtk_tree_view_insert_column): ref and sink the column.
1120         (gtk_tree_view_append_column): ref and sink the column.
1121         (gtk_tree_view_queue_draw_node): New function to handle redrawing
1122         individual nodes.  Should make the code much more efficient, if
1123         actually used.
1124
1125 2001-01-19  Havoc Pennington  <hp@redhat.com>
1126
1127         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
1128         byte_offset variable was being used to mean both "offset into
1129         layout" and "offset into buffer line" which was no longer true
1130         with addition of preedit string; fix
1131
1132 2001-01-19  Havoc Pennington  <hp@redhat.com>
1133
1134         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
1135
1136         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
1137         function
1138
1139         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
1140         implement
1141
1142         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
1143         scroll_to_cell, matches TextView scroll functions better
1144         (gtk_tree_view_tree_to_widget_coords): new function
1145         (gtk_tree_view_widget_to_tree_coords): new function
1146         (gtk_tree_view_get_visible_rect): new function
1147         (gtk_tree_view_get_path_at_pos): accept negative coordinates
1148         (gtk_tree_view_draw_node_focus_rect): new function moved from
1149         draw_focus, also, use width of bin_window as width of the focus
1150         rect
1151         (gtk_tree_view_expand_row): fix bug where it didn't recognize
1152         already-expanded rows
1153         (gtk_tree_view_get_cell_rect): new function
1154         (gtk_tree_view_get_path_at_pos): return the click position
1155         relative to the passed-in cell
1156         (gtk_tree_view_set_expander_column): new function
1157
1158         * configure.in: remove gtk-config-2.0 chmod
1159
1160         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
1161         and properly handle drags with targets we don't understand
1162         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
1163         scrolling anyway
1164         (gtk_text_view_drag_drop): stop scrolling here though, and set the
1165         mark invisible
1166
1167         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
1168         function
1169         (gtk_drag_dest_get_target_list): new function
1170         (gtk_drag_dest_set_target_list): new function
1171         
1172         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
1173
1174         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
1175         related to drag-and-drop
1176
1177 2001-01-19  Alexander Larsson  <alexl@redhat.com>
1178
1179         * gdk/linux-fb/gdkprivate-fb.h:
1180         Define EMULATE_GDKFONT.
1181         Add extra pango_font stuff to GfkFontPrivate.
1182         
1183         * gdk/linux-fb/gdkdrawable-fb2.c:
1184         * gdk/linux-fb/gdkfont-fb.c:
1185         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
1186         emulation using PangoFont.
1187
1188 2001-01-17  Havoc Pennington  <hp@pobox.com>
1189
1190         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
1191         all the non-deprecated set_foo functions. Added missing object
1192         properties, and added g_object_notify() to setters. 
1193         Wrote docs.
1194         
1195 2001-01-18  Tor Lillqvist  <tml@iki.fi>
1196
1197         * gtk/gtkmain.c
1198         * gtk/gtkrc.c: (Win32) Use the new
1199         g_win32_get_package_installation_(sub)directory() functions.
1200
1201         * config.h.win32.in: New file.
1202         
1203         * config.h.win32: Removed.
1204
1205         * configure.in: Output config.h.win32.
1206
1207         * Makefile.am: Add it to EXTRA_DIST.
1208
1209         * gtk/gtk.def: Update.
1210
1211 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
1212
1213         * gtk/gtklabel.c (gtk_label_size_request): Set the
1214         attributes onto the PangoLayout even if they are newly
1215         created from label->pattern.
1216
1217 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
1218
1219         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
1220
1221         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
1222         structures in functions. Fixes bug where gtk_dataset_*
1223         was accidentally still being used in one place, causing
1224         every dest side event to be treated independently.
1225
1226         * gtk/gtkdnd.c: Remove last vestages of handling
1227         ::draw (fixes warning)
1228         
1229         * gtk/gtkentry.[ch]: Add drag and drop support.
1230
1231         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
1232         new function gtk_check_drag_threshhold() for checking
1233         to check if (dx,dy) has exceeded the threshhold for starting
1234         a drag and use it everywhere.
1235
1236 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
1237
1238         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
1239         add -I{includedir}/gtk-2.0.
1240
1241         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
1242         gdk/gdk-pixbuf.h: Doc fixups.
1243         
1244         * gtk/gtkobject.h: Remove trailing , from enum
1245
1246 2001-01-17 Alexander Larsson <alexl@redhat.com> 
1247
1248         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
1249         Doh! Mixed up x and y.
1250
1251         * gdk/linux-fb/gdkglobals-fb.c:
1252         Removed gdk_fb_pointer_grab_window_events,
1253         added _gdk_fb_pointer_grab_owner_events and
1254         _gdk_fb_keyboard_grab_owner_events.
1255
1256         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
1257         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
1258         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
1259         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
1260         Send crossing events after ungrab finished.
1261         (gdk_keyboard_grab): Set ..._owner_events
1262         (type_masks): Move out of function.
1263         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
1264         gdk_fb_keyboard_event_window): New functions, return the
1265         window an event should be targeted at. Handles grabs and
1266         event propagation. Can return NULL.
1267         (gdk_event_make): Remove event_mask checking. Now always
1268         returns an event.
1269                 
1270         * gdk/linux-fb/gdkkeyboard-fb.c:
1271         * gdk/linux-fb/gdkproperty-fb.c:
1272         * gdk/linux-fb/gdkselection-fb.c:
1273         Use new event_window/gdk_event_make() behaviour.
1274         
1275         * gdk/linux-fb/gdkmouse-fb.c:
1276         Use new event_window/gdk_event_make() behaviour.
1277         Only send motion events if in the same window.
1278         If grabbed, use cursor from window if sibling of grabbed
1279         window, and cursor from grabbed window otherwise.
1280
1281         * gdk/linux-fb/gdkprivate-fb.h:
1282         Update gdk_fb_window_send_crossing_events, gdk_event_make
1283         and grab varaible declarations. Add gdk_fb_*_event_window().
1284
1285         * gdk/linux-fb/gdkwindow-fb.c:
1286         Use new event_window/gdk_event_make() behaviour.
1287         Keep correct track of focus window.
1288         (gdk_window_set_events): Set all specific button motion masks
1289         if GDK_BUTTON_MOTION_MASK set.
1290
1291         * gtk/gtkdnd.c (gtk_drag_update):
1292         Free info->last_event if gdk_drag_motion returned FALSE.
1293
1294 2001-01-16  Tor Lillqvist  <tml@iki.fi>
1295
1296         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
1297         Eliminate redraws when input-only windows are shown or
1298         hidden. Thanks to jpe@archaeopteryx.com.
1299
1300 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
1301
1302         * docs/faq/gtk-faq.sgml: FAQ update:
1303           - Update to bugzilla
1304           - Add GTK+ and security/SUID/SGID
1305           - Add DnD question
1306
1307 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
1308
1309         * gdk/linux-fb/gdkdnd-fb.c:
1310         Some cleanups.
1311         
1312 2001-01-15  Havoc Pennington  <hp@pobox.com>
1313
1314         * tests/testtreeview.c: add test stuff for CellRendererToggle
1315
1316         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
1317         accessor
1318
1319         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
1320         only toggle on button press (would do release like GtkButton, but
1321         we'd need implicit grab code for treeview cells)
1322
1323 2001-01-16  Tor Lillqvist  <tml@iki.fi>
1324
1325         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
1326
1327         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
1328         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
1329
1330         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
1331         to g_{locale,filename}_{to,from}_utf8 to match current API.
1332
1333         * gtk/makefile.msc.in (gtk_OBJECTS)
1334         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
1335
1336         * gtk/gtk.def: Update.
1337
1338 2001-01-15  Tor Lillqvist  <tml@iki.fi>
1339
1340         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
1341         implementaion that more closely mimics the events that an X server
1342         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
1343         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
1344         with nested preview widgets, for instance, more responsive when
1345         you move the mouse quickly into them.
1346         (find_window_for_pointer_event): Make it actually compile.
1347         (gdk_event_translate): Set send_event to the value of
1348         InSendMessage (). This doesn't really mean the same as X11's
1349         send_event flag, but is close enough, says jpe@archaeopteryx.com
1350
1351 2001-01-15  Alexander Larsson  <alexl@redhat.com>
1352
1353         * gdk/linux-fb/gdkdnd-fb.c:
1354         Implemented drag and drop.
1355         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
1356         when it tries to free and then copy the same event (info->last_event).
1357         I am not sure about why this happens, but will continue looking.
1358
1359 2001-01-15  Alexander Larsson  <alexl@redhat.com>
1360
1361         * gdk/linux-fb/gdkwindow-fb.c:
1362         Use gdk_window_invalidate_rect instead of
1363         gdk_window_invalidate_rect_clear to minimise flashing.
1364         When hiding windows you need to clear the root window though.
1365
1366 2001-01-15  Alexander Larsson  <alexl@redhat.com>
1367
1368         * gdk/linux-fb/gdkdrawable-fb2.c:
1369         For optization, add an full_shapes argument to gdk_fb_clip_region.
1370         If this is false, only the cliprects of the shapes are used.
1371
1372         * gdk/linux-fb/gdkprivate-fb.h:
1373         Export gdk_fb_window_peek_shape.
1374         Add full_shapes to gdk_fb_clip_region.
1375
1376         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
1377         When moving a window, don't clear everything under the it, just the
1378         root window. Makes stuff faster and flash less.
1379         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
1380         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
1381         offset of the shape.
1382         
1383
1384 2001-01-12  Havoc Pennington  <hp@redhat.com>
1385
1386         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
1387         current invalid region, fixes redraw bug while scrolling the 
1388         text widget
1389
1390         * gtk/gtktextview.c, gtk/gtktextview.h:
1391         Rearrange the scrolling/validation/etc. code in a major way, 
1392         so it seems to make sense to me. Probably isn't genuinely that
1393         much better, but...
1394
1395         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
1396         notifies
1397
1398         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
1399
1400 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
1401
1402         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
1403         Hide mouse pointer while rotation. Show it afterwards.
1404
1405 2001-01-12  Alexander Larsson  <alexl@redhat.com>
1406
1407         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
1408         windows in consideration when generating clip region.
1409
1410         * gdk/linux-fb/gdkfb.h:
1411         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
1412
1413         * gdk/linux-fb/gdkprivate-fb.h:
1414         Add shape to GdkWindowFBDatat.
1415         exported gdk_fb_window_get_abs_shape().
1416         removed gdk_fb_draw_lines declaration.
1417
1418         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
1419         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
1420         send focus changes when there is a grabbed window.
1421         (gdk_window_get_pointer): Handle shaped windows.
1422         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
1423         (gdk_fb_window_peek_shape): Returns the shape for a window,
1424         handles GDK_FB_USE_CHILD_SHAPE.
1425         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
1426         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
1427         (gdk_window_shape_combine_mask): Implement.
1428
1429         * gtk/gtkwindow-decorate.c:
1430         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
1431         setting the shape of a window makes the window transparent.
1432
1433 2001-01-11  Havoc Pennington  <hp@redhat.com>
1434
1435         * gtk/gtktreemodelsimple.h: Oops, broke some macros
1436
1437 2001-01-10  Havoc Pennington  <hp@redhat.com>
1438
1439         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
1440         add this function, bug 40251
1441
1442         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
1443         of type macro   
1444
1445 2001-01-11  Alexander Larsson  <alexl@redhat.com>
1446
1447         * acconfig.h:
1448         Added ENABLE_SHADOW_FB
1449
1450         * configure.in:
1451         Added --disable-shadowfb
1452
1453         * gdk/linux-fb/gdkcursor-fb.c:
1454         Update shadowfb when updating cursor
1455
1456         * gdk/linux-fb/gdkdrawable-fb2.c:
1457         Added wrappers for shadowfb that calls  the normal drawable
1458         methods, but calls gdk_shadow_fb_update(bounding box) when
1459         GdkWindows are drawed to.
1460         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
1461         which also returns the bounding box.
1462
1463         * gdk/linux-fb/gdkfb.h:
1464         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
1465
1466         * gdk/linux-fb/gdkgeometry-fb.c:
1467         Update shadowfb when scrolling window.
1468
1469         * gdk/linux-fb/gdkglobals-fb.c:
1470         Add _gdk_fb_screen_angle.
1471         
1472         * gdk/linux-fb/gdkkeyboard-fb.c:
1473         Test code for screen rotation. Shift-F2 in the xlate driver
1474         rotates the screen.
1475
1476         * gdk/linux-fb/gdkmain-fb.c:
1477         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
1478
1479         * gdk/linux-fb/gdkmouse-fb.c:
1480         Use fb_width/height instead of modeinfo.xres/yres.
1481
1482         * gdk/linux-fb/gdkprivate-fb.h:
1483         Added fb_men, fb_width, fb_height & fb_stride. When using
1484         shadow fb these can differ from the framebuffer stuff.
1485         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
1486         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
1487         _gdk_fb_screen_angle. Removed CM, RP.
1488
1489         * gdk/linux-fb/gdkrender-fb.c:
1490         Added code for shadowfb handling and screen rotation using
1491         shadowfb.
1492
1493         * gdk/linux-fb/gdkwindow-fb.c:
1494         Use fb_mem, fb_stride, fb_width, fb_height.
1495         Added recompute_rowstride to reset the rowstride of all windows.
1496         Added gdk_fb_recompute_all() which recomputes rootwindow size,
1497         window abs positions and window rowstrides. Usefull when the
1498         rotation has changed.
1499
1500 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
1501
1502         * docs/faq/gtk-faq.sgml: update to make web site updating easier
1503
1504 2001-01-10  Havoc Pennington  <hp@redhat.com>
1505
1506         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
1507         where sibling == iter
1508         (gtk_tree_store_insert_after): handle sibling == iter
1509         (gtk_tree_store_prepend): remove stamp checks
1510         (gtk_tree_store_insert_before): ditto
1511         (gtk_tree_store_append): ditto
1512         (gtk_tree_store_get_path): ditto
1513         (gtk_tree_store_get_value): ditto
1514         (gtk_tree_store_iter_has_child): ditto
1515         (gtk_tree_store_iter_n_children): ditto
1516         (gtk_tree_store_iter_nth_child): ditto
1517         (gtk_tree_store_insert_after): ditto
1518         (gtk_tree_store_is_ancestor): ditto
1519         (gtk_tree_store_iter_depth): ditto
1520         (gtk_tree_store_insert_before): assert that sibling's parent is
1521         the same as the passed-in parent
1522         (gtk_tree_store_insert_after): assert that sibling's parent is
1523         the same as the passed-in parent
1524
1525         
1526         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
1527         function to get the first iterator in a model
1528         
1529         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
1530         conventionally the "root" in this sense is just NULL afaict.
1531
1532         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
1533         where sibling == iter
1534         (gtk_list_store_insert_after): handle case where sibling == iter
1535
1536         * tests/testtreeview.c (run_automated_tests): fairly lame basic
1537         automated tests for ListStore, TreeStore
1538
1539         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
1540         (gtk_list_store_insert): update tail pointer, and fix it to work
1541         (gtk_list_store_insert_before): update tail pointer, and fix it to work
1542         (gtk_list_store_append): use tail to be faster
1543         (gtk_list_store_prepend): fix it, update tail pointer
1544         (gtk_list_store_insert_after): fix it, update tail pointer
1545
1546         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
1547         the list
1548
1549 2001-01-09  Havoc Pennington  <hp@redhat.com>
1550
1551         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
1552         is NULL due to a pending resize
1553
1554         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
1555         column width to values less than 1
1556
1557         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
1558         width to be between min/max width, and still set the width 
1559         even if autosize is turned on, so the tree view can use this 
1560         function in order to autosize.
1561         (gtk_tree_view_column_init): set initial width to 1 not 0
1562
1563         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
1564         setter function to modify column width, so we get notification
1565         (gtk_tree_view_insert_iter_height): ditto
1566         (gtk_tree_view_calc_size): ditto
1567         (gtk_tree_view_check_dirty): ditto
1568
1569         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
1570         properties to change all the interesting attributes of the tree
1571         view column.
1572         (gtk_tree_view_column_set_header_clickable): rename set_clickable
1573         (gtk_tree_view_column_get_clickable): add
1574         (gtk_tree_view_column_set_cell_renderer): don't unset the current
1575         attributes; assume a cell renderer with equivalent object
1576         properties has been swapped in. Do g_object_notify().
1577         (gtk_tree_view_column_set_visible): g_object_notify
1578         (gtk_tree_view_column_get_sizing): rename from get_col_type
1579         (gtk_tree_view_column_set_sizing): g_object_notify
1580         (gtk_tree_view_column_set_width): add g_object_notify
1581         (gtk_tree_view_column_set_min_width): ditto
1582         (gtk_tree_view_column_set_max_width): ditto
1583         (gtk_tree_view_column_set_title): ditto
1584         (gtk_tree_view_column_set_clickable): ditto
1585         (gtk_tree_view_column_set_widget): ditto
1586         (gtk_tree_view_column_set_justification): ditto
1587
1588 2001-01-09  Havoc Pennington  <hp@redhat.com>
1589
1590         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
1591         there are no rows in the model
1592
1593         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
1594         NULL, then return the start of the list
1595
1596         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
1597         if we can't get any rows from an empty model 
1598
1599         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
1600         extraneous * after function pointer typedef usage
1601
1602         * Makefile.am: don't specify full path to cp and rm
1603
1604         * gtk/gtkcellrenderertextpixbuf.c
1605         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
1606         NULL before dereferencing, fixes a segfault that happened from
1607         time to time
1608
1609         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
1610         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
1611         and reindent the function
1612         (gtk_cell_renderer_pixbuf_get_size): indentation
1613
1614         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
1615         we quit it
1616         (gtk_dialog_add_buttons_valist): add g_return_if_fail
1617         (gtk_dialog_set_default_response): New function, to set default
1618         button
1619         (gtk_dialog_set_response_sensitive): New function, to set 
1620         sensitivity of buttons
1621
1622         * gtk/gtkcellrendererpixbuf.c
1623         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
1624         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
1625
1626         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
1627         handle any G_TYPE_OBJECT subclass, not just the base class, and 
1628         also boxed types.
1629         (_gtk_tree_data_list_value_to_node): ditto
1630
1631         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
1632         --gtk-debug=tree
1633
1634         * gtk/gtkmain.c: add GTK_DEBUG_TREE
1635
1636         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
1637
1638 2001-01-09  Tor Lillqvist  <tml@iki.fi>
1639
1640         * gdk/win32/gdkevents-win32.c: Implement better mouse
1641         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
1642         (find_window_for_pointer_event): New function.
1643         (gdk_event_translate): Use it when handling mouse events.
1644
1645 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
1646
1647         * configure.in:
1648         Added --with-included-loaders option
1649
1650         * gdk-pixbuf/Makefile.am:
1651         * gdk-pixbuf/gdk-pixbuf-io.c:
1652         Add support for including selected gdk-pixbuf loaders only.
1653
1654         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
1655         gtk_window_set_has_frame):
1656         Added inline documentation.
1657
1658         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
1659         * docs/reference/gdk/tmpl/windows.sgml:
1660         Added inline documentation.
1661
1662 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
1663
1664         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
1665         realizing buttons that have already been realized.
1666
1667 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
1668
1669         * tests/testtreeview.c (main): Show menu items before adding to
1670         option menu.
1671
1672         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
1673         around if we kill them.
1674
1675         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
1676         Return if we pass in a NULL model.
1677
1678 2001-01-08  Havoc Pennington  <hp@redhat.com>
1679
1680         * tests/testtreeview.c: hack on this some
1681
1682         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
1683         gtk_tree_store_set_valist, v is for arrays, valist for varargs
1684         list
1685         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
1686
1687         * gtk/gtkliststore.h: Add varargs set() and get() convenience
1688         functions
1689
1690 2001-01-08  Alexander Larsson  <alexl@redhat.com>
1691
1692         * gtk/gtkwindow-decorate.[hc]:
1693         * gtk/Makefile.am:
1694         New files. Contains an implementation of a minimal WM for
1695         linux-fb.
1696
1697         * gtk/gtkwindow.h:
1698         Add the possibility for GtkWindows to specify a frame. This
1699         is used for the window decoration code, but could concievably
1700         be used for X programs too (xmms style windows).
1701         GtkWindow->frame is the toplevel window if the window is framed.
1702         The signal frame_event gets all events that are targeted to
1703         GtkWindow->frame.
1704         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
1705         
1706         * gtk/gtkwindow.c:
1707         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
1708         Call out to gtkwindow-decorate.c for WM support in linx-fb.
1709
1710 2001-01-08  Alexander Larsson  <alexl@redhat.com>
1711
1712         * docs/README.linux-fb:
1713         Correct filename ~/.pangoft2_aliases
1714
1715         * gdk/gdkwindow.h:
1716         Added new function gdk_window_get_decorations.
1717
1718         * gdk/linux-fb/gdkfb.h:
1719         Removed _gdk_window_get_decorations declaration.
1720         Renamed _gdk_window_set_child_handler to
1721         gdk_fb_window_set_child_handler.
1722
1723         * gdk/linux-fb/gdkwindow-fb.c:
1724         Renamed _gdk_window_set_child_handler to
1725         gdk_fb_window_set_child_handler.
1726
1727         * gdk/x11/gdkwindow-x11.c:
1728         New function gdk_window_get_mwm_hints().
1729         Implemented gdk_window_get_decorations.
1730
1731         * docs/reference/gdk/tmpl/windows.sgml:
1732         * docs/reference/gdk/gdk-sections.txt:
1733         Added gdk_window_get_decorations docs.
1734         
1735 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
1736
1737         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
1738         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
1739         gdk_fb_window_send_crossing_events):
1740         Possibly send focus events when the mouse moves from one
1741         window to another.
1742
1743 2001-01-07  Tor Lillqvist  <tml@iki.fi>
1744
1745         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
1746         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
1747         to match current API.
1748
1749         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
1750         environment variable is set, don't call g_error when on a
1751         palettized (PseudoColor) display. Some people want to use GTK+ 
1752         in 256-colour mode even though works only partially.
1753
1754         * gdk/gdk.def
1755         * gtk/gtk.def
1756         * gtk/makefile.mingw.in: Update.
1757
1758 2001-01-05  Havoc Pennington  <hp@redhat.com>
1759
1760         * tests/testtreeview.c: hack on this a bit
1761
1762         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
1763         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
1764
1765         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
1766         was spelled incorrectly
1767         (GTK_IS_TREE_MODEL_SIMPLE): ditto
1768
1769         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
1770         from gtk_tree_view_set_headers_active   
1771
1772         * gtk/gtktexttag.c:
1773         (gtk_text_tag_get_property): handle PROP_DIRECTION
1774         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
1775         properties, bug 40235
1776
1777         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
1778         forward_to_line_end
1779
1780 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
1781
1782         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
1783         modules/input/gtkimcontextxim.c: Adapt to new prototypes
1784         for unicode,locale,filename conversion functions.
1785
1786 2001-01-05  Havoc Pennington  <hp@redhat.com>
1787
1788         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
1789         broken if called on the first position in the buffer.
1790
1791         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
1792         forward_to_delimiters to be called only if we aren't already at
1793         the delimiters.
1794
1795 2001-01-05  Havoc Pennington  <hp@redhat.com>
1796
1797         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
1798
1799 2001-01-05  Alexander Larsson  <alexl@redhat.com>
1800
1801         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
1802         colormap in here. Sync from X port.
1803         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
1804         Sync from X port.
1805         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
1806         This happens now and then, and i don't think it is a bug.
1807         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
1808         != endpoint.
1809         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
1810         GDK_LINE_SOLID.
1811
1812         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
1813         some of the fields filled in at least.
1814
1815         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
1816         miLineArcD is no more, remove it from the function definition.
1817
1818 2001-01-04  Havoc Pennington  <hp@redhat.com>
1819
1820         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
1821         this
1822
1823         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
1824         user_data instead of tree_node
1825
1826         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
1827         TREE_VIEW_COLUMN_SIZE
1828
1829         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
1830         "size" field to "width" finishes bug 40061
1831
1832         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
1833         for bitfields, bug 40268
1834
1835 2001-01-04  Havoc Pennington  <hp@redhat.com>
1836
1837         Rename some stuff:
1838         
1839         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
1840
1841         s/GtkModelSimple/GtkTreeModelSimple/g;
1842         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
1843         s/gtk_model_simple/gtk_tree_model_simple/g;
1844         s/gtkmodelsimple/gtktreemodelsimple/g;
1845
1846         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
1847
1848         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
1849         s/column_set_col_type/column_set_sizing/g;
1850
1851         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
1852         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
1853
1854         s/GtkCellRendererType/GtkCellRendererState/g;
1855         
1856         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
1857         (gtk_cell_renderer_toggle_class_init): change "state" property to
1858         "active", to match GtkToggleButton
1859         (gtk_cell_renderer_toggle_get_active): new function, bug
1860         40269
1861         (gtk_cell_renderer_toggle_set_active): new function
1862         (gtk_cell_renderer_toggle_set_property): route changes to toggle
1863         state through gtk_cell_renderer_set_active
1864
1865 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
1866
1867         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
1868         temporarily until they work again.  Brought up to date with
1869         changes in the model.
1870         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
1871         model.
1872
1873 2001-01-04  Havoc Pennington  <hp@redhat.com>
1874
1875         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
1876         equal to the line length, then position iterator before paragraph 
1877         separators. Fixes crash reported by Mikael Hermansson when
1878         pressing left arrow from the start of a line.   
1879
1880         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
1881         about byte indexes off the end
1882         (iter_set_from_char_offset): add g_error about char offsets
1883         off the end
1884
1885 2001-01-03  Havoc Pennington  <hp@redhat.com>
1886
1887         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
1888
1889         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
1890         of private functions; remove inclusion of private headers.
1891
1892         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
1893         function, so we don't need private functions in gtktextdisplay.c
1894
1895         * gtk/gtktextiterprivate.h: underscore-ification
1896
1897         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
1898         to instead say "only useful to implement widgets"
1899
1900         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
1901         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
1902         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
1903
1904         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
1905         This function was completely broken
1906
1907         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
1908
1909         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
1910
1911         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
1912
1913         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
1914
1915         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
1916
1917         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
1918
1919         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
1920         gtk_paint_layout
1921
1922         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
1923         gtk_paint_layout
1924
1925         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
1926         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
1927         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
1928         which were not implemented.     
1929
1930         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
1931         insert_pixbuf signal. Rename delete_text to delete_range since it
1932         also deletes pixbufs and child anchors. This almost closes bug
1933         40245 (still need to deal with child anchors)
1934
1935         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
1936         insert_pixbuf, change signal names as appropriate, change types of
1937         signals taking marks/tags to have the specific type, not just
1938         G_TYPE_OBJECT
1939         
1940         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
1941         closes bug 40051
1942
1943         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
1944         unnecessary remove_contents() call
1945         (gtk_option_menu_class_init): add a "changed" signal, closes
1946         bug 40039
1947         (gtk_option_menu_update_contents): emit "changed" if the 
1948         active menu item changes
1949
1950         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
1951         cast to GtkObject, reported by Jonas Borgstrom
1952         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
1953         we can't do stuff with side effects in finalize. Instead, spew a
1954         warning if the loader isn't closed.
1955
1956         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
1957         colormap in here, non-X ports probably need to sync to this change
1958
1959         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
1960         assertion that colormap != NULL, you can set the colormap to NULL
1961         if you like.
1962         
1963         * Makefile.am: remove gtk-config-2.0
1964
1965         * configure.in: Use pkg-config to locate GLib. Remove
1966         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
1967         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
1968         Use pkg-config to locate Pango. Output correct Pango libs to
1969         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
1970
1971         * Makefile.am (pkgconfig_DATA): install only target-specific pc
1972         files
1973         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
1974         X11 pc files
1975
1976         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
1977         unref from here
1978
1979 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
1980
1981         * configure.in:
1982         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
1983
1984 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
1985
1986         * gtk/gtktextlayout.c
1987         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
1988         variable when moving back onto a single line.
1989
1990 2001-01-01  Havoc Pennington  <hp@redhat.com>
1991
1992         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
1993
1994         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
1995
1996         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
1997         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
1998
1999 2001-01-01  Havoc Pennington  <hp@redhat.com>
2000
2001         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
2002
2003         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
2004         GtkTextAttributes
2005
2006         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
2007         #40246
2008         (gtk_text_attributes_copy_values): rename from 
2009         gtk_text_attributes_copy
2010         (gtk_text_attributes_copy): a more standard GTK copy function, 
2011         which returns a new object
2012
2013 2001-01-01  Havoc Pennington  <hp@redhat.com>
2014
2015         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
2016         
2017         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
2018         don't fill in tree_view->priv->selection, kind of an unexpected
2019         side effect
2020
2021         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
2022         gtkintl.h
2023         
2024         * gtk/gtkcellrenderer.c: Remove definition of _ and include
2025         gtkintl.h
2026         (gtk_cell_renderer_get_property): remove calls to g_value_init
2027
2028         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
2029         gtkintl.h
2030
2031         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
2032         and include gtkintl.h
2033         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
2034         property names
2035
2036         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
2037         GtkTreeSelection
2038         (_gtk_tree_selection_new_from_with_view): rename, return
2039         GtkTreeSelection
2040         (_gtk_tree_selection_set_tree_view): rename with uscore
2041         (gtk_tree_selection_get_selected): fill in the "model" out param
2042         first, so it gets filled in even if we return at the top of the 
2043         function
2044         (gtk_tree_selection_real_select_all): add a comment and an else{}
2045         to clarify this a bit
2046         (gtk_tree_selection_real_unselect_all): add the same else{}
2047
2048         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
2049         set_tree_view to have underscore prefixes, move them to the
2050         private header, fix return type of new_with_tree_view
2051         (struct _GtkTreeSelection): mark struct
2052         fields private  
2053
2054         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
2055         GtkTreeModelFlags, not a guint
2056         (gtk_tree_path_prev): return gboolean not gint
2057         (gtk_tree_path_up): return gboolean not gint
2058
2059         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
2060         return GtkTreeModelFlags, not a guint
2061
2062         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
2063         that child model is non-null before unrefing it
2064         (g_value_int_compare_func): make this a qsort compare func, not 
2065         a boolean predicate
2066
2067         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
2068         (add -umn to the end), and mark it unimplemented
2069         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
2070         I don't see what it's for - doesn't the model always sort itself?
2071         (gtk_tree_model_sort_set_compare): this had the wrong signature
2072
2073         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
2074         Fix the docs to say that it destructively replaces existing
2075         attributes (previously said that it added attributes).
2076         (gtk_tree_view_column_set_visible): canonicalize bool before
2077         equality testing. Also, check for realization before
2078         hiding/showing the tree_column->window; if this window could exist
2079         before realization, then it's busted and needs fixing, we can't 
2080         create GDK resources pre-realization. Also, remove
2081         superfluous queue_resize(), since set_size() does that for us.
2082         (gtk_tree_view_column_set_col_type): check realization before 
2083         using tree_column->window
2084
2085         * gtk/gtktreedatalist.c: fix filename in copyright notice
2086
2087 2000-12-31  Havoc Pennington  <hp@pobox.com>
2088
2089         * gtk/gtktextview.c: Rearrange all the
2090         scroll-while-dragging-or-selecting code to be different, not
2091         necessarily better. ;-)
2092         (gtk_text_view_scroll_to_mark): Change this
2093         function to take within_margin as a fraction instead of a pixel
2094         value, and to take alignment arguments (indicating where to align 
2095         the mark inside the visible area)
2096         
2097         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
2098         to GtkObject
2099
2100         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
2101         behavior so that offsets past the end of the line are not 
2102         allowed, and an offset equal to the line length moves the iterator
2103         to the next line
2104         (gtk_text_iter_set_line_index): make parallel change
2105         (gtk_text_iter_get_bytes_in_line): add this function
2106         
2107         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
2108         of byte indexes off the end of the line; byte index at the end of
2109         the line now returns FALSE and doesn't fill in the requested
2110         values, byte index past the end of the line is an error.  Also,
2111         don't allow -1 offset anymore, since its meaning is unclear.
2112
2113         This change exposes some bug in visual cursor motion, where we
2114         end up with a huge invalid byte index; needs fixing. Symptom of 
2115         bug is a crash when you hit up arrow.
2116         
2117         (_gtk_text_line_char_locate): match the change to byte_locate
2118
2119         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
2120         from start of line properly. fixes bug reported by Mikael
2121         Hermansson where backspace would delete all text before the
2122         cursor.
2123
2124 2000-12-30  Tor Lillqvist  <tml@iki.fi>
2125
2126         * gdk/win32/gdkwindow-win32.c
2127         (gdk_window_impl_win32_get_visible_region): New function, as in
2128         the X11 backend.
2129         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
2130         instead of duplicating the same code here.
2131
2132         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
2133         GDK_COLORMAP macro.
2134
2135         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
2136         destroy function.
2137         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
2138         access that.
2139
2140         * gtk/gtk.def: Update.
2141
2142         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
2143
2144 2000-12-30  Havoc Pennington  <hp@pobox.com>
2145
2146         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
2147         colormap on input only windows, to avoid special cases all over
2148         the code for these windows.
2149
2150 2000-12-26  Tor Lillqvist  <tml@iki.fi>
2151
2152         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
2153         we are on a palettized display ("PseudoColor" in X11), as the code
2154         for that doesn't work anyway, and never has.
2155
2156 2000-12-22  Alexander Larsson  <alexl@redhat.com>
2157
2158         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
2159         Don't use isprint() for chars > 255.
2160
2161 2000-12-21  Havoc Pennington  <hp@redhat.com>
2162
2163         * tests/testtreeview.c: more work
2164
2165 2000-12-21  Alexander Larsson  <alexl@redhat.com>
2166
2167         * docs/README.linux-fb:
2168         Update the docs to the new pangoft2 way.
2169
2170 2000-12-21  Alexander Larsson  <alexl@redhat.com>
2171
2172         * configure.in:
2173         For linux-fb get the pangoft2 cflags and libs. This needs a recent
2174         pango version.
2175         Remove modules/linux-fb/Makefile.
2176
2177         * gdk/linux-fb/gdkdrawable-fb2.c:
2178         Render glyphs using freetype.
2179
2180         * gdk/linux-fb/gdkfb.h:
2181         Add new fb-specific functions needed for managing windows.
2182
2183         * gdk/linux-fb/gdkmain-fb.c:
2184         Remove gdk_font_init/fini() calls.
2185
2186         * gdk/linux-fb/gdkpango-fb.c:
2187         Remove old implementation. Use pangoft2 instead.
2188
2189         * gdk/linux-fb/gdkprivate-fb.h:
2190         Remove PangoFBFont and related stuff.
2191
2192         * gdk/linux-fb/gdkwindow-fb.c:
2193         Implement drawable->get_visible_region.
2194         Implement support for _gdk_window_set_child_handler () and
2195         _gdk_window_get_decorations().
2196
2197         * modules/Makefile.am:
2198         Remove linux-fb subdir.
2199
2200         * modules/linux-fb/*:
2201         Removed all.
2202         
2203 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
2204
2205         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
2206         calls, as they are no longer needed.
2207
2208         * gtk/gtktreemodelsort.c: Fix up the comparison code.
2209         
2210         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
2211         figure out how to emit a signal on an interface.
2212
2213 2000-12-20  Havoc Pennington  <hp@redhat.com>
2214
2215         * tests: new directory to contain tests, gtk/test* should move
2216         here sometime (with appropriate on-cvs-server hackery)
2217
2218         * tests/testtreeview.c, tests/Makefile.am: a test
2219         
2220         * configure.in (AC_OUTPUT): add tests/Makefile
2221
2222         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
2223         and "invisible_set" which were missing
2224
2225         * gtk/gtkrbtree.h: some cheesy indentation fix
2226         
2227 2000-12-20  Alexander Larsson  <alexl@redhat.com>
2228
2229         * gtk/gtkinvisible.c (gtk_invisible_realize):
2230         Attach the style to the window so that the style it is not
2231         leaked when unrealizing the window.
2232
2233 2000-12-18  Havoc Pennington  <hp@redhat.com>
2234
2235         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
2236         begin/end user action where appropriate
2237         (gtk_text_view_commit_handler): add begin/end user action
2238
2239         * gtk/gtktextbuffer.c: add begin/end user action signals, and
2240         bracket interactive operations with begin/end user action pair.
2241         
2242         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
2243         "interactive" arg from insert_text and delete_text signals.
2244         Add begin_user_action, end_user_action signals
2245         (gtk_text_buffer_begin_user_action): 
2246         (gtk_text_buffer_end_user_action): New functions to delimit 
2247         a user-visible action
2248
2249         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
2250         signals.
2251         
2252 2000-12-18  Havoc Pennington  <hp@redhat.com>
2253
2254         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
2255         was pretty non-working.
2256
2257         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
2258         by passing the length to g_utf8_validate().
2259
2260 2000-12-16  Havoc Pennington  <hp@pobox.com>
2261
2262         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
2263         Port to GObject, can go back in gdk-pixbuf after setting up 
2264         a gdk-pixbuf-marshal.h header over there.
2265
2266         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
2267         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
2268         args
2269         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
2270         set
2271         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
2272         here, do it when we create the buttons later
2273         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
2274         (gtk_tree_view_map): paranoia checks that column->button is shown 
2275         and unmapped
2276         (gtk_tree_view_size_request): only request visible children.
2277         Move header size calculation in here, for cleanliness, and 
2278         to maintain invariants for child widgets if we eventually 
2279         let users set different children inside the buttons
2280         (gtk_tree_view_map_buttons): factor out code to map buttons,
2281         since it was being called several times
2282         (gtk_tree_view_size_allocate_buttons): move_resize the drag
2283         windows instead of just moving them; their height may change 
2284         if we allow random widgets in there, or the theme changes.
2285         (gtk_tree_view_size_allocate): move button size allocation 
2286         above emitting the scroll signals, to ensure a sane state when we
2287         hit user code
2288         (gtk_tree_view_button_release): remove queue_resize after
2289         tree_view_set_size(), set_size() will handle any resize queuing
2290         that's needed
2291         (gtk_tree_view_focus_in): just queue a draw, don't fool with
2292         draw_focus goo
2293         (gtk_tree_view_focus): use gtk_get_current_event() and
2294         gdk_event_get_state()
2295         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
2296         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
2297         semicolon
2298         (gtk_tree_view_create_button): show the button here
2299         (gtk_tree_view_button_clicked): actually emit the clicked signal
2300         on the column
2301         (_gtk_tree_view_set_size): return right away if the size is
2302         unchanged, as a cheesy optimization
2303         (gtk_tree_view_setup_model): rename set_model_realized to 
2304         setup_model to match the flag that indicates whether we've 
2305         called it
2306         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
2307         exist, because set_scroll_adjustment does that and it shouldn't
2308         matter what order you call these in
2309         (gtk_tree_view_get_vadjustment): ditto
2310         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
2311         for paranoia
2312         (gtk_tree_view_set_headers_visible): call
2313         gtk_tree_view_map_buttons() instead of using cut-and-paste code
2314         (gtk_tree_view_append_column): clarify whether the return value
2315         is the count of columns before or after, and do the increment 
2316         separately from the return statement so you can tell from the code.
2317         (gtk_tree_view_remove_column): ditto
2318         (gtk_tree_view_insert_column): ditto
2319         (gtk_tree_view_get_column): remove g_return_if_fail for columns
2320         outside the existing range, the docs say that outside-range
2321         columns are allowed, so we handle them as documented. (Presumably
2322         this allows a nice loop with column != NULL as test.)
2323         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
2324         mean (left/right/center etc.).
2325         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
2326         (gtk_tree_view_expand_row): add docs
2327         (gtk_tree_view_collapse_row): add docs
2328
2329         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
2330         function to emit the clicked signal on a column
2331         
2332         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
2333         state of an event
2334         (gdk_event_get_time): don't treat GDK_SCROLL 
2335         as a button event, remove default case from switch so gcc 
2336         will whine if we don't explicitly handle all event types
2337
2338         * gtk/gtktreeselection.h: added some FIXME 
2339         
2340         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
2341         "columns" to "n_columns" and "column" to "columns" for clarity
2342
2343 2000-12-16  Havoc Pennington  <hp@pobox.com>
2344         
2345         * gtk/gtktextiter.c: General cleanup of the log attr iteration
2346         stuff. This should make e.g. the delete key work again in the
2347         text widget...
2348         (gtk_text_iter_forward_cursor_positions): handle negative count
2349         (gtk_text_iter_backward_cursor_positions): handle negative count
2350         (gtk_text_iter_forward_word_ends): handle negative count
2351         (gtk_text_iter_backward_word_starts): handle negative count
2352
2353         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
2354         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
2355         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
2356         GObject. No doubt will cause breakage.
2357
2358         * demos/gtk-demo/textview.c: remove hacks around
2359         non-GObject-ification of the text objects
2360
2361         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
2362         the text tag
2363         
2364 2000-12-14  Havoc Pennington  <hp@pobox.com>
2365
2366         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
2367         that we have Xrender
2368
2369 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
2370
2371         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
2372         Add two virtualized functions gdk_drawable_get_clip_region - to
2373         get the clip region when drawing.
2374         
2375         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
2376         use invalidate_region.
2377
2378         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
2379         region.
2380
2381         * acconfig.h configure.in: Check for Xft. For now, assume
2382         that if Xft is found, Pango was compiled with Xft support
2383         as well.
2384
2385         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
2386         gdk_colormap_query_color().
2387         
2388         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
2389         with Xft if appropriate.
2390
2391         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
2392         a pangoxft context if we have XFT and the environment
2393         variable GD_USE_XFT is set.
2394         
2395         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
2396         and also possibly an XftDraw structure.
2397
2398         * gtk/gtkfontsel.c: Handle the case where the font from the
2399         style doesn't match any of the fonts a bit better.
2400         
2401         * gtk/testgtk.c: Add tabs between directional segments for
2402         hebrew/arabic test. (Not really necessary, just a little
2403         prettier.)
2404
2405 2000-12-14  Havoc Pennington  <hp@redhat.com>
2406
2407         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
2408         reading a file
2409
2410 2000-12-14  Havoc Pennington  <hp@redhat.com>
2411
2412         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
2413         unused call to get_last_line()
2414
2415         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
2416         here until boxed is working (and maybe after that - we should
2417         really not gratuitously break old code)
2418
2419         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
2420         specific types for font_desc and tabs args, move them to
2421         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
2422         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
2423
2424         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
2425         use GTK_TYPE_POINTER for signal signatures as a hack-around
2426
2427         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
2428         PangoTabArray
2429
2430         * gtk/gtktextlayout.c (line_display_iter_to_index): 
2431         make static
2432         (line_display_index_to_iter): make static
2433
2434         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
2435         to marshal a string not a boxed
2436
2437         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
2438
2439         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
2440         since the UTF-8 isn't validated yet
2441
2442         * gtk/gtktextsegment.c (char_segment_check_func): don't require
2443         lines to end in '\n'
2444         
2445         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
2446         forward_to_delimiters, and grapheme boundaries
2447         (gtk_text_view_delete_from_cursor): properly handle non-newline
2448         delimiters, and grapheme boundaries
2449
2450         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
2451         to gtk_text_iter_forward_to_delimiters, and make it work properly
2452         if empty lines end with a character other than '\n'
2453
2454         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
2455         position
2456
2457 2000-12-15  Tor Lillqvist  <tml@iki.fi>
2458
2459         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
2460
2461         * gtk/gtk.def
2462         * gdk/gdk.def: Update.
2463
2464         * gdk/win32/gdkmain-win32.c
2465         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
2466         gdkmain-win32.c here.
2467
2468         * gdk/win32/makefile.mingw.in (all): No need to make
2469         gdk-win32res.o here, the makefile one step up will call us to make
2470         it.
2471
2472         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
2473         gdkkeys-win32.
2474
2475         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
2476
2477         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
2478         call to g_source_add().
2479
2480         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
2481         leak. Thanks to Andreas Kemnade.
2482
2483 2000-12-13  Havoc Pennington  <hp@pobox.com>
2484
2485         * gtk/gtktextbtree.h: Remove double _ in front of some functions
2486
2487         * gtk/gtktext*.[hc]: update accordingly
2488         
2489 2000-12-13  Havoc Pennington  <hp@pobox.com>
2490
2491         * gtk/gtktextbtree.h: Put _ in front of every function in this 
2492         header file
2493
2494         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
2495
2496 2000-12-13  Alex Larsson  <alexl@redhat.com>
2497
2498         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
2499         Add support for ps2 intellimouse.
2500
2501         * gdkkeyboard-fb.c:
2502         Move shift-F1 repaint handling to xlate handler only.
2503         
2504         * docs/README.linux-fb:
2505         Add imps2 to docs.
2506         Document the new refresh keys.
2507         
2508 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
2509
2510         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
2511
2512         * gtk/gtkbox.c: change property types from (u)long to (u)int for
2513         ::position and ::padding.
2514
2515         * gtk/gtkcontainer.c: make ::border_width an INT property.
2516
2517         * gtk/gtkpacker.c: make ::position an INT property.
2518
2519         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
2520         guard against NULL h/v scrollbars, since this is used at construction
2521         time.
2522
2523         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
2524         internal gtk_clist_constructor().
2525
2526         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
2527         gtk_ctree_constructor().
2528
2529         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
2530         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
2531
2532         * docs/reference/Makefile.am: fun stuff, disabled docs generation
2533         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
2534
2535         * gtk/gtkwidget.[hc]:
2536         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
2537         and gtk_widget_get().
2538         (gtk_widget_new): use g_object_new_valist().
2539         (gtk_widget_set): use g_object_set_valist().
2540
2541         * gtk/gtkobject.[hc]:
2542         removed gtk_object_arg_get_info(), gtk_object_getv(),
2543         gtk_object_query_args(), gtk_object_newv(),
2544         gtk_object_class_add_signals(),
2545         gtk_object_class_user_signal_new(),
2546         gtk_object_class_user_signal_newv(),
2547         gtk_object_arg_set(), gtk_object_arg_get(),
2548         gtk_object_args_collect(),
2549         gtk_object_default_construct(),
2550         gtk_object_constructed(),
2551         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
2552         removed nsignals, signals and n_args members from GtkObjectClass.
2553         (gtk_object_new): use g_object_new_valist().
2554         (gtk_object_set): use g_object_set_valist().
2555         (gtk_object_get): use g_object_get_valist().
2556         
2557         * gtk/gtkcompat.h: define gtk_object_default_construct().
2558         
2559         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
2560         g_object_new().
2561
2562         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
2563         fucntions, cleaned up method assignments (make sure your structures
2564         are setup properly before calling out). removed all GTK_CONSTRUCTED
2565         hacks ;)
2566
2567 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
2568
2569         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
2570         off-by-one error in checks. (Dave Lambert)
2571
2572 2000-12-12  Alexander Larsson  <alexl@redhat.com>
2573
2574         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
2575         Don't free gdk_fb_keyboard twice.
2576
2577 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
2578
2579         * gtk/testgtk.c:
2580         (create_tooltips): 
2581         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
2582         use GObject swapped_signal:: properties instead.
2583
2584         * gtk/gtkcellrenderertoggle.c: 
2585         * gtk/gtkcellrenderertextpixbuf.c: 
2586         * gtk/gtkcellrenderertext.c: 
2587         * gtk/gtkcellrendererpixbuf.c: 
2588         * gtk/gtkcellrenderer.c:
2589         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
2590         missing warnings for invalid property ids, install properties
2591         with g_object_class_install_property() now.
2592         
2593         * gtk/gtksignal.c:
2594         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
2595         
2596 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
2597         
2598         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
2599         to determine if a window is the focus widget within
2600         its toplevel.
2601
2602         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
2603         to be boolean.
2604
2605         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
2606         of the case where the container CAN_FOCUS to here instead
2607         of having it in each individual move-the-focus place.
2608
2609         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
2610         focusing to be geometric in a much more obvious sense. Arrowing
2611         around is still non-intuitive because it isn't perfect and
2612         because entries, etc, grab the arrow keys, but it at least
2613         usually will do what you expect now.
2614         
2615         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
2616         file.
2617
2618         * gtk/gtknotebook.c: Change tabs to be a single item in
2619         the focus chain. Make movement of focus on tabs with arrow
2620         keys wrap around.
2621         
2622         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
2623         CHECK_FIND_CHILD macro to give informative error messages
2624         instead of silent returns.
2625
2626         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
2627         flag since we handle GdkReturn on the tabs.
2628
2629         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
2630         windows rather than sending expose events directly.
2631
2632         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
2633         definition for GtkNotebookPage into .c file, since it is private.
2634
2635         * gtk/testgtk.c (create_notebook): Add option for 
2636         testing borderless notebook.
2637
2638         * gtk/testgtk.c (page_switch): Removed egregious poking
2639         around in GTK+ internals.
2640
2641         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
2642
2643         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
2644         properly through gtk_clist_focus. Make the title headers a
2645         single item in the tab-focus chain, and make left-right wrap
2646         around.
2647
2648         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
2649         focus method so that wrapping around works properly.
2650
2651         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
2652         that is handled for the widget now. 
2653
2654 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
2655
2656         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
2657         widgets as TOPLEVEL.
2658
2659         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
2660         TOPLEVEL widgets are containers.
2661
2662         * gtk/gtkinvisible.h: Remove useless include.
2663
2664 2000-12-11  Havoc Pennington  <hp@redhat.com>
2665
2666         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
2667         Handle chopping off \r\n and 0x2029 in addition to \n before
2668         passing to PangoLayout
2669
2670         * gtk/gtkimcontextsimple.c
2671         (gtk_im_context_simple_get_preedit_string): 
2672         return an empty string if no match is pending
2673
2674         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
2675         assertion that the returned preedit string was sane
2676
2677         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
2678         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
2679         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
2680
2681 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
2682
2683         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
2684         Fix up finalizer to chain to its parent.
2685
2686 2000-12-11  Alexander Larsson  <alexl@redhat.com>
2687
2688         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
2689         Clearified the difference between the keyboard types. Wrote a note
2690         about the magic sysrq key to get out of raw mode.
2691
2692 2000-12-09  James Henstridge  <james@daa.com.au>
2693
2694         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
2695         member to hold masks for detecting the start of a protocol packet.
2696         (mouse_devs): add packet start masks for ps2 and ms device types.
2697         Left the mask for fidmour blank, as I have no idea what it should
2698         be.
2699         (handle_mouse_io): skip bytes until we get to the start of a
2700         packet.  My Logitech mouse seems to be passing an extra NULL pad
2701         byte, and GPM does a similar thing here.
2702         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
2703         this is the ms mouse driver.
2704         (gdk_fb_mouse_ms_packet): fix up button handling, which was
2705         completely broken except for button1.  It was checking the wrong
2706         bit in the packet for the status of the right mouse button, and
2707         wrongly assuming right == button2 rather than 3.  I fixed that and
2708         also added support for middle button (button2).
2709
2710 2000-12-08  Havoc Pennington  <hp@redhat.com>
2711
2712         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
2713         that cause a segfault on text insertion
2714
2715         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
2716         warning
2717
2718         * gtk/gtktextiter.c (test_log_attrs): use
2719         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
2720
2721         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
2722         Get log attrs for a line, using a cache stored on the buffer
2723         
2724         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
2725         reported by Jeff Franks
2726
2727 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
2728
2729         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
2730         /dev/ttyS0 -> /dev/mouse
2731
2732 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
2733
2734         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
2735         Added dummy gdk_fontset_load.
2736
2737 2000-12-08  Alexander Larsson  <alexl@redhat.com>
2738
2739         * docs/README.linux-fb:
2740         * docs/Makefile.am:
2741         Initial GtkFB docs.
2742         
2743         * gdk/linux-fb/Makefile.am:
2744         Define GDK_DATA_PREFIX.
2745
2746         * gdk/linux-fb/gdkmain-fb.c:
2747         Fix typo.
2748         Change default display to /dev/fb0.
2749
2750         * gdk/linux-fb/gdkpango-fb.c:
2751         Add $(prefix)/share/fonts/ to font path.
2752         
2753 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
2754
2755         * gdk/linux-fb/gdkkeyboard-fb.c:
2756         New file containing the abstracted keyboard driver. Most code
2757         taken from gdkinput-ps2.c
2758
2759         * gdk/linux-fb/gdkinput-ps2.c:
2760         Removed file.
2761         
2762         * gdk/linux-fb/Makefile.am:
2763         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
2764
2765         * gdk/linux-fb/gdkcolor-fb.c:
2766         display->fb was renamed to display->fb_fd.
2767
2768         * gdk/linux-fb/gdkcursor-fb.c:
2769         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2770
2771         * gdk/linux-fb/gdkinput.c:
2772         Moved gdk_input_init here from gdkinput-ps2.c
2773
2774         * gdk/linux-fb/gdkmain-fb.c:
2775         display->fb was renamed to display->fb_fd.
2776         Now the tty and the console is opened here instead
2777         of in the keyboard driver. Also check GDK_VT to see what
2778         tty to open.
2779         Move gdk_beep () here from gdkinput-ps2.c
2780         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2781
2782         * gdk/linux-fb/gdkmouse-fb.c:
2783         Add header.
2784         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2785         Return correct keyboard modifiers.
2786         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
2787
2788         * gdk/linux-fb/gdkprivate-fb.h:
2789         Add tty and vt info to display.
2790         Add orignal modeinfo storage to display
2791         Update global functions
2792
2793         * gdk/linux-fb/gdkwindow-fb.c:
2794         Added gdk_fb_window_find_focus().
2795         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2796
2797 2000-12-07  Havoc Pennington  <hp@pobox.com>
2798
2799         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
2800         function, noticed by Alex
2801
2802 2000-12-06  Elliot Lee  <sopwith@redhat.com>
2803
2804         * configure.in: Detect freetype properly
2805
2806         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
2807         above.
2808
2809 2000-12-06  Alexander Larsson  <alexl@redhat.com>
2810
2811         * gdk/linux-fb/Makefile.am:
2812         Add gdkmouse-fb.c
2813         
2814         * gdk/linux-fb/gdkmouse-fb.c:
2815         New file. Abstracted the mouse drivers a bit.
2816
2817         * gdk/linux-fb/gdkcursor-fb.c:
2818         The cursor hide/show functions was moved here from gdkinput-ps2.c.
2819
2820         * gdk/linux-fb/gdkinput-ps2.c:
2821         Removed old mouse handling code. Moved cursor handling code
2822         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
2823         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
2824         gdk_mouse_get_info.
2825
2826         * gdk/linux-fb/gdkmain-fb.c:
2827         Pass NULL pointers for x,y in gdk_mouse_get_info call.
2828
2829         * gdk/linux-fb/gdkprivate-fb.h:
2830         Removed public gdk_fb_find_common_ancestor, added and renamed
2831         functions for the new mouse handling code.
2832
2833         * gdk/linux-fb/gdkwindow-fb.c:
2834         Moved gdk_fb_window_send_crossing_events here. added global
2835         variable gdk_fb_window_containing_pointer. made
2836         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
2837         renamed to gdk_mouse_get_info.
2838
2839 2000-12-06  Alexander Larsson  <alexl@redhat.com>
2840
2841         * gdk/linux-fb/gdkevents-fb.c:
2842         Update to match latest gmain/gsource changes.
2843
2844         * gdk/linux-fb/gdkinput-ps2.c:
2845         Bogus gdk_keymap_get_entries_for_keycode implementation so that
2846         it links. Will be implemented later.
2847
2848 2000-12-03  Havoc Pennington  <hp@pobox.com>
2849
2850         * gdk/Makefile.am: add gdkkeys.[hc]
2851
2852         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
2853         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
2854
2855         * acconfig.h, configure.in: add checks and command line options
2856         for XKB
2857
2858         * gdk/x11/gdkkeys-x11.c: Implement the above functions
2859         
2860         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
2861         and group in the key event
2862
2863         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
2864         field with the low-level hardware key code, and a group
2865         field with the keyboard group
2866
2867         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
2868         and declare a couple globals used for keymap handling
2869         
2870         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
2871         hold down Shift-Control and type a hex number to get a Unicode 
2872         character corresponding to the hex number
2873         (gtk_im_context_simple_get_preedit_string): Fix cursor position
2874         (return bytes not chars)
2875
2876 2000-12-05  Elliot Lee  <sopwith@redhat.com>
2877
2878         * gdk/gdkcolor.h: Make GdkColor specify element sizes
2879         to avoid waste on 64-bit platforms.
2880
2881 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
2882
2883         * INSTALL: Fix link to PNG home, remove reference
2884         to fribidi.
2885
2886         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
2887         
2888         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
2889         tested.)
2890
2891         * gtk/gtkcheckmenuitem.c: Permanently turn on
2892         always_show_toggle.
2893
2894         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
2895         be NULL. (Vladimir Klebanov, #26545)
2896
2897         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
2898         some signed/unsigned comparison problems. (#6510,
2899         David Kaelbling)
2900
2901         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
2902         return type to boolean (Oskar Liljeblad, #18648)
2903
2904 2000-12-05  Alexander Larsson  <alexl@redhat.com>
2905
2906         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
2907         Remove bogus colormap setting.
2908
2909 2000-12-05  Alexander Larsson  <alexl@redhat.com>
2910
2911         * gdk/linux-fb/gdkcolor-fb.c:
2912         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
2913
2914         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
2915         Must set colormap.
2916         
2917 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
2918
2919         * docs/tutorial/gtk-tut.sgml: DND updates
2920
2921 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
2922
2923         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
2924         Remove old debug g_warning().
2925         (gdk_fb_draw_drawable): The src argument can be either a wrapper
2926         or an implementation, just pass the implementation to draw_drawable_2.
2927         
2928         * gdk/linux-fb/gdkprivate-fb.h:
2929         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
2930
2931         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
2932         clear and invalidate area when window is destroyed.
2933         (send_map_events): Remove old commented out code.
2934
2935 2000-12-05  Alexander Larsson  <alexl@redhat.com>
2936
2937         * gdk/linux-fb/gdkpango-fb.c:
2938         Use italic instead of oblique in font aliases.
2939         
2940         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
2941         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
2942         other unsupported functions.
2943
2944 2000-12-04  Havoc Pennington  <hp@redhat.com>
2945
2946         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
2947
2948         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
2949
2950         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
2951
2952         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
2953         hack to avoid infinite loops (synthetic expose event) - 
2954         Owen has more appropriate fixes in a branch he'll check in later.
2955
2956         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
2957         separator, CR, and CRLF as line ends
2958
2959         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
2960         into lines using pango_find_paragraph_boundary(); other bits of
2961         the widget are still going to be broken if the boundary isn't '\n'
2962         though
2963
2964 2000-12-04  Alexander Larsson  <alexl@redhat.com>
2965
2966         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
2967         multiply.
2968
2969         * gdk/linux-fb/gdkpango-fb.c:
2970         Copied some 26.6 scaling macros from pango to clean up the rounding.
2971         (pango_fb_font_get_glyph_info): Correct sign on x value.
2972
2973         * gdk/linux-fb/gdkprivate-fb.h:
2974         Removed unreferenced external functions.
2975
2976         * modules/linux-fb/Makefile.am: Use ` instead of '.
2977
2978         * modules/linux-fb/basic.c:
2979         Remove dead code. In particular the dummy lang engine which broke all
2980         pango layouts in GtkFB. Don't include tables-big.i anymore.
2981
2982         * modules/linux-fb/tables-big.i:
2983         Upgrade to latest version from pango. Left for reference, basic_ranges
2984         moved to basic.c.
2985         
2986 2000-12-04  Havoc Pennington  <hp@redhat.com>
2987
2988         Fix bugs Alex found:
2989         
2990         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
2991         to "draw"
2992
2993         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
2994
2995         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
2996
2997         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
2998         implementation in here, apparently the expose() implementation was
2999         dead code.
3000
3001 2000-12-04  Alexander Larsson  <alexl@redhat.com>
3002
3003         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
3004         Return positive descent.
3005
3006 2000-12-02  Havoc Pennington  <hp@pobox.com>
3007
3008         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
3009         method and signal
3010         
3011         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
3012         calls gdk_window_process_updates() to push the exposes through
3013         (gtk_widget_class_init): No more draw signal, no
3014         gtk_widget_real_draw()  
3015         
3016         * gtk/gtkbin.c (gtk_bin_draw): remove
3017
3018         * gtk/gtkbox.c (gtk_box_draw): remove
3019
3020         * gtk/gtkbutton.c (gtk_button_draw): remove
3021
3022         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
3023
3024         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
3025
3026         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
3027
3028         * gtk/gtkclist.c (gtk_clist_draw): remove
3029
3030         * gtk/gtkentry.c (gtk_entry_draw): remove
3031
3032         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
3033
3034         * gtk/gtkfixed.c (gtk_fixed_draw): remove
3035
3036         * gtk/gtkframe.c (gtk_frame_draw): remove
3037
3038         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
3039
3040         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
3041
3042         * gtk/gtklayout.c (gtk_layout_draw): remove
3043
3044         * gtk/gtklist.c (gtk_list_draw): remove
3045
3046         * gtk/gtklistitem.c (gtk_list_item_draw): remove
3047
3048         * gtk/gtkmenu.c (gtk_menu_draw): remove
3049
3050         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
3051
3052         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
3053
3054         * gtk/gtknotebook.c (gtk_notebook_draw): remove
3055
3056         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
3057
3058         * gtk/gtkpacker.c (gtk_packer_draw): remove
3059
3060         * gtk/gtkrange.c (gtk_range_draw): remove
3061
3062         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
3063
3064         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
3065
3066         * gtk/gtktable.c (gtk_table_draw): remove
3067
3068         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
3069
3070         * gtk/gtktext.c (gtk_text_draw): remove
3071
3072         * gtk/gtktextview.c (gtk_text_view_draw): remove
3073
3074         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
3075
3076         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
3077
3078         * gtk/gtktree.c (gtk_tree_draw): remove
3079
3080         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
3081
3082         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
3083
3084         * gtk/gtkviewport.c (gtk_viewport_draw): remove
3085
3086         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
3087
3088         * gtk/gtkvscale.c (gtk_vscale_draw): remove
3089
3090         * gtk/gtkwindow.c (gtk_window_draw): remove
3091
3092 2000-20-01  Anders Carlsson  <andersca@gnu.org>
3093
3094         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
3095         a GtkToggleButton is both insensitive and active, it was being
3096         drawn by the GtkButton draw handler which doesn't check the
3097         state. Now it's calling gtk_toggle_button_paint instead.
3098         
3099 2000-12-01  Havoc Pennington  <hp@redhat.com>
3100
3101         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
3102         dangling pointers to the appearance attributes from the 
3103         line display
3104
3105         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
3106         width/height to mean "full width/height of drawable"
3107
3108         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
3109         click to select word/line
3110         
3111         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
3112         when getting log attrs. Get a slice, so that pixmaps and stuff
3113         are properly handled.
3114
3115         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
3116         paste into the selection (replaces selection now, previously
3117         crashed or added to selection). Reveals longstanding btree bug -
3118         select multiple lines, middle-click on the selection, boom. This
3119         isn't related to my changes though.
3120
3121         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
3122         PangoLogAttrs changes
3123         (gtk_entry_move_backward_word): ditto
3124
3125         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
3126         functions return bool whether the iter moved onto a
3127         dereferenceable position.
3128  
3129         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
3130         functions for motion in terms of display lines.
3131
3132         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
3133         get the buffer a mark is inside
3134         
3135 2000-12-01  Alexander Larsson  <alexl@redhat.com>
3136
3137         * gdk/linux-fb/Makefile.am:
3138         * modules/linux-fb/Makefile.am:
3139         Freetype 2 final uses freetype-config
3140
3141         * gdk/linux-fb/gdkpango-fb.c:
3142         Upgrade to use Freetype 2 final.
3143         More flexible support for font aliases, this also fixes a bug with
3144         GtkFontSelector, as the aliases must be visible in the font/family list,
3145         or GtkFontSelector reads uninitialized memory.
3146
3147 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
3148
3149         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
3150         XGetIMValues to properly terminate variable argument list, and do
3151         NULL return check for ic_values and xim_styles.
3152
3153         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
3154         Restore preedit state after XmbResetIC().
3155         
3156         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
3157         XvaCreateNestedList() should take XvaNestedList, but not
3158         XvaNestedList*.
3159
3160         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
3161         preedit_draw_callback, preedit_caret_callback): Match
3162         "preedit-changed" signal name to "preedit_changed" to be
3163         consistent to the spec.
3164
3165         * gtk/gtkimcontextsimple.c (check_table):
3166         Match "preedit-changed" to "preedit_changed" to be consistent
3167         to the spec.
3168
3169 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
3170
3171         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
3172         gc->clip_region == NULL>
3173
3174 2000-11-30  Tor Lillqvist  <tml@iki.fi>
3175
3176         Changes by Hans Breuer:
3177         
3178         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
3179         Dont't use negative width and height as max_hints. This fixes
3180         Owen's recent testgtk changes for win32.
3181
3182         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
3183         gdk_win32_hdc_release): These are exported and may be called with
3184         other drawable types than our GdkDrawableImplWin32 (?).
3185
3186         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
3187         so always #define USE_BACKING_STORE.
3188
3189         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
3190         of printf for debugging output.
3191
3192         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
3193         
3194         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
3195
3196         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
3197         declaration.
3198
3199         * gtk/gtktexttypes.h: Ditto.
3200
3201         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
3202         (GDK_VoidSymbol) also if in case of arg check failure.
3203
3204         * gtk/gtkimcontextsimple.c
3205         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
3206         position to the pointer, but to the variable it points to.
3207
3208         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
3209
3210         * gtk/gtk.def: Updates.
3211
3212 2000-11-29  Elliot Lee  <sopwith@redhat.com>
3213
3214         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
3215         GTK_TYPE_TREE_MODEL.
3216
3217 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3218
3219         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
3220         Set the size of the font from the description.
3221         (gdk_text_width): Gross hack that calculates the width
3222         of text by text_length * size/2. This is necessary because
3223         GtkLabel does some ugly gtk_string_width call to calculate
3224         an good size.
3225         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
3226
3227 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
3228
3229         * docs/tutorial/gtk-tut.sgml: DND updates
3230
3231 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3232
3233         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
3234         If you pass width or height == 0 to gdk_window_clear_area they
3235         should be calculated from the window size.
3236
3237 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3238
3239         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
3240         a grab, but no grab-cursor, use the cursor from the grabbed
3241         window. (gdk_fb_window_send_crossing_events): Send normal
3242         enter/leave notifications if grab and owner_events == TRUE.
3243
3244 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3245
3246         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
3247         Do implicit button grabs, even if the window doesn't
3248         want the event.
3249         (gdk_fb_window_send_crossing_events): If there is a
3250         grab, only the grabbed window gets normal enter/leave
3251         notifications. On ungrab go from grabbed window to current.
3252         Don't send any notification to b when propagating from c -> b.
3253         If setting a grab on window, don't set prev_window.
3254         (handle_mouse_input): Send enter/leave events to the window the
3255         mouse is over, not the grabbed one.
3256         
3257 2000-11-28  Elliot Lee  <sopwith@redhat.com>
3258
3259         * gdk/gdkregion-generic.c: Zap warning.
3260         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
3261         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
3262
3263 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
3264
3265         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
3266         The cursor should be hidden if it is part of either the
3267         source or destination region. Not only if it is in both.
3268         (gdk_window_set_transient_for): Silence warnings.
3269
3270 2000-11-28  Alexander Larsson  <alexl@redhat.com>
3271
3272         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
3273         The default mode in X is Pie Arcs, therefore that is
3274         what Gtk+ uses.
3275
3276 2000-11-28  Alexander Larsson  <alexl@redhat.com>
3277
3278         * gdk/linux-fb/gdkinput-ps2.c:
3279         Implement correct EnterNotify/LeaveNotify:
3280         (gdk_fb_window_send_crossing_events): New function that sends
3281         all GdkCrossingEvents from the last mouse-window to the specified
3282         destination.
3283         (gdk_fb_window_visibility_crossing): Removed function.
3284         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
3285         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
3286         instead of gdk_window_get_pointer() for better readability.
3287
3288         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
3289         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
3290
3291         * gdk/linux-fb/gdkprivate-fb.h:
3292         removed gdk_fb_window_visibility_crossing, added
3293         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
3294
3295         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
3296         New function that finds the least common ancestor of two windows.
3297         (gdk_window_show, gdk_window_hide):
3298         Use gdk_fb_window_send_crossing_events.
3299         (gdk_fb_window_move_resize): Send configure events to toplevel
3300         windows. Use gdk_fb_window_send_crossing_events.
3301
3302 2000-11-27  Havoc Pennington  <hp@redhat.com>
3303
3304         * gtk/gtkprivate.h (enum): Remove a trailing comma
3305
3306 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
3307
3308         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
3309         the "changed" callback of the adjustment.  We need to redraw the
3310         spin button's arrows when the adjustment's range changes.
3311         (adjustment_changed_cb): Draw the arrows.
3312         (gtk_spin_button_value_changed): Draw the arrows.
3313
3314 2000-11-23  Alexander Larsson  <alexl@redhat.com>
3315
3316         * gdk/linux-fb/gdkselection-fb.c:
3317         Initial selection implementation.
3318
3319         * gtk/gtkselection.c:
3320         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
3321         requestor in gtk_selection_request.
3322         
3323         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
3324         Added gdk_selection_property atom.
3325
3326         * gdk/linux-fb/gdkprivate-fb.h:
3327         Export _gdk_selection_window_destroyed.
3328         Removed mask_off_x/y from GdkCursorPrivateFB.
3329         Removed hbearing, added top, left to PangoFBGlyphInfo.
3330
3331         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
3332         Call _gdk_selection_window_destroyed
3333         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
3334         the root window has been created.
3335         (static_dx_hack, static_dy_hack, compare_draw_rects,
3336         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
3337         in region. They are already sorted. Instead just traverse them in
3338         reverse if draw_direction < 0.
3339         
3340         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
3341         Double-clicks must be sent after the normal button_press.
3342         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
3343         
3344         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
3345         Pass _gdk_fb_screen_gc instead of NULL.
3346
3347         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
3348         Initialize gdk_selection_property.
3349         (gdk_event_make): Remove unused code.
3350
3351         * gdk/linux-fb/gdkcursor-fb.c:
3352         Make the pixmap for the cursor the same size as the mask. Also remove
3353         the mask_off_x/y fields in GdkCursorPrivateFB and combine
3354         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
3355         Now the whole cursor is visible.
3356
3357         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
3358         Fix bug where xdest+height instead of ydest+height was used
3359         to calculate if the source and dest overlapped. This fixes the
3360         redraw bug when the main window in testgtk was scrolled when
3361         partially covered by a tall window.
3362         Copy rectangles in region in order depending on draw_direction.
3363         Also moved the draw_direction flipping of start_y and end_y into
3364         the gc functions, as this might not be what all of them want.
3365         (gdk_fb_draw_lines): Support dashed lines.
3366         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
3367         so that the text is positioned correctly (was 1 pixel high).
3368
3369         gdk/linux-fb/gdkgc-fb.c:
3370         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
3371         all lines were drawn a pixel to short. Also checked the default of
3372         the rest of the values, and they're the same as X now.
3373
3374         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
3375         Clean up pixel positioning of the glyphs. Just use bgy->top and
3376         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
3377         to all divisions to get correct rounding behaviour.
3378
3379         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
3380         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
3381         Moved start_y/end_y flip into draw_drawable implementations.
3382         Flip also x rendering when draw_direction < 0.
3383         Remove unneccesary multiply with draw_direction.
3384
3385 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
3386
3387         * docs/tutorial/gtk-tut.sgml:
3388           - get rid of gtk_toggle_button_toggled FUD
3389           - start DND section - needs work - based on:
3390                 http://wolfpack.twu.net/docs/gtkdnd/
3391
3392 2000-11-22  Alexander Larsson  <alexl@redhat.com>
3393
3394         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
3395         Correct calculation of font metrics. Now GtkEntrys have sane
3396         size.
3397
3398 2000-11-22  Alexander Larsson  <alexl@redhat.com>
3399
3400         * gdk/gdktypes.h:
3401         Add new type GdkSpan
3402         
3403         * docs/reference/gdk/gdk-sections.txt,
3404         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
3405         gdk/gdkregion.h:
3406         Implement and document gdk_region_spans_intersect_foreach.
3407
3408         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
3409         Add new file gdkrender-fb.c which contains all core
3410         rendering code.
3411         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
3412         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
3413         (optimized rectangle fillers).
3414
3415         * gdk/linux-fb/gdkdrawable-fb2.c:
3416         Move all rendering code to gdkrender-fb.c.
3417         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
3418         Use the new span intersection functions in gdk_fb_fill_spans.
3419         gdk_fb_draw_rectangle() clips filled rectangles and calls
3420         gc->fill_rectangle with the result.
3421         gdk_fb_fill_spans() gets extra argument "sorted".
3422
3423         * gdk/linux-fb/gdkevents-fb.c:
3424         Remove unused includes and defines.
3425         New function gdk_fb_get_time() to get correct time for events.
3426
3427         * gdk/linux-fb/gdkinput-ps2.c:
3428         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
3429         Make sure to set the time of all events.
3430
3431         * gdk/linux-fb/gdkmain-fb.c:
3432         Use gdk_fb_get_time ().
3433
3434         * gdk/linux-fb/gdkprivate-fb.h:
3435         New virtual GC calls: fill_span & fill_rectangle.
3436         Export gdk_fb_get_time().
3437         gdk_fb_fill_spans() gets extra argument "sorted".
3438
3439         * gdk/linux-fb/mi*.c:
3440         Use GdkSpan instead of GdkRectangle.
3441         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
3442         from XFree 4 source)
3443         
3444 2000-11-22    <jrb@redhat.com>
3445
3446         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
3447         reversing the order in an if statement will do.  Doing so managed
3448         to make the treemodelsort half work.  Other half will follow after
3449         I get the insert function fully fixed.
3450
3451 2000-11-21  Elliot Lee  <sopwith@redhat.com>
3452         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
3453         more than 2 bits. Besides, I need to implement an evil hack. :)
3454
3455 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
3456
3457         * docs/tutorial/gtk-tut.sgml: minor corrections
3458
3459 2000-11-20  Jonathan Blandford <jrb@redhat.com>
3460         * gtk/gtktreemodelsort.h: Add convertion functions to let you
3461           convert to and from relative path's and iters.
3462
3463         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
3464           testing sorting functions a bit better.  Currently broken -- will
3465           fix in morning.
3466
3467 2000-11-20  Havoc Pennington  <hp@redhat.com>
3468
3469         * gtk/gtkwidget.c: Documented a bunch of functions in here
3470         (gtk_widget_realize): Warn if you try to realize
3471         a widget with no parent that isn't a toplevel
3472         (gtk_widget_intersect): return a gboolean
3473
3474 2000-11-20  Havoc Pennington  <hp@redhat.com>
3475
3476         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
3477         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
3478         scrolling to be implemented in GDK to finish. Also, right now
3479         we just size_allocate all children on every layout change,
3480         which is pretty lame. Test commented out of testtext.c, 
3481         until it works better.
3482
3483 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
3484
3485         * gdk/linux-fb/gdkdrawable-fb2.c:
3486         Removed unused arguments from gdk_fb_drawable_get_pixel().
3487
3488         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
3489         Renamed fidur specific mouse packet data in MouseDevice to
3490         generic. Used it in ps2 mouse handling code to avoid blocking
3491         reads.
3492
3493 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
3494
3495         * demos/gtk-demo/main.c: Changed to have the list become
3496         non-italic when the demo window is destroyed through an external
3497         event (like a close button).  Doing so found three bugs in the
3498         widget.
3499
3500         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
3501
3502         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
3503         we actually set the cell.
3504
3505         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
3506
3507         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
3508         free a leaked path.  Thanks memprof.
3509
3510 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
3511
3512         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
3513         off-by-one error when destroying allocated segments
3514         on failure. (Elliot)
3515
3516 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
3517
3518         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
3519         memleaks found by Evan Martin.
3520
3521 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
3522
3523         * Released 1.3.2
3524         
3525         * NEWS: Updates for 1.3.2
3526
3527 2000-11-17  Tor Lillqvist  <tml@iki.fi>
3528
3529         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
3530         but in general for window system specific events.
3531
3532         * gtk/gtk.def
3533         * gtk/makefile.mingw.in
3534         * gtk/makefile.msc.in: Update.
3535         
3536         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
3537
3538 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
3539
3540         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
3541         distribute gtk.immodules.
3542
3543         * gtk/Makefile.am (install-data-local): Don't install the
3544         gtk.immodules file created for the uninstalled modules;
3545         instead run gtk-query-immodules after install
3546
3547 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
3548
3549         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
3550         -rpath to the right install location.
3551
3552         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
3553         -export-dynamic.
3554
3555         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
3556         properly.
3557
3558 2000-11-15  Havoc Pennington  <hp@pobox.com>
3559
3560         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
3561         patch from Mikael Hermansson to temporarily stop blinking while
3562         the user is using the keyboard to type or navigate. 
3563
3564         Also, when blinking, stay on for longer than we stay off. Also,
3565         return from start_cursor_blink if !cursor_visible, to save
3566         checking that flag all over the place before we call
3567         start_cursor_blink.
3568
3569 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
3570
3571         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
3572         only contain a "fontset" line, which is now ignored.
3573
3574         * gtk/gtkentry.c (gtk_entry_button_release): Make 
3575         double-click-to-select-word work.
3576         
3577 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
3578
3579         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
3580         Don't move back one char when we are actually at the end of the 
3581         paragraph.
3582
3583 2000-11-15  Robert Brady  <robert@suse.co.uk>
3584
3585         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
3586         'o' < 'p'.
3587         
3588         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
3589         bind_textdomain_codeset.
3590
3591         (gtk_init_check): Make the warning about translating default:LTR
3592         sterner.
3593         
3594 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
3595
3596         * **/Makefile.am : remove unecessary rules for win32-specific
3597         config-substituted targets. If you want these rules, use
3598         --enable-maintainer-mode (called automatically by autogen.sh).
3599         Stops a lot of unneccessary make-time warnings.
3600
3601         * gtk/gtktext{layout,display}.c: Factor in total width as
3602         well as screen when figuring alignment for word-wrap as well as
3603         no wrap; this is necessary to handle lines that cannot be wrapped
3604         at all.
3605
3606 2000-11-15  Havoc Pennington  <hp@redhat.com>
3607
3608         * gtk/testtext.c: Implement essential color cycling feature
3609
3610 2000-11-15  Havoc Pennington  <hp@redhat.com>
3611
3612         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
3613         when we invalidate the main window.
3614
3615         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
3616         GtkTextView will now invalidate the side windows for us when text
3617         changes.
3618
3619 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
3620
3621         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
3622         unconditionally, since we may need to update the horizontal
3623         scrollbars even if the height didn't change.
3624
3625         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
3626         the extra attrs, since some of them affect size.
3627
3628         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
3629         x_offset correctly.
3630
3631 2000-11-15  Havoc Pennington  <hp@redhat.com>
3632
3633         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
3634         don't move the first line out into the margin, instead move the
3635         whole paragraph in order to make space for the first line within 
3636         the margin
3637
3638 2000-11-15  Havoc Pennington  <hp@redhat.com>
3639
3640         * gtk/gtktextview.c (changed_handler): offset redraw rect by
3641         xoffset in addition to yoffset, so horizontal scrolling doesn't
3642         break redraws
3643
3644 2000-11-15  Havoc Pennington  <hp@redhat.com>
3645
3646         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
3647         from the cursor
3648         (render_layout_line): fix reversed test that caused weird
3649         underlines to get drawn
3650
3651 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
3652
3653         * gdk/linux-fb/gdkprivate-fb.h:
3654         Fix debug macros.
3655         
3656 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
3657
3658         * gdk/linux-fb/gdkprivate-fb.h:
3659         Added virtual functions set_pixel, get_color,
3660         fill_span and draw_drawable to the GC.
3661         Added global _gdk_fb_screen_gc to use instead of
3662         NULL when drawing to the screen.
3663         Added _gdk_fb_gc_calc_state() prototype.
3664
3665         * gdk/linux-fb/gdkgc-fb.c:
3666         Call _gdk_fb_gc_calc_state() on any gc state change.
3667
3668         * gdk/linux-fb/gdkglobals-fb.c:
3669         Add _gdk_fb_screen_gc
3670                 
3671         * gdk/linux-fb/gdkdrawable-fb2.c:
3672         _gdk_fb_gc_calc_state() calculates best functions
3673         for the GC state and depth.
3674         Moved bpp specialized code to separate functions.
3675         Added optimized 24 bpp AA draw_drawable.
3676
3677         * gdk/linux-fb/gdkevents-fb.c:
3678         Silence gcc warning.
3679
3680         * gdk/linux-fb/gdkimage-fb.c:
3681         Use _gdk_fb_screen_gc
3682
3683         * gdk/linux-fb/gdkwindow-fb.c:
3684         Init and use _gdk_fb_screen_gc
3685
3686         * gdk/linux-fb/mitypes.h:
3687         Remove unused types.
3688
3689 2000-11-14  Havoc Pennington  <hp@pobox.com>
3690
3691         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
3692         to pixels
3693
3694 2000-11-14  Havoc Pennington  <hp@pobox.com>
3695
3696         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
3697
3698         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
3699         unknown char, no real reason we were using a variable. 
3700         Remove gtk_text_unknown_char variable. Fix all the text widget
3701         files accordingly.
3702
3703         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
3704         since the Unicode spec seems to prefer that character for our
3705         purposes.
3706
3707 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
3708
3709         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
3710         value of g_getenv() isn't freeable, so g_strdup it.
3711
3712         * modules/input/inuktitut.c: Inuktitut input method.
3713
3714         * modules/input/Makefile.am: Build this.
3715         
3716 2000-11-14  Elliot Lee  <sopwith@redhat.com>
3717
3718         * gtk/Makefile.am: Install gtk.immodules, needed for operation
3719         of gtk programs.
3720
3721 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
3722
3723         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
3724         reversed > that was causing Home to go to end of previous line.
3725
3726         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
3727         modified-keypresses (leave for bindings.)
3728
3729         * modules/input/Makefile.am: Remove useless -export-dynamic
3730         from module LDFLAGS.
3731
3732 2000-11-14  Havoc Pennington  <hp@redhat.com>
3733
3734         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
3735         higher.
3736
3737         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
3738         account. Also, render rise, underline, background, etc. for
3739         pixbufs as well as text. Also, draw underlines one pixel higher.
3740
3741         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
3742         PangoAttribute for the rise, so it gets drawn properly. Also,
3743         add the GtkTextAppearance attribute for pixbuf/widget segments
3744         as well; we should go ahead and have rise, underline, background,
3745         stipple work for those
3746
3747         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
3748         Pango
3749
3750 2000-11-15  Tor Lillqvist  <tml@iki.fi>
3751
3752         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
3753
3754         * gtk/gtk.def: Update.
3755
3756         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
3757         included.
3758         (gtk_rc_get_im_module_file): Use run-time installation directory
3759         on Win32.
3760
3761         * gdk/win32/rc/gdk.rc: Remove.
3762         * gdk/win32/rc/gdk.rc.in: New file.
3763         * gdk/win32/rc/Makefile.am: New file
3764         * gdk/win32/Makefile.am: Corresponding changes.
3765
3766         * gtk/gtk.rc: Remove.
3767         * gtk/gtk-win32.rc.in: New file.
3768         * gtk/Makefile.am: Corresponding changes.
3769
3770         * configure.in: Corresponding changes.
3771
3772         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
3773         has a built gtkcompat.h. Developers using CVS code on Win32 can
3774         hand-edit it from gtkcompat.h.in.
3775
3776         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
3777         gtkcompat.h from gtkcompat.h.win32.
3778
3779 2000-11-14  Havoc Pennington  <hp@redhat.com>
3780
3781         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
3782         to default to GDK_ACTION_MOVE if the drag is within a single
3783         widget. Defaults to GDK_ACTION_COPY between widgets.
3784
3785 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
3786
3787         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
3788
3789         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
3790
3791         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
3792         srcdir != builddir
3793
3794         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
3795
3796         * configure.in (GTK_VERSION): Up to 1.3.2
3797
3798         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
3799         gtkimcontextxim.h
3800
3801         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
3802         missing doc comment.
3803
3804 2000-11-14  Alexander Larsson  <alexl@redhat.com>
3805
3806         * modules/linux-fb/basic.c:
3807         Use the glib iconv wrappers.
3808
3809 2000-11-13  Havoc Pennington  <hp@pobox.com>
3810
3811         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
3812         still more bugs.
3813
3814         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
3815         scroll the GdkWindows before realization.
3816
3817 2000-11-13  Havoc Pennington  <hp@redhat.com>
3818
3819         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
3820         where GC didn't always get updated properly
3821
3822         * demos/gtk-demo/textview.c (create_tags): Use subattributes
3823         of fonts instead of setting the entire font
3824
3825         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
3826         setting entire font
3827
3828         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
3829
3830         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
3831         a bunch of individually-settable font attributes. You can still 
3832         use the "font" and "font_desc" args, they just set all the font
3833         attributes at once.
3834
3835 2000-11-13 Elliot Lee <sopwith@redhat.com>
3836
3837         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
3838
3839 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
3840
3841         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
3842         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
3843
3844         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
3845         work better.
3846
3847 2000-11-13  Havoc Pennington  <hp@redhat.com>
3848
3849         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
3850         the module file.
3851
3852         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
3853         dest->language
3854
3855         * gtk/testtext.c: Test pixels above/below/inside paragraphs
3856         settings
3857
3858         * gtk/gtktextview.c: Implement object args and setters/getters for
3859         all the aspects of the GtkTextAttributes that are not set from
3860         GtkWidget attributes. This is spacing, justification, margins,
3861         etc.
3862
3863         (gtk_text_view_set_arg)
3864         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
3865         args
3866         (gtk_text_view_class_init): Add args for justify, left_margin,
3867         right_margin, indent, and tabs
3868         
3869
3870         * gtk/gtktextlayout.c (set_para_values): fix to display indent
3871         attribute properly
3872
3873         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
3874         replace with indent attribute
3875
3876         * gtk/gtktextlayout.c (set_para_values): multiply indent by
3877         PANGO_SCALE
3878
3879         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
3880         rearranging code to do that
3881         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
3882         i.e. don't subtract the top_margin first, just to keep
3883         all margin-futzing in one place.
3884
3885         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
3886
3887         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
3888         special case of last line, Pango now handles this itself.
3889         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
3890         Y coordinate
3891         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
3892         (find_display_line_above): wasn't moving the byte index as it
3893         iterated over lines, so always returned byte 0. Also, port to use
3894         PangoLayoutIter.
3895         (find_display_line_below): same problem as
3896         find_display_line_above. Also, port to use PangoLayoutIter.
3897
3898 2000-11-13  Alexander Larsson  <alexl@redhat.com>
3899
3900         * gdk/linux-fb/*.[ch]:
3901         Massive reindent to gtk+ standard. My hands hurt.
3902
3903         * gdk/linux-fb/gdkcolor-fb.c:
3904         Move GdkColorPrivateFB from inherited to windowing_data
3905
3906         * gdk/linux-fb/gdkcursor-fb.c:
3907         _gdk_cursor_new_from_pixmap made static
3908
3909         * gdk/linux-fb/gdkdnd-fb.c:
3910         GdkDragContextPrivate moved to windowing_data
3911
3912         * gdk/linux-fb/gdkdrawable-fb2.c:
3913         Removed endian.h, use glib endianness macros instead
3914         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
3915         and GDK_DRAWABLE_IMPL_FBDATA
3916
3917         * gdk/linux-fb/gdkfont-fb.c:
3918         Add empty gdk_font_load(). Needed for linking of Gtk+.
3919
3920         * gdk/linux-fb/gdkimage-fb.c:
3921         Removed endian.h, use glib endianness macros instead
3922         Moved GdkImagePrivateFB to windowing_data
3923         gdk_image_new_bitmap didn't always allocate enough
3924         memory.
3925
3926         * gdk/linux-fb/gdkinput-ps2.c:
3927         Added semi-working support for MS serial mice.
3928
3929         * gdk/linux-fb/gdkprivate-fb.h:
3930         s/GdkWindowPrivate/GdkWindowObject/
3931         Removed GdkWindowPrivate typedef
3932         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
3933         Removed GDK_DRAWABLE_P
3934         Move GdkColorPrivateFB from inherited to windowing_data
3935         Moved GdkImagePrivateFB to windowing_data
3936
3937         * gdk/linux-fb/gdkvisual-fb.c:
3938         Removed some unused debug code.
3939
3940         * gdk/linux-fb/gdkwindow-fb.c:
3941         Use stock cursors instead of including X headers.
3942         s/GdkWindowPrivate/GdkWindowObject/
3943
3944         * gdk/linux-fb/mitypes.h:
3945         Removed unused types.
3946
3947         * modules/linux-fb/basic.c:
3948         Use the pango fribidi wrappers.
3949
3950 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3951
3952         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
3953         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
3954         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
3955         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
3956         GEqualFunc where applicable.
3957         
3958         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
3959         pango_font_description_equal as changed in pango.
3960         
3961         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
3962
3963         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
3964
3965         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
3966
3967         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
3968
3969         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
3970
3971         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
3972
3973         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
3974         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
3975
3976         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
3977         gtk_rc_styles_compare -> gtk_rc_styles_equal.
3978
3979 2000-11-12  Havoc Pennington  <hp@pobox.com>
3980
3981         * demos/gtk-demo/Makefile.am (democodedir): change demo install
3982         dir to datadir/gtk+-2.0/demo
3983
3984         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
3985         sorts of text widget and Pango font bugs. Urgh.
3986
3987         * demos/gtk-demo/Makefile.am (demos): Add textview.c
3988
3989         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
3990         tree that you should double click to see the demo. Fix 
3991         types of variables to reflect changed return values from 
3992         GtkTreeStore and GtkTreeViewColumn constructors.
3993
3994         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
3995         newly-created buffer to prepare for GObject semantics
3996
3997         * gtk/testtext.c: don't leak the buffer with GObject semantics
3998
3999         * gtk/testtextbuffer.c: ditto
4000         
4001 2000-11-12  Havoc Pennington  <hp@pobox.com>
4002
4003         Rename this testgtk to gtk-demo to avoid confusion, and 
4004         install it so people can use it as a supplement to 
4005         the documentation.
4006         
4007         * demos/gtk-demo: Moved from demos/testgtk
4008
4009         * demos/testgtk: Removed
4010
4011         * configure.in: make Makefile in gtk-demo
4012         
4013         * demos/gtk-demo/Makefile.am: Install sample source to 
4014         datadir/gtk-demo (maybe there's a better place?), and 
4015         rename the binary to gtk-demo
4016         
4017         * demos/gtk-demo/main.c (load_file): Load installed sample
4018         source if source isn't found in pwd.
4019
4020 2000-11-09  Havoc Pennington  <hp@pobox.com>
4021
4022         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
4023         argument to set the char displayed when visibility == FALSE
4024         (gtk_entry_create_layout): If !entry->visible, replace 
4025         all chars with the "invisible char"
4026
4027         * gtk/testgtk.c: Test the invisible_char deal
4028         
4029 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
4030
4031         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
4032         can't get a native font in the right encoding.
4033
4034 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
4035
4036         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
4037         respectively.
4038
4039 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
4040
4041         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
4042         Fix warning when moving between paragraphs.
4043
4044         * gtk/gtkentry.[ch]: Change move => move_cursor, 
4045         delete => delete_from_cursor, insert => insert_at_cursor
4046
4047 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
4048
4049         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
4050
4051         * modules/input/imthai-broken.c: A Thai input method for use if
4052         Thai keys are really generating Latin1 keysyms.
4053
4054         * modules/input/Makefile.am: Build these.
4055
4056 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
4057
4058         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
4059         g_filename_{to,from}_utf8 now takes an extra parameter.
4060
4061         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
4062         strftime into UTF-8.
4063
4064         (column_from_x, gtk_calendar_paint_day_names): Support RTL
4065         calendars.
4066
4067         (gtk_calendar_paint_day_names): Draw day names in the right 
4068         place.
4069         
4070 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
4071
4072         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
4073         problem with using result of g_get_charset() backwards -
4074         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
4075
4076         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
4077         negative min_width/height and max_width/height to
4078         mean "requisition"; this allows setting a window
4079         to be user-resizable in only one direction easily.
4080
4081         * gtk/testgtk.c (create_main_window): Remove hard-coded
4082         usize - set a default size in the vertical direction.
4083
4084 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
4085
4086         * gtk/gtkrange.c: Add some missing casts. Support 
4087         2 and 3 button clicks on the arrows to mean 
4088         "move by pages" and "jump to end". (Like gtkspinbutton)
4089
4090 2000-11-12 Hans Breuer <Hans@Breuer.Org>
4091
4092         * gdk/win32/makefile.msc : reflect build module changes
4093
4094         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
4095         from GdkPixmap*, cast implementation member instead.
4096
4097         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
4098         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
4099         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
4100         more Gdi functions return value checking. 
4101         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
4102         GdkImagePrivateWin32 *.
4103
4104         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
4105         menus useable again. Add #pragma message to keep reminded on this issue.
4106         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
4107         windows. This allows to enable backing store on Win32!
4108
4109         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
4110         in drawable is of impl type. Correct specific type checks appropriate.
4111  
4112         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
4113         GDK_WINDOW_DESTROYED before allocating new resources.
4114
4115         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
4116
4117         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
4118         (gdk_window_foreign_new) initialize parent handle.
4119         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
4120
4121         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
4122         Let the GDI invalidate the window on MoveWindow call to fix scrolling
4123         problems (e.g. main buttons in testgtk). 
4124
4125 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
4126
4127         * gtk/gtkentry.c (gtk_entry_key_press): Call 
4128         gtk_widget_activate for GDK_Return.
4129
4130         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
4131         of preedit cursor position.
4132
4133 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
4134
4135         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
4136         static.
4137
4138 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
4139
4140         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
4141         out support for multiple locales; that simple doesn't
4142         work reliably with current Xlib
4143
4144         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
4145         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
4146         Add support for positioning the cursor within the preedit string.
4147
4148 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
4149
4150         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
4151         at XIM input method module.
4152
4153         * gtk/gtktextview.c: Check for bindings after passing
4154         events to im context filter.
4155
4156 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
4157
4158         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
4159         empty attribute lists properly.
4160
4161 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
4162
4163         * gtk/queryimmodules.c (main): Return non-zero exit
4164         status if errors were encountered querying any
4165         modules.
4166
4167         * modules/input/Makefile.am (moduledir): remove
4168         leftover bin program target.
4169
4170         * docs/make-todo: Fix typo in error message.
4171
4172 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
4173
4174         * configure.in: Add modules/input/Makefile
4175
4176 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
4177
4178         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
4179         don't include gtkthemes.h.
4180
4181         * gtk/testgtk.c gtk/testtext.c: Set environment variables
4182         to point
4183
4184         * gtk/Makefile.am: Add new .c and .h files, build 
4185         gtk-query-immodules and use it to create a gtk.immodules
4186         file for use of test programs.
4187
4188         * gtk/gtkpreview.c: remove extra blank line.
4189
4190 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
4191
4192         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
4193         Add the ability to add extra tables beyond the default
4194         one, and also the ability to have compose sequences 
4195         that are prefixes of other compose sequences. 
4196
4197         * gtk/gtkimcontextsimple.c: Export a preedit string which
4198         consists of possible candidates for keystrokes that have
4199         been entered but not yet committed.
4200
4201         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
4202         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
4203
4204         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
4205         Add a function to add input-method switching menu items
4206         to a menu.
4207
4208         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
4209         when switching input methods.
4210
4211         * gtk/gtkimcontextsimple.[ch]: Change the format of
4212         the compose table to allow compose tables of different
4213         lengths / sequence.
4214
4215 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
4216
4217         * gtk/gtkimmodule.[ch]: Support routines for loading
4218         GtkIMContext implementations dynamically at runtime.
4219
4220         * modules/input/imcyrillic-translit.c: A sample input
4221         method (based on GtkIMContextSimple with an extra table),
4222         which demonstrates preedit strings and the module
4223         system for input modules
4224
4225         * gtk/queryimmodules.c: Program to query the available
4226         input modules and write the results into a file.
4227          
4228         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
4229         extra config options "im_module_file" (cache file for
4230         input method modules), and "im_module_path" - path
4231         to look for modules when generating cache file.
4232
4233         This doesn't scale.
4234
4235 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
4236
4237         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
4238         generic code from gtkthemes into a new abstraction
4239         GtkModule which has the logic for implementing
4240         a loadable module which implements a number of 
4241         GObject types.
4242
4243 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
4244
4245         * gtk/gtkeditable.[ch]: Convert GtkEditable from
4246         a class into an interface  
4247         
4248         * gtk/gtkoldeditable.[ch]: Move the old editable
4249         implementation into here, so legacy widgets can
4250         still rely on the implemenation. GtkOldEditable
4251         exports GtkEditable. Make selection handling
4252         code use new text conversion functions (and
4253         handle UTF-8 as a side-effect). Use GtkClipboard
4254         for CLIPBOARD.
4255
4256         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
4257         Adopt to match above changes.
4258
4259         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
4260         avoid GtkOldEditable implementation. Restructure
4261         to reduce number of places that modify state directly.
4262         Move to GtkBindingSet. Display the preedit string.
4263         Queue recomputation of PangoLayout and scroll position
4264         to improve effiency of doing complex changes naively.
4265         Add a menu with cut/copy/paste and input method selection.
4266
4267 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
4268
4269         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
4270         to set preedit string and attributes; display preedit string by
4271         inserting string and attributes at cursor when creating the
4272         GtkTextLineDisplay.
4273
4274         * gtk/gtktextlayout.c: Move all conversions between byte
4275         positions in PangoLayout and GtkTextIter into new functions
4276         line_display_iter_to_index/index_to_iter that properly
4277         handle the preedit string.
4278
4279         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
4280         it to return const char * (eventually will end up
4281         as GCONST char *, most likely.)
4282
4283         * gtk/gtktextview.[ch]: Handle the preedit string, call
4284         gtk_im_context_reset() as necessary, add a menu to switch
4285         input methods.
4286         
4287         * gtk/gtktextlayout.[ch]: Remove useless
4288         gtk_text_layout_get_log_attrs() function.
4289
4290 2000-11-11  Tor Lillqvist  <tml@iki.fi>
4291
4292         * gdk/gdk.def
4293         * gtk/gtk.def: Update.
4294
4295         * gdk/win32/*.c: Add last argument to g_type_register_static()
4296         calls.
4297
4298         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
4299
4300         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
4301         generated by older wheel mouse drivers. Get the correct y
4302         coordinate from WM_MOUSEWHEEL messages.
4303
4304         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
4305         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
4306         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
4307         Debugging functions.
4308
4309         * gdk/win32/gdkprivate-win32.h: Declare them.
4310
4311         * gdk/win32/gdkinput-win32.h: Add declaration for
4312         gdk_input_window_destroy().
4313
4314         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
4315
4316 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
4317
4318         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
4319         function to help handle keeping things in sync.
4320
4321 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
4322
4323         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
4324         BOXED marshallers.
4325
4326         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
4327         (gtk_list_store_class_init): use the new BOXED marshallers.
4328
4329         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
4330         new_with_values to new_with_types.
4331         (gtk_tree_store_get_column_type): add this.
4332         (gtk_tree_store_class_init): use the new BOXED marshallers.
4333
4334         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
4335         mirror some POINTER marshallers.
4336
4337 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
4338
4339         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
4340         allow more interesting iterators.  Also, made the lifecycle of
4341         iterators more explicit.
4342
4343         * gtk/gtktreemodelsort.[ch]: New model for sorting.
4344
4345         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
4346         types.
4347
4348 2000-11-09  Alexander Larsson  <alexl@redhat.com>
4349
4350         * demos/testgtk/menus.c:
4351         Changes to make the new testgtk compile after
4352         gtk_menu_append was removed.
4353
4354         * gdk/linux-fb/gdkdrawable-fb2.c
4355         (gdk_fb_get_depth, gdk_fb_get_visual,
4356         gdk_drawable_impl_fb_class_init): Implement
4357         these drawable functions. Now GtkImages work again.
4358
4359         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
4360
4361         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
4362         
4363         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
4364         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
4365         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
4366         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
4367
4368 2000-11-08  Havoc Pennington  <hp@pobox.com>
4369
4370         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
4371         visible_set args, don't know where these had gone, I thought they
4372         used to be there
4373
4374         * gtk/testtext.c: Add a menu item to apply invisibility tag;
4375         now we can test the feature and see that it's totally broken.
4376
4377 2000-11-08  Havoc Pennington  <hp@pobox.com>
4378
4379         Make DND copy pixbufs and tags when source and target share a 
4380         tag table.
4381         
4382         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
4383         in-process GTK_TEXT_BUFFER_CONTENTS target
4384         (gtk_text_view_drag_data_received): Paste from
4385         GTK_TEXT_BUFFER_CONTENTS if we receive it.
4386
4387 2000-11-08  Alexander Larsson  <alexl@redhat.com>
4388
4389         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
4390         API changes.
4391
4392         * gtk/gtkmenu.c: Add support for scrolling menus.
4393         Remove gtk_menu_append/prepend/insert, these have been moved to
4394         gtkcompat.h as #defines.
4395
4396         * gtk/gtkcompat.h.in:
4397         Add compatibility #defines for gtk_menu_append/prepend/insert
4398
4399         * gtk/gtkmenu.h: Add data needed for scrolling menus.
4400         GtkMenuPositionFunc gets an extra argument push_in.
4401         gtk_menu_append/prepend/insert removed.
4402         
4403         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
4404         positioning behaviour to fit to scrolling menus.
4405
4406         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
4407         into menuitem->submeny. That is wrong, and broke torn
4408         off submenus of torn off menus, since they were unrealized
4409         when the first menu was unrealized.
4410
4411         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
4412         gtk_menu_shell_select_item() since these need to be overridden in
4413         GtkMenu.
4414
4415         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
4416         positioning behaviour to fit to scrolling menus.
4417         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
4418         the current item so that it is prelighted when the menu pops up.
4419         This is a workaround to the fact that the menu doesn't get the
4420         initial enter event (due to grabs).
4421
4422         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
4423         s/gtk_menu_append/gtk_menu_shell_append/
4424
4425         * gtk/gtknotebook.c:
4426         s/gtk_menu_insert/gtk_menu_shell_insert/
4427
4428         * gtk/testgtk.c (create_menu, create_menus):
4429         Create the first menu with 50 items so that menu scrolling
4430         can be tested.
4431         
4432         
4433         Patch from Jonathan Blandford  <jrb@redhat.com>
4434
4435         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
4436         system to handle size requests.  First, we ask what the size of
4437         the toggle is.  Then, when allocating the size, we allocate the
4438         toggle_size first.  This way we can have multiple menu-item
4439         classes w/o needing a seperate class for each.
4440
4441         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
4442         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
4443
4444         * gtk/gtkcheckmenuitem.c
4445         (gtk_check_menu_item_toggle_size_request): New function to handle
4446         the toggle size-request.
4447
4448 2000-11-07  Havoc Pennington  <hp@redhat.com>
4449
4450         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
4451         Half-ass somewhat fix this function, so that scrolling to the
4452         insertion point works. Pango hacking is in the future to really
4453         fix it.
4454
4455         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
4456         length of data, no longer used.
4457
4458         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
4459         method contents in here, get rid of destroy method
4460         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
4461         that were backward. Remove debug spew.
4462         (cut_or_copy): Make the clipboard work with insert_range to
4463         preserve tags and pixbufs, not just the primary selection.
4464
4465 2000-11-07  Havoc Pennington  <hp@redhat.com>
4466
4467         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
4468         to gtk_text_mark_get_visible
4469
4470         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
4471         bug that was generating an invalid iterator
4472
4473         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
4474         ensure_char_offsets() in front of code placing the iter in an
4475         invalid state.
4476
4477         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
4478         make override_location arg const
4479         (paste): Replace the selection if we paste into the 
4480         current selection
4481
4482         * gtk/gtkselection.h: Remove "GtkSelectioData"
4483         (struct _GtkSelectionData): move the definition here.
4484
4485         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
4486         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
4487
4488         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
4489
4490         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
4491         (gtk_text_buffer_insert_range_interactive): implement
4492         (gtk_text_buffer_get_tags): Remove, replaced by
4493         gtk_text_iter_get_tags()
4494
4495         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
4496         limit parameter, to avoid infinite linear scan.
4497         (gtk_text_iter_backward_search): Add search limit
4498         (gtk_text_iter_forward_find_char): Add search limit
4499         (gtk_text_iter_backward_find_char): Add search limit
4500
4501 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
4502
4503         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
4504         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
4505         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
4506         gdk/linux-fb/gdkwindow-fb.c:
4507         use g_object_new() instead of g_type_create_instance() which
4508         is a private function for fundamental type implementations.
4509
4510         * gdk/linux-fb/gdkinput-ps2.c:
4511         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
4512         instead just store the current modifier state. Add a (somewhat broken)
4513         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
4514         Rename exported function gdk_input_ps2_get_mouseinfo to
4515         gdk_input_get_mouseinfo.
4516
4517         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
4518         gdk/linux-fb/gdkwindow-fb.c:
4519         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
4520         
4521
4522 2000-11-02  Havoc Pennington  <hp@redhat.com>
4523
4524         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
4525         use stock buttons. Should be 100% source compatible, appropriate
4526         filesel fields now point to dialog->vbox and dialog->action_area.
4527         On the bizarre side, dialog->action_area and filesel->action_area
4528         are not the same widget.
4529         (gtk_file_selection_init): Put some padding around the selection
4530         entry, so it isn't touching the GtkDialog separator.    
4531
4532         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
4533         use stock buttons, etc. Should also be source compatible.
4534         Set the dialog default title in _init not _new().
4535         
4536         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
4537         Use stock buttons; don't put a button box inside the existing
4538         dialog button box. Don't bother with push/pop colormap anymore.
4539
4540         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
4541         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
4542         for message dialog, and necessary for the font selection and color
4543         selection with help and apply buttons.
4544         
4545         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
4546         to the created button widget. Set GTK_CAN_DEFAULT on the button.
4547         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
4548         between buttons, put less padding around the action area.
4549         (gtk_dialog_run): Exit on unmap rather than on destroy. 
4550         This will also exit the loop if the widget is hidden.
4551         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
4552         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
4553         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
4554         special-case delete event.
4555
4556         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
4557         formatting
4558         
4559 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
4560
4561         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
4562         button to temporarily disable position recording in the
4563         "saved position" test.
4564
4565 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
4566
4567         * gtk/gtkthemes.c: added compat code that temporarily implements
4568         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
4569         going to be revamped by owen's upcoming GtkModule patches, but
4570         untill then people want gtk to build, right? ;)
4571
4572 2000-11-04  Havoc Pennington  <hp@pobox.com>
4573
4574         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
4575         list
4576
4577         * docs/Changes-2.0.txt: Add note about
4578         gtk_container_get_toplevels()
4579
4580         * gtk/gtktextview.h: formatting
4581         
4582         * gtk/gtktextview.c: don't start descriptions with "Returns",
4583         confuses gtk-doc
4584
4585 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
4586
4587         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
4588         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
4589
4590 2000-11-03  Havoc Pennington  <hp@redhat.com>
4591
4592         * gtk/gtktexttagtable.c: Docs
4593         (gtk_text_tag_table_size): return a signed int
4594
4595         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
4596         (gtk_text_tag_event): make the event_object a GObject
4597
4598         * gtk/gtktextview.c: Write API docs for all functions.
4599
4600         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
4601         for gtk_text_view_get_window_type() called on one of the private
4602         windows.
4603
4604         * gtk/gtktextview.c: Instead of accessing text_view->buffer
4605         directly, call get_buffer() which demand-creates a default
4606         buffer. So gtk_text_view_new() can be used to create a view with a
4607         default buffer in it, if you just want an empty text box users can
4608         put data in. Useful for GUI builders also.
4609
4610 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
4611
4612         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
4613         the charset encodign portion MUST be in lowercase.
4614         * gtk/gtkrc.az: added file for Azeri language
4615
4616 2000-11-03  Havoc Pennington  <hp@redhat.com>
4617
4618         Get widgets working on the btree/buffer side. Display of them 
4619         still doesn't work.
4620         
4621         * gtk/gtktextview.c: start implementing child widget stuff
4622
4623         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
4624
4625         * gtk/gtktextlayout.c: handle embedded widgets
4626
4627         * gtk/gtktextdisplay.c: handle embedded widgets
4628
4629         * gtk/gtktextchild.c: Implement all the child anchor goo
4630
4631         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
4632         function
4633
4634         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
4635         (insert_pixbuf_or_widget_segment): abstract out common portions of 
4636         creating a child anchor or a pixbuf segment.
4637         (gtk_text_btree_create_child_anchor): new function
4638         (gtk_text_btree_unregister_child_anchor): new function
4639
4640         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
4641         allocate_child signal on GtkTextLayout
4642
4643         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
4644         values
4645         (gtk_text_iter_get_child_anchor): new function
4646
4647         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
4648         default handler for the changed signal, which calls
4649         gtk_text_buffer_set_modified(), instead of just always emitting
4650         changed then calling set_modified() manually. I guess this is
4651         maybe more flexible. It seems logical.
4652
4653 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
4654
4655         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
4656         now.
4657
4658         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
4659
4660 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
4661
4662         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
4663         been marked static.
4664
4665 2000-11-02  Havoc Pennington  <hp@redhat.com>
4666
4667         * gtk/testgtk.c (create_labels): had a test backward
4668
4669         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
4670         fields, so the dest GC ends up with the correct clip origin, 
4671         etc. Fixes a bug where colored labels didn't redraw 
4672         properly.
4673
4674 2000-11-02  Alexander Larsson  <alexl@redhat.com>
4675
4676         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
4677         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
4678         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
4679         Add last argument to t_type_register_static call.
4680         
4681         * gdk/linux-fb/gdkdrawable-fb2.c:
4682         Add last argument to t_type_register_static call.
4683         export the get_image drawable virtual function.
4684
4685         * gdk/linux-fb/gdkimage-fb.c:
4686         Add last argument to t_type_register_static call.
4687         rename gtk_image_get to _gdk_fb_get_image and
4688         export it for use by gdkdrawable-fb2.
4689
4690         * gdk/linux-fb/gdkprivate-fb.h:
4691         export _gdk_fb_get_image.
4692
4693         * gdk/linux-fb/gdkselection-fb.c:
4694         Add new api call stubs.
4695
4696         * gtk/Makefile.am:
4697         Missing ( in linux-fb part.
4698
4699         * modules/linux-fb/Makefile.am:
4700         Must link with gdk_pixbuf or get unresolved symbol.
4701
4702 2000-11-01  Havoc Pennington  <hp@pobox.com>
4703
4704         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
4705         GTK_TYPE_TEXT_ITER and BOXED marshallers
4706
4707         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
4708
4709         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
4710         
4711         * gtk/gtk-boxed.defs: add GtkTextIter
4712
4713         * gtk/gtkmarshal.list: Add marshallers for text widget that 
4714         properly use OBJECT and BOXED
4715
4716 2000-11-01  Havoc Pennington  <hp@redhat.com>
4717
4718         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
4719
4720         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
4721         before returning it. 
4722         
4723 2000-11-01  Havoc Pennington  <hp@redhat.com>
4724
4725         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
4726         Clip the rectangle to be rendered to the drawable, since
4727         get_from_drawable() requires a region within the drawable
4728
4729 2000-11-01  Havoc Pennington  <hp@redhat.com>
4730
4731         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
4732         from coordinates.
4733
4734 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
4735
4736         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
4737         it isn't NULL.
4738
4739 2000-11-01  Havoc Pennington  <hp@pobox.com>
4740
4741         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
4742         on a label
4743         (gtk_label_finalize): unref the attr list if any.
4744
4745         * gtk/testgtk.c (create_get_image): close test on second click
4746         (make_message_dialog): close dialog if it exists
4747
4748         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
4749
4750         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
4751         gdk-pixbuf
4752
4753         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
4754         from Pango markup format
4755         (gtk_label_set_markup_with_accel): ditto but with accelerator
4756         parsing
4757
4758         * gtk/gtkimage.c (gtk_image_expose): reformatting.
4759
4760         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
4761         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
4762         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
4763         call gdk_window_get_origin().
4764
4765         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
4766         implement GDK_PIXBUF_ALPHA_FULL
4767         
4768 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
4769
4770         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
4771         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
4772         g_signal_handlers_disconnect_matched to block/unblock and disconnect
4773         multiple handlers respectively, instead of only treating the
4774         first handler found (bug reported by owen).
4775
4776 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
4777
4778         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
4779
4780         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
4781
4782         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
4783         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
4784         gtk/gtktreeviewcolumn.h: Fixed inline docs.
4785
4786         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
4787         widget.  Needs writing someday.
4788
4789         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
4790         the docs.
4791
4792 2000-10-30  Havoc Pennington  <hp@redhat.com>
4793
4794         * gtk/gtktextview.h, gtk/gtktextview.c:
4795         Rename delete_at_cursor delete_from_cursor, and 
4796         move to move_cursor.
4797
4798 2000-10-30  Havoc Pennington  <hp@redhat.com>
4799
4800         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
4801         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
4802         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
4803         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
4804         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
4805         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
4806         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
4807         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
4808         gtktexttypes.h, gtktextview.c, gtktextview.h:
4809
4810         Massive reindentation and reformatting. Arg alignment and comments
4811         still need fixing in various places.
4812
4813 2000-10-30  Havoc Pennington  <hp@redhat.com>
4814
4815         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
4816         to be named insert_at_cursor and delete_at_cursor so C++ can
4817         handle them.
4818
4819 2000-10-28  Tor Lillqvist  <tml@iki.fi>
4820
4821         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
4822         to get a double directory separator in case the home directory
4823         ends with one. This would cause trouble especially on Windows,
4824         where the path will be confused with the syntax for an an UNC
4825         (network share) path \\server\share\path.
4826         (gtk_rc_add_initial_default_files): Ditto.
4827
4828 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
4829
4830         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
4831
4832         * gtk/gtktextview.c: Use correct marshallers.
4833
4834 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
4835
4836         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
4837         use new iter stuff, and added all the appropriate signals et al.
4838
4839         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
4840         code is internal to gtk only.
4841
4842 2000-10-28  Tor Lillqvist  <tml@iki.fi>
4843
4844         * gtk/gtk.def
4845         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
4846         glib-genmarshal etc.
4847
4848 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
4849
4850         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
4851         parallel builds.
4852
4853 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
4854
4855         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
4856
4857 2000-10-27  Robert Brady  <robert@suse.co.uk>
4858
4859         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
4860         en_GB (British), ia (Interlingua).
4861
4862 2000-10-26  Havoc Pennington  <hp@redhat.com>
4863
4864         * gtk/gtktextiter.c (my_strrstr): fix constness warning
4865
4866         Fixed output of:
4867         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
4868         
4869         * gtk/gtktextsegment.c (char_segment_new): rename
4870         (_char_segment_new_from_two_strings): rename
4871         (_toggle_segment_new): rename
4872         
4873         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
4874         (make_clipboard_widget): make it static
4875         (text_get_func): static
4876         (text_clear_func): static
4877
4878         * gtk/gtkcolorsel.c (adjustment_changed): make this function
4879         static
4880         (hex_changed): make it static
4881         (hsv_changed): make it static
4882         (opacity_entry_changed): make it static
4883
4884         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
4885         (toggle_segment_check_func): rename with _gtk
4886
4887         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
4888         (_widget_segment_new): rename
4889         (_widget_segment_add): rename
4890         (_widget_segment_remove): rename
4891         (_widget_segment_ref): rename
4892         (_widget_segment_unref): rename
4893
4894         * gtk/gtktextmark.c (_mark_segment_new): Rename
4895         _gtk_mark_segment_new   
4896
4897 2000-10-26  Havoc Pennington  <hp@redhat.com>
4898
4899         * gtk/gtkmarshal.list: add new marshallers used by the text widget
4900         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
4901         types
4902
4903         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
4904         marshaller types
4905
4906         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
4907         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
4908         license on these files.
4909
4910         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
4911         work.
4912
4913         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
4914         runtime random number different for each tree, instead of 
4915         a constant I made up.
4916
4917 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
4918
4919         * gtk/Makefile.am: buncha cleanups, kludged build sources
4920         dependencies with a Makefile: oldest-source-stamp dependancy
4921         for the moment. automake is really fighting us here, with
4922         intentionally not allowing user-defined rules or dependancies
4923         prior to it's -include $(DEP_FILES) statement. sucks rocks!
4924
4925         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
4926         to public headers. tehy have a comment stating that they are
4927         "semi-public" aren't included by gtk.h and if enums popup there,
4928         they can be /*< skip >*/-ed.
4929
4930         * gtk/gtktextlayout.h: 
4931         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
4932         added LGPL... <SIGH>
4933
4934 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
4935
4936         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
4937         GtkTreeIter.  Added iterators everywhere.
4938
4939         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
4940
4941         * gtk/gtktreeviewselection.c: Changed to use the iterators.
4942
4943         * gtk/gtktreestore.c: Changed to use the iterators.
4944
4945         * gtk/gtkliststore.c: Commented out the code.  Will convert to
4946         iterators tomorrow.
4947
4948         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
4949         iterators tomorrow.
4950
4951         * gtk/treestoretest.c: Changed to use iterators.
4952
4953         * demos/testgtk/main.c: Moved to use the new iterator system.
4954
4955 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
4956
4957         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
4958         localization misbehaviour.
4959
4960         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
4961         a useless type without copy/free.
4962
4963         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
4964         of GTK_TYPE_CTREE_NODE.
4965
4966 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
4967
4968         * gtk/gtksignal.c:
4969         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
4970         applicable.
4971
4972         * gtk/gtk-boxed.defs (GtkSelectionData): specify
4973         gtk_selection_data_copy and gtk_selection_data_free
4974         do GtkSelectionData work as params in signals.
4975
4976 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
4977
4978         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
4979         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
4980         couldn't they at least give it a non-standard name?
4981         
4982         * gtk/gtktextlayout.c: arg! yet another implementation of
4983         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
4984
4985         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
4986         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
4987         home. now i know this _is_ a conspiracy.
4988
4989         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
4990         ::state-changed.
4991
4992         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
4993         (gtk_accel_group_create_add): marshaller signature fixups.
4994
4995         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
4996         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
4997
4998         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
4999         anymore.
5000
5001 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
5002
5003         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
5004         due to the signal system changes, it wouldn't build currently. to
5005         be fixed soon.
5006
5007         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
5008
5009         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
5010         so it needs gtk_marshal_VOID__ENUM() instead of
5011         gtk_marshal_NONE__UINT().
5012
5013         * gdk/gdk*.c: adapted type registration functions.
5014
5015         * gtk/gtkbindings.c:
5016         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
5017         gone.
5018
5019         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
5020
5021         * gtk/gtkobject.c:
5022         (gtk_object_destroy):
5023         (gtk_object_shutdown): fixed recursion guards. basically we have to
5024         catch the case where any of GObject.shutdown() or gtk_object_destroy()
5025         is called during ::destroy, and avoid recursion there.
5026
5027         * gtk/gtktypeutils.c:
5028         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
5029         boxed_copy/boxed_free. this needs a more general solution based on a
5030         publically installed code-generator utility.
5031
5032         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
5033         glib's gobject has support for that now.
5034         define GtkSignalMarshaller in terms of GSignalCMarshaller.
5035
5036 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
5037
5038         * gtk/gtksignal.[hc]:
5039         * gtk/gtkmarshal.[hc]:
5040         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
5041         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
5042         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
5043         care of that.
5044
5045         * *.c: marshaller name fixups.
5046
5047         * gtk/gtkmarshal.list: added a comment briefing the format.
5048
5049 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
5050
5051         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
5052         compatibility macros here now. more specifically, most of
5053         the API is preserved (yes, _most_, nonwithstanding the
5054         following exceptions listed, the API is stil lHUGE ;)
5055         things that got removed completely:
5056         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
5057         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
5058         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
5059         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
5060         gtk_signal_remove_emission_hook().
5061         non-functional functions variants:
5062         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
5063         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
5064         not supported anymore.
5065         (gtk_signal_compat_matched): new internal function to aid
5066         implementation of the compatibility macros, it  provides
5067         functionality to block/unblock/disconnect handlers based
5068         on func/data.
5069
5070         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
5071
5072         * *.c: adaptions to new type registration API signatures.
5073
5074 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
5075
5076         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
5077
5078 2000-10-25  Robert Brady  <robert@suse.co.uk>
5079
5080         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
5081         gdk_property_delete): If window == NULL, assume the root window.
5082         (restoring the behaviour that was in 1.2).
5083         
5084         * gtk/testtext.c (save_buffer): Allow creation of new files when
5085         saving.
5086
5087         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
5088         calls to read().
5089
5090 2000-10-25  Tor Lillqvist  <tml@iki.fi>
5091
5092         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
5093
5094         * gdk/win32/gdkdrawable-win32.c
5095         * gdk/win32/gdkimage-win32.c
5096         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
5097         X11 backend.
5098
5099         * gdk/win32/gdkcc-win32.c
5100         * gdk/win32/gdkcolor-win32.c
5101         * gdk/win32/gdkfont-win32.c
5102         * gdk/win32/gdkinput-win32.c
5103         * gdk/win32/gdkmain-win32.c
5104         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
5105
5106 2000-10-24  Havoc Pennington  <hp@redhat.com>
5107
5108         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
5109         it a static function
5110
5111         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
5112         redraw text when a tag is applied to it.
5113
5114         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
5115         (gtk_text_tag_affects_nonsize_appearance): private functions to
5116         see if a tag requires various kinds of redraw/layout to be queued
5117         up.
5118
5119         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
5120
5121         * gtk/testtext.c (fill_example_buffer): Put the cursor 
5122         at the start of the buffer, so search works by default
5123
5124         * gtk/gtktextiter.c (lines_match): init match_start always
5125
5126         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
5127         function, get iter at a line + a byte index
5128
5129         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
5130         to set byte position within a line
5131         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
5132
5133 2000-10-23  Havoc Pennington  <hp@redhat.com>
5134
5135         * gtk/testtext.c: Re-enable the "find" dialog
5136
5137         * gtk/testgtk.c: Add test for gdk_drawable_get_image
5138         
5139         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
5140         the arguments to gdk_draw_drawable were in the wrong order
5141         (gdk_window_paint_init_bg): This function was ignoring the
5142         init_region, instead of clipping to it, so the entire backing
5143         pixmap was cleared on every begin_paint()
5144         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
5145         was in here again, the loop kept using the same GtkWindowPaint
5146         over and over.
5147         (gdk_window_begin_paint_region): Fix a bug where we had two
5148         x_offset instead of x_offset and y_offset
5149
5150         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
5151         before we get the image.
5152         (gdk_draw_drawable): get the composite before we draw the drawable.
5153         (gdk_drawable_real_get_composite_drawable): default
5154         get_composite_drawable implementation that returns the drawable 
5155         itself
5156
5157         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
5158         get_composite_drawable virtual function
5159
5160         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
5161         list-walking bug
5162
5163         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
5164         make this work if the source drawable is a GdkDrawableImplX11
5165         instead of a public drawable type. This is really broken; the
5166         problem is that GdkDrawable needs a virtual method get_xid(), but
5167         of course that doesn't work in practice. Enter RTTI.
5168
5169         Also, improve mismatched depth message.
5170
5171         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
5172         GdkPixmap
5173
5174         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
5175         install _gdk_x11_get_image as our implementation of get_image
5176         
5177         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
5178         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
5179
5180         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
5181         gdk_drawable_get_image
5182
5183         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
5184
5185         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
5186         get_image
5187
5188         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
5189         trailing semicolon after for loop
5190
5191 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
5192
5193         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
5194         where font_desc for widget's context lagged widget's font_desc by
5195         one step.
5196
5197 2000-10-22  Tor Lillqvist  <tml@iki.fi>
5198
5199         * gdk/win32/gdkgc-win32.c
5200         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
5201
5202         * gtk/makefile.mingw.in
5203         * gtk/gtk.def: Updates.
5204
5205         * gtk/testgtk.c: sleep() is called _sleep in MS's C
5206         library.
5207
5208         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
5209
5210         * gtk/makefile.msc: Remove
5211
5212         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
5213
5214         * gtk/Makefile.am: Add it.
5215
5216         * configure.in: Generate it.
5217
5218         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
5219         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
5220         something even if not implemented, to satisfy picky MSVC.
5221
5222         Patches by Hans Breuer:
5223         
5224         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
5225         SetBkMode() and SetTextAlign() before calling
5226         pango_win32_render().
5227
5228         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
5229         Set hcliprgn to NULL after destroying it.
5230         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
5231
5232         * gdk/win32/gdkgeometry-win32.c
5233         (_gdk_windowing_window_queue_antiexpose): More effective
5234         implementation.
5235
5236         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
5237         depth as default, not the visual's.
5238
5239         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
5240         against empty title.
5241
5242         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
5243         IMAGE_PRIVATE_DATA.
5244
5245         * gdk/win32/gdkimage-win32.c: Use it.
5246
5247 2000-10-22  Robert Brady  <robert@suse.co.uk>
5248
5249         * configure.in: Check for bind_textdomain_codeset
5250
5251         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
5252         present, make use of it.
5253
5254         Add a translatable string "default:LTR" which, if translated
5255         to "default:RTL", will cause the default direction to be
5256         Right-to-Left.
5257
5258         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
5259         direction if marked as flippable.
5260
5261         * gtk/gtkhscale.c: Mark widget as flippable.
5262         
5263 2000-10-04  Havoc Pennington  <hp@redhat.com>
5264
5265         * gtk/testgtk.c (create_buttons): create some stock buttons
5266         with the default accel group
5267         (create_image): test some new GtkImage features
5268         (make_message_dialog): test GtkMessageDialog
5269         (create_modal_window): fix someone's bizzarro indentation
5270
5271         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
5272         GTK_WIN_POS_CENTER_ON_PARENT. 
5273         Add "destroy with parent" setting, which means the window goes
5274         away with its transient parent.
5275         (gtk_window_get_default_accel_group): get the default accel group
5276         for the window.
5277         (gtk_window_set_destroy_with_parent): set/unset destroy with
5278         parent flag
5279         (gtk_window_read_rcfiles): invalidate icon set caches
5280         after reloading rcfiles 
5281
5282         * gtk/gtkenums.h (GtkWindowPosition): add
5283         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
5284         on its parent window when the dialog is mapped for the first time.
5285
5286         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
5287         a simple message dialog class
5288         
5289         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
5290         handler to emit response signal, and maybe later it would
5291         honor a hide_on_delete flag - though that isn't there yet.
5292         Set border width on the vbox to 2, so we get some padding.      
5293         Use a button box for the action area.
5294         (gtk_dialog_key_press): synthesize a delete event if Esc
5295         is pressed and the GtkWidget key press handler didn't 
5296         handle the escape key.
5297         (gtk_dialog_new_with_buttons): new function creates a dialog
5298         with some default buttons in it.
5299         (gtk_dialog_add_action_widget): add an activatable widget
5300         as a button in the dialog - you can also add a non-activatable
5301         widget by accessing the action area directly.
5302         (gtk_dialog_add_button): add a simple button - stock ID or 
5303         label - to the action area
5304         (gtk_dialog_response): emit response signal
5305         (gtk_dialog_run): block waiting for the dialog, return 
5306         the response. Override normal delete_event behavior, so that 
5307         delete_event does nothing inside gtk_dialog_run().
5308
5309         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
5310         emitted when an action widget is clicked or the dialog gets
5311         delete_event
5312
5313         * gtk/gtk.h: add gtkmessagedialog.h
5314
5315         * gtk/Makefile.am: add gtkmessagedialog.[hc]
5316
5317 2000-10-18  Havoc Pennington  <hp@redhat.com>
5318
5319         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
5320         where any number of empty lines would get skipped
5321
5322         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
5323         edge.
5324
5325         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
5326         warning about invalid iterators (explain more thoroughly)
5327         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
5328
5329         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
5330         big
5331
5332         * demos/*.c: Add error handling
5333
5334         * gtk/gtktextbuffer.c: don't modify const iterators
5335
5336         * gtk/gdk-pixbuf-loader.c: Add full error handling here
5337
5338         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
5339         on file load
5340
5341         * gtk/gtkiconfactory.c: Update to reflect addition of error
5342         handling to gdk-pixbuf loaders
5343
5344 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
5345
5346         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
5347         move to new modularized testgtk.
5348
5349 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
5350
5351         * gtk/gtktreeview.c: Draw the arrows correctly.
5352
5353         * gtk/gtktreemodel.c: Added user docs.
5354
5355         * gtk/gtk.h: remove gtktreedatalist.h.
5356
5357         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
5358         parent when generating my type.
5359
5360         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
5361         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
5362
5363 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
5364
5365         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
5366         GtkTreeModel from object to interface.
5367
5368 2000-10-16  Havoc Pennington  <hp@redhat.com>
5369
5370         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
5371         compilation
5372
5373 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
5374
5375         * gtk/gtktreeselection.c: Add API documentation to all public
5376         functions.
5377
5378         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
5379         functions.
5380
5381 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
5382
5383         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
5384         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
5385         docs to all public functions.
5386
5387         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
5388         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
5389         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
5390         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
5391         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
5392         issue.
5393
5394 2000-10-14  Robert Brady  <robert@suse.co.uk>
5395
5396         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
5397
5398 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
5399
5400         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
5401         values other then G_TYPE_STRING.
5402         * gtk/gtktreeselection.c: Minor commenting updates.
5403         * gtk/gtktreeview.c: Format updates.
5404
5405 2000-10-09  Tor Lillqvist  <tml@iki.fi>
5406
5407         * README.win32: Update.
5408
5409         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
5410         lines that had been deleted by mistake (?).
5411
5412         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
5413         also the case fg==white and bg==black (but still not randomly
5414         coloured cursors). Thanks to Wolfgang Sourdeau.
5415
5416         * gdk/win32/*.c: Silence gcc -Wall.
5417
5418         * gtk/gtk.def: Add missing entry points.
5419
5420         Fixes by Hans Breuer:
5421
5422         * gdk/makefile.msc
5423         * gdk/win32/makefile.msc: Update.
5424
5425         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
5426         some MSVC thing, presumably), cause breakpoint on failures. Add
5427         GDK_NOR case. Call g_log_set_always_fatal.
5428
5429         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
5430         should be pased by reference.
5431         
5432         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
5433         
5434         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
5435
5436         * gdk/win32/gdkevents-win32.c
5437         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
5438
5439         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
5440         implementation object.
5441
5442         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
5443         not just windows.
5444         
5445         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
5446         Use the wrapper object.
5447         
5448 2000-10-06  Havoc Pennington  <hp@redhat.com>
5449
5450         * Makefile.am (SRC_SUBDIRS): contrib subdir
5451
5452         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
5453         so it can be used in Xlib version
5454
5455         * demos/testpixbuf.c (update_timeout): error checking from 1.0
5456         tree
5457
5458         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
5459         change from 1.0 tree that returns first frame of animation
5460         if the loaded file is an animation.
5461
5462         * contrib: add new directory to hold stuff that comes with GTK+
5463         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
5464         
5465         * configure.in: add contrib/*
5466
5467 2000-10-05  Havoc Pennington  <hp@redhat.com>
5468
5469         * demos/testpixbuf-save.c: add pixbuf save test
5470
5471         * demos/Makefile.am: add testpixbuf-save.c
5472
5473 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
5474
5475         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
5476         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
5477         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
5478         * gtk/gtktreeselection.[ch]: Replaced
5479         "node_selected"/"node_unselected" signal with "selection_changed"
5480         signal.
5481
5482 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
5483
5484         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
5485         tree widget.
5486
5487 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
5488
5489         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
5490         drawing.
5491
5492 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
5493
5494         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
5495         Move list pointer forwards before removing item from
5496         list. (Crash reported by Salmaso Raffaele)
5497
5498         * gdk/gdkwindow.h: Remove spurious trailing ,
5499
5500         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
5501         dependencies on uninstalled libraries, sorry folks.
5502
5503 2000-10-04  Havoc Pennington  <hp@redhat.com>
5504
5505         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
5506         gtk/gtkiconfactory.c: Fix copyrights    
5507
5508         * demos/testpixbuf.c: add inline pixbuf test
5509         
5510 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
5511
5512         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
5513         Add gdk_window_iconify.
5514
5515         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
5516         (gdk_window_set_geometry_hints): Add win_gravity
5517         to geometry structure.
5518
5519         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
5520         Implement _NET_WM_PING.
5521
5522         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
5523         Set _NET_WM_PID on the client leader.
5524
5525         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
5526         Handle UTF-8 better.
5527
5528         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
5529         UTF-8 better, set _NET_WM_NAME as well. Only set
5530         icon name if it hasn't previously been explicitely 
5531         set.
5532
5533 2000-10-03  Havoc Pennington  <hp@redhat.com>
5534
5535         * gtk/testtextbuffer.c: clean up trailing whitespace,
5536         add extensive tests for tag toggle iteration.
5537         
5538         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
5539         distance
5540
5541         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
5542         optimize case where the tag root is on level 1
5543         (gtk_text_line_previous_could_contain_tag): attempt to implement
5544         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
5545         functionality
5546
5547         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
5548         Implement this, though not very efficiently.
5549
5550         * gtk/gtktextiterprivate.h: reformat
5551
5552         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
5553         iterator
5554
5555         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
5556         this to properly revalidate the iterators.
5557
5558         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
5559         properly at the end of the line (and therefore on empty lines)
5560
5561         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
5562         maybe we should return a value...
5563
5564 2000-10-03  Tor Lillqvist  <tml@iki.fi>
5565
5566         * config.h.win32: Guard definition of alloca(). glib.h now handles
5567         that.
5568
5569         * gdk/gdk.def
5570         * gtk/gtk.def: Add new entry points.
5571
5572         Changes just to make GTK+ build without errors on Win32. No hope
5573         of it working in its current state, though...:
5574         
5575         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
5576         some functions from the X11 backend, just to make GTK+ build.
5577
5578         * gdk/makefile.mingw.in
5579         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
5580         number. Add new object files.
5581
5582         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
5583         GetMessageTime to get timestamp (where on X11 uses
5584         gdk_x11_get_server_time()).
5585
5586 2000-10-02  Havoc Pennington  <hp@pobox.com>
5587
5588         * gtk/gtktextview.c: text_window_* weren't static and should have
5589         been.
5590         Start work on child widgets; not yet complete, syncing to 
5591         office computer.
5592
5593         * gtk/gtktextchild.h: change this to contain a public interface,
5594         starting work on child interfaces.
5595         * gtk/gtktextchildprivate.h: move private interfaces here
5596
5597         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
5598
5599         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
5600         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
5601         gtk/gtktextmark.c: copyright notices
5602
5603         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
5604         internal functions      
5605
5606         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
5607         internal function
5608
5609         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
5610         Reformatting    
5611
5612 2000-09-30  Havoc Pennington  <hp@pobox.com>
5613
5614         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
5615         NULL start/end pointers
5616
5617         * gtk/gtktextbuffer.c: Write some docs
5618         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
5619         NULL, so you can just check whether there's a selection.        
5620
5621         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
5622         cleanup_line or segments_changed ourselves, it gets done 
5623         in unlink_segment
5624
5625         * gtk/gtktextmark.h:
5626         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
5627         
5628         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
5629
5630         * gtk/gtktextmark.c: delete some more old Tk cruft
5631
5632         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
5633         mark before removing it, so we can emit MARK_DELETED with a valid
5634         pointer.
5635         (gtk_text_buffer_mark_set): hold ref across signal emission
5636
5637         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
5638         whining about attempts to delete special marks
5639
5640         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
5641         underscore, since it's internal.
5642
5643         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
5644         now implemented in terms of iterators in gtktextiter.h
5645
5646         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
5647         New function, destructively sets contents of buffer. Also 
5648         a convenient way to clear the buffer by setting text to ""
5649
5650         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
5651         multiline string literal
5652
5653         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
5654         text changes.
5655
5656         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
5657         is not dereferenceable
5658         (gtk_text_iter_forward_lines): fix return value
5659
5660 2000-09-29  Havoc Pennington  <hp@redhat.com>
5661
5662         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
5663
5664         * gtk/gtktextview.c: Implement drag thresholding; change functions 
5665         that set border window size to have nicer name
5666         (gtk_text_view_mark_set_handler):  Fix this to have the 
5667         right signature.
5668
5669         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
5670
5671         * gtk/testtext.c: Update with API changes, put line numbers on 
5672         both sides.
5673         
5674         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
5675         with this
5676
5677         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
5678         pixbuf; delete a big block of #if 0 Tk code
5679
5680         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
5681         insert_pixmap with insert_pixbuf
5682
5683 2000-09-29  Martin Baulig  <baulig@suse.de>
5684
5685         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
5686         confusion with the GdkPixbuf of the GNOME 1.x platform.
5687
5688 2000-09-29  Havoc Pennington  <hp@pobox.com>
5689
5690         * gtk/gtktextview.c: Implement the side windows.
5691
5692         * gtk/testtext.c: Implement simple line numbering in the 
5693         left side window; seems to make scrolling sloooow. Oops.
5694         Also, cursor blink is for some reason causing redraws
5695         of the line numbers. Should investigate...
5696
5697 2000-09-28  Havoc Pennington  <hp@redhat.com>
5698
5699         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
5700         scrolling child windows, and draw focus rectangle properly.
5701         
5702         (gtk_text_view_buffer_to_window_coords):
5703         Coordinate transformation to deal with all these freaking windows
5704         and offsets
5705         (gtk_text_view_window_to_buffer_coords): transform the other way
5706
5707         * gtk/testtext.c (create_buffer): Update to match Pango API change
5708
5709         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
5710         anonymous tags
5711         (foreach_unref): don't emit remove signal from finalize, just
5712         set tag's parent to NULL
5713
5714 2000-09-26  Havoc Pennington  <hp@redhat.com>
5715
5716         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
5717         Fix some warnings       
5718
5719 2000-09-26  Havoc Pennington  <hp@redhat.com>
5720
5721         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
5722         headers into the private header list
5723
5724         * Makefile.am (pkgconfig_DATA): install pkg-config files
5725
5726         * configure.in: add pkg-config files
5727
5728         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
5729
5730         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
5731         outstanding icon caches on theme change.
5732
5733         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
5734         important types:
5735
5736         (GtkIconSource): Specification for creating a pixbuf 
5737         appropriate for a direction/state/size triplet from 
5738         a source pixbuf or filename
5739
5740         (GtkIconSet): List of GtkIconSource objects that are used to
5741         create the "same" icon (e.g. an OK button icon), and cache for
5742         rendered icons
5743
5744         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
5745         up the icon set for a given stock ID.  GTK maintains a stack of
5746         GtkIconFactory to search, and applications or libraries can add
5747         additional icon factories on top of the stack
5748         
5749         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
5750         the set of GtkIconSource specified for a given stock ID into 
5751         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
5752         RcStyle, under the specified stock ID.
5753
5754         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
5755         render_icon used to derive a GdkPixbuf from a GtkIconSource.
5756         This allows people to theme how prelight, insensitive, etc. are
5757         done.
5758
5759         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
5760         icon factories for a style, and return the resulting 
5761         icon set if any.
5762
5763         (gtk_style_render_icon): Render an icon using the render_icon 
5764         method in the GtkStyleClass.
5765
5766         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
5767         Use the style for a given widget to look up a stock ID, get the
5768         icon set, and render an icon using the render_icon method 
5769         of the style
5770
5771         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
5772         (contains information about a stock item), the built-in stock item
5773         IDs, and functions to add/lookup stock items.
5774
5775         * gtk/stock-icons/*: Stock icons that come with GTK
5776
5777         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
5778         a button based on a GtkStockItem
5779         (gtk_button_new_accel): Takes a uline string and accel group, and
5780         installs the accelerator.
5781
5782         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
5783         image-display widget.
5784
5785 2000-09-25  Havoc Pennington  <hp@redhat.com>
5786
5787         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
5788
5789         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
5790         Fix a bug when removing node data, we didn't properly 
5791         re-splice the linked list after removing the data.
5792
5793         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
5794         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
5795
5796         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
5797
5798         * gtk/gtktextlayout.c (set_para_values): Set tab array 
5799         for the layout from the GtkTextTag.
5800
5801         * gtk/gtktexttypes.h: delete tab and search cruft, 
5802         remove g_convert() in favor of GLib version
5803
5804         * gtk/gtktexttypes.c: remove tab implementation from here,
5805         move to Pango
5806
5807         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
5808         tab stuff using new PangoTabArray from Pango
5809
5810         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
5811         unused border_width stuff
5812
5813 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
5814
5815         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
5816         glib) and now useless utf_to_latin1() latin1_to_utf()
5817
5818         * gtk/gtktextview.[ch]: Change ::move_insert and
5819         ::delete_text action signals to ::move and ::delete;
5820         create the signals with the right enumeration type,
5821         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
5822         C-v bindings, change Home, End to move to beginning/end
5823         of line, Add C-Home C-End to move to beginning/end
5824         of buffer. Change ::cut_text to ::cut_clipboard, etc;
5825         combine ::scroll_text into ::move; use new GtkSelectionData
5826         functions to simplify DND text handling.
5827         
5828         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
5829         deletion enumerations here, rename enumeration values to 
5830         be consistently plural.
5831
5832         * gtk/gtktextbuffer.c: Use new clipboard interfaces
5833         for cut/copy/paste and primary selection.
5834
5835         * gtk/gtktextbuffer.[ch]: Remove excess time and
5836         'interactive' arguments from cut/copy/paste;
5837         rename cut to cut_clipboard, etc; remove
5838         gtk_text_buffer_get_clipboard_contents().
5839
5840         * gtk/gtktextlayout.[ch]: Add 
5841         gtk_text_layout_move_iter_to_line_end() to move the iter to 
5842         line ends.
5843
5844         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
5845         Functions to set or get a UTF-8 string on the selection
5846         data.
5847
5848         * gtk/gtkclipboard.[ch]: New, simplified selection handling
5849         interfaces.
5850
5851         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
5852         created widgets - one of these is useless if we don't.
5853
5854         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
5855         a public function clear all targets registered for the
5856         widget.
5857
5858         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
5859         Never call gtk_widget_realize() - that was just asking
5860         for bizarre side-effects.
5861
5862         * gtk/gtkselection.c (gtk_selection_owner_set): Call
5863         gdk_selection_owner_set even if the widget is the
5864         same so that we reliably update the timestamp on
5865         the server.
5866
5867         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
5868         gdk_x11_get_server_time() function.
5869         
5870         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
5871         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
5872         Add some tricky filtering on serial numbers for
5873         selection clear events to fix up long-standard
5874         race condition FIXME's in gtkselection.c.
5875
5876         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
5877         routines to convert from utf8 to compound text or
5878         STRING and from a text property to UTF-8.
5879
5880         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
5881         a convenience function gdk_get_current_event_time().
5882
5883         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
5884         and free selection_data->data properly
5885
5886 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
5887
5888         * gtk/gtkthemes.c: Remove some unecessary includes.
5889
5890 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
5891
5892         * gtk/gtktextdisplay.c
5893         * gtk/gtktextlayout.c
5894         * gtk/gtktexttag.c
5895         * gtk/gtktexttag.h
5896         * gtk/testtext.c: Change the overstrike property to strikethrough,
5897         to closer match pango.
5898
5899 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
5900
5901         * gtk/gtktextview.c: Fix up visibility so that focus,
5902         cursor_visible and blink interact properly.  Reenable cursor blink
5903         which had been roughly disabled. Make blink and focus
5904         properly per-view.
5905
5906         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
5907         Add a flag for whether to display insertion cursor and
5908         a function to set the flag.
5909
5910         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
5911         get_line_y() to get_line_yrange(), to be a bit more generally
5912         useful.
5913
5914 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
5915
5916         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
5917           do stop_navigating_submenu, to clear last timeout properly.
5918           Also in gtk_menu_motion_notify move ignore_enter above
5919           the conditional to make it always happen as suggested by Owen
5920
5921 2000-09-07  Tor Lillqvist  <tml@iki.fi>
5922
5923         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
5924
5925         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
5926         w32api headers.
5927
5928         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
5929         declarations.
5930
5931         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
5932         (gdk_win32_get_colormap): A line had been deleted by mistake.
5933
5934         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
5935         (gdk_event_translate): Handle more virtual keycodes to be able to
5936         generate GDK events for Control-comma, Control-period, etc.
5937
5938         * gtk/gtk.def: Add some missing entry points.
5939
5940 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
5941
5942         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
5943         Doc comment fixing. (Mostly non-matching parameter names.)
5944
5945         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
5946         comments a little to avoid looking like a doc comment.
5947
5948         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
5949         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
5950         conversions be changed to GError?)
5951
5952         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
5953         Move private #defines into .c file.
5954
5955         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
5956         order of argument addition, remove duplicates.
5957
5958         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
5959         parent class is FrameClass, not BinClass.
5960
5961         * gtk/gtk.h: Add gtkinvisible, which was missing.
5962         (It's occasionalyl useful for client apps, if seldom.)
5963
5964         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
5965         #define.
5966
5967 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
5968
5969         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
5970         coordinates when creating window, instead of GDK-space
5971         coordinates. (Avoid BadValue on too large windows.)
5972
5973 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5974
5975         * configure.in (use_mmx_asm): Remove conftest* after use along the
5976         lines of AC_TRY_COMPILE.        
5977         
5978         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
5979         of g_dirname, which is deprecated.
5980         (gtk_rc_parse_any): Removed calls to
5981         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
5982
5983         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
5984         Removed calls to g_hash_table_{freeze,thaw}, as they are
5985         deprecated now.
5986
5987         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
5988         instead of g_basename.
5989         
5990 2000-09-04 Elliot Lee <sopwith@redhat.com>
5991         
5992         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
5993         ANSI warning.
5994
5995 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
5996
5997         * gtk/gtkwidget.h:  Add some documenting comments about 
5998           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
5999           just as owen said on irc.
6000
6001         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
6002           set HAS_DEFAULT.  Only set it if there isn't another window
6003           holding it (a focus window which RECEIVES_DEFAULT) and only unset
6004           it if the widget is not the focused window with RECEIVES_DEFAULT.
6005           This fixes weird double default bugs in dialogs which has things
6006           call gtk_window_set_default at times.
6007
6008 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
6009
6010         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
6011         Nils Barth and David Santiago to improve submenu
6012         navigation. The patch does this by creating a triangular
6013         region from the point where the pointer leaves the
6014         menu to the submenu.  While the pointer is in
6015         that region and a timeout has not expired, events 
6016         that would cause the active submenu to change are
6017         ignored.
6018
6019 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
6020
6021         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
6022         moving a toplevel window immediately after sizing it would
6023         result in it being sized back to the old size since 
6024         impl->width, impl->height aren't updated until we hear
6025         back from the server. There is still a (longstanding) bug
6026         here that gdk_window_get_size() will give the wrong size
6027         until we do hear back.
6028
6029 2000-08-31  Havoc Pennington  <hp@redhat.com>
6030
6031         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
6032         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
6033         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
6034         Rename GtkTextStyleValues to GtkTextAttributes
6035
6036 2000-08-31  Havoc Pennington  <hp@pobox.com>
6037
6038         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
6039         for rapid testing whether an iterator is the end iterator
6040         (gtk_text_btree_new): init end line cache
6041         (gtk_text_line_is_last): use fast cached line to 
6042         see if we're the last line.
6043         (get_last_line): use cached line here too, should 
6044         speed up some random unrelated code.
6045         
6046 2000-08-30  Havoc Pennington  <hp@pobox.com>
6047
6048         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
6049         signals.
6050
6051         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
6052         delete_text signals. This allows the signals to be used for
6053         implementing undo.
6054
6055         * gtk/gtktextbuffer.c: Change signal handler signatures; 
6056         provide "interactive" argument when emitting insert_text or
6057         delete_text signal.
6058         
6059 2000-08-30  Havoc Pennington  <hp@pobox.com>
6060
6061         * gtk/gtktextbuffer.c: Docs
6062
6063 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
6064
6065         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
6066         from switch statements, since Tor removed the enumeration
6067         value.
6068         
6069         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
6070         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
6071
6072 2000-08-29 Elliot Lee <sopwith@redhat.com>
6073         * */*.h: Use G_GNUC_CONST.
6074
6075 2000-08-27  Havoc Pennington  <hp@pobox.com>
6076
6077         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
6078         minor indentation fixes, inserted some FIXME about stuff I
6079         realized was broken while documenting it.
6080         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
6081         GTK convention  
6082
6083 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
6084
6085         * gtk/testgtk.c (create_styles): Fix double free of
6086         font desc.
6087
6088 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
6089
6090         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
6091         
6092         * gtk/testgtk.c (create_styles): Add a test for modifying
6093         the style through gtk_widget_modify_*.
6094
6095         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
6096         a function to get the current modifier style.
6097
6098         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
6099         of the passed in GtkRcStyle instead of ref'ing it.
6100
6101         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
6102
6103 2000-08-20  Tor Lillqvist  <tml@iki.fi>
6104
6105         * gdk/gdkimage.h
6106         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
6107         shared memory image+pixmap GdkImage type, or
6108         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
6109         I am dropping that.
6110
6111         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
6112         actually call gtk_init_abi_check(), passing also
6113         sizeof(GtkWindow). Ditto for gtk_init_check(). 
6114
6115         * gtk/gtk.def
6116         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
6117         New functions, used to check that the GTK+-using code has been
6118         compiled using the correct compiler and switches. In particular,
6119         with gcc one has to use the -fnative-struct switch as GTK+ is
6120         compiled with that.
6121
6122 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
6123
6124         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
6125         ->prev fields when merging lists. (Found simultaneously
6126         by Pawel Salek and Jakub Jelinek)
6127
6128 2000-08-12  Tor Lillqvist  <tml@iki.fi>
6129
6130         * gdk/gdk.def
6131         * gtk/gtk.def: Add missing entries.
6132
6133         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
6134         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
6135
6136         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
6137         function. Dummy implementation at this point.
6138
6139         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
6140         rules. Undefine GTK_COMPILATION when compiling the test programs.
6141         
6142         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
6143
6144 2000-08-11  Tor Lillqvist  <tml@iki.fi>
6145
6146         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
6147         to convert back and forth from UTF-8 and the "system" (or "current
6148         locale") charset when necessary. Indentation/spacing cleanup.
6149
6150 2000-08-10  Havoc Pennington  <hp@redhat.com>
6151
6152         * Makefile.am (snapshot): Change the format of the snapshot
6153         version to match glib
6154
6155         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
6156         from EXTRA_DIST since it doesn't seem to exist
6157
6158 2000-08-10  Tor Lillqvist  <tml@iki.fi>
6159
6160         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
6161         version of the directory name (not the UTF-8 one) when building
6162         the path name to stat().
6163
6164 2000-08-03  Elliot Lee  <sopwith@redhat.com>
6165
6166         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
6167         PANGO_ATTR_SHAPE set.
6168
6169 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
6170
6171         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
6172         Peter Osterlund to simplify the code while keeping the
6173         functionality the same.
6174
6175 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
6176
6177         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
6178         is_viewable() test further inside the function, since removing the 
6179         window from the redraw list without clearing ->update_area
6180         was also very broken.
6181
6182 2000-08-02  Tor Lillqvist  <tml@iki.fi>
6183
6184         * configure.in: Check for <unistd.h>.
6185
6186 2000-08-01  Martin Baulig  <baulig@suse.de>
6187
6188         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
6189         to display the message that this is a development version of GTK+.
6190
6191 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
6192
6193         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
6194         was depending on widget->allocation instead of the width of text_area,
6195         which was incorrect for subclasses like GtkSpinButton.
6196
6197         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
6198         with width == 1 tests that should be width == -1.
6199
6200 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
6201
6202         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
6203         (broken, Elliot, every single window blank on X) custom code with call
6204         to gdk_window_is_viewable() which a) prevents code duplicate and
6205         b) works. 
6206
6207 2000-07-31  Elliot Lee  <sopwith@redhat.com>
6208
6209         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
6210         to get the GDK_PARENT_ROOT() macro to work.
6211         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
6212         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
6213         of, windows that aren't shown.
6214         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
6215         pointer grab stuff.
6216
6217 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
6218
6219         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
6220           s/gtk_main_iteration/g_main_iteration/
6221
6222           Did this already in change:
6223                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
6224           don't know how it got reverted.
6225
6226 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
6227
6228         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
6229         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
6230
6231         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
6232         not gdk_pixbuf.
6233
6234 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
6235
6236         * configure.in,po/{sp,sr}.po: Added Serbian files
6237
6238 2000-07-30  Tor Lillqvist  <tml@iki.fi>
6239
6240         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
6241
6242         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
6243         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
6244         GIOChannel implementation.
6245
6246         * gdk/win32/gdkinput.c
6247         * gdk/win32/gdkpango-win32.c: Update license name here, too.
6248
6249         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
6250         definition to match prototype.
6251
6252         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
6253
6254 2000-07-27  Elliot Lee  <sopwith@redhat.com>
6255
6256         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
6257         function, to allow handling image formats that cannot be detected
6258         by looking at content alone.
6259
6260 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
6261
6262         * docs/tutorial/*.gif *.jpg *.eps
6263           Update these to the same look-n-feel.
6264           Why does including images in DocBook suck so badly?
6265
6266 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
6267
6268         * gtk/gtktable.c: applied patch from Phil Thompson
6269         <phil@river-bank.demon.co.uk> that enables space settings for
6270         the last row/columns as well.
6271
6272 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
6273
6274         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
6275         updates the license headers to the GNU Lesser General Public License,
6276         as well as updating the copyright year to 2000.
6277
6278 2000-07-26  Robert Brady  <rwb197@zepler.org>
6279
6280         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
6281           and po/Makefile, was installing and looking for them under gtk20
6282           and gtk2 respectively.
6283
6284 2000-07-25  Havoc Pennington  <hp@redhat.com>
6285
6286         * gtk/testtext.c: Comment out some stuff that depends on the rest
6287         of my patches.
6288
6289 2000-07-25  Havoc Pennington  <hp@redhat.com>
6290
6291         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
6292         buffer
6293
6294 2000-07-25  Havoc Pennington  <hp@redhat.com>
6295
6296         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
6297         widget changes.
6298
6299         * gtk/gtktextview.h: To be consistent with usage of "line"
6300         throughout the API to mean "newline-terminated thingy", change
6301         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
6302         to MOVEMENT_LINE.
6303
6304         (GtkTextView): Add flags for default editability, and whether to
6305         show the cursor. Add functions to get/set that. Add 
6306
6307         (gtk_text_view_get_iter_location): new function
6308
6309         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
6310         gtktextlayout.h
6311         (g_convert): Add g_convert temporarily, will go in glib in a bit
6312         
6313         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
6314         GtkTextTagTableForeach instead of brokenly using GHFunc.
6315         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
6316
6317         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
6318         moved to public header.
6319
6320         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
6321         "invisible", since "elide" was a bad name.
6322         (gtk_text_tag_get_priority): Added
6323
6324         (GtkTextStyleValues): put this in public header, along with
6325         functions to use it.
6326
6327         * gtk/gtktextmarkprivate.h: Include more headers, since we no
6328         longer include gtktextbtree.h.
6329
6330         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
6331         gtk_text_mark_deleted
6332
6333         * gtk/gtktextlayout.h: Don't include the "really private" headers,
6334         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
6335         to make this possible. Now we only need to install
6336         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
6337         (However the Makefile.am isn't changed yet because of the
6338         logistics of merging gtk-hp-patches piecemeal)
6339
6340         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
6341         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
6342         gtk_text_iter_get_line is now used in the public API for a
6343         different purpose.
6344
6345         * gtk/gtktextiter.h: Clean up function names to be more
6346         consistent. Always call char offset "offset" and byte index
6347         "index". A "line" is always a line number. 
6348
6349         (gtk_text_iter_is_last): new function, more efficient than 
6350         the existing way to check
6351         (gtk_text_iter_is_first): new function, also more efficient
6352
6353         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
6354
6355         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
6356         gtk_text_iter_forward_char, etc.
6357
6358         (gtk_text_iter_forward_to_tag_toggle): Renamed from
6359         forward_find_tag_toggle, since this isn't a linear search
6360
6361         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
6362
6363         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
6364         New functions, search for a buffer substring.
6365
6366         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
6367         interactive and default editable (since we need to store that info
6368         until we receive the selection data).
6369
6370         Remove all the _at_char and at_line etc. versions of functions;
6371         only have iterator versions.
6372
6373         Add _interactive() versions of functions, that consider the
6374         editability of text. (FIXME add interactive flag to the 
6375         insert/delete signals per Darin's suggestion)
6376
6377         (gtk_text_buffer_get_tag_table): new function, demand-creates the
6378         tag table if necessary
6379
6380         Remove declaration of gtk_text_buffer_get_iter_from_string
6381
6382         (_gtk_text_buffer_get_btree): private/internal function, added.
6383         
6384
6385         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
6386         (gtk_text_line_is_last): new function
6387
6388 2000-07-25  Havoc Pennington  <hp@redhat.com>
6389
6390         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
6391         using GtkProgressBar. See Changes-2.0.txt for details.
6392
6393         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
6394         "pulse_step" which are the equivalent of
6395         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
6396         Implement new API.
6397         
6398         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
6399         (use_text_format) to mark whether text set on the progress bar is
6400         a format string. Deprecate entire GtkProgress interface.
6401
6402         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
6403         (gtk_progress_build_string): make this a no-op if use_text_format
6404         is FALSE
6405
6406         * docs/Changes-2.0.txt: Describe progress bar changes.
6407
6408 2000-07-25  Tor Lillqvist  <tml@iki.fi>
6409
6410         * Makefile.am: Include the build directory.
6411
6412         * configure.in: Generate build/Makefile, build/win32/Makefile,
6413         gdk/, gdk/win32/, and gtk/makefile.mingw.
6414
6415         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
6416         Add GETTEXT_PACKAGE.
6417         
6418         * gdk/gdk.def
6419         * gtk/gtk.def: Updates.
6420
6421         * gdk/gdkfont.h
6422         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
6423         need them any longer.
6424
6425         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
6426
6427         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
6428         PANGOWIN32_LIBS and gdk_pixbuf.
6429
6430         * gdk/win32: Compiles, but no doubt doesn't work at all.
6431
6432         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
6433
6434         * gdk/win32/gdkinput.c: New file, temporarily.
6435         
6436         * gdk/win32/gdkinput-win32.h: New file
6437
6438         * gdk/win32/gdkinputprivate.h: Remove.
6439
6440         * gdk/win32/gdkpango-win32.c: New file.
6441
6442         * gtk/makefile.mingw.in: New file
6443
6444         * gtk/makefile.cygwin: Removed
6445         
6446         * gtk/Makefile.am: Update accordingly.
6447
6448         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
6449         made externally visible.
6450
6451         * gtk/gtkmain.c: Use it.
6452         
6453         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
6454         is enough.
6455
6456         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
6457
6458 2000-07-24 Elliot Lee <sopwith@redhat.com>
6459         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
6460         individual backends already.
6461         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
6462         again. Yes, there really is a good reason for this, if you are using the gdkregion
6463         internals, and if you're not, why do you care?
6464         * gdk/gdkwindow.c: Fix inverted condition
6465         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
6466         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
6467         * gtk/gtkrange.c: Redraw trough when moving.
6468         * gtk/gtktypeutils.c: Fix warning by adding const cast.
6469         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
6470
6471 2000-07-23  Tor Lillqvist  <tml@iki.fi>
6472
6473         * configure.in: Check for mkstemp and sigsetjmp. Output
6474         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
6475
6476         More work on GDK for Win32. Still in an intermediate state.
6477
6478         * gdk/makefile.cygwin
6479         * gdk/win32/makefile.cygwin: Removed.
6480         
6481         * gdk/makefile.mingw.in
6482         * gdk/win32/makefile.mingw.in: New files.
6483
6484         * gdk/Makefile.am
6485         * gdk/win32/Makefile.am: Generate and distribute them.
6486
6487         * gdk/win32/gdkwindow-win32.h
6488         * gdk/win32/gdkdrawable-win32.h
6489         * gdk/win32/gdkpixmap-win32.h: New files.
6490
6491         * gdk/win32/gdkcolor-win32.c
6492         * gdk/win32/gdkcursor-win32.c
6493         * gdk/win32/gdkdrawable-win32.c
6494         * gdk/win32/gdkgc-win32.c
6495         * gdk/win32/gdkimage-win32.c
6496         * gdk/win32/gdkprivate-win32.h
6497         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
6498         Rename fields and variables called xcursor, xid, etc (these names
6499         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
6500
6501 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
6502
6503         * gtk/gtkentry.[ch]: Fix some problems with vertical
6504         alignment.
6505
6506         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
6507         char/byte confusion.
6508
6509 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
6510
6511         * gtk/gtktextview.c (changed_handler): Fix bug where
6512         redraw wasn't being done properly when height of
6513         dirty region changed.
6514
6515         * demos/Makefile.am: Remove various references to
6516         -lgmodule
6517
6518 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
6519
6520         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
6521         PangoAttrShape to reserve space for pixmaps, add 
6522         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
6523         in the display functions.
6524         
6525         * gtk/testgtk.c (create_layout): Set some more exotic
6526         scrolled window options
6527
6528         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
6529         Add function to set the shadow type of a window, to allow
6530         putting a shadow around widgets such as GtkLayout or GnomeCanvas
6531         which don't draw their own frame.
6532
6533 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
6534
6535         * docs/tutorial/package-db-tutorial.sh: New file for
6536           packaging DocBook format tutorial
6537
6538 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
6539
6540         * docs/tutorial/gtk-tut.sgml: Minor updates
6541
6542         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
6543
6544 2000-07-19  Tor Lillqvist  <tml@iki.fi>
6545
6546         * gtk/gtksignal.c: Fix C++ comment.
6547
6548         * gtk/gtkimmulticontext.c
6549         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
6550         don't return value from void functions.
6551
6552         * gtk/gtk.def: Add gtk_rc_style_unref.
6553
6554 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6555
6556         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
6557         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
6558         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
6559         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
6560         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
6561         gtk/gtktypeutils.h: Include files outside of the extern "C"
6562         block. Makes some C++ compiler happy. Reported by Denis Vakatov
6563         <vakatov@peony.nlm.nih.gov>.
6564
6565 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
6566
6567         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
6568           Completes first pass. Hurrah!
6569
6570 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
6571
6572         * docs/tutorial/gtk-tut.sgml: More clean ups.
6573
6574 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
6575
6576         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
6577         paint the background of the text area which was accidentally
6578         removed at some point.
6579
6580         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
6581           
6582          - Move most of the functionality from the theme vtable
6583            into GtkRcStyleClass and GtkStyleClass. The moved
6584            vtable functions were changed a bit in the move to
6585            work better in their new home.
6586
6587          - Get rid of the engine and engine_data fields from
6588            GtkRcStyle and GtkStyle; instead the theme
6589            engine derives theme-specific subclasses of GtkRcStyle
6590            and GtkStyle
6591
6592          - Add extra dlsym() found entry point to themes,
6593            theme_create_rc_style().
6594
6595         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
6596         in gtk_style_real_copy.
6597
6598         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
6599         to register a type associated with an engine. (The engine
6600         won't be unloaded as there is an instance of the type.)
6601
6602
6603 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
6604
6605         * docs/tutorial/gtk-tut.sgml: Clean ups.
6606
6607 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
6608
6609         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
6610           of cleaning up to do.
6611
6612 2000-07-15  Tor Lillqvist  <tml@iki.fi>
6613
6614         * gdk/testgdk.c: New file, quick hack to test backends for
6615         pixel-by-pixel correctness of the most simple graphic operations.
6616
6617 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
6618
6619         * Really release 1.3.1
6620         
6621         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
6622         include structure.
6623
6624 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
6625
6626         * Released 1.3.1
6627
6628 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
6629
6630         * gtk/gtktextlayout.c: use FALSE for size_only most
6631         of the time when calling gtk_text_layout_get_line_display()
6632         to avoid causing double reshapes when a redraw follows
6633         immediately after.
6634
6635 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
6636
6637         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
6638         appropriate region and gdk_window_process_updates() so trough
6639         updating doesn't lag behind the window being scrolled.
6640
6641         * gdk/gdkgc.c: Make parent_class pointer static.
6642          
6643 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
6644
6645         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
6646         include <string.h>.
6647          
6648         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
6649         cut-and-paste error in computing memory offset for 4 channels.
6650
6651 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
6652
6653         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
6654         gtk_rc_append_default_pixmap_path(), since it wasn't
6655         adding an interesting path and we don't have a meaningful
6656         default for this value.
6657
6658 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
6659
6660         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
6661         gtk-config to gtk-config-2.0 move gtk_.m4 to
6662         gtk-2.0.m4
6663
6664         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
6665         gdk/Makefile.am demos/Makefile.am: Change 
6666         library names to libgtk-1.3.la, etc, so that we
6667         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
6668
6669         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
6670         gdk/Makefile.am gdk/x11/Makfile.am
6671         Move include files into /usr/include/gtk-2.0, 
6672         /usr/lib/gtk-2.0/include/
6673          
6674         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
6675         gtk/gtkintl.h: Change package for gettext from 
6676         gtk+ to gtk20. Put hack in autogen.sh to modify
6677         po/Makefile.in.in after gettextize to make this
6678         possible.
6679
6680         * gtk+.spec: Some updates, not tested.
6681
6682         * gdk-pixbuf/Makefile.am: Move loaders into
6683         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
6684
6685         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
6686         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
6687         to THEMENAME/gtk-2.0/. Move engine directory  to
6688         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
6689         
6690 2000-07-12  Tor Lillqvist  <tml@iki.fi>
6691
6692         Win32 changes, still doesn't build though.
6693
6694         * gdk/makefile.cygwin
6695         * gdk/win32/makefile.cygwin
6696         * gtk/makefile.cygwin: Updates.
6697
6698         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
6699         default values for fg and bg pixel as X11 does (0 and 1), not
6700         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
6701         Use 0 for pen width by default (treated as 1 anyway later, but for
6702         apps that might check the value in the GdkGC).
6703         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
6704         interface to gdk_gc_predraw and _postdraw.
6705
6706         * gdk/win32/gdkwin32.h
6707         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
6708
6709         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
6710         extraneous semicolon.
6711
6712         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
6713
6714         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
6715         not the Win32 bitspixel value.
6716
6717         * gdk/win32/gdkcc-win32.c:
6718         * gdk/win32/gdkcolor-win32.c 
6719         * gdk/win32/gdkprivate-win32.h
6720         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
6721         GDK object structure.
6722
6723 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
6724
6725         * docs/tutorial/gtk_tut_12.es.sgml (name): 
6726         * docs/tutorial/gtk_tut_it.sgml (name): 
6727         * docs/tutorial/gtk_tut_fr.sgml (name): 
6728         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
6729         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
6730
6731 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
6732
6733         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
6734           small changes.
6735
6736 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
6737
6738         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
6739         a bug here, never been here and never fixed anything ;(
6740         (don't segfault if tree->root_tree is NULL, which happens prior
6741         to widget realization, but puke instead).
6742
6743 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
6744
6745         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
6746         add the necessary tokens.
6747
6748         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
6749         (gtk_rc_style_to_style): copy thicknesses.
6750         (gtk_rc_init_style): apply thicknesses.
6751         (gtk_rc_parse_style): parse xthickness and ythickness.
6752
6753         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
6754
6755         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
6756         (gdk_window_new): 
6757         (_gdk_windowing_window_init): 
6758         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
6759         (gdk_pixmap_create_from_data): 
6760         (gdk_bitmap_create_from_data): 
6761         (gdk_pixmap_new): 
6762         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
6763         (gdk_image_new): 
6764         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
6765         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
6766         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
6767         (gdk_colormap_get_system): 
6768         (gdk_colormap_new): 
6769         * gdk/gdkwindow.c (gdk_window_init): 
6770         * gtk/gtkstyle.c (gtk_style_new):
6771         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
6772         * gdk/gdkpixmap.c (gdk_pixmap_init): 
6773         * gtk/gtkrc.c (gtk_rc_style_new):
6774         use g_object_new() instead of g_type_create_instance() which
6775         is a private function for fundamental type implementations.
6776
6777 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
6778
6779         * configure.in: Add check for db2html
6780
6781 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
6782
6783         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
6784         hack to set glib_debug_objects based on gtk_debug_flags.
6785
6786 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
6787
6788         * INSTALL.in: Update the Prerequisites section.
6789
6790         * Makefile.am demos/Makefile.am docs/Makefile.am
6791         docs/tutorial/Makefile.am gdk/x11/Makefile.am
6792         gdk/linux-fb/Makefile.am: Dist fixes
6793
6794 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
6795
6796         * NEWS: 10,000 foot view of 1.3.1 changes.
6797
6798 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
6799
6800         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
6801         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
6802         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
6803         gdk/x11/gdkmain-x11.c: 
6804
6805         Patch from George Lebl to add a GdkGrabStatus enumeration to use
6806         as a return value of gdk_*_grab(). Previously, we just
6807         returned the X11 values directly.
6808
6809 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
6810
6811         * gdk/x11/Makefile.am: Patch from George Lebl to 
6812         install all the headers in the right place.
6813
6814 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
6815
6816         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
6817           initial conversion to DocBook.
6818
6819 2000-07-04  Tor Lillqvist  <tml@iki.fi>
6820
6821         * README.win32: Improve a bit.
6822
6823         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
6824         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
6825         Alt+0nnn on the numpad (used to enter characters by numeric code
6826         from current DOS or ANSI codepage) working correctly, as in other
6827         Windows apps.
6828
6829         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
6830         same argument validity tests as in X11 version.
6831         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
6832
6833         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
6834         definitions in case missing from headers.
6835
6836         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
6837         destroy the window-specific cursor.
6838         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
6839         calling GetModuleHandle(NULL).
6840         (gdk_window_set_cursor): Reworked to always copy the passed cursor
6841         with CopyCursor before setting it as the window-specific
6842         cursor. It is OK for the caller to destroy the GdkCursor (and thus
6843         also its Windows cursor) after calling this function. Destroy any
6844         previous window-specific cursor.
6845
6846 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
6847
6848         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
6849         font charset is iso8859-1, not iso-8859-1.
6850
6851 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
6852
6853         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
6854         Use g_get_charset() instead of g_get_codeset().
6855
6856         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
6857         Comment out some strdup'ing functions to keep timj
6858         happy until we finish fighting this out.
6859
6860 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
6861
6862         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
6863         <= width or height.
6864
6865         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
6866         from 1.2 for parent/child states.
6867
6868         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
6869         of typos.
6870
6871         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
6872         event structures, replace with a generic axes field. Replace 
6873         deviceid/sourec with GdkDevice *device.
6874
6875         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
6876         to extract particular axis use value from event. (Also
6877         can be used for normal X/Y.)
6878
6879         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
6880         allow for arbitrary number of axes, namespace everything
6881         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
6882         everywhere.
6883
6884         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
6885         Get rid of the gdk_input_vtable setup if favor of simply
6886         defining the functions in gdkinput-none/gxi/xfree.c in
6887         a similar fashion to the way that the port structure is 
6888         done.
6889
6890         * gtk/gtkdnd.c: Fix fields of synthesized button press event
6891         for new event structures. 
6892
6893         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
6894         new device interfaces.
6895
6896 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
6897
6898         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
6899         set the initial text.
6900
6901         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
6902         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
6903         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
6904         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
6905
6906         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
6907         pango_layout_set_font_description to simplify.
6908
6909 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
6910
6911         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
6912         pango_layout_set_font_description to simplify.
6913
6914 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
6915
6916         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
6917         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
6918         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
6919
6920         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
6921         PANGO_PIXELS() macro.
6922
6923 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
6924
6925         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
6926         that returns a PangoContext owned by the widget and updated to
6927         match future changes in the widget. Also, make 
6928         gtk_widget_create_pango_layout() use this context. If we ever
6929         add a ::changed signal to PangoContext, this will make things
6930         much more convenient. 
6931
6932         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
6933         in the appropriate places instead of destroying the layouts and
6934         creating new ones.
6935
6936         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
6937         in a few strategic places.
6938
6939 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
6940
6941         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
6942         gtk_widget_size_request() on reparented child, if one. Otherwise,
6943         queue_resize() on the child never results in it getting size-requested
6944         at all.
6945
6946         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
6947         in option menus, so that (with luck) people won't copy it into
6948         their apps in the future.
6949
6950         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
6951         to gtk_option_menu_calc_size. This isn't perfect, but should fix
6952         a lot of problems with changing the size of the menu's menu
6953         items after adding it to the option menu.
6954
6955         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
6956
6957         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
6958         the text direction for a widget changes.
6959
6960         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
6961         ::direction_changed to get rid of various hacks.
6962
6963 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
6964
6965         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
6966         name.
6967
6968 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
6969
6970         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
6971         flag to the structure. Do not call XFreePixmap on pixmaps created
6972         by gdk_pixmap_foreign_new().
6973
6974 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
6975
6976         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
6977         value using GdkRGB functionality given GdkColormap and GdkColor.
6978         (name not final, waiting for inspiration.)
6979         
6980         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
6981         set the foreground/background of a GC using the GC's colormap
6982         and GdkRGB. (name not final, waiting for inspiration.)
6983
6984         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
6985         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
6986
6987         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
6988         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
6989         purely a function of the corresponding colormap. Make
6990         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
6991
6992         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
6993         gdk_pixbuf_*create_from_xpm_* in terms of
6994         gdk_pixbuf_new_from_xpm_data(), move into platform independent
6995         code.
6996
6997         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
6998         advantage of the new draw_rgb_32_image_dithalign.
6999
7000         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
7001
7002         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
7003         on each created GC.
7004
7005         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
7006
7007         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
7008         which we initialize from the drawable when the GC is created,
7009         if the drawable has a colormap.
7010
7011         * gdk/x11/gdkgc-x11.c: include string.h for memset.
7012
7013         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
7014
7015         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
7016
7017 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
7018
7019         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
7020         actually returning expose events, make sure to set
7021         the count field properly.
7022
7023         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
7024         accidentally reintroced bug which always cleared
7025         the graphics_exposures value. 
7026
7027 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
7028
7029         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
7030
7031 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
7032
7033         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
7034
7035 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
7036
7037         * docs/faq/gtk-faq.sgml: Start of Section 6.
7038
7039 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
7040
7041         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
7042         
7043         (Fixes problem with drawing childless frames. Pointed out
7044         by and a first patch from Anders)
7045         
7046         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
7047         compute a child_allocation, even if we don't have a child.
7048
7049         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
7050         Always chain to the parent's impl, even if we don't have a child.
7051
7052 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
7053
7054         * gdk/gdkrgb.c: If possible, create only a single shm segment and
7055         use multiple parts of it instead of creating a bunch of separate
7056         segments, since the maximum number of segments per system is not
7057         large. (This might be worth backporting to GTK+-1.2.x if we make a
7058         new release )
7059
7060         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
7061         structure in preparation for per-colormap GdkRGB.
7062
7063         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
7064         to False when we get EINVAL from shmget so that the caller of
7065         gdk_image_new can retry with a smaller segment size.
7066
7067 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
7068
7069         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
7070
7071 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
7072
7073         * configure.in: make the current version number 1.3.1 (binary age 0,
7074         interface age 0).
7075         
7076         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
7077         gtkcompat.h is all we want.
7078
7079         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
7080         GLib primitive types. fixed g_type_register_fundamental() argument
7081         ordering.
7082
7083         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
7084         compiles.
7085
7086         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
7087         object code cleanup, comment trigraph fixes, etc...
7088
7089 2000-06-23  Havoc Pennington  <hp@redhat.com>
7090
7091         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
7092         instead of making up a bogus name for first_para_mark
7093
7094         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
7095         0 as a context ID
7096
7097 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
7098
7099         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
7100
7101 2000-06-21  Havoc Pennington  <hp@pobox.com>
7102
7103         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
7104         we didn't check window->bg_pixmap != GDK_NO_BG.
7105
7106         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
7107         gdk-pixbuf
7108
7109 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
7110
7111         * docs/faq/gtk-faq.sgm: Move file to here.
7112           TODO: Update Makfile.am 
7113
7114 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
7115
7116         * docs/gtk-faq.sgm: Add Section 2
7117
7118 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
7119
7120         * docs/gtk-faq.sgm: New file. Start of DocBook
7121           version of the FAQ.
7122
7123 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
7124
7125         * configure.in (GDK_PIXBUF_MAJOR): Define version
7126         numbers for GDK_PIXBUF_*, as they get substituted
7127         into a header file. Need to consider versioning
7128         for gdk-pixbuf more carefully later.
7129
7130 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
7131
7132         Work with srcdir != builddir.   
7133         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
7134         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
7135         * demos/testpixbuf.c: Likewise.
7136         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
7137         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
7138         <gdk/x11/gdkx.h>.
7139         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
7140         "gdk-pixbuf.h".
7141         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
7142
7143 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
7144
7145         * TODO.xml: Change 1.4 version numbers to 2.0.
7146
7147 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
7148
7149         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
7150         fixups to GTK+ standard.
7151
7152 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
7153
7154         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
7155         gdk-pixbuf.
7156
7157         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
7158         fixups for GObject.
7159
7160         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
7161         gdk-pixbuf with GDK dependencies moved into GDK.
7162         
7163         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
7164         move gdk-pixbuf-loader here until GObject has signals.
7165
7166         * demos/: New directory of demos. Move demos from
7167         gdk-pixbuf here.
7168
7169         * demos/pixbuf-init.c: Small bit of code to check for
7170         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
7171         set GDK_PIXBUF_MODULEDIR appropriately.
7172
7173         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
7174         define which no longer makes sense.
7175
7176 2000-06-21  Havoc Pennington  <hp@redhat.com>
7177
7178         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
7179         gtk_get_default_language
7180
7181         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
7182         new function to get the default language
7183
7184         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
7185         s/gtk_text_view_style_values/gtk_text_style_values/
7186
7187         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
7188         Add a "language" field to tags.
7189
7190         (gtk_text_tag_set_arg): Fix bug in setting
7191         "bg_full_height_set" tag.
7192
7193 2000-06-21  Havoc Pennington  <hp@redhat.com>
7194
7195         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
7196         in the interfaces
7197
7198         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
7199         stuff instead when possible.
7200
7201         * gtk/gtktexttypes.h: Delete some unused constants
7202
7203         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
7204         testtextbuffer.c: use glib instead of custom unicode routines
7205
7206 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
7207
7208         * docs/es/: Removed mistakenly added generated sgml
7209
7210         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
7211         Remove outdated info files.
7212
7213         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
7214         Moved tutorial files into subdir
7215
7216         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
7217         subdir.
7218
7219         * docs/man/gtk_button.pod: Remove. (contents will be
7220         integrated into gtk-reference button page.)
7221
7222         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
7223         docs/faq/Makefile.am: Adjust for new organization
7224
7225 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
7226
7227         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
7228         not $(MKINSTALLDIRS)
7229
7230 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
7231
7232         * gtk/testgtk.c (create_text): Finish the job Elliot started
7233         of removing font setting test for text widget. (Since text widget
7234         and GdkFont are not deprecated, and cause portability problems.)
7235
7236 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
7237
7238         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
7239         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
7240         Remove use of libunicode in favor of new GLib functions.
7241
7242         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
7243         nano-x, framebuffer. The X11 include is just a hack until we get
7244         the necessary functions in gdkcolor.h, so there is no reason to
7245         add other includes of platforms.
7246
7247         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
7248         window bigger than the screen change.
7249
7250         * gtk/testgtk.c: Revert some random changes from Elliot
7251         that had no particular point and were causing testgtkrc
7252         not to function correctly.
7253         
7254         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
7255         because GdkSegment and GdkRegionBox have the same fields,
7256         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
7257         results in clearer code.
7258
7259         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
7260         gdk_input_translate_coordinates): Fix missed GdkObjectification
7261
7262 2000-06-18  Elliot Lee  <sopwith@redhat.com>
7263
7264         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
7265         * gtk/gtk{plug,socket}.h: Missed commits from previous.
7266
7267 2000-06-20  Havoc Pennington  <hp@redhat.com>
7268
7269         * modules/linux-fb/Makefile.am: Make this compile
7270         without framebuffer enabled
7271
7272         * gdk/linux-fb/Makefile.am: Add conditional to not build
7273         framebuffer unless specified in configure
7274
7275         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
7276         the size of the target instead of source if -1 was passed for
7277         width/height
7278
7279         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
7280         width/height confusion.
7281
7282 2000-06-19  Havoc Pennington  <hp@redhat.com>
7283
7284         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
7285         GDK_DRAWABLE_XID. In the future, we probably want to make it
7286         faster with G_DISABLE_CHECKS turned on.
7287
7288 2000-06-14  Havoc Pennington  <hp@redhat.com>
7289
7290         * gdk/Makefile.am: add gdkpixmap.c
7291
7292         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
7293         s/gdk_image_init/_gdk_windowing_image_init
7294
7295         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
7296         ref/unref
7297
7298         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
7299
7300         * gdk/gdkcompat.h: remove GdkWindowType compat, since
7301         GdkWindowType is now non-deprecated; 
7302         change gdk_window_get_type() compat to be
7303         gdk_window_get_window_type().
7304
7305         * gdk/gdkdnd.h: make GdkDragContext a GObject.
7306
7307         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
7308         virtual GObject. Make all functions call into the vtable.
7309         Move gdk_image_put() guts in here. Remove GdkDrawableType
7310         and gdk_drawable_get_type(), these are now GdkWindow-specific.
7311         draw_image, get_depth, get_size, set_colormap, get_colormap,
7312         get_visual added to the vtable.
7313         
7314         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
7315         GObject. Virtualize everything. 
7316         (gdk_gc_new_with_values): remove check for destroyed window,
7317         because now GdkWindow::create_gc will check this.
7318         (gdk_gc_set_values): New function to set GC values, this 
7319         was already implemented but wasn't in the header
7320
7321         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
7322
7323         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
7324         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
7325         remove _gdk_window_class; add _gdk_window_impl_get_type() and
7326         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
7327         _gdk_windowing_window_init, rename gdk_image_init to
7328         _gdk_windowing_image_init.
7329         
7330         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
7331         (gdk_draw_layout): Remove check for destroyed window, 
7332         because all the drawable methods already check it.
7333         
7334         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
7335         Add gdkpixmap.c which contains implementation of GdkDrawable
7336         virtual table (by chaining to a platform-specific implementation
7337         object).
7338         
7339         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
7340         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
7341         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
7342         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
7343         GdkColormapPrivate. 
7344
7345         * gdk/gdktypes.h: #include <glib-object.h>
7346
7347         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
7348         Move most functionality to platform-specific implementation
7349         object. GdkWindow itself now handles the backing store, then
7350         chains to the platform-specific implementation.
7351         (gdk_window_get_window_type): return GdkWindowType of the window.
7352         (gdk_window_peek_children): New routine, returns the children of 
7353         a GdkWindow
7354         (gdk_window_get_children): Was in X11-specific code and did 
7355         XQueryTree. Changed to simply return a copy of window->children; 
7356         so it can go in cross-platform code.
7357         
7358         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
7359
7360         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
7361         GdkColormap; just changed to use the new private data instead
7362         of casting to GdkColormapPrivate.
7363
7364         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
7365         gdk_cursor_new().
7366
7367         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
7368         (private data member in the GObject). 
7369         (xdnd_manager_source_filter): Function had broken 
7370         error handling, fix it (use gdk_error_trap_push).
7371
7372         * gdk/x11/gdkdrawable-x11.c: This file now implements
7373         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
7374         base class is purely for the convenience of the X port,
7375         and not part of the interface to cross-platform GDK.
7376
7377         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
7378         
7379         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
7380         specific to X, and returned by the create_gc virtual method
7381         of GdkDrawableImplX11. 
7382         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
7383         rather than gchar, this was also changed in the GdkGC vtable.
7384         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
7385         mask is 0, return immediately, instead of checking every flag.
7386         This is faster, and keeps us from segfaulting if values is NULL
7387         and the mask contains some nonzero flags.
7388
7389         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
7390         GdkWindow.
7391
7392         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
7393         GdkWindowPrivate is gone.
7394
7395         * gdk/x11/gdkim-x11.c: rename things that got renamed.
7396
7397         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
7398         remove the image_put stuff that got transferred to GdkDrawable.
7399         
7400         * gdk/x11/gdkinput.c: renamings
7401
7402         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
7403
7404         * gdk/x11/gdkpixmap-x11.c: GObject conversion
7405
7406         * gdk/x11/gdkprivate-x11.h: indentation fixes
7407
7408         * gdk/x11/gdkproperty-x11.c: renamings
7409
7410         * gdk/x11/gdkselection-x11.c: renamings
7411
7412         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
7413         implements the platform-specific "impl" object.
7414         Moved gdk_window_get_children to gdk/gdkwindow.c
7415
7416         * gdk/x11/gdkx.h: Remove all the private structs and private datas
7417         that no longer exist. Add declaration of GdkGCX11 object here.
7418         Fix all the macros to still work. 
7419
7420         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
7421         GdkDragContext from the boxed types since they are now GObjects.
7422
7423         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
7424         moved xthickness/ythickness into the instance. GtkStyleClass
7425         functions are now in the standard vtable for GtkStyle, so you have
7426         to create a GObject subclass to write a theme engine.
7427         (gtk_style_copy): fixed a leaked PangoFontDescription
7428         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
7429         can be the standard GObject function.
7430         
7431         * Throughout GTK:
7432         s/style->klass->[xy]thickness/style->[xy]thickness
7433         s/pango_layout_unref/g_object_unref/
7434
7435         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
7436         
7437         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
7438         accessing GDK internals.
7439
7440         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
7441         accessing GDK internals.
7442
7443 2000-06-18  Elliot Lee  <sopwith@redhat.com>
7444
7445         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
7446
7447         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
7448         problem by calculating event position relative to the trough
7449         rather than the slider.
7450         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
7451
7452         * gdk/gdkgc.h: Add GDK_NOR.
7453
7454         * configure.in, Makefile.am: Add modules top level dir
7455         * configure.in: Only use pangox library if building x11 target.
7456         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
7457
7458 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
7459
7460         * gtk/gtkcolorsel.c: Change private class member to be named
7461         private_data throughout the file.
7462
7463         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
7464         private_data to avoid clashing with keyword.
7465
7466 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
7467
7468         * gdk/gdkdnd.h: Add comment to remove warning.
7469
7470 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
7471
7472         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
7473         Byelorussian language; changed the Makefile and file names 
7474         to reflect that.
7475
7476 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
7477
7478         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
7479         rather than gdk_window_hide; this makes things work
7480         correctly if the window is programmatically hidden while
7481         iconified.
7482
7483 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
7484
7485         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
7486         cut and paste typo where wrong pixmap was being
7487         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
7488
7489 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
7490
7491         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
7492         Add helper function to compute format / bytes 
7493         relationship. Use in a couple places to fix up
7494         errors which assume 8 * format.
7495
7496         * gtk/gtkselection.c (gtk_selection_request): Use 32
7497         rather than 8 * sizeof (GdkAtom), to work correctly
7498         on Alpha.
7499
7500 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
7501
7502         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
7503         libgtk.la
7504         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
7505         versions
7506
7507         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
7508         checking macros return NULL since the function has a return value.
7509
7510 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
7511
7512         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
7513         GTK+ from building at all.
7514
7515         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
7516
7517 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
7518
7519         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
7520         gtk/Makefile.am: make it possible to configure gtk for different
7521         targets on the same platform. The library name is now 
7522         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
7523         flag. Only the x11 target compiles right now.
7524         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
7525         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
7526         * gdk/nanox/gdk*generic*: delete generic region code.
7527         * gdk/linux-fb/gdk*generic*: delete generic region code.
7528         * README.nanox: update information.
7529         
7530 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
7531
7532         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
7533         prepend not append. (Pointed out by Brett Hall.)
7534
7535 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
7536
7537         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
7538
7539 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
7540
7541         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
7542         need this later, and this makes sure that the atexit for
7543         glib gets called after that for GDK, so atexits are
7544         properly ordered for object leak checking.
7545
7546         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
7547
7548         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
7549         pango_x_shutdown_display()
7550
7551         * gtk/simple.c (main): Close window on destroy.
7552
7553 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
7554
7555         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
7556         to treat initial creation different from setting with 
7557         regards to the graphics-exposures parameter, so add a parameter
7558         indicating whether this is initial or not.
7559
7560 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
7561
7562         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
7563         to sort of work by adding an extra return_exposes arg
7564         to gdk_event_translate() - it might be better to simply
7565         deprecate the function altogether and force people to rewrite
7566         without it. gdk_window_scroll() handles most of it, and where
7567         gdk_window_scroll() doesn't work, simply redrawing more does.
7568
7569         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
7570         assertion.
7571
7572         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
7573
7574         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
7575         bunch of pretty much useless /* Print debugging info */ comments 
7576         which had drifted away from the code they were commenting.
7577
7578 2000-06-02  Havoc Pennington  <hp@pobox.com>
7579
7580         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
7581         is in working order.
7582         
7583         * gtk/testtext.c: Change to reflect anonymous mark API
7584
7585         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
7586
7587         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
7588         field, which was unused.
7589
7590         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
7591         saves some typing.
7592
7593         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
7594
7595         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
7596         flag on the insertion point and selection bound
7597
7598         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
7599         make mark-manipulation functions take a GtkTextMark* instead of a
7600         mark name.
7601         
7602         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
7603         GtkTextMarkBody; will be used to detect attempts to delete
7604         the permanent marks (insert and selection bound)
7605
7606         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
7607
7608 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
7609
7610         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
7611         flag to on.
7612
7613         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
7614         Honor DOUBLE_BUFFRED_FLAG
7615
7616         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
7617         function to set the DOUBLE_BUFFERED flag.
7618
7619         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
7620         or not exposes done on the widget should be double-buffered.
7621
7622         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
7623         to be what would be expected. (Fixes problem with a
7624         g_return_if_fail() validating a TextDirection enumeration)
7625
7626 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
7627
7628         * gtk/gtkwidget.c: Remove all references to 
7629         offscreen flag which was no longer used.
7630
7631         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
7632
7633         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
7634         for non-null label_widget->parent.
7635
7636         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
7637         which no longer was used.
7638
7639         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
7640
7641         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
7642         for null arguments.
7643
7644         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
7645         check for destroyed windows.
7646
7647 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
7648
7649         * gtk/gtkimmulticontext.c: Add a finalize method and unref
7650         the slave context there.
7651
7652         * gtk/gtkinvisible.[ch]: Make reference counting behavior
7653         identical to GtkWindow.
7654
7655 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
7656
7657         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
7658         pangox to here, so we can write them independent of rendering
7659         system, using GDK primitives.
7660
7661         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
7662         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
7663         since we have a rendering-system independent implementation in
7664         terms of draw_glyphs().
7665         
7666         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
7667         function to render a single line.
7668
7669         * gdk/x11/gdkpango.c: Move the guts of this file mostly
7670         into ../gdkpango.c, which simplifies things, since we
7671         don't have to deal with raw X gc's.
7672
7673 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
7674
7675         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
7676         get the logical attributes for a given GtkTextLine.
7677
7678 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
7679
7680         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
7681         g_locale_get_codeset() to g_get_codeset() change.
7682
7683 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
7684
7685         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
7686         descriptions.
7687
7688         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
7689         the entry.
7690
7691         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
7692         redoing (vastly simplifying) for Pango. Still needs quite
7693         a bit of work. (Size selection is currently poor. List of 
7694         predefined sizes is not a good idea, since all of these
7695         sizes won't necessarily be distinct.)
7696
7697 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
7698
7699         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
7700         CODESET results for LANG=C.
7701
7702 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
7703
7704         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
7705         which takes a stringized pango font description;
7706         ignore the older 'font' and 'fontset' declarations.
7707
7708         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
7709         field with a GdkFont derived via gdk_font_from_description(),
7710         for compatibility. (Should we just remove it entirely?
7711         Probably too much compatibility breakage, but people
7712         should be migrating to the new Pango stuff as quickly
7713         as possible.)
7714
7715 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
7716
7717         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
7718
7719 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
7720
7721         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
7722         redoing; there are some bugs in size allocation right
7723         now, the semi-existant distinction between header / day
7724         fonts was removed, but, with Pango, could actually
7725         be made functional in a nice way.
7726         
7727         * gtk/testcalender: Move calender from examples into this
7728         directory as a test program. (We really need to restrcture
7729         testgtk into a whole directory full of tests for every
7730         widget or functionality group, separated into multiple .c
7731         files.)
7732
7733 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
7734
7735         * gtk/testgtk.c (file_exists): Fix stupid typo that
7736         was keeping RC file from being loaded.
7737
7738         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
7739         RC file font code.
7740
7741 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
7742
7743         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
7744         Add function to load a GdkFont from a PangoFontDescription.
7745
7746 2000-05-29  Tor Lillqvist  <tml@iki.fi>
7747
7748         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
7749         variable should be of type GdkEventPrivate.
7750
7751 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
7752
7753         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
7754         to have any widget for the label, use a GtkLabel widget
7755         to display the text. (Based partially on a patch from
7756         Anders Carlson.)
7757
7758         (Quite a bit of code reorganization - strip 90% of the
7759         guts out of gtkaspectframe and add a single virtual
7760         func to GtkFrameClass - compute_child_allocation.)
7761
7762 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
7763
7764         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
7765         (Removed clist->row_center_offset field because caching
7766         it wasn't saving time or code, added private function
7767         _gtk_clist_create_cell_layout()).
7768
7769 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
7770
7771         * gtk/gtkaccellabel.c: Pangoized.
7772
7773         * gtk/[hv]ruler.c: Pangoized
7774
7775 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
7776
7777         * gtk/gtkfilesel.c (gtk_file_selection_init):
7778         Use gtk_clist_set_column_auto_resize() to remove need
7779         need for manual column width computations.
7780
7781 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
7782
7783         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
7784         ensuring Pango correctness, and considerably simplifying the
7785         code.
7786         
7787         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
7788
7789         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
7790         getting of numbers of lines.
7791
7792         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
7793         to the actual requested width of the lable, not to the wrap
7794         width we set.
7795
7796         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
7797
7798         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
7799           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
7800
7801         * gtk/gtktextview.c: Fix structure inheritance.
7802
7803         * gtk/gtkprogressbar.c: Pangoize.
7804
7805 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
7806
7807         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
7808         in a function.
7809
7810         * gtk/gtktextlayout.c (find_display_line_above): Fixed
7811         bug with computing line tops.
7812
7813         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
7814
7815 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
7816
7817         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
7818         and y_offset coordinates to do what we need now. (The offset between
7819         buffer and layout coordinates has been reintroduced, but is a 
7820         bit different than before.)
7821
7822         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
7823         handle the adjustments ourselves, and scroll as necessary using
7824         the new gdk_window_scroll().
7825         
7826         The advantage of this is that when we are incrementally revalidating,
7827         we are essentially rearranging things around the visible portion
7828         of the screen. With the old setup, the visible portion of the
7829         screen was moved around in the layout, so scrolling and redrawing
7830         to track that caused jumping of the display. Since we now
7831         control the scrolling ourselves, we can suppress this and
7832         only redraw when things actually change.
7833
7834 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
7835
7836         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
7837         the region not just redisplay it after-all, since we store the
7838         cursors in the LineDisplay. (Ugly interactions here between
7839         GtkLayout and GtkTextBTree here.)
7840         
7841         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
7842
7843 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
7844
7845         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
7846         Added function to scroll contents of a window while keeping the
7847         window constant. Works by XCopyArea or guffaw-scrolling depending
7848         on the details of how the window is set up. (guffaw-scrolling
7849         still needs to be filled in.)
7850
7851 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
7852
7853         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
7854         move the debugging that was tied to a global variable
7855         to that.
7856
7857         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
7858
7859         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
7860         validated flag, in line data instead of setting height/width to
7861         -1. This allows us to perform operations with partially invalid
7862         buffer (using the old size for invalid lines) and thus to do
7863         incremental vaidation. Keep height/width aggregates up to date
7864         when deleting text and rebalancing the tree.
7865
7866         * gtk/gtktextbtree.[ch]: Add functions validate a line
7867         (gtk_text_btree_validate_line), and to validate up
7868         to a number of pixels (gtk_text_btree_validate).
7869
7870         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
7871         that indicates that something is changed and a revalidation
7872         pass is needed. Change ::need_repaint to ::changed, and
7873         make it take old and new yranges instead of a rectangle.
7874
7875         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
7876         the line_data_destroy() function from 
7877         gtk_text_btree_add_view() to a virtual function in 
7878         GtkTextLayout
7879
7880         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
7881         since we are handling partial repaints in a different fashion
7882         now.
7883
7884         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
7885         of the selection instead of queueing a repaint on the
7886         entire widget.
7887
7888         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
7889         get_selection_bounds() down to btree, make the function
7890         in buffer a wrapper around the btree function.
7891
7892         * gtk/gtktextlayout.[ch]: Add functions to check if the
7893         layout is valid and to recompute either a range of pixels
7894         aroudn a line or a certain total number of pixels.
7895
7896         * gtk/gtktextlayout.[ch]: Cache a single line display;
7897         now that we only redraw the needed portions, the hit rate
7898         for this cache is quite high.
7899         
7900         * gtk/gtktextview.[ch]: Keep track of the first paragraph
7901         on the screen so that when re-laying-out the buffer, we can
7902         keep the same place. This requires connecting to ::value_changed
7903         on the adjustments
7904
7905         * gtk/gtktextview.[ch]: Add idle functions to revalidate
7906         the buffer after we receive an ::invalidated signal.
7907         
7908 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
7909
7910         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
7911         to max of allocation and layout size, not just to the
7912         layout size.
7913
7914         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
7915         Invalidate window so it gets redrawn properly.
7916
7917         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
7918         to mean the entire window.
7919
7920         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
7921         into public header.
7922
7923 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
7924
7925         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
7926         to get the name of a mark.
7927
7928         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
7929         to find the paragraph from a y position.
7930
7931 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
7932
7933         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
7934         nodes have width/height >= 0, not > 0.
7935
7936 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
7937
7938         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
7939         Add a size_only flag, so when we only need the size, we don't create
7940         useless appearance attributes.
7941
7942         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
7943         duplicate setting of font description.
7944
7945         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
7946
7947 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
7948
7949         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
7950         EXTRA_DIST. It does not work well when the file that
7951         everything depends on is not in the tarball.
7952
7953 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
7954
7955         * gtk/testgtk.c: Some hacks and fixes so that it basically
7956         works when not sitting in the GTK+ build tree.
7957
7958 2000-05-03  Havoc Pennington  <hp@redhat.com>
7959
7960         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
7961         Properly determine the ordering of the tag root and the current
7962         line within the tree. Previous algorithm only worked if the tag
7963         root's immediate parent was the common root of both the current
7964         line and the tag root.
7965
7966 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
7967
7968         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
7969         alignment.
7970
7971         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
7972         the widget text directional dynamically.
7973
7974         * gtk/gtktextview.[ch]: Added functions to get and set default
7975         wrap mode.
7976
7977 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
7978
7979         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
7980         in cursor location computation.
7981
7982 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
7983
7984         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
7985         vadjusment values properly when layout gets smaller.
7986
7987         * gtk/gtktextview.c (need_repaint_handler): Areas being
7988         passed in are far completely inaccurate, and sometimes
7989         too small, so, for now, just queue a redraw on the
7990         whole visible region.
7991
7992 2000-04-25  Havoc Pennington  <hp@redhat.com>
7993
7994         * gtk/gtktextbtree.c (summary_destroy): new function to 
7995         destroy tag summary nodes
7996         (gtk_text_line_next_could_contain_tag): this function was 
7997         totally broken if the line passed in wasn't below the tag
7998         root. Fix it.
7999         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
8000         "wildcard" case, we have to do a linear scan. Blah.
8001         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
8002         we have to do the linear scan
8003         (tag_removed_cb): When a tag is removed from the tag table, 
8004         remove the GtkTextTagInfo node from the btree.
8005         (gtk_text_btree_spew): Implement the spew function, for 
8006         our debugging pleasure.
8007
8008 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
8009
8010         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
8011         a problem with referring to the wrong buffer.
8012
8013         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
8014
8015         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
8016         font description to gtk_style_new() - otherwise things
8017         don't work without a .gtkrc file.
8018
8019         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
8020         tags table if we create it ourself, too.
8021
8022         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
8023         it was conflicting with XKB modifiers.
8024
8025         * gtk/gtktextview.[ch]: Add simple support for 
8026         GtkIMContext.
8027
8028 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
8029
8030         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
8031         with deletion from last commit.
8032
8033 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
8034
8035         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
8036         in the context from the current locale.
8037         
8038         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
8039         context, not hardcoded value.
8040
8041         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
8042         not logical.
8043
8044 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8045
8046         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
8047         attributes - that doesn't handle partial-glyph selection
8048         properly. Instead use new pango_layout_line_get_x_ranges()
8049         functionality to draw the selection.
8050
8051         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
8052         now properly handles out-of-range coordinates.
8053
8054         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
8055
8056         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
8057         public.
8058
8059         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
8060         for paragraphs opposite to the base direction of the widget.
8061
8062         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
8063
8064         * gtk/gtktextlayout.c: Don't split segments on marks, since that
8065         causes Arabic words to reshape as you cursor through.
8066
8067         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
8068         cursor position when moving vertically with the arrow keys and
8069         scrolling with page-up/page-down. (Arrow keys save only the X,
8070         scrolling saves both X and Y.)
8071
8072         This means you can line-up / line-down or page-up / page-down
8073         without losing your place, and also that moving vertically
8074         with the cursor keys keeps the same X position, not the same
8075         character count:
8076
8077         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
8078         arrow keys move by display lines, not paragraphs.
8079
8080 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
8081
8082         * gtk/gtklayout.c: Make sure that the bin window is at least
8083         as big as the allocation. (Should we also make sure that the
8084         bin window is big enough to completely cover widget->window?)
8085
8086         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
8087         function to get the onscreen rectangle.
8088
8089         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
8090         for offsets in window coordinates.
8091
8092 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
8093
8094         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
8095         confusion.
8096
8097         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
8098         from the widget direction.
8099
8100         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
8101         Add a "direction" attribute.
8102
8103         * gtk/gtktextview.c: global s/tkxt/text_view/.
8104
8105         * gtk/testtext.c: Added long block of text in Arabic, to test out
8106         the direction attributes. (Some problems with the shaping system
8107         for arabic become obvious - like the fact the cursor splits words
8108         into unjoined pieces.)
8109
8110 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
8111
8112         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
8113
8114         * gtk/gtktextlayout.c: Fix up alignment.
8115
8116         * gtk/testtext.c: Add some tests for centering, wrapping.
8117
8118 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
8119
8120         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
8121         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
8122         If we wrote GTK+-specific layout-render function this could just replace
8123         the draw_layout() operation in the vtable.
8124
8125         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
8126         pango_layout_get_cursor_pos() and use that function.
8127
8128         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
8129         is a non-static symbol.
8130
8131         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
8132         with gtk_text_btree_find_line_by_y()
8133
8134         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
8135         renderer that handles GtkTextAppearance attributes.
8136
8137         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
8138
8139           - Move the values in the style that don't affect geometry into a
8140             GtkTextAppearance structure.
8141           - Change underline to take a PangoUnderline and "font" a string
8142             representation of a font description
8143           - Add a "font_desc" attribute which takes a FontDescription structure.
8144
8145         * gtk/gtktextlayout.[ch]:
8146
8147           - Get rid of the display-line list per each line. Instead, we
8148             generate, on demand, a GtkTextLineDisplay structure which]
8149             contains a PangoLayout * and other necesary information
8150             (offsets, cursor locations) for displaying a paragraph.
8151           - Get rid of the code to wrap lines, create display chunks,
8152             etc. Instead, we just go through a paragraph and convert
8153             it into the necessary inputs to a PangoLayout.
8154           - Implement a new attribute type, GtkTextAttrAppearance. This
8155             holds a GtkTextAppearance, and is used to pass colors, 
8156             stipple, etc, through from the layout to the display without
8157             having to use lots and lots of individual attributes.
8158           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
8159             in terms of PangoLayout functions.
8160         
8161         * gtk/gtktextview.c: 
8162          
8163           - Handle passing the necessary PangoContext to the layout
8164           - Some fixups in painting to deal with the automatic backing store
8165             and offsetting of GTK+-1.4
8166           - Add a style_set handler so that the default style reacts
8167             properly to theme changes.
8168         
8169         * gtk/gtktext?*.[ch]: Random code-style fixes.
8170
8171         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
8172
8173 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
8174
8175         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
8176         in original form preparatory to Pango-ization and gdkimcontext-ization.
8177
8178 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
8179
8180         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
8181         so that we can derive from gtkimcontext in language bindings properly.
8182
8183 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
8184
8185         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
8186         Add a compose table including (almost) all the compose combinations
8187         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
8188         data in the XIM implementation.
8189
8190         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
8191         Moved functions to convert keyvalues from and to unicode here from
8192         the win32 port and made them public.
8193
8194 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
8195
8196         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
8197
8198 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
8199
8200         * gtk/gtkimcontext.[ch]: Base class for new input context system
8201
8202         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
8203         the real input context implementation to be loaded from modules
8204         and switched on the fly.
8205
8206         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
8207         context that just does direct keysymbol => unicode translation.
8208
8209         * gtk/gtkentry.[ch]: Start switching editing over to using
8210         GtkInputContext. (No handling of preedit yet.)
8211
8212 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
8213
8214         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
8215         many substitutions. (klass should not be subsituted.)
8216
8217 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
8218
8219         * configure.in: Add checks for Pango
8220
8221         * configure.in docs/Makefile.am: Add test for sgml2html
8222         and allow 'make dist' without building html, but print out
8223         warnings in that case. (For making snapshots)
8224
8225         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
8226         Add Pango libraries and C flags
8227
8228         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
8229         Add function (gdk_draw_layout) to draw a pango layout.
8230
8231         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
8232         for getting Pango contexts for GDK.
8233
8234         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
8235
8236         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
8237         editing.
8238
8239         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
8240         keysym => unicode translations. More languages can be added
8241         here, but real input-method support is needed.
8242
8243         * docs/Changes-1.4.txt: Added note about entry behavior.
8244         
8245         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
8246         to set the reading direction for a widget and the global direction.
8247         Add test which allows toggling the global direction. Two private
8248         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
8249
8250         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
8251           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
8252
8253         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
8254
8255         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
8256         underlining now handled by Pango.
8257
8258         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
8259         to RCStyle and Style. (Having both this and the old font name and GdkFont 
8260         is temporary.)
8261
8262         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
8263         convenience functions for creating contexts and layouts for widgets.
8264
8265         * gtk/testgtk.c: Enhance label tests with multilingual labels.
8266
8267 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
8268
8269         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
8270         titles to be active, even if they aren't visible.
8271         (gtk_clist_column_titles_passive):  Ditto.
8272
8273 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
8274
8275         * gtkmenu.c:
8276         * gtkmenu.h:
8277         * gtktypeutils.h: Spelling/grammar fixes in comments.
8278
8279 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
8280
8281         * gdk/nanox/*.h: add missing header files.
8282
8283 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
8284
8285         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
8286         send_event to TRUE.
8287         (gtk_drawing_area_size): queue a resize.
8288
8289 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
8290
8291         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
8292         the handlers, also invalidate them. bug nailed down by Karl Nelson
8293         <kenelson@ece.ucdavis.edu>.
8294
8295 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
8296
8297         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
8298         "(nil)" foundries, patch from Grigorios Magklis.
8299
8300         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
8301         on non-available fonts, based on a patch by Grigorios Magklis
8302         <maglis@cs.rochester.edu>.
8303
8304 2000-05-18  Elliot Lee  <sopwith@redhat.com>
8305
8306         * gdk/x11/gdkregion-generic.c: If a region does not have any
8307         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
8308         instead of GDK_OVERLAP_RECTANGLE_IN.
8309
8310 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
8311
8312         * gtk/gtklayout.c (gtk_layout_map): Remove references to
8313         OFFSCREEN, as it is no longer necessary.
8314
8315 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
8316
8317         * gtk/gtkcolorsel.c: Patch from David Santiago
8318         <mrcooger@cyberverse.com> to change things so that the 
8319         indicator of the active palette entry is done independently,
8320         not via the focus, since it should always be visible.
8321
8322 2000-05-17  Tor Lillqvist  <tml@iki.fi>
8323
8324         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
8325         refcount leaks as in the X11 backend.
8326
8327         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
8328         cosmetics.
8329
8330         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
8331         backend. Add _gdk_windowing_window_destroy().
8332
8333         * gtk/gtkcolorsel.c: Include correct backend-specific header.
8334         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
8335         either, but these probably do exist on nanox?)
8336         
8337         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
8338         which isn't necessarily defined by <math.h>.
8339
8340         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
8341         ancestry past GtkObject.
8342
8343         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
8344         from DLL on Win32.
8345
8346         * gtk/gtk.def: Update corresponding to recent changes.
8347
8348         * gtk/makefile.{cygwin,msc}: Updates.
8349
8350 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
8351
8352         * docs/Changes-1.4.txt: A bit of editing.
8353
8354         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
8355         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
8356         to clear the update area for the window, and clear it
8357         when hiding a window.
8358
8359         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
8360         if window destroyed.
8361
8362         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
8363
8364         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
8365         gdk_window_destroy() to the generic code, since there was a lot of 
8366         window-system-independent logic it in. Add a function:
8367         
8368          _gdk_window_destroy() 
8369
8370         to the internal API to destroy a window without unreferencing it.
8371         Add a function:
8372
8373          _gdk_windowing_window_destroy()
8374
8375         That does the windowing-system-dependent part of destroying 
8376         the window.
8377
8378 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
8379
8380         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
8381
8382 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
8383
8384         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
8385         Make gtk_widget_shape_combine_mask() keep a reference count on
8386         the pixmap since it keeps it around.
8387
8388 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
8389
8390         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
8391         leak.
8392
8393         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
8394         leak with event filters.
8395
8396 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
8397
8398         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
8399         signal handlers with the right data arguments. (Fixes
8400         some warnings when a widget was repeatedly set as a drag
8401         destination.)
8402
8403         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
8404         window so we can avoid avoid setting the DND properties on the
8405         toplevel window repeatedly.
8406
8407 2000-05-13  Tor Lillqvist  <tml@iki.fi>
8408
8409         * gdk/win32/gdkwin32.h: Define more message types missing from
8410         mingw headers.
8411
8412         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
8413         call gdk_window_destroy_notify(). It was never called. This
8414         probably meant that the GdkWindow was never freed. Thanks Owen for
8415         noticing (!).
8416
8417         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
8418         window as destroyed before calling DestroyWindow(). DestroyWindow()
8419         causes a call to the window procedure (gdk_WindowProc), which
8420         calls gdk_event_translate(), which calls
8421         gdk_window_destroy_notify(), which gets confused unless the window
8422         is set as destroyed.
8423
8424         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
8425         this function to indicate it's win32 only. Put inside #ifdef
8426         G_ENABLE_DEBUG.
8427
8428         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
8429         debugging function. (gdk_event_translate:) Add a default branch
8430         that uses the above function to print debug messages with all
8431         Windows messages symbolically.
8432
8433         * gdk/win32/gdkprivate-win32.h: Declare it, and
8434         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
8435
8436 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
8437
8438         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
8439         public header file.
8440
8441 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
8442
8443         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
8444
8445         * gtk/gtktext.c: made the adjustments no-construct args, simply
8446         provide default adjustments.
8447         (gtk_text_destroy): release adjustments.
8448
8449         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
8450         adjustment argument non-construct.
8451
8452         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
8453         instead of in finalize.
8454         (gtk_progress_get_text_from_value): 
8455         (gtk_progress_get_current_text): 
8456         (gtk_progress_set_value): 
8457         (gtk_progress_get_percentage_from_value): 
8458         (gtk_progress_get_current_percentage): 
8459         (gtk_progress_set_percentage): 
8460         (gtk_progress_configure): ensure an adjustment is present.
8461
8462 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
8463
8464         * gtk/gtkcolorsel.[hc]:
8465         * gtk/gtkcolorseldialog.[hc]:
8466         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
8467         their parent implementation, use bit fields for boolean values, don't
8468         create unused widgets, usage of glib types, braces go on their own
8469         lines, function argument alignment, #include directives etc. etc. etc..
8470
8471         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
8472
8473 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
8474
8475         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
8476
8477         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
8478         of NULL.
8479
8480         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
8481         to freed data.
8482         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
8483
8484         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
8485         to NULL when the toplevel is getting destroyed.
8486         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
8487         (gtk_menu_destroy): 
8488         (gtk_menu_init): store the information of whether we have to
8489         readd the initial child ref_count during destruction in a new
8490         GtkMenu field needs_destruction_ref_count.
8491
8492         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
8493         here, those reading: learn from my mistake! ;)
8494         in order for set_?adjustment to support a default adjustemnt if
8495         invoked with an adjustment pointer of NULL, the code read (pseudo):
8496         if (v->adjustment) unref (v->adjustment);
8497         if (!adjustment) adjustment = adjustment_new ();
8498         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
8499         now imagine the first unref to actually free the old adjustment and
8500         adjustment_new() creating a new adjustment from the very same memory
8501         portion. here, the latter comparision will unintendedly fail, and
8502         all hell breaks loose.
8503         (gtk_viewport_set_hadjustment):
8504         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
8505         after unreferencing it.
8506
8507         * gtk/gtkcontainer.[hc]: removed toplevel registration
8508         functions: gtk_container_register_toplevel(),
8509         gtk_container_unregister_toplevel() and
8510         gtk_container_get_toplevels() which had wrong semantics
8511         anyways: it didn't reference and copy the list.
8512
8513         * gtk/gtkwindow.c: we take over the container toplevel registration
8514         bussiness now. windows are registered across multiple destructions,
8515         untill they are finalized. the initial implicit reference count
8516         users are holding on windows is removed with the first destruction
8517         though.
8518         (gtk_window_init): ref & sink and set has_user_ref_count, got
8519         rid of gtk_container_register_toplevel() call. add window to
8520         toplevel_list.
8521         (gtk_window_destroy): unref the window if has_user_ref_count
8522         is still set, got rid of call to
8523         gtk_container_unregister_toplevel().
8524         (gtk_window_finalize): remove window from toplevel list.
8525         (gtk_window_list_toplevels): new function to return a newly
8526         created list with referenced toplevels.
8527         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
8528
8529         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
8530         adjustment a non-construct arg.
8531         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
8532         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
8533         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
8534
8535         * gtk/gtkrange.c: added some realized checks.
8536         (gtk_range_destroy): get rid of the h/v adjustments in the
8537         destroy handler instead of finalize. remove timer.
8538         (gtk_range_get_adjustment): demand create adjustment.
8539
8540         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
8541         we simply create them on demand now and get rid of them in
8542         the destroy handler.
8543         (gtk_viewport_destroy): get rid of the h/v adjustments in the
8544         destroy handler instead of finalize.
8545         (gtk_viewport_get_hadjustment): 
8546         (gtk_viewport_get_vadjustment): 
8547         (gtk_viewport_size_allocate): demand create h/v adjustment
8548         if required.
8549
8550         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
8551         gtk_widget_real_destroy () functionality.
8552         (gtk_widget_real_destroy): reinitialize with a new style, instead
8553         of setting widget->style to NULL.
8554
8555 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
8556
8557         * gtk/gtkcalendar.c:
8558         * gtk/gtkbutton.c: ported _get_type() implementation over to
8559         GType, either to preserve memchunks allocation facilities,
8560         or because Gtk+ 1.0 GtkTypeInfo was still being used.
8561
8562         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
8563         over. prepare for ::destroy to be emitted multiple times.
8564         removed reference tracer magic. chain into GObjectClass.shutdown()
8565         to emit ::destroy signal.
8566
8567         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
8568         fundamental.
8569
8570         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
8571         cludge.
8572
8573         * gtk/gtksocket.c:
8574         * gtk/gtkplug.c:
8575         * gtk/gtklayout.c:
8576         * gtk/gtklabel.c:
8577         * gtk/gtkargcollector.c:
8578         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
8579         not being a fundamental anymore, and to work with the new
8580         type system (nuked fundamental type varargs clutter).
8581
8582         * gtk/*.c: install finalize handlers in the GObjectClass
8583         part of the class structure.
8584         changed direct GTK_OBJECT()->klass accesses to
8585         GTK_*_GET_CLASS().
8586         changed direct object_class->type accesses to GTK_CLASS_TYPE().
8587
8588         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
8589         GType. made most of the GTK_*() type macros and Gtk* typedefs
8590         simple wrappers around macros and types provided by GType.
8591         most notably, a significant portion of the old API vanished:
8592         GTK_TYPE_MAKE(),
8593         GTK_TYPE_SEQNO(),
8594         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
8595         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
8596         GTK_TYPE_ARGS,
8597         GTK_TYPE_CALLBACK,
8598         GTK_TYPE_C_CALLBACK,
8599         GTK_TYPE_FOREIGN,
8600         GtkTypeQuery,
8601         gtk_type_query(),
8602         gtk_type_set_varargs_type(),
8603         gtk_type_get_varargs_type(),
8604         gtk_type_check_object_cast(),
8605         gtk_type_check_class_cast(),
8606         gtk_type_describe_tree(),
8607         gtk_type_describe_heritage(),
8608         gtk_type_free(),
8609         gtk_type_children_types(),
8610         gtk_type_set_chunk_alloc(),
8611         gtk_type_register_enum(),
8612         gtk_type_register_flags(),
8613         gtk_type_parent_class().
8614         replacements, where available are described in ../docs/Changes-1.4.txt.
8615         implemented compatibility functions for the remaining API.
8616
8617         * configure.in: depend on glib 1.3.1, use gobject module.
8618
8619 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
8620
8621         * TODO.xml: Various updates to current status.
8622
8623 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
8624
8625         * gtk.m4: Print out version when test succeeds.
8626
8627 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
8628
8629         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
8630         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
8631         
8632         (Original triangle color selector from Simon Budig
8633         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
8634         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
8635         Santiago <mrcooger@cyberverse.com>)
8636
8637         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
8638         out into a separate widget.
8639
8640         * gtk/testgtk.c: Add some checkbuttons for toggling palette
8641         and opacity controls.
8642
8643 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
8644
8645         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
8646         snuck in prematurely.
8647
8648 2000-05-07  Tor Lillqvist  <tml@iki.fi>
8649
8650         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
8651         had deleted a ! operator by mistake, which caused
8652         GDK_SELECTION_CLEAR events never to be generated, which caused
8653         only the first copy to the clipboard from an gtkeditable to
8654         actually cause a copy to the Windows clipboard.
8655
8656 2000-05-06  Tor Lillqvist  <tml@iki.fi>
8657
8658         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
8659         compilation, too. Current mingw gcc distributions include the
8660         necessary headers. Also the necessary IIDs are now in mingw
8661         headers/libraries, and own definitions unnecessary.
8662
8663         More hacking on OLE2 DND, still doesn't work though, and thus
8664         ifdeffed out.
8665
8666         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
8667         here, too.
8668
8669 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
8670
8671         * gdk/nanox/*: nano-X port work in progress.
8672         * gdk/simple.c: simple test for Gdk.
8673         * README.nanox: notes about the port: read this first!
8674         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
8675         with nano-X.
8676
8677 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
8678
8679         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
8680         gdk_window_clear() into common code, implement in terms of
8681         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
8682         not redirected to the backing rectangle.
8683
8684 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
8685
8686         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
8687         EXTRA_DIST. It does not work well when the file that
8688         everything depends on is not in the tarball.
8689
8690 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
8691
8692         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
8693         with recursion where process_updates() is called from
8694         an expose handler. (GtkTextView is highly broken in
8695         doing this, but it should work, so it is a nice test
8696         case.)
8697
8698 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8699
8700         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
8701         handle the case where updates are queued during processing of
8702         updates.
8703
8704 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
8705
8706         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
8707         window is on gdk_display - use that instead of segfaulting.
8708
8709 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
8710
8711         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
8712         broken and require an empty arg, give it to them.
8713
8714 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
8715
8716         * gtk/gtklabel.h: indentation fixes.
8717
8718 2000-05-02  Tor Lillqvist  <tml@iki.fi>
8719
8720         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
8721         draw too narrow or too low arcs, they seem to fail, at least with
8722         some display drivers.
8723
8724         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
8725
8726         Large changes to the Win32 backend, partially made necessary by
8727         the changes to the backend-independent internal
8728         structures. Attempts to implement similar backing store stuff as
8729         on X11. The current (CVS) version of the Win32 backend is *not* as
8730         stable as it was before the no-flicker branch was merged. A
8731         zipfile with that version is available from
8732         http://www.gimp.org/win32/. That should be use by "production"
8733         code until this CVS version is usable. (But note, the Win32
8734         backend has never been claimed to be "production quality".)
8735
8736         * README.win32: Add the above comment about versions.
8737
8738         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
8739
8740         * gdk/gdk.def: Update.
8741
8742         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
8743         presumably be replaced by some more better mechanism as 1.4 gets
8744         closer to release shape.
8745
8746         * gdk/makefile.{cygwin,msc}: Update.
8747
8748         * gdk/win32/*.c: Correct inclusions of the backend-specific and
8749         internal headers. Change code according to changes in these. Use
8750         gdk_drawable_*, not gdk_window_* where necessary.
8751
8752         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
8753         our old DND.
8754
8755         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
8756         to interpret single characters as UTF-8. Thanks to Hans Breuer.
8757         Use correct function name in warning messages.
8758
8759         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
8760         GSourceFuncs gdk_event_prepare and gdk_event_check.
8761         (gdk_event_get_graphics_expose): Do implement, use
8762         PeekMessage. Thanks to Hans Breuer.
8763         (event_mask_string): Debugging function to print an GdkEventMask.
8764         (gdk_pointer_grab): Use it.
8765
8766         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
8767         (old) book I used claimed was Hangul actually is CJK Unified
8768         Ideographs Extension A. Also, Hangul Syllables were missing.
8769         Improve logging.
8770
8771         * gdk/win32/gdkgc-win32.c: Largish changes.
8772
8773         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
8774         g_win32_getlocale() from GLib, and not setlocale() to get current
8775         locale name.
8776
8777         * gdk/win32/gdkprivate-win32.h
8778         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
8779         gdkwin32.h, similarily as in the X11 backend.
8780
8781         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
8782         assignment was used instead of equals in if test. Thanks to Hans
8783         Breuer.
8784
8785         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
8786         the X11 version.
8787
8788         * gdk/win32/makefile.{cygwin,msc}
8789         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
8790         path to the Win32 headers that works also with the mingw compiler.
8791
8792         * gtk/gtkstyle.c: Include <string.h>.
8793
8794 2000-04-26  Havoc Pennington  <hp@redhat.com>
8795
8796         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
8797         replacing the broken gtk_label_get ()
8798
8799 2000-04-15  Havoc Pennington  <hp@pobox.com>
8800
8801         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
8802         this keeps scanner scripts from getting confused.
8803
8804         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
8805         data, rather than void
8806
8807 2000-04-15  Tor Lillqvist  <tml@iki.fi>
8808
8809         * gtk/gtkclist.c (gtk_clist_motion)
8810         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
8811         with is_hint FALSE, get x and y from the event. They used to be
8812         used uninitialised. The Win32 backend never sends motion events
8813         marked as hints. This for instance fixes the annoying file and
8814         font selector behaviour in the Win32 version.
8815
8816 2000-04-14  Tor Lillqvist  <tml@iki.fi>
8817
8818         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
8819         gtk_private_n_signals variables, they are used by some software,
8820         sigh.
8821
8822         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
8823         installation directory from the Registry, where the installer
8824         should have put it.
8825
8826 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
8827
8828         * gdk/x11/Makefile.am: Fix problem with installation directory for
8829         gdkx.h
8830
8831         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
8832         <mrcooger@cyberverse.com> so that when selecting menus with the
8833         mouse, the first item will not be selected, but when selecting
8834         with an accelerator, or navigating left-right on a menubar with
8835         the menus popped up, the first item will be selected.
8836
8837 2000-04-05  Dan Damian  <dand@dnttm.ro>
8838
8839         * configure.in: Added "ro" to ALL_LINGUAS.
8840
8841 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
8842
8843         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
8844         indentation.
8845
8846         * Makefile.am (EXTRA_DIST): Fix typo.
8847
8848         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
8849         to catch gdkconfig.h
8850
8851         * gtk/gtkitemfactory.c: Added FIXME.
8852
8853 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
8854
8855         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
8856         s/return_if_fail/return_val_if_fail/g and add a return value.
8857
8858 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
8859
8860         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
8861         merge slipup.
8862
8863         * gdk/gdkinput.h: Fix missing line from merge.
8864
8865 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
8866
8867         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
8868         instead of gdkprivate.h.
8869
8870 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
8871
8872         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
8873         parent class to correctly be GtkDialogClass.
8874
8875 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
8876
8877         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
8878         toplevel windows and their immediate children by their parents,
8879         since the size of toplevel windows is out of our immediate
8880         control and we don't get any real benefit from trying to track
8881         this size for clipping.
8882
8883         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
8884         for input_only windows.
8885
8886         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
8887         to fix some hacks and make sure that we don't try to set the
8888         background of input only windows.
8889
8890 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
8891
8892         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
8893         the _really_ internal stuff, and leave gdkprivate.h for the fake private
8894         stuff that we've traditionally exposed.
8895
8896         * gdk/**.c: Use gdkinternals.h where appropriate.
8897
8898         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
8899         not include gdkprivate-x11.h, move all stuff of conceivable public
8900         interest into gdkx.h; keep all really private stuff in
8901         uninstalled header gdkprivate-x11.h.
8902
8903         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
8904         image->image_put on windows through a new function _gdk_window_draw_image()
8905         to allow us to do backing store for images. (Sort of ugly)
8906
8907         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
8908         contexts locally so that we can offset them properly when drawing 
8909         onto backing pixmaps.
8910
8911         * gdk/gdkinput.h: Reindented
8912
8913         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
8914         pixmap or color for the window, so we can properly initialize
8915         our double-buffer pixmaps, and also so that we temporarily set
8916         a background of None while scrolling.
8917
8918         * gdk/gdkregion.h: Revise region boolean operators to have an
8919         interface that is actually convenient - switch from creating new
8920         regions on every op, to "methods" that modify existing regions
8921         (A = A OP B). 3 argument forms which allow dest == src, would also
8922         be possible, but the current interfaces seem to map nicely
8923         onto what needs to be done. (There is quite a lot of region
8924         code in GDK now.)
8925
8926         * gdk/gdkregion.h: Add constructor from rectangle and a copy
8927         operator.
8928
8929         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
8930         gdkpoly-generic.h: Copy region code from Xlib, switch it over
8931         to 32 bit coordinates, modify it to be mostly GTK+ style
8932         and to have interfaces that match gdkregion.h.
8933
8934         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
8935         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
8936         create a backing pixmap and redirect all drawing to
8937         that backing pixmap until a matching gdk_window_end_paint().
8938
8939         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
8940         Create a special drawable class for GtkWindow's that 
8941         redirects the drawing to the backing pixmap as necessary
8942         and then calls the real operations in _gdk_windowing_window_class.
8943
8944         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
8945         Store invalid region for each window. Generate expose events for invalid
8946         region in an idle. This replaces both the expose compression
8947         and the redrawing queuing in GTK+. It is both more efficient and
8948         simpler than either one individually and far more so then the
8949         combination.
8950
8951         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
8952         Emulate 32 bit coordinates for windows with 16 bit coordinates
8953         by offsetting drawing, guffaw scrolling techniques and
8954         mapping/unmapping child windows as necessary.
8955
8956         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
8957         where, when invalid regions are processed, the region is stored,
8958         and if expose events come in that are detectably duplicate
8959         the processed exposes (by comparison of event serial numbers),
8960         the stored region is subtracted out of those exposes.
8961
8962         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
8963         regions newly exposed when scrolling or resizing windows.
8964         This, combined with forcing processesing of queued invalidated
8965         regions, gives nice flicker-free scrolling.
8966
8967         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
8968         invalidated regions after every scroll.
8969
8970         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
8971         emulation in GDK. Its, for all practical purposes just a
8972         GtkViewport/GtkFixed hybrid now.
8973
8974         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
8975         (16-bit) structures as necessary instead of just casting.
8976
8977         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
8978         in terms of the structures from gdkregion-generic.c, using appropriate
8979         offsets from GDK to X11 coordinates. Cache clip mask and
8980         origin and ts origin locally and only flush to the server
8981         when drawing, to avoid constantly setting and resetting these
8982         values when offsetting GC's for scrolling and backing pixmaps.
8983
8984         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
8985
8986         * gtk/gtkcontainer.c: Call process_all_updates at end
8987         of resizing to reduce flicker. (Avoids having redraw
8988         lag arbitrarily behind resize under some circumstances)
8989
8990         * gtk/gtkentry.c: Remove old backing store code, and simply take
8991         advantage of the new backing store capabilities of GDK.
8992
8993         * gtk/gtkmain.c: Simple implementation of widget backing
8994         store - simply push a paint while handling each expose.
8995         (Should really be configurable widget for widget.)
8996         
8997         * gtk/gtkwidget.c: Remove all the old complicated redraw
8998         code, and simply invalidate the GDK windows from
8999         gdk_window_queue_clear(), etc. (Sigh, so much carefully
9000         debugged complexity ... gone to the winds.)
9001
9002         Remove all the code for suppressing expose events while
9003         resizes are pending; this isn't needed since the invalid
9004         areas won't be processed until after the resizes are
9005         processed, since they are in a lower priority idle.
9006
9007 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
9008
9009         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
9010         and height of dest rectangle for non-intersecting rectangles.
9011
9012 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
9013
9014         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
9015         for GdkRectangle.
9016
9017 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
9018
9019         * gdk/gdk{events,image,private,types,window}.h
9020          gdk/x11/gdkinputprivate.h: Change all coordinates
9021          from int16 to int. Also, Change width and height from
9022          unsigned to signed to avoid all the stupid C 
9023          signedness bugs.
9024
9025 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
9026
9027         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
9028         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
9029         Add some more detailed checking.
9030
9031         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
9032         New function to retrieve the depth of a drawable.
9033
9034         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
9035         field, reorder fields to save memory. 
9036
9037 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
9038
9039         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
9040         of the background image instead of scaling the background down to
9041         a line.
9042
9043         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
9044         which temporarily set slider to wrong size.
9045
9046         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
9047         queue_clear().
9048
9049 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
9050
9051 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
9052
9053         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
9054
9055 2000-03-17  Tor Lillqvist  <tml@iki.fi>
9056
9057         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
9058         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
9059
9060         * gdk/win32/gdkfont-win32.c
9061         * gdk/win32/gdkproperty-win32.c
9062         * gdk/win32/gdkselection-win32.c
9063         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
9064         now declared such.
9065
9066 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
9067
9068         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
9069
9070 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
9071
9072         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
9073         is called without trapping X errors.
9074
9075 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
9076
9077         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
9078         way into the fontset lists.
9079
9080 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
9081
9082         * gtk/gtkthemes.h: add extern "C" scope.
9083
9084 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
9085
9086         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
9087         to make appends to the list constant. (gtk-guy-990901-0.patch)
9088
9089 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
9090
9091         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
9092         for the typename hash table.
9093
9094 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
9095
9096         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
9097         to make sure we never divide by zero. 
9098         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
9099
9100 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
9101
9102         * gtk/gtkfontsel.c: Apply patch from
9103         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
9104         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
9105
9106         Also, some cleanups in atom handling.
9107
9108 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
9109
9110         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
9111         not GtkWidget.
9112
9113 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
9114
9115         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
9116         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
9117         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
9118         more guint wrap-around bugs before going to bed.
9119
9120 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
9121
9122         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
9123         guint wrap arounds in allocation.width.
9124
9125         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
9126         process untill we fit the allocation given.
9127
9128 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
9129
9130         * gtk/gtkwidget.c:
9131         (gtk_widget_unrealize): guard widget access with ref/unref
9132         around signal emission.
9133         (gtk_widget_hide): same here, but also check its destroyed
9134         state before queueing a resize.
9135
9136 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
9137
9138         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
9139         of gtk_default_insensitive_bg as insensitive base color.
9140
9141         * gtk/gtktext.c (gtk_text_style_set): set the background color according
9142         to the widget's state.
9143         (gtk_text_realize): same here.
9144         (gtk_text_state_changed): same here.
9145         (draw_bg_rect): compare background color against base[] from
9146         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
9147
9148 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
9149
9150         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
9151         grabs are active, unless a delete event is send to the toplevel
9152         of the currently grab holding widget.
9153
9154 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
9155
9156         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
9157         debugging g_print's.
9158
9159 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
9160
9161         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
9162         ever make the scrolled-window requisition ever depend on the 
9163         visibility state of the scrollbars for the AUTOMATIC policy. 
9164         This breaks the GTK+ requisition model, and causes loops.
9165
9166 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
9167
9168         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
9169         the default font to avoid problems with XFree86-4.0 where the
9170         default charset is iso10646-1, not iso8859-1.
9171
9172 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
9173
9174         * acinclude.m4
9175         * config.guess
9176         * config.sub
9177         * ltconfig
9178         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
9179
9180         * gtk/Makefile.am: minor cosmetic consistency tweak
9181
9182 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
9183
9184         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
9185         the activate_time to 0, so that we handle a quick
9186         press/release press/release properly and don't suppress
9187         the second release. (Red Hat bug #7545)
9188
9189 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
9190
9191         * gtk/gtkctree.c (row_delete):
9192         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
9193         bugs with destruction notifier, *always* update internal
9194         structures *before* calling user code.
9195
9196 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
9197
9198         A few more fixes for bug #5487, #2051, #2677.
9199         * gtk/gtkclist.c : 
9200         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
9201         not GDK_BUTTON_PRESS.
9202         (resync_selection): resync only if selection_mode is
9203         GTK_SELECTION_EXTENDED
9204         * gtk/gtkctree.c (resync_selection): same here
9205
9206 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
9207
9208         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
9209         gdk_drag_get_selection() and gtk_menu_detach().
9210
9211         [ From Jeroen Ruigrok/Asmodai ]
9212
9213 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
9214
9215         * gtk/gtknotebook.c (gtk_notebook_size_request): 
9216         page->tab_label can be NULL.
9217
9218 2000-01-25  Havoc Pennington  <hp@pobox.com>
9219         
9220         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
9221         arg is boolean
9222
9223         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
9224
9225         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
9226
9227         * gdk/gdkproperty.c (gdk_property_get): return boolean
9228
9229         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
9230
9231         * gdk/gdkim.c (gdk_im_ready): return boolean
9232
9233         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
9234
9235         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
9236         glib clash, should fix glib)
9237
9238         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
9239         (gdk_get_show_events): return gboolean, and canonicalize 
9240         to TRUE/FALSE
9241
9242         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
9243         colormap is private
9244         (gdk_colors_alloc): gboolean whether to be contiguous
9245         (gdk_color_equal): return gboolean since we are a predicate
9246         and not a qsort() (this looks semi-wrong due to glib breakage,
9247         IMO glib should be fixed)
9248         
9249         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
9250         (gdk_get_use_xshm): return gboolean
9251         (gdk_pointer_is_grabbed): return gboolean
9252
9253         * gdk/gdk.h: Change prototypes to match all the above changes,
9254         and re-run egtk-format-protos as required.
9255
9256 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
9257
9258         * gtk/gtkctree.c (resync_selection): 
9259         * gtk/gtkclist.c (resync_selection):
9260
9261         Return immediately if clist->drag_pos < 0. This is a workaround
9262         for the corrupt state that the clist gets into when a
9263         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
9264
9265         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
9266         
9267         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
9268         variable from recent commit.
9269
9270 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
9271
9272         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
9273
9274 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
9275
9276         * gtk/Makefile.am: prefix all autogenerated source that get build in
9277         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
9278         in builddir. since we subsequently cd into srcdir for autogeneration,
9279         the paths have to be stripped from the target file names, thusly we
9280         use $(@F) as target names now.
9281         put a comment about configure.in's --disable-rebuilds option,
9282         which can be used for non-writable source directories, for development
9283         setups though, srcdir has to be *writable*.
9284
9285 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
9286
9287         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
9288           Finish the job of allowing event to be NULL.
9289           (Fixes bug #4283, reported by Chris Blizzard)
9290
9291         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
9292           things so that the cursor appears on screen, properly
9293           take into account INNER_BORDER.
9294           (Fixes bug #4754, reported by Antonio Campos)
9295
9296 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
9297
9298         * gtk/gtknotebook.c (gtk_notebook_map): Don't
9299           show the tab_label unless it itself is visible.
9300
9301           gtk/gtknotebook.c (gtk_notebook_size_request):
9302           Do a better job of making sure that the visibility
9303           of the tab label corresponds to whether it should
9304           be mapped or not.
9305
9306 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
9307
9308         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
9309           Use the requisition, not the allocation, since the
9310           allocation has not necessarily been computed yet.
9311           (Pointed out by Eugene Osintsev)
9312
9313 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
9314
9315         * gtk/gtkstyle.c (gtk_style_new): Dont' set
9316           style/base[GTK_STATE_INSENSITIVE] both to
9317           gtk_default_insensitive_bg!
9318           (Bug #2187, reported by Jonathan Blandford)
9319
9320         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
9321           Add Alt_L, Alt_R to list of invalid accelerators.
9322           (Bug #3736, reported by Vlad Harchev)
9323
9324 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
9325
9326         * gtk/gtkfilesel.c (open_ref_dir): Fix several
9327         bugs which occured after an attempt to open 
9328         invalid home directory left cmpl_state->reference_dir == NULL.
9329
9330          - completion on files in home directory didn't work
9331          - completion on an empty string caused  segfault
9332
9333          (Bug #3678, reported by Steve Ratcliffe)
9334
9335         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
9336         cut and paste error that was causing scales to
9337         be incorrectly positioned.
9338         (Bug #2956,
9339          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
9340
9341 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
9342
9343         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
9344         when checking for dcgettext, if we've found we needed
9345         it for dgettext.
9346 +
9347 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
9348
9349         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
9350         queue_clear on NO_WINDOW widgets during a reparent,
9351         since at that point the window and widget heirarchies
9352         are out of sync. This stops crashing in some cases
9353         (the scrolled window reparent test, for instance), and
9354         _probably_ won't cause drawing errors.
9355
9356         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
9357         test do what it was supposed to do and be robust against
9358         window closings, etc. (Bug #2443)
9359
9360 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
9361
9362         * gtk/gtkentry.c: Fix return values on mouse events.
9363         (Bug #2686, Sky <seb_sky@yahoo.com>)
9364
9365         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
9366         (pointed out by George Lebl)
9367
9368         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
9369         (From Ettore Perazzoli  <ettore@helixcode.com>)
9370  
9371 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
9372
9373         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
9374         clicks between rows or outside calender area correctly.
9375         (Patch from Damon Chaplin)
9376
9377         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
9378         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
9379           Call destroy function when overwriting existing data. 
9380           (Pointed out by Damon Chaplin)
9381
9382 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
9383
9384         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
9385           which was causing problems on various systems with Xmu.
9386           This hasn't been needed for a very long time.
9387           (Fixes #1185 3167)
9388
9389 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
9390
9391         * gdk/gdki18n.h: Include <ctype.h> when defining
9392           gdk_isw* in terms of is* as a fallback.
9393           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
9394
9395 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
9396
9397         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
9398           realize the widget when it is size allocated!
9399           (old, old bug)
9400
9401         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
9402           Removed unused call to gdk_window_get_size() that
9403           showed up when the above was fixed.
9404
9405 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
9406
9407         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
9408           fix up widget->window when the widget is a
9409           NO_WINDOW container widget.
9410
9411 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
9412
9413         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
9414           to account for the fact that feof() does _not_ 
9415           return TRUE on errors, and thus avoid infinite loops
9416           when trying to use gdk_pixmap_create_from_xpm()
9417           on unreadable values.
9418
9419 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
9420
9421         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
9422
9423 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
9424
9425         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
9426           gdk_gc_set_dashes to take gint8 instead of gchar to
9427           make it clearer that it is _not_ a NULL terminated string.
9428
9429         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
9430           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
9431           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
9432           arguments.
9433
9434 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
9435
9436         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
9437         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
9438         background size relative to our allocation, guard against small
9439         allocations, we may have not yet been size allocated.
9440
9441 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
9442
9443         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
9444         not just version == 3. We implement all 3 + most of 4 - 
9445         (we don't support matching text/plain;charset=iso-8859-1
9446         to a dest that expects text/plain). We'll still advertise
9447         3 to be safe, but any client implementing version >= 3
9448         must interoperate with 3.
9449         
9450 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9451
9452         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
9453         background and gc members, add a warning in gtk_tooltips_set_color()
9454         indicating that this function is deprecated.
9455
9456 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
9457
9458         * docs/gtkfaq.sgml: FAQ Update:
9459           - Minor cleanups (Emmanuel, me)
9460           - New questions:
9461                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
9462                 How can I retrieve the text from a GtkMenuItem? (timj)
9463                 How do I validate/limit/filter the input to a GtkEntry? (me)
9464                 Memory does not seem to be released when I free the list
9465                         nodes I've allocated (timj)
9466
9467 2000-03-07  Tor Lillqvist  <tml@iki.fi>
9468
9469         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
9470         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
9471         for which it is no use to call GetLastError onWin9x.
9472         (gdk_other_api_failed) New function, for general error
9473         reporting without calling GetLastError.
9474         (gdk_win32_api_failed) OTOH, this function always calls
9475         GetLastError. (gdk_win32_last_error_string) Remove this function,
9476         GLib has the equivalent now.
9477
9478         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
9479         call them with function name, file name and line number in the
9480         arguments.
9481
9482         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
9483         functions.
9484         
9485         * gtk/gtk.def: Add some missing entry points.
9486
9487         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
9488         gtk_paned_set_gutter_size, which don't exist any longer, as void.
9489         
9490         Fixes by Hans Breuer:
9491
9492         * gdk/makefile.msc: Update for debugging.
9493
9494         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
9495         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
9496         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
9497         in the dash_list.
9498
9499         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
9500         the x11 backend.
9501
9502         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
9503
9504         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
9505
9506 2000-03-04  Tor Lillqvist  <tml@iki.fi>
9507
9508         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
9509         just pixel value of background colour.
9510
9511         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
9512         containing code snippet previously duplicated in a couple of
9513         places.
9514         
9515         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
9516         gdk_colormap_color.
9517
9518         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
9519         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
9520         events for autorepeated Shift, Control and Alt keys. Use
9521         gdk_colormap_color.
9522
9523         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
9524         pointer is inside the window the cursor of which we are setting,
9525         call SetCursor immediately.
9526
9527         * gdk/win32/makefile.cygwin
9528         * gtk/makefile.cygwin: If we don't have the build number stamp
9529         file, use zero.
9530
9531         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
9532         gtk_paned_set_gutter_size as empty.
9533
9534         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
9535         
9536 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
9537
9538         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
9539           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
9540           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
9541           docs/gtk_tut.sgml docs/gtk.texi TODO:
9542
9543           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
9544
9545 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
9546
9547         * gtk/gtkcalendar.c: Implement num_marked_dates,
9548           and don't emit mutiple day_selected signals on
9549           month_prev.
9550
9551 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
9552
9553         * docs/make-todo (lineno): let title and logo be configurable so
9554         that GNOME can use this script too.
9555
9556         * TODO.xml: added logourl and a title
9557
9558 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
9559
9560         * TODO.xml: Added some UI items, and an explanatory
9561         comment at the top of the file.
9562
9563 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
9564
9565         * TODO.xml: some updates, added abunch of new entries.
9566         a note for those fiddeling with this file, when done
9567         with it, invoke:
9568         $ ./docs/make-todo TODO.xml >/dev/null
9569         and correct output errors before comitting changes.
9570
9571 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
9572
9573         * TODO.xml: Added XML-structured TODO file.
9574         * docs/make-todo: python script to turn TODO.xml into
9575           pretty XML output. 
9576
9577 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
9578
9579         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
9580         the function to let it draw the seven dots, instead of the old,
9581         much maligned, method.
9582         (draw_dot): New function to draw a dot.
9583
9584         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
9585         to draw the handle inside the border width as opposed to outside.
9586         Use paint function instead of gdk_draw_point.
9587
9588         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
9589         to draw the handle inside the border width as opposed to outside.
9590         Use paint function instead of gdk_draw_point.
9591
9592         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
9593         Change indenting to be more GTK like.
9594
9595 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
9596
9597         * docs/gtk_tut.sgml: New section on GtkCalendar
9598         * examples/calendar: Update example code
9599
9600 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
9601
9602         * docs/gtkfaq.sgml: FAQ Update
9603
9604 2000-02-19  Anders Carlsson  <andersca@gnu.org>
9605
9606         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
9607         to prevent the scroll event to be propagated upwards.
9608
9609 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
9610
9611         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
9612         OwnerGrabButtonMask from button entries for
9613         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
9614
9615         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
9616         to the event mask (which will result in button/press release
9617         being added to the event mask on Unix) so scrolling works
9618         for layouts in scroll windows.
9619
9620         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
9621
9622         Patch from Anders Carlsson  <andersca@gnu.org> to add
9623         a scroll event.
9624
9625         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
9626         scrolling to the "Test Scrolling" part of testgtk.
9627  
9628         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
9629  
9630         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
9631         it against GDK_SCROLL.
9632  
9633         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
9634         way of mouse wheel scrolling.
9635  
9636         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
9637  
9638         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
9639  
9640         * gtk/gtkmain.c: Removed previous mouse wheel hack.
9641  
9642         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
9643         gdk_event_mask_table.
9644  
9645         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
9646         GdkEventScroll handler.
9647  
9648         * gdk/gdkevents.h: Added GdkEventScroll structure.
9649  
9650 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
9651
9652         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
9653         and Anders Carlsson to change the Paned widgets so that they
9654         can be dragged from anywhere along the length. Also change
9655         the way that this is drawn to make this apparent.
9656
9657         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
9658         from George Lebl to check that option_menu->menu is present
9659         before getting history.
9660
9661 2000-02-14  Tor Lillqvist  <tml@iki.fi>
9662
9663         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
9664         before the assertion for non-NULL segment list.
9665
9666         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
9667         Seems that pattern brushes *must* be 8x8 pixels! At least on my
9668         machine, but it might be display driver dependent. Sigh, so make
9669         sure the stipple is that size. Does Windows suck or what?
9670
9671         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
9672         places.
9673
9674 2000-02-13  Havoc Pennington  <hp@pobox.com>
9675
9676         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
9677         refcount to 1
9678         (gdk_cursor_new): init refcount to 1
9679
9680         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
9681
9682 2000-02-13  Tor Lillqvist  <tml@iki.fi>
9683
9684         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
9685         so that we don't have to do unnecessary settings to the HDC.
9686
9687         * gdk/win32/gdkdrawable-win32.c
9688         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
9689         gdk_gc_predraw.
9690
9691         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
9692         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
9693         GDI paths, call WidenPath to get the outline of the stroken path,
9694         and then fill the outline (with the brush that was built from the
9695         stipple).
9696
9697         * gdk/win32/gdkgc-win32.c: Factor out common code from
9698         _gdk_win32_gc_new and gdk_win32_gc_set_values into
9699         gdk_win32_gc_values_to_win32values. Use correct colour for
9700         SetBkColor() (Until now the code actually used a random colour in
9701         the call to SetBkColor()... but that didn't show up as not many
9702         GDI APIs use the background colour. Pattern (opaque stippled)
9703         brushes do.)
9704
9705         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
9706         gdk_win32_api_failed): New functions for error logging.
9707
9708         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
9709         WIN32_API_FAILED to call them, passing function or file name and
9710         line number.
9711
9712         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
9713
9714         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
9715         GdkColor for foreground and background in GdkGCWin32Data.
9716
9717         * gdk/makefile.cygwin: Link in the resource object separately.
9718
9719         * gdk/win32/rc/gdk.rc
9720         * gtk/gtk.rc (New file)
9721         * gdk/win32/makefile.cygwin
9722         * gtk/makefile.cygwin: Update build number in DLLs automatically,
9723         as in GLib.
9724
9725 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
9726
9727         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
9728         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
9729         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
9730         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
9731         parameters given and cursor->ref_count. coding style fixups.
9732
9733         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
9734         not GtkWidget.
9735         
9736         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
9737         fix up widget macros and add _GET_CLASS() variant.
9738         
9739         * gtk/*.c: some GtkType fixups.
9740
9741 2000-02-09  Tor Lillqvist  <tml@iki.fi>
9742
9743         * gdk/win32/gdkproperty-win32.c
9744         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
9745         were reversed.
9746
9747 2000-02-04  Tor Lillqvist  <tml@iki.fi>
9748
9749         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
9750         g_filename_to_utf8 to convert the font names Windows gives us from
9751         whatever is the default codepage to UTF-8.
9752         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
9753         in the other direction.
9754
9755         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
9756         error in debugging output.
9757
9758 2000-02-02  Tor Lillqvist  <tml@iki.fi>
9759
9760         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
9761         and height parameters to gdk_window_clear_area(). Not minus one.
9762
9763 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
9764
9765         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
9766         checks if the widget passed to gtk_drag_get_data() was not the
9767         dest widget.
9768
9769 2000-02-01  Tor Lillqvist  <tml@iki.fi>
9770
9771         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
9772         g_filename_from_utf8 functions (which were added a moment ago to
9773         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
9774         size buffers.
9775
9776         gtk_file_selection_get_filename returns the filename in the C
9777         runtime encoding. It calls g_filename_from_utf8, but copies the
9778         returned string to a static buffer, which is returned. I think
9779         this is better than returning the result from g_filename_from_utf8
9780         directly, which would mean all apps that use it would have to free
9781         the return value. Or should this function care about this issue at
9782         all? Maybe a new function with clearly defined semantics.
9783
9784         * gtk/gtkfilesel.h: Add comment about
9785         gtk_file_selection_get_filename returning the filename in the C
9786         runtime's encoding.
9787
9788         * README.win32
9789         * gdk/gdk.def
9790         * gdk/makefile.{cygwin,msc}
9791         * gtk/gtk.def: Updates.
9792
9793         * gdk/gdkcursor-win32.c: Initialise refcount.
9794
9795 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
9796
9797         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
9798
9799 2000-01-30  Havoc Pennington  <hp@pobox.com>
9800
9801         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
9802         destroy
9803
9804         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
9805
9806         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
9807         implemented in platform-specific code
9808
9809         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
9810
9811         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
9812         underscore in front
9813
9814         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
9815         put an underscore in front
9816
9817         * gdk/gdkcursor.c: new file, implements
9818         gdk_cursor_ref/gdk_cursor_unref
9819
9820         * gdk/gdkcursor.h: Refcount GdkCursor
9821
9822         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
9823
9824 2000-01-29  Tor Lillqvist  <tml@iki.fi>
9825
9826         * gdk/gdkwindow.h
9827         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
9828
9829 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
9830
9831         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
9832         structures to properly inherit from GtkWidget not GtkBin.
9833
9834 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
9835
9836         * gtk+.spec.in: Added lib/gtk+/include/* to %files
9837         (bug #5178 - Peter Wainright)
9838         
9839         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
9840         so that it will be installed.
9841         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
9842
9843 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
9844
9845         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
9846         for the GtkStyleClass vtable const.
9847
9848         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
9849         take a const string argument like GtkTranslateFunc. This will
9850         require changes in use code.
9851
9852 2000-01-19  Tor Lillqvist  <tml@iki.fi>
9853
9854         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
9855         semantics (to mimic the X11 backend, which just calls XClearArea)
9856         is to check for zero width (and height), and in that case use the
9857         window's width minus x (height minus y). This fixes for instance
9858         some redraw problems with gtkclist, which were easily noticeable
9859         in the gtk file selection widget.
9860
9861         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
9862         windows.
9863
9864 2000-01-13  Tor Lillqvist  <tml@iki.fi>
9865
9866         * configure.in
9867         * gdk/Makefile.am
9868         * gdk/x11/Makefile.am
9869         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
9870         (bug #5177).
9871         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
9872         out later.
9873
9874 2000-01-09  Tor Lillqvist  <tml@iki.fi>
9875
9876         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
9877         WM_MOVE for iconified or invisible windows. This fixes various
9878         problems when minimising windows. Thanks to Bernd Herd.
9879
9880 2000-01-05  Tor Lillqvist  <tml@iki.fi>
9881
9882         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
9883         backend's draw_lines method, not draw_points.
9884
9885 2000-01-02  Tor Lillqvist  <tml@iki.fi>
9886
9887         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
9888         before Owen's reorganisation: Don't have queued_events and
9889         queued_tail statics in this file, but use gdk_queued_events and
9890         gdk_queued_tail. This makes exposure event compression work again.
9891
9892         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
9893         seem to be needed?
9894
9895 1999-12-30  Tor Lillqvist  <tml@iki.fi>
9896
9897         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
9898         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
9899         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
9900         doesn't do anything.
9901
9902         * gdk/gdk.def: Add gdk_xid_table_insert.
9903
9904         * gdk/win32/gdkprivate-win32.h
9905         * gdk/win32/gdkevents-win32.c
9906         * gdk/win32/gdkinput-win32.c
9907         
9908         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
9909         extension_events field in the GdkWindowWin32Data struct. Use only
9910         the extension_events field in GdkWindowPrivate. Previously one was
9911         set, and the other one tested, which broke tablet
9912         functionality. Thanks to Keishi Suenaga for pointing this out.
9913
9914 1999-12-18  Tor Lillqvist  <tml@iki.fi>
9915
9916         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
9917         When handling a single character (text length == 1), don't handle
9918         it as if it was UTF-8.
9919
9920 1999-12-11  Tor Lillqvist  <tml@iki.fi>
9921
9922         * Makefile.am: Distribute README.win32.
9923         
9924         * gdk/Makefile.am
9925         * gdk/win32/Makefile.am: Distribute Win32 files.
9926
9927         * gdk/makefile.msc: New file.
9928
9929         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
9930         after label).
9931
9932         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
9933         gdk_error_code as GDKVAR, as they are referred outside GDK.
9934
9935         * gdk/win32/makefile.msc: Update.
9936
9937         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
9938         tweaks. Check only if at least one of those Unicode subrange bits
9939         we care for is set. If no code page bits are set, guess (wildly)
9940         based on the charset.
9941
9942         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
9943
9944         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
9945         non-NULL.
9946
9947         * gtk/gtkdnd.c
9948         * gtk/gtklayout.c
9949         * gtk/gtkplug.c
9950         * gtk/gtkselection.c
9951         * gtk/gtksocket.c
9952         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
9953         appropriate. There must be a cleaner way to handle this?
9954
9955         * gtk/gtkrc.c: Must include windows.h on Win32.
9956
9957         * gtk/testgtk.c: No need to include gdkx.h.
9958
9959         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
9960
9961 1999-12-07  Tor Lillqvist  <tml@iki.fi>
9962
9963         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
9964         the rbearing is set to the same as the width, but this should be
9965         fixed.
9966
9967 1999-12-06  Tor Lillqvist  <tml@iki.fi>
9968
9969         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
9970         function. If Windows doesn't tell us what Unicode subranges a font
9971         covers, guesstimate based on the codepages it covers. This will
9972         hopefully help those Windows versions or fonts that don't give us
9973         any useful Unicode subrange information with GetTextCharsetInfo.
9974         Call this function in gdk_font_load_internal.
9975
9976         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
9977         minor changes.
9978
9979 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
9980
9981         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
9982         New function, long needed.
9983
9984 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
9985
9986         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
9987         only_if_exists argument of gdk_atom_intern to
9988         bool.
9989
9990 1999-11-25  Tor Lillqvist  <tml@iki.fi>
9991
9992         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
9993         Fix two copy&paste errors.
9994
9995         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
9996         win32 has changed.
9997
9998         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
9999         GdkWin32SingleFont struct.
10000
10001         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
10002         subranges of loaded fonts. Clear font signature first, in case
10003         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
10004         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
10005
10006         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
10007         Unoffset clip region.
10008
10009 1999-11-23  Tor Lillqvist  <tml@iki.fi>
10010
10011         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
10012         event->any.window before calling filter functions.
10013
10014 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
10015
10016         * gtk/gtkgamma.h: Adapt cast macros to standard.
10017
10018 [ Merges from 1.2 ]
10019
10020 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
10021
10022         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
10023         If translation does not include a '/', use entire
10024         translation instead of crashing.
10025
10026 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
10027
10028         * docs/gtk_tut.sgml:
10029         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
10030
10031 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
10032
10033         * gtk/gtkselection.c (gtk_target_list_remove): Use
10034         g_list_remove_link, not g_list_remove.
10035
10036         [ From Geert Bevin <gbevin@thunderstorms.org> ]
10037         
10038 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
10039
10040         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
10041         statement upon unselection (how the heck did that slip in?).
10042
10043 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
10044
10045         * gtk/gtktext.c (gtk_text_freeze): 
10046         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
10047         in frozen state (and aparently crashes). patch provided by Anders
10048         Melchiorsen <and@kampsax.dtu.dk>.
10049
10050 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
10051
10052         * fix insensitive default/focus widget activation,
10053         reported by Matt Goodall <mgg@isotek.co.uk>.
10054
10055         * gtk/gtkwindow.c (gtk_window_key_press_event): 
10056         (gtk_window_activate_default):
10057         (gtk_window_activate_focus):
10058         return handled=FALSE for actiavtion of insensitive default
10059         widgets. return handled=TRUE for activation of insensitive
10060         focus widgets. don't activate in either case.
10061
10062 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
10063
10064         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
10065         and $glib_cflags to match library order and in the
10066         theory that an old version of GLib is more likely to
10067         be in the include directory for X then vice-versa.
10068         (Bug #2776)
10069
10070 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
10071
10072         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
10073         to determine the locale for fontsets, not LC_MESSAGES;
10074         the user may want English messages with a handling
10075         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
10076         will still be broken) (Bug #2891)
10077
10078 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
10079
10080         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
10081
10082 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
10083
10084         * gtk/gtkrc.ko: Changed the Korean default fontset.
10085
10086 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
10087
10088         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
10089         where when scrolling to the left or top double exposes
10090         were done, causing major slowdowns.
10091
10092 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
10093
10094         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
10095         names to lowercase and alphanumeric, before looking
10096         them up.
10097
10098         * gtk/Makefile.am: Install codeset variant gtkrc files
10099         with normalized names.
10100
10101 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
10102
10103         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
10104         popup menus when the menu is already visible, but its parent
10105         is still hidden, (happens after tornoff window got hidden).
10106
10107 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
10108
10109         * gtk/Makefile.am (install-data-local): Fix
10110         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
10111         deleted, causing error messages on install.
10112
10113 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
10114
10115         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
10116         the handle as well, since we now sometimes ignore
10117         exposes on the handle while resizing.
10118
10119 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
10120
10121         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
10122         extra g_free introduced in one of the last one or two 
10123         commits.
10124
10125 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
10126
10127         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
10128         consistent, put each style that a gtkrc.* file creates
10129         in a unique namespace, remove old files before installing.
10130
10131 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
10132
10133         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
10134         gtk_rc_init is called multiple times. (Yes, people who
10135         do that have bugs in their code.)
10136
10137 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
10138
10139         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
10140         Remove it since it's generated by the Makefile anyway
10141
10142 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
10143
10144         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
10145         device->info.axes for core pointer.
10146
10147 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
10148
10149         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
10150         idle_id, to deal with obsolete, broken C libraries.
10151
10152 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
10153
10154         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
10155         allocation->x/y twice!
10156
10157         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
10158         consistent with gtk_vscale_pos_trough().
10159
10160 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
10161
10162         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
10163         be queueing a resize on a toplevel container between
10164         the time we show it and when we map it. So, we need
10165         to test GTK_WIDGET_VISIBLE() for toplevels, and only
10166         use GTK_WIDGET_DRAWABLE() for child windows.
10167
10168 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
10169
10170         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
10171         (fixes bug #2144)
10172
10173 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
10174
10175         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
10176         container DRAWABLE (instead of VISIBLE), so we don't queue
10177         resizes on non-toplevel containers.
10178
10179 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
10180
10181         * gtk/gtkselection.[ch]: Make the data argument
10182         const guchar *.
10183
10184 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
10185
10186         * gtk/gtkwindow.c: Try to behave sensibly if 
10187         the focus widget is the window itself. (Should
10188         we allow this at all?)
10189
10190 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
10191
10192         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
10193         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
10194         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
10195         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
10196         in prototypes and implementations consistent (Tomas Ogren).
10197
10198         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
10199         before the widget is unparented (reported by damon).
10200
10201         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
10202         since we provide unsigned data anyways.
10203
10204 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
10205
10206         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
10207         the call to gtk_tooltips_layout_text() until later.
10208
10209         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
10210         Call gtk_widget_ensure_style() before using the style.
10211
10212 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
10213
10214         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
10215         for old widgets that don't propagate draws to all
10216         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
10217
10218 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
10219
10220         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
10221         for a redraw but just the widget that requested the resize.
10222
10223 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
10224
10225         * gtk/gtkcontainer.c: added new widget level method
10226         gtk_container_set_reallocate_redraws() and a GtkContainer flag
10227         reallocate_redraws : 1 to reflect the setting, exported this through
10228         the argument system as a boolean ::reallocate_redraws.
10229
10230         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
10231         on the widget because the allocation changes, do so as well for
10232         widget->parent if the parent has reallocate_redraws set to TRUE.
10233         with that containers requesting reallocation redraws get automatically
10234         redrawn if their children changed allocation (this unfortunately
10235         affects also other children that didn't change allocation, but we
10236         cannot work around that before 1.3).
10237
10238 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
10239
10240         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
10241         _and_ height are >0 (not _or_).
10242
10243         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
10244         instead of gtk_container_queue_resize(), which is a core gtk internal
10245         function (must have been on crack when i queued that).
10246
10247         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
10248         we can check more reliably if we want to discard expose events.
10249         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
10250         flag.
10251         
10252         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
10253         we simply trust these events. for deciding whether to discard exposes,
10254         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
10255         
10256 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
10257
10258         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
10259         queues of areas that are completely off screen.
10260
10261         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
10262         logic for handleboxes.
10263
10264         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
10265         check on width/height.
10266
10267 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
10268
10269         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
10270         we are fine with using $@ the way we do (if we actually encounter
10271         brokeness with $@ in VPATH builds because of additional path prefixes,
10272         we need to use $(@F) actually).
10273
10274 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
10275
10276         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
10277         short lived bugs, that would allow language bindings to do surgeries
10278         to our guts.
10279
10280 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
10281
10282         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
10283         where comparison was being done against an uninitialized
10284         value causing intermittant results depending on
10285         compiler flags. Also make it clearer that we aren't
10286         ever initializing the child as 0x0 (though this will
10287         be caught in gtk_widget_size_allocate())
10288
10289 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
10290
10291         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
10292         gtk_window_unset_transient_for() call after we do checks
10293         involving the old transient parent.
10294         [ From Lance Capser <lmc@cyberhighway.net> ]
10295
10296 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
10297
10298         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
10299         an empty file.
10300
10301 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
10302
10303         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
10304         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
10305
10306 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
10307
10308         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
10309         `$@' is valid only in the build dir, not after we've done 
10310         `cd $srcdir'.  Also use `test -f' instead of less portable
10311         `test -e'.
10312
10313 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
10314
10315         * gtk/gtktext.c (correct_cache_insert): Rewrite
10316          for simplicity, and hopefully correctness.
10317          (Fixes bug #1322, which was a segfault when
10318           on some insertions with the properties around
10319           the insertion set up just wrong.)
10320
10321         * gtk/gtktext.c (gtk_text_adjustment): When we receive
10322          a "changed" signal, clamp the new value to the adjustment
10323          bounds to avoid segfaulting if someone tries to change
10324          the adjustment to a bogus value. (Bug #1795)
10325
10326 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
10327
10328         * gtk/gtkmain.c: Ignore unexpected destroy notifies
10329         for children, for toplevel windows handle them
10330         like delete_event.
10331
10332         * gtk/gtkplug.c: Add an unrealize handler so that
10333         we unref plug->socket_window when we are done
10334         with it.
10335
10336 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
10337
10338         * gtk/gtktext.c (clear_area): Fix stupid signedness
10339          problem that was causing background to sometimes
10340          be misaligned.
10341
10342 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
10343
10344         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
10345         
10346         * gtk/gtkmenu.c (gtk_menu_position): Make
10347          sure we never position menus with negative x, y,
10348          since gtk_widget_set_uposition() can't handle that.
10349
10350         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
10351          Modify the positioning code a bit so that we always
10352          put the top-left corner onscreen. (This is for
10353          UI reasons, gtk_menu_position() now takes care of
10354          gtk_widet_set_uposition() brokeness.)
10355
10356 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
10357
10358         * gtk/Makefile.am: fixed up things for -jx, x > 1.
10359
10360 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
10361
10362         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
10363           RC style that is passed in. The lack of the ref
10364           before was a bug. If people worked around this
10365           bug, this will introduce a slight memory leak
10366           in their code. The code should typically look like:
10367
10368             rc_style = gtk_rc_style_new ();
10369             [...]
10370             gtk_widget_modify_style (widget, rc_style);
10371             gtk_rc_style_unref (rc_style);
10372
10373         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
10374           the style if it was already set.
10375
10376         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
10377           style if it was set before.
10378
10379 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
10380
10381         * gtk/testgtk.c (main): Add a check to see if we
10382           are being run from the correct directory and
10383           to quit nicely if we are not.
10384
10385         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
10386           static.
10387
10388 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
10389
10390         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
10391
10392         * gtk/gtkwindow.c:
10393         queue resizes unconditionally (gtk_widget_queue_resize will figure
10394         what to do if the window is not realized).
10395         (gtk_window_move_resize): only recenter the window
10396         for GTK_WIN_POS_CENTER_ALWAYS.
10397         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
10398         the same way as GTK_WIN_POS_CENTER.
10399
10400 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
10401
10402         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
10403         with (!(info->last_flags & GDK_HINT_POS)) instead of
10404         (!info->last_flags & GDK_HINT_POS).
10405
10406         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
10407         new_height unconditionally, because we use these values even if
10408         !default_size_changed && !hints_changed.
10409         comented the (default_size_changed || hints_changed) case with
10410         respect to resize rejects from the window manager.
10411
10412         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
10413         in the zvt condition hack, since this includes the window hints, set
10414         the hints after the handling_resize case.
10415
10416         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
10417         window is initially shown with to the geometry.
10418
10419 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
10420
10421         * gtk/gtkwindow.c (gtk_window_move_resize):
10422         s/size_changed/default_size_changed/g so i know what's
10423         really going on (frying brain on smaller flame now).
10424
10425 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
10426
10427         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
10428         we have size_changed upon handling_resize. this is a gross
10429         workaround for the broken zvt widget and should be removed in
10430         1.3 again (search for FIXME).
10431         Owen provided an accurate comment for this:
10432
10433         /* We could be here for two reasons
10434          *  1) We coincidentally got a resize while handling
10435          *     another resize.
10436          *  2) Our computation of size_changed was completely
10437          *     screwed up, probably because one of our children
10438          *     is broken. It's probably a zvt widget.
10439          *
10440          * For 1), we could just go ahead and ask for the
10441          * new size right now, but doing that for 2)
10442          * might well be fighting the user (and can even
10443          * trigger a loop). Since we really don't want to
10444          * do that, we requeue a resize in hopes that
10445          * by the time it gets handled, the child has seen
10446          * the light and is willing to go along with the
10447          * new size. (this happens for the zvt widget, since
10448          * the size_allocate() above will have stored the
10449          * requisition corresponding to the new size in the
10450          * zvt widget)
10451          *
10452          * This doesn't buy us anything for 1), but it shouldn't
10453          * hurt us too badly, since it is what would have
10454          * happened if we had gotten the configure event before
10455          * the new size had been set.
10456          */
10457
10458 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
10459
10460         * gtk/gtkrc.c: deal properly with the fact that RC
10461           style lists may include rc styles more than once.
10462
10463         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
10464           unused static function.
10465
10466         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
10467           stack of directories of RC files currently being
10468           parsed and implicitely add them to pixmap path.
10469           
10470           This fixes a bug where the directory would get
10471           appended then overwritten by pixmap_path declarations.
10472
10473           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
10474
10475         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
10476           theme's exit function. (Patch from Peter Wainwright,
10477           bug #1454)
10478
10479         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
10480           Add a destroy() handler to take care of removing
10481           group for menu item. (Fixes bug #1197)
10482
10483         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
10484           in warning message.
10485
10486 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
10487
10488         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
10489         roundtrip to figure window's width and height, since we know that
10490         anyways from widget->allocation.
10491
10492 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
10493
10494         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
10495           the hints after we request the new size.
10496
10497 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
10498
10499         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
10500           GTK_WIDGET_REALIZED() assertion - we can compute the
10501           hints before we are realized.
10502
10503         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
10504           hint changing so that we have a value of hints_changed
10505           when we decide whether to constrain the window size.
10506
10507         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
10508
10509         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
10510         change back to G_MAXINT.
10511
10512 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
10513
10514         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
10515         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
10516         contain uncluttered values.
10517         (gtk_window_compute_hints): simply assert that window is realized
10518         and that geometry_info is valid, since we rely on this anyways.
10519         (gtk_window_constrain_size): major cleanups to the code.
10520         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
10521         for the base size, instead of the minimums. use 32767 as max width
10522         and height (like in gtkwindow.c) instead of G_MAXINT.
10523
10524 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
10525
10526         * cleaned up the GtkContainer.need_resize flag handling mess, we
10527         only need to force resize requests when we were prematurely
10528         realized, or our widget tree was modified when we were temporarily
10529         hidden. handling these cases directly upon showing the window (i.e.
10530         while the GdkWindow is still unmapped) avoids the need to wait for
10531         a configure event response and therefore makes the GUI more snappier
10532         and avoids blank windows during the roundtrip.
10533
10534         * gtk/gtkwidget.c:
10535         (gtk_widget_hide): 
10536         (gtk_widget_show): don't queue resizes on toplevels, they know how
10537         to deal with matters.
10538
10539         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
10540         flag directly for not visible resize containers and spare us unecessary
10541         signal emissions.
10542
10543         * gtk/gtkwindow.c:
10544         (gtk_window_realize): if we need to enforce premature size allocation,
10545         queue a container resize so we are correctly resized later on.
10546         (gtk_window_init):
10547         (gtk_window_size_request):
10548         don't freak around with the ->need_resize flag,
10549         gtk_container_queue_resize() will care about that.
10550         (gtk_window_show):
10551         handle initial resizing issues here, we can handle matters better in
10552         this place, especially since we know that our GdkWindow is still
10553         unmapped.
10554         (gtk_window_move_resize):
10555         don't care about ->need_resize at all.
10556         handle size changes properly that occoured while we waited for a
10557         configure event.
10558
10559 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
10560
10561         * gtk/gtkwidget.c (gtk_widget_set_uposition):
10562         * gtk/gtkwindow.[hc] (gtk_window_reposition):
10563         Move the hint setting code from gtk_widget_set_uposition
10564         to here; set the hints so that we respect any previously
10565         set geometry hints.
10566
10567         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
10568         change the window hints here or move the window here,
10569         let that happen in gtk_window_move_resize().
10570
10571 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
10572
10573         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
10574         to already queued resizes (and therefore redraws) on a widget, check
10575         its anchestry as well.
10576
10577         * gtk/gtkcontainer.c:
10578         (gtk_container_queue_resize): clear resize widgets for resize
10579         containers before aborting prematurely. this is especially important
10580         for toplevels which may need imemdiate processing or their resize
10581         handler to be queued.
10582         (gtk_container_dequeue_resize_handler): added new internal function for
10583         gtkwindow.c.
10584
10585         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
10586         configure event, take possible changes in window position into account
10587         as well.
10588         if we request a new window size, queue up a resize handler that will
10589         last until the configure event response arrives.
10590         combined the ->need_resize case (initial show) with the general size
10591         (hints) changed case and added even more comments.
10592         if !auto_shrink, only revert to the old allocation if the new size
10593         is smaller than the current allocation.
10594
10595 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
10596
10597         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
10598                            gtk_window_set_geometry_hints
10599                            gtk_window_set_default_size):
10600         When hints are set, queue a resize so that the hints will
10601         be eventually reset on the toplevel.
10602
10603         * gtk/gtkwindow.c (gtk_window_show): Use
10604         gtk_window_compute_default_size(). Clear the need_resize flag
10605         on the initail map so that we don't unnecessarily trigger the
10606         resize code.
10607
10608         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
10609         into separate functions. Compare the hints we are setting
10610         with what we set last time so that we can accurately
10611         tell when we need to reset the hints.
10612
10613         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
10614         function to figure out the size from requisition
10615         and default_size.
10616
10617         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
10618         from fvwm to constrain a size to the geometry hints.
10619
10620         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
10621         to compare two sets of geometry hints.
10622
10623         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
10624         from gtk_window_set_hints(), just compute the hints,
10625         don't set them.
10626
10627         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
10628         code from gtk_window_move_resize() to separate function,
10629         rationalize a bit.
10630
10631 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
10632
10633         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
10634         structure into a new private structure.
10635
10636         * gtkrc.c: Split GtkRcStyle into public/private.
10637         In the private part, add a list of pointers to the
10638         RcStyle lists this RcStyle participates in.
10639
10640         * gtkrc.c: When a RcStyle is free, remove all
10641         lists referencing it from the 
10642         realized_style_ht hash, and free those lists.
10643         
10644         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
10645         gtk_rc_init(), since that adds the default styles
10646         to the list of parsed RC files again.
10647
10648         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
10649         
10650 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
10651
10652         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
10653         checks that ensure that a widget's allocation is at least 1 in width
10654         and height. (GNOME note: this doesn't affect old panel code anymore,
10655         because GtkSocket will request width and height of at least 1 since
10656         Fri Jul 23).
10657
10658         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
10659         allocated yet (happens if the user realizes the window prematurely),
10660         size request and allocate it.
10661         (gtk_window_size_allocate): guard against guint underflows.
10662
10663 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
10664
10665         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
10666         in gtk_built_sources, so gtk.defs gets built prior to all other
10667         sources.
10668
10669 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
10670
10671         * gtk/Makefile.am:
10672         invoke indent on gtkmarshal.*. 
10673         rewrote source generation rules, use COPYING as oldest source tag for
10674         a piggyback rule to generate all sources from (don't touch it ;).
10675         major cleanups, strip spaces on build rules for GNU Make.
10676
10677         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
10678         source and target files from commandline arguments. don't invoke indent.
10679
10680 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
10681
10682         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
10683         notebook after switch to avoid drawing problems.
10684         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
10685         
10686         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
10687         show them instead. 
10688         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
10689
10690 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
10691
10692         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
10693         notebook after switch to avoid drawing problems.
10694         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
10695         
10696         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
10697         show them instead. 
10698         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
10699
10700 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
10701
10702         * gtk/gtkwindow.c:
10703         we use window->need_resize from configure_event now, to indicate that
10704         the gtkwindow should keep its allocation (e.g. because the user resized
10705         the window through window manager handles). resize_count is now reliably
10706         used to figure whether we got the allocation we requested from the
10707         window manager.
10708         configure events get queued as resizes now, the real stuff (size
10709         computation and allocation) now only goes on in gtk_window_move_resize().
10710         GtkWindow's requisition now contains its *real* requisition (like all
10711         other widgets), *not* taking usize into account.
10712         geometry_info->last_{width|height} is now updated from set_hints() only
10713         so it always contains the last hints we set for the window manager.
10714         made some event handlers return TRUE instead of FALSE.
10715         the overall code should be much more straight forward now, and the
10716         significant code portions are accompanied by comments now.
10717         (gtk_window_set_hints):
10718         removed requisition argument and made it
10719         fetch the requisition through gtk_widget_get_child_requisition.
10720         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
10721         does that now.
10722         (gtk_window_show):
10723         ensure that the widget is realized before calling 
10724         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
10725         ensure that we got properly size requested and allocated before
10726         realization.
10727         (gtk_window_configure_event):
10728         ignore plain window moves, or reallocate the widget tree through the
10729         resize queue otherwise.
10730         (gtk_window_move_resize):
10731         mostly rewrote this function to figure window manager hints more
10732         reliably, coalesce window moves and resizes to reduce configure events
10733         and do actuall size allocations.
10734
10735 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
10736
10737         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
10738         that have a resize pending, because a redraw is already queued for them.
10739
10740         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
10741         hack to clear resize_widgets.
10742
10743         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
10744         for resize containers prior to size allocation. (this is also a bit
10745         ugly, but avoids side effects for stopped emissions and is thus more
10746         reliable).
10747         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
10748
10749         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
10750         function from gtk_tooltips_expose, as we connect to ::expose_event
10751         *and* ::draw now.
10752
10753 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
10754
10755         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
10756         checks.
10757         (gtk_target_list_unref): Likewise.
10758
10759         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
10760
10761 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
10762
10763         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
10764         guard against division by zero. (Fixes bug #1339)
10765
10766 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
10767
10768         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
10769         Prevent the trivial leak of information of allowing
10770         word motion when the entry is not visible.
10771
10772 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
10773
10774         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
10775         modality to error dialog as well as confirmation dialogs.
10776         (Bug #1803, reported by Rosanna Wing Sze Yuen)
10777
10778 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
10779
10780         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
10781         tree->view_lines.
10782         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
10783
10784         * gtk/Makefile.am (install-data-local): Solaris apparently
10785         has various troubles with ln -f; use rm first instead.
10786         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
10787
10788 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
10789
10790         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
10791         use `cp' followed by `rm' (the `rm' was already there).
10792
10793 July 30, 1999 Elliot Lee <sopwith@redhat.com>
10794         
10795         * configure.in: Fix autoconf warnings about cross compilation by
10796         trying to provide sane defaults for AC_TRY_RUN.
10797         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
10798         put them into $(srcdir) when generated. Also add a dependency of
10799         gtksignal.h on gtkmarshal.h for -j builds. 
10800         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
10801
10802 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
10803
10804         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
10805         GDK_THREADS_{LEAVE,ENTER} pair.
10806         (From Paul Fisher <pnfisher@redhat.com>)
10807
10808 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
10809
10810         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
10811         width and height are always >0 (owen).
10812
10813 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
10814
10815         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
10816         change that assured that a widget's allocated with and height are
10817         always >1, since this breaks *buggy* panel code. unfortunately this
10818         back-breaks the gimp's color selector.
10819
10820         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
10821         allocation is always >0 in width and height, before sending the
10822         configure event; this is a *gross* hack to get the gimp back to work.
10823         
10824         * marked both cases with TODO-1.3
10825
10826 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
10827
10828         * gtk/gtktext.c: Don't display wrap indicators when
10829         text is not editable and word wrap is on.
10830
10831 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
10832
10833         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
10834         option menus here as they are not derived from menu shell, assure that
10835         the option menu has a menu we can add items to.
10836
10837 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
10838
10839         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
10840         width/height to (gint) before calculations and check against < 0 to
10841         avoid guint wraparounds.
10842
10843 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
10844
10845         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
10846         width and height is never zero. sanity check both dimensions against
10847         32767 and issue a warning if the allocation is greater than that.
10848
10849 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
10850
10851         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
10852         to g_main_pending() as well.
10853
10854 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
10855
10856         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
10857         call to g_main_iteration() - since that will regrab
10858         GTK+ lock to process events.
10859
10860 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
10861
10862         * gtk/gtkwindow.c
10863         - Regularize with the rest of GTK+ by making widget->requisition
10864           not reflect the set_usize()
10865         - Always recompute geometry hints, then check if they
10866           changed before sending them to the X server. The
10867           previous checks for changes would fail in a number
10868           of circumstances. 
10869
10870 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
10871
10872         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
10873
10874 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
10875
10876         * gtk/gtkdnd.c:
10877         - Code cleanups
10878         - Instantaneously update on modifier key presses
10879         - Allow cancellation of the drag with Escape.
10880
10881 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
10882
10883         * gtk/testgtk.c (create_handle_box): Set the policy
10884         to auto_shrink - otherwise the appearance is rather
10885         strange when flipping between horizontal and vertical.
10886
10887 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
10888
10889         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
10890         (gtk_window_set_default_size): don't change a value if it's < 0.
10891         queue a resize.
10892
10893 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
10894
10895         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
10896
10897 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
10898
10899         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
10900         add an extra "/" when concating "/" + filename.
10901         (From Matt Grossman <mattg@oz.net>)
10902
10903 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
10904
10905         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
10906         for fg_gc if we set it for drawing pixmap.
10907
10908 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
10909
10910         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
10911         
10912         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
10913         already set, call old engine's destroy function and
10914         unref the old engine.
10915
10916 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
10917
10918         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
10919
10920 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
10921
10922         * gtk/gtkaccelgroup.h: mark certain functions as internal.
10923
10924 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
10925
10926         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
10927         expand behaviour changed.
10928
10929         * gtk/gtklabel.c (gtk_label_set_pattern):
10930         (gtk_label_set_justify):
10931         (gtk_label_set_line_wrap):
10932         don't bother invoking queue_clear, the reallocation does
10933         that for us, always free_words so the upcoming resize will
10934         relayout the label's contents.
10935
10936 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
10937
10938         * applied argument implementation patches from Elena Devdariani
10939         <elena@cogent.ca>.
10940
10941         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
10942         ::space_style, ::relief
10943         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
10944         * gtk/gtkpreview.c: ::expand
10945         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
10946         * gtk/gtknotebook.c: ::homogeneous
10947         * gtk/gtklabel.c: ::wrap
10948         * gtk/gtklist.c: ::selection_mode
10949         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
10950         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
10951         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
10952         * gtk/gtkclist.c: ::sort_type
10953         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
10954         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
10955
10956 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
10957
10958         * gtk/gtkstyle.c: Removed ill-thought-out part of last
10959         comment.
10960
10961 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
10962
10963         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
10964         counting right when we have to attach a new style
10965         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
10966
10967         * gtk/gtkstyle.c: Documented the refcounting
10968         peculularities of gtk_style_attach.
10969
10970 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
10971
10972         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
10973         window types.
10974
10975         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
10976         of GTK_TOPLEVEL for creating the window.
10977
10978 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
10979
10980         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
10981         the last argument (reported by Per Winkvist).
10982         
10983 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
10984
10985         Fixes for invisible XOR lines (Frank Loemker
10986         <floemker@TechFak.Uni-Bielefeld.DE>)
10987         
10988         * gtk/gtkclist.c (gtk_clist_realize): Always use
10989         a non-zero pixel for GDK_XOR.
10990
10991         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
10992         Use GDK_INVERT instead of GDK_XOR.
10993
10994 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
10995
10996         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
10997         signals if h/voffsets differ from adjustment values.
10998         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
10999
11000 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
11001
11002         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
11003         ::selection-done emissions up to the topmost menu shell.
11004
11005 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
11006
11007         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
11008         the user data on the window before destroying it.
11009
11010         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
11011         unrealize handler to take care of destroying 
11012         notebook->panel properly. 
11013         (Bug #1198 - Morten Welinder <terra@diku.dk>)
11014
11015         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
11016         of g_new and g_realloc to stop memory leak. (Actually,
11017         we could just use g_realloc(), but I'm not 100% sure
11018         that is portable).
11019         (Bug #1196 - Morten Welinder <terra@diku.dk>)
11020
11021 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
11022
11023         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
11024
11025         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
11026         for fontsets.
11027
11028         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
11029         with bin/button confusion.
11030
11031 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
11032
11033         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
11034         and show how preselection of radio items is done.
11035
11036 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
11037
11038         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
11039         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
11040         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
11041         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
11042         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
11043         * gtk/gtktable.c (gtk_table_attach): 
11044         * gtk/gtklist.c (gtk_list_insert_items): 
11045         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
11046         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
11047         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
11048         * gtk/gtkbin.c (gtk_bin_add): 
11049         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
11050         * gtk/gtkfixed.c (gtk_fixed_put): 
11051         * gtk/gtklayout.c (gtk_layout_put):
11052         general fixups to container_add logic. always realize child if
11053         child->parent is realized, only map the child and queue a resize
11054         if child and child->parent are both visible.
11055
11056 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
11057
11058         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
11059         instead of gtk_container_foreach to walk and unrealize children, so
11060         composite children get also unrealized.
11061         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
11062         (gtk_widget_map): assert that the widget is visible (basic constrain).
11063         (gtk_widget_real_map): assert that the widget is realized (basic
11064         constrain).
11065
11066 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
11067
11068         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
11069
11070 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
11071
11072         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
11073         file for iso-8859-2 locales.
11074
11075         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
11076
11077 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
11078
11079         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
11080          (Pointed out by andy@rz.uni-karlsruhe.de and others).
11081          Remove some suspicious and useless lines. 
11082
11083 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
11084
11085         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
11086         width,height = 0, 0 to mean - here to edge of window,
11087         instead of -1, -1, since the former is all we support.
11088
11089 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
11090
11091         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
11092         when removing from quit_functions list.
11093
11094 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
11095
11096         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
11097
11098 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
11099
11100         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
11101          When redrawing characters on non-visible entry, use appropriate
11102          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
11103
11104 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
11105
11106         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
11107         from drag coordinates.
11108         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
11109         use drag_dest_cell.
11110
11111         * gtk/gtktree (drag_dest_cell)
11112         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
11113         (Bug #1129)
11114
11115 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
11116
11117         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
11118         translate_* fields.
11119         (gtk_item_factory_finalize): invoke translate_notify independant from
11120         translate_data.
11121         (gtk_item_factory_set_translate_func): likewise.
11122         (gtk_item_factory_destroy): only remove ifactory pointer from those
11123         widgets that belong to us (stupid me).
11124
11125 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
11126
11127         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
11128         rc_style list when lookup succeeeds.
11129
11130 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
11131
11132         * gtk/gtkctree.c (resync_selection): 
11133         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
11134         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
11135         bug.
11136
11137 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
11138
11139         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
11140         Add some missing GDK_THREADS_ENTER()/LEAVE around
11141         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
11142
11143 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
11144
11145         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
11146         rather than emit_by_name.
11147
11148         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
11149         on the widget across multiple signal emissions.
11150         (gtk_editable_delete_text): same here.
11151         (gtk_editable_class_init): set widget_class->activate_signal after
11152         editable_signals[ACTIVATE] has been created.
11153
11154 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
11155
11156         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
11157         position here prematurely -- we might not have the
11158         right ->min_position and ->max_position yet.
11159
11160 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
11161
11162         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
11163         Add error traps so if the other end of the connection
11164         dies, we survive.
11165
11166         * gtk/gtkselection.c (gtk_selection_notify): Clean
11167         up properly when selection property retrieval fails.
11168         
11169         * gtk/gtkselection.c (gtk_selection_request): Correctly
11170         reject SelectionRequest notifies where the handler
11171         returns no data.
11172
11173 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
11174
11175         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
11176         when we've previously highlighted.
11177
11178         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
11179         emit two "drag_leave" signals for Motif drops.
11180
11181         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
11182         back the correct status messages when dropping from
11183         Motif onto a proxy window that is rejecting the
11184         drop.
11185
11186 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
11187
11188         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
11189         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
11190         to compare two argument values. added gtk_arg_to_valueloc() to set a
11191         variable from an arg through its location (pointer).
11192
11193         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
11194         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
11195         as gfloat*, uchars are collected as guchar*, ints are collected as
11196         gint*, etc...
11197
11198 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
11199
11200         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
11201         Include <string.h> instead of <strings.h>.
11202
11203         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
11204         (actually, a lot more duplicate includes occur if
11205          you trace through the sequence of #include's)
11206         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
11207         
11208 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
11209
11210         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
11211         gtk-a-higuti-990322-[0-3]
11212
11213         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
11214         that was causing -DX_LOCALE not to work.
11215
11216         * gtk/gtkrc.c (gtk_rc_init):
11217         X_LOCALE will never have LC_MESSAGES defined
11218
11219 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
11220
11221         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
11222         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
11223
11224         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
11225         left/right as well (gtk-michael-980726-0.patch.gz).
11226
11227         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
11228         for pointer values, use gchar instead of char. fixed uline allocation
11229         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
11230         chunks instead of G_ALLOC_ONLY.
11231         (gtk_label_size_request): always alter requisition as passed and leave
11232         widget->requisition alone.
11233         (gtk_label_set_text): allow NULL strings.
11234         (gtk_label_new): likewise.
11235
11236 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
11237
11238         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
11239
11240 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
11241
11242         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
11243         *and* mapped (i.e. drawable).
11244         (gtk_bin_expose): only send exposes to drawable children.
11245
11246         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
11247         (gtk_box_expose): only send exposes to drawable children.
11248
11249         * gtk/gtkhscale.c (gtk_hscale_draw): 
11250         * gtk/gtkvscale.c (gtk_vscale_draw):
11251         hm, this is an ugly one. we first compute the size of our trough area
11252         here (window relative) and then check intersection with the draw_area
11253         which is parent relative because we're a NO_WINDOW widget, so we need
11254         to offset the trough area by allocation.x and allocation.y before the
11255         check. (this must not be done for the background area though, since
11256         that's already computed parent relative).
11257
11258 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
11259
11260         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
11261         unrealize title buttons.
11262
11263 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
11264
11265         * gtk/gtkclist.c (gtk_clist_column_title_passive)
11266         (gtk_clist_column_title_active): 
11267         only connect/disconnect to GtkWidgetClass::event to block mouse events.
11268
11269         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
11270         zero initialize event, removed superfluous gdk_window_get_pointer call
11271
11272         * gtk/gtklist.c (gtk_list_vertical_timeout)
11273         (gtk_list_horizontal_timeout): removed superfluous
11274         gdk_window_get_pointer call
11275
11276 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
11277
11278         * plugging problems reported by "Bruce Mitchener, Jr."
11279         <bruce@puremagic.com> due to a purify session.
11280
11281         * gtk/gtkstyle.c:
11282         (gtk_style_ref): 
11283         (gtk_style_unref): assert ref_count to be > 0.
11284
11285         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
11286         the requisition.
11287         (gtk_clist_set_shift): likewise.
11288
11289         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
11290         adjustments.
11291
11292         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
11293         event before sending it and set send_event to TRUE (which needs to
11294         be done for *all* synthesized events).
11295         (gtk_list_vertical_timeout): likewise.
11296
11297         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
11298         leaks.
11299
11300         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
11301         to TRUE when synthesizing events.
11302
11303 [ *** end of merges from 1.2 *** ]      
11304         
11305 1999-11-21  Tor Lillqvist  <tml@iki.fi>
11306
11307         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
11308         (or copied from gdkconfig.h.win32 on Win32, sigh).
11309
11310         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
11311
11312         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
11313
11314         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
11315
11316         * gdk/gdkconfig.h.win32: New file.
11317
11318         * gdk/win32/makefile.cygwin: Build just a static archive here.
11319
11320         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
11321         for the DLL from the static archive built above.
11322
11323         * gdk/gdk.def: Moved here from the win32 subdirectory.
11324
11325         * gdk/win32/*: Adapt for the changed private struct organisation.
11326
11327         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
11328
11329 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
11330
11331         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
11332         for wheel mice (buttons 4 and 5).
11333
11334 1999-11-18  Tor Lillqvist  <tml@iki.fi>
11335
11336         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
11337         drawables use just the pixel field in the foreground and
11338         background GdkColor of the GdkGC.
11339
11340         gdk_gc_set_{fore,back}ground() are called in the GIMP with
11341         GdkColors containing uninitialized (red,green,blue) fields, and
11342         just the pixel field filled in, and furthermore in the
11343         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
11344         It thus turns out that we really don't need to have the full
11345         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
11346         it later to have just the pixel values.
11347
11348 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
11349
11350         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
11351
11352 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
11353
11354         * docs/gtkfaq.sgml: threads example from Erik Mouw.
11355         New question on GtkLabel background colors.
11356
11357         * docs/gtk_tut.sgml:
11358           - Correct the example code callback
11359             function definitions.
11360           - Update the gtkdial example code, from Frans van Schaik.
11361           - Update setselection.c to current API.
11362
11363         * examples/Makefile examples/*/*.c: Update to code
11364         listed in tutorial.
11365
11366 1999-11-10  Tor Lillqvist  <tml@iki.fi>
11367
11368         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
11369         subrange table (from the "Developing International Software for
11370         WIndows 95 and Windows NT" book) was missing the Hangul syllable
11371         block... Get the loaded font's charset correctly.
11372
11373         (Note that this, and the other *-win32.c files, still really are
11374         the old ones, the win32 subdirectory is not ready for compilation
11375         yet after the reorg.)
11376
11377 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
11378
11379         * gtk/gtkclist.c: Fix off-by-one bug in parameter
11380         check.
11381
11382 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
11383
11384         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
11385         on results of XQueryDeviceState().
11386
11387 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
11388
11389         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
11390         we need to accesss only ->children. We need an accessor
11391         for the children.
11392
11393         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
11394         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
11395         to get rid of gdkx.h include.
11396         
11397         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
11398         and random references to 'None'.
11399
11400         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
11401         Get rid of unused #include <gdk/gdkx.h>
11402
11403         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
11404         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
11405         gdkconfig.h.
11406
11407 1999-11-08  Tor Lillqvist  <tml@iki.fi>
11408
11409         * gdk/win32/gdkdraw.c
11410         * gdk/win32/gdkfont.c
11411         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
11412         following yesterday's changes. (Unrelated to Owen's reorg.)
11413
11414 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
11415
11416         * gdk/x11/gdkinput-gxi.c: Add missing include,
11417           fix GdkWindowPrivate => GdkDrawablePrivate.
11418
11419         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
11420
11421         * gdk/x11/Makefile.am (xinput_sources): Add missing
11422         backslash to fix building with --with-xinput=none
11423
11424 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
11425
11426         Move all X specific code into the x11/ directory.
11427         Aside from shuffling things around, did the following:
11428
11429        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
11430          gdk_arg_context_* - a simple argument parsing system
11431          in the style of popt.
11432
11433        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
11434          gdk/x11/gdkprivate-x11.h:
11435          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
11436          add ->klass and ->klass_data fields. The klass_data
11437          field points to an auxilliary structure that is
11438          windowing system dependent.
11439
11440        * gdk/gdkfont.c: Make most of the measurement functions
11441          simply wrappers around gdk_text_extents().
11442
11443        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
11444          _gdk_font_strlen() function that hides the weird
11445          behavior in gtk+-1.[02] where a string is interpreted
11446          differently for 8-bit and 16-bit fonts.
11447
11448        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
11449          to store common code for synthesizing double/triple
11450          press events.
11451         
11452        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
11453          Make all the function that modify an existing GC
11454          simply wrappers around gdk_gc_set_values().
11455          
11456        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
11457          for throwing out later.
11458
11459        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
11460          GdkImagePrivate and GdkColormapPrivate to have a
11461          windowing system dependent part (GdkFontPrivateX etc.)
11462          that "derives" from the system-independent part.
11463
11464        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
11465          Got rid of the included-source-files for XInput in
11466          favor of automake conditionals. (Which didn't exist
11467          when XInput support was originally added.)
11468
11469        * gdk/gdkrgb.c: Remove the visual id from the debugging
11470          statements since that is X11 specific; print out
11471          type/depth info instead.
11472          
11473
11474 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
11475
11476         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
11477         loading duplicates of hashed fonts.
11478
11479         * gdk/gdk.c (gdk_keysym_convert_case): rename
11480         gdk_XConvertCase to gdk_keysym_convert_case, allow
11481         results to be NULL in the GTK+ style.
11482
11483         * gdk/gdkcompat.h: Started compatibility header
11484         for renames.
11485
11486 1999-11-07  Tor Lillqvist  <tml@iki.fi>
11487
11488         * gdk/win32/gdkprivate.h: New font private structures, related to
11489         fontsets.
11490
11491         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
11492         gdk_font_list_free(). On X11, will just be wrappers to
11493         XListFonts() and XFreeFontNames(). On Win32, the code previously
11494         in gtkfontsel.c is now here.
11495
11496         New function gdk_font_xlfd_create(). On X11 will get the FONT
11497         property of the font (for GDK_FONT_FONTs), or call
11498         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
11499         builds a XLFD style name from the font information in the LOGFONT
11500         struct(s).
11501
11502         New function gdk_font_xlfd_free(), which correspondingly frees the
11503         string returned by gdk_font_xlfd_create().
11504
11505         Implement fontsets on Win32. Add a function that iterates over a
11506         wide char string and calls a callback function for each substring
11507         of wide chars from the same Unicode subrange (and thus probably
11508         available in the same real font).
11509
11510         Improve the XLFD emulation a bit.
11511
11512         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
11513
11514         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
11515         Beta3, WM_IME_CHAR messages don't seem to contain the composed
11516         multi-byte char as with the Active IMM on Win9x. Oh well, handle
11517         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
11518         ImmGetCompositionStringW() to get the composed Unicode chars.
11519
11520         * gdk/win32/gdkgc.c
11521         * gdk/win32/gdkdraw.c: Changes needed because of the font private
11522         struct changes.
11523
11524         * gdk/win32/gdk.def: Add the new functions.
11525
11526 1999-11-04  Tor Lillqvist  <tml@iki.fi>
11527
11528         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
11529         get the Platform SDK to get <dimm.h>.
11530
11531         * gdk/win32/gdkevents.c: More event handling fixes and
11532         simplification. Never generate motion events with is_hint true. We
11533         used to do that on bogus grounds earlier. Windows sends
11534         WM_MOUSEMOVE messages on button events even if the mouse hasn't
11535         moved, ignore these.
11536
11537         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
11538
11539         * gdk/win32/gdkglobals.c
11540         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
11541         the TrackMouseEvent function, and use it.
11542
11543         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
11544         char before calling WideCharToMultiByte in order to get a string
11545         for the window title.
11546
11547         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
11548
11549         * gdk/win32/gdk.def: Remove obsolete functions.
11550
11551         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
11552         /nodefaultlib and /defaultlib switches.
11553
11554         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
11555
11556 1999-10-31  Tor Lillqvist  <tml@iki.fi>
11557
11558         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
11559         EuroSign).
11560
11561         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
11562         same type as GdkWChar, especially on Win32.
11563
11564         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
11565
11566         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
11567         before passing to Windows GDI for drawing etc. Convert to the
11568         system default codepage before passing to Windows as window
11569         titles.
11570
11571         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
11572         support changing input locale on the fly.
11573
11574         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
11575         on-the-fly changes. Convert incoming characters from the current
11576         codepage to Unicode (and then to a UTF-8 multi-byte string) based
11577         on the current input language. Use keysym<->Unicode mapping tables
11578         and functions borrowed from xterm sources.
11579
11580         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
11581         editions of Win9x, use the ActiveX-based Active IMM (Input Method
11582         Manager) if available. IMEs and the Active IMM are available under
11583         the disguise of Chinese, Korean and Japanese support for IE and
11584         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
11585         support is present in all editions (as long as you install it).
11586
11587         Call DispatchMessage from gdk_events_queue() (and thus
11588         gdk_WindowProc()), instead of duplicating the code in
11589         gdk_WindowProc().
11590
11591         Reworked the grab handling and propagation code, factored out
11592         duplicated code snippets into separate functions. Other cleanups,
11593         too.
11594
11595         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
11596         the <dimm.h> header describing the Active IMM.
11597
11598         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
11599         just do the same as for "single" fonts.
11600
11601         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
11602         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
11603         the new keysyms from gdkkeysyms.h.
11604
11605         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
11606         fontset, so that gtkentry uses wide characters.
11607
11608         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
11609         GTk+'s system directory "gtk+", not "gtk".
11610
11611 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
11612
11613         * docs/gtkfaq.sgml: FAQ update
11614
11615 1999-10-21  Tor Lillqvist  <tml@iki.fi>
11616
11617         * gdk/win32/gdkprivate.h: Add more font private data.
11618
11619         * gdk/win32/gdkfont.c
11620         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
11621         fonts and strings. Now works much better. You still have to
11622         have a correct font selected, though. No fontset emulation yet.
11623
11624 1999-10-19  Tor Lillqvist  <tml@iki.fi>
11625
11626         * gtk/maketypes.awk: Use G_OS_WIN32.
11627
11628         * gtk/gtk.def: Add some missing entry points. Also some non-public
11629         ones, but PyGTK porter claims to need them.
11630
11631         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
11632         built-in type generation.
11633
11634 1999-10-14  Tor Lillqvist  <tml@iki.fi>
11635
11636         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
11637         GDK_FONT_FONT fonts (which is all we have for now, we don't
11638         emulate fontsets). The X11 version uses plain XDrawString in that
11639         case, too. The string passed to gdk_draw_text_wc seems to be in
11640         fact (at least, when used by gtkentry and gtktext) either in a
11641         single-byte charset, or a DBCS. Not Unicode.
11642
11643         This fixes the problem in gtkfontsel, where even if you had
11644         selected a font with a non-Latin1 charset (windows-greek, for
11645         instance), the preview still used Latin-1 glyphs.
11646
11647         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
11648         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
11649         (gdk_font_load): Recognize the demibold etc weights, even if we
11650         don't have the corresponding constants in the headers.
11651         (gdk_font_hash_insert): Use same hash mechanism as in the X11
11652         version. Should save font resources a bit, when we don't have
11653         multiple HFONTs for the same font.
11654
11655         * gdk/win32/gdkprivate.h: Add the names field as in the X11
11656         version.
11657
11658 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
11659
11660         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
11661         X values
11662
11663 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
11664
11665         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
11666         layout support (as mentioned on
11667         http://www.jcinteractive.com/gnome-ui/software/widgets/)
11668
11669 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
11670
11671         * gtk/fnmatch.c
11672         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
11673
11674 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
11675
11676         * configure.in (ALL_LINGUAS): Added Galician (gl)
11677
11678 1999-10-05  Tor Lillqvist  <tml@iki.fi>
11679
11680         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
11681
11682         * gdk/win32/gdkcompat.c: New file, actually provide an
11683         implementation for the deprecated functions. (Just temporarily.)
11684
11685         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
11686
11687         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
11688
11689         * gdk/win32/gdk.def gtk/gtk.def: Updates.
11690
11691 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
11692
11693         * configure.in: Added "uk" to ALL_LINGUAS.
11694         
11695 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
11696
11697         * configure.in: correct checking for BeOS check
11698
11699         * gdk/gdktypes.h
11700         * gtk/fnmatch.c
11701         * gtk/gtkfilesel.c
11702         * gtk/gtkitemfactory.c
11703         * gtk/gtkmain.[ch]
11704         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
11705
11706 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
11707
11708         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
11709         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
11710         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
11711         by Bulgarian). 
11712
11713 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
11714
11715         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
11716         Fix a reference to window_private->destroyed.   
11717
11718         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
11719         (ugly) setting of an internal GdkWindow member to use
11720         a _slightly_ cleaner macro.
11721
11722         * gdk/gdkprivate.h: Split GdkWindowPrivate into
11723         GdkDrawablePrivate and GdkWindowPrivate.
11724         Add extra macros for accessing GDK_DRAWABLE_ components.
11725
11726         * *.[ch]: Massive adjustments for the above, use the
11727         new macros in a lot of places.
11728
11729 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
11730
11731         * gdk/gdktypes.h: Make GdkDrawable the base type,
11732         not GdkWindow.
11733
11734 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
11735
11736         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
11737
11738 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
11739
11740         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
11741
11742 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
11743
11744         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
11745         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
11746
11747         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
11748
11749         * docs/gtk-config.1: Now autogenerated.
11750         * docs/Changes-1.4.txt: started
11751         
11752 1999-10-03  Tor Lillqvist  <tml@iki.fi>
11753
11754         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
11755         to #ifdef also here.
11756
11757         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
11758         Owen did to the X11 backend.
11759
11760         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
11761         ScrollWindowEx when blitting inside a window, it can't be correct
11762         in the general case.
11763
11764         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
11765         WM_GETMINMAXINFO is easier.
11766
11767         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
11768         depth equal to the bitspixel value, not the visual's depth.
11769
11770         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
11771         to 24 even if the bitspixel value is 32.
11772
11773         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
11774         need to check for depth==32 when bpp==32, depth will always be 24.
11775
11776 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
11777
11778         * docs/Changes-1.4.txt: Started
11779         
11780         * gtk/Makefile.am (gdk_headers): Include all the new headers.
11781
11782         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
11783         
11784         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
11785         into C file.
11786         
11787         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
11788         header to gdkinputprivate.h.
11789
11790         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
11791         unused since before 1.2.
11792
11793 1999-09-30  Tor Lillqvist  <tml@iki.fi>
11794
11795         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
11796         expand possible hex escapes in the font family (put there by
11797         logfont_to_xlfd if the font name isn't a legal XLFD font family,
11798         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
11799         On Win32, add hex escapes here, too.
11800
11801 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
11802
11803         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
11804         to #ifdef GDK_WINDOWING_X11.
11805
11806 [ Merges from gtk-1-2 ]
11807
11808 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
11809
11810         * configure.in: fixed "GNU Make" check to pass with new make version
11811         3.77.95.
11812
11813 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
11814
11815         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
11816         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
11817         AM_PATH_GTK() macros don't get confused by the -pre1.
11818
11819 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
11820
11821         * configure.in (REBUILD): Change check for perl5
11822           to check explicitely for v >= 5.002. (5.001
11823           does not work with our scripts.)
11824
11825 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
11826
11827         * configure.in: evaluate $PERL for the perl version check. added
11828         --disable-rebuilds to give the user an option to completely disable
11829         any source autogeneration rules.
11830
11831 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
11832
11833         * configure.in: evaluate $ac_make when checking for GNU Make.
11834
11835 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
11836
11837         * docs/Makefile.am: added generation.txt.
11838
11839         * Makefile.am: require automake 1.4, build README from README.in and
11840         INSTALL from INSTALL.in in dist-hook.
11841         
11842         * README.in:
11843         * INSTALL.in: new files to autogenerate README and INSTALL from.
11844
11845         * configure.in: figure whether we have GNU Make
11846
11847         * docs/generation.txt: minor additions/corrections.
11848
11849 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
11850
11851         * docs/gtkfaq.sgml: FAQ Update
11852
11853 July 30, 1999 Elliot Lee <sopwith@redhat.com>
11854         
11855         * configure.in: Fix autoconf warnings about cross compilation by
11856         trying to provide sane defaults for AC_TRY_RUN.
11857
11858 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
11859
11860         * ltconfig
11861         * ltmain.sh: upgrade to libtool 1.3.3
11862
11863 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
11864
11865         * INSTALL: Indicate that the --with-glib= configure
11866         time flag is unsupported.
11867
11868 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
11869
11870         * docs/generation.txt: Added a file that gives
11871         documenation about the autogeneration process for
11872         various autogenerated files.
11873         
11874 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
11875
11876         * configure.in (LIBS): Look for libgmodule in the
11877         right location.
11878
11879 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
11880
11881         * docs/gtk_tut.sgml: Removed references to
11882         code examples in my directory on gtk.org as
11883         they should all be in the tutorial now.
11884
11885         * docs/gtk_tut.sgml: Added sources for dial-test
11886         and scribble-xinput programs that were previously
11887         missing.
11888
11889 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
11890
11891         * TODO: Added entry about menu keyboard navigation, removed
11892         some finished items.
11893
11894 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
11895
11896         * acinclude.m4: Standardize on func_dgettext
11897         not func_gettext, so that the checks for dgettext
11898         actually are paid attention to.
11899
11900 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
11901
11902         * configure.in (LIBS): Add $INTLLIBS into $LIBS
11903         directly, rather than repeating the checks for
11904         gettext.
11905
11906         * INSTALL: Added information about gettext and
11907         NLS support.
11908
11909         * acinclude.m4 (LIBM): Check for dgettext, not
11910         just gettext. This should hopefully fix things wrt
11911         systems with old versions of GNU gettext installed.
11912
11913 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
11914
11915         * configure.in (LIBS): Look for libgmodule in the
11916         right location.
11917
11918 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
11919
11920         * autogen.sh: add --enable-maintainer-mode
11921
11922         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
11923
11924 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
11925
11926         * docs/gtk-config.1.in:
11927           docs/Makefile.am:
11928           configure.in: gtk-config is now generated.
11929
11930         * docs/gtk-config.1: Removed, now generated.
11931
11932 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
11933
11934         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
11935         handle CreateNotify itself, still put out a debuging message for
11936         --gdk-debug=events. made the ReparentNotify debugging message more
11937         verbose.
11938         wrap xcoords translation for ConfigureEvents into an error trap,
11939         a destroy event may already be pending, and in that case, the
11940         actuall coordinate values are not at all critical.
11941
11942 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
11943
11944         * gdk/gdkcc.c: Stop leaking the color_hash all over
11945         the place. Simplify and improve the logic.
11946
11947 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
11948
11949         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
11950         for prototypes and function implementations consistent (reported
11951         by Tomas Ogren).
11952
11953 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
11954
11955         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
11956         send_event set in debugging output.
11957         (gdk_compress_exposures): default initialize the event so we don't
11958         operate on bogus values (namely send_event).
11959
11960 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
11961
11962         * gdk/gdkwindow.c: When we receive an unexpected
11963         destroy notify on one of our windows, don't just
11964         warn about it, also mark our windows as destroyed.
11965
11966 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
11967
11968         * gdk/gdkfont.c (gdk_font_hash_insert): Add
11969           name => font and name => fontset hashes. The 
11970           name => fontset hash is a _big_ win since we
11971           weren't previously caching fontsets at all and loading
11972           fontsets is expensive. The name => font hash
11973           is less of a win, but it does save us from doing
11974           repeated XQueryFont calls on the same font.
11975
11976         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
11977           list so we can remove font/fontset from hash.
11978
11979 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
11980
11981         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
11982           and slightly confusing test. [ XInternAtom (,,TRUE)
11983           will never return None ].
11984
11985 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
11986
11987         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
11988           gdk/gdkwindow.c (gdk_window_set_hints):
11989
11990         Don't omit setting the properties if flags == 0 -
11991         there may be an existing set of properties there
11992         already. (Very old bug. Would it be better to
11993         delete the property instead?)
11994
11995         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
11996           spelling error in comment.
11997
11998 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
11999
12000         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
12001           to avoid stomping over gdk_error_warnings.
12002
12003         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
12004           as (bits_per_pixel + 7) / 8. This gives the same
12005           result as before for multiples of 8, but actually
12006           a "reasonable" value for 1bit or 4bit displays.
12007
12008 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12009
12010         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
12011         GNU Make.
12012
12013 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
12014
12015         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
12016         discarding configure events.
12017
12018 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
12019
12020         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
12021         refcount is greater than zero.
12022
12023         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
12024
12025         * gdk/gdkfont.c (gdk_font_unref): Likewise.
12026
12027         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
12028
12029         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
12030
12031 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
12032
12033         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
12034         that format 32 => sizeof(item) == 4. It really is
12035         sizeof(long).
12036
12037 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
12038
12039         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
12040         core dump at all on X IO errors, only core dump
12041         if --enable-debug for X errors.
12042
12043 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
12044
12045         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
12046         unknown window:" message. disabled ConfigureNotify discarding code,
12047         because it led to events being processed out of order.
12048
12049 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
12050
12051         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
12052
12053         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
12054         we export this function, supress error warnings and don't reset the
12055         error code in the first half of this function.
12056
12057         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
12058         code (instead of just -1) so gdk_error_trap_pop() reveals something
12059         actually informative about the error that happened.
12060
12061         * gdk/*.c:
12062         don't rely on gdk_error_code being -1 if an error occoured, but just
12063         gdk_error_code != 0.
12064
12065 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
12066
12067         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
12068         pointer *before* invoking the filter function, so we at least don't
12069         crash if a filter is removed that is currently executed. window filters
12070         *really* need to be made truely reentrant at some point.
12071
12072 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
12073
12074         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
12075         PropertyNotify debug messages.
12076
12077 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
12078         
12079         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
12080         
12081         * gdk/gdkim.c: Fix cut-and-paste errors for 
12082         x/y and PreeditAttributes/StatusAttributes.
12083
12084 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12085
12086         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
12087         G_MAXINT to 2^16 to alleviate overflow problems in
12088         various window managers.
12089
12090 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
12091
12092         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
12093         for fontsets.
12094
12095 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
12096
12097         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
12098         Initialize size_hints.x and size_hints.y because kwm
12099         brokenly pays attention to them.
12100         (Bug #1181 -  Lars Heete <hel@admin.de>)
12101
12102 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
12103
12104         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
12105         return value of gdk_list_visuals(). 
12106         (Bug #1193 - Morten Welinder <terra@diku.dk>)
12107
12108 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
12109
12110         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
12111         XSetIMValues to (void *) when comparing to NULL, to workaround
12112         the problem of some compilers barfing since older X headers don't
12113         have the prototype for it.
12114
12115 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
12116
12117         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
12118         for pseudocolor where colormap->colors was double
12119         allocated.
12120
12121         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
12122         color value in the hash table with the pixel filled
12123         in so when we do later hash table lookups, the color
12124         value is correct.
12125         
12126 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
12127
12128         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
12129         making the call
12130
12131 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
12132
12133         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
12134         pointed out by Morten Welinder <terra@diku.dk>.
12135
12136 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
12137
12138         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
12139           default filter from the list
12140
12141 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
12142
12143         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
12144           default filter from the list
12145
12146 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
12147
12148         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
12149
12150         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
12151         g_strdup_printf instead of calcing the length separately
12152
12153 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
12154
12155         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
12156         that we don't do in many other places. (Fixing duplicate 
12157         #include of config.h)
12158
12159         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
12160         Otherwise, #ifndef XINPUT_NONE check in the latter
12161         doesn't work. (Bug #546)
12162
12163 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
12164
12165         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
12166         "None" case insensitive.
12167
12168 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
12169
12170         * gdk/gdkselection.c: 
12171         Add error traps so if the other end of the connection
12172         dies, we survive.
12173
12174 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12175
12176         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
12177         dest_xid field into two fields - one for the window
12178         to send in messages, one to indicate the last looked
12179         up window for caching purposes. This is needed, so
12180         that Leave messages get the correct window.
12181
12182 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
12183
12184         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
12185         Fix warning created by people mucking around
12186         with the gsource API.
12187
12188         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
12189         Change mapping between GIOCondition and GdkInputCondition
12190         to match the way the Linux kernel does it. This should
12191         fix problems where closed pipes were no longer signalling
12192         GDK_INPUT_READ on systems with a native poll().
12193
12194 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
12195
12196         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
12197         explicitly for the string "None" - it is in the XPM
12198         spec and some servers treat unknown colors in odd ways
12199         (like asking the user!)
12200
12201 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
12202
12203         * gdk/gdkevents.c: made "->" into a "." of previous change so
12204         it compiles
12205
12206 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
12207
12208         * gdk/gdkevents.c (gdk_compress_exposures): Set the
12209         window field of the event structure before calling
12210         user filters.
12211
12212 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
12213
12214         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
12215         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
12216
12217 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
12218
12219         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
12220         intermediate text property - prevents major memory
12221         leak when gdk_use_mb.
12222         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
12223
12224 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
12225
12226         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
12227         gtk-a-higuti-990322-[0-3]
12228
12229         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
12230         sizeof(wchar_t) != sizeof (GdkWChar)
12231
12232         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
12233         that was causing -DX_LOCALE not to work.
12234
12235         * gtk/gtkrc.c (gtk_rc_init):
12236         X_LOCALE will never have LC_MESSAGES defined
12237
12238         * gdk/gdk.c (gdk_init_check):
12239         Remove --xim-preedit and --xim-status from argv properly.
12240
12241         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
12242         that the client window is present on the X server
12243         before we pass it to the input method.
12244
12245 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
12246
12247         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
12248         if --display is specified on the command line, than
12249         the drag window will not be created on that display.
12250         
12251 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
12252
12253         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
12254         lookups with only_if_exists == TRUE were inserting
12255         bogus values into the atom cache.
12256
12257 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
12258
12259         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
12260         then reset it to NULL.
12261
12262         * gdk/gdkcolor.c:
12263         (gdk_colors_free): 
12264         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
12265         key for g_hash_table_remove() in both functions, this prevents us
12266         from accessing possibly uninitialized portions of a GdkColor structure
12267         where we are only interested in its pixel value.
12268
12269 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
12270
12271         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
12272         font hash table, if we have a GdkFontPrivate entry for this font
12273         already, simply increment its reference count, provided by Olaf Dietsche
12274         <olaf.dietsche+list.gtk@netcologne.de>.
12275
12276 1999-09-21  Tor Lillqvist  <tml@iki.fi>
12277
12278         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
12279         just to be sure.
12280
12281         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
12282         unused variables, leftovers from the X11 version.
12283
12284         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
12285
12286         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
12287         downcase fields on X11.
12288
12289 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
12290         
12291         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
12292         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
12293
12294 1999-09-17  Tor Lillqvist  <tml@iki.fi>
12295
12296         * gdk/win32/gdk.def: Add gdk_threads_mutex.
12297
12298         * gtk/makefile.msc: Correct path to libintl.
12299
12300         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
12301         use of gint vs. int, and gint vs. gboolean in headers and
12302         definitions. Use GtkType for the *_get_type functions. Note that
12303         these changes preserve binary compatibility.
12304
12305         * gdk/gdk.c
12306         * gdk/win32/gdk.c
12307         * gdk/gdk.h: Fix inconsistencies: gint vs int.
12308
12309         * gtk/gtkmain.c
12310         * gtk/gtkclist.c
12311         * gtk/gtkmenufactory.c
12312         * gtk/gtknotebook.c
12313         * gtk/gtkwidget.c: Fix inconsistencies, also gint
12314         vs. gboolean.
12315
12316         * gtk/gtkcolorsel.[ch]
12317         * gtk/gtkcombo.[ch]
12318         * gtk/gtkdrawingarea.[ch]
12319         * gtk/gtkgamma.[ch]
12320         * gtk/gtkhandlebox.[ch]
12321         * gtk/gtkhpaned.[ch]
12322         * gtk/gtkhruler.[ch]
12323         * gtk/gtkplug.[ch]
12324         * gtk/gtkpreview.[ch]
12325         * gtk/gtkruler.[ch]
12326         * gtk/gtksocket.[ch]
12327         * gtk/gtkstatusbar.[ch]
12328         * gtk/gtktoolbar.[ch]
12329         * gtk/gtkvbbox.[ch]
12330         * gtk/gtkvpaned.[ch]
12331         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
12332         functions.
12333
12334         * gtk/gtkgamma.h: Fix bug, missing () in call of
12335         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
12336
12337 1999-09-14  Tor Lillqvist  <tml@iki.fi>
12338
12339         * gdk/gdkcolor.c (gdk_colormap_new)
12340         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
12341         colormap->colors was allocated twice.
12342
12343         * gdk/win32/gdk.c: Remove some unused stuff.
12344
12345         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
12346         colormap.
12347
12348         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
12349         * gtk/gtklabel.h (gtk_label_get_type)
12350         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
12351         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
12352         in a couple of places, not guint.
12353
12354 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
12355
12356         * configure.in,po/et.po: added Estonian language file
12357
12358 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
12359
12360         * configure.in,po/da.po: added Danish file
12361
12362 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
12363
12364         * docs/gtkfaq.sgml: Minor FAQ Update
12365
12366 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
12367
12368         * docs/gtkfaq.sgml: FAQ update
12369
12370 1999-08-27  Tor Lillqvist  <tml@iki.fi>
12371
12372         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
12373         way to get window contents continually refreshed while resizing. I
12374         didn't like the effects myself, so it's not on by default.
12375
12376         * gdk/win32/gdkprivate.h: New flag variable
12377         gdk_event_func_from_window_proc, FALSE by default.
12378
12379         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
12380         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
12381         are passed --gdk-event-func-from-window-proc.
12382
12383         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
12384         and we have am event_func, call it instead of enqueing the event.
12385
12386 1999-08-23  Tor Lillqvist  <tml@iki.fi>
12387
12388         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
12389         Kelley: Set expose_count in GdkEventExposes correctly.
12390
12391         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
12392         MULTIPLE_WINDOW_CLASSES).
12393
12394         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
12395         for bug in NT, apparently NT *does* draw the end pixel, too, in
12396         LineTo with a one-pixel pen, so we don't have to do it ourselves.
12397
12398 1999-08-21  Tor Lillqvist  <tml@iki.fi>
12399
12400         Improvements by Hans Breuer: 
12401
12402         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
12403
12404         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
12405         CS_?REDRAW flags as they cause lots of (late) redraws when "show
12406         window contents while dragging" is turned on. Allocate at least
12407         one unique class for every GdkWindowType. If support for single
12408         window-specific icons is ever needed (eg. Dialog specific), every
12409         such window should get its own class.
12410
12411 1999-08-19  Tor Lillqvist  <tml@iki.fi>
12412
12413         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
12414         error that caused crashes.
12415
12416 1999-08-17  Tor Lillqvist  <tml@iki.fi>
12417
12418         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
12419         window, use ScrollWindowEx, and call UpdateWindow. This prevents
12420         bugs when for instance part of the window was outside the
12421         display. Thanks to Philippe Colantoni for finding and fixing this.
12422
12423 1999-08-16  Tor Lillqvist  <tml@iki.fi>
12424
12425         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
12426         endpoint calculations which were totally wrong. (A little RTFMing
12427         helps a lot ;-)
12428
12429         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
12430         from a separate directory, not from gettext, because of licensing
12431         issues (we want to use the LGPL version).
12432
12433         * README.win32: Mention the intl from glibc vs from gettext issue.
12434
12435 1999-08-13  Tor Lillqvist  <tml@iki.fi>
12436
12437         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
12438         in the key event handling: Now AltGr chars work again. Also,
12439         now Alt-digits are passed up as well as Control-digits.
12440         Pass keypad plus and minus as normal plus and minus.
12441
12442 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
12443
12444         * docs/gtkfaq.sgml: FAQ Update
12445
12446 1999-07-25  Tor Lillqvist  <tml@iki.fi>
12447
12448         * README.win32
12449         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
12450         the Wintab SDK.
12451
12452         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
12453         OK, but getting closer. Guard against bogus tilt data from Wacom
12454         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
12455         enable easier building without Wintab.
12456
12457         * gdk/win32/gdkinput.h
12458         * gdk/win32/gdkevents.c 
12459         * gdk/win32/gdkwindow.c: Minor changes related related to above.
12460         
12461         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
12462         code. As we have just one visual on Win32, no sense to have it in a
12463         table, and no need for the hash table.
12464
12465         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
12466         better on white background.
12467
12468 1999-07-21  Tor Lillqvist  <tml@iki.fi>
12469
12470         * README.win32: Update gcc build instructions. Mention gettext is
12471         GPL.
12472
12473         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
12474         supported cursor size with GetSystemMetrics.
12475
12476         * gdk/win32/gdkfont.c
12477         * gtk/gtkfontsel.c: Guard against some font weight and charset
12478         symbols being undefined (in mingw32 headers).
12479
12480         * gdk/win32/makefile.cygwin
12481         * gtk/makefile.cygwin
12482         * gtk/gtkthemes.c: No longer need to have differently named
12483         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
12484
12485 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
12486
12487         * docs/gtkfaq.sgml: Long awaited FAQ update.
12488
12489 1999-07-15  Tor Lillqvist  <tml@iki.fi>
12490
12491         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
12492         it. Obscure bit manipulation needed.
12493
12494         * gdk/win32/gdkevents.c: Logging.
12495         
12496         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
12497         style (file name include compiler name) for theme engines.
12498
12499 1999-07-13  Tor Lillqvist  <tml@iki.fi>
12500
12501         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
12502
12503         * gdk/win32/gdkevents.c: Fix long-standing bug in key
12504         events. The key.string wasn't zero-terminated, still we strdup'ed
12505         it in gdk_event_copy(). Synthesize crossing events for button
12506         events before possible propagation.
12507
12508         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
12509
12510         * gdk/win32/makefile.cygwin
12511         * gtk/makefile.cygwin: Use new DLL naming style for the
12512         GCC-compiled ones.
12513
12514         * gdk/win32/makefile.msc
12515         * gtk/makefile.msc: Cosmetics mostly.
12516
12517         * gtk/gtk.def: Add missing entry points.
12518
12519         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
12520
12521 1999-07-09  Tor Lillqvist  <tml@iki.fi>
12522
12523         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
12524         or height is zero. Don't print a warning if Pie or Arc fails, they
12525         always fail (?) for very narrow ellipses.
12526
12527         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
12528         the part or the destination window corresponding to source area
12529         outside of the source drawable's boundary.
12530
12531         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
12532         anything if less than two points.
12533
12534         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
12535         return NULL. Gtk cut-and-paste inside a single program works
12536         better this way. (It always gets the clipboard contents from
12537         Windows, not from its own copy, which is cleared anyway. I can't
12538         say I fully understand what happens... Emulating the X selection
12539         and property stuff is a bit of a mess.)
12540
12541         * gdk/win32/gdkevents.c
12542         * gdk/win32/gdkproperty.c: A bit more verbose logging.
12543
12544         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
12545         that never got deleted). Revamp gdk_region_shrink.
12546
12547         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
12548         after use.
12549
12550         * gtk/gtk.def: Add some missing entry points.
12551
12552         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
12553         component.
12554
12555 1999-07-04  Tor Lillqvist  <tml@iki.fi>
12556
12557         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
12558         Control-digits specially.
12559
12560 1999-07-03  Tor Lillqvist  <tml@iki.fi>
12561
12562         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
12563
12564 1999-06-28  Tor Lillqvist  <tml@iki.fi>
12565
12566         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
12567         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
12568         finding this.)
12569
12570 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
12571
12572         * gtk+.spec.in: Corrected some typos in files section.
12573         
12574 1999-06-15  Tor Lillqvist  <tml@iki.fi>
12575
12576         * README.win32: Mention using GNU gettext.
12577         * config.h.win32: Enable NLS stuff.
12578         * gtk/makefile.msc: Use GNU gettext.
12579         * gdk/win32/gdkdnd.c: Minor header reorg.
12580         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
12581         cosmetics.
12582         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
12583         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
12584
12585 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
12586
12587         * acinclude.m4
12588         * config.guess
12589         * config.status
12590         * ltconfig
12591         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
12592
12593 1999-05-30  Tor Lillqvist  <tml@iki.fi>
12594
12595         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
12596         SafeAdjustWindowRectEx. Don't override all calls to
12597         AdjustWindowRectEx by it, but use it only in two places: When
12598         creating a new top-level window and when moving a top-level
12599         window.
12600
12601         Use screen coordinate rectangle, not client rectangle, in
12602         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
12603         when we try to place a window so that the decoration (mainly,
12604         title bar) isn't visible.
12605
12606         These changes fix the bug that showed up for instance as the
12607         GIMP's saved top-level windows moving right and down (by an amount
12608         equal to the window decoration) for each session. This bug showed
12609         up also in testgtk's "Saved Position".
12610
12611         gdk_window_resize also redone a bit.
12612
12613 1999-05-25  Tor Lillqvist  <tml@iki.fi>
12614
12615         * gtk/testgtkrc: Add (commented out) Windows-style theme
12616         include line.
12617
12618         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
12619
12620 1999-05-18  Tor Lillqvist  <tml@iki.fi>
12621
12622         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
12623         gdkx.h to a gdk subdirectory, so that applications can include
12624         these with <gdk/*.h> without trouble.
12625
12626         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
12627         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
12628         have their bitmap destroyed.
12629
12630         * gdk/win32/gdk.def: Add gdk_root_parent.
12631
12632 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
12633
12634         * configure.in
12635           gtk-config.in
12636           ltconfig
12637           ltmain.sh     
12638           gtk/Makefile.am: changes to compile nicely (with xlib) 
12639           on BeOS
12640
12641 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
12642
12643         * acinclude.m4
12644         * config.guess
12645         * config.sub
12646         * ltconfig
12647         * ltmain.sh: upgrade to libtool 1.3
12648
12649 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
12650
12651         * gtk/gtkclist.c:
12652         * gtk/gtkctree.c: merges from gtk-1-2
12653
12654 1999-04-25  Tor Lillqvist  <tml@iki.fi>
12655
12656         Support added for building using a GNU toolchain on Win32,
12657         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
12658
12659         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
12660         * config.h.win32: Changes for gcc.
12661         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
12662         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
12663         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
12664         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
12665         Protect shl stuff unavaiilable with mingw32 headers.
12666         * gdk/win32/gdkevents.c: Fix typo.
12667         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
12668         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
12669         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
12670         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
12671         the mingw32 headers.
12672         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
12673         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
12674         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
12675         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
12676         Test for NATIVE_WIN32, not _MSC_VER.
12677         * gtk/gtkmain.c: No use warning about developer version on Win32,
12678         there aren't any non-developer versions anyhow.
12679         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
12680         * gtk/makefile.msc: Use pthread from another directory. Minor other
12681         changes. 
12682
12683 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
12684
12685         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
12686           default filter from the list
12687
12688 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
12689
12690         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
12691          when gtk_widget_grab_default() is called for a widget that
12692          is not within a GtkWindow.
12693
12694 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
12695
12696         * docs/gtk_tut.sgml, examples/clist.c: use a
12697           scrolled window in the clist example. Minor
12698           tutorial fixes.
12699
12700 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
12701
12702         * docs/gtk_tut.sgml: Style check from David King
12703           <dking@youvegotmail.net>
12704
12705 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
12706
12707         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
12708         compile with unknown value of GDK_WINDOWING
12709
12710 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
12711
12712         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
12713         after the rule is fired.
12714         (install-exec-local): Install gdkconfig.h only if the contents are
12715         different from the currently installed gdkconfig.h.
12716
12717 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
12718
12719         * gdk/Makefile.am (configexecincludedir): Rename from 
12720         configincludedir so that gdkconfig.h will be installed 
12721         as part of `make install-exec'. 
12722
12723 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
12724
12725         * acinclude.m4
12726         * config.guess
12727         * config.sub
12728         * ltconfig
12729         * ltmain.sh: upgrade to libtool 1.2f
12730
12731         * autogen.sh: libtool is not required to autogen gtk+
12732
12733         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
12734         needed)
12735
12736 1999-03-18  Tor Lillqvist  <tml@iki.fi>
12737
12738         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
12739         declaring gdk variables exported/imported from the DLL. New image
12740         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
12741         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
12742         GDK_DRAG_PROTO_OLE2.
12743
12744         * gdk/gdk.h: Merge in Win32 version: Two new functions,
12745         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
12746         declared only for the Win32 version, but could be in the X11
12747         version as well. (Needed for a Xlib-less gdk_imlib.)
12748         gdk_color_hash should have only one parameter. Declare
12749         gdk_threads_mutex with GDKVAR.
12750         
12751         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
12752         just one parameter.
12753
12754         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
12755         per pixel, not bits.
12756
12757         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
12758         Fetch bpp (which means bits-per-pixel here) from another place on
12759         Win32. Accept also depth==32 (which we might get on Win32) with
12760         bpp==32.
12761
12762         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
12763         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
12764         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
12765         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
12766         in the backend-dependent directory, not in the common gdk
12767         directory.
12768
12769         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
12770         headers.
12771
12772 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
12773
12774         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
12775         want to use the Gtk+ devel version (which is true, and yes - even i am
12776         currently working with the 1.2.x branch). so everyone reading this, you
12777         probably want to issue
12778         cvs checkout -r glib-1-2 glib
12779         and
12780         cvs checkout -r gtk-1-2 gtk+
12781         as your next two comands.
12782
12783 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
12784
12785         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
12786         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
12787
12788         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
12789         file. strongly deprecated the GTK_HAVE_* macros, we provide
12790         GTK_CHECK_VERSION() for people that need to check for certain
12791         Gtk+ versions.
12792
12793         * gtk/gtkcompat.h: removed this from CVS.
12794         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
12795         idea right from the start, it just didn't seem like that back then.
12796
12797 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
12798
12799         * merges from gtk-1-2:
12800
12801 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
12802
12803         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
12804         item factory class has been created.
12805         (gtk_item_factory_parse_rc): likewise.
12806
12807         * gtk/gtkmenu.c:
12808         keep proper references for old_active_menu_item.
12809         (gtk_menu_reparent): unset the usize of the new parent,
12810         so the menu can sanely be size requested and we don't get nasty screen
12811         artefacts upon next reparentation.
12812         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
12813         enter notify. only synthesize enter notifies if the pointer really is
12814         inside the event window.
12815         (gtk_menu_popdown): use gtk_menu_shell_deselect().
12816         (gtk_menu_popup): move the background setting stuff into
12817         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
12818
12819         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
12820         gtk_menu_shell_select_item() to select the new item.
12821         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
12822         do the right thing for deselection as well.
12823
12824 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
12825
12826         * gtk/gtkwidget.[hc]:
12827         (gtk_widget_accelerators_locked): return whether a widget's accelerators
12828         are locked.
12829
12830         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
12831         existing accelerators if the widget's accelerators are locked.
12832
12833 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
12834
12835         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
12836
12837         * gtk/gtkmenu.c: truely forward key press and key release events to
12838         the menu widget from the toplevel or tearoff window. we can't simply
12839         connect to that, we need to stop further processing of the events as
12840         well.
12841
12842 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
12843
12844         * gtk/gtkmenu.c:
12845         (gtk_menu_key_press): pass event->keyval, event->state to
12846         gtk_accelerator_valid, instead of event->keyval twice.
12847         refuse to install single letter accelerators for menus that use
12848         single letter shortcuts.
12849
12850         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
12851         gtk_menu_ensure_uline_accel_group().
12852
12853         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
12854         which will always return an uline accel group, made
12855         gtk_menu_get_uline_accel_group() return NULL if the group isn't
12856         yet created.
12857
12858 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
12859
12860         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
12861
12862         * gtk/gtkclist.c (gtk_clist_column_title_passive):
12863         Leave button sensitive, trap  button_press, button_release,
12864         motion_notify, enter_notify and leave_notify events instead.
12865         (gtk_clist_column_title_active): disconnect event handler.
12866         (gtk_clist_drag_data_get): fixed memory leak. Reported by
12867         Guillaume Laurent <glaurent@worldnet.fr>
12868
12869 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
12870
12871         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
12872         width/height mixups.
12873
12874         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
12875         if needed.
12876
12877 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
12878
12879         * gtk/testgtk.c (create_item_factory): unref the item factory after
12880         window's destruction.
12881
12882         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
12883         count on the menu shell around the menu item's activation, since the
12884         signal emission may cause menu shell destruction.
12885
12886         * gtk/gtkitemfactory.c:
12887         the previous code leaked one accel group per menu. we use
12888         gtk_menu_get_uline_accel_group() now to fix that, and with that
12889         also create the underline accelerator group of the menus only if
12890         required (i.e. an underline accelerator has been specified).
12891         (gtk_item_factory_construct):
12892         (gtk_item_factory_create_item): removed code that would create an
12893         extra accel group for the menu (and leak references).
12894         (gtk_item_factory_create_item): adapted the underline accelerator
12895         installation code to properly feature gtk_menu_get_uline_accel_group().
12896
12897         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
12898         menu->accel_group, this may return NULL if the accelerator group
12899         hasn't been set yet.
12900         added gtk_menu_get_uline_accel_group() to retrive the underline
12901         accelerator group of the menu, this will be created on demand
12902         and proper care is taken about its reference count.
12903
12904         * gtk/gtkitemfactory.h:
12905         * gtk/gtkitemfactory.c:
12906         dumped the approach of keeping a widgets by action list on the
12907         factory since the factory<->widget destroy negotiation didn't work
12908         and would be hard to get going at all. instead we keep a list of
12909         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
12910         persistant throughout a program's life time).
12911         also, i removed the static const gchar *key_* variables, and made
12912         them inline strings (they weren't actually used anyways).
12913         (gtk_item_factory_add_item): update ifactory->items.
12914         (gtk_item_factory_destroy): destroy ifactory->items (and remove
12915         the item factory pointer from the remaining ifactory widgets).
12916         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
12917         list to find the widget.
12918         (gtk_item_factory_get_item): new function that works around
12919         gtk_item_factory_get_widget() limitations, this function will only
12920         return menu items, even for <Branch> entries.
12921
12922 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
12923
12924         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
12925         font hash table, if we have a GdkFontPrivate entry for this font
12926         already, simply increment its reference count, provided by Olaf Dietsche
12927         <olaf.dietsche+list.gtk@netcologne.de>.
12928
12929         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
12930         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
12931
12932 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
12933
12934         * gtk/gtkcontainer.c:
12935         (gtk_container_add_with_args):
12936         (gtk_container_addv):
12937         (gtk_container_add): before adding a child to a conatiner, make sure
12938         it is (default) constructed, this is neccessary because under certain
12939         circumstances the child will get relized and mapped immediatedly, in
12940         which case it has to be constructed already.
12941
12942 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
12943
12944         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
12945         values > 1 as TRUE also.
12946
12947 1999-03-16  Tor Lillqvist  <tml@iki.fi>
12948
12949         * README.win32: New file.
12950                 
12951         * configure.in: Check for lstat.
12952
12953         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
12954         completeness.
12955
12956         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
12957
12958         * gtk/gtk.def: Removed CRs.
12959
12960         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
12961         ..\gdk\win32).
12962
12963         * gdk/win32/makefile.msc: Correct upwards relative paths.
12964         
12965 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
12966
12967         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
12968           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
12969           it was connecting a void function to expose_event and the int
12970           returning function to the draw signal
12971
12972 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
12973
12974         * configure.in:
12975         Use correct path to libgmodule.la when ref'ing uninstalled copy
12976         of glib.  (Already in stable branch, Bug #417)
12977
12978 1999-03-15  Tor Lillqvist  <tml@iki.fi>
12979
12980         Win32 merge and general portability stuff:
12981                 
12982         * acconfig.h,configure.in: Check for <sys/time.h>.
12983
12984         * gdk/win32: New directory (actually, been there for a while).
12985         
12986         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
12987         NATIVE_WIN32, and use these. Always case fold on Win32. No
12988         backslashed escapes on native Win32.
12989
12990         * gtk/{gtk.def,makefile.msc}: New files.
12991
12992         * gtk/Makefile.am: Add above new files.
12993         
12994         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
12995         instead of <strings.h>.
12996
12997         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
12998         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
12999         <unistd.h> appropriately.
13000
13001         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
13002         Use ABS() (from <glib.h>) instead of abs().
13003         
13004         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
13005         of gtk (and thus glib) headers, so that WIN32 will be
13006         defined. With MS C, include <direct.h> for mkdir prototype.
13007
13008         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
13009         some casts, needed by MS C.
13010
13011         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
13012         implemented).
13013
13014         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
13015         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
13016         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
13017
13018         * gtk/gtkmain.h: Mark variables for export/import on Win32.
13019                 
13020         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
13021         the event is not a hint, or its window is not the slider. Needed
13022         on Win32, at least.
13023
13024         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
13025         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
13026         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
13027         a subdirectory of the Windows directory as gtk system
13028         configuration directory.
13029
13030         * gtk/gtkselection.c: No chunks on Win32.
13031
13032         * gtk/gtksocket.c: Not implemented on Win32.
13033
13034         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
13035
13036         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
13037
13038         * gtk/maketypes.awk: Declare variables with a macro that expands to
13039         necessary export/import magic in the case of Win32.
13040                 
13041         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
13042
13043 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
13044
13045         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
13046         since those were meant only for gdki18n.h.  
13047         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
13048         for widechar tests.
13049         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
13050
13051 1999-03-13  Tor Lillqvist  <tml@iki.fi>
13052
13053         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
13054         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
13055
13056         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
13057         installed) to CFLAGS.
13058
13059         * gdk/Makefile.am: Add rules for gdkconfig.h.
13060
13061         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
13062         APIs.
13063
13064         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
13065         gdkx.h anyway when compiling for X11.
13066         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
13067         general): Merge in Win32 version.
13068         
13069         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
13070         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
13071         expansion (if we don't have HAVE_PWD_H), allow for drive
13072         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
13073         included code from Craig Setera's port to Win32 (the one that uses
13074         X11, and the cygwin dll), even if it probably will be abandoned.
13075
13076         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
13077         the user entered one herself.  This way one can complete *.h and
13078         don't get matches on any .help files, for instance.
13079         
13080 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13081
13082         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13083         font hash table, if we have a GdkFontPrivate entry for this font
13084         already, simply increment its reference count, provided by Olaf Dietsche
13085         <olaf.dietsche+list.gtk@netcologne.de>.
13086
13087         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
13088         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
13089
13090 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
13091
13092         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
13093         the number of calls to gdk_draw_point() (and thus to X) by
13094         clipping the points by hand.
13095
13096         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
13097         the clip parameter.
13098         (gtk_handle_box_paint): Only paint the handle if the expose area
13099         intersects it.
13100
13101 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
13102
13103         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
13104
13105 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
13106
13107         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
13108         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
13109
13110 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
13111
13112         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
13113          textmode (O_TEXT) for OS/2 version.
13114
13115 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
13116
13117         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
13118         GtkSpinButton, "input" and "output", to make the output more flexible.
13119         The user has to provide a mapping between adjustment->value and the
13120         output string (and vice versa, if the spin button is editable). 
13121         See testgtk for examples.
13122
13123 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
13124
13125         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
13126         new one.
13127         
13128         * configure.in: set gtk+ version to 1.3.0.