]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-10
hmm, someone changed GLib without fixing GTK
[~andy/gtk] / ChangeLog.pre-2-10
1 2001-02-19  Havoc Pennington  <hp@redhat.com>
2
3         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
4         changed GLib without fixing GTK
5
6         * gtk/gtkrange.h: Rename all the stupid implementation detail 
7         functions to have an underscore in front. Most of them should 
8         probably just go away, but for starters don't export them.
9         Bug #50482
10
11 2001-02-19  Havoc Pennington  <hp@redhat.com>
12
13         * gdk/gdkcolor.h: test was backward, so deprecated functions were
14         excluded by default
15
16         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
17         clean up the old code a bit
18
19         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
20         inconsistent state
21
22         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
23         draw inconsistent state
24
25         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
26         (create_menu): add inconsistent test
27
28         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
29         new function
30         (gtk_check_menu_item_get_inconsistent): new function
31         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
32         state (using etched in for now)
33
34         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
35         draw inconsistent state
36
37         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
38         function, used when the user has selected a range of stuff in
39         different states
40         (gtk_toggle_button_get_inconsistent): accessor for that
41         (gtk_toggle_button_paint): draw inconsistent state (etched in?
42         don't know what else to do)
43
44 2001-02-19  Hans Breuer <hans@breuer.org>
45
46         * gtk/gtk.def : updated exported symbols
47
48         * gtk/makefile.msc.in : updated
49
50         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
51         a colormap, when invoked from testgtk::entry. I'm not sure where
52         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
53         avoids immediate crashing ...
54
55         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
56         any objections ?
57
58         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
59         0 parameter. At least msvc doesn't like macros with var args. 
60         I simply removed the extra 0, was it a feature or a typo ?
61
62         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
63         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
64         because the value assignment to the internal struct wasn't working.
65         I'm not absolutely sure. The problem could have been resolved by
66         changing the "func" declartion in the struct, but was the pointer
67         to the function pointer intended ?
68
69         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
70
71         * gdk/gdk.def : updated exported symbols
72
73         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
74         only use SetDIBitsToDevice if there is a palette at the drawable
75         and the image is GDK_VISUAL_PSEUDO_COLOR
76
77         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
78
79         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
80
81         * gdk/*/makefile.msc : updated
82
83 2001-02-19  Havoc Pennington  <hp@redhat.com>
84
85         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
86         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
87
88         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
89         (gdk_key_repeat_restore): nuke
90
91         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
92         (gdk_init_check): no atexit func
93
94         * gdk/gdkrgb.h: mark some stuff deprecated
95
96         * gdk/gdkcolor.h: mark some stuff deprecated
97         
98         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
99
100         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
101
102 2001-02-16  Havoc Pennington  <hp@redhat.com>
103
104         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
105         scroll steps.
106
107         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
108         steps, and add Ctrl-arrow shortcuts for paging visually as with
109         HScale, since Page Up and Page Down move logically.
110
111         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
112         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
113         
114         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
115         steps
116         (gtk_range_scroll): handle the visual steps
117
118         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
119         scroll steps
120
121         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
122         steps, not the logical ones.
123
124         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
125         (scroll_vertical): handle up/down steps
126
127 2001-02-19 Alexander Larsson  <alexl@redhat.com>
128
129         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
130         Copy data and free data with free().
131
132         * gdk-pixbuf/gdk-pixbuf.c:
133         * gdk-pixbuf/io-jpeg.c:
134         * gdk-pixbuf/io-png.c:
135         Use g_try_malloc/g_free instead malloc/free.
136         
137         * gdk-pixbuf/test-gdk-pixbuf.c:
138         Must... initialize... gobject...
139         
140         * gdk-pixbuf/pixops/timescale.c:
141         * gtk/gtkcalendar.c:
142         Use g_malloc instead of malloc.
143         
144 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
145
146         * gtk/testgtkrc:
147         Comment out property assignments, these don't work yet.
148
149 2001-02-17  Havoc Pennington  <hp@pobox.com>
150
151         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
152         bit.
153
154 2001-02-17  Havoc Pennington  <hp@pobox.com>
155
156         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
157         shadowed variables that had broken size request in some cases,
158         leading to bogus tooltips (#50996)
159
160 2001-02-06  Jon K Hellan  <hellan@acm.org>
161
162         Implement fast browsing of tooltips, bug #50619
163         
164         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
165         and last_popdown
166         
167         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
168         use_sticky_delay and last_popdown.
169         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
170         time of popdown.
171         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
172         is NULL.
173         (gtk_tooltips_recently_shown): New static function.  Return true
174         if < sticky_delay has elapsed since last popdown.
175         (gtk_tooltips_event_handler): Display window after sticky_delay
176         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
177         since last popdown.
178         
179 2001-02-17  Havoc Pennington  <hp@pobox.com>
180
181         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
182         instead of (). #6394
183
184         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
185         G_CONST_RETURN, make it return by reference, #50473
186         
187 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
188
189         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
190         generated ENTER_NOTIFY event with 0, otherwise not explicitely
191         setup fields contain garbage (e.g. subwindow, breaking
192         gdk_drawable_ref() upon event copy).
193         (gtk_menu_stop_navigating_submenu_cb): same here.
194
195         * gtk/gtklist.c (gtk_list_vertical_timeout): 
196         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
197         * gtk/gtkclist.c (vertical_timeout): 
198         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
199         default-zero-intialization for unions to memset(,0,), as unions are
200         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
201         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
202
203         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
204         g_closure_sink() warning.
205
206         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
207         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
208         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
209         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
210         
211 >>>>>>> 1.1728
212 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
213
214         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
215         gtk_*_store_get, and moved to GtkTreeModel.
216
217         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
218
219         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
220
221         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
222
223         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
224         set the func.
225
226         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
227         freeze/thaw notify between setting all the properties for a cell.
228
229         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
230
231 2001-02-15  Havoc Pennington  <hp@redhat.com>
232
233         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
234         the X coordinates so they're with respect to the line, rather than 
235         with respect to the layout.
236
237         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
238         Mallabone
239
240         * gtk/testgtk.c (create_range_controls): add vscale tests, 
241         and inverted test
242
243         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
244         #50806
245
246         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
247
248         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
249         gtk_text_iter_is_end
250
251         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
252         rename gtk_text_buffer_get_end_iter
253
254         * gtk/testgtk.c (create_labels): Add test for selectable
255
256         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
257         the selection stuff. This code is kind of broken since it doesn't 
258         use the theme engine.
259
260         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
261         fix infinite loop and y offset problem
262         (gdk_draw_layout_line_with_colors): fix foreground color handling
263
264         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
265         that makes the label selectable.
266         
267         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
268         layout when the style is set, since fonts etc. could have changed.      
269
270 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
271
272         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
273
274         * gtk/gtktreemodelsimple.[ch]: removed.
275
276 2001-02-16  Alexander Larsson  <alexl@redhat.com>
277
278         * gtk/gtktreemodelmapping.[ch]:
279         New files. Implement GtkTreeModelMapping.
280         
281         * gtk/Makefile.am:
282         Add gtktreemodelmapping.[ch].
283         
284         * gtk/gtk.h:
285         Add gtktreemodelmapping.h
286
287         * gtk/treestoretest.c:
288         Test the GtkTreeModelMapping
289
290 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
291
292         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
293         have a demo, we might as well pass in real values.  Thanks to
294         clahey for pointing this out.
295
296 2001-02-14  Havoc Pennington  <hp@pobox.com>
297
298         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
299         "static" to a private function
300         (gtk_image_menu_item_class_init): remove destroy handler,
301         add "image" object property
302
303 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
304
305         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
306         Add a shortcut if the window and the current clip_region doesn't
307         overlap. This is needed when there are a lot of windows in a
308         window. The layout test in testgtk is a good test.
309
310         * gdk/linux-fb/gdkwindow-fb.c:
311         Whitespace fix.
312
313 2001-02-13  Sven Neumann  <sven@convergence.de>
314
315         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
316
317 2001-02-13  Alexander Larsson  <alexl@redhat.com>
318
319         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
320         Don't reference last_cursor if it is null. Fixes crash when rotating
321         the screen before having moved the mouse.
322
323         * gdk/linux-fb/gdkcc-fb.c: Zapp!
324
325         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
326
327         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
328         when using 90 or 270 degrees rotation.
329
330 2001-02-12  Havoc Pennington  <hp@pobox.com>
331
332         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
333         it always set the foreground, even if we were only using
334         a stipple.
335         (gdk_draw_layout_line_with_colors): new function, allow
336         override colors
337         (gdk_draw_layout_with_colors): new function, allow override
338         colors
339         (gdk_pango_layout_line_get_clip_region): function to get the clip
340         region for a logical text range
341         (gdk_pango_layout_get_clip_region): get the clip region for a
342         logical text range
343
344         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
345         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
346         the right number of arguments.
347
348         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
349         enhance the function to check that node data corresponds to a 
350         view still belonging to the tree.
351
352         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
353         GtkTreePath
354         (gtk_tree_view_inserted): ditto
355         (gtk_tree_view_child_toggled): ditto
356
357         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
358         simplify this code.
359
360         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
361         a PangoAttrList
362
363         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
364
365         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
366
367         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
368         size in the size request 
369         (gtk_menu_bar_size_allocate): consider toggle size here
370
371         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
372         that displays a widget in the toggle slot
373
374         * gtk/testgtk.c: test GtkImageMenuItem
375
376         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
377         
378         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
379         request and allocation
380
381         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
382
383         * gtk/gtkcheckmenuitem.c
384         (gtk_check_menu_item_toggle_size_request): ditto
385         
386 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
387
388         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
389         reference.
390
391         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
392         and refuse to initialize GTK+ if they fail.
393
394 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
395
396         * configure.in: Add check for gtk-doc version.
397
398 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
399
400         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
401         where the xpad/ypad was only being used on one side!
402
403 2001-02-11  Tor Lillqvist  <tml@iki.fi>
404
405         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
406         function, copied from X11 version.
407
408         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
409         DestroyCursor failures. The reason for the problem (despite the
410         inconsistent messages from GetLastError()) was that
411         DestroyCursor() cannot be called while a cursor is set in a
412         window. Set the new cursor first and then destroy the old one.
413         Thanks to jpe@archaeopteryx.com.
414
415         * gdk/win32/gdkcc-win32.c: Remove.
416
417         * gdk/win32/Makefile.am: Remove from here, too.
418         
419         * gdk/gdk.def
420         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
421
422         * gtk/gtk.def
423         * gtk/makefile.mingw.in: Updates.
424
425 2001-02-08  Havoc Pennington  <hp@redhat.com>
426
427         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
428         add a widget to a bin that already has a child.
429
430         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
431
432         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
433         
434         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
435
436         * gdk/gdk.h: remove gdkcc.h
437
438         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
439
440         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
441         GdkPixbuf, since the previous implementation was GdkColorContext
442         dependent.
443
444         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
445         
446 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
447
448         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
449         a sane value!
450
451 2001-02-08  Havoc Pennington  <hp@redhat.com>
452
453         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
454         lighten them.
455
456 2001-02-08  Havoc Pennington  <hp@redhat.com>
457
458         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
459         validation idle
460
461         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
462         cell renderer
463
464         * demos/pixbuf-demo.c (timeout): remove deprecated
465         gtk_widget_draw
466
467         * demos/testpixbuf-save.c (main): remove deprecated
468         gtk_drawing_area_size
469
470         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
471         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
472         at the start of the allocation.
473         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
474         unsetup or NULL model.
475
476         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
477         even/odd/sorted cells in the tree view.
478
479         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
480         bugfixes
481
482         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
483         backgrounds with draw_flat_box using different detail for even/odd
484         rows.
485
486         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
487         row, so we can draw the alternating colors thing
488
489         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
490         property from a synonym property, notify for the synonym.
491         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
492         (gtk_text_tag_get_property): Always return the font, even if
493         all its fields aren't set
494
495         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
496         store the attr list; it leaves us with no way to change attributes
497         in _render according to the render flags, and no way to implement
498         get_property. Instead store all the specific text attributes. 
499         Separate whether an attribute is enabled from its value. Sync all
500         properties with GtkTextTag, make them all consistent, etc.
501
502         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
503         renderers can highlight the sort row/column     
504
505         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
506         accessor functions to get values; this has the side effect of
507         showing up which accessor functions were missing. Added those.
508
509         * gtk/gtktreeviewcolumn.h: Replace set_justification with
510         set_alignment, to be consistent with GtkLabel, GtkMisc
511
512         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
513         arrow.
514
515         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
516
517         * gtk/gtktreesortable.h: updates in here
518
519 2001-02-07  Sven Neumann  <sven@convergence.de>
520
521         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
522         pango dimensions after painting the background. We used to draw
523         gigantic flat boxes here.
524
525 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
526
527         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
528         error introduced with earlier commit) (pointed out by
529         Ollie Lho)
530
531 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
532
533         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
534         which are no longer necessary.
535
536 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
537
538         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
539
540 2001-02-04  Tor Lillqvist  <tml@iki.fi>
541
542         * gdk/gdk.def
543         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
544         Provide dummy implementations.
545
546 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
547
548         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
549
550         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
551         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
552         deprecated this function.
553
554         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
555         argument.
556
557 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
558
559         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
560
561 2001-02-03  Havoc Pennington  <hp@pobox.com>
562
563         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
564         Mikael Hermansson with patch from Mikael (if there was a toggle
565         start one after the first character in the range, this function
566         was broken). Bug #50380
567
568 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
569
570         * configure.in: Remove confusing comment about X11.
571
572 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
573
574         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
575         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
576         
577 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
578
579         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
580         it breaks things on BSD. If you want to compile GTK+ with
581         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
582         when configuring, since GTK+ simply can't be "pure ANSI" 
583         in the header files it uses. (#8170, Greg Hudson)
584
585 2001-02-02  Havoc Pennington  <hp@redhat.com>
586
587         * gtk/gtkwindow.c: docs
588
589         * gtk/gtkwidget.c: docs
590         (gtk_widget_set_colormap): add a reference to the colormap
591         (gtk_widget_get_default_colormap): add a reference to the colormap
592
593         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
594
595         * gtk/gtktextiter.c: docs
596
597         * gtk/gtkmain.c (gtk_propagate_event): docs
598
599         * gtk/gtkpaned.c (gtk_paned_get_position): docs
600         (gtk_paned_set_position): docs
601
602         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
603         sort interface, no implementation yet.
604
605         * demos/testpixbuf.c (new_testrgb_window): replace
606         gtk_drawing_area_size() with gtk_widget_set_usize()
607
608         * demos/testpixbuf-drawable.c (main): ditto
609         
610         * gtk/testgtk.c: remove use of GtkStatusbarMsg
611
612         * gtk/gtktextbuffer.c: docs
613
614         * gtk/gtkstock.c: docs
615
616         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
617
618         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
619
620         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
621         
622         * gtk/gtkimage.c: add some docs in here
623         (gtk_image_size_request): change name of
624         gtk_widget_render_stock_icon
625         (gtk_image_get_icon_set): don't dup returned string
626         (gtk_image_get_icon_set): don't dup returned string
627
628         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
629         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
630         and gtkiconfactory.h functions
631
632         * gtk/gtkiconfactory.c: add some docs in here
633
634         * gtk/gtkmain.c (gtk_get_default_language): document
635         (gtk_get_current_event): document
636         (gtk_get_current_event_state): document
637         (gtk_get_event_widget): document
638
639         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
640
641         * gtk/gtkcontainer.c: Add some documentation
642         (gtk_container_add): give a more explanatory warning on adding an
643         already-parented widget, this is kind of a FAQ and also a common
644         typo that's easier to debug with a nice warning 
645
646         * gtk/gtkcellrenderertoggle.c
647         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
648         adding this, it's useless
649         (gtk_cell_renderer_toggle_set_active): remove
650         (gtk_cell_renderer_toggle_get_radio): add
651
652         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
653         the NULL cell renderer, that doesn't make any sense to me. 
654
655         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
656         demo code should never use deprecated features.
657
658         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
659         code should never use deprecated features.
660
661         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
662         gtk_widget_queue_clear_area deprecated
663
664         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
665         deprecated
666
667         * gtk/gtklabel.h: mark gtk_label_get() deprecated
668
669         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
670         a GdkImage deprecated, replaced by new consistently-named
671         functions       
672
673         * gtk/gtkmain.h: Mark gtk_exit() deprecated
674
675         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
676
677         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
678         deprecated
679
680         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
681         so it won't appear in docs and confuse people.
682
683         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
684
685         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
686         macros deprecated. (can't mark the type itself deprecated, since
687         GtkProgressBar is not deprecated and we need the type decl to use
688         GtkProgressBar)
689
690         * gtk/gtkpixmap.h: Mark deprecated
691
692         * gtk/gtkoldeditable.h: Mark deprecated
693
694         * gtk/gtklist.h: Mark deprecated
695
696         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
697         for anything anymore.
698
699         * gtk/gtkctree.h: Mark deprecated
700
701         * gtk/gtkclist.h: Mark deprecated
702
703         * gtk/gtkpreview.h: Mark deprecated
704
705         * gtk/gtkpacker.h: Mark deprecated
706
707         * gtk/gtktipsquery.h: Mark deprecated
708
709         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
710
711         * gtk/gtkvruler.h: Add comment that it will move out of GTK
712
713         * gtk/gtkhruler.h: Add comment that it will move out of GTK
714
715         * gtk/gtkruler.h: Add comment that it will move out of GTK
716
717         * gtk/gtkgamma.h: Add comment that it will move out of GTK
718
719         * gtk/gtkcurve.h: Add comment that it will move out of GTK
720
721 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
722
723         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
724         gdk_colormap_sync private since it was never exported
725         in a header file.
726
727         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
728         colormap->colors[] for StaticGray, StaticColor colormaps.
729
730         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
731         was being used as if it was image->bits_per_pixel.
732
733         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
734         for the image in the GdkImage structure since it isn't
735         reconstructable, and we need it to handle packed types
736
737         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
738         the assumption that on Win32 image->bits_per_pixel == image->depth,
739         always.
740
741         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
742
743         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
744         warning message if no converter can be found. 
745
746 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
747
748         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
749         chars to isupper() / tolower(). (#567)
750
751         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
752         to clear up 64-bit warnings. (#567)
753
754 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
755
756         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
757         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
758
759         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
760         since some people set $(libdir) separately. (#1290, David Kaelbling)
761
762 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
763
764         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
765         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
766         MAXPATHLEN, but the code here depends on a fixed value.)
767         (#4524)
768
769 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
770
771         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
772         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
773
774 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
775
776         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
777         viewable there is no way that moving the node will cause the 
778         focus row to become not viewable, so omit check on the visibility
779         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
780
781 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
782
783         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
784         selection before inserting new text.
785
786 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
787
788         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
789         Make the sensitivity of the reparented child track that of
790         the original parent menu item. (#34218, David Hodson)
791
792         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
793         the case where the current item is destroyed properly.
794
795         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
796         some edge cases with child-less menuitems.
797         
798 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
799
800         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
801         key pop down window. (#12074, Jon K Hellan)
802
803 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
804
805         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
806         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
807         The solution here isn't perfect - you get an extraneous
808         emission of "toggle", which could conceivably confuse an app,
809         but better than the current situation. LXR search seems to
810         indicate that no apps in GNOME CVS connect to "toggle".
811
812 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
813
814         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
815         gtk_public_h_sources to directly here to avoid warning when
816         building srcdir != builddir. (#9656)
817
818 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
819
820         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
821         handlers in gtkrange.c return the proper values (TRUE == handled)
822         (#10316).
823
824         This is just the tip of the iceberg, but gtkrange.c is the
825         most common place where the propagation is problematical,
826         and also a place where it is almost certainly safe to change
827         this in the stable branch.
828
829         (You don't want right click popups on a range control or anything...)
830
831 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
832
833         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
834         area on focus out, even if a background pixmap isn't set.
835         (#13941)
836         
837 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
838
839         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
840         to deal with setting the shape properly when scrolling arrows are
841         turned on, but not visible because there is sufficient space.
842         (#13432)
843
844 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
845
846         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
847         items with submenus, destroy the item along with the submenu.
848         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
849         properly.
850
851         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
852         later.
853
854 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
855
856         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
857         the focus widget sometimes wasn't drawn with the default if there
858         was no default widget.
859
860         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
861         unreference pixmaps. 
862
863         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
864         for some extra safety.
865
866 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
867
868         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
869         the text of a cell to the old pointer value better, by
870         copying the new text before freeing the old text. Some code
871         cleanup. (#8079, Karl Nelson)
872
873 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
874
875         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
876         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
877
878 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
879
880         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
881         item from a menu, check to see if it matches 
882         menu->old_active_menu_item, and if so, unref and clear
883         old_active_menu_item (Patch from Pavel Cisler)
884
885         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
886         menu_shell->active_menu_item, if it is the child being
887         removed. (Patch based on that of Gene Ragan, #50337)
888
889 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
890
891         * gdk/linux-fb/gdkselection-fb.c: 
892         * gdk/linux-fb/gdkcolor-fb.c: 
893         * gdk/linux-fb/gdkdrawable-fb2.c: 
894         * gdk/linux-fb/gdkfont-fb.c: 
895         * gdk/linux-fb/gdkim-fb.c: 
896         * gdk/linux-fb/gdkinput.c: 
897         * gdk/linux-fb/gdkkeyboard-fb.c: 
898         * gdk/linux-fb/gdkmain-fb.c: 
899         * gdk/linux-fb/gdkrender-fb.c: 
900         A bunch of whitespace cleanup.
901         
902 2001-01-30  Havoc Pennington  <hp@pobox.com>
903
904         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
905         #ifdef GTK_ENABLE_BROKEN.
906
907         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
908         GTK_ENABLE_BROKEN just before including the broken headers.
909         
910         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
911         deprecated types registered.
912
913         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
914         we have to test the broken stuff.
915
916         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
917         
918 2001-01-30  Havoc Pennington  <hp@redhat.com>
919
920         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
921         here where prev pointer was set to the wrong thing
922
923         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
924         (gtk_tree_path_is_descendant): new function
925
926         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
927         cached length
928         (gtk_list_store_get_iter): don't modify iter if we can't get the
929         path.
930
931         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
932         
933         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
934         GtkTreeDragDest
935
936         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
937         was causing segfault
938
939         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
940         pointer to NULL
941
942         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
943
944         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
945         on returning FALSE
946         (gtk_list_store_iter_children): ditto
947         (gtk_list_store_iter_nth_child): ditto
948         (gtk_list_store_iter_nth_child): ditto
949         (gtk_list_store_iter_parent): ditto
950
951         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
952         on iter->user_data != NULL instead of silently accepting it.
953         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
954         we are returning TRUE.
955         (gtk_tree_store_iter_children): ditto
956         (gtk_tree_store_iter_nth_child): ditto
957         (gtk_tree_store_iter_parent): ditto
958         (gtk_tree_store_insert): remove handling of parent->user_data ==
959         NULL, replace with parent == NULL       
960
961         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
962         and a comment explaining things
963
964         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
965         interface support to GtkTreeStore.
966
967         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
968         FALSE if no prev, fix
969
970         * gtk/gtktreeview.c (set_source_row): use a row reference
971         (set_dest_row): use a row reference
972
973 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
974
975         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
976         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
977         (gtk_tree_selection_select_iter): The same as above.
978
979 2001-01-26  Havoc Pennington  <hp@redhat.com>
980
981         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
982         which holds a handle to a specific row (particular set of values
983         in the model, i.e. pointer-identity row).
984
985         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
986         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
987         Still need to use it for the src/dest row saved on the drag context.
988
989 2001-01-26  Havoc Pennington  <hp@redhat.com>
990
991         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
992
993         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
994         not offset by TREE_VIEW_HEADER_HEIGHT
995         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
996         TREE_VIEW_HEADER_HEIGHT
997
998         * configure.in (included_loaders): for me, --with-included-loaders
999         generates the error "the specified loader yes does not exist",
1000         i.e. the arg defaults to "yes", so change test for value ""
1001         to test for value "yes", and include all loaders in that case.
1002
1003         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
1004
1005         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
1006         handle TREE_VIEW_VERTICAL_SEPARATOR
1007         (gtk_tree_view_bin_expose): fix to consider the row offset as
1008         pointing halfway into vertical separator.       
1009         (gtk_tree_view_draw_node_focus_rect): ditto
1010
1011         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
1012         --gtk-debug=updates, which causes gdk_window_set_debug_updates
1013         (TRUE) to be called.
1014
1015         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
1016         debug mode where the invalid region is colored in on invalidate,
1017         so you can see the flicker and know whether your redraw code is 
1018         doing a good job.
1019
1020         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
1021         tree window coordinates (clip rect is in tree window coords)
1022
1023         * gtk/Makefile.am: add gtktreednd.[hc]
1024
1025         * gtk/gtkliststore.c: implement gtktreednd interfaces.
1026
1027         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
1028         drag-and-drop data operations on a model (so we can set up tree
1029         drag-and-drop automatically)
1030
1031         * gtk/testgtk.c: Add a window to change sensitivity in the
1032         GtkLabel test; add a way to change the entry frame in GtkEntry
1033         test
1034
1035         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
1036         (gtk_entry_get_has_frame): new functions to remove the frame
1037         around an entry
1038         (gtk_entry_size_request): shrink requisition if no frame
1039         (gtk_entry_draw_focus): don't draw frame if no frame
1040
1041         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
1042         checks inside a cell renderer
1043         (gtk_default_draw_option): ditto for options
1044
1045         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
1046         children from the alignment, not the button
1047         (gtk_tree_view_column_init): ref/sink the column, to emulate
1048         GObject refcounting.
1049
1050         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
1051         
1052         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
1053         Use theme functions to draw the toggles 
1054
1055         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
1056
1057         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
1058         GdkPangoAttrEmbossed to use in rendering insensitive text
1059
1060         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
1061
1062         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
1063         using new GDK features
1064         
1065 2001-01-24  Alexander Larsson  <alexl@redhat.com>
1066
1067         * gtk/gtkimage.c:
1068         Splitted gtk_image_clear into gtk_image_clear() and
1069         gtk_image_reset(). Call gtk_image_clear() in ::destroy
1070         to avoid leaks.
1071
1072         * gtk/gtklabel.c (set_markup):
1073         Don't leak text.
1074
1075         * gtk/gtktextlayout.c:
1076         Always free display->shaped_objects.
1077
1078         * gtk/testgtk.c (create_clist):
1079         Don't leak custom style.
1080
1081 2001-01-23  Alexander Larsson  <alexl@redhat.com>
1082
1083         * gtk/gtkcolorsel.c (grab_color_at_mouse):
1084         Don't leak image. Simplify using gdk_colormap_query_color().
1085         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
1086
1087         * linux-fb/gdkcolor-fb.c:
1088         Implemented gdk_colormap_query_color.
1089
1090 2001-01-23  Alexander Larsson  <alexl@redhat.com>
1091
1092         * linux-fb/gdkcursor-fb.c:
1093         Don't leak built-in cursors.
1094
1095         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
1096         Don't leak tmp_points.
1097
1098         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
1099         Don't modify desc. Don't leak font if the PangoFont
1100         isn't found.
1101         
1102         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
1103         Free dash_list.
1104
1105         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
1106         Don't leak string.
1107         
1108 2001-01-20  Havoc Pennington  <hp@pobox.com>
1109
1110         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
1111         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
1112         me, matches Pango
1113
1114 2001-01-22  Havoc Pennington  <hp@redhat.com>
1115
1116         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
1117
1118         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
1119
1120         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
1121         Remove, move back to gdk-pixbuf
1122
1123         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
1124         to all the word functions
1125
1126         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
1127         before doing anything on NULL layout or if we don't have the focus
1128
1129         * gtk/testtext.c (fill_example_buffer): "justification"
1130
1131         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
1132         to be called "justification" not "justify"
1133
1134         * demos/gtk-demo/textview.c (create_tags): "justification"
1135         
1136         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
1137
1138 2001-01-22  Alexander Larsson  <alexl@redhat.com>
1139
1140         * gdk/gdkwindow.c (gdk_window_invalidate_region):
1141         Don't leak visible_region. Use visible_region instead of region.
1142         
1143         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
1144         Don't do extra gdk_drawable_ref(). This is not X.
1145         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
1146         gdk_fb_focused_window is ref:ed.
1147         (gdk_fb_window_send_crossing_events): Watch out for destroyed
1148         windows.
1149
1150 2001-01-22  Alexander Larsson  <alexl@redhat.com>
1151
1152         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
1153         Don't leak the PangoFontDescriptor.
1154
1155 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
1156
1157         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
1158         when not realized.
1159         (gtk_tree_view_scroll_to_cell): Make work when not realized.
1160         (gtk_tree_view_realize): add scroll_to support
1161         (gtk_tree_view_finalize): add a finalize method.  Populate.
1162         (gtk_tree_view_insert_column): ref and sink the column.
1163         (gtk_tree_view_append_column): ref and sink the column.
1164         (gtk_tree_view_queue_draw_node): New function to handle redrawing
1165         individual nodes.  Should make the code much more efficient, if
1166         actually used.
1167
1168 2001-01-19  Havoc Pennington  <hp@redhat.com>
1169
1170         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
1171         byte_offset variable was being used to mean both "offset into
1172         layout" and "offset into buffer line" which was no longer true
1173         with addition of preedit string; fix
1174
1175 2001-01-19  Havoc Pennington  <hp@redhat.com>
1176
1177         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
1178
1179         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
1180         function
1181
1182         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
1183         implement
1184
1185         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
1186         scroll_to_cell, matches TextView scroll functions better
1187         (gtk_tree_view_tree_to_widget_coords): new function
1188         (gtk_tree_view_widget_to_tree_coords): new function
1189         (gtk_tree_view_get_visible_rect): new function
1190         (gtk_tree_view_get_path_at_pos): accept negative coordinates
1191         (gtk_tree_view_draw_node_focus_rect): new function moved from
1192         draw_focus, also, use width of bin_window as width of the focus
1193         rect
1194         (gtk_tree_view_expand_row): fix bug where it didn't recognize
1195         already-expanded rows
1196         (gtk_tree_view_get_cell_rect): new function
1197         (gtk_tree_view_get_path_at_pos): return the click position
1198         relative to the passed-in cell
1199         (gtk_tree_view_set_expander_column): new function
1200
1201         * configure.in: remove gtk-config-2.0 chmod
1202
1203         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
1204         and properly handle drags with targets we don't understand
1205         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
1206         scrolling anyway
1207         (gtk_text_view_drag_drop): stop scrolling here though, and set the
1208         mark invisible
1209
1210         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
1211         function
1212         (gtk_drag_dest_get_target_list): new function
1213         (gtk_drag_dest_set_target_list): new function
1214         
1215         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
1216
1217         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
1218         related to drag-and-drop
1219
1220 2001-01-19  Alexander Larsson  <alexl@redhat.com>
1221
1222         * gdk/linux-fb/gdkprivate-fb.h:
1223         Define EMULATE_GDKFONT.
1224         Add extra pango_font stuff to GfkFontPrivate.
1225         
1226         * gdk/linux-fb/gdkdrawable-fb2.c:
1227         * gdk/linux-fb/gdkfont-fb.c:
1228         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
1229         emulation using PangoFont.
1230
1231 2001-01-17  Havoc Pennington  <hp@pobox.com>
1232
1233         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
1234         all the non-deprecated set_foo functions. Added missing object
1235         properties, and added g_object_notify() to setters. 
1236         Wrote docs.
1237         
1238 2001-01-18  Tor Lillqvist  <tml@iki.fi>
1239
1240         * gtk/gtkmain.c
1241         * gtk/gtkrc.c: (Win32) Use the new
1242         g_win32_get_package_installation_(sub)directory() functions.
1243
1244         * config.h.win32.in: New file.
1245         
1246         * config.h.win32: Removed.
1247
1248         * configure.in: Output config.h.win32.
1249
1250         * Makefile.am: Add it to EXTRA_DIST.
1251
1252         * gtk/gtk.def: Update.
1253
1254 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
1255
1256         * gtk/gtklabel.c (gtk_label_size_request): Set the
1257         attributes onto the PangoLayout even if they are newly
1258         created from label->pattern.
1259
1260 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
1261
1262         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
1263
1264         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
1265         structures in functions. Fixes bug where gtk_dataset_*
1266         was accidentally still being used in one place, causing
1267         every dest side event to be treated independently.
1268
1269         * gtk/gtkdnd.c: Remove last vestages of handling
1270         ::draw (fixes warning)
1271         
1272         * gtk/gtkentry.[ch]: Add drag and drop support.
1273
1274         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
1275         new function gtk_check_drag_threshhold() for checking
1276         to check if (dx,dy) has exceeded the threshhold for starting
1277         a drag and use it everywhere.
1278
1279 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
1280
1281         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
1282         add -I{includedir}/gtk-2.0.
1283
1284         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
1285         gdk/gdk-pixbuf.h: Doc fixups.
1286         
1287         * gtk/gtkobject.h: Remove trailing , from enum
1288
1289 2001-01-17 Alexander Larsson <alexl@redhat.com> 
1290
1291         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
1292         Doh! Mixed up x and y.
1293
1294         * gdk/linux-fb/gdkglobals-fb.c:
1295         Removed gdk_fb_pointer_grab_window_events,
1296         added _gdk_fb_pointer_grab_owner_events and
1297         _gdk_fb_keyboard_grab_owner_events.
1298
1299         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
1300         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
1301         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
1302         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
1303         Send crossing events after ungrab finished.
1304         (gdk_keyboard_grab): Set ..._owner_events
1305         (type_masks): Move out of function.
1306         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
1307         gdk_fb_keyboard_event_window): New functions, return the
1308         window an event should be targeted at. Handles grabs and
1309         event propagation. Can return NULL.
1310         (gdk_event_make): Remove event_mask checking. Now always
1311         returns an event.
1312                 
1313         * gdk/linux-fb/gdkkeyboard-fb.c:
1314         * gdk/linux-fb/gdkproperty-fb.c:
1315         * gdk/linux-fb/gdkselection-fb.c:
1316         Use new event_window/gdk_event_make() behaviour.
1317         
1318         * gdk/linux-fb/gdkmouse-fb.c:
1319         Use new event_window/gdk_event_make() behaviour.
1320         Only send motion events if in the same window.
1321         If grabbed, use cursor from window if sibling of grabbed
1322         window, and cursor from grabbed window otherwise.
1323
1324         * gdk/linux-fb/gdkprivate-fb.h:
1325         Update gdk_fb_window_send_crossing_events, gdk_event_make
1326         and grab varaible declarations. Add gdk_fb_*_event_window().
1327
1328         * gdk/linux-fb/gdkwindow-fb.c:
1329         Use new event_window/gdk_event_make() behaviour.
1330         Keep correct track of focus window.
1331         (gdk_window_set_events): Set all specific button motion masks
1332         if GDK_BUTTON_MOTION_MASK set.
1333
1334         * gtk/gtkdnd.c (gtk_drag_update):
1335         Free info->last_event if gdk_drag_motion returned FALSE.
1336
1337 2001-01-16  Tor Lillqvist  <tml@iki.fi>
1338
1339         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
1340         Eliminate redraws when input-only windows are shown or
1341         hidden. Thanks to jpe@archaeopteryx.com.
1342
1343 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
1344
1345         * docs/faq/gtk-faq.sgml: FAQ update:
1346           - Update to bugzilla
1347           - Add GTK+ and security/SUID/SGID
1348           - Add DnD question
1349
1350 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
1351
1352         * gdk/linux-fb/gdkdnd-fb.c:
1353         Some cleanups.
1354         
1355 2001-01-15  Havoc Pennington  <hp@pobox.com>
1356
1357         * tests/testtreeview.c: add test stuff for CellRendererToggle
1358
1359         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
1360         accessor
1361
1362         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
1363         only toggle on button press (would do release like GtkButton, but
1364         we'd need implicit grab code for treeview cells)
1365
1366 2001-01-16  Tor Lillqvist  <tml@iki.fi>
1367
1368         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
1369
1370         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
1371         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
1372
1373         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
1374         to g_{locale,filename}_{to,from}_utf8 to match current API.
1375
1376         * gtk/makefile.msc.in (gtk_OBJECTS)
1377         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
1378
1379         * gtk/gtk.def: Update.
1380
1381 2001-01-15  Tor Lillqvist  <tml@iki.fi>
1382
1383         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
1384         implementaion that more closely mimics the events that an X server
1385         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
1386         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
1387         with nested preview widgets, for instance, more responsive when
1388         you move the mouse quickly into them.
1389         (find_window_for_pointer_event): Make it actually compile.
1390         (gdk_event_translate): Set send_event to the value of
1391         InSendMessage (). This doesn't really mean the same as X11's
1392         send_event flag, but is close enough, says jpe@archaeopteryx.com
1393
1394 2001-01-15  Alexander Larsson  <alexl@redhat.com>
1395
1396         * gdk/linux-fb/gdkdnd-fb.c:
1397         Implemented drag and drop.
1398         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
1399         when it tries to free and then copy the same event (info->last_event).
1400         I am not sure about why this happens, but will continue looking.
1401
1402 2001-01-15  Alexander Larsson  <alexl@redhat.com>
1403
1404         * gdk/linux-fb/gdkwindow-fb.c:
1405         Use gdk_window_invalidate_rect instead of
1406         gdk_window_invalidate_rect_clear to minimise flashing.
1407         When hiding windows you need to clear the root window though.
1408
1409 2001-01-15  Alexander Larsson  <alexl@redhat.com>
1410
1411         * gdk/linux-fb/gdkdrawable-fb2.c:
1412         For optization, add an full_shapes argument to gdk_fb_clip_region.
1413         If this is false, only the cliprects of the shapes are used.
1414
1415         * gdk/linux-fb/gdkprivate-fb.h:
1416         Export gdk_fb_window_peek_shape.
1417         Add full_shapes to gdk_fb_clip_region.
1418
1419         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
1420         When moving a window, don't clear everything under the it, just the
1421         root window. Makes stuff faster and flash less.
1422         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
1423         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
1424         offset of the shape.
1425         
1426
1427 2001-01-12  Havoc Pennington  <hp@redhat.com>
1428
1429         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
1430         current invalid region, fixes redraw bug while scrolling the 
1431         text widget
1432
1433         * gtk/gtktextview.c, gtk/gtktextview.h:
1434         Rearrange the scrolling/validation/etc. code in a major way, 
1435         so it seems to make sense to me. Probably isn't genuinely that
1436         much better, but...
1437
1438         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
1439         notifies
1440
1441         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
1442
1443 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
1444
1445         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
1446         Hide mouse pointer while rotation. Show it afterwards.
1447
1448 2001-01-12  Alexander Larsson  <alexl@redhat.com>
1449
1450         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
1451         windows in consideration when generating clip region.
1452
1453         * gdk/linux-fb/gdkfb.h:
1454         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
1455
1456         * gdk/linux-fb/gdkprivate-fb.h:
1457         Add shape to GdkWindowFBDatat.
1458         exported gdk_fb_window_get_abs_shape().
1459         removed gdk_fb_draw_lines declaration.
1460
1461         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
1462         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
1463         send focus changes when there is a grabbed window.
1464         (gdk_window_get_pointer): Handle shaped windows.
1465         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
1466         (gdk_fb_window_peek_shape): Returns the shape for a window,
1467         handles GDK_FB_USE_CHILD_SHAPE.
1468         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
1469         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
1470         (gdk_window_shape_combine_mask): Implement.
1471
1472         * gtk/gtkwindow-decorate.c:
1473         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
1474         setting the shape of a window makes the window transparent.
1475
1476 2001-01-11  Havoc Pennington  <hp@redhat.com>
1477
1478         * gtk/gtktreemodelsimple.h: Oops, broke some macros
1479
1480 2001-01-10  Havoc Pennington  <hp@redhat.com>
1481
1482         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
1483         add this function, bug 40251
1484
1485         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
1486         of type macro   
1487
1488 2001-01-11  Alexander Larsson  <alexl@redhat.com>
1489
1490         * acconfig.h:
1491         Added ENABLE_SHADOW_FB
1492
1493         * configure.in:
1494         Added --disable-shadowfb
1495
1496         * gdk/linux-fb/gdkcursor-fb.c:
1497         Update shadowfb when updating cursor
1498
1499         * gdk/linux-fb/gdkdrawable-fb2.c:
1500         Added wrappers for shadowfb that calls  the normal drawable
1501         methods, but calls gdk_shadow_fb_update(bounding box) when
1502         GdkWindows are drawed to.
1503         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
1504         which also returns the bounding box.
1505
1506         * gdk/linux-fb/gdkfb.h:
1507         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
1508
1509         * gdk/linux-fb/gdkgeometry-fb.c:
1510         Update shadowfb when scrolling window.
1511
1512         * gdk/linux-fb/gdkglobals-fb.c:
1513         Add _gdk_fb_screen_angle.
1514         
1515         * gdk/linux-fb/gdkkeyboard-fb.c:
1516         Test code for screen rotation. Shift-F2 in the xlate driver
1517         rotates the screen.
1518
1519         * gdk/linux-fb/gdkmain-fb.c:
1520         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
1521
1522         * gdk/linux-fb/gdkmouse-fb.c:
1523         Use fb_width/height instead of modeinfo.xres/yres.
1524
1525         * gdk/linux-fb/gdkprivate-fb.h:
1526         Added fb_men, fb_width, fb_height & fb_stride. When using
1527         shadow fb these can differ from the framebuffer stuff.
1528         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
1529         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
1530         _gdk_fb_screen_angle. Removed CM, RP.
1531
1532         * gdk/linux-fb/gdkrender-fb.c:
1533         Added code for shadowfb handling and screen rotation using
1534         shadowfb.
1535
1536         * gdk/linux-fb/gdkwindow-fb.c:
1537         Use fb_mem, fb_stride, fb_width, fb_height.
1538         Added recompute_rowstride to reset the rowstride of all windows.
1539         Added gdk_fb_recompute_all() which recomputes rootwindow size,
1540         window abs positions and window rowstrides. Usefull when the
1541         rotation has changed.
1542
1543 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
1544
1545         * docs/faq/gtk-faq.sgml: update to make web site updating easier
1546
1547 2001-01-10  Havoc Pennington  <hp@redhat.com>
1548
1549         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
1550         where sibling == iter
1551         (gtk_tree_store_insert_after): handle sibling == iter
1552         (gtk_tree_store_prepend): remove stamp checks
1553         (gtk_tree_store_insert_before): ditto
1554         (gtk_tree_store_append): ditto
1555         (gtk_tree_store_get_path): ditto
1556         (gtk_tree_store_get_value): ditto
1557         (gtk_tree_store_iter_has_child): ditto
1558         (gtk_tree_store_iter_n_children): ditto
1559         (gtk_tree_store_iter_nth_child): ditto
1560         (gtk_tree_store_insert_after): ditto
1561         (gtk_tree_store_is_ancestor): ditto
1562         (gtk_tree_store_iter_depth): ditto
1563         (gtk_tree_store_insert_before): assert that sibling's parent is
1564         the same as the passed-in parent
1565         (gtk_tree_store_insert_after): assert that sibling's parent is
1566         the same as the passed-in parent
1567
1568         
1569         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
1570         function to get the first iterator in a model
1571         
1572         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
1573         conventionally the "root" in this sense is just NULL afaict.
1574
1575         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
1576         where sibling == iter
1577         (gtk_list_store_insert_after): handle case where sibling == iter
1578
1579         * tests/testtreeview.c (run_automated_tests): fairly lame basic
1580         automated tests for ListStore, TreeStore
1581
1582         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
1583         (gtk_list_store_insert): update tail pointer, and fix it to work
1584         (gtk_list_store_insert_before): update tail pointer, and fix it to work
1585         (gtk_list_store_append): use tail to be faster
1586         (gtk_list_store_prepend): fix it, update tail pointer
1587         (gtk_list_store_insert_after): fix it, update tail pointer
1588
1589         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
1590         the list
1591
1592 2001-01-09  Havoc Pennington  <hp@redhat.com>
1593
1594         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
1595         is NULL due to a pending resize
1596
1597         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
1598         column width to values less than 1
1599
1600         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
1601         width to be between min/max width, and still set the width 
1602         even if autosize is turned on, so the tree view can use this 
1603         function in order to autosize.
1604         (gtk_tree_view_column_init): set initial width to 1 not 0
1605
1606         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
1607         setter function to modify column width, so we get notification
1608         (gtk_tree_view_insert_iter_height): ditto
1609         (gtk_tree_view_calc_size): ditto
1610         (gtk_tree_view_check_dirty): ditto
1611
1612         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
1613         properties to change all the interesting attributes of the tree
1614         view column.
1615         (gtk_tree_view_column_set_header_clickable): rename set_clickable
1616         (gtk_tree_view_column_get_clickable): add
1617         (gtk_tree_view_column_set_cell_renderer): don't unset the current
1618         attributes; assume a cell renderer with equivalent object
1619         properties has been swapped in. Do g_object_notify().
1620         (gtk_tree_view_column_set_visible): g_object_notify
1621         (gtk_tree_view_column_get_sizing): rename from get_col_type
1622         (gtk_tree_view_column_set_sizing): g_object_notify
1623         (gtk_tree_view_column_set_width): add g_object_notify
1624         (gtk_tree_view_column_set_min_width): ditto
1625         (gtk_tree_view_column_set_max_width): ditto
1626         (gtk_tree_view_column_set_title): ditto
1627         (gtk_tree_view_column_set_clickable): ditto
1628         (gtk_tree_view_column_set_widget): ditto
1629         (gtk_tree_view_column_set_justification): ditto
1630
1631 2001-01-09  Havoc Pennington  <hp@redhat.com>
1632
1633         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
1634         there are no rows in the model
1635
1636         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
1637         NULL, then return the start of the list
1638
1639         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
1640         if we can't get any rows from an empty model 
1641
1642         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
1643         extraneous * after function pointer typedef usage
1644
1645         * Makefile.am: don't specify full path to cp and rm
1646
1647         * gtk/gtkcellrenderertextpixbuf.c
1648         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
1649         NULL before dereferencing, fixes a segfault that happened from
1650         time to time
1651
1652         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
1653         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
1654         and reindent the function
1655         (gtk_cell_renderer_pixbuf_get_size): indentation
1656
1657         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
1658         we quit it
1659         (gtk_dialog_add_buttons_valist): add g_return_if_fail
1660         (gtk_dialog_set_default_response): New function, to set default
1661         button
1662         (gtk_dialog_set_response_sensitive): New function, to set 
1663         sensitivity of buttons
1664
1665         * gtk/gtkcellrendererpixbuf.c
1666         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
1667         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
1668
1669         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
1670         handle any G_TYPE_OBJECT subclass, not just the base class, and 
1671         also boxed types.
1672         (_gtk_tree_data_list_value_to_node): ditto
1673
1674         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
1675         --gtk-debug=tree
1676
1677         * gtk/gtkmain.c: add GTK_DEBUG_TREE
1678
1679         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
1680
1681 2001-01-09  Tor Lillqvist  <tml@iki.fi>
1682
1683         * gdk/win32/gdkevents-win32.c: Implement better mouse
1684         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
1685         (find_window_for_pointer_event): New function.
1686         (gdk_event_translate): Use it when handling mouse events.
1687
1688 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
1689
1690         * configure.in:
1691         Added --with-included-loaders option
1692
1693         * gdk-pixbuf/Makefile.am:
1694         * gdk-pixbuf/gdk-pixbuf-io.c:
1695         Add support for including selected gdk-pixbuf loaders only.
1696
1697         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
1698         gtk_window_set_has_frame):
1699         Added inline documentation.
1700
1701         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
1702         * docs/reference/gdk/tmpl/windows.sgml:
1703         Added inline documentation.
1704
1705 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
1706
1707         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
1708         realizing buttons that have already been realized.
1709
1710 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
1711
1712         * tests/testtreeview.c (main): Show menu items before adding to
1713         option menu.
1714
1715         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
1716         around if we kill them.
1717
1718         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
1719         Return if we pass in a NULL model.
1720
1721 2001-01-08  Havoc Pennington  <hp@redhat.com>
1722
1723         * tests/testtreeview.c: hack on this some
1724
1725         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
1726         gtk_tree_store_set_valist, v is for arrays, valist for varargs
1727         list
1728         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
1729
1730         * gtk/gtkliststore.h: Add varargs set() and get() convenience
1731         functions
1732
1733 2001-01-08  Alexander Larsson  <alexl@redhat.com>
1734
1735         * gtk/gtkwindow-decorate.[hc]:
1736         * gtk/Makefile.am:
1737         New files. Contains an implementation of a minimal WM for
1738         linux-fb.
1739
1740         * gtk/gtkwindow.h:
1741         Add the possibility for GtkWindows to specify a frame. This
1742         is used for the window decoration code, but could concievably
1743         be used for X programs too (xmms style windows).
1744         GtkWindow->frame is the toplevel window if the window is framed.
1745         The signal frame_event gets all events that are targeted to
1746         GtkWindow->frame.
1747         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
1748         
1749         * gtk/gtkwindow.c:
1750         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
1751         Call out to gtkwindow-decorate.c for WM support in linx-fb.
1752
1753 2001-01-08  Alexander Larsson  <alexl@redhat.com>
1754
1755         * docs/README.linux-fb:
1756         Correct filename ~/.pangoft2_aliases
1757
1758         * gdk/gdkwindow.h:
1759         Added new function gdk_window_get_decorations.
1760
1761         * gdk/linux-fb/gdkfb.h:
1762         Removed _gdk_window_get_decorations declaration.
1763         Renamed _gdk_window_set_child_handler to
1764         gdk_fb_window_set_child_handler.
1765
1766         * gdk/linux-fb/gdkwindow-fb.c:
1767         Renamed _gdk_window_set_child_handler to
1768         gdk_fb_window_set_child_handler.
1769
1770         * gdk/x11/gdkwindow-x11.c:
1771         New function gdk_window_get_mwm_hints().
1772         Implemented gdk_window_get_decorations.
1773
1774         * docs/reference/gdk/tmpl/windows.sgml:
1775         * docs/reference/gdk/gdk-sections.txt:
1776         Added gdk_window_get_decorations docs.
1777         
1778 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
1779
1780         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
1781         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
1782         gdk_fb_window_send_crossing_events):
1783         Possibly send focus events when the mouse moves from one
1784         window to another.
1785
1786 2001-01-07  Tor Lillqvist  <tml@iki.fi>
1787
1788         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
1789         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
1790         to match current API.
1791
1792         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
1793         environment variable is set, don't call g_error when on a
1794         palettized (PseudoColor) display. Some people want to use GTK+ 
1795         in 256-colour mode even though works only partially.
1796
1797         * gdk/gdk.def
1798         * gtk/gtk.def
1799         * gtk/makefile.mingw.in: Update.
1800
1801 2001-01-05  Havoc Pennington  <hp@redhat.com>
1802
1803         * tests/testtreeview.c: hack on this a bit
1804
1805         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
1806         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
1807
1808         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
1809         was spelled incorrectly
1810         (GTK_IS_TREE_MODEL_SIMPLE): ditto
1811
1812         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
1813         from gtk_tree_view_set_headers_active   
1814
1815         * gtk/gtktexttag.c:
1816         (gtk_text_tag_get_property): handle PROP_DIRECTION
1817         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
1818         properties, bug 40235
1819
1820         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
1821         forward_to_line_end
1822
1823 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
1824
1825         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
1826         modules/input/gtkimcontextxim.c: Adapt to new prototypes
1827         for unicode,locale,filename conversion functions.
1828
1829 2001-01-05  Havoc Pennington  <hp@redhat.com>
1830
1831         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
1832         broken if called on the first position in the buffer.
1833
1834         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
1835         forward_to_delimiters to be called only if we aren't already at
1836         the delimiters.
1837
1838 2001-01-05  Havoc Pennington  <hp@redhat.com>
1839
1840         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
1841
1842 2001-01-05  Alexander Larsson  <alexl@redhat.com>
1843
1844         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
1845         colormap in here. Sync from X port.
1846         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
1847         Sync from X port.
1848         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
1849         This happens now and then, and i don't think it is a bug.
1850         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
1851         != endpoint.
1852         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
1853         GDK_LINE_SOLID.
1854
1855         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
1856         some of the fields filled in at least.
1857
1858         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
1859         miLineArcD is no more, remove it from the function definition.
1860
1861 2001-01-04  Havoc Pennington  <hp@redhat.com>
1862
1863         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
1864         this
1865
1866         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
1867         user_data instead of tree_node
1868
1869         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
1870         TREE_VIEW_COLUMN_SIZE
1871
1872         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
1873         "size" field to "width" finishes bug 40061
1874
1875         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
1876         for bitfields, bug 40268
1877
1878 2001-01-04  Havoc Pennington  <hp@redhat.com>
1879
1880         Rename some stuff:
1881         
1882         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
1883
1884         s/GtkModelSimple/GtkTreeModelSimple/g;
1885         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
1886         s/gtk_model_simple/gtk_tree_model_simple/g;
1887         s/gtkmodelsimple/gtktreemodelsimple/g;
1888
1889         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
1890
1891         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
1892         s/column_set_col_type/column_set_sizing/g;
1893
1894         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
1895         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
1896
1897         s/GtkCellRendererType/GtkCellRendererState/g;
1898         
1899         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
1900         (gtk_cell_renderer_toggle_class_init): change "state" property to
1901         "active", to match GtkToggleButton
1902         (gtk_cell_renderer_toggle_get_active): new function, bug
1903         40269
1904         (gtk_cell_renderer_toggle_set_active): new function
1905         (gtk_cell_renderer_toggle_set_property): route changes to toggle
1906         state through gtk_cell_renderer_set_active
1907
1908 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
1909
1910         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
1911         temporarily until they work again.  Brought up to date with
1912         changes in the model.
1913         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
1914         model.
1915
1916 2001-01-04  Havoc Pennington  <hp@redhat.com>
1917
1918         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
1919         equal to the line length, then position iterator before paragraph 
1920         separators. Fixes crash reported by Mikael Hermansson when
1921         pressing left arrow from the start of a line.   
1922
1923         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
1924         about byte indexes off the end
1925         (iter_set_from_char_offset): add g_error about char offsets
1926         off the end
1927
1928 2001-01-03  Havoc Pennington  <hp@redhat.com>
1929
1930         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
1931
1932         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
1933         of private functions; remove inclusion of private headers.
1934
1935         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
1936         function, so we don't need private functions in gtktextdisplay.c
1937
1938         * gtk/gtktextiterprivate.h: underscore-ification
1939
1940         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
1941         to instead say "only useful to implement widgets"
1942
1943         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
1944         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
1945         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
1946
1947         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
1948         This function was completely broken
1949
1950         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
1951
1952         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
1953
1954         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
1955
1956         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
1957
1958         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
1959
1960         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
1961
1962         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
1963         gtk_paint_layout
1964
1965         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
1966         gtk_paint_layout
1967
1968         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
1969         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
1970         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
1971         which were not implemented.     
1972
1973         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
1974         insert_pixbuf signal. Rename delete_text to delete_range since it
1975         also deletes pixbufs and child anchors. This almost closes bug
1976         40245 (still need to deal with child anchors)
1977
1978         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
1979         insert_pixbuf, change signal names as appropriate, change types of
1980         signals taking marks/tags to have the specific type, not just
1981         G_TYPE_OBJECT
1982         
1983         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
1984         closes bug 40051
1985
1986         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
1987         unnecessary remove_contents() call
1988         (gtk_option_menu_class_init): add a "changed" signal, closes
1989         bug 40039
1990         (gtk_option_menu_update_contents): emit "changed" if the 
1991         active menu item changes
1992
1993         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
1994         cast to GtkObject, reported by Jonas Borgstrom
1995         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
1996         we can't do stuff with side effects in finalize. Instead, spew a
1997         warning if the loader isn't closed.
1998
1999         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
2000         colormap in here, non-X ports probably need to sync to this change
2001
2002         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
2003         assertion that colormap != NULL, you can set the colormap to NULL
2004         if you like.
2005         
2006         * Makefile.am: remove gtk-config-2.0
2007
2008         * configure.in: Use pkg-config to locate GLib. Remove
2009         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
2010         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
2011         Use pkg-config to locate Pango. Output correct Pango libs to
2012         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
2013
2014         * Makefile.am (pkgconfig_DATA): install only target-specific pc
2015         files
2016         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
2017         X11 pc files
2018
2019         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
2020         unref from here
2021
2022 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
2023
2024         * configure.in:
2025         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
2026
2027 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
2028
2029         * gtk/gtktextlayout.c
2030         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
2031         variable when moving back onto a single line.
2032
2033 2001-01-01  Havoc Pennington  <hp@redhat.com>
2034
2035         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
2036
2037         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
2038
2039         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
2040         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
2041
2042 2001-01-01  Havoc Pennington  <hp@redhat.com>
2043
2044         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
2045
2046         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
2047         GtkTextAttributes
2048
2049         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
2050         #40246
2051         (gtk_text_attributes_copy_values): rename from 
2052         gtk_text_attributes_copy
2053         (gtk_text_attributes_copy): a more standard GTK copy function, 
2054         which returns a new object
2055
2056 2001-01-01  Havoc Pennington  <hp@redhat.com>
2057
2058         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
2059         
2060         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
2061         don't fill in tree_view->priv->selection, kind of an unexpected
2062         side effect
2063
2064         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
2065         gtkintl.h
2066         
2067         * gtk/gtkcellrenderer.c: Remove definition of _ and include
2068         gtkintl.h
2069         (gtk_cell_renderer_get_property): remove calls to g_value_init
2070
2071         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
2072         gtkintl.h
2073
2074         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
2075         and include gtkintl.h
2076         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
2077         property names
2078
2079         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
2080         GtkTreeSelection
2081         (_gtk_tree_selection_new_from_with_view): rename, return
2082         GtkTreeSelection
2083         (_gtk_tree_selection_set_tree_view): rename with uscore
2084         (gtk_tree_selection_get_selected): fill in the "model" out param
2085         first, so it gets filled in even if we return at the top of the 
2086         function
2087         (gtk_tree_selection_real_select_all): add a comment and an else{}
2088         to clarify this a bit
2089         (gtk_tree_selection_real_unselect_all): add the same else{}
2090
2091         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
2092         set_tree_view to have underscore prefixes, move them to the
2093         private header, fix return type of new_with_tree_view
2094         (struct _GtkTreeSelection): mark struct
2095         fields private  
2096
2097         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
2098         GtkTreeModelFlags, not a guint
2099         (gtk_tree_path_prev): return gboolean not gint
2100         (gtk_tree_path_up): return gboolean not gint
2101
2102         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
2103         return GtkTreeModelFlags, not a guint
2104
2105         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
2106         that child model is non-null before unrefing it
2107         (g_value_int_compare_func): make this a qsort compare func, not 
2108         a boolean predicate
2109
2110         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
2111         (add -umn to the end), and mark it unimplemented
2112         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
2113         I don't see what it's for - doesn't the model always sort itself?
2114         (gtk_tree_model_sort_set_compare): this had the wrong signature
2115
2116         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
2117         Fix the docs to say that it destructively replaces existing
2118         attributes (previously said that it added attributes).
2119         (gtk_tree_view_column_set_visible): canonicalize bool before
2120         equality testing. Also, check for realization before
2121         hiding/showing the tree_column->window; if this window could exist
2122         before realization, then it's busted and needs fixing, we can't 
2123         create GDK resources pre-realization. Also, remove
2124         superfluous queue_resize(), since set_size() does that for us.
2125         (gtk_tree_view_column_set_col_type): check realization before 
2126         using tree_column->window
2127
2128         * gtk/gtktreedatalist.c: fix filename in copyright notice
2129
2130 2000-12-31  Havoc Pennington  <hp@pobox.com>
2131
2132         * gtk/gtktextview.c: Rearrange all the
2133         scroll-while-dragging-or-selecting code to be different, not
2134         necessarily better. ;-)
2135         (gtk_text_view_scroll_to_mark): Change this
2136         function to take within_margin as a fraction instead of a pixel
2137         value, and to take alignment arguments (indicating where to align 
2138         the mark inside the visible area)
2139         
2140         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
2141         to GtkObject
2142
2143         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
2144         behavior so that offsets past the end of the line are not 
2145         allowed, and an offset equal to the line length moves the iterator
2146         to the next line
2147         (gtk_text_iter_set_line_index): make parallel change
2148         (gtk_text_iter_get_bytes_in_line): add this function
2149         
2150         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
2151         of byte indexes off the end of the line; byte index at the end of
2152         the line now returns FALSE and doesn't fill in the requested
2153         values, byte index past the end of the line is an error.  Also,
2154         don't allow -1 offset anymore, since its meaning is unclear.
2155
2156         This change exposes some bug in visual cursor motion, where we
2157         end up with a huge invalid byte index; needs fixing. Symptom of 
2158         bug is a crash when you hit up arrow.
2159         
2160         (_gtk_text_line_char_locate): match the change to byte_locate
2161
2162         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
2163         from start of line properly. fixes bug reported by Mikael
2164         Hermansson where backspace would delete all text before the
2165         cursor.
2166
2167 2000-12-30  Tor Lillqvist  <tml@iki.fi>
2168
2169         * gdk/win32/gdkwindow-win32.c
2170         (gdk_window_impl_win32_get_visible_region): New function, as in
2171         the X11 backend.
2172         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
2173         instead of duplicating the same code here.
2174
2175         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
2176         GDK_COLORMAP macro.
2177
2178         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
2179         destroy function.
2180         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
2181         access that.
2182
2183         * gtk/gtk.def: Update.
2184
2185         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
2186
2187 2000-12-30  Havoc Pennington  <hp@pobox.com>
2188
2189         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
2190         colormap on input only windows, to avoid special cases all over
2191         the code for these windows.
2192
2193 2000-12-26  Tor Lillqvist  <tml@iki.fi>
2194
2195         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
2196         we are on a palettized display ("PseudoColor" in X11), as the code
2197         for that doesn't work anyway, and never has.
2198
2199 2000-12-22  Alexander Larsson  <alexl@redhat.com>
2200
2201         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
2202         Don't use isprint() for chars > 255.
2203
2204 2000-12-21  Havoc Pennington  <hp@redhat.com>
2205
2206         * tests/testtreeview.c: more work
2207
2208 2000-12-21  Alexander Larsson  <alexl@redhat.com>
2209
2210         * docs/README.linux-fb:
2211         Update the docs to the new pangoft2 way.
2212
2213 2000-12-21  Alexander Larsson  <alexl@redhat.com>
2214
2215         * configure.in:
2216         For linux-fb get the pangoft2 cflags and libs. This needs a recent
2217         pango version.
2218         Remove modules/linux-fb/Makefile.
2219
2220         * gdk/linux-fb/gdkdrawable-fb2.c:
2221         Render glyphs using freetype.
2222
2223         * gdk/linux-fb/gdkfb.h:
2224         Add new fb-specific functions needed for managing windows.
2225
2226         * gdk/linux-fb/gdkmain-fb.c:
2227         Remove gdk_font_init/fini() calls.
2228
2229         * gdk/linux-fb/gdkpango-fb.c:
2230         Remove old implementation. Use pangoft2 instead.
2231
2232         * gdk/linux-fb/gdkprivate-fb.h:
2233         Remove PangoFBFont and related stuff.
2234
2235         * gdk/linux-fb/gdkwindow-fb.c:
2236         Implement drawable->get_visible_region.
2237         Implement support for _gdk_window_set_child_handler () and
2238         _gdk_window_get_decorations().
2239
2240         * modules/Makefile.am:
2241         Remove linux-fb subdir.
2242
2243         * modules/linux-fb/*:
2244         Removed all.
2245         
2246 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
2247
2248         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
2249         calls, as they are no longer needed.
2250
2251         * gtk/gtktreemodelsort.c: Fix up the comparison code.
2252         
2253         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
2254         figure out how to emit a signal on an interface.
2255
2256 2000-12-20  Havoc Pennington  <hp@redhat.com>
2257
2258         * tests: new directory to contain tests, gtk/test* should move
2259         here sometime (with appropriate on-cvs-server hackery)
2260
2261         * tests/testtreeview.c, tests/Makefile.am: a test
2262         
2263         * configure.in (AC_OUTPUT): add tests/Makefile
2264
2265         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
2266         and "invisible_set" which were missing
2267
2268         * gtk/gtkrbtree.h: some cheesy indentation fix
2269         
2270 2000-12-20  Alexander Larsson  <alexl@redhat.com>
2271
2272         * gtk/gtkinvisible.c (gtk_invisible_realize):
2273         Attach the style to the window so that the style it is not
2274         leaked when unrealizing the window.
2275
2276 2000-12-18  Havoc Pennington  <hp@redhat.com>
2277
2278         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
2279         begin/end user action where appropriate
2280         (gtk_text_view_commit_handler): add begin/end user action
2281
2282         * gtk/gtktextbuffer.c: add begin/end user action signals, and
2283         bracket interactive operations with begin/end user action pair.
2284         
2285         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
2286         "interactive" arg from insert_text and delete_text signals.
2287         Add begin_user_action, end_user_action signals
2288         (gtk_text_buffer_begin_user_action): 
2289         (gtk_text_buffer_end_user_action): New functions to delimit 
2290         a user-visible action
2291
2292         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
2293         signals.
2294         
2295 2000-12-18  Havoc Pennington  <hp@redhat.com>
2296
2297         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
2298         was pretty non-working.
2299
2300         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
2301         by passing the length to g_utf8_validate().
2302
2303 2000-12-16  Havoc Pennington  <hp@pobox.com>
2304
2305         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
2306         Port to GObject, can go back in gdk-pixbuf after setting up 
2307         a gdk-pixbuf-marshal.h header over there.
2308
2309         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
2310         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
2311         args
2312         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
2313         set
2314         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
2315         here, do it when we create the buttons later
2316         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
2317         (gtk_tree_view_map): paranoia checks that column->button is shown 
2318         and unmapped
2319         (gtk_tree_view_size_request): only request visible children.
2320         Move header size calculation in here, for cleanliness, and 
2321         to maintain invariants for child widgets if we eventually 
2322         let users set different children inside the buttons
2323         (gtk_tree_view_map_buttons): factor out code to map buttons,
2324         since it was being called several times
2325         (gtk_tree_view_size_allocate_buttons): move_resize the drag
2326         windows instead of just moving them; their height may change 
2327         if we allow random widgets in there, or the theme changes.
2328         (gtk_tree_view_size_allocate): move button size allocation 
2329         above emitting the scroll signals, to ensure a sane state when we
2330         hit user code
2331         (gtk_tree_view_button_release): remove queue_resize after
2332         tree_view_set_size(), set_size() will handle any resize queuing
2333         that's needed
2334         (gtk_tree_view_focus_in): just queue a draw, don't fool with
2335         draw_focus goo
2336         (gtk_tree_view_focus): use gtk_get_current_event() and
2337         gdk_event_get_state()
2338         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
2339         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
2340         semicolon
2341         (gtk_tree_view_create_button): show the button here
2342         (gtk_tree_view_button_clicked): actually emit the clicked signal
2343         on the column
2344         (_gtk_tree_view_set_size): return right away if the size is
2345         unchanged, as a cheesy optimization
2346         (gtk_tree_view_setup_model): rename set_model_realized to 
2347         setup_model to match the flag that indicates whether we've 
2348         called it
2349         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
2350         exist, because set_scroll_adjustment does that and it shouldn't
2351         matter what order you call these in
2352         (gtk_tree_view_get_vadjustment): ditto
2353         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
2354         for paranoia
2355         (gtk_tree_view_set_headers_visible): call
2356         gtk_tree_view_map_buttons() instead of using cut-and-paste code
2357         (gtk_tree_view_append_column): clarify whether the return value
2358         is the count of columns before or after, and do the increment 
2359         separately from the return statement so you can tell from the code.
2360         (gtk_tree_view_remove_column): ditto
2361         (gtk_tree_view_insert_column): ditto
2362         (gtk_tree_view_get_column): remove g_return_if_fail for columns
2363         outside the existing range, the docs say that outside-range
2364         columns are allowed, so we handle them as documented. (Presumably
2365         this allows a nice loop with column != NULL as test.)
2366         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
2367         mean (left/right/center etc.).
2368         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
2369         (gtk_tree_view_expand_row): add docs
2370         (gtk_tree_view_collapse_row): add docs
2371
2372         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
2373         function to emit the clicked signal on a column
2374         
2375         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
2376         state of an event
2377         (gdk_event_get_time): don't treat GDK_SCROLL 
2378         as a button event, remove default case from switch so gcc 
2379         will whine if we don't explicitly handle all event types
2380
2381         * gtk/gtktreeselection.h: added some FIXME 
2382         
2383         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
2384         "columns" to "n_columns" and "column" to "columns" for clarity
2385
2386 2000-12-16  Havoc Pennington  <hp@pobox.com>
2387         
2388         * gtk/gtktextiter.c: General cleanup of the log attr iteration
2389         stuff. This should make e.g. the delete key work again in the
2390         text widget...
2391         (gtk_text_iter_forward_cursor_positions): handle negative count
2392         (gtk_text_iter_backward_cursor_positions): handle negative count
2393         (gtk_text_iter_forward_word_ends): handle negative count
2394         (gtk_text_iter_backward_word_starts): handle negative count
2395
2396         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
2397         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
2398         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
2399         GObject. No doubt will cause breakage.
2400
2401         * demos/gtk-demo/textview.c: remove hacks around
2402         non-GObject-ification of the text objects
2403
2404         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
2405         the text tag
2406         
2407 2000-12-14  Havoc Pennington  <hp@pobox.com>
2408
2409         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
2410         that we have Xrender
2411
2412 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
2413
2414         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
2415         Add two virtualized functions gdk_drawable_get_clip_region - to
2416         get the clip region when drawing.
2417         
2418         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
2419         use invalidate_region.
2420
2421         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
2422         region.
2423
2424         * acconfig.h configure.in: Check for Xft. For now, assume
2425         that if Xft is found, Pango was compiled with Xft support
2426         as well.
2427
2428         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
2429         gdk_colormap_query_color().
2430         
2431         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
2432         with Xft if appropriate.
2433
2434         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
2435         a pangoxft context if we have XFT and the environment
2436         variable GD_USE_XFT is set.
2437         
2438         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
2439         and also possibly an XftDraw structure.
2440
2441         * gtk/gtkfontsel.c: Handle the case where the font from the
2442         style doesn't match any of the fonts a bit better.
2443         
2444         * gtk/testgtk.c: Add tabs between directional segments for
2445         hebrew/arabic test. (Not really necessary, just a little
2446         prettier.)
2447
2448 2000-12-14  Havoc Pennington  <hp@redhat.com>
2449
2450         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
2451         reading a file
2452
2453 2000-12-14  Havoc Pennington  <hp@redhat.com>
2454
2455         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
2456         unused call to get_last_line()
2457
2458         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
2459         here until boxed is working (and maybe after that - we should
2460         really not gratuitously break old code)
2461
2462         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
2463         specific types for font_desc and tabs args, move them to
2464         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
2465         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
2466
2467         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
2468         use GTK_TYPE_POINTER for signal signatures as a hack-around
2469
2470         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
2471         PangoTabArray
2472
2473         * gtk/gtktextlayout.c (line_display_iter_to_index): 
2474         make static
2475         (line_display_index_to_iter): make static
2476
2477         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
2478         to marshal a string not a boxed
2479
2480         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
2481
2482         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
2483         since the UTF-8 isn't validated yet
2484
2485         * gtk/gtktextsegment.c (char_segment_check_func): don't require
2486         lines to end in '\n'
2487         
2488         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
2489         forward_to_delimiters, and grapheme boundaries
2490         (gtk_text_view_delete_from_cursor): properly handle non-newline
2491         delimiters, and grapheme boundaries
2492
2493         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
2494         to gtk_text_iter_forward_to_delimiters, and make it work properly
2495         if empty lines end with a character other than '\n'
2496
2497         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
2498         position
2499
2500 2000-12-15  Tor Lillqvist  <tml@iki.fi>
2501
2502         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
2503
2504         * gtk/gtk.def
2505         * gdk/gdk.def: Update.
2506
2507         * gdk/win32/gdkmain-win32.c
2508         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
2509         gdkmain-win32.c here.
2510
2511         * gdk/win32/makefile.mingw.in (all): No need to make
2512         gdk-win32res.o here, the makefile one step up will call us to make
2513         it.
2514
2515         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
2516         gdkkeys-win32.
2517
2518         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
2519
2520         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
2521         call to g_source_add().
2522
2523         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
2524         leak. Thanks to Andreas Kemnade.
2525
2526 2000-12-13  Havoc Pennington  <hp@pobox.com>
2527
2528         * gtk/gtktextbtree.h: Remove double _ in front of some functions
2529
2530         * gtk/gtktext*.[hc]: update accordingly
2531         
2532 2000-12-13  Havoc Pennington  <hp@pobox.com>
2533
2534         * gtk/gtktextbtree.h: Put _ in front of every function in this 
2535         header file
2536
2537         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
2538
2539 2000-12-13  Alex Larsson  <alexl@redhat.com>
2540
2541         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
2542         Add support for ps2 intellimouse.
2543
2544         * gdkkeyboard-fb.c:
2545         Move shift-F1 repaint handling to xlate handler only.
2546         
2547         * docs/README.linux-fb:
2548         Add imps2 to docs.
2549         Document the new refresh keys.
2550         
2551 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
2552
2553         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
2554
2555         * gtk/gtkbox.c: change property types from (u)long to (u)int for
2556         ::position and ::padding.
2557
2558         * gtk/gtkcontainer.c: make ::border_width an INT property.
2559
2560         * gtk/gtkpacker.c: make ::position an INT property.
2561
2562         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
2563         guard against NULL h/v scrollbars, since this is used at construction
2564         time.
2565
2566         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
2567         internal gtk_clist_constructor().
2568
2569         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
2570         gtk_ctree_constructor().
2571
2572         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
2573         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
2574
2575         * docs/reference/Makefile.am: fun stuff, disabled docs generation
2576         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
2577
2578         * gtk/gtkwidget.[hc]:
2579         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
2580         and gtk_widget_get().
2581         (gtk_widget_new): use g_object_new_valist().
2582         (gtk_widget_set): use g_object_set_valist().
2583
2584         * gtk/gtkobject.[hc]:
2585         removed gtk_object_arg_get_info(), gtk_object_getv(),
2586         gtk_object_query_args(), gtk_object_newv(),
2587         gtk_object_class_add_signals(),
2588         gtk_object_class_user_signal_new(),
2589         gtk_object_class_user_signal_newv(),
2590         gtk_object_arg_set(), gtk_object_arg_get(),
2591         gtk_object_args_collect(),
2592         gtk_object_default_construct(),
2593         gtk_object_constructed(),
2594         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
2595         removed nsignals, signals and n_args members from GtkObjectClass.
2596         (gtk_object_new): use g_object_new_valist().
2597         (gtk_object_set): use g_object_set_valist().
2598         (gtk_object_get): use g_object_get_valist().
2599         
2600         * gtk/gtkcompat.h: define gtk_object_default_construct().
2601         
2602         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
2603         g_object_new().
2604
2605         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
2606         fucntions, cleaned up method assignments (make sure your structures
2607         are setup properly before calling out). removed all GTK_CONSTRUCTED
2608         hacks ;)
2609
2610 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
2611
2612         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
2613         off-by-one error in checks. (Dave Lambert)
2614
2615 2000-12-12  Alexander Larsson  <alexl@redhat.com>
2616
2617         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
2618         Don't free gdk_fb_keyboard twice.
2619
2620 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
2621
2622         * gtk/testgtk.c:
2623         (create_tooltips): 
2624         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
2625         use GObject swapped_signal:: properties instead.
2626
2627         * gtk/gtkcellrenderertoggle.c: 
2628         * gtk/gtkcellrenderertextpixbuf.c: 
2629         * gtk/gtkcellrenderertext.c: 
2630         * gtk/gtkcellrendererpixbuf.c: 
2631         * gtk/gtkcellrenderer.c:
2632         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
2633         missing warnings for invalid property ids, install properties
2634         with g_object_class_install_property() now.
2635         
2636         * gtk/gtksignal.c:
2637         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
2638         
2639 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
2640         
2641         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
2642         to determine if a window is the focus widget within
2643         its toplevel.
2644
2645         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
2646         to be boolean.
2647
2648         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
2649         of the case where the container CAN_FOCUS to here instead
2650         of having it in each individual move-the-focus place.
2651
2652         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
2653         focusing to be geometric in a much more obvious sense. Arrowing
2654         around is still non-intuitive because it isn't perfect and
2655         because entries, etc, grab the arrow keys, but it at least
2656         usually will do what you expect now.
2657         
2658         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
2659         file.
2660
2661         * gtk/gtknotebook.c: Change tabs to be a single item in
2662         the focus chain. Make movement of focus on tabs with arrow
2663         keys wrap around.
2664         
2665         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
2666         CHECK_FIND_CHILD macro to give informative error messages
2667         instead of silent returns.
2668
2669         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
2670         flag since we handle GdkReturn on the tabs.
2671
2672         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
2673         windows rather than sending expose events directly.
2674
2675         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
2676         definition for GtkNotebookPage into .c file, since it is private.
2677
2678         * gtk/testgtk.c (create_notebook): Add option for 
2679         testing borderless notebook.
2680
2681         * gtk/testgtk.c (page_switch): Removed egregious poking
2682         around in GTK+ internals.
2683
2684         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
2685
2686         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
2687         properly through gtk_clist_focus. Make the title headers a
2688         single item in the tab-focus chain, and make left-right wrap
2689         around.
2690
2691         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
2692         focus method so that wrapping around works properly.
2693
2694         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
2695         that is handled for the widget now. 
2696
2697 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
2698
2699         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
2700         widgets as TOPLEVEL.
2701
2702         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
2703         TOPLEVEL widgets are containers.
2704
2705         * gtk/gtkinvisible.h: Remove useless include.
2706
2707 2000-12-11  Havoc Pennington  <hp@redhat.com>
2708
2709         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
2710         Handle chopping off \r\n and 0x2029 in addition to \n before
2711         passing to PangoLayout
2712
2713         * gtk/gtkimcontextsimple.c
2714         (gtk_im_context_simple_get_preedit_string): 
2715         return an empty string if no match is pending
2716
2717         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
2718         assertion that the returned preedit string was sane
2719
2720         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
2721         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
2722         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
2723
2724 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
2725
2726         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
2727         Fix up finalizer to chain to its parent.
2728
2729 2000-12-11  Alexander Larsson  <alexl@redhat.com>
2730
2731         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
2732         Clearified the difference between the keyboard types. Wrote a note
2733         about the magic sysrq key to get out of raw mode.
2734
2735 2000-12-09  James Henstridge  <james@daa.com.au>
2736
2737         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
2738         member to hold masks for detecting the start of a protocol packet.
2739         (mouse_devs): add packet start masks for ps2 and ms device types.
2740         Left the mask for fidmour blank, as I have no idea what it should
2741         be.
2742         (handle_mouse_io): skip bytes until we get to the start of a
2743         packet.  My Logitech mouse seems to be passing an extra NULL pad
2744         byte, and GPM does a similar thing here.
2745         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
2746         this is the ms mouse driver.
2747         (gdk_fb_mouse_ms_packet): fix up button handling, which was
2748         completely broken except for button1.  It was checking the wrong
2749         bit in the packet for the status of the right mouse button, and
2750         wrongly assuming right == button2 rather than 3.  I fixed that and
2751         also added support for middle button (button2).
2752
2753 2000-12-08  Havoc Pennington  <hp@redhat.com>
2754
2755         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
2756         that cause a segfault on text insertion
2757
2758         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
2759         warning
2760
2761         * gtk/gtktextiter.c (test_log_attrs): use
2762         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
2763
2764         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
2765         Get log attrs for a line, using a cache stored on the buffer
2766         
2767         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
2768         reported by Jeff Franks
2769
2770 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
2771
2772         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
2773         /dev/ttyS0 -> /dev/mouse
2774
2775 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
2776
2777         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
2778         Added dummy gdk_fontset_load.
2779
2780 2000-12-08  Alexander Larsson  <alexl@redhat.com>
2781
2782         * docs/README.linux-fb:
2783         * docs/Makefile.am:
2784         Initial GtkFB docs.
2785         
2786         * gdk/linux-fb/Makefile.am:
2787         Define GDK_DATA_PREFIX.
2788
2789         * gdk/linux-fb/gdkmain-fb.c:
2790         Fix typo.
2791         Change default display to /dev/fb0.
2792
2793         * gdk/linux-fb/gdkpango-fb.c:
2794         Add $(prefix)/share/fonts/ to font path.
2795         
2796 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
2797
2798         * gdk/linux-fb/gdkkeyboard-fb.c:
2799         New file containing the abstracted keyboard driver. Most code
2800         taken from gdkinput-ps2.c
2801
2802         * gdk/linux-fb/gdkinput-ps2.c:
2803         Removed file.
2804         
2805         * gdk/linux-fb/Makefile.am:
2806         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
2807
2808         * gdk/linux-fb/gdkcolor-fb.c:
2809         display->fb was renamed to display->fb_fd.
2810
2811         * gdk/linux-fb/gdkcursor-fb.c:
2812         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2813
2814         * gdk/linux-fb/gdkinput.c:
2815         Moved gdk_input_init here from gdkinput-ps2.c
2816
2817         * gdk/linux-fb/gdkmain-fb.c:
2818         display->fb was renamed to display->fb_fd.
2819         Now the tty and the console is opened here instead
2820         of in the keyboard driver. Also check GDK_VT to see what
2821         tty to open.
2822         Move gdk_beep () here from gdkinput-ps2.c
2823         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2824
2825         * gdk/linux-fb/gdkmouse-fb.c:
2826         Add header.
2827         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2828         Return correct keyboard modifiers.
2829         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
2830
2831         * gdk/linux-fb/gdkprivate-fb.h:
2832         Add tty and vt info to display.
2833         Add orignal modeinfo storage to display
2834         Update global functions
2835
2836         * gdk/linux-fb/gdkwindow-fb.c:
2837         Added gdk_fb_window_find_focus().
2838         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2839
2840 2000-12-07  Havoc Pennington  <hp@pobox.com>
2841
2842         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
2843         function, noticed by Alex
2844
2845 2000-12-06  Elliot Lee  <sopwith@redhat.com>
2846
2847         * configure.in: Detect freetype properly
2848
2849         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
2850         above.
2851
2852 2000-12-06  Alexander Larsson  <alexl@redhat.com>
2853
2854         * gdk/linux-fb/Makefile.am:
2855         Add gdkmouse-fb.c
2856         
2857         * gdk/linux-fb/gdkmouse-fb.c:
2858         New file. Abstracted the mouse drivers a bit.
2859
2860         * gdk/linux-fb/gdkcursor-fb.c:
2861         The cursor hide/show functions was moved here from gdkinput-ps2.c.
2862
2863         * gdk/linux-fb/gdkinput-ps2.c:
2864         Removed old mouse handling code. Moved cursor handling code
2865         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
2866         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
2867         gdk_mouse_get_info.
2868
2869         * gdk/linux-fb/gdkmain-fb.c:
2870         Pass NULL pointers for x,y in gdk_mouse_get_info call.
2871
2872         * gdk/linux-fb/gdkprivate-fb.h:
2873         Removed public gdk_fb_find_common_ancestor, added and renamed
2874         functions for the new mouse handling code.
2875
2876         * gdk/linux-fb/gdkwindow-fb.c:
2877         Moved gdk_fb_window_send_crossing_events here. added global
2878         variable gdk_fb_window_containing_pointer. made
2879         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
2880         renamed to gdk_mouse_get_info.
2881
2882 2000-12-06  Alexander Larsson  <alexl@redhat.com>
2883
2884         * gdk/linux-fb/gdkevents-fb.c:
2885         Update to match latest gmain/gsource changes.
2886
2887         * gdk/linux-fb/gdkinput-ps2.c:
2888         Bogus gdk_keymap_get_entries_for_keycode implementation so that
2889         it links. Will be implemented later.
2890
2891 2000-12-03  Havoc Pennington  <hp@pobox.com>
2892
2893         * gdk/Makefile.am: add gdkkeys.[hc]
2894
2895         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
2896         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
2897
2898         * acconfig.h, configure.in: add checks and command line options
2899         for XKB
2900
2901         * gdk/x11/gdkkeys-x11.c: Implement the above functions
2902         
2903         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
2904         and group in the key event
2905
2906         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
2907         field with the low-level hardware key code, and a group
2908         field with the keyboard group
2909
2910         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
2911         and declare a couple globals used for keymap handling
2912         
2913         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
2914         hold down Shift-Control and type a hex number to get a Unicode 
2915         character corresponding to the hex number
2916         (gtk_im_context_simple_get_preedit_string): Fix cursor position
2917         (return bytes not chars)
2918
2919 2000-12-05  Elliot Lee  <sopwith@redhat.com>
2920
2921         * gdk/gdkcolor.h: Make GdkColor specify element sizes
2922         to avoid waste on 64-bit platforms.
2923
2924 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
2925
2926         * INSTALL: Fix link to PNG home, remove reference
2927         to fribidi.
2928
2929         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
2930         
2931         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
2932         tested.)
2933
2934         * gtk/gtkcheckmenuitem.c: Permanently turn on
2935         always_show_toggle.
2936
2937         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
2938         be NULL. (Vladimir Klebanov, #26545)
2939
2940         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
2941         some signed/unsigned comparison problems. (#6510,
2942         David Kaelbling)
2943
2944         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
2945         return type to boolean (Oskar Liljeblad, #18648)
2946
2947 2000-12-05  Alexander Larsson  <alexl@redhat.com>
2948
2949         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
2950         Remove bogus colormap setting.
2951
2952 2000-12-05  Alexander Larsson  <alexl@redhat.com>
2953
2954         * gdk/linux-fb/gdkcolor-fb.c:
2955         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
2956
2957         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
2958         Must set colormap.
2959         
2960 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
2961
2962         * docs/tutorial/gtk-tut.sgml: DND updates
2963
2964 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
2965
2966         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
2967         Remove old debug g_warning().
2968         (gdk_fb_draw_drawable): The src argument can be either a wrapper
2969         or an implementation, just pass the implementation to draw_drawable_2.
2970         
2971         * gdk/linux-fb/gdkprivate-fb.h:
2972         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
2973
2974         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
2975         clear and invalidate area when window is destroyed.
2976         (send_map_events): Remove old commented out code.
2977
2978 2000-12-05  Alexander Larsson  <alexl@redhat.com>
2979
2980         * gdk/linux-fb/gdkpango-fb.c:
2981         Use italic instead of oblique in font aliases.
2982         
2983         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
2984         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
2985         other unsupported functions.
2986
2987 2000-12-04  Havoc Pennington  <hp@redhat.com>
2988
2989         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
2990
2991         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
2992
2993         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
2994
2995         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
2996         hack to avoid infinite loops (synthetic expose event) - 
2997         Owen has more appropriate fixes in a branch he'll check in later.
2998
2999         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
3000         separator, CR, and CRLF as line ends
3001
3002         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
3003         into lines using pango_find_paragraph_boundary(); other bits of
3004         the widget are still going to be broken if the boundary isn't '\n'
3005         though
3006
3007 2000-12-04  Alexander Larsson  <alexl@redhat.com>
3008
3009         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
3010         multiply.
3011
3012         * gdk/linux-fb/gdkpango-fb.c:
3013         Copied some 26.6 scaling macros from pango to clean up the rounding.
3014         (pango_fb_font_get_glyph_info): Correct sign on x value.
3015
3016         * gdk/linux-fb/gdkprivate-fb.h:
3017         Removed unreferenced external functions.
3018
3019         * modules/linux-fb/Makefile.am: Use ` instead of '.
3020
3021         * modules/linux-fb/basic.c:
3022         Remove dead code. In particular the dummy lang engine which broke all
3023         pango layouts in GtkFB. Don't include tables-big.i anymore.
3024
3025         * modules/linux-fb/tables-big.i:
3026         Upgrade to latest version from pango. Left for reference, basic_ranges
3027         moved to basic.c.
3028         
3029 2000-12-04  Havoc Pennington  <hp@redhat.com>
3030
3031         Fix bugs Alex found:
3032         
3033         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
3034         to "draw"
3035
3036         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
3037
3038         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
3039
3040         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
3041         implementation in here, apparently the expose() implementation was
3042         dead code.
3043
3044 2000-12-04  Alexander Larsson  <alexl@redhat.com>
3045
3046         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
3047         Return positive descent.
3048
3049 2000-12-02  Havoc Pennington  <hp@pobox.com>
3050
3051         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
3052         method and signal
3053         
3054         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
3055         calls gdk_window_process_updates() to push the exposes through
3056         (gtk_widget_class_init): No more draw signal, no
3057         gtk_widget_real_draw()  
3058         
3059         * gtk/gtkbin.c (gtk_bin_draw): remove
3060
3061         * gtk/gtkbox.c (gtk_box_draw): remove
3062
3063         * gtk/gtkbutton.c (gtk_button_draw): remove
3064
3065         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
3066
3067         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
3068
3069         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
3070
3071         * gtk/gtkclist.c (gtk_clist_draw): remove
3072
3073         * gtk/gtkentry.c (gtk_entry_draw): remove
3074
3075         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
3076
3077         * gtk/gtkfixed.c (gtk_fixed_draw): remove
3078
3079         * gtk/gtkframe.c (gtk_frame_draw): remove
3080
3081         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
3082
3083         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
3084
3085         * gtk/gtklayout.c (gtk_layout_draw): remove
3086
3087         * gtk/gtklist.c (gtk_list_draw): remove
3088
3089         * gtk/gtklistitem.c (gtk_list_item_draw): remove
3090
3091         * gtk/gtkmenu.c (gtk_menu_draw): remove
3092
3093         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
3094
3095         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
3096
3097         * gtk/gtknotebook.c (gtk_notebook_draw): remove
3098
3099         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
3100
3101         * gtk/gtkpacker.c (gtk_packer_draw): remove
3102
3103         * gtk/gtkrange.c (gtk_range_draw): remove
3104
3105         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
3106
3107         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
3108
3109         * gtk/gtktable.c (gtk_table_draw): remove
3110
3111         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
3112
3113         * gtk/gtktext.c (gtk_text_draw): remove
3114
3115         * gtk/gtktextview.c (gtk_text_view_draw): remove
3116
3117         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
3118
3119         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
3120
3121         * gtk/gtktree.c (gtk_tree_draw): remove
3122
3123         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
3124
3125         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
3126
3127         * gtk/gtkviewport.c (gtk_viewport_draw): remove
3128
3129         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
3130
3131         * gtk/gtkvscale.c (gtk_vscale_draw): remove
3132
3133         * gtk/gtkwindow.c (gtk_window_draw): remove
3134
3135 2000-20-01  Anders Carlsson  <andersca@gnu.org>
3136
3137         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
3138         a GtkToggleButton is both insensitive and active, it was being
3139         drawn by the GtkButton draw handler which doesn't check the
3140         state. Now it's calling gtk_toggle_button_paint instead.
3141         
3142 2000-12-01  Havoc Pennington  <hp@redhat.com>
3143
3144         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
3145         dangling pointers to the appearance attributes from the 
3146         line display
3147
3148         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
3149         width/height to mean "full width/height of drawable"
3150
3151         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
3152         click to select word/line
3153         
3154         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
3155         when getting log attrs. Get a slice, so that pixmaps and stuff
3156         are properly handled.
3157
3158         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
3159         paste into the selection (replaces selection now, previously
3160         crashed or added to selection). Reveals longstanding btree bug -
3161         select multiple lines, middle-click on the selection, boom. This
3162         isn't related to my changes though.
3163
3164         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
3165         PangoLogAttrs changes
3166         (gtk_entry_move_backward_word): ditto
3167
3168         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
3169         functions return bool whether the iter moved onto a
3170         dereferenceable position.
3171  
3172         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
3173         functions for motion in terms of display lines.
3174
3175         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
3176         get the buffer a mark is inside
3177         
3178 2000-12-01  Alexander Larsson  <alexl@redhat.com>
3179
3180         * gdk/linux-fb/Makefile.am:
3181         * modules/linux-fb/Makefile.am:
3182         Freetype 2 final uses freetype-config
3183
3184         * gdk/linux-fb/gdkpango-fb.c:
3185         Upgrade to use Freetype 2 final.
3186         More flexible support for font aliases, this also fixes a bug with
3187         GtkFontSelector, as the aliases must be visible in the font/family list,
3188         or GtkFontSelector reads uninitialized memory.
3189
3190 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
3191
3192         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
3193         XGetIMValues to properly terminate variable argument list, and do
3194         NULL return check for ic_values and xim_styles.
3195
3196         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
3197         Restore preedit state after XmbResetIC().
3198         
3199         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
3200         XvaCreateNestedList() should take XvaNestedList, but not
3201         XvaNestedList*.
3202
3203         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
3204         preedit_draw_callback, preedit_caret_callback): Match
3205         "preedit-changed" signal name to "preedit_changed" to be
3206         consistent to the spec.
3207
3208         * gtk/gtkimcontextsimple.c (check_table):
3209         Match "preedit-changed" to "preedit_changed" to be consistent
3210         to the spec.
3211
3212 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
3213
3214         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
3215         gc->clip_region == NULL>
3216
3217 2000-11-30  Tor Lillqvist  <tml@iki.fi>
3218
3219         Changes by Hans Breuer:
3220         
3221         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
3222         Dont't use negative width and height as max_hints. This fixes
3223         Owen's recent testgtk changes for win32.
3224
3225         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
3226         gdk_win32_hdc_release): These are exported and may be called with
3227         other drawable types than our GdkDrawableImplWin32 (?).
3228
3229         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
3230         so always #define USE_BACKING_STORE.
3231
3232         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
3233         of printf for debugging output.
3234
3235         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
3236         
3237         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
3238
3239         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
3240         declaration.
3241
3242         * gtk/gtktexttypes.h: Ditto.
3243
3244         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
3245         (GDK_VoidSymbol) also if in case of arg check failure.
3246
3247         * gtk/gtkimcontextsimple.c
3248         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
3249         position to the pointer, but to the variable it points to.
3250
3251         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
3252
3253         * gtk/gtk.def: Updates.
3254
3255 2000-11-29  Elliot Lee  <sopwith@redhat.com>
3256
3257         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
3258         GTK_TYPE_TREE_MODEL.
3259
3260 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3261
3262         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
3263         Set the size of the font from the description.
3264         (gdk_text_width): Gross hack that calculates the width
3265         of text by text_length * size/2. This is necessary because
3266         GtkLabel does some ugly gtk_string_width call to calculate
3267         an good size.
3268         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
3269
3270 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
3271
3272         * docs/tutorial/gtk-tut.sgml: DND updates
3273
3274 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3275
3276         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
3277         If you pass width or height == 0 to gdk_window_clear_area they
3278         should be calculated from the window size.
3279
3280 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3281
3282         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
3283         a grab, but no grab-cursor, use the cursor from the grabbed
3284         window. (gdk_fb_window_send_crossing_events): Send normal
3285         enter/leave notifications if grab and owner_events == TRUE.
3286
3287 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3288
3289         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
3290         Do implicit button grabs, even if the window doesn't
3291         want the event.
3292         (gdk_fb_window_send_crossing_events): If there is a
3293         grab, only the grabbed window gets normal enter/leave
3294         notifications. On ungrab go from grabbed window to current.
3295         Don't send any notification to b when propagating from c -> b.
3296         If setting a grab on window, don't set prev_window.
3297         (handle_mouse_input): Send enter/leave events to the window the
3298         mouse is over, not the grabbed one.
3299         
3300 2000-11-28  Elliot Lee  <sopwith@redhat.com>
3301
3302         * gdk/gdkregion-generic.c: Zap warning.
3303         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
3304         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
3305
3306 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
3307
3308         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
3309         The cursor should be hidden if it is part of either the
3310         source or destination region. Not only if it is in both.
3311         (gdk_window_set_transient_for): Silence warnings.
3312
3313 2000-11-28  Alexander Larsson  <alexl@redhat.com>
3314
3315         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
3316         The default mode in X is Pie Arcs, therefore that is
3317         what Gtk+ uses.
3318
3319 2000-11-28  Alexander Larsson  <alexl@redhat.com>
3320
3321         * gdk/linux-fb/gdkinput-ps2.c:
3322         Implement correct EnterNotify/LeaveNotify:
3323         (gdk_fb_window_send_crossing_events): New function that sends
3324         all GdkCrossingEvents from the last mouse-window to the specified
3325         destination.
3326         (gdk_fb_window_visibility_crossing): Removed function.
3327         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
3328         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
3329         instead of gdk_window_get_pointer() for better readability.
3330
3331         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
3332         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
3333
3334         * gdk/linux-fb/gdkprivate-fb.h:
3335         removed gdk_fb_window_visibility_crossing, added
3336         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
3337
3338         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
3339         New function that finds the least common ancestor of two windows.
3340         (gdk_window_show, gdk_window_hide):
3341         Use gdk_fb_window_send_crossing_events.
3342         (gdk_fb_window_move_resize): Send configure events to toplevel
3343         windows. Use gdk_fb_window_send_crossing_events.
3344
3345 2000-11-27  Havoc Pennington  <hp@redhat.com>
3346
3347         * gtk/gtkprivate.h (enum): Remove a trailing comma
3348
3349 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
3350
3351         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
3352         the "changed" callback of the adjustment.  We need to redraw the
3353         spin button's arrows when the adjustment's range changes.
3354         (adjustment_changed_cb): Draw the arrows.
3355         (gtk_spin_button_value_changed): Draw the arrows.
3356
3357 2000-11-23  Alexander Larsson  <alexl@redhat.com>
3358
3359         * gdk/linux-fb/gdkselection-fb.c:
3360         Initial selection implementation.
3361
3362         * gtk/gtkselection.c:
3363         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
3364         requestor in gtk_selection_request.
3365         
3366         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
3367         Added gdk_selection_property atom.
3368
3369         * gdk/linux-fb/gdkprivate-fb.h:
3370         Export _gdk_selection_window_destroyed.
3371         Removed mask_off_x/y from GdkCursorPrivateFB.
3372         Removed hbearing, added top, left to PangoFBGlyphInfo.
3373
3374         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
3375         Call _gdk_selection_window_destroyed
3376         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
3377         the root window has been created.
3378         (static_dx_hack, static_dy_hack, compare_draw_rects,
3379         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
3380         in region. They are already sorted. Instead just traverse them in
3381         reverse if draw_direction < 0.
3382         
3383         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
3384         Double-clicks must be sent after the normal button_press.
3385         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
3386         
3387         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
3388         Pass _gdk_fb_screen_gc instead of NULL.
3389
3390         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
3391         Initialize gdk_selection_property.
3392         (gdk_event_make): Remove unused code.
3393
3394         * gdk/linux-fb/gdkcursor-fb.c:
3395         Make the pixmap for the cursor the same size as the mask. Also remove
3396         the mask_off_x/y fields in GdkCursorPrivateFB and combine
3397         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
3398         Now the whole cursor is visible.
3399
3400         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
3401         Fix bug where xdest+height instead of ydest+height was used
3402         to calculate if the source and dest overlapped. This fixes the
3403         redraw bug when the main window in testgtk was scrolled when
3404         partially covered by a tall window.
3405         Copy rectangles in region in order depending on draw_direction.
3406         Also moved the draw_direction flipping of start_y and end_y into
3407         the gc functions, as this might not be what all of them want.
3408         (gdk_fb_draw_lines): Support dashed lines.
3409         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
3410         so that the text is positioned correctly (was 1 pixel high).
3411
3412         gdk/linux-fb/gdkgc-fb.c:
3413         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
3414         all lines were drawn a pixel to short. Also checked the default of
3415         the rest of the values, and they're the same as X now.
3416
3417         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
3418         Clean up pixel positioning of the glyphs. Just use bgy->top and
3419         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
3420         to all divisions to get correct rounding behaviour.
3421
3422         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
3423         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
3424         Moved start_y/end_y flip into draw_drawable implementations.
3425         Flip also x rendering when draw_direction < 0.
3426         Remove unneccesary multiply with draw_direction.
3427
3428 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
3429
3430         * docs/tutorial/gtk-tut.sgml:
3431           - get rid of gtk_toggle_button_toggled FUD
3432           - start DND section - needs work - based on:
3433                 http://wolfpack.twu.net/docs/gtkdnd/
3434
3435 2000-11-22  Alexander Larsson  <alexl@redhat.com>
3436
3437         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
3438         Correct calculation of font metrics. Now GtkEntrys have sane
3439         size.
3440
3441 2000-11-22  Alexander Larsson  <alexl@redhat.com>
3442
3443         * gdk/gdktypes.h:
3444         Add new type GdkSpan
3445         
3446         * docs/reference/gdk/gdk-sections.txt,
3447         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
3448         gdk/gdkregion.h:
3449         Implement and document gdk_region_spans_intersect_foreach.
3450
3451         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
3452         Add new file gdkrender-fb.c which contains all core
3453         rendering code.
3454         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
3455         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
3456         (optimized rectangle fillers).
3457
3458         * gdk/linux-fb/gdkdrawable-fb2.c:
3459         Move all rendering code to gdkrender-fb.c.
3460         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
3461         Use the new span intersection functions in gdk_fb_fill_spans.
3462         gdk_fb_draw_rectangle() clips filled rectangles and calls
3463         gc->fill_rectangle with the result.
3464         gdk_fb_fill_spans() gets extra argument "sorted".
3465
3466         * gdk/linux-fb/gdkevents-fb.c:
3467         Remove unused includes and defines.
3468         New function gdk_fb_get_time() to get correct time for events.
3469
3470         * gdk/linux-fb/gdkinput-ps2.c:
3471         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
3472         Make sure to set the time of all events.
3473
3474         * gdk/linux-fb/gdkmain-fb.c:
3475         Use gdk_fb_get_time ().
3476
3477         * gdk/linux-fb/gdkprivate-fb.h:
3478         New virtual GC calls: fill_span & fill_rectangle.
3479         Export gdk_fb_get_time().
3480         gdk_fb_fill_spans() gets extra argument "sorted".
3481
3482         * gdk/linux-fb/mi*.c:
3483         Use GdkSpan instead of GdkRectangle.
3484         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
3485         from XFree 4 source)
3486         
3487 2000-11-22    <jrb@redhat.com>
3488
3489         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
3490         reversing the order in an if statement will do.  Doing so managed
3491         to make the treemodelsort half work.  Other half will follow after
3492         I get the insert function fully fixed.
3493
3494 2000-11-21  Elliot Lee  <sopwith@redhat.com>
3495         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
3496         more than 2 bits. Besides, I need to implement an evil hack. :)
3497
3498 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
3499
3500         * docs/tutorial/gtk-tut.sgml: minor corrections
3501
3502 2000-11-20  Jonathan Blandford <jrb@redhat.com>
3503         * gtk/gtktreemodelsort.h: Add convertion functions to let you
3504           convert to and from relative path's and iters.
3505
3506         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
3507           testing sorting functions a bit better.  Currently broken -- will
3508           fix in morning.
3509
3510 2000-11-20  Havoc Pennington  <hp@redhat.com>
3511
3512         * gtk/gtkwidget.c: Documented a bunch of functions in here
3513         (gtk_widget_realize): Warn if you try to realize
3514         a widget with no parent that isn't a toplevel
3515         (gtk_widget_intersect): return a gboolean
3516
3517 2000-11-20  Havoc Pennington  <hp@redhat.com>
3518
3519         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
3520         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
3521         scrolling to be implemented in GDK to finish. Also, right now
3522         we just size_allocate all children on every layout change,
3523         which is pretty lame. Test commented out of testtext.c, 
3524         until it works better.
3525
3526 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
3527
3528         * gdk/linux-fb/gdkdrawable-fb2.c:
3529         Removed unused arguments from gdk_fb_drawable_get_pixel().
3530
3531         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
3532         Renamed fidur specific mouse packet data in MouseDevice to
3533         generic. Used it in ps2 mouse handling code to avoid blocking
3534         reads.
3535
3536 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
3537
3538         * demos/gtk-demo/main.c: Changed to have the list become
3539         non-italic when the demo window is destroyed through an external
3540         event (like a close button).  Doing so found three bugs in the
3541         widget.
3542
3543         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
3544
3545         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
3546         we actually set the cell.
3547
3548         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
3549
3550         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
3551         free a leaked path.  Thanks memprof.
3552
3553 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
3554
3555         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
3556         off-by-one error when destroying allocated segments
3557         on failure. (Elliot)
3558
3559 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
3560
3561         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
3562         memleaks found by Evan Martin.
3563
3564 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
3565
3566         * Released 1.3.2
3567         
3568         * NEWS: Updates for 1.3.2
3569
3570 2000-11-17  Tor Lillqvist  <tml@iki.fi>
3571
3572         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
3573         but in general for window system specific events.
3574
3575         * gtk/gtk.def
3576         * gtk/makefile.mingw.in
3577         * gtk/makefile.msc.in: Update.
3578         
3579         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
3580
3581 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
3582
3583         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
3584         distribute gtk.immodules.
3585
3586         * gtk/Makefile.am (install-data-local): Don't install the
3587         gtk.immodules file created for the uninstalled modules;
3588         instead run gtk-query-immodules after install
3589
3590 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
3591
3592         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
3593         -rpath to the right install location.
3594
3595         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
3596         -export-dynamic.
3597
3598         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
3599         properly.
3600
3601 2000-11-15  Havoc Pennington  <hp@pobox.com>
3602
3603         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
3604         patch from Mikael Hermansson to temporarily stop blinking while
3605         the user is using the keyboard to type or navigate. 
3606
3607         Also, when blinking, stay on for longer than we stay off. Also,
3608         return from start_cursor_blink if !cursor_visible, to save
3609         checking that flag all over the place before we call
3610         start_cursor_blink.
3611
3612 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
3613
3614         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
3615         only contain a "fontset" line, which is now ignored.
3616
3617         * gtk/gtkentry.c (gtk_entry_button_release): Make 
3618         double-click-to-select-word work.
3619         
3620 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
3621
3622         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
3623         Don't move back one char when we are actually at the end of the 
3624         paragraph.
3625
3626 2000-11-15  Robert Brady  <robert@suse.co.uk>
3627
3628         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
3629         'o' < 'p'.
3630         
3631         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
3632         bind_textdomain_codeset.
3633
3634         (gtk_init_check): Make the warning about translating default:LTR
3635         sterner.
3636         
3637 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
3638
3639         * **/Makefile.am : remove unecessary rules for win32-specific
3640         config-substituted targets. If you want these rules, use
3641         --enable-maintainer-mode (called automatically by autogen.sh).
3642         Stops a lot of unneccessary make-time warnings.
3643
3644         * gtk/gtktext{layout,display}.c: Factor in total width as
3645         well as screen when figuring alignment for word-wrap as well as
3646         no wrap; this is necessary to handle lines that cannot be wrapped
3647         at all.
3648
3649 2000-11-15  Havoc Pennington  <hp@redhat.com>
3650
3651         * gtk/testtext.c: Implement essential color cycling feature
3652
3653 2000-11-15  Havoc Pennington  <hp@redhat.com>
3654
3655         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
3656         when we invalidate the main window.
3657
3658         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
3659         GtkTextView will now invalidate the side windows for us when text
3660         changes.
3661
3662 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
3663
3664         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
3665         unconditionally, since we may need to update the horizontal
3666         scrollbars even if the height didn't change.
3667
3668         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
3669         the extra attrs, since some of them affect size.
3670
3671         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
3672         x_offset correctly.
3673
3674 2000-11-15  Havoc Pennington  <hp@redhat.com>
3675
3676         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
3677         don't move the first line out into the margin, instead move the
3678         whole paragraph in order to make space for the first line within 
3679         the margin
3680
3681 2000-11-15  Havoc Pennington  <hp@redhat.com>
3682
3683         * gtk/gtktextview.c (changed_handler): offset redraw rect by
3684         xoffset in addition to yoffset, so horizontal scrolling doesn't
3685         break redraws
3686
3687 2000-11-15  Havoc Pennington  <hp@redhat.com>
3688
3689         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
3690         from the cursor
3691         (render_layout_line): fix reversed test that caused weird
3692         underlines to get drawn
3693
3694 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
3695
3696         * gdk/linux-fb/gdkprivate-fb.h:
3697         Fix debug macros.
3698         
3699 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
3700
3701         * gdk/linux-fb/gdkprivate-fb.h:
3702         Added virtual functions set_pixel, get_color,
3703         fill_span and draw_drawable to the GC.
3704         Added global _gdk_fb_screen_gc to use instead of
3705         NULL when drawing to the screen.
3706         Added _gdk_fb_gc_calc_state() prototype.
3707
3708         * gdk/linux-fb/gdkgc-fb.c:
3709         Call _gdk_fb_gc_calc_state() on any gc state change.
3710
3711         * gdk/linux-fb/gdkglobals-fb.c:
3712         Add _gdk_fb_screen_gc
3713                 
3714         * gdk/linux-fb/gdkdrawable-fb2.c:
3715         _gdk_fb_gc_calc_state() calculates best functions
3716         for the GC state and depth.
3717         Moved bpp specialized code to separate functions.
3718         Added optimized 24 bpp AA draw_drawable.
3719
3720         * gdk/linux-fb/gdkevents-fb.c:
3721         Silence gcc warning.
3722
3723         * gdk/linux-fb/gdkimage-fb.c:
3724         Use _gdk_fb_screen_gc
3725
3726         * gdk/linux-fb/gdkwindow-fb.c:
3727         Init and use _gdk_fb_screen_gc
3728
3729         * gdk/linux-fb/mitypes.h:
3730         Remove unused types.
3731
3732 2000-11-14  Havoc Pennington  <hp@pobox.com>
3733
3734         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
3735         to pixels
3736
3737 2000-11-14  Havoc Pennington  <hp@pobox.com>
3738
3739         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
3740
3741         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
3742         unknown char, no real reason we were using a variable. 
3743         Remove gtk_text_unknown_char variable. Fix all the text widget
3744         files accordingly.
3745
3746         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
3747         since the Unicode spec seems to prefer that character for our
3748         purposes.
3749
3750 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
3751
3752         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
3753         value of g_getenv() isn't freeable, so g_strdup it.
3754
3755         * modules/input/inuktitut.c: Inuktitut input method.
3756
3757         * modules/input/Makefile.am: Build this.
3758         
3759 2000-11-14  Elliot Lee  <sopwith@redhat.com>
3760
3761         * gtk/Makefile.am: Install gtk.immodules, needed for operation
3762         of gtk programs.
3763
3764 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
3765
3766         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
3767         reversed > that was causing Home to go to end of previous line.
3768
3769         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
3770         modified-keypresses (leave for bindings.)
3771
3772         * modules/input/Makefile.am: Remove useless -export-dynamic
3773         from module LDFLAGS.
3774
3775 2000-11-14  Havoc Pennington  <hp@redhat.com>
3776
3777         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
3778         higher.
3779
3780         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
3781         account. Also, render rise, underline, background, etc. for
3782         pixbufs as well as text. Also, draw underlines one pixel higher.
3783
3784         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
3785         PangoAttribute for the rise, so it gets drawn properly. Also,
3786         add the GtkTextAppearance attribute for pixbuf/widget segments
3787         as well; we should go ahead and have rise, underline, background,
3788         stipple work for those
3789
3790         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
3791         Pango
3792
3793 2000-11-15  Tor Lillqvist  <tml@iki.fi>
3794
3795         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
3796
3797         * gtk/gtk.def: Update.
3798
3799         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
3800         included.
3801         (gtk_rc_get_im_module_file): Use run-time installation directory
3802         on Win32.
3803
3804         * gdk/win32/rc/gdk.rc: Remove.
3805         * gdk/win32/rc/gdk.rc.in: New file.
3806         * gdk/win32/rc/Makefile.am: New file
3807         * gdk/win32/Makefile.am: Corresponding changes.
3808
3809         * gtk/gtk.rc: Remove.
3810         * gtk/gtk-win32.rc.in: New file.
3811         * gtk/Makefile.am: Corresponding changes.
3812
3813         * configure.in: Corresponding changes.
3814
3815         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
3816         has a built gtkcompat.h. Developers using CVS code on Win32 can
3817         hand-edit it from gtkcompat.h.in.
3818
3819         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
3820         gtkcompat.h from gtkcompat.h.win32.
3821
3822 2000-11-14  Havoc Pennington  <hp@redhat.com>
3823
3824         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
3825         to default to GDK_ACTION_MOVE if the drag is within a single
3826         widget. Defaults to GDK_ACTION_COPY between widgets.
3827
3828 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
3829
3830         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
3831
3832         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
3833
3834         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
3835         srcdir != builddir
3836
3837         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
3838
3839         * configure.in (GTK_VERSION): Up to 1.3.2
3840
3841         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
3842         gtkimcontextxim.h
3843
3844         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
3845         missing doc comment.
3846
3847 2000-11-14  Alexander Larsson  <alexl@redhat.com>
3848
3849         * modules/linux-fb/basic.c:
3850         Use the glib iconv wrappers.
3851
3852 2000-11-13  Havoc Pennington  <hp@pobox.com>
3853
3854         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
3855         still more bugs.
3856
3857         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
3858         scroll the GdkWindows before realization.
3859
3860 2000-11-13  Havoc Pennington  <hp@redhat.com>
3861
3862         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
3863         where GC didn't always get updated properly
3864
3865         * demos/gtk-demo/textview.c (create_tags): Use subattributes
3866         of fonts instead of setting the entire font
3867
3868         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
3869         setting entire font
3870
3871         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
3872
3873         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
3874         a bunch of individually-settable font attributes. You can still 
3875         use the "font" and "font_desc" args, they just set all the font
3876         attributes at once.
3877
3878 2000-11-13 Elliot Lee <sopwith@redhat.com>
3879
3880         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
3881
3882 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
3883
3884         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
3885         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
3886
3887         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
3888         work better.
3889
3890 2000-11-13  Havoc Pennington  <hp@redhat.com>
3891
3892         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
3893         the module file.
3894
3895         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
3896         dest->language
3897
3898         * gtk/testtext.c: Test pixels above/below/inside paragraphs
3899         settings
3900
3901         * gtk/gtktextview.c: Implement object args and setters/getters for
3902         all the aspects of the GtkTextAttributes that are not set from
3903         GtkWidget attributes. This is spacing, justification, margins,
3904         etc.
3905
3906         (gtk_text_view_set_arg)
3907         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
3908         args
3909         (gtk_text_view_class_init): Add args for justify, left_margin,
3910         right_margin, indent, and tabs
3911         
3912
3913         * gtk/gtktextlayout.c (set_para_values): fix to display indent
3914         attribute properly
3915
3916         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
3917         replace with indent attribute
3918
3919         * gtk/gtktextlayout.c (set_para_values): multiply indent by
3920         PANGO_SCALE
3921
3922         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
3923         rearranging code to do that
3924         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
3925         i.e. don't subtract the top_margin first, just to keep
3926         all margin-futzing in one place.
3927
3928         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
3929
3930         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
3931         special case of last line, Pango now handles this itself.
3932         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
3933         Y coordinate
3934         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
3935         (find_display_line_above): wasn't moving the byte index as it
3936         iterated over lines, so always returned byte 0. Also, port to use
3937         PangoLayoutIter.
3938         (find_display_line_below): same problem as
3939         find_display_line_above. Also, port to use PangoLayoutIter.
3940
3941 2000-11-13  Alexander Larsson  <alexl@redhat.com>
3942
3943         * gdk/linux-fb/*.[ch]:
3944         Massive reindent to gtk+ standard. My hands hurt.
3945
3946         * gdk/linux-fb/gdkcolor-fb.c:
3947         Move GdkColorPrivateFB from inherited to windowing_data
3948
3949         * gdk/linux-fb/gdkcursor-fb.c:
3950         _gdk_cursor_new_from_pixmap made static
3951
3952         * gdk/linux-fb/gdkdnd-fb.c:
3953         GdkDragContextPrivate moved to windowing_data
3954
3955         * gdk/linux-fb/gdkdrawable-fb2.c:
3956         Removed endian.h, use glib endianness macros instead
3957         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
3958         and GDK_DRAWABLE_IMPL_FBDATA
3959
3960         * gdk/linux-fb/gdkfont-fb.c:
3961         Add empty gdk_font_load(). Needed for linking of Gtk+.
3962
3963         * gdk/linux-fb/gdkimage-fb.c:
3964         Removed endian.h, use glib endianness macros instead
3965         Moved GdkImagePrivateFB to windowing_data
3966         gdk_image_new_bitmap didn't always allocate enough
3967         memory.
3968
3969         * gdk/linux-fb/gdkinput-ps2.c:
3970         Added semi-working support for MS serial mice.
3971
3972         * gdk/linux-fb/gdkprivate-fb.h:
3973         s/GdkWindowPrivate/GdkWindowObject/
3974         Removed GdkWindowPrivate typedef
3975         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
3976         Removed GDK_DRAWABLE_P
3977         Move GdkColorPrivateFB from inherited to windowing_data
3978         Moved GdkImagePrivateFB to windowing_data
3979
3980         * gdk/linux-fb/gdkvisual-fb.c:
3981         Removed some unused debug code.
3982
3983         * gdk/linux-fb/gdkwindow-fb.c:
3984         Use stock cursors instead of including X headers.
3985         s/GdkWindowPrivate/GdkWindowObject/
3986
3987         * gdk/linux-fb/mitypes.h:
3988         Removed unused types.
3989
3990         * modules/linux-fb/basic.c:
3991         Use the pango fribidi wrappers.
3992
3993 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
3994
3995         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
3996         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
3997         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
3998         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
3999         GEqualFunc where applicable.
4000         
4001         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
4002         pango_font_description_equal as changed in pango.
4003         
4004         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
4005
4006         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
4007
4008         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
4009
4010         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
4011
4012         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
4013
4014         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
4015
4016         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
4017         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
4018
4019         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
4020         gtk_rc_styles_compare -> gtk_rc_styles_equal.
4021
4022 2000-11-12  Havoc Pennington  <hp@pobox.com>
4023
4024         * demos/gtk-demo/Makefile.am (democodedir): change demo install
4025         dir to datadir/gtk+-2.0/demo
4026
4027         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
4028         sorts of text widget and Pango font bugs. Urgh.
4029
4030         * demos/gtk-demo/Makefile.am (demos): Add textview.c
4031
4032         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
4033         tree that you should double click to see the demo. Fix 
4034         types of variables to reflect changed return values from 
4035         GtkTreeStore and GtkTreeViewColumn constructors.
4036
4037         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
4038         newly-created buffer to prepare for GObject semantics
4039
4040         * gtk/testtext.c: don't leak the buffer with GObject semantics
4041
4042         * gtk/testtextbuffer.c: ditto
4043         
4044 2000-11-12  Havoc Pennington  <hp@pobox.com>
4045
4046         Rename this testgtk to gtk-demo to avoid confusion, and 
4047         install it so people can use it as a supplement to 
4048         the documentation.
4049         
4050         * demos/gtk-demo: Moved from demos/testgtk
4051
4052         * demos/testgtk: Removed
4053
4054         * configure.in: make Makefile in gtk-demo
4055         
4056         * demos/gtk-demo/Makefile.am: Install sample source to 
4057         datadir/gtk-demo (maybe there's a better place?), and 
4058         rename the binary to gtk-demo
4059         
4060         * demos/gtk-demo/main.c (load_file): Load installed sample
4061         source if source isn't found in pwd.
4062
4063 2000-11-09  Havoc Pennington  <hp@pobox.com>
4064
4065         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
4066         argument to set the char displayed when visibility == FALSE
4067         (gtk_entry_create_layout): If !entry->visible, replace 
4068         all chars with the "invisible char"
4069
4070         * gtk/testgtk.c: Test the invisible_char deal
4071         
4072 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
4073
4074         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
4075         can't get a native font in the right encoding.
4076
4077 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
4078
4079         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
4080         respectively.
4081
4082 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
4083
4084         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
4085         Fix warning when moving between paragraphs.
4086
4087         * gtk/gtkentry.[ch]: Change move => move_cursor, 
4088         delete => delete_from_cursor, insert => insert_at_cursor
4089
4090 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
4091
4092         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
4093
4094         * modules/input/imthai-broken.c: A Thai input method for use if
4095         Thai keys are really generating Latin1 keysyms.
4096
4097         * modules/input/Makefile.am: Build these.
4098
4099 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
4100
4101         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
4102         g_filename_{to,from}_utf8 now takes an extra parameter.
4103
4104         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
4105         strftime into UTF-8.
4106
4107         (column_from_x, gtk_calendar_paint_day_names): Support RTL
4108         calendars.
4109
4110         (gtk_calendar_paint_day_names): Draw day names in the right 
4111         place.
4112         
4113 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
4114
4115         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
4116         problem with using result of g_get_charset() backwards -
4117         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
4118
4119         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
4120         negative min_width/height and max_width/height to
4121         mean "requisition"; this allows setting a window
4122         to be user-resizable in only one direction easily.
4123
4124         * gtk/testgtk.c (create_main_window): Remove hard-coded
4125         usize - set a default size in the vertical direction.
4126
4127 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
4128
4129         * gtk/gtkrange.c: Add some missing casts. Support 
4130         2 and 3 button clicks on the arrows to mean 
4131         "move by pages" and "jump to end". (Like gtkspinbutton)
4132
4133 2000-11-12 Hans Breuer <Hans@Breuer.Org>
4134
4135         * gdk/win32/makefile.msc : reflect build module changes
4136
4137         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
4138         from GdkPixmap*, cast implementation member instead.
4139
4140         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
4141         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
4142         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
4143         more Gdi functions return value checking. 
4144         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
4145         GdkImagePrivateWin32 *.
4146
4147         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
4148         menus useable again. Add #pragma message to keep reminded on this issue.
4149         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
4150         windows. This allows to enable backing store on Win32!
4151
4152         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
4153         in drawable is of impl type. Correct specific type checks appropriate.
4154  
4155         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
4156         GDK_WINDOW_DESTROYED before allocating new resources.
4157
4158         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
4159
4160         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
4161         (gdk_window_foreign_new) initialize parent handle.
4162         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
4163
4164         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
4165         Let the GDI invalidate the window on MoveWindow call to fix scrolling
4166         problems (e.g. main buttons in testgtk). 
4167
4168 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
4169
4170         * gtk/gtkentry.c (gtk_entry_key_press): Call 
4171         gtk_widget_activate for GDK_Return.
4172
4173         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
4174         of preedit cursor position.
4175
4176 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
4177
4178         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
4179         static.
4180
4181 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
4182
4183         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
4184         out support for multiple locales; that simple doesn't
4185         work reliably with current Xlib
4186
4187         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
4188         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
4189         Add support for positioning the cursor within the preedit string.
4190
4191 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
4192
4193         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
4194         at XIM input method module.
4195
4196         * gtk/gtktextview.c: Check for bindings after passing
4197         events to im context filter.
4198
4199 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
4200
4201         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
4202         empty attribute lists properly.
4203
4204 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
4205
4206         * gtk/queryimmodules.c (main): Return non-zero exit
4207         status if errors were encountered querying any
4208         modules.
4209
4210         * modules/input/Makefile.am (moduledir): remove
4211         leftover bin program target.
4212
4213         * docs/make-todo: Fix typo in error message.
4214
4215 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
4216
4217         * configure.in: Add modules/input/Makefile
4218
4219 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
4220
4221         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
4222         don't include gtkthemes.h.
4223
4224         * gtk/testgtk.c gtk/testtext.c: Set environment variables
4225         to point
4226
4227         * gtk/Makefile.am: Add new .c and .h files, build 
4228         gtk-query-immodules and use it to create a gtk.immodules
4229         file for use of test programs.
4230
4231         * gtk/gtkpreview.c: remove extra blank line.
4232
4233 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
4234
4235         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
4236         Add the ability to add extra tables beyond the default
4237         one, and also the ability to have compose sequences 
4238         that are prefixes of other compose sequences. 
4239
4240         * gtk/gtkimcontextsimple.c: Export a preedit string which
4241         consists of possible candidates for keystrokes that have
4242         been entered but not yet committed.
4243
4244         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
4245         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
4246
4247         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
4248         Add a function to add input-method switching menu items
4249         to a menu.
4250
4251         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
4252         when switching input methods.
4253
4254         * gtk/gtkimcontextsimple.[ch]: Change the format of
4255         the compose table to allow compose tables of different
4256         lengths / sequence.
4257
4258 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
4259
4260         * gtk/gtkimmodule.[ch]: Support routines for loading
4261         GtkIMContext implementations dynamically at runtime.
4262
4263         * modules/input/imcyrillic-translit.c: A sample input
4264         method (based on GtkIMContextSimple with an extra table),
4265         which demonstrates preedit strings and the module
4266         system for input modules
4267
4268         * gtk/queryimmodules.c: Program to query the available
4269         input modules and write the results into a file.
4270          
4271         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
4272         extra config options "im_module_file" (cache file for
4273         input method modules), and "im_module_path" - path
4274         to look for modules when generating cache file.
4275
4276         This doesn't scale.
4277
4278 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
4279
4280         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
4281         generic code from gtkthemes into a new abstraction
4282         GtkModule which has the logic for implementing
4283         a loadable module which implements a number of 
4284         GObject types.
4285
4286 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
4287
4288         * gtk/gtkeditable.[ch]: Convert GtkEditable from
4289         a class into an interface  
4290         
4291         * gtk/gtkoldeditable.[ch]: Move the old editable
4292         implementation into here, so legacy widgets can
4293         still rely on the implemenation. GtkOldEditable
4294         exports GtkEditable. Make selection handling
4295         code use new text conversion functions (and
4296         handle UTF-8 as a side-effect). Use GtkClipboard
4297         for CLIPBOARD.
4298
4299         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
4300         Adopt to match above changes.
4301
4302         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
4303         avoid GtkOldEditable implementation. Restructure
4304         to reduce number of places that modify state directly.
4305         Move to GtkBindingSet. Display the preedit string.
4306         Queue recomputation of PangoLayout and scroll position
4307         to improve effiency of doing complex changes naively.
4308         Add a menu with cut/copy/paste and input method selection.
4309
4310 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
4311
4312         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
4313         to set preedit string and attributes; display preedit string by
4314         inserting string and attributes at cursor when creating the
4315         GtkTextLineDisplay.
4316
4317         * gtk/gtktextlayout.c: Move all conversions between byte
4318         positions in PangoLayout and GtkTextIter into new functions
4319         line_display_iter_to_index/index_to_iter that properly
4320         handle the preedit string.
4321
4322         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
4323         it to return const char * (eventually will end up
4324         as GCONST char *, most likely.)
4325
4326         * gtk/gtktextview.[ch]: Handle the preedit string, call
4327         gtk_im_context_reset() as necessary, add a menu to switch
4328         input methods.
4329         
4330         * gtk/gtktextlayout.[ch]: Remove useless
4331         gtk_text_layout_get_log_attrs() function.
4332
4333 2000-11-11  Tor Lillqvist  <tml@iki.fi>
4334
4335         * gdk/gdk.def
4336         * gtk/gtk.def: Update.
4337
4338         * gdk/win32/*.c: Add last argument to g_type_register_static()
4339         calls.
4340
4341         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
4342
4343         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
4344         generated by older wheel mouse drivers. Get the correct y
4345         coordinate from WM_MOUSEWHEEL messages.
4346
4347         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
4348         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
4349         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
4350         Debugging functions.
4351
4352         * gdk/win32/gdkprivate-win32.h: Declare them.
4353
4354         * gdk/win32/gdkinput-win32.h: Add declaration for
4355         gdk_input_window_destroy().
4356
4357         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
4358
4359 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
4360
4361         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
4362         function to help handle keeping things in sync.
4363
4364 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
4365
4366         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
4367         BOXED marshallers.
4368
4369         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
4370         (gtk_list_store_class_init): use the new BOXED marshallers.
4371
4372         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
4373         new_with_values to new_with_types.
4374         (gtk_tree_store_get_column_type): add this.
4375         (gtk_tree_store_class_init): use the new BOXED marshallers.
4376
4377         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
4378         mirror some POINTER marshallers.
4379
4380 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
4381
4382         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
4383         allow more interesting iterators.  Also, made the lifecycle of
4384         iterators more explicit.
4385
4386         * gtk/gtktreemodelsort.[ch]: New model for sorting.
4387
4388         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
4389         types.
4390
4391 2000-11-09  Alexander Larsson  <alexl@redhat.com>
4392
4393         * demos/testgtk/menus.c:
4394         Changes to make the new testgtk compile after
4395         gtk_menu_append was removed.
4396
4397         * gdk/linux-fb/gdkdrawable-fb2.c
4398         (gdk_fb_get_depth, gdk_fb_get_visual,
4399         gdk_drawable_impl_fb_class_init): Implement
4400         these drawable functions. Now GtkImages work again.
4401
4402         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
4403
4404         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
4405         
4406         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
4407         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
4408         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
4409         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
4410
4411 2000-11-08  Havoc Pennington  <hp@pobox.com>
4412
4413         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
4414         visible_set args, don't know where these had gone, I thought they
4415         used to be there
4416
4417         * gtk/testtext.c: Add a menu item to apply invisibility tag;
4418         now we can test the feature and see that it's totally broken.
4419
4420 2000-11-08  Havoc Pennington  <hp@pobox.com>
4421
4422         Make DND copy pixbufs and tags when source and target share a 
4423         tag table.
4424         
4425         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
4426         in-process GTK_TEXT_BUFFER_CONTENTS target
4427         (gtk_text_view_drag_data_received): Paste from
4428         GTK_TEXT_BUFFER_CONTENTS if we receive it.
4429
4430 2000-11-08  Alexander Larsson  <alexl@redhat.com>
4431
4432         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
4433         API changes.
4434
4435         * gtk/gtkmenu.c: Add support for scrolling menus.
4436         Remove gtk_menu_append/prepend/insert, these have been moved to
4437         gtkcompat.h as #defines.
4438
4439         * gtk/gtkcompat.h.in:
4440         Add compatibility #defines for gtk_menu_append/prepend/insert
4441
4442         * gtk/gtkmenu.h: Add data needed for scrolling menus.
4443         GtkMenuPositionFunc gets an extra argument push_in.
4444         gtk_menu_append/prepend/insert removed.
4445         
4446         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
4447         positioning behaviour to fit to scrolling menus.
4448
4449         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
4450         into menuitem->submeny. That is wrong, and broke torn
4451         off submenus of torn off menus, since they were unrealized
4452         when the first menu was unrealized.
4453
4454         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
4455         gtk_menu_shell_select_item() since these need to be overridden in
4456         GtkMenu.
4457
4458         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
4459         positioning behaviour to fit to scrolling menus.
4460         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
4461         the current item so that it is prelighted when the menu pops up.
4462         This is a workaround to the fact that the menu doesn't get the
4463         initial enter event (due to grabs).
4464
4465         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
4466         s/gtk_menu_append/gtk_menu_shell_append/
4467
4468         * gtk/gtknotebook.c:
4469         s/gtk_menu_insert/gtk_menu_shell_insert/
4470
4471         * gtk/testgtk.c (create_menu, create_menus):
4472         Create the first menu with 50 items so that menu scrolling
4473         can be tested.
4474         
4475         
4476         Patch from Jonathan Blandford  <jrb@redhat.com>
4477
4478         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
4479         system to handle size requests.  First, we ask what the size of
4480         the toggle is.  Then, when allocating the size, we allocate the
4481         toggle_size first.  This way we can have multiple menu-item
4482         classes w/o needing a seperate class for each.
4483
4484         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
4485         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
4486
4487         * gtk/gtkcheckmenuitem.c
4488         (gtk_check_menu_item_toggle_size_request): New function to handle
4489         the toggle size-request.
4490
4491 2000-11-07  Havoc Pennington  <hp@redhat.com>
4492
4493         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
4494         Half-ass somewhat fix this function, so that scrolling to the
4495         insertion point works. Pango hacking is in the future to really
4496         fix it.
4497
4498         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
4499         length of data, no longer used.
4500
4501         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
4502         method contents in here, get rid of destroy method
4503         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
4504         that were backward. Remove debug spew.
4505         (cut_or_copy): Make the clipboard work with insert_range to
4506         preserve tags and pixbufs, not just the primary selection.
4507
4508 2000-11-07  Havoc Pennington  <hp@redhat.com>
4509
4510         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
4511         to gtk_text_mark_get_visible
4512
4513         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
4514         bug that was generating an invalid iterator
4515
4516         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
4517         ensure_char_offsets() in front of code placing the iter in an
4518         invalid state.
4519
4520         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
4521         make override_location arg const
4522         (paste): Replace the selection if we paste into the 
4523         current selection
4524
4525         * gtk/gtkselection.h: Remove "GtkSelectioData"
4526         (struct _GtkSelectionData): move the definition here.
4527
4528         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
4529         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
4530
4531         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
4532
4533         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
4534         (gtk_text_buffer_insert_range_interactive): implement
4535         (gtk_text_buffer_get_tags): Remove, replaced by
4536         gtk_text_iter_get_tags()
4537
4538         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
4539         limit parameter, to avoid infinite linear scan.
4540         (gtk_text_iter_backward_search): Add search limit
4541         (gtk_text_iter_forward_find_char): Add search limit
4542         (gtk_text_iter_backward_find_char): Add search limit
4543
4544 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
4545
4546         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
4547         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
4548         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
4549         gdk/linux-fb/gdkwindow-fb.c:
4550         use g_object_new() instead of g_type_create_instance() which
4551         is a private function for fundamental type implementations.
4552
4553         * gdk/linux-fb/gdkinput-ps2.c:
4554         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
4555         instead just store the current modifier state. Add a (somewhat broken)
4556         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
4557         Rename exported function gdk_input_ps2_get_mouseinfo to
4558         gdk_input_get_mouseinfo.
4559
4560         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
4561         gdk/linux-fb/gdkwindow-fb.c:
4562         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
4563         
4564
4565 2000-11-02  Havoc Pennington  <hp@redhat.com>
4566
4567         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
4568         use stock buttons. Should be 100% source compatible, appropriate
4569         filesel fields now point to dialog->vbox and dialog->action_area.
4570         On the bizarre side, dialog->action_area and filesel->action_area
4571         are not the same widget.
4572         (gtk_file_selection_init): Put some padding around the selection
4573         entry, so it isn't touching the GtkDialog separator.    
4574
4575         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
4576         use stock buttons, etc. Should also be source compatible.
4577         Set the dialog default title in _init not _new().
4578         
4579         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
4580         Use stock buttons; don't put a button box inside the existing
4581         dialog button box. Don't bother with push/pop colormap anymore.
4582
4583         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
4584         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
4585         for message dialog, and necessary for the font selection and color
4586         selection with help and apply buttons.
4587         
4588         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
4589         to the created button widget. Set GTK_CAN_DEFAULT on the button.
4590         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
4591         between buttons, put less padding around the action area.
4592         (gtk_dialog_run): Exit on unmap rather than on destroy. 
4593         This will also exit the loop if the widget is hidden.
4594         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
4595         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
4596         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
4597         special-case delete event.
4598
4599         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
4600         formatting
4601         
4602 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
4603
4604         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
4605         button to temporarily disable position recording in the
4606         "saved position" test.
4607
4608 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
4609
4610         * gtk/gtkthemes.c: added compat code that temporarily implements
4611         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
4612         going to be revamped by owen's upcoming GtkModule patches, but
4613         untill then people want gtk to build, right? ;)
4614
4615 2000-11-04  Havoc Pennington  <hp@pobox.com>
4616
4617         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
4618         list
4619
4620         * docs/Changes-2.0.txt: Add note about
4621         gtk_container_get_toplevels()
4622
4623         * gtk/gtktextview.h: formatting
4624         
4625         * gtk/gtktextview.c: don't start descriptions with "Returns",
4626         confuses gtk-doc
4627
4628 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
4629
4630         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
4631         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
4632
4633 2000-11-03  Havoc Pennington  <hp@redhat.com>
4634
4635         * gtk/gtktexttagtable.c: Docs
4636         (gtk_text_tag_table_size): return a signed int
4637
4638         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
4639         (gtk_text_tag_event): make the event_object a GObject
4640
4641         * gtk/gtktextview.c: Write API docs for all functions.
4642
4643         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
4644         for gtk_text_view_get_window_type() called on one of the private
4645         windows.
4646
4647         * gtk/gtktextview.c: Instead of accessing text_view->buffer
4648         directly, call get_buffer() which demand-creates a default
4649         buffer. So gtk_text_view_new() can be used to create a view with a
4650         default buffer in it, if you just want an empty text box users can
4651         put data in. Useful for GUI builders also.
4652
4653 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
4654
4655         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
4656         the charset encodign portion MUST be in lowercase.
4657         * gtk/gtkrc.az: added file for Azeri language
4658
4659 2000-11-03  Havoc Pennington  <hp@redhat.com>
4660
4661         Get widgets working on the btree/buffer side. Display of them 
4662         still doesn't work.
4663         
4664         * gtk/gtktextview.c: start implementing child widget stuff
4665
4666         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
4667
4668         * gtk/gtktextlayout.c: handle embedded widgets
4669
4670         * gtk/gtktextdisplay.c: handle embedded widgets
4671
4672         * gtk/gtktextchild.c: Implement all the child anchor goo
4673
4674         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
4675         function
4676
4677         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
4678         (insert_pixbuf_or_widget_segment): abstract out common portions of 
4679         creating a child anchor or a pixbuf segment.
4680         (gtk_text_btree_create_child_anchor): new function
4681         (gtk_text_btree_unregister_child_anchor): new function
4682
4683         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
4684         allocate_child signal on GtkTextLayout
4685
4686         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
4687         values
4688         (gtk_text_iter_get_child_anchor): new function
4689
4690         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
4691         default handler for the changed signal, which calls
4692         gtk_text_buffer_set_modified(), instead of just always emitting
4693         changed then calling set_modified() manually. I guess this is
4694         maybe more flexible. It seems logical.
4695
4696 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
4697
4698         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
4699         now.
4700
4701         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
4702
4703 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
4704
4705         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
4706         been marked static.
4707
4708 2000-11-02  Havoc Pennington  <hp@redhat.com>
4709
4710         * gtk/testgtk.c (create_labels): had a test backward
4711
4712         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
4713         fields, so the dest GC ends up with the correct clip origin, 
4714         etc. Fixes a bug where colored labels didn't redraw 
4715         properly.
4716
4717 2000-11-02  Alexander Larsson  <alexl@redhat.com>
4718
4719         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
4720         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
4721         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
4722         Add last argument to t_type_register_static call.
4723         
4724         * gdk/linux-fb/gdkdrawable-fb2.c:
4725         Add last argument to t_type_register_static call.
4726         export the get_image drawable virtual function.
4727
4728         * gdk/linux-fb/gdkimage-fb.c:
4729         Add last argument to t_type_register_static call.
4730         rename gtk_image_get to _gdk_fb_get_image and
4731         export it for use by gdkdrawable-fb2.
4732
4733         * gdk/linux-fb/gdkprivate-fb.h:
4734         export _gdk_fb_get_image.
4735
4736         * gdk/linux-fb/gdkselection-fb.c:
4737         Add new api call stubs.
4738
4739         * gtk/Makefile.am:
4740         Missing ( in linux-fb part.
4741
4742         * modules/linux-fb/Makefile.am:
4743         Must link with gdk_pixbuf or get unresolved symbol.
4744
4745 2000-11-01  Havoc Pennington  <hp@pobox.com>
4746
4747         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
4748         GTK_TYPE_TEXT_ITER and BOXED marshallers
4749
4750         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
4751
4752         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
4753         
4754         * gtk/gtk-boxed.defs: add GtkTextIter
4755
4756         * gtk/gtkmarshal.list: Add marshallers for text widget that 
4757         properly use OBJECT and BOXED
4758
4759 2000-11-01  Havoc Pennington  <hp@redhat.com>
4760
4761         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
4762
4763         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
4764         before returning it. 
4765         
4766 2000-11-01  Havoc Pennington  <hp@redhat.com>
4767
4768         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
4769         Clip the rectangle to be rendered to the drawable, since
4770         get_from_drawable() requires a region within the drawable
4771
4772 2000-11-01  Havoc Pennington  <hp@redhat.com>
4773
4774         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
4775         from coordinates.
4776
4777 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
4778
4779         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
4780         it isn't NULL.
4781
4782 2000-11-01  Havoc Pennington  <hp@pobox.com>
4783
4784         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
4785         on a label
4786         (gtk_label_finalize): unref the attr list if any.
4787
4788         * gtk/testgtk.c (create_get_image): close test on second click
4789         (make_message_dialog): close dialog if it exists
4790
4791         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
4792
4793         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
4794         gdk-pixbuf
4795
4796         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
4797         from Pango markup format
4798         (gtk_label_set_markup_with_accel): ditto but with accelerator
4799         parsing
4800
4801         * gtk/gtkimage.c (gtk_image_expose): reformatting.
4802
4803         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
4804         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
4805         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
4806         call gdk_window_get_origin().
4807
4808         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
4809         implement GDK_PIXBUF_ALPHA_FULL
4810         
4811 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
4812
4813         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
4814         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
4815         g_signal_handlers_disconnect_matched to block/unblock and disconnect
4816         multiple handlers respectively, instead of only treating the
4817         first handler found (bug reported by owen).
4818
4819 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
4820
4821         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
4822
4823         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
4824
4825         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
4826         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
4827         gtk/gtktreeviewcolumn.h: Fixed inline docs.
4828
4829         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
4830         widget.  Needs writing someday.
4831
4832         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
4833         the docs.
4834
4835 2000-10-30  Havoc Pennington  <hp@redhat.com>
4836
4837         * gtk/gtktextview.h, gtk/gtktextview.c:
4838         Rename delete_at_cursor delete_from_cursor, and 
4839         move to move_cursor.
4840
4841 2000-10-30  Havoc Pennington  <hp@redhat.com>
4842
4843         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
4844         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
4845         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
4846         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
4847         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
4848         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
4849         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
4850         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
4851         gtktexttypes.h, gtktextview.c, gtktextview.h:
4852
4853         Massive reindentation and reformatting. Arg alignment and comments
4854         still need fixing in various places.
4855
4856 2000-10-30  Havoc Pennington  <hp@redhat.com>
4857
4858         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
4859         to be named insert_at_cursor and delete_at_cursor so C++ can
4860         handle them.
4861
4862 2000-10-28  Tor Lillqvist  <tml@iki.fi>
4863
4864         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
4865         to get a double directory separator in case the home directory
4866         ends with one. This would cause trouble especially on Windows,
4867         where the path will be confused with the syntax for an an UNC
4868         (network share) path \\server\share\path.
4869         (gtk_rc_add_initial_default_files): Ditto.
4870
4871 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
4872
4873         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
4874
4875         * gtk/gtktextview.c: Use correct marshallers.
4876
4877 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
4878
4879         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
4880         use new iter stuff, and added all the appropriate signals et al.
4881
4882         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
4883         code is internal to gtk only.
4884
4885 2000-10-28  Tor Lillqvist  <tml@iki.fi>
4886
4887         * gtk/gtk.def
4888         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
4889         glib-genmarshal etc.
4890
4891 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
4892
4893         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
4894         parallel builds.
4895
4896 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
4897
4898         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
4899
4900 2000-10-27  Robert Brady  <robert@suse.co.uk>
4901
4902         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
4903         en_GB (British), ia (Interlingua).
4904
4905 2000-10-26  Havoc Pennington  <hp@redhat.com>
4906
4907         * gtk/gtktextiter.c (my_strrstr): fix constness warning
4908
4909         Fixed output of:
4910         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
4911         
4912         * gtk/gtktextsegment.c (char_segment_new): rename
4913         (_char_segment_new_from_two_strings): rename
4914         (_toggle_segment_new): rename
4915         
4916         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
4917         (make_clipboard_widget): make it static
4918         (text_get_func): static
4919         (text_clear_func): static
4920
4921         * gtk/gtkcolorsel.c (adjustment_changed): make this function
4922         static
4923         (hex_changed): make it static
4924         (hsv_changed): make it static
4925         (opacity_entry_changed): make it static
4926
4927         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
4928         (toggle_segment_check_func): rename with _gtk
4929
4930         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
4931         (_widget_segment_new): rename
4932         (_widget_segment_add): rename
4933         (_widget_segment_remove): rename
4934         (_widget_segment_ref): rename
4935         (_widget_segment_unref): rename
4936
4937         * gtk/gtktextmark.c (_mark_segment_new): Rename
4938         _gtk_mark_segment_new   
4939
4940 2000-10-26  Havoc Pennington  <hp@redhat.com>
4941
4942         * gtk/gtkmarshal.list: add new marshallers used by the text widget
4943         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
4944         types
4945
4946         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
4947         marshaller types
4948
4949         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
4950         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
4951         license on these files.
4952
4953         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
4954         work.
4955
4956         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
4957         runtime random number different for each tree, instead of 
4958         a constant I made up.
4959
4960 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
4961
4962         * gtk/Makefile.am: buncha cleanups, kludged build sources
4963         dependencies with a Makefile: oldest-source-stamp dependancy
4964         for the moment. automake is really fighting us here, with
4965         intentionally not allowing user-defined rules or dependancies
4966         prior to it's -include $(DEP_FILES) statement. sucks rocks!
4967
4968         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
4969         to public headers. tehy have a comment stating that they are
4970         "semi-public" aren't included by gtk.h and if enums popup there,
4971         they can be /*< skip >*/-ed.
4972
4973         * gtk/gtktextlayout.h: 
4974         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
4975         added LGPL... <SIGH>
4976
4977 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
4978
4979         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
4980         GtkTreeIter.  Added iterators everywhere.
4981
4982         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
4983
4984         * gtk/gtktreeviewselection.c: Changed to use the iterators.
4985
4986         * gtk/gtktreestore.c: Changed to use the iterators.
4987
4988         * gtk/gtkliststore.c: Commented out the code.  Will convert to
4989         iterators tomorrow.
4990
4991         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
4992         iterators tomorrow.
4993
4994         * gtk/treestoretest.c: Changed to use iterators.
4995
4996         * demos/testgtk/main.c: Moved to use the new iterator system.
4997
4998 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
4999
5000         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
5001         localization misbehaviour.
5002
5003         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
5004         a useless type without copy/free.
5005
5006         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
5007         of GTK_TYPE_CTREE_NODE.
5008
5009 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
5010
5011         * gtk/gtksignal.c:
5012         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
5013         applicable.
5014
5015         * gtk/gtk-boxed.defs (GtkSelectionData): specify
5016         gtk_selection_data_copy and gtk_selection_data_free
5017         do GtkSelectionData work as params in signals.
5018
5019 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
5020
5021         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
5022         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
5023         couldn't they at least give it a non-standard name?
5024         
5025         * gtk/gtktextlayout.c: arg! yet another implementation of
5026         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
5027
5028         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
5029         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
5030         home. now i know this _is_ a conspiracy.
5031
5032         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
5033         ::state-changed.
5034
5035         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
5036         (gtk_accel_group_create_add): marshaller signature fixups.
5037
5038         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
5039         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
5040
5041         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
5042         anymore.
5043
5044 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
5045
5046         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
5047         due to the signal system changes, it wouldn't build currently. to
5048         be fixed soon.
5049
5050         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
5051
5052         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
5053         so it needs gtk_marshal_VOID__ENUM() instead of
5054         gtk_marshal_NONE__UINT().
5055
5056         * gdk/gdk*.c: adapted type registration functions.
5057
5058         * gtk/gtkbindings.c:
5059         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
5060         gone.
5061
5062         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
5063
5064         * gtk/gtkobject.c:
5065         (gtk_object_destroy):
5066         (gtk_object_shutdown): fixed recursion guards. basically we have to
5067         catch the case where any of GObject.shutdown() or gtk_object_destroy()
5068         is called during ::destroy, and avoid recursion there.
5069
5070         * gtk/gtktypeutils.c:
5071         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
5072         boxed_copy/boxed_free. this needs a more general solution based on a
5073         publically installed code-generator utility.
5074
5075         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
5076         glib's gobject has support for that now.
5077         define GtkSignalMarshaller in terms of GSignalCMarshaller.
5078
5079 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
5080
5081         * gtk/gtksignal.[hc]:
5082         * gtk/gtkmarshal.[hc]:
5083         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
5084         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
5085         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
5086         care of that.
5087
5088         * *.c: marshaller name fixups.
5089
5090         * gtk/gtkmarshal.list: added a comment briefing the format.
5091
5092 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
5093
5094         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
5095         compatibility macros here now. more specifically, most of
5096         the API is preserved (yes, _most_, nonwithstanding the
5097         following exceptions listed, the API is stil lHUGE ;)
5098         things that got removed completely:
5099         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
5100         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
5101         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
5102         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
5103         gtk_signal_remove_emission_hook().
5104         non-functional functions variants:
5105         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
5106         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
5107         not supported anymore.
5108         (gtk_signal_compat_matched): new internal function to aid
5109         implementation of the compatibility macros, it  provides
5110         functionality to block/unblock/disconnect handlers based
5111         on func/data.
5112
5113         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
5114
5115         * *.c: adaptions to new type registration API signatures.
5116
5117 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
5118
5119         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
5120
5121 2000-10-25  Robert Brady  <robert@suse.co.uk>
5122
5123         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
5124         gdk_property_delete): If window == NULL, assume the root window.
5125         (restoring the behaviour that was in 1.2).
5126         
5127         * gtk/testtext.c (save_buffer): Allow creation of new files when
5128         saving.
5129
5130         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
5131         calls to read().
5132
5133 2000-10-25  Tor Lillqvist  <tml@iki.fi>
5134
5135         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
5136
5137         * gdk/win32/gdkdrawable-win32.c
5138         * gdk/win32/gdkimage-win32.c
5139         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
5140         X11 backend.
5141
5142         * gdk/win32/gdkcc-win32.c
5143         * gdk/win32/gdkcolor-win32.c
5144         * gdk/win32/gdkfont-win32.c
5145         * gdk/win32/gdkinput-win32.c
5146         * gdk/win32/gdkmain-win32.c
5147         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
5148
5149 2000-10-24  Havoc Pennington  <hp@redhat.com>
5150
5151         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
5152         it a static function
5153
5154         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
5155         redraw text when a tag is applied to it.
5156
5157         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
5158         (gtk_text_tag_affects_nonsize_appearance): private functions to
5159         see if a tag requires various kinds of redraw/layout to be queued
5160         up.
5161
5162         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
5163
5164         * gtk/testtext.c (fill_example_buffer): Put the cursor 
5165         at the start of the buffer, so search works by default
5166
5167         * gtk/gtktextiter.c (lines_match): init match_start always
5168
5169         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
5170         function, get iter at a line + a byte index
5171
5172         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
5173         to set byte position within a line
5174         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
5175
5176 2000-10-23  Havoc Pennington  <hp@redhat.com>
5177
5178         * gtk/testtext.c: Re-enable the "find" dialog
5179
5180         * gtk/testgtk.c: Add test for gdk_drawable_get_image
5181         
5182         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
5183         the arguments to gdk_draw_drawable were in the wrong order
5184         (gdk_window_paint_init_bg): This function was ignoring the
5185         init_region, instead of clipping to it, so the entire backing
5186         pixmap was cleared on every begin_paint()
5187         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
5188         was in here again, the loop kept using the same GtkWindowPaint
5189         over and over.
5190         (gdk_window_begin_paint_region): Fix a bug where we had two
5191         x_offset instead of x_offset and y_offset
5192
5193         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
5194         before we get the image.
5195         (gdk_draw_drawable): get the composite before we draw the drawable.
5196         (gdk_drawable_real_get_composite_drawable): default
5197         get_composite_drawable implementation that returns the drawable 
5198         itself
5199
5200         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
5201         get_composite_drawable virtual function
5202
5203         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
5204         list-walking bug
5205
5206         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
5207         make this work if the source drawable is a GdkDrawableImplX11
5208         instead of a public drawable type. This is really broken; the
5209         problem is that GdkDrawable needs a virtual method get_xid(), but
5210         of course that doesn't work in practice. Enter RTTI.
5211
5212         Also, improve mismatched depth message.
5213
5214         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
5215         GdkPixmap
5216
5217         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
5218         install _gdk_x11_get_image as our implementation of get_image
5219         
5220         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
5221         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
5222
5223         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
5224         gdk_drawable_get_image
5225
5226         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
5227
5228         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
5229         get_image
5230
5231         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
5232         trailing semicolon after for loop
5233
5234 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
5235
5236         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
5237         where font_desc for widget's context lagged widget's font_desc by
5238         one step.
5239
5240 2000-10-22  Tor Lillqvist  <tml@iki.fi>
5241
5242         * gdk/win32/gdkgc-win32.c
5243         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
5244
5245         * gtk/makefile.mingw.in
5246         * gtk/gtk.def: Updates.
5247
5248         * gtk/testgtk.c: sleep() is called _sleep in MS's C
5249         library.
5250
5251         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
5252
5253         * gtk/makefile.msc: Remove
5254
5255         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
5256
5257         * gtk/Makefile.am: Add it.
5258
5259         * configure.in: Generate it.
5260
5261         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
5262         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
5263         something even if not implemented, to satisfy picky MSVC.
5264
5265         Patches by Hans Breuer:
5266         
5267         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
5268         SetBkMode() and SetTextAlign() before calling
5269         pango_win32_render().
5270
5271         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
5272         Set hcliprgn to NULL after destroying it.
5273         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
5274
5275         * gdk/win32/gdkgeometry-win32.c
5276         (_gdk_windowing_window_queue_antiexpose): More effective
5277         implementation.
5278
5279         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
5280         depth as default, not the visual's.
5281
5282         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
5283         against empty title.
5284
5285         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
5286         IMAGE_PRIVATE_DATA.
5287
5288         * gdk/win32/gdkimage-win32.c: Use it.
5289
5290 2000-10-22  Robert Brady  <robert@suse.co.uk>
5291
5292         * configure.in: Check for bind_textdomain_codeset
5293
5294         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
5295         present, make use of it.
5296
5297         Add a translatable string "default:LTR" which, if translated
5298         to "default:RTL", will cause the default direction to be
5299         Right-to-Left.
5300
5301         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
5302         direction if marked as flippable.
5303
5304         * gtk/gtkhscale.c: Mark widget as flippable.
5305         
5306 2000-10-04  Havoc Pennington  <hp@redhat.com>
5307
5308         * gtk/testgtk.c (create_buttons): create some stock buttons
5309         with the default accel group
5310         (create_image): test some new GtkImage features
5311         (make_message_dialog): test GtkMessageDialog
5312         (create_modal_window): fix someone's bizzarro indentation
5313
5314         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
5315         GTK_WIN_POS_CENTER_ON_PARENT. 
5316         Add "destroy with parent" setting, which means the window goes
5317         away with its transient parent.
5318         (gtk_window_get_default_accel_group): get the default accel group
5319         for the window.
5320         (gtk_window_set_destroy_with_parent): set/unset destroy with
5321         parent flag
5322         (gtk_window_read_rcfiles): invalidate icon set caches
5323         after reloading rcfiles 
5324
5325         * gtk/gtkenums.h (GtkWindowPosition): add
5326         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
5327         on its parent window when the dialog is mapped for the first time.
5328
5329         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
5330         a simple message dialog class
5331         
5332         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
5333         handler to emit response signal, and maybe later it would
5334         honor a hide_on_delete flag - though that isn't there yet.
5335         Set border width on the vbox to 2, so we get some padding.      
5336         Use a button box for the action area.
5337         (gtk_dialog_key_press): synthesize a delete event if Esc
5338         is pressed and the GtkWidget key press handler didn't 
5339         handle the escape key.
5340         (gtk_dialog_new_with_buttons): new function creates a dialog
5341         with some default buttons in it.
5342         (gtk_dialog_add_action_widget): add an activatable widget
5343         as a button in the dialog - you can also add a non-activatable
5344         widget by accessing the action area directly.
5345         (gtk_dialog_add_button): add a simple button - stock ID or 
5346         label - to the action area
5347         (gtk_dialog_response): emit response signal
5348         (gtk_dialog_run): block waiting for the dialog, return 
5349         the response. Override normal delete_event behavior, so that 
5350         delete_event does nothing inside gtk_dialog_run().
5351
5352         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
5353         emitted when an action widget is clicked or the dialog gets
5354         delete_event
5355
5356         * gtk/gtk.h: add gtkmessagedialog.h
5357
5358         * gtk/Makefile.am: add gtkmessagedialog.[hc]
5359
5360 2000-10-18  Havoc Pennington  <hp@redhat.com>
5361
5362         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
5363         where any number of empty lines would get skipped
5364
5365         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
5366         edge.
5367
5368         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
5369         warning about invalid iterators (explain more thoroughly)
5370         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
5371
5372         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
5373         big
5374
5375         * demos/*.c: Add error handling
5376
5377         * gtk/gtktextbuffer.c: don't modify const iterators
5378
5379         * gtk/gdk-pixbuf-loader.c: Add full error handling here
5380
5381         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
5382         on file load
5383
5384         * gtk/gtkiconfactory.c: Update to reflect addition of error
5385         handling to gdk-pixbuf loaders
5386
5387 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
5388
5389         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
5390         move to new modularized testgtk.
5391
5392 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
5393
5394         * gtk/gtktreeview.c: Draw the arrows correctly.
5395
5396         * gtk/gtktreemodel.c: Added user docs.
5397
5398         * gtk/gtk.h: remove gtktreedatalist.h.
5399
5400         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
5401         parent when generating my type.
5402
5403         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
5404         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
5405
5406 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
5407
5408         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
5409         GtkTreeModel from object to interface.
5410
5411 2000-10-16  Havoc Pennington  <hp@redhat.com>
5412
5413         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
5414         compilation
5415
5416 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
5417
5418         * gtk/gtktreeselection.c: Add API documentation to all public
5419         functions.
5420
5421         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
5422         functions.
5423
5424 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
5425
5426         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
5427         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
5428         docs to all public functions.
5429
5430         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
5431         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
5432         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
5433         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
5434         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
5435         issue.
5436
5437 2000-10-14  Robert Brady  <robert@suse.co.uk>
5438
5439         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
5440
5441 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
5442
5443         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
5444         values other then G_TYPE_STRING.
5445         * gtk/gtktreeselection.c: Minor commenting updates.
5446         * gtk/gtktreeview.c: Format updates.
5447
5448 2000-10-09  Tor Lillqvist  <tml@iki.fi>
5449
5450         * README.win32: Update.
5451
5452         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
5453         lines that had been deleted by mistake (?).
5454
5455         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
5456         also the case fg==white and bg==black (but still not randomly
5457         coloured cursors). Thanks to Wolfgang Sourdeau.
5458
5459         * gdk/win32/*.c: Silence gcc -Wall.
5460
5461         * gtk/gtk.def: Add missing entry points.
5462
5463         Fixes by Hans Breuer:
5464
5465         * gdk/makefile.msc
5466         * gdk/win32/makefile.msc: Update.
5467
5468         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
5469         some MSVC thing, presumably), cause breakpoint on failures. Add
5470         GDK_NOR case. Call g_log_set_always_fatal.
5471
5472         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
5473         should be pased by reference.
5474         
5475         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
5476         
5477         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
5478
5479         * gdk/win32/gdkevents-win32.c
5480         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
5481
5482         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
5483         implementation object.
5484
5485         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
5486         not just windows.
5487         
5488         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
5489         Use the wrapper object.
5490         
5491 2000-10-06  Havoc Pennington  <hp@redhat.com>
5492
5493         * Makefile.am (SRC_SUBDIRS): contrib subdir
5494
5495         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
5496         so it can be used in Xlib version
5497
5498         * demos/testpixbuf.c (update_timeout): error checking from 1.0
5499         tree
5500
5501         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
5502         change from 1.0 tree that returns first frame of animation
5503         if the loaded file is an animation.
5504
5505         * contrib: add new directory to hold stuff that comes with GTK+
5506         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
5507         
5508         * configure.in: add contrib/*
5509
5510 2000-10-05  Havoc Pennington  <hp@redhat.com>
5511
5512         * demos/testpixbuf-save.c: add pixbuf save test
5513
5514         * demos/Makefile.am: add testpixbuf-save.c
5515
5516 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
5517
5518         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
5519         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
5520         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
5521         * gtk/gtktreeselection.[ch]: Replaced
5522         "node_selected"/"node_unselected" signal with "selection_changed"
5523         signal.
5524
5525 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
5526
5527         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
5528         tree widget.
5529
5530 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
5531
5532         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
5533         drawing.
5534
5535 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
5536
5537         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
5538         Move list pointer forwards before removing item from
5539         list. (Crash reported by Salmaso Raffaele)
5540
5541         * gdk/gdkwindow.h: Remove spurious trailing ,
5542
5543         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
5544         dependencies on uninstalled libraries, sorry folks.
5545
5546 2000-10-04  Havoc Pennington  <hp@redhat.com>
5547
5548         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
5549         gtk/gtkiconfactory.c: Fix copyrights    
5550
5551         * demos/testpixbuf.c: add inline pixbuf test
5552         
5553 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
5554
5555         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
5556         Add gdk_window_iconify.
5557
5558         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
5559         (gdk_window_set_geometry_hints): Add win_gravity
5560         to geometry structure.
5561
5562         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
5563         Implement _NET_WM_PING.
5564
5565         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
5566         Set _NET_WM_PID on the client leader.
5567
5568         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
5569         Handle UTF-8 better.
5570
5571         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
5572         UTF-8 better, set _NET_WM_NAME as well. Only set
5573         icon name if it hasn't previously been explicitely 
5574         set.
5575
5576 2000-10-03  Havoc Pennington  <hp@redhat.com>
5577
5578         * gtk/testtextbuffer.c: clean up trailing whitespace,
5579         add extensive tests for tag toggle iteration.
5580         
5581         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
5582         distance
5583
5584         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
5585         optimize case where the tag root is on level 1
5586         (gtk_text_line_previous_could_contain_tag): attempt to implement
5587         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
5588         functionality
5589
5590         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
5591         Implement this, though not very efficiently.
5592
5593         * gtk/gtktextiterprivate.h: reformat
5594
5595         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
5596         iterator
5597
5598         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
5599         this to properly revalidate the iterators.
5600
5601         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
5602         properly at the end of the line (and therefore on empty lines)
5603
5604         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
5605         maybe we should return a value...
5606
5607 2000-10-03  Tor Lillqvist  <tml@iki.fi>
5608
5609         * config.h.win32: Guard definition of alloca(). glib.h now handles
5610         that.
5611
5612         * gdk/gdk.def
5613         * gtk/gtk.def: Add new entry points.
5614
5615         Changes just to make GTK+ build without errors on Win32. No hope
5616         of it working in its current state, though...:
5617         
5618         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
5619         some functions from the X11 backend, just to make GTK+ build.
5620
5621         * gdk/makefile.mingw.in
5622         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
5623         number. Add new object files.
5624
5625         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
5626         GetMessageTime to get timestamp (where on X11 uses
5627         gdk_x11_get_server_time()).
5628
5629 2000-10-02  Havoc Pennington  <hp@pobox.com>
5630
5631         * gtk/gtktextview.c: text_window_* weren't static and should have
5632         been.
5633         Start work on child widgets; not yet complete, syncing to 
5634         office computer.
5635
5636         * gtk/gtktextchild.h: change this to contain a public interface,
5637         starting work on child interfaces.
5638         * gtk/gtktextchildprivate.h: move private interfaces here
5639
5640         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
5641
5642         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
5643         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
5644         gtk/gtktextmark.c: copyright notices
5645
5646         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
5647         internal functions      
5648
5649         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
5650         internal function
5651
5652         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
5653         Reformatting    
5654
5655 2000-09-30  Havoc Pennington  <hp@pobox.com>
5656
5657         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
5658         NULL start/end pointers
5659
5660         * gtk/gtktextbuffer.c: Write some docs
5661         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
5662         NULL, so you can just check whether there's a selection.        
5663
5664         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
5665         cleanup_line or segments_changed ourselves, it gets done 
5666         in unlink_segment
5667
5668         * gtk/gtktextmark.h:
5669         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
5670         
5671         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
5672
5673         * gtk/gtktextmark.c: delete some more old Tk cruft
5674
5675         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
5676         mark before removing it, so we can emit MARK_DELETED with a valid
5677         pointer.
5678         (gtk_text_buffer_mark_set): hold ref across signal emission
5679
5680         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
5681         whining about attempts to delete special marks
5682
5683         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
5684         underscore, since it's internal.
5685
5686         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
5687         now implemented in terms of iterators in gtktextiter.h
5688
5689         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
5690         New function, destructively sets contents of buffer. Also 
5691         a convenient way to clear the buffer by setting text to ""
5692
5693         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
5694         multiline string literal
5695
5696         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
5697         text changes.
5698
5699         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
5700         is not dereferenceable
5701         (gtk_text_iter_forward_lines): fix return value
5702
5703 2000-09-29  Havoc Pennington  <hp@redhat.com>
5704
5705         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
5706
5707         * gtk/gtktextview.c: Implement drag thresholding; change functions 
5708         that set border window size to have nicer name
5709         (gtk_text_view_mark_set_handler):  Fix this to have the 
5710         right signature.
5711
5712         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
5713
5714         * gtk/testtext.c: Update with API changes, put line numbers on 
5715         both sides.
5716         
5717         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
5718         with this
5719
5720         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
5721         pixbuf; delete a big block of #if 0 Tk code
5722
5723         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
5724         insert_pixmap with insert_pixbuf
5725
5726 2000-09-29  Martin Baulig  <baulig@suse.de>
5727
5728         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
5729         confusion with the GdkPixbuf of the GNOME 1.x platform.
5730
5731 2000-09-29  Havoc Pennington  <hp@pobox.com>
5732
5733         * gtk/gtktextview.c: Implement the side windows.
5734
5735         * gtk/testtext.c: Implement simple line numbering in the 
5736         left side window; seems to make scrolling sloooow. Oops.
5737         Also, cursor blink is for some reason causing redraws
5738         of the line numbers. Should investigate...
5739
5740 2000-09-28  Havoc Pennington  <hp@redhat.com>
5741
5742         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
5743         scrolling child windows, and draw focus rectangle properly.
5744         
5745         (gtk_text_view_buffer_to_window_coords):
5746         Coordinate transformation to deal with all these freaking windows
5747         and offsets
5748         (gtk_text_view_window_to_buffer_coords): transform the other way
5749
5750         * gtk/testtext.c (create_buffer): Update to match Pango API change
5751
5752         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
5753         anonymous tags
5754         (foreach_unref): don't emit remove signal from finalize, just
5755         set tag's parent to NULL
5756
5757 2000-09-26  Havoc Pennington  <hp@redhat.com>
5758
5759         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
5760         Fix some warnings       
5761
5762 2000-09-26  Havoc Pennington  <hp@redhat.com>
5763
5764         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
5765         headers into the private header list
5766
5767         * Makefile.am (pkgconfig_DATA): install pkg-config files
5768
5769         * configure.in: add pkg-config files
5770
5771         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
5772
5773         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
5774         outstanding icon caches on theme change.
5775
5776         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
5777         important types:
5778
5779         (GtkIconSource): Specification for creating a pixbuf 
5780         appropriate for a direction/state/size triplet from 
5781         a source pixbuf or filename
5782
5783         (GtkIconSet): List of GtkIconSource objects that are used to
5784         create the "same" icon (e.g. an OK button icon), and cache for
5785         rendered icons
5786
5787         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
5788         up the icon set for a given stock ID.  GTK maintains a stack of
5789         GtkIconFactory to search, and applications or libraries can add
5790         additional icon factories on top of the stack
5791         
5792         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
5793         the set of GtkIconSource specified for a given stock ID into 
5794         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
5795         RcStyle, under the specified stock ID.
5796
5797         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
5798         render_icon used to derive a GdkPixbuf from a GtkIconSource.
5799         This allows people to theme how prelight, insensitive, etc. are
5800         done.
5801
5802         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
5803         icon factories for a style, and return the resulting 
5804         icon set if any.
5805
5806         (gtk_style_render_icon): Render an icon using the render_icon 
5807         method in the GtkStyleClass.
5808
5809         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
5810         Use the style for a given widget to look up a stock ID, get the
5811         icon set, and render an icon using the render_icon method 
5812         of the style
5813
5814         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
5815         (contains information about a stock item), the built-in stock item
5816         IDs, and functions to add/lookup stock items.
5817
5818         * gtk/stock-icons/*: Stock icons that come with GTK
5819
5820         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
5821         a button based on a GtkStockItem
5822         (gtk_button_new_accel): Takes a uline string and accel group, and
5823         installs the accelerator.
5824
5825         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
5826         image-display widget.
5827
5828 2000-09-25  Havoc Pennington  <hp@redhat.com>
5829
5830         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
5831
5832         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
5833         Fix a bug when removing node data, we didn't properly 
5834         re-splice the linked list after removing the data.
5835
5836         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
5837         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
5838
5839         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
5840
5841         * gtk/gtktextlayout.c (set_para_values): Set tab array 
5842         for the layout from the GtkTextTag.
5843
5844         * gtk/gtktexttypes.h: delete tab and search cruft, 
5845         remove g_convert() in favor of GLib version
5846
5847         * gtk/gtktexttypes.c: remove tab implementation from here,
5848         move to Pango
5849
5850         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
5851         tab stuff using new PangoTabArray from Pango
5852
5853         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
5854         unused border_width stuff
5855
5856 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
5857
5858         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
5859         glib) and now useless utf_to_latin1() latin1_to_utf()
5860
5861         * gtk/gtktextview.[ch]: Change ::move_insert and
5862         ::delete_text action signals to ::move and ::delete;
5863         create the signals with the right enumeration type,
5864         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
5865         C-v bindings, change Home, End to move to beginning/end
5866         of line, Add C-Home C-End to move to beginning/end
5867         of buffer. Change ::cut_text to ::cut_clipboard, etc;
5868         combine ::scroll_text into ::move; use new GtkSelectionData
5869         functions to simplify DND text handling.
5870         
5871         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
5872         deletion enumerations here, rename enumeration values to 
5873         be consistently plural.
5874
5875         * gtk/gtktextbuffer.c: Use new clipboard interfaces
5876         for cut/copy/paste and primary selection.
5877
5878         * gtk/gtktextbuffer.[ch]: Remove excess time and
5879         'interactive' arguments from cut/copy/paste;
5880         rename cut to cut_clipboard, etc; remove
5881         gtk_text_buffer_get_clipboard_contents().
5882
5883         * gtk/gtktextlayout.[ch]: Add 
5884         gtk_text_layout_move_iter_to_line_end() to move the iter to 
5885         line ends.
5886
5887         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
5888         Functions to set or get a UTF-8 string on the selection
5889         data.
5890
5891         * gtk/gtkclipboard.[ch]: New, simplified selection handling
5892         interfaces.
5893
5894         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
5895         created widgets - one of these is useless if we don't.
5896
5897         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
5898         a public function clear all targets registered for the
5899         widget.
5900
5901         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
5902         Never call gtk_widget_realize() - that was just asking
5903         for bizarre side-effects.
5904
5905         * gtk/gtkselection.c (gtk_selection_owner_set): Call
5906         gdk_selection_owner_set even if the widget is the
5907         same so that we reliably update the timestamp on
5908         the server.
5909
5910         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
5911         gdk_x11_get_server_time() function.
5912         
5913         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
5914         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
5915         Add some tricky filtering on serial numbers for
5916         selection clear events to fix up long-standard
5917         race condition FIXME's in gtkselection.c.
5918
5919         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
5920         routines to convert from utf8 to compound text or
5921         STRING and from a text property to UTF-8.
5922
5923         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
5924         a convenience function gdk_get_current_event_time().
5925
5926         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
5927         and free selection_data->data properly
5928
5929 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
5930
5931         * gtk/gtkthemes.c: Remove some unecessary includes.
5932
5933 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
5934
5935         * gtk/gtktextdisplay.c
5936         * gtk/gtktextlayout.c
5937         * gtk/gtktexttag.c
5938         * gtk/gtktexttag.h
5939         * gtk/testtext.c: Change the overstrike property to strikethrough,
5940         to closer match pango.
5941
5942 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
5943
5944         * gtk/gtktextview.c: Fix up visibility so that focus,
5945         cursor_visible and blink interact properly.  Reenable cursor blink
5946         which had been roughly disabled. Make blink and focus
5947         properly per-view.
5948
5949         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
5950         Add a flag for whether to display insertion cursor and
5951         a function to set the flag.
5952
5953         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
5954         get_line_y() to get_line_yrange(), to be a bit more generally
5955         useful.
5956
5957 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
5958
5959         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
5960           do stop_navigating_submenu, to clear last timeout properly.
5961           Also in gtk_menu_motion_notify move ignore_enter above
5962           the conditional to make it always happen as suggested by Owen
5963
5964 2000-09-07  Tor Lillqvist  <tml@iki.fi>
5965
5966         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
5967
5968         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
5969         w32api headers.
5970
5971         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
5972         declarations.
5973
5974         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
5975         (gdk_win32_get_colormap): A line had been deleted by mistake.
5976
5977         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
5978         (gdk_event_translate): Handle more virtual keycodes to be able to
5979         generate GDK events for Control-comma, Control-period, etc.
5980
5981         * gtk/gtk.def: Add some missing entry points.
5982
5983 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
5984
5985         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
5986         Doc comment fixing. (Mostly non-matching parameter names.)
5987
5988         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
5989         comments a little to avoid looking like a doc comment.
5990
5991         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
5992         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
5993         conversions be changed to GError?)
5994
5995         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
5996         Move private #defines into .c file.
5997
5998         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
5999         order of argument addition, remove duplicates.
6000
6001         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
6002         parent class is FrameClass, not BinClass.
6003
6004         * gtk/gtk.h: Add gtkinvisible, which was missing.
6005         (It's occasionalyl useful for client apps, if seldom.)
6006
6007         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
6008         #define.
6009
6010 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
6011
6012         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
6013         coordinates when creating window, instead of GDK-space
6014         coordinates. (Avoid BadValue on too large windows.)
6015
6016 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6017
6018         * configure.in (use_mmx_asm): Remove conftest* after use along the
6019         lines of AC_TRY_COMPILE.        
6020         
6021         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
6022         of g_dirname, which is deprecated.
6023         (gtk_rc_parse_any): Removed calls to
6024         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
6025
6026         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
6027         Removed calls to g_hash_table_{freeze,thaw}, as they are
6028         deprecated now.
6029
6030         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
6031         instead of g_basename.
6032         
6033 2000-09-04 Elliot Lee <sopwith@redhat.com>
6034         
6035         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
6036         ANSI warning.
6037
6038 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
6039
6040         * gtk/gtkwidget.h:  Add some documenting comments about 
6041           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
6042           just as owen said on irc.
6043
6044         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
6045           set HAS_DEFAULT.  Only set it if there isn't another window
6046           holding it (a focus window which RECEIVES_DEFAULT) and only unset
6047           it if the widget is not the focused window with RECEIVES_DEFAULT.
6048           This fixes weird double default bugs in dialogs which has things
6049           call gtk_window_set_default at times.
6050
6051 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
6052
6053         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
6054         Nils Barth and David Santiago to improve submenu
6055         navigation. The patch does this by creating a triangular
6056         region from the point where the pointer leaves the
6057         menu to the submenu.  While the pointer is in
6058         that region and a timeout has not expired, events 
6059         that would cause the active submenu to change are
6060         ignored.
6061
6062 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
6063
6064         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
6065         moving a toplevel window immediately after sizing it would
6066         result in it being sized back to the old size since 
6067         impl->width, impl->height aren't updated until we hear
6068         back from the server. There is still a (longstanding) bug
6069         here that gdk_window_get_size() will give the wrong size
6070         until we do hear back.
6071
6072 2000-08-31  Havoc Pennington  <hp@redhat.com>
6073
6074         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
6075         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
6076         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
6077         Rename GtkTextStyleValues to GtkTextAttributes
6078
6079 2000-08-31  Havoc Pennington  <hp@pobox.com>
6080
6081         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
6082         for rapid testing whether an iterator is the end iterator
6083         (gtk_text_btree_new): init end line cache
6084         (gtk_text_line_is_last): use fast cached line to 
6085         see if we're the last line.
6086         (get_last_line): use cached line here too, should 
6087         speed up some random unrelated code.
6088         
6089 2000-08-30  Havoc Pennington  <hp@pobox.com>
6090
6091         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
6092         signals.
6093
6094         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
6095         delete_text signals. This allows the signals to be used for
6096         implementing undo.
6097
6098         * gtk/gtktextbuffer.c: Change signal handler signatures; 
6099         provide "interactive" argument when emitting insert_text or
6100         delete_text signal.
6101         
6102 2000-08-30  Havoc Pennington  <hp@pobox.com>
6103
6104         * gtk/gtktextbuffer.c: Docs
6105
6106 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
6107
6108         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
6109         from switch statements, since Tor removed the enumeration
6110         value.
6111         
6112         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
6113         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
6114
6115 2000-08-29 Elliot Lee <sopwith@redhat.com>
6116         * */*.h: Use G_GNUC_CONST.
6117
6118 2000-08-27  Havoc Pennington  <hp@pobox.com>
6119
6120         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
6121         minor indentation fixes, inserted some FIXME about stuff I
6122         realized was broken while documenting it.
6123         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
6124         GTK convention  
6125
6126 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
6127
6128         * gtk/testgtk.c (create_styles): Fix double free of
6129         font desc.
6130
6131 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
6132
6133         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
6134         
6135         * gtk/testgtk.c (create_styles): Add a test for modifying
6136         the style through gtk_widget_modify_*.
6137
6138         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
6139         a function to get the current modifier style.
6140
6141         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
6142         of the passed in GtkRcStyle instead of ref'ing it.
6143
6144         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
6145
6146 2000-08-20  Tor Lillqvist  <tml@iki.fi>
6147
6148         * gdk/gdkimage.h
6149         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
6150         shared memory image+pixmap GdkImage type, or
6151         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
6152         I am dropping that.
6153
6154         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
6155         actually call gtk_init_abi_check(), passing also
6156         sizeof(GtkWindow). Ditto for gtk_init_check(). 
6157
6158         * gtk/gtk.def
6159         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
6160         New functions, used to check that the GTK+-using code has been
6161         compiled using the correct compiler and switches. In particular,
6162         with gcc one has to use the -fnative-struct switch as GTK+ is
6163         compiled with that.
6164
6165 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
6166
6167         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
6168         ->prev fields when merging lists. (Found simultaneously
6169         by Pawel Salek and Jakub Jelinek)
6170
6171 2000-08-12  Tor Lillqvist  <tml@iki.fi>
6172
6173         * gdk/gdk.def
6174         * gtk/gtk.def: Add missing entries.
6175
6176         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
6177         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
6178
6179         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
6180         function. Dummy implementation at this point.
6181
6182         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
6183         rules. Undefine GTK_COMPILATION when compiling the test programs.
6184         
6185         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
6186
6187 2000-08-11  Tor Lillqvist  <tml@iki.fi>
6188
6189         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
6190         to convert back and forth from UTF-8 and the "system" (or "current
6191         locale") charset when necessary. Indentation/spacing cleanup.
6192
6193 2000-08-10  Havoc Pennington  <hp@redhat.com>
6194
6195         * Makefile.am (snapshot): Change the format of the snapshot
6196         version to match glib
6197
6198         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
6199         from EXTRA_DIST since it doesn't seem to exist
6200
6201 2000-08-10  Tor Lillqvist  <tml@iki.fi>
6202
6203         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
6204         version of the directory name (not the UTF-8 one) when building
6205         the path name to stat().
6206
6207 2000-08-03  Elliot Lee  <sopwith@redhat.com>
6208
6209         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
6210         PANGO_ATTR_SHAPE set.
6211
6212 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
6213
6214         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
6215         Peter Osterlund to simplify the code while keeping the
6216         functionality the same.
6217
6218 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
6219
6220         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
6221         is_viewable() test further inside the function, since removing the 
6222         window from the redraw list without clearing ->update_area
6223         was also very broken.
6224
6225 2000-08-02  Tor Lillqvist  <tml@iki.fi>
6226
6227         * configure.in: Check for <unistd.h>.
6228
6229 2000-08-01  Martin Baulig  <baulig@suse.de>
6230
6231         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
6232         to display the message that this is a development version of GTK+.
6233
6234 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
6235
6236         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
6237         was depending on widget->allocation instead of the width of text_area,
6238         which was incorrect for subclasses like GtkSpinButton.
6239
6240         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
6241         with width == 1 tests that should be width == -1.
6242
6243 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
6244
6245         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
6246         (broken, Elliot, every single window blank on X) custom code with call
6247         to gdk_window_is_viewable() which a) prevents code duplicate and
6248         b) works. 
6249
6250 2000-07-31  Elliot Lee  <sopwith@redhat.com>
6251
6252         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
6253         to get the GDK_PARENT_ROOT() macro to work.
6254         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
6255         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
6256         of, windows that aren't shown.
6257         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
6258         pointer grab stuff.
6259
6260 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
6261
6262         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
6263           s/gtk_main_iteration/g_main_iteration/
6264
6265           Did this already in change:
6266                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
6267           don't know how it got reverted.
6268
6269 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
6270
6271         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
6272         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
6273
6274         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
6275         not gdk_pixbuf.
6276
6277 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
6278
6279         * configure.in,po/{sp,sr}.po: Added Serbian files
6280
6281 2000-07-30  Tor Lillqvist  <tml@iki.fi>
6282
6283         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
6284
6285         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
6286         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
6287         GIOChannel implementation.
6288
6289         * gdk/win32/gdkinput.c
6290         * gdk/win32/gdkpango-win32.c: Update license name here, too.
6291
6292         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
6293         definition to match prototype.
6294
6295         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
6296
6297 2000-07-27  Elliot Lee  <sopwith@redhat.com>
6298
6299         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
6300         function, to allow handling image formats that cannot be detected
6301         by looking at content alone.
6302
6303 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
6304
6305         * docs/tutorial/*.gif *.jpg *.eps
6306           Update these to the same look-n-feel.
6307           Why does including images in DocBook suck so badly?
6308
6309 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
6310
6311         * gtk/gtktable.c: applied patch from Phil Thompson
6312         <phil@river-bank.demon.co.uk> that enables space settings for
6313         the last row/columns as well.
6314
6315 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
6316
6317         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
6318         updates the license headers to the GNU Lesser General Public License,
6319         as well as updating the copyright year to 2000.
6320
6321 2000-07-26  Robert Brady  <rwb197@zepler.org>
6322
6323         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
6324           and po/Makefile, was installing and looking for them under gtk20
6325           and gtk2 respectively.
6326
6327 2000-07-25  Havoc Pennington  <hp@redhat.com>
6328
6329         * gtk/testtext.c: Comment out some stuff that depends on the rest
6330         of my patches.
6331
6332 2000-07-25  Havoc Pennington  <hp@redhat.com>
6333
6334         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
6335         buffer
6336
6337 2000-07-25  Havoc Pennington  <hp@redhat.com>
6338
6339         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
6340         widget changes.
6341
6342         * gtk/gtktextview.h: To be consistent with usage of "line"
6343         throughout the API to mean "newline-terminated thingy", change
6344         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
6345         to MOVEMENT_LINE.
6346
6347         (GtkTextView): Add flags for default editability, and whether to
6348         show the cursor. Add functions to get/set that. Add 
6349
6350         (gtk_text_view_get_iter_location): new function
6351
6352         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
6353         gtktextlayout.h
6354         (g_convert): Add g_convert temporarily, will go in glib in a bit
6355         
6356         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
6357         GtkTextTagTableForeach instead of brokenly using GHFunc.
6358         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
6359
6360         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
6361         moved to public header.
6362
6363         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
6364         "invisible", since "elide" was a bad name.
6365         (gtk_text_tag_get_priority): Added
6366
6367         (GtkTextStyleValues): put this in public header, along with
6368         functions to use it.
6369
6370         * gtk/gtktextmarkprivate.h: Include more headers, since we no
6371         longer include gtktextbtree.h.
6372
6373         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
6374         gtk_text_mark_deleted
6375
6376         * gtk/gtktextlayout.h: Don't include the "really private" headers,
6377         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
6378         to make this possible. Now we only need to install
6379         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
6380         (However the Makefile.am isn't changed yet because of the
6381         logistics of merging gtk-hp-patches piecemeal)
6382
6383         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
6384         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
6385         gtk_text_iter_get_line is now used in the public API for a
6386         different purpose.
6387
6388         * gtk/gtktextiter.h: Clean up function names to be more
6389         consistent. Always call char offset "offset" and byte index
6390         "index". A "line" is always a line number. 
6391
6392         (gtk_text_iter_is_last): new function, more efficient than 
6393         the existing way to check
6394         (gtk_text_iter_is_first): new function, also more efficient
6395
6396         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
6397
6398         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
6399         gtk_text_iter_forward_char, etc.
6400
6401         (gtk_text_iter_forward_to_tag_toggle): Renamed from
6402         forward_find_tag_toggle, since this isn't a linear search
6403
6404         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
6405
6406         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
6407         New functions, search for a buffer substring.
6408
6409         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
6410         interactive and default editable (since we need to store that info
6411         until we receive the selection data).
6412
6413         Remove all the _at_char and at_line etc. versions of functions;
6414         only have iterator versions.
6415
6416         Add _interactive() versions of functions, that consider the
6417         editability of text. (FIXME add interactive flag to the 
6418         insert/delete signals per Darin's suggestion)
6419
6420         (gtk_text_buffer_get_tag_table): new function, demand-creates the
6421         tag table if necessary
6422
6423         Remove declaration of gtk_text_buffer_get_iter_from_string
6424
6425         (_gtk_text_buffer_get_btree): private/internal function, added.
6426         
6427
6428         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
6429         (gtk_text_line_is_last): new function
6430
6431 2000-07-25  Havoc Pennington  <hp@redhat.com>
6432
6433         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
6434         using GtkProgressBar. See Changes-2.0.txt for details.
6435
6436         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
6437         "pulse_step" which are the equivalent of
6438         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
6439         Implement new API.
6440         
6441         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
6442         (use_text_format) to mark whether text set on the progress bar is
6443         a format string. Deprecate entire GtkProgress interface.
6444
6445         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
6446         (gtk_progress_build_string): make this a no-op if use_text_format
6447         is FALSE
6448
6449         * docs/Changes-2.0.txt: Describe progress bar changes.
6450
6451 2000-07-25  Tor Lillqvist  <tml@iki.fi>
6452
6453         * Makefile.am: Include the build directory.
6454
6455         * configure.in: Generate build/Makefile, build/win32/Makefile,
6456         gdk/, gdk/win32/, and gtk/makefile.mingw.
6457
6458         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
6459         Add GETTEXT_PACKAGE.
6460         
6461         * gdk/gdk.def
6462         * gtk/gtk.def: Updates.
6463
6464         * gdk/gdkfont.h
6465         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
6466         need them any longer.
6467
6468         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
6469
6470         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
6471         PANGOWIN32_LIBS and gdk_pixbuf.
6472
6473         * gdk/win32: Compiles, but no doubt doesn't work at all.
6474
6475         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
6476
6477         * gdk/win32/gdkinput.c: New file, temporarily.
6478         
6479         * gdk/win32/gdkinput-win32.h: New file
6480
6481         * gdk/win32/gdkinputprivate.h: Remove.
6482
6483         * gdk/win32/gdkpango-win32.c: New file.
6484
6485         * gtk/makefile.mingw.in: New file
6486
6487         * gtk/makefile.cygwin: Removed
6488         
6489         * gtk/Makefile.am: Update accordingly.
6490
6491         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
6492         made externally visible.
6493
6494         * gtk/gtkmain.c: Use it.
6495         
6496         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
6497         is enough.
6498
6499         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
6500
6501 2000-07-24 Elliot Lee <sopwith@redhat.com>
6502         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
6503         individual backends already.
6504         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
6505         again. Yes, there really is a good reason for this, if you are using the gdkregion
6506         internals, and if you're not, why do you care?
6507         * gdk/gdkwindow.c: Fix inverted condition
6508         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
6509         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
6510         * gtk/gtkrange.c: Redraw trough when moving.
6511         * gtk/gtktypeutils.c: Fix warning by adding const cast.
6512         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
6513
6514 2000-07-23  Tor Lillqvist  <tml@iki.fi>
6515
6516         * configure.in: Check for mkstemp and sigsetjmp. Output
6517         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
6518
6519         More work on GDK for Win32. Still in an intermediate state.
6520
6521         * gdk/makefile.cygwin
6522         * gdk/win32/makefile.cygwin: Removed.
6523         
6524         * gdk/makefile.mingw.in
6525         * gdk/win32/makefile.mingw.in: New files.
6526
6527         * gdk/Makefile.am
6528         * gdk/win32/Makefile.am: Generate and distribute them.
6529
6530         * gdk/win32/gdkwindow-win32.h
6531         * gdk/win32/gdkdrawable-win32.h
6532         * gdk/win32/gdkpixmap-win32.h: New files.
6533
6534         * gdk/win32/gdkcolor-win32.c
6535         * gdk/win32/gdkcursor-win32.c
6536         * gdk/win32/gdkdrawable-win32.c
6537         * gdk/win32/gdkgc-win32.c
6538         * gdk/win32/gdkimage-win32.c
6539         * gdk/win32/gdkprivate-win32.h
6540         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
6541         Rename fields and variables called xcursor, xid, etc (these names
6542         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
6543
6544 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
6545
6546         * gtk/gtkentry.[ch]: Fix some problems with vertical
6547         alignment.
6548
6549         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
6550         char/byte confusion.
6551
6552 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
6553
6554         * gtk/gtktextview.c (changed_handler): Fix bug where
6555         redraw wasn't being done properly when height of
6556         dirty region changed.
6557
6558         * demos/Makefile.am: Remove various references to
6559         -lgmodule
6560
6561 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
6562
6563         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
6564         PangoAttrShape to reserve space for pixmaps, add 
6565         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
6566         in the display functions.
6567         
6568         * gtk/testgtk.c (create_layout): Set some more exotic
6569         scrolled window options
6570
6571         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
6572         Add function to set the shadow type of a window, to allow
6573         putting a shadow around widgets such as GtkLayout or GnomeCanvas
6574         which don't draw their own frame.
6575
6576 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
6577
6578         * docs/tutorial/package-db-tutorial.sh: New file for
6579           packaging DocBook format tutorial
6580
6581 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
6582
6583         * docs/tutorial/gtk-tut.sgml: Minor updates
6584
6585         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
6586
6587 2000-07-19  Tor Lillqvist  <tml@iki.fi>
6588
6589         * gtk/gtksignal.c: Fix C++ comment.
6590
6591         * gtk/gtkimmulticontext.c
6592         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
6593         don't return value from void functions.
6594
6595         * gtk/gtk.def: Add gtk_rc_style_unref.
6596
6597 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6598
6599         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
6600         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
6601         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
6602         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
6603         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
6604         gtk/gtktypeutils.h: Include files outside of the extern "C"
6605         block. Makes some C++ compiler happy. Reported by Denis Vakatov
6606         <vakatov@peony.nlm.nih.gov>.
6607
6608 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
6609
6610         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
6611           Completes first pass. Hurrah!
6612
6613 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
6614
6615         * docs/tutorial/gtk-tut.sgml: More clean ups.
6616
6617 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
6618
6619         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
6620         paint the background of the text area which was accidentally
6621         removed at some point.
6622
6623         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
6624           
6625          - Move most of the functionality from the theme vtable
6626            into GtkRcStyleClass and GtkStyleClass. The moved
6627            vtable functions were changed a bit in the move to
6628            work better in their new home.
6629
6630          - Get rid of the engine and engine_data fields from
6631            GtkRcStyle and GtkStyle; instead the theme
6632            engine derives theme-specific subclasses of GtkRcStyle
6633            and GtkStyle
6634
6635          - Add extra dlsym() found entry point to themes,
6636            theme_create_rc_style().
6637
6638         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
6639         in gtk_style_real_copy.
6640
6641         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
6642         to register a type associated with an engine. (The engine
6643         won't be unloaded as there is an instance of the type.)
6644
6645
6646 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
6647
6648         * docs/tutorial/gtk-tut.sgml: Clean ups.
6649
6650 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
6651
6652         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
6653           of cleaning up to do.
6654
6655 2000-07-15  Tor Lillqvist  <tml@iki.fi>
6656
6657         * gdk/testgdk.c: New file, quick hack to test backends for
6658         pixel-by-pixel correctness of the most simple graphic operations.
6659
6660 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
6661
6662         * Really release 1.3.1
6663         
6664         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
6665         include structure.
6666
6667 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
6668
6669         * Released 1.3.1
6670
6671 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
6672
6673         * gtk/gtktextlayout.c: use FALSE for size_only most
6674         of the time when calling gtk_text_layout_get_line_display()
6675         to avoid causing double reshapes when a redraw follows
6676         immediately after.
6677
6678 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
6679
6680         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
6681         appropriate region and gdk_window_process_updates() so trough
6682         updating doesn't lag behind the window being scrolled.
6683
6684         * gdk/gdkgc.c: Make parent_class pointer static.
6685          
6686 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
6687
6688         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
6689         include <string.h>.
6690          
6691         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
6692         cut-and-paste error in computing memory offset for 4 channels.
6693
6694 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
6695
6696         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
6697         gtk_rc_append_default_pixmap_path(), since it wasn't
6698         adding an interesting path and we don't have a meaningful
6699         default for this value.
6700
6701 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
6702
6703         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
6704         gtk-config to gtk-config-2.0 move gtk_.m4 to
6705         gtk-2.0.m4
6706
6707         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
6708         gdk/Makefile.am demos/Makefile.am: Change 
6709         library names to libgtk-1.3.la, etc, so that we
6710         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
6711
6712         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
6713         gdk/Makefile.am gdk/x11/Makfile.am
6714         Move include files into /usr/include/gtk-2.0, 
6715         /usr/lib/gtk-2.0/include/
6716          
6717         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
6718         gtk/gtkintl.h: Change package for gettext from 
6719         gtk+ to gtk20. Put hack in autogen.sh to modify
6720         po/Makefile.in.in after gettextize to make this
6721         possible.
6722
6723         * gtk+.spec: Some updates, not tested.
6724
6725         * gdk-pixbuf/Makefile.am: Move loaders into
6726         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
6727
6728         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
6729         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
6730         to THEMENAME/gtk-2.0/. Move engine directory  to
6731         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
6732         
6733 2000-07-12  Tor Lillqvist  <tml@iki.fi>
6734
6735         Win32 changes, still doesn't build though.
6736
6737         * gdk/makefile.cygwin
6738         * gdk/win32/makefile.cygwin
6739         * gtk/makefile.cygwin: Updates.
6740
6741         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
6742         default values for fg and bg pixel as X11 does (0 and 1), not
6743         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
6744         Use 0 for pen width by default (treated as 1 anyway later, but for
6745         apps that might check the value in the GdkGC).
6746         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
6747         interface to gdk_gc_predraw and _postdraw.
6748
6749         * gdk/win32/gdkwin32.h
6750         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
6751
6752         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
6753         extraneous semicolon.
6754
6755         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
6756
6757         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
6758         not the Win32 bitspixel value.
6759
6760         * gdk/win32/gdkcc-win32.c:
6761         * gdk/win32/gdkcolor-win32.c 
6762         * gdk/win32/gdkprivate-win32.h
6763         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
6764         GDK object structure.
6765
6766 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
6767
6768         * docs/tutorial/gtk_tut_12.es.sgml (name): 
6769         * docs/tutorial/gtk_tut_it.sgml (name): 
6770         * docs/tutorial/gtk_tut_fr.sgml (name): 
6771         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
6772         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
6773
6774 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
6775
6776         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
6777           small changes.
6778
6779 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
6780
6781         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
6782         a bug here, never been here and never fixed anything ;(
6783         (don't segfault if tree->root_tree is NULL, which happens prior
6784         to widget realization, but puke instead).
6785
6786 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
6787
6788         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
6789         add the necessary tokens.
6790
6791         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
6792         (gtk_rc_style_to_style): copy thicknesses.
6793         (gtk_rc_init_style): apply thicknesses.
6794         (gtk_rc_parse_style): parse xthickness and ythickness.
6795
6796         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
6797
6798         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
6799         (gdk_window_new): 
6800         (_gdk_windowing_window_init): 
6801         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
6802         (gdk_pixmap_create_from_data): 
6803         (gdk_bitmap_create_from_data): 
6804         (gdk_pixmap_new): 
6805         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
6806         (gdk_image_new): 
6807         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
6808         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
6809         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
6810         (gdk_colormap_get_system): 
6811         (gdk_colormap_new): 
6812         * gdk/gdkwindow.c (gdk_window_init): 
6813         * gtk/gtkstyle.c (gtk_style_new):
6814         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
6815         * gdk/gdkpixmap.c (gdk_pixmap_init): 
6816         * gtk/gtkrc.c (gtk_rc_style_new):
6817         use g_object_new() instead of g_type_create_instance() which
6818         is a private function for fundamental type implementations.
6819
6820 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
6821
6822         * configure.in: Add check for db2html
6823
6824 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
6825
6826         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
6827         hack to set glib_debug_objects based on gtk_debug_flags.
6828
6829 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
6830
6831         * INSTALL.in: Update the Prerequisites section.
6832
6833         * Makefile.am demos/Makefile.am docs/Makefile.am
6834         docs/tutorial/Makefile.am gdk/x11/Makefile.am
6835         gdk/linux-fb/Makefile.am: Dist fixes
6836
6837 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
6838
6839         * NEWS: 10,000 foot view of 1.3.1 changes.
6840
6841 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
6842
6843         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
6844         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
6845         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
6846         gdk/x11/gdkmain-x11.c: 
6847
6848         Patch from George Lebl to add a GdkGrabStatus enumeration to use
6849         as a return value of gdk_*_grab(). Previously, we just
6850         returned the X11 values directly.
6851
6852 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
6853
6854         * gdk/x11/Makefile.am: Patch from George Lebl to 
6855         install all the headers in the right place.
6856
6857 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
6858
6859         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
6860           initial conversion to DocBook.
6861
6862 2000-07-04  Tor Lillqvist  <tml@iki.fi>
6863
6864         * README.win32: Improve a bit.
6865
6866         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
6867         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
6868         Alt+0nnn on the numpad (used to enter characters by numeric code
6869         from current DOS or ANSI codepage) working correctly, as in other
6870         Windows apps.
6871
6872         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
6873         same argument validity tests as in X11 version.
6874         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
6875
6876         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
6877         definitions in case missing from headers.
6878
6879         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
6880         destroy the window-specific cursor.
6881         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
6882         calling GetModuleHandle(NULL).
6883         (gdk_window_set_cursor): Reworked to always copy the passed cursor
6884         with CopyCursor before setting it as the window-specific
6885         cursor. It is OK for the caller to destroy the GdkCursor (and thus
6886         also its Windows cursor) after calling this function. Destroy any
6887         previous window-specific cursor.
6888
6889 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
6890
6891         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
6892         font charset is iso8859-1, not iso-8859-1.
6893
6894 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
6895
6896         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
6897         Use g_get_charset() instead of g_get_codeset().
6898
6899         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
6900         Comment out some strdup'ing functions to keep timj
6901         happy until we finish fighting this out.
6902
6903 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
6904
6905         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
6906         <= width or height.
6907
6908         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
6909         from 1.2 for parent/child states.
6910
6911         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
6912         of typos.
6913
6914         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
6915         event structures, replace with a generic axes field. Replace 
6916         deviceid/sourec with GdkDevice *device.
6917
6918         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
6919         to extract particular axis use value from event. (Also
6920         can be used for normal X/Y.)
6921
6922         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
6923         allow for arbitrary number of axes, namespace everything
6924         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
6925         everywhere.
6926
6927         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
6928         Get rid of the gdk_input_vtable setup if favor of simply
6929         defining the functions in gdkinput-none/gxi/xfree.c in
6930         a similar fashion to the way that the port structure is 
6931         done.
6932
6933         * gtk/gtkdnd.c: Fix fields of synthesized button press event
6934         for new event structures. 
6935
6936         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
6937         new device interfaces.
6938
6939 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
6940
6941         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
6942         set the initial text.
6943
6944         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
6945         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
6946         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
6947         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
6948
6949         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
6950         pango_layout_set_font_description to simplify.
6951
6952 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
6953
6954         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
6955         pango_layout_set_font_description to simplify.
6956
6957 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
6958
6959         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
6960         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
6961         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
6962
6963         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
6964         PANGO_PIXELS() macro.
6965
6966 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
6967
6968         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
6969         that returns a PangoContext owned by the widget and updated to
6970         match future changes in the widget. Also, make 
6971         gtk_widget_create_pango_layout() use this context. If we ever
6972         add a ::changed signal to PangoContext, this will make things
6973         much more convenient. 
6974
6975         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
6976         in the appropriate places instead of destroying the layouts and
6977         creating new ones.
6978
6979         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
6980         in a few strategic places.
6981
6982 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
6983
6984         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
6985         gtk_widget_size_request() on reparented child, if one. Otherwise,
6986         queue_resize() on the child never results in it getting size-requested
6987         at all.
6988
6989         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
6990         in option menus, so that (with luck) people won't copy it into
6991         their apps in the future.
6992
6993         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
6994         to gtk_option_menu_calc_size. This isn't perfect, but should fix
6995         a lot of problems with changing the size of the menu's menu
6996         items after adding it to the option menu.
6997
6998         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
6999
7000         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
7001         the text direction for a widget changes.
7002
7003         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
7004         ::direction_changed to get rid of various hacks.
7005
7006 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
7007
7008         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
7009         name.
7010
7011 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
7012
7013         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
7014         flag to the structure. Do not call XFreePixmap on pixmaps created
7015         by gdk_pixmap_foreign_new().
7016
7017 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
7018
7019         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
7020         value using GdkRGB functionality given GdkColormap and GdkColor.
7021         (name not final, waiting for inspiration.)
7022         
7023         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
7024         set the foreground/background of a GC using the GC's colormap
7025         and GdkRGB. (name not final, waiting for inspiration.)
7026
7027         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
7028         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
7029
7030         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
7031         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
7032         purely a function of the corresponding colormap. Make
7033         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
7034
7035         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
7036         gdk_pixbuf_*create_from_xpm_* in terms of
7037         gdk_pixbuf_new_from_xpm_data(), move into platform independent
7038         code.
7039
7040         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
7041         advantage of the new draw_rgb_32_image_dithalign.
7042
7043         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
7044
7045         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
7046         on each created GC.
7047
7048         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
7049
7050         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
7051         which we initialize from the drawable when the GC is created,
7052         if the drawable has a colormap.
7053
7054         * gdk/x11/gdkgc-x11.c: include string.h for memset.
7055
7056         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
7057
7058         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
7059
7060 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
7061
7062         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
7063         actually returning expose events, make sure to set
7064         the count field properly.
7065
7066         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
7067         accidentally reintroced bug which always cleared
7068         the graphics_exposures value. 
7069
7070 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
7071
7072         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
7073
7074 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
7075
7076         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
7077
7078 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
7079
7080         * docs/faq/gtk-faq.sgml: Start of Section 6.
7081
7082 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
7083
7084         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
7085         
7086         (Fixes problem with drawing childless frames. Pointed out
7087         by and a first patch from Anders)
7088         
7089         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
7090         compute a child_allocation, even if we don't have a child.
7091
7092         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
7093         Always chain to the parent's impl, even if we don't have a child.
7094
7095 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
7096
7097         * gdk/gdkrgb.c: If possible, create only a single shm segment and
7098         use multiple parts of it instead of creating a bunch of separate
7099         segments, since the maximum number of segments per system is not
7100         large. (This might be worth backporting to GTK+-1.2.x if we make a
7101         new release )
7102
7103         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
7104         structure in preparation for per-colormap GdkRGB.
7105
7106         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
7107         to False when we get EINVAL from shmget so that the caller of
7108         gdk_image_new can retry with a smaller segment size.
7109
7110 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
7111
7112         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
7113
7114 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
7115
7116         * configure.in: make the current version number 1.3.1 (binary age 0,
7117         interface age 0).
7118         
7119         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
7120         gtkcompat.h is all we want.
7121
7122         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
7123         GLib primitive types. fixed g_type_register_fundamental() argument
7124         ordering.
7125
7126         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
7127         compiles.
7128
7129         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
7130         object code cleanup, comment trigraph fixes, etc...
7131
7132 2000-06-23  Havoc Pennington  <hp@redhat.com>
7133
7134         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
7135         instead of making up a bogus name for first_para_mark
7136
7137         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
7138         0 as a context ID
7139
7140 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
7141
7142         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
7143
7144 2000-06-21  Havoc Pennington  <hp@pobox.com>
7145
7146         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
7147         we didn't check window->bg_pixmap != GDK_NO_BG.
7148
7149         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
7150         gdk-pixbuf
7151
7152 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
7153
7154         * docs/faq/gtk-faq.sgm: Move file to here.
7155           TODO: Update Makfile.am 
7156
7157 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
7158
7159         * docs/gtk-faq.sgm: Add Section 2
7160
7161 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
7162
7163         * docs/gtk-faq.sgm: New file. Start of DocBook
7164           version of the FAQ.
7165
7166 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
7167
7168         * configure.in (GDK_PIXBUF_MAJOR): Define version
7169         numbers for GDK_PIXBUF_*, as they get substituted
7170         into a header file. Need to consider versioning
7171         for gdk-pixbuf more carefully later.
7172
7173 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
7174
7175         Work with srcdir != builddir.   
7176         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
7177         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
7178         * demos/testpixbuf.c: Likewise.
7179         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
7180         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
7181         <gdk/x11/gdkx.h>.
7182         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
7183         "gdk-pixbuf.h".
7184         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
7185
7186 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
7187
7188         * TODO.xml: Change 1.4 version numbers to 2.0.
7189
7190 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
7191
7192         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
7193         fixups to GTK+ standard.
7194
7195 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
7196
7197         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
7198         gdk-pixbuf.
7199
7200         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
7201         fixups for GObject.
7202
7203         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
7204         gdk-pixbuf with GDK dependencies moved into GDK.
7205         
7206         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
7207         move gdk-pixbuf-loader here until GObject has signals.
7208
7209         * demos/: New directory of demos. Move demos from
7210         gdk-pixbuf here.
7211
7212         * demos/pixbuf-init.c: Small bit of code to check for
7213         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
7214         set GDK_PIXBUF_MODULEDIR appropriately.
7215
7216         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
7217         define which no longer makes sense.
7218
7219 2000-06-21  Havoc Pennington  <hp@redhat.com>
7220
7221         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
7222         gtk_get_default_language
7223
7224         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
7225         new function to get the default language
7226
7227         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
7228         s/gtk_text_view_style_values/gtk_text_style_values/
7229
7230         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
7231         Add a "language" field to tags.
7232
7233         (gtk_text_tag_set_arg): Fix bug in setting
7234         "bg_full_height_set" tag.
7235
7236 2000-06-21  Havoc Pennington  <hp@redhat.com>
7237
7238         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
7239         in the interfaces
7240
7241         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
7242         stuff instead when possible.
7243
7244         * gtk/gtktexttypes.h: Delete some unused constants
7245
7246         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
7247         testtextbuffer.c: use glib instead of custom unicode routines
7248
7249 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
7250
7251         * docs/es/: Removed mistakenly added generated sgml
7252
7253         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
7254         Remove outdated info files.
7255
7256         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
7257         Moved tutorial files into subdir
7258
7259         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
7260         subdir.
7261
7262         * docs/man/gtk_button.pod: Remove. (contents will be
7263         integrated into gtk-reference button page.)
7264
7265         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
7266         docs/faq/Makefile.am: Adjust for new organization
7267
7268 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
7269
7270         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
7271         not $(MKINSTALLDIRS)
7272
7273 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
7274
7275         * gtk/testgtk.c (create_text): Finish the job Elliot started
7276         of removing font setting test for text widget. (Since text widget
7277         and GdkFont are not deprecated, and cause portability problems.)
7278
7279 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
7280
7281         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
7282         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
7283         Remove use of libunicode in favor of new GLib functions.
7284
7285         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
7286         nano-x, framebuffer. The X11 include is just a hack until we get
7287         the necessary functions in gdkcolor.h, so there is no reason to
7288         add other includes of platforms.
7289
7290         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
7291         window bigger than the screen change.
7292
7293         * gtk/testgtk.c: Revert some random changes from Elliot
7294         that had no particular point and were causing testgtkrc
7295         not to function correctly.
7296         
7297         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
7298         because GdkSegment and GdkRegionBox have the same fields,
7299         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
7300         results in clearer code.
7301
7302         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
7303         gdk_input_translate_coordinates): Fix missed GdkObjectification
7304
7305 2000-06-18  Elliot Lee  <sopwith@redhat.com>
7306
7307         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
7308         * gtk/gtk{plug,socket}.h: Missed commits from previous.
7309
7310 2000-06-20  Havoc Pennington  <hp@redhat.com>
7311
7312         * modules/linux-fb/Makefile.am: Make this compile
7313         without framebuffer enabled
7314
7315         * gdk/linux-fb/Makefile.am: Add conditional to not build
7316         framebuffer unless specified in configure
7317
7318         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
7319         the size of the target instead of source if -1 was passed for
7320         width/height
7321
7322         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
7323         width/height confusion.
7324
7325 2000-06-19  Havoc Pennington  <hp@redhat.com>
7326
7327         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
7328         GDK_DRAWABLE_XID. In the future, we probably want to make it
7329         faster with G_DISABLE_CHECKS turned on.
7330
7331 2000-06-14  Havoc Pennington  <hp@redhat.com>
7332
7333         * gdk/Makefile.am: add gdkpixmap.c
7334
7335         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
7336         s/gdk_image_init/_gdk_windowing_image_init
7337
7338         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
7339         ref/unref
7340
7341         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
7342
7343         * gdk/gdkcompat.h: remove GdkWindowType compat, since
7344         GdkWindowType is now non-deprecated; 
7345         change gdk_window_get_type() compat to be
7346         gdk_window_get_window_type().
7347
7348         * gdk/gdkdnd.h: make GdkDragContext a GObject.
7349
7350         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
7351         virtual GObject. Make all functions call into the vtable.
7352         Move gdk_image_put() guts in here. Remove GdkDrawableType
7353         and gdk_drawable_get_type(), these are now GdkWindow-specific.
7354         draw_image, get_depth, get_size, set_colormap, get_colormap,
7355         get_visual added to the vtable.
7356         
7357         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
7358         GObject. Virtualize everything. 
7359         (gdk_gc_new_with_values): remove check for destroyed window,
7360         because now GdkWindow::create_gc will check this.
7361         (gdk_gc_set_values): New function to set GC values, this 
7362         was already implemented but wasn't in the header
7363
7364         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
7365
7366         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
7367         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
7368         remove _gdk_window_class; add _gdk_window_impl_get_type() and
7369         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
7370         _gdk_windowing_window_init, rename gdk_image_init to
7371         _gdk_windowing_image_init.
7372         
7373         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
7374         (gdk_draw_layout): Remove check for destroyed window, 
7375         because all the drawable methods already check it.
7376         
7377         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
7378         Add gdkpixmap.c which contains implementation of GdkDrawable
7379         virtual table (by chaining to a platform-specific implementation
7380         object).
7381         
7382         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
7383         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
7384         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
7385         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
7386         GdkColormapPrivate. 
7387
7388         * gdk/gdktypes.h: #include <glib-object.h>
7389
7390         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
7391         Move most functionality to platform-specific implementation
7392         object. GdkWindow itself now handles the backing store, then
7393         chains to the platform-specific implementation.
7394         (gdk_window_get_window_type): return GdkWindowType of the window.
7395         (gdk_window_peek_children): New routine, returns the children of 
7396         a GdkWindow
7397         (gdk_window_get_children): Was in X11-specific code and did 
7398         XQueryTree. Changed to simply return a copy of window->children; 
7399         so it can go in cross-platform code.
7400         
7401         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
7402
7403         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
7404         GdkColormap; just changed to use the new private data instead
7405         of casting to GdkColormapPrivate.
7406
7407         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
7408         gdk_cursor_new().
7409
7410         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
7411         (private data member in the GObject). 
7412         (xdnd_manager_source_filter): Function had broken 
7413         error handling, fix it (use gdk_error_trap_push).
7414
7415         * gdk/x11/gdkdrawable-x11.c: This file now implements
7416         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
7417         base class is purely for the convenience of the X port,
7418         and not part of the interface to cross-platform GDK.
7419
7420         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
7421         
7422         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
7423         specific to X, and returned by the create_gc virtual method
7424         of GdkDrawableImplX11. 
7425         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
7426         rather than gchar, this was also changed in the GdkGC vtable.
7427         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
7428         mask is 0, return immediately, instead of checking every flag.
7429         This is faster, and keeps us from segfaulting if values is NULL
7430         and the mask contains some nonzero flags.
7431
7432         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
7433         GdkWindow.
7434
7435         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
7436         GdkWindowPrivate is gone.
7437
7438         * gdk/x11/gdkim-x11.c: rename things that got renamed.
7439
7440         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
7441         remove the image_put stuff that got transferred to GdkDrawable.
7442         
7443         * gdk/x11/gdkinput.c: renamings
7444
7445         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
7446
7447         * gdk/x11/gdkpixmap-x11.c: GObject conversion
7448
7449         * gdk/x11/gdkprivate-x11.h: indentation fixes
7450
7451         * gdk/x11/gdkproperty-x11.c: renamings
7452
7453         * gdk/x11/gdkselection-x11.c: renamings
7454
7455         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
7456         implements the platform-specific "impl" object.
7457         Moved gdk_window_get_children to gdk/gdkwindow.c
7458
7459         * gdk/x11/gdkx.h: Remove all the private structs and private datas
7460         that no longer exist. Add declaration of GdkGCX11 object here.
7461         Fix all the macros to still work. 
7462
7463         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
7464         GdkDragContext from the boxed types since they are now GObjects.
7465
7466         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
7467         moved xthickness/ythickness into the instance. GtkStyleClass
7468         functions are now in the standard vtable for GtkStyle, so you have
7469         to create a GObject subclass to write a theme engine.
7470         (gtk_style_copy): fixed a leaked PangoFontDescription
7471         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
7472         can be the standard GObject function.
7473         
7474         * Throughout GTK:
7475         s/style->klass->[xy]thickness/style->[xy]thickness
7476         s/pango_layout_unref/g_object_unref/
7477
7478         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
7479         
7480         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
7481         accessing GDK internals.
7482
7483         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
7484         accessing GDK internals.
7485
7486 2000-06-18  Elliot Lee  <sopwith@redhat.com>
7487
7488         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
7489
7490         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
7491         problem by calculating event position relative to the trough
7492         rather than the slider.
7493         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
7494
7495         * gdk/gdkgc.h: Add GDK_NOR.
7496
7497         * configure.in, Makefile.am: Add modules top level dir
7498         * configure.in: Only use pangox library if building x11 target.
7499         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
7500
7501 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
7502
7503         * gtk/gtkcolorsel.c: Change private class member to be named
7504         private_data throughout the file.
7505
7506         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
7507         private_data to avoid clashing with keyword.
7508
7509 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
7510
7511         * gdk/gdkdnd.h: Add comment to remove warning.
7512
7513 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
7514
7515         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
7516         Byelorussian language; changed the Makefile and file names 
7517         to reflect that.
7518
7519 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
7520
7521         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
7522         rather than gdk_window_hide; this makes things work
7523         correctly if the window is programmatically hidden while
7524         iconified.
7525
7526 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
7527
7528         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
7529         cut and paste typo where wrong pixmap was being
7530         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
7531
7532 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
7533
7534         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
7535         Add helper function to compute format / bytes 
7536         relationship. Use in a couple places to fix up
7537         errors which assume 8 * format.
7538
7539         * gtk/gtkselection.c (gtk_selection_request): Use 32
7540         rather than 8 * sizeof (GdkAtom), to work correctly
7541         on Alpha.
7542
7543 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
7544
7545         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
7546         libgtk.la
7547         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
7548         versions
7549
7550         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
7551         checking macros return NULL since the function has a return value.
7552
7553 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
7554
7555         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
7556         GTK+ from building at all.
7557
7558         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
7559
7560 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
7561
7562         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
7563         gtk/Makefile.am: make it possible to configure gtk for different
7564         targets on the same platform. The library name is now 
7565         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
7566         flag. Only the x11 target compiles right now.
7567         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
7568         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
7569         * gdk/nanox/gdk*generic*: delete generic region code.
7570         * gdk/linux-fb/gdk*generic*: delete generic region code.
7571         * README.nanox: update information.
7572         
7573 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
7574
7575         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
7576         prepend not append. (Pointed out by Brett Hall.)
7577
7578 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
7579
7580         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
7581
7582 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
7583
7584         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
7585         need this later, and this makes sure that the atexit for
7586         glib gets called after that for GDK, so atexits are
7587         properly ordered for object leak checking.
7588
7589         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
7590
7591         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
7592         pango_x_shutdown_display()
7593
7594         * gtk/simple.c (main): Close window on destroy.
7595
7596 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
7597
7598         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
7599         to treat initial creation different from setting with 
7600         regards to the graphics-exposures parameter, so add a parameter
7601         indicating whether this is initial or not.
7602
7603 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
7604
7605         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
7606         to sort of work by adding an extra return_exposes arg
7607         to gdk_event_translate() - it might be better to simply
7608         deprecate the function altogether and force people to rewrite
7609         without it. gdk_window_scroll() handles most of it, and where
7610         gdk_window_scroll() doesn't work, simply redrawing more does.
7611
7612         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
7613         assertion.
7614
7615         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
7616
7617         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
7618         bunch of pretty much useless /* Print debugging info */ comments 
7619         which had drifted away from the code they were commenting.
7620
7621 2000-06-02  Havoc Pennington  <hp@pobox.com>
7622
7623         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
7624         is in working order.
7625         
7626         * gtk/testtext.c: Change to reflect anonymous mark API
7627
7628         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
7629
7630         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
7631         field, which was unused.
7632
7633         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
7634         saves some typing.
7635
7636         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
7637
7638         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
7639         flag on the insertion point and selection bound
7640
7641         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
7642         make mark-manipulation functions take a GtkTextMark* instead of a
7643         mark name.
7644         
7645         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
7646         GtkTextMarkBody; will be used to detect attempts to delete
7647         the permanent marks (insert and selection bound)
7648
7649         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
7650
7651 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
7652
7653         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
7654         flag to on.
7655
7656         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
7657         Honor DOUBLE_BUFFRED_FLAG
7658
7659         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
7660         function to set the DOUBLE_BUFFERED flag.
7661
7662         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
7663         or not exposes done on the widget should be double-buffered.
7664
7665         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
7666         to be what would be expected. (Fixes problem with a
7667         g_return_if_fail() validating a TextDirection enumeration)
7668
7669 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
7670
7671         * gtk/gtkwidget.c: Remove all references to 
7672         offscreen flag which was no longer used.
7673
7674         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
7675
7676         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
7677         for non-null label_widget->parent.
7678
7679         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
7680         which no longer was used.
7681
7682         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
7683
7684         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
7685         for null arguments.
7686
7687         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
7688         check for destroyed windows.
7689
7690 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
7691
7692         * gtk/gtkimmulticontext.c: Add a finalize method and unref
7693         the slave context there.
7694
7695         * gtk/gtkinvisible.[ch]: Make reference counting behavior
7696         identical to GtkWindow.
7697
7698 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
7699
7700         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
7701         pangox to here, so we can write them independent of rendering
7702         system, using GDK primitives.
7703
7704         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
7705         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
7706         since we have a rendering-system independent implementation in
7707         terms of draw_glyphs().
7708         
7709         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
7710         function to render a single line.
7711
7712         * gdk/x11/gdkpango.c: Move the guts of this file mostly
7713         into ../gdkpango.c, which simplifies things, since we
7714         don't have to deal with raw X gc's.
7715
7716 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
7717
7718         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
7719         get the logical attributes for a given GtkTextLine.
7720
7721 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
7722
7723         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
7724         g_locale_get_codeset() to g_get_codeset() change.
7725
7726 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
7727
7728         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
7729         descriptions.
7730
7731         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
7732         the entry.
7733
7734         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
7735         redoing (vastly simplifying) for Pango. Still needs quite
7736         a bit of work. (Size selection is currently poor. List of 
7737         predefined sizes is not a good idea, since all of these
7738         sizes won't necessarily be distinct.)
7739
7740 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
7741
7742         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
7743         CODESET results for LANG=C.
7744
7745 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
7746
7747         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
7748         which takes a stringized pango font description;
7749         ignore the older 'font' and 'fontset' declarations.
7750
7751         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
7752         field with a GdkFont derived via gdk_font_from_description(),
7753         for compatibility. (Should we just remove it entirely?
7754         Probably too much compatibility breakage, but people
7755         should be migrating to the new Pango stuff as quickly
7756         as possible.)
7757
7758 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
7759
7760         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
7761
7762 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
7763
7764         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
7765         redoing; there are some bugs in size allocation right
7766         now, the semi-existant distinction between header / day
7767         fonts was removed, but, with Pango, could actually
7768         be made functional in a nice way.
7769         
7770         * gtk/testcalender: Move calender from examples into this
7771         directory as a test program. (We really need to restrcture
7772         testgtk into a whole directory full of tests for every
7773         widget or functionality group, separated into multiple .c
7774         files.)
7775
7776 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
7777
7778         * gtk/testgtk.c (file_exists): Fix stupid typo that
7779         was keeping RC file from being loaded.
7780
7781         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
7782         RC file font code.
7783
7784 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
7785
7786         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
7787         Add function to load a GdkFont from a PangoFontDescription.
7788
7789 2000-05-29  Tor Lillqvist  <tml@iki.fi>
7790
7791         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
7792         variable should be of type GdkEventPrivate.
7793
7794 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
7795
7796         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
7797         to have any widget for the label, use a GtkLabel widget
7798         to display the text. (Based partially on a patch from
7799         Anders Carlson.)
7800
7801         (Quite a bit of code reorganization - strip 90% of the
7802         guts out of gtkaspectframe and add a single virtual
7803         func to GtkFrameClass - compute_child_allocation.)
7804
7805 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
7806
7807         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
7808         (Removed clist->row_center_offset field because caching
7809         it wasn't saving time or code, added private function
7810         _gtk_clist_create_cell_layout()).
7811
7812 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
7813
7814         * gtk/gtkaccellabel.c: Pangoized.
7815
7816         * gtk/[hv]ruler.c: Pangoized
7817
7818 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
7819
7820         * gtk/gtkfilesel.c (gtk_file_selection_init):
7821         Use gtk_clist_set_column_auto_resize() to remove need
7822         need for manual column width computations.
7823
7824 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
7825
7826         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
7827         ensuring Pango correctness, and considerably simplifying the
7828         code.
7829         
7830         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
7831
7832         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
7833         getting of numbers of lines.
7834
7835         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
7836         to the actual requested width of the lable, not to the wrap
7837         width we set.
7838
7839         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
7840
7841         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
7842           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
7843
7844         * gtk/gtktextview.c: Fix structure inheritance.
7845
7846         * gtk/gtkprogressbar.c: Pangoize.
7847
7848 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
7849
7850         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
7851         in a function.
7852
7853         * gtk/gtktextlayout.c (find_display_line_above): Fixed
7854         bug with computing line tops.
7855
7856         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
7857
7858 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
7859
7860         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
7861         and y_offset coordinates to do what we need now. (The offset between
7862         buffer and layout coordinates has been reintroduced, but is a 
7863         bit different than before.)
7864
7865         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
7866         handle the adjustments ourselves, and scroll as necessary using
7867         the new gdk_window_scroll().
7868         
7869         The advantage of this is that when we are incrementally revalidating,
7870         we are essentially rearranging things around the visible portion
7871         of the screen. With the old setup, the visible portion of the
7872         screen was moved around in the layout, so scrolling and redrawing
7873         to track that caused jumping of the display. Since we now
7874         control the scrolling ourselves, we can suppress this and
7875         only redraw when things actually change.
7876
7877 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
7878
7879         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
7880         the region not just redisplay it after-all, since we store the
7881         cursors in the LineDisplay. (Ugly interactions here between
7882         GtkLayout and GtkTextBTree here.)
7883         
7884         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
7885
7886 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
7887
7888         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
7889         Added function to scroll contents of a window while keeping the
7890         window constant. Works by XCopyArea or guffaw-scrolling depending
7891         on the details of how the window is set up. (guffaw-scrolling
7892         still needs to be filled in.)
7893
7894 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
7895
7896         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
7897         move the debugging that was tied to a global variable
7898         to that.
7899
7900         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
7901
7902         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
7903         validated flag, in line data instead of setting height/width to
7904         -1. This allows us to perform operations with partially invalid
7905         buffer (using the old size for invalid lines) and thus to do
7906         incremental vaidation. Keep height/width aggregates up to date
7907         when deleting text and rebalancing the tree.
7908
7909         * gtk/gtktextbtree.[ch]: Add functions validate a line
7910         (gtk_text_btree_validate_line), and to validate up
7911         to a number of pixels (gtk_text_btree_validate).
7912
7913         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
7914         that indicates that something is changed and a revalidation
7915         pass is needed. Change ::need_repaint to ::changed, and
7916         make it take old and new yranges instead of a rectangle.
7917
7918         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
7919         the line_data_destroy() function from 
7920         gtk_text_btree_add_view() to a virtual function in 
7921         GtkTextLayout
7922
7923         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
7924         since we are handling partial repaints in a different fashion
7925         now.
7926
7927         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
7928         of the selection instead of queueing a repaint on the
7929         entire widget.
7930
7931         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
7932         get_selection_bounds() down to btree, make the function
7933         in buffer a wrapper around the btree function.
7934
7935         * gtk/gtktextlayout.[ch]: Add functions to check if the
7936         layout is valid and to recompute either a range of pixels
7937         aroudn a line or a certain total number of pixels.
7938
7939         * gtk/gtktextlayout.[ch]: Cache a single line display;
7940         now that we only redraw the needed portions, the hit rate
7941         for this cache is quite high.
7942         
7943         * gtk/gtktextview.[ch]: Keep track of the first paragraph
7944         on the screen so that when re-laying-out the buffer, we can
7945         keep the same place. This requires connecting to ::value_changed
7946         on the adjustments
7947
7948         * gtk/gtktextview.[ch]: Add idle functions to revalidate
7949         the buffer after we receive an ::invalidated signal.
7950         
7951 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
7952
7953         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
7954         to max of allocation and layout size, not just to the
7955         layout size.
7956
7957         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
7958         Invalidate window so it gets redrawn properly.
7959
7960         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
7961         to mean the entire window.
7962
7963         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
7964         into public header.
7965
7966 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
7967
7968         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
7969         to get the name of a mark.
7970
7971         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
7972         to find the paragraph from a y position.
7973
7974 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
7975
7976         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
7977         nodes have width/height >= 0, not > 0.
7978
7979 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
7980
7981         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
7982         Add a size_only flag, so when we only need the size, we don't create
7983         useless appearance attributes.
7984
7985         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
7986         duplicate setting of font description.
7987
7988         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
7989
7990 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
7991
7992         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
7993         EXTRA_DIST. It does not work well when the file that
7994         everything depends on is not in the tarball.
7995
7996 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
7997
7998         * gtk/testgtk.c: Some hacks and fixes so that it basically
7999         works when not sitting in the GTK+ build tree.
8000
8001 2000-05-03  Havoc Pennington  <hp@redhat.com>
8002
8003         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
8004         Properly determine the ordering of the tag root and the current
8005         line within the tree. Previous algorithm only worked if the tag
8006         root's immediate parent was the common root of both the current
8007         line and the tag root.
8008
8009 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
8010
8011         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
8012         alignment.
8013
8014         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
8015         the widget text directional dynamically.
8016
8017         * gtk/gtktextview.[ch]: Added functions to get and set default
8018         wrap mode.
8019
8020 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
8021
8022         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
8023         in cursor location computation.
8024
8025 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
8026
8027         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
8028         vadjusment values properly when layout gets smaller.
8029
8030         * gtk/gtktextview.c (need_repaint_handler): Areas being
8031         passed in are far completely inaccurate, and sometimes
8032         too small, so, for now, just queue a redraw on the
8033         whole visible region.
8034
8035 2000-04-25  Havoc Pennington  <hp@redhat.com>
8036
8037         * gtk/gtktextbtree.c (summary_destroy): new function to 
8038         destroy tag summary nodes
8039         (gtk_text_line_next_could_contain_tag): this function was 
8040         totally broken if the line passed in wasn't below the tag
8041         root. Fix it.
8042         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
8043         "wildcard" case, we have to do a linear scan. Blah.
8044         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
8045         we have to do the linear scan
8046         (tag_removed_cb): When a tag is removed from the tag table, 
8047         remove the GtkTextTagInfo node from the btree.
8048         (gtk_text_btree_spew): Implement the spew function, for 
8049         our debugging pleasure.
8050
8051 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
8052
8053         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
8054         a problem with referring to the wrong buffer.
8055
8056         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
8057
8058         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
8059         font description to gtk_style_new() - otherwise things
8060         don't work without a .gtkrc file.
8061
8062         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
8063         tags table if we create it ourself, too.
8064
8065         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
8066         it was conflicting with XKB modifiers.
8067
8068         * gtk/gtktextview.[ch]: Add simple support for 
8069         GtkIMContext.
8070
8071 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
8072
8073         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
8074         with deletion from last commit.
8075
8076 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
8077
8078         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
8079         in the context from the current locale.
8080         
8081         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
8082         context, not hardcoded value.
8083
8084         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
8085         not logical.
8086
8087 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8088
8089         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
8090         attributes - that doesn't handle partial-glyph selection
8091         properly. Instead use new pango_layout_line_get_x_ranges()
8092         functionality to draw the selection.
8093
8094         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
8095         now properly handles out-of-range coordinates.
8096
8097         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
8098
8099         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
8100         public.
8101
8102         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
8103         for paragraphs opposite to the base direction of the widget.
8104
8105         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
8106
8107         * gtk/gtktextlayout.c: Don't split segments on marks, since that
8108         causes Arabic words to reshape as you cursor through.
8109
8110         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
8111         cursor position when moving vertically with the arrow keys and
8112         scrolling with page-up/page-down. (Arrow keys save only the X,
8113         scrolling saves both X and Y.)
8114
8115         This means you can line-up / line-down or page-up / page-down
8116         without losing your place, and also that moving vertically
8117         with the cursor keys keeps the same X position, not the same
8118         character count:
8119
8120         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
8121         arrow keys move by display lines, not paragraphs.
8122
8123 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
8124
8125         * gtk/gtklayout.c: Make sure that the bin window is at least
8126         as big as the allocation. (Should we also make sure that the
8127         bin window is big enough to completely cover widget->window?)
8128
8129         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
8130         function to get the onscreen rectangle.
8131
8132         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
8133         for offsets in window coordinates.
8134
8135 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
8136
8137         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
8138         confusion.
8139
8140         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
8141         from the widget direction.
8142
8143         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
8144         Add a "direction" attribute.
8145
8146         * gtk/gtktextview.c: global s/tkxt/text_view/.
8147
8148         * gtk/testtext.c: Added long block of text in Arabic, to test out
8149         the direction attributes. (Some problems with the shaping system
8150         for arabic become obvious - like the fact the cursor splits words
8151         into unjoined pieces.)
8152
8153 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
8154
8155         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
8156
8157         * gtk/gtktextlayout.c: Fix up alignment.
8158
8159         * gtk/testtext.c: Add some tests for centering, wrapping.
8160
8161 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
8162
8163         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
8164         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
8165         If we wrote GTK+-specific layout-render function this could just replace
8166         the draw_layout() operation in the vtable.
8167
8168         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
8169         pango_layout_get_cursor_pos() and use that function.
8170
8171         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
8172         is a non-static symbol.
8173
8174         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
8175         with gtk_text_btree_find_line_by_y()
8176
8177         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
8178         renderer that handles GtkTextAppearance attributes.
8179
8180         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
8181
8182           - Move the values in the style that don't affect geometry into a
8183             GtkTextAppearance structure.
8184           - Change underline to take a PangoUnderline and "font" a string
8185             representation of a font description
8186           - Add a "font_desc" attribute which takes a FontDescription structure.
8187
8188         * gtk/gtktextlayout.[ch]:
8189
8190           - Get rid of the display-line list per each line. Instead, we
8191             generate, on demand, a GtkTextLineDisplay structure which]
8192             contains a PangoLayout * and other necesary information
8193             (offsets, cursor locations) for displaying a paragraph.
8194           - Get rid of the code to wrap lines, create display chunks,
8195             etc. Instead, we just go through a paragraph and convert
8196             it into the necessary inputs to a PangoLayout.
8197           - Implement a new attribute type, GtkTextAttrAppearance. This
8198             holds a GtkTextAppearance, and is used to pass colors, 
8199             stipple, etc, through from the layout to the display without
8200             having to use lots and lots of individual attributes.
8201           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
8202             in terms of PangoLayout functions.
8203         
8204         * gtk/gtktextview.c: 
8205          
8206           - Handle passing the necessary PangoContext to the layout
8207           - Some fixups in painting to deal with the automatic backing store
8208             and offsetting of GTK+-1.4
8209           - Add a style_set handler so that the default style reacts
8210             properly to theme changes.
8211         
8212         * gtk/gtktext?*.[ch]: Random code-style fixes.
8213
8214         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
8215
8216 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
8217
8218         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
8219         in original form preparatory to Pango-ization and gdkimcontext-ization.
8220
8221 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
8222
8223         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
8224         so that we can derive from gtkimcontext in language bindings properly.
8225
8226 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
8227
8228         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
8229         Add a compose table including (almost) all the compose combinations
8230         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
8231         data in the XIM implementation.
8232
8233         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
8234         Moved functions to convert keyvalues from and to unicode here from
8235         the win32 port and made them public.
8236
8237 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
8238
8239         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
8240
8241 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
8242
8243         * gtk/gtkimcontext.[ch]: Base class for new input context system
8244
8245         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
8246         the real input context implementation to be loaded from modules
8247         and switched on the fly.
8248
8249         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
8250         context that just does direct keysymbol => unicode translation.
8251
8252         * gtk/gtkentry.[ch]: Start switching editing over to using
8253         GtkInputContext. (No handling of preedit yet.)
8254
8255 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
8256
8257         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
8258         many substitutions. (klass should not be subsituted.)
8259
8260 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
8261
8262         * configure.in: Add checks for Pango
8263
8264         * configure.in docs/Makefile.am: Add test for sgml2html
8265         and allow 'make dist' without building html, but print out
8266         warnings in that case. (For making snapshots)
8267
8268         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
8269         Add Pango libraries and C flags
8270
8271         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
8272         Add function (gdk_draw_layout) to draw a pango layout.
8273
8274         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
8275         for getting Pango contexts for GDK.
8276
8277         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
8278
8279         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
8280         editing.
8281
8282         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
8283         keysym => unicode translations. More languages can be added
8284         here, but real input-method support is needed.
8285
8286         * docs/Changes-1.4.txt: Added note about entry behavior.
8287         
8288         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
8289         to set the reading direction for a widget and the global direction.
8290         Add test which allows toggling the global direction. Two private
8291         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
8292
8293         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
8294           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
8295
8296         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
8297
8298         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
8299         underlining now handled by Pango.
8300
8301         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
8302         to RCStyle and Style. (Having both this and the old font name and GdkFont 
8303         is temporary.)
8304
8305         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
8306         convenience functions for creating contexts and layouts for widgets.
8307
8308         * gtk/testgtk.c: Enhance label tests with multilingual labels.
8309
8310 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
8311
8312         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
8313         titles to be active, even if they aren't visible.
8314         (gtk_clist_column_titles_passive):  Ditto.
8315
8316 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
8317
8318         * gtkmenu.c:
8319         * gtkmenu.h:
8320         * gtktypeutils.h: Spelling/grammar fixes in comments.
8321
8322 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
8323
8324         * gdk/nanox/*.h: add missing header files.
8325
8326 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
8327
8328         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
8329         send_event to TRUE.
8330         (gtk_drawing_area_size): queue a resize.
8331
8332 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
8333
8334         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
8335         the handlers, also invalidate them. bug nailed down by Karl Nelson
8336         <kenelson@ece.ucdavis.edu>.
8337
8338 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
8339
8340         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
8341         "(nil)" foundries, patch from Grigorios Magklis.
8342
8343         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
8344         on non-available fonts, based on a patch by Grigorios Magklis
8345         <maglis@cs.rochester.edu>.
8346
8347 2000-05-18  Elliot Lee  <sopwith@redhat.com>
8348
8349         * gdk/x11/gdkregion-generic.c: If a region does not have any
8350         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
8351         instead of GDK_OVERLAP_RECTANGLE_IN.
8352
8353 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
8354
8355         * gtk/gtklayout.c (gtk_layout_map): Remove references to
8356         OFFSCREEN, as it is no longer necessary.
8357
8358 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
8359
8360         * gtk/gtkcolorsel.c: Patch from David Santiago
8361         <mrcooger@cyberverse.com> to change things so that the 
8362         indicator of the active palette entry is done independently,
8363         not via the focus, since it should always be visible.
8364
8365 2000-05-17  Tor Lillqvist  <tml@iki.fi>
8366
8367         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
8368         refcount leaks as in the X11 backend.
8369
8370         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
8371         cosmetics.
8372
8373         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
8374         backend. Add _gdk_windowing_window_destroy().
8375
8376         * gtk/gtkcolorsel.c: Include correct backend-specific header.
8377         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
8378         either, but these probably do exist on nanox?)
8379         
8380         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
8381         which isn't necessarily defined by <math.h>.
8382
8383         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
8384         ancestry past GtkObject.
8385
8386         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
8387         from DLL on Win32.
8388
8389         * gtk/gtk.def: Update corresponding to recent changes.
8390
8391         * gtk/makefile.{cygwin,msc}: Updates.
8392
8393 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
8394
8395         * docs/Changes-1.4.txt: A bit of editing.
8396
8397         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
8398         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
8399         to clear the update area for the window, and clear it
8400         when hiding a window.
8401
8402         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
8403         if window destroyed.
8404
8405         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
8406
8407         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
8408         gdk_window_destroy() to the generic code, since there was a lot of 
8409         window-system-independent logic it in. Add a function:
8410         
8411          _gdk_window_destroy() 
8412
8413         to the internal API to destroy a window without unreferencing it.
8414         Add a function:
8415
8416          _gdk_windowing_window_destroy()
8417
8418         That does the windowing-system-dependent part of destroying 
8419         the window.
8420
8421 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
8422
8423         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
8424
8425 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
8426
8427         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
8428         Make gtk_widget_shape_combine_mask() keep a reference count on
8429         the pixmap since it keeps it around.
8430
8431 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
8432
8433         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
8434         leak.
8435
8436         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
8437         leak with event filters.
8438
8439 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
8440
8441         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
8442         signal handlers with the right data arguments. (Fixes
8443         some warnings when a widget was repeatedly set as a drag
8444         destination.)
8445
8446         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
8447         window so we can avoid avoid setting the DND properties on the
8448         toplevel window repeatedly.
8449
8450 2000-05-13  Tor Lillqvist  <tml@iki.fi>
8451
8452         * gdk/win32/gdkwin32.h: Define more message types missing from
8453         mingw headers.
8454
8455         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
8456         call gdk_window_destroy_notify(). It was never called. This
8457         probably meant that the GdkWindow was never freed. Thanks Owen for
8458         noticing (!).
8459
8460         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
8461         window as destroyed before calling DestroyWindow(). DestroyWindow()
8462         causes a call to the window procedure (gdk_WindowProc), which
8463         calls gdk_event_translate(), which calls
8464         gdk_window_destroy_notify(), which gets confused unless the window
8465         is set as destroyed.
8466
8467         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
8468         this function to indicate it's win32 only. Put inside #ifdef
8469         G_ENABLE_DEBUG.
8470
8471         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
8472         debugging function. (gdk_event_translate:) Add a default branch
8473         that uses the above function to print debug messages with all
8474         Windows messages symbolically.
8475
8476         * gdk/win32/gdkprivate-win32.h: Declare it, and
8477         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
8478
8479 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
8480
8481         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
8482         public header file.
8483
8484 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
8485
8486         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
8487
8488         * gtk/gtktext.c: made the adjustments no-construct args, simply
8489         provide default adjustments.
8490         (gtk_text_destroy): release adjustments.
8491
8492         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
8493         adjustment argument non-construct.
8494
8495         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
8496         instead of in finalize.
8497         (gtk_progress_get_text_from_value): 
8498         (gtk_progress_get_current_text): 
8499         (gtk_progress_set_value): 
8500         (gtk_progress_get_percentage_from_value): 
8501         (gtk_progress_get_current_percentage): 
8502         (gtk_progress_set_percentage): 
8503         (gtk_progress_configure): ensure an adjustment is present.
8504
8505 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
8506
8507         * gtk/gtkcolorsel.[hc]:
8508         * gtk/gtkcolorseldialog.[hc]:
8509         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
8510         their parent implementation, use bit fields for boolean values, don't
8511         create unused widgets, usage of glib types, braces go on their own
8512         lines, function argument alignment, #include directives etc. etc. etc..
8513
8514         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
8515
8516 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
8517
8518         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
8519
8520         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
8521         of NULL.
8522
8523         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
8524         to freed data.
8525         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
8526
8527         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
8528         to NULL when the toplevel is getting destroyed.
8529         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
8530         (gtk_menu_destroy): 
8531         (gtk_menu_init): store the information of whether we have to
8532         readd the initial child ref_count during destruction in a new
8533         GtkMenu field needs_destruction_ref_count.
8534
8535         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
8536         here, those reading: learn from my mistake! ;)
8537         in order for set_?adjustment to support a default adjustemnt if
8538         invoked with an adjustment pointer of NULL, the code read (pseudo):
8539         if (v->adjustment) unref (v->adjustment);
8540         if (!adjustment) adjustment = adjustment_new ();
8541         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
8542         now imagine the first unref to actually free the old adjustment and
8543         adjustment_new() creating a new adjustment from the very same memory
8544         portion. here, the latter comparision will unintendedly fail, and
8545         all hell breaks loose.
8546         (gtk_viewport_set_hadjustment):
8547         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
8548         after unreferencing it.
8549
8550         * gtk/gtkcontainer.[hc]: removed toplevel registration
8551         functions: gtk_container_register_toplevel(),
8552         gtk_container_unregister_toplevel() and
8553         gtk_container_get_toplevels() which had wrong semantics
8554         anyways: it didn't reference and copy the list.
8555
8556         * gtk/gtkwindow.c: we take over the container toplevel registration
8557         bussiness now. windows are registered across multiple destructions,
8558         untill they are finalized. the initial implicit reference count
8559         users are holding on windows is removed with the first destruction
8560         though.
8561         (gtk_window_init): ref & sink and set has_user_ref_count, got
8562         rid of gtk_container_register_toplevel() call. add window to
8563         toplevel_list.
8564         (gtk_window_destroy): unref the window if has_user_ref_count
8565         is still set, got rid of call to
8566         gtk_container_unregister_toplevel().
8567         (gtk_window_finalize): remove window from toplevel list.
8568         (gtk_window_list_toplevels): new function to return a newly
8569         created list with referenced toplevels.
8570         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
8571
8572         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
8573         adjustment a non-construct arg.
8574         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
8575         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
8576         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
8577
8578         * gtk/gtkrange.c: added some realized checks.
8579         (gtk_range_destroy): get rid of the h/v adjustments in the
8580         destroy handler instead of finalize. remove timer.
8581         (gtk_range_get_adjustment): demand create adjustment.
8582
8583         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
8584         we simply create them on demand now and get rid of them in
8585         the destroy handler.
8586         (gtk_viewport_destroy): get rid of the h/v adjustments in the
8587         destroy handler instead of finalize.
8588         (gtk_viewport_get_hadjustment): 
8589         (gtk_viewport_get_vadjustment): 
8590         (gtk_viewport_size_allocate): demand create h/v adjustment
8591         if required.
8592
8593         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
8594         gtk_widget_real_destroy () functionality.
8595         (gtk_widget_real_destroy): reinitialize with a new style, instead
8596         of setting widget->style to NULL.
8597
8598 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
8599
8600         * gtk/gtkcalendar.c:
8601         * gtk/gtkbutton.c: ported _get_type() implementation over to
8602         GType, either to preserve memchunks allocation facilities,
8603         or because Gtk+ 1.0 GtkTypeInfo was still being used.
8604
8605         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
8606         over. prepare for ::destroy to be emitted multiple times.
8607         removed reference tracer magic. chain into GObjectClass.shutdown()
8608         to emit ::destroy signal.
8609
8610         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
8611         fundamental.
8612
8613         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
8614         cludge.
8615
8616         * gtk/gtksocket.c:
8617         * gtk/gtkplug.c:
8618         * gtk/gtklayout.c:
8619         * gtk/gtklabel.c:
8620         * gtk/gtkargcollector.c:
8621         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
8622         not being a fundamental anymore, and to work with the new
8623         type system (nuked fundamental type varargs clutter).
8624
8625         * gtk/*.c: install finalize handlers in the GObjectClass
8626         part of the class structure.
8627         changed direct GTK_OBJECT()->klass accesses to
8628         GTK_*_GET_CLASS().
8629         changed direct object_class->type accesses to GTK_CLASS_TYPE().
8630
8631         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
8632         GType. made most of the GTK_*() type macros and Gtk* typedefs
8633         simple wrappers around macros and types provided by GType.
8634         most notably, a significant portion of the old API vanished:
8635         GTK_TYPE_MAKE(),
8636         GTK_TYPE_SEQNO(),
8637         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
8638         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
8639         GTK_TYPE_ARGS,
8640         GTK_TYPE_CALLBACK,
8641         GTK_TYPE_C_CALLBACK,
8642         GTK_TYPE_FOREIGN,
8643         GtkTypeQuery,
8644         gtk_type_query(),
8645         gtk_type_set_varargs_type(),
8646         gtk_type_get_varargs_type(),
8647         gtk_type_check_object_cast(),
8648         gtk_type_check_class_cast(),
8649         gtk_type_describe_tree(),
8650         gtk_type_describe_heritage(),
8651         gtk_type_free(),
8652         gtk_type_children_types(),
8653         gtk_type_set_chunk_alloc(),
8654         gtk_type_register_enum(),
8655         gtk_type_register_flags(),
8656         gtk_type_parent_class().
8657         replacements, where available are described in ../docs/Changes-1.4.txt.
8658         implemented compatibility functions for the remaining API.
8659
8660         * configure.in: depend on glib 1.3.1, use gobject module.
8661
8662 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
8663
8664         * TODO.xml: Various updates to current status.
8665
8666 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
8667
8668         * gtk.m4: Print out version when test succeeds.
8669
8670 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
8671
8672         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
8673         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
8674         
8675         (Original triangle color selector from Simon Budig
8676         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
8677         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
8678         Santiago <mrcooger@cyberverse.com>)
8679
8680         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
8681         out into a separate widget.
8682
8683         * gtk/testgtk.c: Add some checkbuttons for toggling palette
8684         and opacity controls.
8685
8686 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
8687
8688         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
8689         snuck in prematurely.
8690
8691 2000-05-07  Tor Lillqvist  <tml@iki.fi>
8692
8693         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
8694         had deleted a ! operator by mistake, which caused
8695         GDK_SELECTION_CLEAR events never to be generated, which caused
8696         only the first copy to the clipboard from an gtkeditable to
8697         actually cause a copy to the Windows clipboard.
8698
8699 2000-05-06  Tor Lillqvist  <tml@iki.fi>
8700
8701         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
8702         compilation, too. Current mingw gcc distributions include the
8703         necessary headers. Also the necessary IIDs are now in mingw
8704         headers/libraries, and own definitions unnecessary.
8705
8706         More hacking on OLE2 DND, still doesn't work though, and thus
8707         ifdeffed out.
8708
8709         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
8710         here, too.
8711
8712 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
8713
8714         * gdk/nanox/*: nano-X port work in progress.
8715         * gdk/simple.c: simple test for Gdk.
8716         * README.nanox: notes about the port: read this first!
8717         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
8718         with nano-X.
8719
8720 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
8721
8722         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
8723         gdk_window_clear() into common code, implement in terms of
8724         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
8725         not redirected to the backing rectangle.
8726
8727 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
8728
8729         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
8730         EXTRA_DIST. It does not work well when the file that
8731         everything depends on is not in the tarball.
8732
8733 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
8734
8735         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
8736         with recursion where process_updates() is called from
8737         an expose handler. (GtkTextView is highly broken in
8738         doing this, but it should work, so it is a nice test
8739         case.)
8740
8741 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8742
8743         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
8744         handle the case where updates are queued during processing of
8745         updates.
8746
8747 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
8748
8749         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
8750         window is on gdk_display - use that instead of segfaulting.
8751
8752 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
8753
8754         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
8755         broken and require an empty arg, give it to them.
8756
8757 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
8758
8759         * gtk/gtklabel.h: indentation fixes.
8760
8761 2000-05-02  Tor Lillqvist  <tml@iki.fi>
8762
8763         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
8764         draw too narrow or too low arcs, they seem to fail, at least with
8765         some display drivers.
8766
8767         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
8768
8769         Large changes to the Win32 backend, partially made necessary by
8770         the changes to the backend-independent internal
8771         structures. Attempts to implement similar backing store stuff as
8772         on X11. The current (CVS) version of the Win32 backend is *not* as
8773         stable as it was before the no-flicker branch was merged. A
8774         zipfile with that version is available from
8775         http://www.gimp.org/win32/. That should be use by "production"
8776         code until this CVS version is usable. (But note, the Win32
8777         backend has never been claimed to be "production quality".)
8778
8779         * README.win32: Add the above comment about versions.
8780
8781         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
8782
8783         * gdk/gdk.def: Update.
8784
8785         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
8786         presumably be replaced by some more better mechanism as 1.4 gets
8787         closer to release shape.
8788
8789         * gdk/makefile.{cygwin,msc}: Update.
8790
8791         * gdk/win32/*.c: Correct inclusions of the backend-specific and
8792         internal headers. Change code according to changes in these. Use
8793         gdk_drawable_*, not gdk_window_* where necessary.
8794
8795         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
8796         our old DND.
8797
8798         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
8799         to interpret single characters as UTF-8. Thanks to Hans Breuer.
8800         Use correct function name in warning messages.
8801
8802         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
8803         GSourceFuncs gdk_event_prepare and gdk_event_check.
8804         (gdk_event_get_graphics_expose): Do implement, use
8805         PeekMessage. Thanks to Hans Breuer.
8806         (event_mask_string): Debugging function to print an GdkEventMask.
8807         (gdk_pointer_grab): Use it.
8808
8809         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
8810         (old) book I used claimed was Hangul actually is CJK Unified
8811         Ideographs Extension A. Also, Hangul Syllables were missing.
8812         Improve logging.
8813
8814         * gdk/win32/gdkgc-win32.c: Largish changes.
8815
8816         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
8817         g_win32_getlocale() from GLib, and not setlocale() to get current
8818         locale name.
8819
8820         * gdk/win32/gdkprivate-win32.h
8821         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
8822         gdkwin32.h, similarily as in the X11 backend.
8823
8824         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
8825         assignment was used instead of equals in if test. Thanks to Hans
8826         Breuer.
8827
8828         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
8829         the X11 version.
8830
8831         * gdk/win32/makefile.{cygwin,msc}
8832         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
8833         path to the Win32 headers that works also with the mingw compiler.
8834
8835         * gtk/gtkstyle.c: Include <string.h>.
8836
8837 2000-04-26  Havoc Pennington  <hp@redhat.com>
8838
8839         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
8840         replacing the broken gtk_label_get ()
8841
8842 2000-04-15  Havoc Pennington  <hp@pobox.com>
8843
8844         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
8845         this keeps scanner scripts from getting confused.
8846
8847         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
8848         data, rather than void
8849
8850 2000-04-15  Tor Lillqvist  <tml@iki.fi>
8851
8852         * gtk/gtkclist.c (gtk_clist_motion)
8853         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
8854         with is_hint FALSE, get x and y from the event. They used to be
8855         used uninitialised. The Win32 backend never sends motion events
8856         marked as hints. This for instance fixes the annoying file and
8857         font selector behaviour in the Win32 version.
8858
8859 2000-04-14  Tor Lillqvist  <tml@iki.fi>
8860
8861         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
8862         gtk_private_n_signals variables, they are used by some software,
8863         sigh.
8864
8865         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
8866         installation directory from the Registry, where the installer
8867         should have put it.
8868
8869 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
8870
8871         * gdk/x11/Makefile.am: Fix problem with installation directory for
8872         gdkx.h
8873
8874         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
8875         <mrcooger@cyberverse.com> so that when selecting menus with the
8876         mouse, the first item will not be selected, but when selecting
8877         with an accelerator, or navigating left-right on a menubar with
8878         the menus popped up, the first item will be selected.
8879
8880 2000-04-05  Dan Damian  <dand@dnttm.ro>
8881
8882         * configure.in: Added "ro" to ALL_LINGUAS.
8883
8884 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
8885
8886         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
8887         indentation.
8888
8889         * Makefile.am (EXTRA_DIST): Fix typo.
8890
8891         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
8892         to catch gdkconfig.h
8893
8894         * gtk/gtkitemfactory.c: Added FIXME.
8895
8896 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
8897
8898         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
8899         s/return_if_fail/return_val_if_fail/g and add a return value.
8900
8901 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
8902
8903         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
8904         merge slipup.
8905
8906         * gdk/gdkinput.h: Fix missing line from merge.
8907
8908 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
8909
8910         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
8911         instead of gdkprivate.h.
8912
8913 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
8914
8915         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
8916         parent class to correctly be GtkDialogClass.
8917
8918 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
8919
8920         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
8921         toplevel windows and their immediate children by their parents,
8922         since the size of toplevel windows is out of our immediate
8923         control and we don't get any real benefit from trying to track
8924         this size for clipping.
8925
8926         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
8927         for input_only windows.
8928
8929         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
8930         to fix some hacks and make sure that we don't try to set the
8931         background of input only windows.
8932
8933 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
8934
8935         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
8936         the _really_ internal stuff, and leave gdkprivate.h for the fake private
8937         stuff that we've traditionally exposed.
8938
8939         * gdk/**.c: Use gdkinternals.h where appropriate.
8940
8941         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
8942         not include gdkprivate-x11.h, move all stuff of conceivable public
8943         interest into gdkx.h; keep all really private stuff in
8944         uninstalled header gdkprivate-x11.h.
8945
8946         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
8947         image->image_put on windows through a new function _gdk_window_draw_image()
8948         to allow us to do backing store for images. (Sort of ugly)
8949
8950         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
8951         contexts locally so that we can offset them properly when drawing 
8952         onto backing pixmaps.
8953
8954         * gdk/gdkinput.h: Reindented
8955
8956         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
8957         pixmap or color for the window, so we can properly initialize
8958         our double-buffer pixmaps, and also so that we temporarily set
8959         a background of None while scrolling.
8960
8961         * gdk/gdkregion.h: Revise region boolean operators to have an
8962         interface that is actually convenient - switch from creating new
8963         regions on every op, to "methods" that modify existing regions
8964         (A = A OP B). 3 argument forms which allow dest == src, would also
8965         be possible, but the current interfaces seem to map nicely
8966         onto what needs to be done. (There is quite a lot of region
8967         code in GDK now.)
8968
8969         * gdk/gdkregion.h: Add constructor from rectangle and a copy
8970         operator.
8971
8972         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
8973         gdkpoly-generic.h: Copy region code from Xlib, switch it over
8974         to 32 bit coordinates, modify it to be mostly GTK+ style
8975         and to have interfaces that match gdkregion.h.
8976
8977         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
8978         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
8979         create a backing pixmap and redirect all drawing to
8980         that backing pixmap until a matching gdk_window_end_paint().
8981
8982         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
8983         Create a special drawable class for GtkWindow's that 
8984         redirects the drawing to the backing pixmap as necessary
8985         and then calls the real operations in _gdk_windowing_window_class.
8986
8987         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
8988         Store invalid region for each window. Generate expose events for invalid
8989         region in an idle. This replaces both the expose compression
8990         and the redrawing queuing in GTK+. It is both more efficient and
8991         simpler than either one individually and far more so then the
8992         combination.
8993
8994         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
8995         Emulate 32 bit coordinates for windows with 16 bit coordinates
8996         by offsetting drawing, guffaw scrolling techniques and
8997         mapping/unmapping child windows as necessary.
8998
8999         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
9000         where, when invalid regions are processed, the region is stored,
9001         and if expose events come in that are detectably duplicate
9002         the processed exposes (by comparison of event serial numbers),
9003         the stored region is subtracted out of those exposes.
9004
9005         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
9006         regions newly exposed when scrolling or resizing windows.
9007         This, combined with forcing processesing of queued invalidated
9008         regions, gives nice flicker-free scrolling.
9009
9010         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
9011         invalidated regions after every scroll.
9012
9013         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
9014         emulation in GDK. Its, for all practical purposes just a
9015         GtkViewport/GtkFixed hybrid now.
9016
9017         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
9018         (16-bit) structures as necessary instead of just casting.
9019
9020         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
9021         in terms of the structures from gdkregion-generic.c, using appropriate
9022         offsets from GDK to X11 coordinates. Cache clip mask and
9023         origin and ts origin locally and only flush to the server
9024         when drawing, to avoid constantly setting and resetting these
9025         values when offsetting GC's for scrolling and backing pixmaps.
9026
9027         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
9028
9029         * gtk/gtkcontainer.c: Call process_all_updates at end
9030         of resizing to reduce flicker. (Avoids having redraw
9031         lag arbitrarily behind resize under some circumstances)
9032
9033         * gtk/gtkentry.c: Remove old backing store code, and simply take
9034         advantage of the new backing store capabilities of GDK.
9035
9036         * gtk/gtkmain.c: Simple implementation of widget backing
9037         store - simply push a paint while handling each expose.
9038         (Should really be configurable widget for widget.)
9039         
9040         * gtk/gtkwidget.c: Remove all the old complicated redraw
9041         code, and simply invalidate the GDK windows from
9042         gdk_window_queue_clear(), etc. (Sigh, so much carefully
9043         debugged complexity ... gone to the winds.)
9044
9045         Remove all the code for suppressing expose events while
9046         resizes are pending; this isn't needed since the invalid
9047         areas won't be processed until after the resizes are
9048         processed, since they are in a lower priority idle.
9049
9050 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
9051
9052         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
9053         and height of dest rectangle for non-intersecting rectangles.
9054
9055 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
9056
9057         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
9058         for GdkRectangle.
9059
9060 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
9061
9062         * gdk/gdk{events,image,private,types,window}.h
9063          gdk/x11/gdkinputprivate.h: Change all coordinates
9064          from int16 to int. Also, Change width and height from
9065          unsigned to signed to avoid all the stupid C 
9066          signedness bugs.
9067
9068 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
9069
9070         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
9071         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
9072         Add some more detailed checking.
9073
9074         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
9075         New function to retrieve the depth of a drawable.
9076
9077         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
9078         field, reorder fields to save memory. 
9079
9080 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
9081
9082         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
9083         of the background image instead of scaling the background down to
9084         a line.
9085
9086         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
9087         which temporarily set slider to wrong size.
9088
9089         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
9090         queue_clear().
9091
9092 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
9093
9094 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
9095
9096         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
9097
9098 2000-03-17  Tor Lillqvist  <tml@iki.fi>
9099
9100         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
9101         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
9102
9103         * gdk/win32/gdkfont-win32.c
9104         * gdk/win32/gdkproperty-win32.c
9105         * gdk/win32/gdkselection-win32.c
9106         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
9107         now declared such.
9108
9109 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
9110
9111         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
9112
9113 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
9114
9115         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
9116         is called without trapping X errors.
9117
9118 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
9119
9120         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
9121         way into the fontset lists.
9122
9123 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
9124
9125         * gtk/gtkthemes.h: add extern "C" scope.
9126
9127 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
9128
9129         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
9130         to make appends to the list constant. (gtk-guy-990901-0.patch)
9131
9132 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
9133
9134         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
9135         for the typename hash table.
9136
9137 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
9138
9139         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
9140         to make sure we never divide by zero. 
9141         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
9142
9143 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
9144
9145         * gtk/gtkfontsel.c: Apply patch from
9146         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
9147         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
9148
9149         Also, some cleanups in atom handling.
9150
9151 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
9152
9153         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
9154         not GtkWidget.
9155
9156 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
9157
9158         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
9159         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
9160         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
9161         more guint wrap-around bugs before going to bed.
9162
9163 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
9164
9165         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
9166         guint wrap arounds in allocation.width.
9167
9168         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
9169         process untill we fit the allocation given.
9170
9171 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
9172
9173         * gtk/gtkwidget.c:
9174         (gtk_widget_unrealize): guard widget access with ref/unref
9175         around signal emission.
9176         (gtk_widget_hide): same here, but also check its destroyed
9177         state before queueing a resize.
9178
9179 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
9180
9181         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
9182         of gtk_default_insensitive_bg as insensitive base color.
9183
9184         * gtk/gtktext.c (gtk_text_style_set): set the background color according
9185         to the widget's state.
9186         (gtk_text_realize): same here.
9187         (gtk_text_state_changed): same here.
9188         (draw_bg_rect): compare background color against base[] from
9189         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
9190
9191 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
9192
9193         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
9194         grabs are active, unless a delete event is send to the toplevel
9195         of the currently grab holding widget.
9196
9197 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
9198
9199         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
9200         debugging g_print's.
9201
9202 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
9203
9204         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
9205         ever make the scrolled-window requisition ever depend on the 
9206         visibility state of the scrollbars for the AUTOMATIC policy. 
9207         This breaks the GTK+ requisition model, and causes loops.
9208
9209 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
9210
9211         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
9212         the default font to avoid problems with XFree86-4.0 where the
9213         default charset is iso10646-1, not iso8859-1.
9214
9215 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
9216
9217         * acinclude.m4
9218         * config.guess
9219         * config.sub
9220         * ltconfig
9221         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
9222
9223         * gtk/Makefile.am: minor cosmetic consistency tweak
9224
9225 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
9226
9227         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
9228         the activate_time to 0, so that we handle a quick
9229         press/release press/release properly and don't suppress
9230         the second release. (Red Hat bug #7545)
9231
9232 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
9233
9234         * gtk/gtkctree.c (row_delete):
9235         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
9236         bugs with destruction notifier, *always* update internal
9237         structures *before* calling user code.
9238
9239 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
9240
9241         A few more fixes for bug #5487, #2051, #2677.
9242         * gtk/gtkclist.c : 
9243         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
9244         not GDK_BUTTON_PRESS.
9245         (resync_selection): resync only if selection_mode is
9246         GTK_SELECTION_EXTENDED
9247         * gtk/gtkctree.c (resync_selection): same here
9248
9249 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
9250
9251         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
9252         gdk_drag_get_selection() and gtk_menu_detach().
9253
9254         [ From Jeroen Ruigrok/Asmodai ]
9255
9256 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
9257
9258         * gtk/gtknotebook.c (gtk_notebook_size_request): 
9259         page->tab_label can be NULL.
9260
9261 2000-01-25  Havoc Pennington  <hp@pobox.com>
9262         
9263         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
9264         arg is boolean
9265
9266         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
9267
9268         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
9269
9270         * gdk/gdkproperty.c (gdk_property_get): return boolean
9271
9272         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
9273
9274         * gdk/gdkim.c (gdk_im_ready): return boolean
9275
9276         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
9277
9278         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
9279         glib clash, should fix glib)
9280
9281         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
9282         (gdk_get_show_events): return gboolean, and canonicalize 
9283         to TRUE/FALSE
9284
9285         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
9286         colormap is private
9287         (gdk_colors_alloc): gboolean whether to be contiguous
9288         (gdk_color_equal): return gboolean since we are a predicate
9289         and not a qsort() (this looks semi-wrong due to glib breakage,
9290         IMO glib should be fixed)
9291         
9292         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
9293         (gdk_get_use_xshm): return gboolean
9294         (gdk_pointer_is_grabbed): return gboolean
9295
9296         * gdk/gdk.h: Change prototypes to match all the above changes,
9297         and re-run egtk-format-protos as required.
9298
9299 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
9300
9301         * gtk/gtkctree.c (resync_selection): 
9302         * gtk/gtkclist.c (resync_selection):
9303
9304         Return immediately if clist->drag_pos < 0. This is a workaround
9305         for the corrupt state that the clist gets into when a
9306         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
9307
9308         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
9309         
9310         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
9311         variable from recent commit.
9312
9313 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
9314
9315         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
9316
9317 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
9318
9319         * gtk/Makefile.am: prefix all autogenerated source that get build in
9320         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
9321         in builddir. since we subsequently cd into srcdir for autogeneration,
9322         the paths have to be stripped from the target file names, thusly we
9323         use $(@F) as target names now.
9324         put a comment about configure.in's --disable-rebuilds option,
9325         which can be used for non-writable source directories, for development
9326         setups though, srcdir has to be *writable*.
9327
9328 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
9329
9330         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
9331           Finish the job of allowing event to be NULL.
9332           (Fixes bug #4283, reported by Chris Blizzard)
9333
9334         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
9335           things so that the cursor appears on screen, properly
9336           take into account INNER_BORDER.
9337           (Fixes bug #4754, reported by Antonio Campos)
9338
9339 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
9340
9341         * gtk/gtknotebook.c (gtk_notebook_map): Don't
9342           show the tab_label unless it itself is visible.
9343
9344           gtk/gtknotebook.c (gtk_notebook_size_request):
9345           Do a better job of making sure that the visibility
9346           of the tab label corresponds to whether it should
9347           be mapped or not.
9348
9349 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
9350
9351         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
9352           Use the requisition, not the allocation, since the
9353           allocation has not necessarily been computed yet.
9354           (Pointed out by Eugene Osintsev)
9355
9356 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
9357
9358         * gtk/gtkstyle.c (gtk_style_new): Dont' set
9359           style/base[GTK_STATE_INSENSITIVE] both to
9360           gtk_default_insensitive_bg!
9361           (Bug #2187, reported by Jonathan Blandford)
9362
9363         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
9364           Add Alt_L, Alt_R to list of invalid accelerators.
9365           (Bug #3736, reported by Vlad Harchev)
9366
9367 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
9368
9369         * gtk/gtkfilesel.c (open_ref_dir): Fix several
9370         bugs which occured after an attempt to open 
9371         invalid home directory left cmpl_state->reference_dir == NULL.
9372
9373          - completion on files in home directory didn't work
9374          - completion on an empty string caused  segfault
9375
9376          (Bug #3678, reported by Steve Ratcliffe)
9377
9378         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
9379         cut and paste error that was causing scales to
9380         be incorrectly positioned.
9381         (Bug #2956,
9382          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
9383
9384 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
9385
9386         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
9387         when checking for dcgettext, if we've found we needed
9388         it for dgettext.
9389 +
9390 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
9391
9392         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
9393         queue_clear on NO_WINDOW widgets during a reparent,
9394         since at that point the window and widget heirarchies
9395         are out of sync. This stops crashing in some cases
9396         (the scrolled window reparent test, for instance), and
9397         _probably_ won't cause drawing errors.
9398
9399         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
9400         test do what it was supposed to do and be robust against
9401         window closings, etc. (Bug #2443)
9402
9403 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
9404
9405         * gtk/gtkentry.c: Fix return values on mouse events.
9406         (Bug #2686, Sky <seb_sky@yahoo.com>)
9407
9408         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
9409         (pointed out by George Lebl)
9410
9411         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
9412         (From Ettore Perazzoli  <ettore@helixcode.com>)
9413  
9414 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
9415
9416         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
9417         clicks between rows or outside calender area correctly.
9418         (Patch from Damon Chaplin)
9419
9420         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
9421         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
9422           Call destroy function when overwriting existing data. 
9423           (Pointed out by Damon Chaplin)
9424
9425 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
9426
9427         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
9428           which was causing problems on various systems with Xmu.
9429           This hasn't been needed for a very long time.
9430           (Fixes #1185 3167)
9431
9432 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
9433
9434         * gdk/gdki18n.h: Include <ctype.h> when defining
9435           gdk_isw* in terms of is* as a fallback.
9436           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
9437
9438 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
9439
9440         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
9441           realize the widget when it is size allocated!
9442           (old, old bug)
9443
9444         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
9445           Removed unused call to gdk_window_get_size() that
9446           showed up when the above was fixed.
9447
9448 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
9449
9450         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
9451           fix up widget->window when the widget is a
9452           NO_WINDOW container widget.
9453
9454 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
9455
9456         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
9457           to account for the fact that feof() does _not_ 
9458           return TRUE on errors, and thus avoid infinite loops
9459           when trying to use gdk_pixmap_create_from_xpm()
9460           on unreadable values.
9461
9462 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
9463
9464         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
9465
9466 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
9467
9468         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
9469           gdk_gc_set_dashes to take gint8 instead of gchar to
9470           make it clearer that it is _not_ a NULL terminated string.
9471
9472         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
9473           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
9474           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
9475           arguments.
9476
9477 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
9478
9479         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
9480         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
9481         background size relative to our allocation, guard against small
9482         allocations, we may have not yet been size allocated.
9483
9484 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
9485
9486         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
9487         not just version == 3. We implement all 3 + most of 4 - 
9488         (we don't support matching text/plain;charset=iso-8859-1
9489         to a dest that expects text/plain). We'll still advertise
9490         3 to be safe, but any client implementing version >= 3
9491         must interoperate with 3.
9492         
9493 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9494
9495         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
9496         background and gc members, add a warning in gtk_tooltips_set_color()
9497         indicating that this function is deprecated.
9498
9499 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
9500
9501         * docs/gtkfaq.sgml: FAQ Update:
9502           - Minor cleanups (Emmanuel, me)
9503           - New questions:
9504                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
9505                 How can I retrieve the text from a GtkMenuItem? (timj)
9506                 How do I validate/limit/filter the input to a GtkEntry? (me)
9507                 Memory does not seem to be released when I free the list
9508                         nodes I've allocated (timj)
9509
9510 2000-03-07  Tor Lillqvist  <tml@iki.fi>
9511
9512         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
9513         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
9514         for which it is no use to call GetLastError onWin9x.
9515         (gdk_other_api_failed) New function, for general error
9516         reporting without calling GetLastError.
9517         (gdk_win32_api_failed) OTOH, this function always calls
9518         GetLastError. (gdk_win32_last_error_string) Remove this function,
9519         GLib has the equivalent now.
9520
9521         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
9522         call them with function name, file name and line number in the
9523         arguments.
9524
9525         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
9526         functions.
9527         
9528         * gtk/gtk.def: Add some missing entry points.
9529
9530         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
9531         gtk_paned_set_gutter_size, which don't exist any longer, as void.
9532         
9533         Fixes by Hans Breuer:
9534
9535         * gdk/makefile.msc: Update for debugging.
9536
9537         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
9538         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
9539         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
9540         in the dash_list.
9541
9542         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
9543         the x11 backend.
9544
9545         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
9546
9547         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
9548
9549 2000-03-04  Tor Lillqvist  <tml@iki.fi>
9550
9551         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
9552         just pixel value of background colour.
9553
9554         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
9555         containing code snippet previously duplicated in a couple of
9556         places.
9557         
9558         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
9559         gdk_colormap_color.
9560
9561         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
9562         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
9563         events for autorepeated Shift, Control and Alt keys. Use
9564         gdk_colormap_color.
9565
9566         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
9567         pointer is inside the window the cursor of which we are setting,
9568         call SetCursor immediately.
9569
9570         * gdk/win32/makefile.cygwin
9571         * gtk/makefile.cygwin: If we don't have the build number stamp
9572         file, use zero.
9573
9574         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
9575         gtk_paned_set_gutter_size as empty.
9576
9577         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
9578         
9579 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
9580
9581         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
9582           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
9583           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
9584           docs/gtk_tut.sgml docs/gtk.texi TODO:
9585
9586           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
9587
9588 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
9589
9590         * gtk/gtkcalendar.c: Implement num_marked_dates,
9591           and don't emit mutiple day_selected signals on
9592           month_prev.
9593
9594 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
9595
9596         * docs/make-todo (lineno): let title and logo be configurable so
9597         that GNOME can use this script too.
9598
9599         * TODO.xml: added logourl and a title
9600
9601 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
9602
9603         * TODO.xml: Added some UI items, and an explanatory
9604         comment at the top of the file.
9605
9606 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
9607
9608         * TODO.xml: some updates, added abunch of new entries.
9609         a note for those fiddeling with this file, when done
9610         with it, invoke:
9611         $ ./docs/make-todo TODO.xml >/dev/null
9612         and correct output errors before comitting changes.
9613
9614 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
9615
9616         * TODO.xml: Added XML-structured TODO file.
9617         * docs/make-todo: python script to turn TODO.xml into
9618           pretty XML output. 
9619
9620 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
9621
9622         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
9623         the function to let it draw the seven dots, instead of the old,
9624         much maligned, method.
9625         (draw_dot): New function to draw a dot.
9626
9627         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
9628         to draw the handle inside the border width as opposed to outside.
9629         Use paint function instead of gdk_draw_point.
9630
9631         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
9632         to draw the handle inside the border width as opposed to outside.
9633         Use paint function instead of gdk_draw_point.
9634
9635         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
9636         Change indenting to be more GTK like.
9637
9638 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
9639
9640         * docs/gtk_tut.sgml: New section on GtkCalendar
9641         * examples/calendar: Update example code
9642
9643 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
9644
9645         * docs/gtkfaq.sgml: FAQ Update
9646
9647 2000-02-19  Anders Carlsson  <andersca@gnu.org>
9648
9649         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
9650         to prevent the scroll event to be propagated upwards.
9651
9652 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
9653
9654         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
9655         OwnerGrabButtonMask from button entries for
9656         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
9657
9658         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
9659         to the event mask (which will result in button/press release
9660         being added to the event mask on Unix) so scrolling works
9661         for layouts in scroll windows.
9662
9663         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
9664
9665         Patch from Anders Carlsson  <andersca@gnu.org> to add
9666         a scroll event.
9667
9668         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
9669         scrolling to the "Test Scrolling" part of testgtk.
9670  
9671         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
9672  
9673         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
9674         it against GDK_SCROLL.
9675  
9676         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
9677         way of mouse wheel scrolling.
9678  
9679         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
9680  
9681         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
9682  
9683         * gtk/gtkmain.c: Removed previous mouse wheel hack.
9684  
9685         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
9686         gdk_event_mask_table.
9687  
9688         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
9689         GdkEventScroll handler.
9690  
9691         * gdk/gdkevents.h: Added GdkEventScroll structure.
9692  
9693 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
9694
9695         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
9696         and Anders Carlsson to change the Paned widgets so that they
9697         can be dragged from anywhere along the length. Also change
9698         the way that this is drawn to make this apparent.
9699
9700         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
9701         from George Lebl to check that option_menu->menu is present
9702         before getting history.
9703
9704 2000-02-14  Tor Lillqvist  <tml@iki.fi>
9705
9706         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
9707         before the assertion for non-NULL segment list.
9708
9709         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
9710         Seems that pattern brushes *must* be 8x8 pixels! At least on my
9711         machine, but it might be display driver dependent. Sigh, so make
9712         sure the stipple is that size. Does Windows suck or what?
9713
9714         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
9715         places.
9716
9717 2000-02-13  Havoc Pennington  <hp@pobox.com>
9718
9719         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
9720         refcount to 1
9721         (gdk_cursor_new): init refcount to 1
9722
9723         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
9724
9725 2000-02-13  Tor Lillqvist  <tml@iki.fi>
9726
9727         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
9728         so that we don't have to do unnecessary settings to the HDC.
9729
9730         * gdk/win32/gdkdrawable-win32.c
9731         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
9732         gdk_gc_predraw.
9733
9734         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
9735         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
9736         GDI paths, call WidenPath to get the outline of the stroken path,
9737         and then fill the outline (with the brush that was built from the
9738         stipple).
9739
9740         * gdk/win32/gdkgc-win32.c: Factor out common code from
9741         _gdk_win32_gc_new and gdk_win32_gc_set_values into
9742         gdk_win32_gc_values_to_win32values. Use correct colour for
9743         SetBkColor() (Until now the code actually used a random colour in
9744         the call to SetBkColor()... but that didn't show up as not many
9745         GDI APIs use the background colour. Pattern (opaque stippled)
9746         brushes do.)
9747
9748         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
9749         gdk_win32_api_failed): New functions for error logging.
9750
9751         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
9752         WIN32_API_FAILED to call them, passing function or file name and
9753         line number.
9754
9755         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
9756
9757         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
9758         GdkColor for foreground and background in GdkGCWin32Data.
9759
9760         * gdk/makefile.cygwin: Link in the resource object separately.
9761
9762         * gdk/win32/rc/gdk.rc
9763         * gtk/gtk.rc (New file)
9764         * gdk/win32/makefile.cygwin
9765         * gtk/makefile.cygwin: Update build number in DLLs automatically,
9766         as in GLib.
9767
9768 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
9769
9770         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
9771         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
9772         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
9773         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
9774         parameters given and cursor->ref_count. coding style fixups.
9775
9776         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
9777         not GtkWidget.
9778         
9779         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
9780         fix up widget macros and add _GET_CLASS() variant.
9781         
9782         * gtk/*.c: some GtkType fixups.
9783
9784 2000-02-09  Tor Lillqvist  <tml@iki.fi>
9785
9786         * gdk/win32/gdkproperty-win32.c
9787         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
9788         were reversed.
9789
9790 2000-02-04  Tor Lillqvist  <tml@iki.fi>
9791
9792         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
9793         g_filename_to_utf8 to convert the font names Windows gives us from
9794         whatever is the default codepage to UTF-8.
9795         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
9796         in the other direction.
9797
9798         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
9799         error in debugging output.
9800
9801 2000-02-02  Tor Lillqvist  <tml@iki.fi>
9802
9803         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
9804         and height parameters to gdk_window_clear_area(). Not minus one.
9805
9806 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
9807
9808         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
9809         checks if the widget passed to gtk_drag_get_data() was not the
9810         dest widget.
9811
9812 2000-02-01  Tor Lillqvist  <tml@iki.fi>
9813
9814         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
9815         g_filename_from_utf8 functions (which were added a moment ago to
9816         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
9817         size buffers.
9818
9819         gtk_file_selection_get_filename returns the filename in the C
9820         runtime encoding. It calls g_filename_from_utf8, but copies the
9821         returned string to a static buffer, which is returned. I think
9822         this is better than returning the result from g_filename_from_utf8
9823         directly, which would mean all apps that use it would have to free
9824         the return value. Or should this function care about this issue at
9825         all? Maybe a new function with clearly defined semantics.
9826
9827         * gtk/gtkfilesel.h: Add comment about
9828         gtk_file_selection_get_filename returning the filename in the C
9829         runtime's encoding.
9830
9831         * README.win32
9832         * gdk/gdk.def
9833         * gdk/makefile.{cygwin,msc}
9834         * gtk/gtk.def: Updates.
9835
9836         * gdk/gdkcursor-win32.c: Initialise refcount.
9837
9838 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
9839
9840         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
9841
9842 2000-01-30  Havoc Pennington  <hp@pobox.com>
9843
9844         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
9845         destroy
9846
9847         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
9848
9849         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
9850         implemented in platform-specific code
9851
9852         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
9853
9854         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
9855         underscore in front
9856
9857         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
9858         put an underscore in front
9859
9860         * gdk/gdkcursor.c: new file, implements
9861         gdk_cursor_ref/gdk_cursor_unref
9862
9863         * gdk/gdkcursor.h: Refcount GdkCursor
9864
9865         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
9866
9867 2000-01-29  Tor Lillqvist  <tml@iki.fi>
9868
9869         * gdk/gdkwindow.h
9870         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
9871
9872 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
9873
9874         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
9875         structures to properly inherit from GtkWidget not GtkBin.
9876
9877 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
9878
9879         * gtk+.spec.in: Added lib/gtk+/include/* to %files
9880         (bug #5178 - Peter Wainright)
9881         
9882         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
9883         so that it will be installed.
9884         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
9885
9886 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
9887
9888         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
9889         for the GtkStyleClass vtable const.
9890
9891         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
9892         take a const string argument like GtkTranslateFunc. This will
9893         require changes in use code.
9894
9895 2000-01-19  Tor Lillqvist  <tml@iki.fi>
9896
9897         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
9898         semantics (to mimic the X11 backend, which just calls XClearArea)
9899         is to check for zero width (and height), and in that case use the
9900         window's width minus x (height minus y). This fixes for instance
9901         some redraw problems with gtkclist, which were easily noticeable
9902         in the gtk file selection widget.
9903
9904         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
9905         windows.
9906
9907 2000-01-13  Tor Lillqvist  <tml@iki.fi>
9908
9909         * configure.in
9910         * gdk/Makefile.am
9911         * gdk/x11/Makefile.am
9912         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
9913         (bug #5177).
9914         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
9915         out later.
9916
9917 2000-01-09  Tor Lillqvist  <tml@iki.fi>
9918
9919         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
9920         WM_MOVE for iconified or invisible windows. This fixes various
9921         problems when minimising windows. Thanks to Bernd Herd.
9922
9923 2000-01-05  Tor Lillqvist  <tml@iki.fi>
9924
9925         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
9926         backend's draw_lines method, not draw_points.
9927
9928 2000-01-02  Tor Lillqvist  <tml@iki.fi>
9929
9930         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
9931         before Owen's reorganisation: Don't have queued_events and
9932         queued_tail statics in this file, but use gdk_queued_events and
9933         gdk_queued_tail. This makes exposure event compression work again.
9934
9935         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
9936         seem to be needed?
9937
9938 1999-12-30  Tor Lillqvist  <tml@iki.fi>
9939
9940         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
9941         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
9942         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
9943         doesn't do anything.
9944
9945         * gdk/gdk.def: Add gdk_xid_table_insert.
9946
9947         * gdk/win32/gdkprivate-win32.h
9948         * gdk/win32/gdkevents-win32.c
9949         * gdk/win32/gdkinput-win32.c
9950         
9951         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
9952         extension_events field in the GdkWindowWin32Data struct. Use only
9953         the extension_events field in GdkWindowPrivate. Previously one was
9954         set, and the other one tested, which broke tablet
9955         functionality. Thanks to Keishi Suenaga for pointing this out.
9956
9957 1999-12-18  Tor Lillqvist  <tml@iki.fi>
9958
9959         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
9960         When handling a single character (text length == 1), don't handle
9961         it as if it was UTF-8.
9962
9963 1999-12-11  Tor Lillqvist  <tml@iki.fi>
9964
9965         * Makefile.am: Distribute README.win32.
9966         
9967         * gdk/Makefile.am
9968         * gdk/win32/Makefile.am: Distribute Win32 files.
9969
9970         * gdk/makefile.msc: New file.
9971
9972         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
9973         after label).
9974
9975         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
9976         gdk_error_code as GDKVAR, as they are referred outside GDK.
9977
9978         * gdk/win32/makefile.msc: Update.
9979
9980         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
9981         tweaks. Check only if at least one of those Unicode subrange bits
9982         we care for is set. If no code page bits are set, guess (wildly)
9983         based on the charset.
9984
9985         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
9986
9987         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
9988         non-NULL.
9989
9990         * gtk/gtkdnd.c
9991         * gtk/gtklayout.c
9992         * gtk/gtkplug.c
9993         * gtk/gtkselection.c
9994         * gtk/gtksocket.c
9995         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
9996         appropriate. There must be a cleaner way to handle this?
9997
9998         * gtk/gtkrc.c: Must include windows.h on Win32.
9999
10000         * gtk/testgtk.c: No need to include gdkx.h.
10001
10002         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
10003
10004 1999-12-07  Tor Lillqvist  <tml@iki.fi>
10005
10006         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
10007         the rbearing is set to the same as the width, but this should be
10008         fixed.
10009
10010 1999-12-06  Tor Lillqvist  <tml@iki.fi>
10011
10012         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
10013         function. If Windows doesn't tell us what Unicode subranges a font
10014         covers, guesstimate based on the codepages it covers. This will
10015         hopefully help those Windows versions or fonts that don't give us
10016         any useful Unicode subrange information with GetTextCharsetInfo.
10017         Call this function in gdk_font_load_internal.
10018
10019         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
10020         minor changes.
10021
10022 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
10023
10024         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
10025         New function, long needed.
10026
10027 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
10028
10029         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
10030         only_if_exists argument of gdk_atom_intern to
10031         bool.
10032
10033 1999-11-25  Tor Lillqvist  <tml@iki.fi>
10034
10035         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
10036         Fix two copy&paste errors.
10037
10038         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
10039         win32 has changed.
10040
10041         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
10042         GdkWin32SingleFont struct.
10043
10044         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
10045         subranges of loaded fonts. Clear font signature first, in case
10046         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
10047         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
10048
10049         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
10050         Unoffset clip region.
10051
10052 1999-11-23  Tor Lillqvist  <tml@iki.fi>
10053
10054         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
10055         event->any.window before calling filter functions.
10056
10057 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
10058
10059         * gtk/gtkgamma.h: Adapt cast macros to standard.
10060
10061 [ Merges from 1.2 ]
10062
10063 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
10064
10065         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
10066         If translation does not include a '/', use entire
10067         translation instead of crashing.
10068
10069 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
10070
10071         * docs/gtk_tut.sgml:
10072         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
10073
10074 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
10075
10076         * gtk/gtkselection.c (gtk_target_list_remove): Use
10077         g_list_remove_link, not g_list_remove.
10078
10079         [ From Geert Bevin <gbevin@thunderstorms.org> ]
10080         
10081 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
10082
10083         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
10084         statement upon unselection (how the heck did that slip in?).
10085
10086 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
10087
10088         * gtk/gtktext.c (gtk_text_freeze): 
10089         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
10090         in frozen state (and aparently crashes). patch provided by Anders
10091         Melchiorsen <and@kampsax.dtu.dk>.
10092
10093 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
10094
10095         * fix insensitive default/focus widget activation,
10096         reported by Matt Goodall <mgg@isotek.co.uk>.
10097
10098         * gtk/gtkwindow.c (gtk_window_key_press_event): 
10099         (gtk_window_activate_default):
10100         (gtk_window_activate_focus):
10101         return handled=FALSE for actiavtion of insensitive default
10102         widgets. return handled=TRUE for activation of insensitive
10103         focus widgets. don't activate in either case.
10104
10105 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
10106
10107         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
10108         and $glib_cflags to match library order and in the
10109         theory that an old version of GLib is more likely to
10110         be in the include directory for X then vice-versa.
10111         (Bug #2776)
10112
10113 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
10114
10115         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
10116         to determine the locale for fontsets, not LC_MESSAGES;
10117         the user may want English messages with a handling
10118         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
10119         will still be broken) (Bug #2891)
10120
10121 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
10122
10123         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
10124
10125 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
10126
10127         * gtk/gtkrc.ko: Changed the Korean default fontset.
10128
10129 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
10130
10131         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
10132         where when scrolling to the left or top double exposes
10133         were done, causing major slowdowns.
10134
10135 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
10136
10137         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
10138         names to lowercase and alphanumeric, before looking
10139         them up.
10140
10141         * gtk/Makefile.am: Install codeset variant gtkrc files
10142         with normalized names.
10143
10144 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
10145
10146         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
10147         popup menus when the menu is already visible, but its parent
10148         is still hidden, (happens after tornoff window got hidden).
10149
10150 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
10151
10152         * gtk/Makefile.am (install-data-local): Fix
10153         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
10154         deleted, causing error messages on install.
10155
10156 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
10157
10158         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
10159         the handle as well, since we now sometimes ignore
10160         exposes on the handle while resizing.
10161
10162 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
10163
10164         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
10165         extra g_free introduced in one of the last one or two 
10166         commits.
10167
10168 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
10169
10170         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
10171         consistent, put each style that a gtkrc.* file creates
10172         in a unique namespace, remove old files before installing.
10173
10174 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
10175
10176         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
10177         gtk_rc_init is called multiple times. (Yes, people who
10178         do that have bugs in their code.)
10179
10180 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
10181
10182         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
10183         Remove it since it's generated by the Makefile anyway
10184
10185 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
10186
10187         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
10188         device->info.axes for core pointer.
10189
10190 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
10191
10192         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
10193         idle_id, to deal with obsolete, broken C libraries.
10194
10195 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
10196
10197         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
10198         allocation->x/y twice!
10199
10200         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
10201         consistent with gtk_vscale_pos_trough().
10202
10203 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
10204
10205         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
10206         be queueing a resize on a toplevel container between
10207         the time we show it and when we map it. So, we need
10208         to test GTK_WIDGET_VISIBLE() for toplevels, and only
10209         use GTK_WIDGET_DRAWABLE() for child windows.
10210
10211 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
10212
10213         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
10214         (fixes bug #2144)
10215
10216 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
10217
10218         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
10219         container DRAWABLE (instead of VISIBLE), so we don't queue
10220         resizes on non-toplevel containers.
10221
10222 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
10223
10224         * gtk/gtkselection.[ch]: Make the data argument
10225         const guchar *.
10226
10227 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
10228
10229         * gtk/gtkwindow.c: Try to behave sensibly if 
10230         the focus widget is the window itself. (Should
10231         we allow this at all?)
10232
10233 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
10234
10235         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
10236         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
10237         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
10238         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
10239         in prototypes and implementations consistent (Tomas Ogren).
10240
10241         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
10242         before the widget is unparented (reported by damon).
10243
10244         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
10245         since we provide unsigned data anyways.
10246
10247 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
10248
10249         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
10250         the call to gtk_tooltips_layout_text() until later.
10251
10252         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
10253         Call gtk_widget_ensure_style() before using the style.
10254
10255 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
10256
10257         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
10258         for old widgets that don't propagate draws to all
10259         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
10260
10261 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
10262
10263         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
10264         for a redraw but just the widget that requested the resize.
10265
10266 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
10267
10268         * gtk/gtkcontainer.c: added new widget level method
10269         gtk_container_set_reallocate_redraws() and a GtkContainer flag
10270         reallocate_redraws : 1 to reflect the setting, exported this through
10271         the argument system as a boolean ::reallocate_redraws.
10272
10273         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
10274         on the widget because the allocation changes, do so as well for
10275         widget->parent if the parent has reallocate_redraws set to TRUE.
10276         with that containers requesting reallocation redraws get automatically
10277         redrawn if their children changed allocation (this unfortunately
10278         affects also other children that didn't change allocation, but we
10279         cannot work around that before 1.3).
10280
10281 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
10282
10283         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
10284         _and_ height are >0 (not _or_).
10285
10286         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
10287         instead of gtk_container_queue_resize(), which is a core gtk internal
10288         function (must have been on crack when i queued that).
10289
10290         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
10291         we can check more reliably if we want to discard expose events.
10292         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
10293         flag.
10294         
10295         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
10296         we simply trust these events. for deciding whether to discard exposes,
10297         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
10298         
10299 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
10300
10301         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
10302         queues of areas that are completely off screen.
10303
10304         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
10305         logic for handleboxes.
10306
10307         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
10308         check on width/height.
10309
10310 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
10311
10312         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
10313         we are fine with using $@ the way we do (if we actually encounter
10314         brokeness with $@ in VPATH builds because of additional path prefixes,
10315         we need to use $(@F) actually).
10316
10317 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
10318
10319         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
10320         short lived bugs, that would allow language bindings to do surgeries
10321         to our guts.
10322
10323 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
10324
10325         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
10326         where comparison was being done against an uninitialized
10327         value causing intermittant results depending on
10328         compiler flags. Also make it clearer that we aren't
10329         ever initializing the child as 0x0 (though this will
10330         be caught in gtk_widget_size_allocate())
10331
10332 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
10333
10334         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
10335         gtk_window_unset_transient_for() call after we do checks
10336         involving the old transient parent.
10337         [ From Lance Capser <lmc@cyberhighway.net> ]
10338
10339 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
10340
10341         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
10342         an empty file.
10343
10344 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
10345
10346         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
10347         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
10348
10349 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
10350
10351         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
10352         `$@' is valid only in the build dir, not after we've done 
10353         `cd $srcdir'.  Also use `test -f' instead of less portable
10354         `test -e'.
10355
10356 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
10357
10358         * gtk/gtktext.c (correct_cache_insert): Rewrite
10359          for simplicity, and hopefully correctness.
10360          (Fixes bug #1322, which was a segfault when
10361           on some insertions with the properties around
10362           the insertion set up just wrong.)
10363
10364         * gtk/gtktext.c (gtk_text_adjustment): When we receive
10365          a "changed" signal, clamp the new value to the adjustment
10366          bounds to avoid segfaulting if someone tries to change
10367          the adjustment to a bogus value. (Bug #1795)
10368
10369 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
10370
10371         * gtk/gtkmain.c: Ignore unexpected destroy notifies
10372         for children, for toplevel windows handle them
10373         like delete_event.
10374
10375         * gtk/gtkplug.c: Add an unrealize handler so that
10376         we unref plug->socket_window when we are done
10377         with it.
10378
10379 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
10380
10381         * gtk/gtktext.c (clear_area): Fix stupid signedness
10382          problem that was causing background to sometimes
10383          be misaligned.
10384
10385 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
10386
10387         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
10388         
10389         * gtk/gtkmenu.c (gtk_menu_position): Make
10390          sure we never position menus with negative x, y,
10391          since gtk_widget_set_uposition() can't handle that.
10392
10393         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
10394          Modify the positioning code a bit so that we always
10395          put the top-left corner onscreen. (This is for
10396          UI reasons, gtk_menu_position() now takes care of
10397          gtk_widet_set_uposition() brokeness.)
10398
10399 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
10400
10401         * gtk/Makefile.am: fixed up things for -jx, x > 1.
10402
10403 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
10404
10405         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
10406           RC style that is passed in. The lack of the ref
10407           before was a bug. If people worked around this
10408           bug, this will introduce a slight memory leak
10409           in their code. The code should typically look like:
10410
10411             rc_style = gtk_rc_style_new ();
10412             [...]
10413             gtk_widget_modify_style (widget, rc_style);
10414             gtk_rc_style_unref (rc_style);
10415
10416         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
10417           the style if it was already set.
10418
10419         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
10420           style if it was set before.
10421
10422 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
10423
10424         * gtk/testgtk.c (main): Add a check to see if we
10425           are being run from the correct directory and
10426           to quit nicely if we are not.
10427
10428         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
10429           static.
10430
10431 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
10432
10433         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
10434
10435         * gtk/gtkwindow.c:
10436         queue resizes unconditionally (gtk_widget_queue_resize will figure
10437         what to do if the window is not realized).
10438         (gtk_window_move_resize): only recenter the window
10439         for GTK_WIN_POS_CENTER_ALWAYS.
10440         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
10441         the same way as GTK_WIN_POS_CENTER.
10442
10443 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
10444
10445         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
10446         with (!(info->last_flags & GDK_HINT_POS)) instead of
10447         (!info->last_flags & GDK_HINT_POS).
10448
10449         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
10450         new_height unconditionally, because we use these values even if
10451         !default_size_changed && !hints_changed.
10452         comented the (default_size_changed || hints_changed) case with
10453         respect to resize rejects from the window manager.
10454
10455         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
10456         in the zvt condition hack, since this includes the window hints, set
10457         the hints after the handling_resize case.
10458
10459         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
10460         window is initially shown with to the geometry.
10461
10462 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
10463
10464         * gtk/gtkwindow.c (gtk_window_move_resize):
10465         s/size_changed/default_size_changed/g so i know what's
10466         really going on (frying brain on smaller flame now).
10467
10468 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
10469
10470         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
10471         we have size_changed upon handling_resize. this is a gross
10472         workaround for the broken zvt widget and should be removed in
10473         1.3 again (search for FIXME).
10474         Owen provided an accurate comment for this:
10475
10476         /* We could be here for two reasons
10477          *  1) We coincidentally got a resize while handling
10478          *     another resize.
10479          *  2) Our computation of size_changed was completely
10480          *     screwed up, probably because one of our children
10481          *     is broken. It's probably a zvt widget.
10482          *
10483          * For 1), we could just go ahead and ask for the
10484          * new size right now, but doing that for 2)
10485          * might well be fighting the user (and can even
10486          * trigger a loop). Since we really don't want to
10487          * do that, we requeue a resize in hopes that
10488          * by the time it gets handled, the child has seen
10489          * the light and is willing to go along with the
10490          * new size. (this happens for the zvt widget, since
10491          * the size_allocate() above will have stored the
10492          * requisition corresponding to the new size in the
10493          * zvt widget)
10494          *
10495          * This doesn't buy us anything for 1), but it shouldn't
10496          * hurt us too badly, since it is what would have
10497          * happened if we had gotten the configure event before
10498          * the new size had been set.
10499          */
10500
10501 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
10502
10503         * gtk/gtkrc.c: deal properly with the fact that RC
10504           style lists may include rc styles more than once.
10505
10506         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
10507           unused static function.
10508
10509         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
10510           stack of directories of RC files currently being
10511           parsed and implicitely add them to pixmap path.
10512           
10513           This fixes a bug where the directory would get
10514           appended then overwritten by pixmap_path declarations.
10515
10516           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
10517
10518         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
10519           theme's exit function. (Patch from Peter Wainwright,
10520           bug #1454)
10521
10522         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
10523           Add a destroy() handler to take care of removing
10524           group for menu item. (Fixes bug #1197)
10525
10526         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
10527           in warning message.
10528
10529 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
10530
10531         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
10532         roundtrip to figure window's width and height, since we know that
10533         anyways from widget->allocation.
10534
10535 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
10536
10537         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
10538           the hints after we request the new size.
10539
10540 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
10541
10542         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
10543           GTK_WIDGET_REALIZED() assertion - we can compute the
10544           hints before we are realized.
10545
10546         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
10547           hint changing so that we have a value of hints_changed
10548           when we decide whether to constrain the window size.
10549
10550         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
10551
10552         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
10553         change back to G_MAXINT.
10554
10555 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
10556
10557         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
10558         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
10559         contain uncluttered values.
10560         (gtk_window_compute_hints): simply assert that window is realized
10561         and that geometry_info is valid, since we rely on this anyways.
10562         (gtk_window_constrain_size): major cleanups to the code.
10563         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
10564         for the base size, instead of the minimums. use 32767 as max width
10565         and height (like in gtkwindow.c) instead of G_MAXINT.
10566
10567 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
10568
10569         * cleaned up the GtkContainer.need_resize flag handling mess, we
10570         only need to force resize requests when we were prematurely
10571         realized, or our widget tree was modified when we were temporarily
10572         hidden. handling these cases directly upon showing the window (i.e.
10573         while the GdkWindow is still unmapped) avoids the need to wait for
10574         a configure event response and therefore makes the GUI more snappier
10575         and avoids blank windows during the roundtrip.
10576
10577         * gtk/gtkwidget.c:
10578         (gtk_widget_hide): 
10579         (gtk_widget_show): don't queue resizes on toplevels, they know how
10580         to deal with matters.
10581
10582         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
10583         flag directly for not visible resize containers and spare us unecessary
10584         signal emissions.
10585
10586         * gtk/gtkwindow.c:
10587         (gtk_window_realize): if we need to enforce premature size allocation,
10588         queue a container resize so we are correctly resized later on.
10589         (gtk_window_init):
10590         (gtk_window_size_request):
10591         don't freak around with the ->need_resize flag,
10592         gtk_container_queue_resize() will care about that.
10593         (gtk_window_show):
10594         handle initial resizing issues here, we can handle matters better in
10595         this place, especially since we know that our GdkWindow is still
10596         unmapped.
10597         (gtk_window_move_resize):
10598         don't care about ->need_resize at all.
10599         handle size changes properly that occoured while we waited for a
10600         configure event.
10601
10602 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
10603
10604         * gtk/gtkwidget.c (gtk_widget_set_uposition):
10605         * gtk/gtkwindow.[hc] (gtk_window_reposition):
10606         Move the hint setting code from gtk_widget_set_uposition
10607         to here; set the hints so that we respect any previously
10608         set geometry hints.
10609
10610         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
10611         change the window hints here or move the window here,
10612         let that happen in gtk_window_move_resize().
10613
10614 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
10615
10616         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
10617         to already queued resizes (and therefore redraws) on a widget, check
10618         its anchestry as well.
10619
10620         * gtk/gtkcontainer.c:
10621         (gtk_container_queue_resize): clear resize widgets for resize
10622         containers before aborting prematurely. this is especially important
10623         for toplevels which may need imemdiate processing or their resize
10624         handler to be queued.
10625         (gtk_container_dequeue_resize_handler): added new internal function for
10626         gtkwindow.c.
10627
10628         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
10629         configure event, take possible changes in window position into account
10630         as well.
10631         if we request a new window size, queue up a resize handler that will
10632         last until the configure event response arrives.
10633         combined the ->need_resize case (initial show) with the general size
10634         (hints) changed case and added even more comments.
10635         if !auto_shrink, only revert to the old allocation if the new size
10636         is smaller than the current allocation.
10637
10638 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
10639
10640         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
10641                            gtk_window_set_geometry_hints
10642                            gtk_window_set_default_size):
10643         When hints are set, queue a resize so that the hints will
10644         be eventually reset on the toplevel.
10645
10646         * gtk/gtkwindow.c (gtk_window_show): Use
10647         gtk_window_compute_default_size(). Clear the need_resize flag
10648         on the initail map so that we don't unnecessarily trigger the
10649         resize code.
10650
10651         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
10652         into separate functions. Compare the hints we are setting
10653         with what we set last time so that we can accurately
10654         tell when we need to reset the hints.
10655
10656         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
10657         function to figure out the size from requisition
10658         and default_size.
10659
10660         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
10661         from fvwm to constrain a size to the geometry hints.
10662
10663         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
10664         to compare two sets of geometry hints.
10665
10666         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
10667         from gtk_window_set_hints(), just compute the hints,
10668         don't set them.
10669
10670         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
10671         code from gtk_window_move_resize() to separate function,
10672         rationalize a bit.
10673
10674 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
10675
10676         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
10677         structure into a new private structure.
10678
10679         * gtkrc.c: Split GtkRcStyle into public/private.
10680         In the private part, add a list of pointers to the
10681         RcStyle lists this RcStyle participates in.
10682
10683         * gtkrc.c: When a RcStyle is free, remove all
10684         lists referencing it from the 
10685         realized_style_ht hash, and free those lists.
10686         
10687         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
10688         gtk_rc_init(), since that adds the default styles
10689         to the list of parsed RC files again.
10690
10691         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
10692         
10693 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
10694
10695         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
10696         checks that ensure that a widget's allocation is at least 1 in width
10697         and height. (GNOME note: this doesn't affect old panel code anymore,
10698         because GtkSocket will request width and height of at least 1 since
10699         Fri Jul 23).
10700
10701         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
10702         allocated yet (happens if the user realizes the window prematurely),
10703         size request and allocate it.
10704         (gtk_window_size_allocate): guard against guint underflows.
10705
10706 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
10707
10708         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
10709         in gtk_built_sources, so gtk.defs gets built prior to all other
10710         sources.
10711
10712 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
10713
10714         * gtk/Makefile.am:
10715         invoke indent on gtkmarshal.*. 
10716         rewrote source generation rules, use COPYING as oldest source tag for
10717         a piggyback rule to generate all sources from (don't touch it ;).
10718         major cleanups, strip spaces on build rules for GNU Make.
10719
10720         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
10721         source and target files from commandline arguments. don't invoke indent.
10722
10723 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
10724
10725         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
10726         notebook after switch to avoid drawing problems.
10727         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
10728         
10729         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
10730         show them instead. 
10731         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
10732
10733 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
10734
10735         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
10736         notebook after switch to avoid drawing problems.
10737         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
10738         
10739         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
10740         show them instead. 
10741         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
10742
10743 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
10744
10745         * gtk/gtkwindow.c:
10746         we use window->need_resize from configure_event now, to indicate that
10747         the gtkwindow should keep its allocation (e.g. because the user resized
10748         the window through window manager handles). resize_count is now reliably
10749         used to figure whether we got the allocation we requested from the
10750         window manager.
10751         configure events get queued as resizes now, the real stuff (size
10752         computation and allocation) now only goes on in gtk_window_move_resize().
10753         GtkWindow's requisition now contains its *real* requisition (like all
10754         other widgets), *not* taking usize into account.
10755         geometry_info->last_{width|height} is now updated from set_hints() only
10756         so it always contains the last hints we set for the window manager.
10757         made some event handlers return TRUE instead of FALSE.
10758         the overall code should be much more straight forward now, and the
10759         significant code portions are accompanied by comments now.
10760         (gtk_window_set_hints):
10761         removed requisition argument and made it
10762         fetch the requisition through gtk_widget_get_child_requisition.
10763         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
10764         does that now.
10765         (gtk_window_show):
10766         ensure that the widget is realized before calling 
10767         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
10768         ensure that we got properly size requested and allocated before
10769         realization.
10770         (gtk_window_configure_event):
10771         ignore plain window moves, or reallocate the widget tree through the
10772         resize queue otherwise.
10773         (gtk_window_move_resize):
10774         mostly rewrote this function to figure window manager hints more
10775         reliably, coalesce window moves and resizes to reduce configure events
10776         and do actuall size allocations.
10777
10778 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
10779
10780         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
10781         that have a resize pending, because a redraw is already queued for them.
10782
10783         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
10784         hack to clear resize_widgets.
10785
10786         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
10787         for resize containers prior to size allocation. (this is also a bit
10788         ugly, but avoids side effects for stopped emissions and is thus more
10789         reliable).
10790         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
10791
10792         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
10793         function from gtk_tooltips_expose, as we connect to ::expose_event
10794         *and* ::draw now.
10795
10796 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
10797
10798         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
10799         checks.
10800         (gtk_target_list_unref): Likewise.
10801
10802         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
10803
10804 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
10805
10806         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
10807         guard against division by zero. (Fixes bug #1339)
10808
10809 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
10810
10811         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
10812         Prevent the trivial leak of information of allowing
10813         word motion when the entry is not visible.
10814
10815 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
10816
10817         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
10818         modality to error dialog as well as confirmation dialogs.
10819         (Bug #1803, reported by Rosanna Wing Sze Yuen)
10820
10821 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
10822
10823         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
10824         tree->view_lines.
10825         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
10826
10827         * gtk/Makefile.am (install-data-local): Solaris apparently
10828         has various troubles with ln -f; use rm first instead.
10829         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
10830
10831 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
10832
10833         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
10834         use `cp' followed by `rm' (the `rm' was already there).
10835
10836 July 30, 1999 Elliot Lee <sopwith@redhat.com>
10837         
10838         * configure.in: Fix autoconf warnings about cross compilation by
10839         trying to provide sane defaults for AC_TRY_RUN.
10840         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
10841         put them into $(srcdir) when generated. Also add a dependency of
10842         gtksignal.h on gtkmarshal.h for -j builds. 
10843         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
10844
10845 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
10846
10847         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
10848         GDK_THREADS_{LEAVE,ENTER} pair.
10849         (From Paul Fisher <pnfisher@redhat.com>)
10850
10851 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
10852
10853         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
10854         width and height are always >0 (owen).
10855
10856 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
10857
10858         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
10859         change that assured that a widget's allocated with and height are
10860         always >1, since this breaks *buggy* panel code. unfortunately this
10861         back-breaks the gimp's color selector.
10862
10863         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
10864         allocation is always >0 in width and height, before sending the
10865         configure event; this is a *gross* hack to get the gimp back to work.
10866         
10867         * marked both cases with TODO-1.3
10868
10869 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
10870
10871         * gtk/gtktext.c: Don't display wrap indicators when
10872         text is not editable and word wrap is on.
10873
10874 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
10875
10876         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
10877         option menus here as they are not derived from menu shell, assure that
10878         the option menu has a menu we can add items to.
10879
10880 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
10881
10882         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
10883         width/height to (gint) before calculations and check against < 0 to
10884         avoid guint wraparounds.
10885
10886 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
10887
10888         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
10889         width and height is never zero. sanity check both dimensions against
10890         32767 and issue a warning if the allocation is greater than that.
10891
10892 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
10893
10894         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
10895         to g_main_pending() as well.
10896
10897 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
10898
10899         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
10900         call to g_main_iteration() - since that will regrab
10901         GTK+ lock to process events.
10902
10903 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
10904
10905         * gtk/gtkwindow.c
10906         - Regularize with the rest of GTK+ by making widget->requisition
10907           not reflect the set_usize()
10908         - Always recompute geometry hints, then check if they
10909           changed before sending them to the X server. The
10910           previous checks for changes would fail in a number
10911           of circumstances. 
10912
10913 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
10914
10915         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
10916
10917 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
10918
10919         * gtk/gtkdnd.c:
10920         - Code cleanups
10921         - Instantaneously update on modifier key presses
10922         - Allow cancellation of the drag with Escape.
10923
10924 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
10925
10926         * gtk/testgtk.c (create_handle_box): Set the policy
10927         to auto_shrink - otherwise the appearance is rather
10928         strange when flipping between horizontal and vertical.
10929
10930 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
10931
10932         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
10933         (gtk_window_set_default_size): don't change a value if it's < 0.
10934         queue a resize.
10935
10936 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
10937
10938         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
10939
10940 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
10941
10942         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
10943         add an extra "/" when concating "/" + filename.
10944         (From Matt Grossman <mattg@oz.net>)
10945
10946 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
10947
10948         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
10949         for fg_gc if we set it for drawing pixmap.
10950
10951 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
10952
10953         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
10954         
10955         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
10956         already set, call old engine's destroy function and
10957         unref the old engine.
10958
10959 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
10960
10961         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
10962
10963 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
10964
10965         * gtk/gtkaccelgroup.h: mark certain functions as internal.
10966
10967 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
10968
10969         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
10970         expand behaviour changed.
10971
10972         * gtk/gtklabel.c (gtk_label_set_pattern):
10973         (gtk_label_set_justify):
10974         (gtk_label_set_line_wrap):
10975         don't bother invoking queue_clear, the reallocation does
10976         that for us, always free_words so the upcoming resize will
10977         relayout the label's contents.
10978
10979 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
10980
10981         * applied argument implementation patches from Elena Devdariani
10982         <elena@cogent.ca>.
10983
10984         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
10985         ::space_style, ::relief
10986         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
10987         * gtk/gtkpreview.c: ::expand
10988         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
10989         * gtk/gtknotebook.c: ::homogeneous
10990         * gtk/gtklabel.c: ::wrap
10991         * gtk/gtklist.c: ::selection_mode
10992         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
10993         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
10994         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
10995         * gtk/gtkclist.c: ::sort_type
10996         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
10997         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
10998
10999 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
11000
11001         * gtk/gtkstyle.c: Removed ill-thought-out part of last
11002         comment.
11003
11004 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
11005
11006         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
11007         counting right when we have to attach a new style
11008         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
11009
11010         * gtk/gtkstyle.c: Documented the refcounting
11011         peculularities of gtk_style_attach.
11012
11013 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
11014
11015         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
11016         window types.
11017
11018         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
11019         of GTK_TOPLEVEL for creating the window.
11020
11021 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
11022
11023         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
11024         the last argument (reported by Per Winkvist).
11025         
11026 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
11027
11028         Fixes for invisible XOR lines (Frank Loemker
11029         <floemker@TechFak.Uni-Bielefeld.DE>)
11030         
11031         * gtk/gtkclist.c (gtk_clist_realize): Always use
11032         a non-zero pixel for GDK_XOR.
11033
11034         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
11035         Use GDK_INVERT instead of GDK_XOR.
11036
11037 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
11038
11039         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
11040         signals if h/voffsets differ from adjustment values.
11041         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
11042
11043 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
11044
11045         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
11046         ::selection-done emissions up to the topmost menu shell.
11047
11048 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
11049
11050         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
11051         the user data on the window before destroying it.
11052
11053         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
11054         unrealize handler to take care of destroying 
11055         notebook->panel properly. 
11056         (Bug #1198 - Morten Welinder <terra@diku.dk>)
11057
11058         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
11059         of g_new and g_realloc to stop memory leak. (Actually,
11060         we could just use g_realloc(), but I'm not 100% sure
11061         that is portable).
11062         (Bug #1196 - Morten Welinder <terra@diku.dk>)
11063
11064 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
11065
11066         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
11067
11068         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
11069         for fontsets.
11070
11071         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
11072         with bin/button confusion.
11073
11074 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
11075
11076         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
11077         and show how preselection of radio items is done.
11078
11079 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
11080
11081         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
11082         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
11083         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
11084         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
11085         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
11086         * gtk/gtktable.c (gtk_table_attach): 
11087         * gtk/gtklist.c (gtk_list_insert_items): 
11088         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
11089         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
11090         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
11091         * gtk/gtkbin.c (gtk_bin_add): 
11092         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
11093         * gtk/gtkfixed.c (gtk_fixed_put): 
11094         * gtk/gtklayout.c (gtk_layout_put):
11095         general fixups to container_add logic. always realize child if
11096         child->parent is realized, only map the child and queue a resize
11097         if child and child->parent are both visible.
11098
11099 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
11100
11101         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
11102         instead of gtk_container_foreach to walk and unrealize children, so
11103         composite children get also unrealized.
11104         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
11105         (gtk_widget_map): assert that the widget is visible (basic constrain).
11106         (gtk_widget_real_map): assert that the widget is realized (basic
11107         constrain).
11108
11109 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
11110
11111         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
11112
11113 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
11114
11115         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
11116         file for iso-8859-2 locales.
11117
11118         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
11119
11120 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
11121
11122         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
11123          (Pointed out by andy@rz.uni-karlsruhe.de and others).
11124          Remove some suspicious and useless lines. 
11125
11126 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
11127
11128         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
11129         width,height = 0, 0 to mean - here to edge of window,
11130         instead of -1, -1, since the former is all we support.
11131
11132 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
11133
11134         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
11135         when removing from quit_functions list.
11136
11137 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
11138
11139         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
11140
11141 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
11142
11143         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
11144          When redrawing characters on non-visible entry, use appropriate
11145          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
11146
11147 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
11148
11149         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
11150         from drag coordinates.
11151         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
11152         use drag_dest_cell.
11153
11154         * gtk/gtktree (drag_dest_cell)
11155         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
11156         (Bug #1129)
11157
11158 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
11159
11160         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
11161         translate_* fields.
11162         (gtk_item_factory_finalize): invoke translate_notify independant from
11163         translate_data.
11164         (gtk_item_factory_set_translate_func): likewise.
11165         (gtk_item_factory_destroy): only remove ifactory pointer from those
11166         widgets that belong to us (stupid me).
11167
11168 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
11169
11170         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
11171         rc_style list when lookup succeeeds.
11172
11173 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
11174
11175         * gtk/gtkctree.c (resync_selection): 
11176         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
11177         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
11178         bug.
11179
11180 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
11181
11182         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
11183         Add some missing GDK_THREADS_ENTER()/LEAVE around
11184         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
11185
11186 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
11187
11188         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
11189         rather than emit_by_name.
11190
11191         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
11192         on the widget across multiple signal emissions.
11193         (gtk_editable_delete_text): same here.
11194         (gtk_editable_class_init): set widget_class->activate_signal after
11195         editable_signals[ACTIVATE] has been created.
11196
11197 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
11198
11199         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
11200         position here prematurely -- we might not have the
11201         right ->min_position and ->max_position yet.
11202
11203 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
11204
11205         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
11206         Add error traps so if the other end of the connection
11207         dies, we survive.
11208
11209         * gtk/gtkselection.c (gtk_selection_notify): Clean
11210         up properly when selection property retrieval fails.
11211         
11212         * gtk/gtkselection.c (gtk_selection_request): Correctly
11213         reject SelectionRequest notifies where the handler
11214         returns no data.
11215
11216 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
11217
11218         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
11219         when we've previously highlighted.
11220
11221         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
11222         emit two "drag_leave" signals for Motif drops.
11223
11224         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
11225         back the correct status messages when dropping from
11226         Motif onto a proxy window that is rejecting the
11227         drop.
11228
11229 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
11230
11231         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
11232         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
11233         to compare two argument values. added gtk_arg_to_valueloc() to set a
11234         variable from an arg through its location (pointer).
11235
11236         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
11237         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
11238         as gfloat*, uchars are collected as guchar*, ints are collected as
11239         gint*, etc...
11240
11241 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
11242
11243         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
11244         Include <string.h> instead of <strings.h>.
11245
11246         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
11247         (actually, a lot more duplicate includes occur if
11248          you trace through the sequence of #include's)
11249         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
11250         
11251 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
11252
11253         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
11254         gtk-a-higuti-990322-[0-3]
11255
11256         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
11257         that was causing -DX_LOCALE not to work.
11258
11259         * gtk/gtkrc.c (gtk_rc_init):
11260         X_LOCALE will never have LC_MESSAGES defined
11261
11262 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
11263
11264         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
11265         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
11266
11267         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
11268         left/right as well (gtk-michael-980726-0.patch.gz).
11269
11270         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
11271         for pointer values, use gchar instead of char. fixed uline allocation
11272         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
11273         chunks instead of G_ALLOC_ONLY.
11274         (gtk_label_size_request): always alter requisition as passed and leave
11275         widget->requisition alone.
11276         (gtk_label_set_text): allow NULL strings.
11277         (gtk_label_new): likewise.
11278
11279 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
11280
11281         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
11282
11283 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
11284
11285         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
11286         *and* mapped (i.e. drawable).
11287         (gtk_bin_expose): only send exposes to drawable children.
11288
11289         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
11290         (gtk_box_expose): only send exposes to drawable children.
11291
11292         * gtk/gtkhscale.c (gtk_hscale_draw): 
11293         * gtk/gtkvscale.c (gtk_vscale_draw):
11294         hm, this is an ugly one. we first compute the size of our trough area
11295         here (window relative) and then check intersection with the draw_area
11296         which is parent relative because we're a NO_WINDOW widget, so we need
11297         to offset the trough area by allocation.x and allocation.y before the
11298         check. (this must not be done for the background area though, since
11299         that's already computed parent relative).
11300
11301 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
11302
11303         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
11304         unrealize title buttons.
11305
11306 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
11307
11308         * gtk/gtkclist.c (gtk_clist_column_title_passive)
11309         (gtk_clist_column_title_active): 
11310         only connect/disconnect to GtkWidgetClass::event to block mouse events.
11311
11312         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
11313         zero initialize event, removed superfluous gdk_window_get_pointer call
11314
11315         * gtk/gtklist.c (gtk_list_vertical_timeout)
11316         (gtk_list_horizontal_timeout): removed superfluous
11317         gdk_window_get_pointer call
11318
11319 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
11320
11321         * plugging problems reported by "Bruce Mitchener, Jr."
11322         <bruce@puremagic.com> due to a purify session.
11323
11324         * gtk/gtkstyle.c:
11325         (gtk_style_ref): 
11326         (gtk_style_unref): assert ref_count to be > 0.
11327
11328         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
11329         the requisition.
11330         (gtk_clist_set_shift): likewise.
11331
11332         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
11333         adjustments.
11334
11335         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
11336         event before sending it and set send_event to TRUE (which needs to
11337         be done for *all* synthesized events).
11338         (gtk_list_vertical_timeout): likewise.
11339
11340         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
11341         leaks.
11342
11343         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
11344         to TRUE when synthesizing events.
11345
11346 [ *** end of merges from 1.2 *** ]      
11347         
11348 1999-11-21  Tor Lillqvist  <tml@iki.fi>
11349
11350         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
11351         (or copied from gdkconfig.h.win32 on Win32, sigh).
11352
11353         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
11354
11355         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
11356
11357         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
11358
11359         * gdk/gdkconfig.h.win32: New file.
11360
11361         * gdk/win32/makefile.cygwin: Build just a static archive here.
11362
11363         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
11364         for the DLL from the static archive built above.
11365
11366         * gdk/gdk.def: Moved here from the win32 subdirectory.
11367
11368         * gdk/win32/*: Adapt for the changed private struct organisation.
11369
11370         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
11371
11372 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
11373
11374         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
11375         for wheel mice (buttons 4 and 5).
11376
11377 1999-11-18  Tor Lillqvist  <tml@iki.fi>
11378
11379         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
11380         drawables use just the pixel field in the foreground and
11381         background GdkColor of the GdkGC.
11382
11383         gdk_gc_set_{fore,back}ground() are called in the GIMP with
11384         GdkColors containing uninitialized (red,green,blue) fields, and
11385         just the pixel field filled in, and furthermore in the
11386         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
11387         It thus turns out that we really don't need to have the full
11388         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
11389         it later to have just the pixel values.
11390
11391 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
11392
11393         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
11394
11395 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
11396
11397         * docs/gtkfaq.sgml: threads example from Erik Mouw.
11398         New question on GtkLabel background colors.
11399
11400         * docs/gtk_tut.sgml:
11401           - Correct the example code callback
11402             function definitions.
11403           - Update the gtkdial example code, from Frans van Schaik.
11404           - Update setselection.c to current API.
11405
11406         * examples/Makefile examples/*/*.c: Update to code
11407         listed in tutorial.
11408
11409 1999-11-10  Tor Lillqvist  <tml@iki.fi>
11410
11411         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
11412         subrange table (from the "Developing International Software for
11413         WIndows 95 and Windows NT" book) was missing the Hangul syllable
11414         block... Get the loaded font's charset correctly.
11415
11416         (Note that this, and the other *-win32.c files, still really are
11417         the old ones, the win32 subdirectory is not ready for compilation
11418         yet after the reorg.)
11419
11420 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
11421
11422         * gtk/gtkclist.c: Fix off-by-one bug in parameter
11423         check.
11424
11425 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
11426
11427         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
11428         on results of XQueryDeviceState().
11429
11430 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
11431
11432         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
11433         we need to accesss only ->children. We need an accessor
11434         for the children.
11435
11436         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
11437         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
11438         to get rid of gdkx.h include.
11439         
11440         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
11441         and random references to 'None'.
11442
11443         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
11444         Get rid of unused #include <gdk/gdkx.h>
11445
11446         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
11447         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
11448         gdkconfig.h.
11449
11450 1999-11-08  Tor Lillqvist  <tml@iki.fi>
11451
11452         * gdk/win32/gdkdraw.c
11453         * gdk/win32/gdkfont.c
11454         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
11455         following yesterday's changes. (Unrelated to Owen's reorg.)
11456
11457 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
11458
11459         * gdk/x11/gdkinput-gxi.c: Add missing include,
11460           fix GdkWindowPrivate => GdkDrawablePrivate.
11461
11462         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
11463
11464         * gdk/x11/Makefile.am (xinput_sources): Add missing
11465         backslash to fix building with --with-xinput=none
11466
11467 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
11468
11469         Move all X specific code into the x11/ directory.
11470         Aside from shuffling things around, did the following:
11471
11472        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
11473          gdk_arg_context_* - a simple argument parsing system
11474          in the style of popt.
11475
11476        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
11477          gdk/x11/gdkprivate-x11.h:
11478          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
11479          add ->klass and ->klass_data fields. The klass_data
11480          field points to an auxilliary structure that is
11481          windowing system dependent.
11482
11483        * gdk/gdkfont.c: Make most of the measurement functions
11484          simply wrappers around gdk_text_extents().
11485
11486        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
11487          _gdk_font_strlen() function that hides the weird
11488          behavior in gtk+-1.[02] where a string is interpreted
11489          differently for 8-bit and 16-bit fonts.
11490
11491        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
11492          to store common code for synthesizing double/triple
11493          press events.
11494         
11495        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
11496          Make all the function that modify an existing GC
11497          simply wrappers around gdk_gc_set_values().
11498          
11499        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
11500          for throwing out later.
11501
11502        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
11503          GdkImagePrivate and GdkColormapPrivate to have a
11504          windowing system dependent part (GdkFontPrivateX etc.)
11505          that "derives" from the system-independent part.
11506
11507        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
11508          Got rid of the included-source-files for XInput in
11509          favor of automake conditionals. (Which didn't exist
11510          when XInput support was originally added.)
11511
11512        * gdk/gdkrgb.c: Remove the visual id from the debugging
11513          statements since that is X11 specific; print out
11514          type/depth info instead.
11515          
11516
11517 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
11518
11519         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
11520         loading duplicates of hashed fonts.
11521
11522         * gdk/gdk.c (gdk_keysym_convert_case): rename
11523         gdk_XConvertCase to gdk_keysym_convert_case, allow
11524         results to be NULL in the GTK+ style.
11525
11526         * gdk/gdkcompat.h: Started compatibility header
11527         for renames.
11528
11529 1999-11-07  Tor Lillqvist  <tml@iki.fi>
11530
11531         * gdk/win32/gdkprivate.h: New font private structures, related to
11532         fontsets.
11533
11534         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
11535         gdk_font_list_free(). On X11, will just be wrappers to
11536         XListFonts() and XFreeFontNames(). On Win32, the code previously
11537         in gtkfontsel.c is now here.
11538
11539         New function gdk_font_xlfd_create(). On X11 will get the FONT
11540         property of the font (for GDK_FONT_FONTs), or call
11541         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
11542         builds a XLFD style name from the font information in the LOGFONT
11543         struct(s).
11544
11545         New function gdk_font_xlfd_free(), which correspondingly frees the
11546         string returned by gdk_font_xlfd_create().
11547
11548         Implement fontsets on Win32. Add a function that iterates over a
11549         wide char string and calls a callback function for each substring
11550         of wide chars from the same Unicode subrange (and thus probably
11551         available in the same real font).
11552
11553         Improve the XLFD emulation a bit.
11554
11555         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
11556
11557         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
11558         Beta3, WM_IME_CHAR messages don't seem to contain the composed
11559         multi-byte char as with the Active IMM on Win9x. Oh well, handle
11560         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
11561         ImmGetCompositionStringW() to get the composed Unicode chars.
11562
11563         * gdk/win32/gdkgc.c
11564         * gdk/win32/gdkdraw.c: Changes needed because of the font private
11565         struct changes.
11566
11567         * gdk/win32/gdk.def: Add the new functions.
11568
11569 1999-11-04  Tor Lillqvist  <tml@iki.fi>
11570
11571         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
11572         get the Platform SDK to get <dimm.h>.
11573
11574         * gdk/win32/gdkevents.c: More event handling fixes and
11575         simplification. Never generate motion events with is_hint true. We
11576         used to do that on bogus grounds earlier. Windows sends
11577         WM_MOUSEMOVE messages on button events even if the mouse hasn't
11578         moved, ignore these.
11579
11580         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
11581
11582         * gdk/win32/gdkglobals.c
11583         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
11584         the TrackMouseEvent function, and use it.
11585
11586         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
11587         char before calling WideCharToMultiByte in order to get a string
11588         for the window title.
11589
11590         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
11591
11592         * gdk/win32/gdk.def: Remove obsolete functions.
11593
11594         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
11595         /nodefaultlib and /defaultlib switches.
11596
11597         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
11598
11599 1999-10-31  Tor Lillqvist  <tml@iki.fi>
11600
11601         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
11602         EuroSign).
11603
11604         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
11605         same type as GdkWChar, especially on Win32.
11606
11607         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
11608
11609         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
11610         before passing to Windows GDI for drawing etc. Convert to the
11611         system default codepage before passing to Windows as window
11612         titles.
11613
11614         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
11615         support changing input locale on the fly.
11616
11617         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
11618         on-the-fly changes. Convert incoming characters from the current
11619         codepage to Unicode (and then to a UTF-8 multi-byte string) based
11620         on the current input language. Use keysym<->Unicode mapping tables
11621         and functions borrowed from xterm sources.
11622
11623         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
11624         editions of Win9x, use the ActiveX-based Active IMM (Input Method
11625         Manager) if available. IMEs and the Active IMM are available under
11626         the disguise of Chinese, Korean and Japanese support for IE and
11627         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
11628         support is present in all editions (as long as you install it).
11629
11630         Call DispatchMessage from gdk_events_queue() (and thus
11631         gdk_WindowProc()), instead of duplicating the code in
11632         gdk_WindowProc().
11633
11634         Reworked the grab handling and propagation code, factored out
11635         duplicated code snippets into separate functions. Other cleanups,
11636         too.
11637
11638         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
11639         the <dimm.h> header describing the Active IMM.
11640
11641         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
11642         just do the same as for "single" fonts.
11643
11644         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
11645         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
11646         the new keysyms from gdkkeysyms.h.
11647
11648         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
11649         fontset, so that gtkentry uses wide characters.
11650
11651         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
11652         GTk+'s system directory "gtk+", not "gtk".
11653
11654 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
11655
11656         * docs/gtkfaq.sgml: FAQ update
11657
11658 1999-10-21  Tor Lillqvist  <tml@iki.fi>
11659
11660         * gdk/win32/gdkprivate.h: Add more font private data.
11661
11662         * gdk/win32/gdkfont.c
11663         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
11664         fonts and strings. Now works much better. You still have to
11665         have a correct font selected, though. No fontset emulation yet.
11666
11667 1999-10-19  Tor Lillqvist  <tml@iki.fi>
11668
11669         * gtk/maketypes.awk: Use G_OS_WIN32.
11670
11671         * gtk/gtk.def: Add some missing entry points. Also some non-public
11672         ones, but PyGTK porter claims to need them.
11673
11674         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
11675         built-in type generation.
11676
11677 1999-10-14  Tor Lillqvist  <tml@iki.fi>
11678
11679         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
11680         GDK_FONT_FONT fonts (which is all we have for now, we don't
11681         emulate fontsets). The X11 version uses plain XDrawString in that
11682         case, too. The string passed to gdk_draw_text_wc seems to be in
11683         fact (at least, when used by gtkentry and gtktext) either in a
11684         single-byte charset, or a DBCS. Not Unicode.
11685
11686         This fixes the problem in gtkfontsel, where even if you had
11687         selected a font with a non-Latin1 charset (windows-greek, for
11688         instance), the preview still used Latin-1 glyphs.
11689
11690         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
11691         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
11692         (gdk_font_load): Recognize the demibold etc weights, even if we
11693         don't have the corresponding constants in the headers.
11694         (gdk_font_hash_insert): Use same hash mechanism as in the X11
11695         version. Should save font resources a bit, when we don't have
11696         multiple HFONTs for the same font.
11697
11698         * gdk/win32/gdkprivate.h: Add the names field as in the X11
11699         version.
11700
11701 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
11702
11703         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
11704         X values
11705
11706 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
11707
11708         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
11709         layout support (as mentioned on
11710         http://www.jcinteractive.com/gnome-ui/software/widgets/)
11711
11712 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
11713
11714         * gtk/fnmatch.c
11715         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
11716
11717 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
11718
11719         * configure.in (ALL_LINGUAS): Added Galician (gl)
11720
11721 1999-10-05  Tor Lillqvist  <tml@iki.fi>
11722
11723         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
11724
11725         * gdk/win32/gdkcompat.c: New file, actually provide an
11726         implementation for the deprecated functions. (Just temporarily.)
11727
11728         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
11729
11730         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
11731
11732         * gdk/win32/gdk.def gtk/gtk.def: Updates.
11733
11734 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
11735
11736         * configure.in: Added "uk" to ALL_LINGUAS.
11737         
11738 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
11739
11740         * configure.in: correct checking for BeOS check
11741
11742         * gdk/gdktypes.h
11743         * gtk/fnmatch.c
11744         * gtk/gtkfilesel.c
11745         * gtk/gtkitemfactory.c
11746         * gtk/gtkmain.[ch]
11747         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
11748
11749 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
11750
11751         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
11752         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
11753         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
11754         by Bulgarian). 
11755
11756 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
11757
11758         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
11759         Fix a reference to window_private->destroyed.   
11760
11761         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
11762         (ugly) setting of an internal GdkWindow member to use
11763         a _slightly_ cleaner macro.
11764
11765         * gdk/gdkprivate.h: Split GdkWindowPrivate into
11766         GdkDrawablePrivate and GdkWindowPrivate.
11767         Add extra macros for accessing GDK_DRAWABLE_ components.
11768
11769         * *.[ch]: Massive adjustments for the above, use the
11770         new macros in a lot of places.
11771
11772 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
11773
11774         * gdk/gdktypes.h: Make GdkDrawable the base type,
11775         not GdkWindow.
11776
11777 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
11778
11779         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
11780
11781 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
11782
11783         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
11784
11785 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
11786
11787         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
11788         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
11789
11790         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
11791
11792         * docs/gtk-config.1: Now autogenerated.
11793         * docs/Changes-1.4.txt: started
11794         
11795 1999-10-03  Tor Lillqvist  <tml@iki.fi>
11796
11797         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
11798         to #ifdef also here.
11799
11800         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
11801         Owen did to the X11 backend.
11802
11803         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
11804         ScrollWindowEx when blitting inside a window, it can't be correct
11805         in the general case.
11806
11807         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
11808         WM_GETMINMAXINFO is easier.
11809
11810         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
11811         depth equal to the bitspixel value, not the visual's depth.
11812
11813         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
11814         to 24 even if the bitspixel value is 32.
11815
11816         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
11817         need to check for depth==32 when bpp==32, depth will always be 24.
11818
11819 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
11820
11821         * docs/Changes-1.4.txt: Started
11822         
11823         * gtk/Makefile.am (gdk_headers): Include all the new headers.
11824
11825         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
11826         
11827         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
11828         into C file.
11829         
11830         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
11831         header to gdkinputprivate.h.
11832
11833         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
11834         unused since before 1.2.
11835
11836 1999-09-30  Tor Lillqvist  <tml@iki.fi>
11837
11838         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
11839         expand possible hex escapes in the font family (put there by
11840         logfont_to_xlfd if the font name isn't a legal XLFD font family,
11841         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
11842         On Win32, add hex escapes here, too.
11843
11844 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
11845
11846         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
11847         to #ifdef GDK_WINDOWING_X11.
11848
11849 [ Merges from gtk-1-2 ]
11850
11851 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
11852
11853         * configure.in: fixed "GNU Make" check to pass with new make version
11854         3.77.95.
11855
11856 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
11857
11858         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
11859         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
11860         AM_PATH_GTK() macros don't get confused by the -pre1.
11861
11862 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
11863
11864         * configure.in (REBUILD): Change check for perl5
11865           to check explicitely for v >= 5.002. (5.001
11866           does not work with our scripts.)
11867
11868 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
11869
11870         * configure.in: evaluate $PERL for the perl version check. added
11871         --disable-rebuilds to give the user an option to completely disable
11872         any source autogeneration rules.
11873
11874 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
11875
11876         * configure.in: evaluate $ac_make when checking for GNU Make.
11877
11878 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
11879
11880         * docs/Makefile.am: added generation.txt.
11881
11882         * Makefile.am: require automake 1.4, build README from README.in and
11883         INSTALL from INSTALL.in in dist-hook.
11884         
11885         * README.in:
11886         * INSTALL.in: new files to autogenerate README and INSTALL from.
11887
11888         * configure.in: figure whether we have GNU Make
11889
11890         * docs/generation.txt: minor additions/corrections.
11891
11892 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
11893
11894         * docs/gtkfaq.sgml: FAQ Update
11895
11896 July 30, 1999 Elliot Lee <sopwith@redhat.com>
11897         
11898         * configure.in: Fix autoconf warnings about cross compilation by
11899         trying to provide sane defaults for AC_TRY_RUN.
11900
11901 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
11902
11903         * ltconfig
11904         * ltmain.sh: upgrade to libtool 1.3.3
11905
11906 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
11907
11908         * INSTALL: Indicate that the --with-glib= configure
11909         time flag is unsupported.
11910
11911 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
11912
11913         * docs/generation.txt: Added a file that gives
11914         documenation about the autogeneration process for
11915         various autogenerated files.
11916         
11917 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
11918
11919         * configure.in (LIBS): Look for libgmodule in the
11920         right location.
11921
11922 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
11923
11924         * docs/gtk_tut.sgml: Removed references to
11925         code examples in my directory on gtk.org as
11926         they should all be in the tutorial now.
11927
11928         * docs/gtk_tut.sgml: Added sources for dial-test
11929         and scribble-xinput programs that were previously
11930         missing.
11931
11932 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
11933
11934         * TODO: Added entry about menu keyboard navigation, removed
11935         some finished items.
11936
11937 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
11938
11939         * acinclude.m4: Standardize on func_dgettext
11940         not func_gettext, so that the checks for dgettext
11941         actually are paid attention to.
11942
11943 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
11944
11945         * configure.in (LIBS): Add $INTLLIBS into $LIBS
11946         directly, rather than repeating the checks for
11947         gettext.
11948
11949         * INSTALL: Added information about gettext and
11950         NLS support.
11951
11952         * acinclude.m4 (LIBM): Check for dgettext, not
11953         just gettext. This should hopefully fix things wrt
11954         systems with old versions of GNU gettext installed.
11955
11956 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
11957
11958         * configure.in (LIBS): Look for libgmodule in the
11959         right location.
11960
11961 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
11962
11963         * autogen.sh: add --enable-maintainer-mode
11964
11965         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
11966
11967 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
11968
11969         * docs/gtk-config.1.in:
11970           docs/Makefile.am:
11971           configure.in: gtk-config is now generated.
11972
11973         * docs/gtk-config.1: Removed, now generated.
11974
11975 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
11976
11977         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
11978         handle CreateNotify itself, still put out a debuging message for
11979         --gdk-debug=events. made the ReparentNotify debugging message more
11980         verbose.
11981         wrap xcoords translation for ConfigureEvents into an error trap,
11982         a destroy event may already be pending, and in that case, the
11983         actuall coordinate values are not at all critical.
11984
11985 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
11986
11987         * gdk/gdkcc.c: Stop leaking the color_hash all over
11988         the place. Simplify and improve the logic.
11989
11990 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
11991
11992         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
11993         for prototypes and function implementations consistent (reported
11994         by Tomas Ogren).
11995
11996 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
11997
11998         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
11999         send_event set in debugging output.
12000         (gdk_compress_exposures): default initialize the event so we don't
12001         operate on bogus values (namely send_event).
12002
12003 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
12004
12005         * gdk/gdkwindow.c: When we receive an unexpected
12006         destroy notify on one of our windows, don't just
12007         warn about it, also mark our windows as destroyed.
12008
12009 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
12010
12011         * gdk/gdkfont.c (gdk_font_hash_insert): Add
12012           name => font and name => fontset hashes. The 
12013           name => fontset hash is a _big_ win since we
12014           weren't previously caching fontsets at all and loading
12015           fontsets is expensive. The name => font hash
12016           is less of a win, but it does save us from doing
12017           repeated XQueryFont calls on the same font.
12018
12019         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
12020           list so we can remove font/fontset from hash.
12021
12022 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12023
12024         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
12025           and slightly confusing test. [ XInternAtom (,,TRUE)
12026           will never return None ].
12027
12028 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
12029
12030         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
12031           gdk/gdkwindow.c (gdk_window_set_hints):
12032
12033         Don't omit setting the properties if flags == 0 -
12034         there may be an existing set of properties there
12035         already. (Very old bug. Would it be better to
12036         delete the property instead?)
12037
12038         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
12039           spelling error in comment.
12040
12041 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
12042
12043         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
12044           to avoid stomping over gdk_error_warnings.
12045
12046         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
12047           as (bits_per_pixel + 7) / 8. This gives the same
12048           result as before for multiples of 8, but actually
12049           a "reasonable" value for 1bit or 4bit displays.
12050
12051 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12052
12053         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
12054         GNU Make.
12055
12056 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
12057
12058         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
12059         discarding configure events.
12060
12061 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
12062
12063         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
12064         refcount is greater than zero.
12065
12066         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
12067
12068         * gdk/gdkfont.c (gdk_font_unref): Likewise.
12069
12070         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
12071
12072         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
12073
12074 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
12075
12076         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
12077         that format 32 => sizeof(item) == 4. It really is
12078         sizeof(long).
12079
12080 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
12081
12082         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
12083         core dump at all on X IO errors, only core dump
12084         if --enable-debug for X errors.
12085
12086 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
12087
12088         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
12089         unknown window:" message. disabled ConfigureNotify discarding code,
12090         because it led to events being processed out of order.
12091
12092 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
12093
12094         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
12095
12096         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
12097         we export this function, supress error warnings and don't reset the
12098         error code in the first half of this function.
12099
12100         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
12101         code (instead of just -1) so gdk_error_trap_pop() reveals something
12102         actually informative about the error that happened.
12103
12104         * gdk/*.c:
12105         don't rely on gdk_error_code being -1 if an error occoured, but just
12106         gdk_error_code != 0.
12107
12108 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
12109
12110         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
12111         pointer *before* invoking the filter function, so we at least don't
12112         crash if a filter is removed that is currently executed. window filters
12113         *really* need to be made truely reentrant at some point.
12114
12115 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
12116
12117         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
12118         PropertyNotify debug messages.
12119
12120 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
12121         
12122         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
12123         
12124         * gdk/gdkim.c: Fix cut-and-paste errors for 
12125         x/y and PreeditAttributes/StatusAttributes.
12126
12127 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12128
12129         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
12130         G_MAXINT to 2^16 to alleviate overflow problems in
12131         various window managers.
12132
12133 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
12134
12135         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
12136         for fontsets.
12137
12138 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
12139
12140         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
12141         Initialize size_hints.x and size_hints.y because kwm
12142         brokenly pays attention to them.
12143         (Bug #1181 -  Lars Heete <hel@admin.de>)
12144
12145 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
12146
12147         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
12148         return value of gdk_list_visuals(). 
12149         (Bug #1193 - Morten Welinder <terra@diku.dk>)
12150
12151 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
12152
12153         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
12154         XSetIMValues to (void *) when comparing to NULL, to workaround
12155         the problem of some compilers barfing since older X headers don't
12156         have the prototype for it.
12157
12158 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
12159
12160         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
12161         for pseudocolor where colormap->colors was double
12162         allocated.
12163
12164         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
12165         color value in the hash table with the pixel filled
12166         in so when we do later hash table lookups, the color
12167         value is correct.
12168         
12169 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
12170
12171         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
12172         making the call
12173
12174 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
12175
12176         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
12177         pointed out by Morten Welinder <terra@diku.dk>.
12178
12179 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
12180
12181         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
12182           default filter from the list
12183
12184 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
12185
12186         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
12187           default filter from the list
12188
12189 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
12190
12191         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
12192
12193         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
12194         g_strdup_printf instead of calcing the length separately
12195
12196 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
12197
12198         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
12199         that we don't do in many other places. (Fixing duplicate 
12200         #include of config.h)
12201
12202         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
12203         Otherwise, #ifndef XINPUT_NONE check in the latter
12204         doesn't work. (Bug #546)
12205
12206 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
12207
12208         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
12209         "None" case insensitive.
12210
12211 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
12212
12213         * gdk/gdkselection.c: 
12214         Add error traps so if the other end of the connection
12215         dies, we survive.
12216
12217 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12218
12219         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
12220         dest_xid field into two fields - one for the window
12221         to send in messages, one to indicate the last looked
12222         up window for caching purposes. This is needed, so
12223         that Leave messages get the correct window.
12224
12225 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
12226
12227         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
12228         Fix warning created by people mucking around
12229         with the gsource API.
12230
12231         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
12232         Change mapping between GIOCondition and GdkInputCondition
12233         to match the way the Linux kernel does it. This should
12234         fix problems where closed pipes were no longer signalling
12235         GDK_INPUT_READ on systems with a native poll().
12236
12237 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
12238
12239         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
12240         explicitly for the string "None" - it is in the XPM
12241         spec and some servers treat unknown colors in odd ways
12242         (like asking the user!)
12243
12244 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
12245
12246         * gdk/gdkevents.c: made "->" into a "." of previous change so
12247         it compiles
12248
12249 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
12250
12251         * gdk/gdkevents.c (gdk_compress_exposures): Set the
12252         window field of the event structure before calling
12253         user filters.
12254
12255 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
12256
12257         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
12258         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
12259
12260 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
12261
12262         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
12263         intermediate text property - prevents major memory
12264         leak when gdk_use_mb.
12265         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
12266
12267 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
12268
12269         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
12270         gtk-a-higuti-990322-[0-3]
12271
12272         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
12273         sizeof(wchar_t) != sizeof (GdkWChar)
12274
12275         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
12276         that was causing -DX_LOCALE not to work.
12277
12278         * gtk/gtkrc.c (gtk_rc_init):
12279         X_LOCALE will never have LC_MESSAGES defined
12280
12281         * gdk/gdk.c (gdk_init_check):
12282         Remove --xim-preedit and --xim-status from argv properly.
12283
12284         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
12285         that the client window is present on the X server
12286         before we pass it to the input method.
12287
12288 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
12289
12290         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
12291         if --display is specified on the command line, than
12292         the drag window will not be created on that display.
12293         
12294 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
12295
12296         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
12297         lookups with only_if_exists == TRUE were inserting
12298         bogus values into the atom cache.
12299
12300 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
12301
12302         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
12303         then reset it to NULL.
12304
12305         * gdk/gdkcolor.c:
12306         (gdk_colors_free): 
12307         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
12308         key for g_hash_table_remove() in both functions, this prevents us
12309         from accessing possibly uninitialized portions of a GdkColor structure
12310         where we are only interested in its pixel value.
12311
12312 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
12313
12314         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
12315         font hash table, if we have a GdkFontPrivate entry for this font
12316         already, simply increment its reference count, provided by Olaf Dietsche
12317         <olaf.dietsche+list.gtk@netcologne.de>.
12318
12319 1999-09-21  Tor Lillqvist  <tml@iki.fi>
12320
12321         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
12322         just to be sure.
12323
12324         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
12325         unused variables, leftovers from the X11 version.
12326
12327         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
12328
12329         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
12330         downcase fields on X11.
12331
12332 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
12333         
12334         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
12335         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
12336
12337 1999-09-17  Tor Lillqvist  <tml@iki.fi>
12338
12339         * gdk/win32/gdk.def: Add gdk_threads_mutex.
12340
12341         * gtk/makefile.msc: Correct path to libintl.
12342
12343         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
12344         use of gint vs. int, and gint vs. gboolean in headers and
12345         definitions. Use GtkType for the *_get_type functions. Note that
12346         these changes preserve binary compatibility.
12347
12348         * gdk/gdk.c
12349         * gdk/win32/gdk.c
12350         * gdk/gdk.h: Fix inconsistencies: gint vs int.
12351
12352         * gtk/gtkmain.c
12353         * gtk/gtkclist.c
12354         * gtk/gtkmenufactory.c
12355         * gtk/gtknotebook.c
12356         * gtk/gtkwidget.c: Fix inconsistencies, also gint
12357         vs. gboolean.
12358
12359         * gtk/gtkcolorsel.[ch]
12360         * gtk/gtkcombo.[ch]
12361         * gtk/gtkdrawingarea.[ch]
12362         * gtk/gtkgamma.[ch]
12363         * gtk/gtkhandlebox.[ch]
12364         * gtk/gtkhpaned.[ch]
12365         * gtk/gtkhruler.[ch]
12366         * gtk/gtkplug.[ch]
12367         * gtk/gtkpreview.[ch]
12368         * gtk/gtkruler.[ch]
12369         * gtk/gtksocket.[ch]
12370         * gtk/gtkstatusbar.[ch]
12371         * gtk/gtktoolbar.[ch]
12372         * gtk/gtkvbbox.[ch]
12373         * gtk/gtkvpaned.[ch]
12374         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
12375         functions.
12376
12377         * gtk/gtkgamma.h: Fix bug, missing () in call of
12378         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
12379
12380 1999-09-14  Tor Lillqvist  <tml@iki.fi>
12381
12382         * gdk/gdkcolor.c (gdk_colormap_new)
12383         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
12384         colormap->colors was allocated twice.
12385
12386         * gdk/win32/gdk.c: Remove some unused stuff.
12387
12388         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
12389         colormap.
12390
12391         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
12392         * gtk/gtklabel.h (gtk_label_get_type)
12393         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
12394         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
12395         in a couple of places, not guint.
12396
12397 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
12398
12399         * configure.in,po/et.po: added Estonian language file
12400
12401 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
12402
12403         * configure.in,po/da.po: added Danish file
12404
12405 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
12406
12407         * docs/gtkfaq.sgml: Minor FAQ Update
12408
12409 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
12410
12411         * docs/gtkfaq.sgml: FAQ update
12412
12413 1999-08-27  Tor Lillqvist  <tml@iki.fi>
12414
12415         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
12416         way to get window contents continually refreshed while resizing. I
12417         didn't like the effects myself, so it's not on by default.
12418
12419         * gdk/win32/gdkprivate.h: New flag variable
12420         gdk_event_func_from_window_proc, FALSE by default.
12421
12422         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
12423         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
12424         are passed --gdk-event-func-from-window-proc.
12425
12426         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
12427         and we have am event_func, call it instead of enqueing the event.
12428
12429 1999-08-23  Tor Lillqvist  <tml@iki.fi>
12430
12431         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
12432         Kelley: Set expose_count in GdkEventExposes correctly.
12433
12434         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
12435         MULTIPLE_WINDOW_CLASSES).
12436
12437         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
12438         for bug in NT, apparently NT *does* draw the end pixel, too, in
12439         LineTo with a one-pixel pen, so we don't have to do it ourselves.
12440
12441 1999-08-21  Tor Lillqvist  <tml@iki.fi>
12442
12443         Improvements by Hans Breuer: 
12444
12445         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
12446
12447         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
12448         CS_?REDRAW flags as they cause lots of (late) redraws when "show
12449         window contents while dragging" is turned on. Allocate at least
12450         one unique class for every GdkWindowType. If support for single
12451         window-specific icons is ever needed (eg. Dialog specific), every
12452         such window should get its own class.
12453
12454 1999-08-19  Tor Lillqvist  <tml@iki.fi>
12455
12456         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
12457         error that caused crashes.
12458
12459 1999-08-17  Tor Lillqvist  <tml@iki.fi>
12460
12461         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
12462         window, use ScrollWindowEx, and call UpdateWindow. This prevents
12463         bugs when for instance part of the window was outside the
12464         display. Thanks to Philippe Colantoni for finding and fixing this.
12465
12466 1999-08-16  Tor Lillqvist  <tml@iki.fi>
12467
12468         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
12469         endpoint calculations which were totally wrong. (A little RTFMing
12470         helps a lot ;-)
12471
12472         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
12473         from a separate directory, not from gettext, because of licensing
12474         issues (we want to use the LGPL version).
12475
12476         * README.win32: Mention the intl from glibc vs from gettext issue.
12477
12478 1999-08-13  Tor Lillqvist  <tml@iki.fi>
12479
12480         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
12481         in the key event handling: Now AltGr chars work again. Also,
12482         now Alt-digits are passed up as well as Control-digits.
12483         Pass keypad plus and minus as normal plus and minus.
12484
12485 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
12486
12487         * docs/gtkfaq.sgml: FAQ Update
12488
12489 1999-07-25  Tor Lillqvist  <tml@iki.fi>
12490
12491         * README.win32
12492         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
12493         the Wintab SDK.
12494
12495         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
12496         OK, but getting closer. Guard against bogus tilt data from Wacom
12497         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
12498         enable easier building without Wintab.
12499
12500         * gdk/win32/gdkinput.h
12501         * gdk/win32/gdkevents.c 
12502         * gdk/win32/gdkwindow.c: Minor changes related related to above.
12503         
12504         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
12505         code. As we have just one visual on Win32, no sense to have it in a
12506         table, and no need for the hash table.
12507
12508         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
12509         better on white background.
12510
12511 1999-07-21  Tor Lillqvist  <tml@iki.fi>
12512
12513         * README.win32: Update gcc build instructions. Mention gettext is
12514         GPL.
12515
12516         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
12517         supported cursor size with GetSystemMetrics.
12518
12519         * gdk/win32/gdkfont.c
12520         * gtk/gtkfontsel.c: Guard against some font weight and charset
12521         symbols being undefined (in mingw32 headers).
12522
12523         * gdk/win32/makefile.cygwin
12524         * gtk/makefile.cygwin
12525         * gtk/gtkthemes.c: No longer need to have differently named
12526         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
12527
12528 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
12529
12530         * docs/gtkfaq.sgml: Long awaited FAQ update.
12531
12532 1999-07-15  Tor Lillqvist  <tml@iki.fi>
12533
12534         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
12535         it. Obscure bit manipulation needed.
12536
12537         * gdk/win32/gdkevents.c: Logging.
12538         
12539         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
12540         style (file name include compiler name) for theme engines.
12541
12542 1999-07-13  Tor Lillqvist  <tml@iki.fi>
12543
12544         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
12545
12546         * gdk/win32/gdkevents.c: Fix long-standing bug in key
12547         events. The key.string wasn't zero-terminated, still we strdup'ed
12548         it in gdk_event_copy(). Synthesize crossing events for button
12549         events before possible propagation.
12550
12551         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
12552
12553         * gdk/win32/makefile.cygwin
12554         * gtk/makefile.cygwin: Use new DLL naming style for the
12555         GCC-compiled ones.
12556
12557         * gdk/win32/makefile.msc
12558         * gtk/makefile.msc: Cosmetics mostly.
12559
12560         * gtk/gtk.def: Add missing entry points.
12561
12562         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
12563
12564 1999-07-09  Tor Lillqvist  <tml@iki.fi>
12565
12566         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
12567         or height is zero. Don't print a warning if Pie or Arc fails, they
12568         always fail (?) for very narrow ellipses.
12569
12570         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
12571         the part or the destination window corresponding to source area
12572         outside of the source drawable's boundary.
12573
12574         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
12575         anything if less than two points.
12576
12577         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
12578         return NULL. Gtk cut-and-paste inside a single program works
12579         better this way. (It always gets the clipboard contents from
12580         Windows, not from its own copy, which is cleared anyway. I can't
12581         say I fully understand what happens... Emulating the X selection
12582         and property stuff is a bit of a mess.)
12583
12584         * gdk/win32/gdkevents.c
12585         * gdk/win32/gdkproperty.c: A bit more verbose logging.
12586
12587         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
12588         that never got deleted). Revamp gdk_region_shrink.
12589
12590         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
12591         after use.
12592
12593         * gtk/gtk.def: Add some missing entry points.
12594
12595         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
12596         component.
12597
12598 1999-07-04  Tor Lillqvist  <tml@iki.fi>
12599
12600         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
12601         Control-digits specially.
12602
12603 1999-07-03  Tor Lillqvist  <tml@iki.fi>
12604
12605         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
12606
12607 1999-06-28  Tor Lillqvist  <tml@iki.fi>
12608
12609         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
12610         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
12611         finding this.)
12612
12613 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
12614
12615         * gtk+.spec.in: Corrected some typos in files section.
12616         
12617 1999-06-15  Tor Lillqvist  <tml@iki.fi>
12618
12619         * README.win32: Mention using GNU gettext.
12620         * config.h.win32: Enable NLS stuff.
12621         * gtk/makefile.msc: Use GNU gettext.
12622         * gdk/win32/gdkdnd.c: Minor header reorg.
12623         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
12624         cosmetics.
12625         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
12626         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
12627
12628 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
12629
12630         * acinclude.m4
12631         * config.guess
12632         * config.status
12633         * ltconfig
12634         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
12635
12636 1999-05-30  Tor Lillqvist  <tml@iki.fi>
12637
12638         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
12639         SafeAdjustWindowRectEx. Don't override all calls to
12640         AdjustWindowRectEx by it, but use it only in two places: When
12641         creating a new top-level window and when moving a top-level
12642         window.
12643
12644         Use screen coordinate rectangle, not client rectangle, in
12645         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
12646         when we try to place a window so that the decoration (mainly,
12647         title bar) isn't visible.
12648
12649         These changes fix the bug that showed up for instance as the
12650         GIMP's saved top-level windows moving right and down (by an amount
12651         equal to the window decoration) for each session. This bug showed
12652         up also in testgtk's "Saved Position".
12653
12654         gdk_window_resize also redone a bit.
12655
12656 1999-05-25  Tor Lillqvist  <tml@iki.fi>
12657
12658         * gtk/testgtkrc: Add (commented out) Windows-style theme
12659         include line.
12660
12661         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
12662
12663 1999-05-18  Tor Lillqvist  <tml@iki.fi>
12664
12665         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
12666         gdkx.h to a gdk subdirectory, so that applications can include
12667         these with <gdk/*.h> without trouble.
12668
12669         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
12670         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
12671         have their bitmap destroyed.
12672
12673         * gdk/win32/gdk.def: Add gdk_root_parent.
12674
12675 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
12676
12677         * configure.in
12678           gtk-config.in
12679           ltconfig
12680           ltmain.sh     
12681           gtk/Makefile.am: changes to compile nicely (with xlib) 
12682           on BeOS
12683
12684 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
12685
12686         * acinclude.m4
12687         * config.guess
12688         * config.sub
12689         * ltconfig
12690         * ltmain.sh: upgrade to libtool 1.3
12691
12692 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
12693
12694         * gtk/gtkclist.c:
12695         * gtk/gtkctree.c: merges from gtk-1-2
12696
12697 1999-04-25  Tor Lillqvist  <tml@iki.fi>
12698
12699         Support added for building using a GNU toolchain on Win32,
12700         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
12701
12702         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
12703         * config.h.win32: Changes for gcc.
12704         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
12705         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
12706         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
12707         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
12708         Protect shl stuff unavaiilable with mingw32 headers.
12709         * gdk/win32/gdkevents.c: Fix typo.
12710         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
12711         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
12712         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
12713         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
12714         the mingw32 headers.
12715         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
12716         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
12717         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
12718         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
12719         Test for NATIVE_WIN32, not _MSC_VER.
12720         * gtk/gtkmain.c: No use warning about developer version on Win32,
12721         there aren't any non-developer versions anyhow.
12722         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
12723         * gtk/makefile.msc: Use pthread from another directory. Minor other
12724         changes. 
12725
12726 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
12727
12728         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
12729           default filter from the list
12730
12731 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
12732
12733         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
12734          when gtk_widget_grab_default() is called for a widget that
12735          is not within a GtkWindow.
12736
12737 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
12738
12739         * docs/gtk_tut.sgml, examples/clist.c: use a
12740           scrolled window in the clist example. Minor
12741           tutorial fixes.
12742
12743 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
12744
12745         * docs/gtk_tut.sgml: Style check from David King
12746           <dking@youvegotmail.net>
12747
12748 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
12749
12750         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
12751         compile with unknown value of GDK_WINDOWING
12752
12753 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
12754
12755         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
12756         after the rule is fired.
12757         (install-exec-local): Install gdkconfig.h only if the contents are
12758         different from the currently installed gdkconfig.h.
12759
12760 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
12761
12762         * gdk/Makefile.am (configexecincludedir): Rename from 
12763         configincludedir so that gdkconfig.h will be installed 
12764         as part of `make install-exec'. 
12765
12766 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
12767
12768         * acinclude.m4
12769         * config.guess
12770         * config.sub
12771         * ltconfig
12772         * ltmain.sh: upgrade to libtool 1.2f
12773
12774         * autogen.sh: libtool is not required to autogen gtk+
12775
12776         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
12777         needed)
12778
12779 1999-03-18  Tor Lillqvist  <tml@iki.fi>
12780
12781         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
12782         declaring gdk variables exported/imported from the DLL. New image
12783         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
12784         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
12785         GDK_DRAG_PROTO_OLE2.
12786
12787         * gdk/gdk.h: Merge in Win32 version: Two new functions,
12788         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
12789         declared only for the Win32 version, but could be in the X11
12790         version as well. (Needed for a Xlib-less gdk_imlib.)
12791         gdk_color_hash should have only one parameter. Declare
12792         gdk_threads_mutex with GDKVAR.
12793         
12794         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
12795         just one parameter.
12796
12797         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
12798         per pixel, not bits.
12799
12800         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
12801         Fetch bpp (which means bits-per-pixel here) from another place on
12802         Win32. Accept also depth==32 (which we might get on Win32) with
12803         bpp==32.
12804
12805         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
12806         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
12807         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
12808         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
12809         in the backend-dependent directory, not in the common gdk
12810         directory.
12811
12812         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
12813         headers.
12814
12815 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
12816
12817         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
12818         want to use the Gtk+ devel version (which is true, and yes - even i am
12819         currently working with the 1.2.x branch). so everyone reading this, you
12820         probably want to issue
12821         cvs checkout -r glib-1-2 glib
12822         and
12823         cvs checkout -r gtk-1-2 gtk+
12824         as your next two comands.
12825
12826 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
12827
12828         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
12829         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
12830
12831         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
12832         file. strongly deprecated the GTK_HAVE_* macros, we provide
12833         GTK_CHECK_VERSION() for people that need to check for certain
12834         Gtk+ versions.
12835
12836         * gtk/gtkcompat.h: removed this from CVS.
12837         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
12838         idea right from the start, it just didn't seem like that back then.
12839
12840 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
12841
12842         * merges from gtk-1-2:
12843
12844 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
12845
12846         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
12847         item factory class has been created.
12848         (gtk_item_factory_parse_rc): likewise.
12849
12850         * gtk/gtkmenu.c:
12851         keep proper references for old_active_menu_item.
12852         (gtk_menu_reparent): unset the usize of the new parent,
12853         so the menu can sanely be size requested and we don't get nasty screen
12854         artefacts upon next reparentation.
12855         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
12856         enter notify. only synthesize enter notifies if the pointer really is
12857         inside the event window.
12858         (gtk_menu_popdown): use gtk_menu_shell_deselect().
12859         (gtk_menu_popup): move the background setting stuff into
12860         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
12861
12862         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
12863         gtk_menu_shell_select_item() to select the new item.
12864         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
12865         do the right thing for deselection as well.
12866
12867 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
12868
12869         * gtk/gtkwidget.[hc]:
12870         (gtk_widget_accelerators_locked): return whether a widget's accelerators
12871         are locked.
12872
12873         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
12874         existing accelerators if the widget's accelerators are locked.
12875
12876 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
12877
12878         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
12879
12880         * gtk/gtkmenu.c: truely forward key press and key release events to
12881         the menu widget from the toplevel or tearoff window. we can't simply
12882         connect to that, we need to stop further processing of the events as
12883         well.
12884
12885 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
12886
12887         * gtk/gtkmenu.c:
12888         (gtk_menu_key_press): pass event->keyval, event->state to
12889         gtk_accelerator_valid, instead of event->keyval twice.
12890         refuse to install single letter accelerators for menus that use
12891         single letter shortcuts.
12892
12893         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
12894         gtk_menu_ensure_uline_accel_group().
12895
12896         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
12897         which will always return an uline accel group, made
12898         gtk_menu_get_uline_accel_group() return NULL if the group isn't
12899         yet created.
12900
12901 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
12902
12903         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
12904
12905         * gtk/gtkclist.c (gtk_clist_column_title_passive):
12906         Leave button sensitive, trap  button_press, button_release,
12907         motion_notify, enter_notify and leave_notify events instead.
12908         (gtk_clist_column_title_active): disconnect event handler.
12909         (gtk_clist_drag_data_get): fixed memory leak. Reported by
12910         Guillaume Laurent <glaurent@worldnet.fr>
12911
12912 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
12913
12914         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
12915         width/height mixups.
12916
12917         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
12918         if needed.
12919
12920 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
12921
12922         * gtk/testgtk.c (create_item_factory): unref the item factory after
12923         window's destruction.
12924
12925         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
12926         count on the menu shell around the menu item's activation, since the
12927         signal emission may cause menu shell destruction.
12928
12929         * gtk/gtkitemfactory.c:
12930         the previous code leaked one accel group per menu. we use
12931         gtk_menu_get_uline_accel_group() now to fix that, and with that
12932         also create the underline accelerator group of the menus only if
12933         required (i.e. an underline accelerator has been specified).
12934         (gtk_item_factory_construct):
12935         (gtk_item_factory_create_item): removed code that would create an
12936         extra accel group for the menu (and leak references).
12937         (gtk_item_factory_create_item): adapted the underline accelerator
12938         installation code to properly feature gtk_menu_get_uline_accel_group().
12939
12940         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
12941         menu->accel_group, this may return NULL if the accelerator group
12942         hasn't been set yet.
12943         added gtk_menu_get_uline_accel_group() to retrive the underline
12944         accelerator group of the menu, this will be created on demand
12945         and proper care is taken about its reference count.
12946
12947         * gtk/gtkitemfactory.h:
12948         * gtk/gtkitemfactory.c:
12949         dumped the approach of keeping a widgets by action list on the
12950         factory since the factory<->widget destroy negotiation didn't work
12951         and would be hard to get going at all. instead we keep a list of
12952         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
12953         persistant throughout a program's life time).
12954         also, i removed the static const gchar *key_* variables, and made
12955         them inline strings (they weren't actually used anyways).
12956         (gtk_item_factory_add_item): update ifactory->items.
12957         (gtk_item_factory_destroy): destroy ifactory->items (and remove
12958         the item factory pointer from the remaining ifactory widgets).
12959         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
12960         list to find the widget.
12961         (gtk_item_factory_get_item): new function that works around
12962         gtk_item_factory_get_widget() limitations, this function will only
12963         return menu items, even for <Branch> entries.
12964
12965 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
12966
12967         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
12968         font hash table, if we have a GdkFontPrivate entry for this font
12969         already, simply increment its reference count, provided by Olaf Dietsche
12970         <olaf.dietsche+list.gtk@netcologne.de>.
12971
12972         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
12973         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
12974
12975 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
12976
12977         * gtk/gtkcontainer.c:
12978         (gtk_container_add_with_args):
12979         (gtk_container_addv):
12980         (gtk_container_add): before adding a child to a conatiner, make sure
12981         it is (default) constructed, this is neccessary because under certain
12982         circumstances the child will get relized and mapped immediatedly, in
12983         which case it has to be constructed already.
12984
12985 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
12986
12987         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
12988         values > 1 as TRUE also.
12989
12990 1999-03-16  Tor Lillqvist  <tml@iki.fi>
12991
12992         * README.win32: New file.
12993                 
12994         * configure.in: Check for lstat.
12995
12996         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
12997         completeness.
12998
12999         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
13000
13001         * gtk/gtk.def: Removed CRs.
13002
13003         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
13004         ..\gdk\win32).
13005
13006         * gdk/win32/makefile.msc: Correct upwards relative paths.
13007         
13008 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
13009
13010         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
13011           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
13012           it was connecting a void function to expose_event and the int
13013           returning function to the draw signal
13014
13015 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
13016
13017         * configure.in:
13018         Use correct path to libgmodule.la when ref'ing uninstalled copy
13019         of glib.  (Already in stable branch, Bug #417)
13020
13021 1999-03-15  Tor Lillqvist  <tml@iki.fi>
13022
13023         Win32 merge and general portability stuff:
13024                 
13025         * acconfig.h,configure.in: Check for <sys/time.h>.
13026
13027         * gdk/win32: New directory (actually, been there for a while).
13028         
13029         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
13030         NATIVE_WIN32, and use these. Always case fold on Win32. No
13031         backslashed escapes on native Win32.
13032
13033         * gtk/{gtk.def,makefile.msc}: New files.
13034
13035         * gtk/Makefile.am: Add above new files.
13036         
13037         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
13038         instead of <strings.h>.
13039
13040         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
13041         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
13042         <unistd.h> appropriately.
13043
13044         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
13045         Use ABS() (from <glib.h>) instead of abs().
13046         
13047         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
13048         of gtk (and thus glib) headers, so that WIN32 will be
13049         defined. With MS C, include <direct.h> for mkdir prototype.
13050
13051         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
13052         some casts, needed by MS C.
13053
13054         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
13055         implemented).
13056
13057         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
13058         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
13059         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
13060
13061         * gtk/gtkmain.h: Mark variables for export/import on Win32.
13062                 
13063         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
13064         the event is not a hint, or its window is not the slider. Needed
13065         on Win32, at least.
13066
13067         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
13068         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
13069         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
13070         a subdirectory of the Windows directory as gtk system
13071         configuration directory.
13072
13073         * gtk/gtkselection.c: No chunks on Win32.
13074
13075         * gtk/gtksocket.c: Not implemented on Win32.
13076
13077         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
13078
13079         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
13080
13081         * gtk/maketypes.awk: Declare variables with a macro that expands to
13082         necessary export/import magic in the case of Win32.
13083                 
13084         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
13085
13086 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
13087
13088         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
13089         since those were meant only for gdki18n.h.  
13090         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
13091         for widechar tests.
13092         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
13093
13094 1999-03-13  Tor Lillqvist  <tml@iki.fi>
13095
13096         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
13097         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
13098
13099         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
13100         installed) to CFLAGS.
13101
13102         * gdk/Makefile.am: Add rules for gdkconfig.h.
13103
13104         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
13105         APIs.
13106
13107         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
13108         gdkx.h anyway when compiling for X11.
13109         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
13110         general): Merge in Win32 version.
13111         
13112         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
13113         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
13114         expansion (if we don't have HAVE_PWD_H), allow for drive
13115         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
13116         included code from Craig Setera's port to Win32 (the one that uses
13117         X11, and the cygwin dll), even if it probably will be abandoned.
13118
13119         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
13120         the user entered one herself.  This way one can complete *.h and
13121         don't get matches on any .help files, for instance.
13122         
13123 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13124
13125         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13126         font hash table, if we have a GdkFontPrivate entry for this font
13127         already, simply increment its reference count, provided by Olaf Dietsche
13128         <olaf.dietsche+list.gtk@netcologne.de>.
13129
13130         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
13131         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
13132
13133 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
13134
13135         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
13136         the number of calls to gdk_draw_point() (and thus to X) by
13137         clipping the points by hand.
13138
13139         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
13140         the clip parameter.
13141         (gtk_handle_box_paint): Only paint the handle if the expose area
13142         intersects it.
13143
13144 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
13145
13146         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
13147
13148 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
13149
13150         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
13151         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
13152
13153 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
13154
13155         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
13156          textmode (O_TEXT) for OS/2 version.
13157
13158 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
13159
13160         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
13161         GtkSpinButton, "input" and "output", to make the output more flexible.
13162         The user has to provide a mapping between adjustment->value and the
13163         output string (and vice versa, if the spin button is editable). 
13164         See testgtk for examples.
13165
13166 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
13167
13168         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
13169         new one.
13170         
13171         * configure.in: set gtk+ version to 1.3.0.