]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-0
add "inverted" property
[~andy/gtk] / ChangeLog.pre-2-0
1 2001-06-06  Havoc Pennington  <hp@redhat.com>
2
3         * gtk/gtkrange.c (gtk_range_class_init): add "inverted" property
4
5         * gtk/gtkscale.c (gtk_scale_class_init): Change Page Up and Page
6         Down to move visually rather than logically, since it confuses 
7         people. Add -/+ and Ctrl--/+ bindings for logical movement.
8
9 Wed Jun  6 10:34:42 2001  Owen Taylor  <otaylor@redhat.com>
10
11         * gtk/gtktooltips.h: Include gtkwidget.h 
12         (#55798, Karl Nelson)
13
14         * gdk/x11/gdkwindow-x11.c (utf8_is_latin1): 0xff is
15         a valid latin-1 character. (Marc Lehmann, #35467)
16
17         * gdk/x11/gdkwindow-x11.c: Fix minor typo in comment. 
18         (Marc Lehmann, #35467)
19         
20 2001-06-05  Alex Larsson  <alexl@redhat.com>
21
22         * demos/gtk-demo/appwindow.c (do_appwindow):
23         Don't swap the order of the args to gtk_widget_destroyed.
24
25         * tests/testgtk.c (destroy_properties):
26         Don't crash when the properties window is destroyed.
27
28         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_new_from_stock):
29         Use with_mnemonics to handle the case of stock items with
30         underscores in them.
31
32 2001-06-05  Havoc Pennington  <hp@redhat.com>
33
34         * gtk/gtktextiter.c (gtk_text_iter_order): rename from 
35         gtk_text_iter_reorder
36
37 2001-06-05  Havoc Pennington  <hp@redhat.com>
38
39         * gtk/gtktoolbar.c (gtk_toolbar_remove_space): new function
40
41 2001-06-05  Havoc Pennington  <hp@redhat.com>
42
43         * gtk/gtkspinbutton.c (gtk_spin_button_set_range): clamp the value 
44         to the range that was set
45
46         * gtk/gtkrange.c: add value_changed signal, primarily 
47         intended for use with GtkScale
48         (gtk_range_set_increments): new function
49         (gtk_range_set_range): new function with weird name
50         (gtk_range_set_value): new function
51         (gtk_range_get_value): new function
52
53         * gtk/gtkspinbutton.c (gtk_spin_button_get_value): rename 
54         from gtk_spin_button_get_value_as_float(). Compat #define
55         added for get_value_as_float.
56
57         * gtk/gtkhscale.c (gtk_hscale_new_with_range): new function
58
59         * gtk/gtkvscale.c (gtk_vscale_new_with_range): new function
60
61 Tue Jun  5 14:57:18 2001  Jonathan Blandford  <jrb@redhat.com>
62
63         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_size): Fix bug #55573
64
65 Mon Jun  4 12:41:25 2001  Owen Taylor  <otaylor@redhat.com>
66
67         * gtk/gtkwidget.h: Deprecate gtk_widget_set().
68
69         * tests/testgtk.c (create_tooltips): Remove usage of
70         gtk_widget_set().
71
72 2001-06-05  Havoc Pennington  <hp@redhat.com>
73
74         * gtk/gtkcolorsel.c: Use new mnemonic convenience functions
75
76         Applying patch from Jeff Franks, with function docs added.
77         
78         * gtk/gtkcheckbutton.c (gtk_check_button_new_with_mnemonic):
79         remove call to set_mnemonic_widget, change docs a bit.  
80
81         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_new_with_mnemonic):
82         new function
83
84         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_new_with_mnemonic):
85         new function
86
87         * gtk/gtkmenuitem.c (gtk_menu_item_new_with_mnemonic): new function
88
89         * gtk/gtkradiobutton.c (gtk_radio_button_new_with_mnemonic): new
90         function
91         (gtk_radio_button_new_with_mnemonic_from_widget): new function
92
93         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_new_with_mnemonic):
94         new function
95
96         * gtk/gtktogglebutton.c (gtk_toggle_button_new_with_mnemonic): new
97         function        
98
99         * gtk/gtklabel.c (gtk_label_new_with_mnemonic): Improve docs on 
100         auto-selection of mnemonic widget.
101
102 Mon Jun  4 15:05:24 2001  Jonathan Blandford  <jrb@redhat.com>
103
104         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_max_width):
105         Fix segfault found by Vitaly Tishkov <tvv@sparc.spb.su>.
106         (gtk_tree_view_column_set_min_width): ditto.
107
108 Tue Jun  5 11:04:06 2001  Owen Taylor  <otaylor@redhat.com>
109
110         * gdk/gdkpixmap.h (GDK_PIXMAP_GET_CLASS): 
111         s/GdkPixmapClass/GdkPixmapObjectClass/. (#51890, Jeff Franks)
112
113 Mon Jun  4 12:50:11 2001  Owen Taylor  <otaylor@redhat.com>
114
115         * gtk/gtkctree.c (gtk_ctree_insert_gnode): Add a missing
116         gtk_clist_thaw().
117
118 2001-06-04  Havoc Pennington  <hp@pobox.com>
119
120         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Ignore 
121         releases for buttons 6, 7
122
123 2001-06-04  Havoc Pennington  <hp@redhat.com>
124
125         * gtk/gtkseparatormenuitem.h: Fix a search-and-replace screwup
126         (s/CHECK/SEPARATOR/ gone awry). Patch from Jeff Franks, bug
127         #55562
128
129 2001-06-04  Havoc Pennington  <hp@redhat.com>
130
131         * gtk/gtktextview.c (gtk_text_view_size_request): handle case
132         where text_view->layout == NULL by assuming its size is 0, 
133         i.e. same as if we haven't done any reflow. Reported by 
134         Hidetoshi Tajima #55448 
135
136 2001-06-04  Havoc Pennington  <hp@redhat.com>
137
138         * gdk/x11/gdkevents-x11.c (gdk_event_translate): support button 6
139         and 7 for scroll left/right, from Thomas Broyer
140
141 2001-05-10  Havoc Pennington  <hp@redhat.com>
142
143         * gtk/gtksettings.c (gtk_settings_get_property): Handle case where
144         we need to parse the xsetting as if it were an RC file string.
145
146         * gtk/gtkcolorsel.c (gtk_color_selection_class_init): load initial
147         value of palette from settings, not from static variable
148
149         * gdk/x11/gdkevents-x11.c: add color palette, toolbar mode to
150         xsettings translation table
151
152         * gtk/gtktoolbar.c (gtk_toolbar_new): Remove arguments, because 
153         hardcoding the toolbar style conflicts with new customizable 
154         toolbar style philosophy
155         (gtk_toolbar_class_init): add settings for default toolbar style;
156         these are used unless the app specifically forces a toolbar style
157
158         * gtk/gtksettings.c (settings_install_property_parser): only
159         return at the start if we warn and parser == NULL
160
161         * gtk/gtkcolorsel.c (gtk_color_selection_finalize): disconnect the
162         palette changed handler so we don't notify dead color selections
163
164         * gtk/gtkstyle.c (gtk_default_draw_shadow): handle
165         xthickness/ythickness of 0 or 1 properly 
166         (gtk_default_draw_resize_grip): clear the background behind the
167         resize grips, and align to bottom right if we square the 
168         area to be drawn.
169
170         * gtk/gtkstatusbar.c (gtk_statusbar_init): set horizontal usize on 
171         statusbar label to 1, so it doesn't make toplevels resize oddly
172         (gtk_statusbar_size_request): add grip size to request
173         (gtk_statusbar_size_allocate): hack so the hbox still works with 
174         the grip size in the request
175
176         * gtk/gtktoolbar.c (gtk_toolbar_show_all): override to fix 
177         bug where showing all on a toplevel makes the toolbar 
178         button text appear despite the toolbar mode
179
180         * gtk/gtkmenubar.c: add internal padding style property
181
182         * gtk/gtktoolbar.c: Add internal padding style property; add
183         shadow type style property
184
185         * gtk/gtkmenubar.c (gtk_menu_bar_paint): paint box with widget
186         state; and put Container::border_width outside the frame
187
188         * gtk/gtktextview.c: don't draw focus rectangle if we're in
189         interior focus mode, we just use blinking cursor
190
191 2001-06-04  Havoc Pennington  <hp@redhat.com>
192
193         * configure.in: Make gdk-pixbuf have same version number as GTK
194
195 2001-06-04  Havoc Pennington  <hp@redhat.com>
196
197         * gtk/gtkspinbutton.c: Get rid of stupid g_return_if_fail on 
198         digits greater than 6. If there actually are limits (which there
199         likely aren't), should clamp to them not warn.
200         (gtk_spin_button_new_with_range): don't take log of 0
201         (gtk_spin_button_size_request): use digits to compute size
202         request, rather than step increment.
203
204         * tests/testgtk.c (create_spins): test larger values of digits
205         
206         * gtk/gtkfontsel.c (gtk_font_selection_init): scroll to selected
207         font on map not expose, so we don't get weirdness during scrolling
208
209 2001-06-04  Havoc Pennington  <hp@redhat.com>
210
211         * gtk/gtkclist.c (vadjustment_value_changed): Apply fix from
212         Sam Solon, bug #54577, update value even if not drawable.
213
214 2001-06-04  Havoc Pennington  <hp@redhat.com>
215
216         * gtk/gtkrange.c (gtk_range_scroll_event): change SCROLL_RIGHT to
217         SCROLL_LEFT, reported by Thomas Broyer.
218
219 2001-06-04  Havoc Pennington  <hp@redhat.com>
220
221         * gtk/gtkrange.c (gtk_range_adjustment_value_changed): 
222         Process updates immediately, to prevent funny lag effect
223         when scrolling, at some mild potential efficiency cost.
224
225 2001-06-04  Havoc Pennington  <hp@redhat.com>
226
227         * gtk/gtkrange.c (gtk_range_button_press): on middle click, center
228         slider on the click.
229
230 2001-06-03  Havoc Pennington  <hp@pobox.com>
231
232         * gtk/gtkstyle.c (gtk_default_draw_slider): make this special-case
233         hscale/vscale details, so we can use it for scrollbar as well.
234
235         * tests/testgtk.c (reformat_value): honor digits from GtkScale
236
237         * gtk/gtkenums.h (GtkTroughType): Remove this enum
238         (GtkScrollType): add START and END from GtkTroughType
239
240         * gtk/gtkstyle.c (gtk_default_draw_slider): was not properly using
241         its x/y arguments
242
243         * gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkscrollbar.h,
244         gtk/gtkscrollbar.c, gtk/gtkscale.h, gtk/gtkscale.c,
245         gtk/gtkhscrollbar.h, gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.h,
246         gtk/gtkvscrollbar.c, gtk/gtkhscale.h, gtk/gtkhscale.c,
247         gtk/gtkvscale.h, gtk/gtkvscale.c: Rewrite GtkRange and subclasses.
248
249         Notable changes in the process:
250          
251         - stepper_size style property is the height for vertical 
252           ranges, width for horizontal; the other dimension matches
253           the trough size
254         - add ability to do NeXT-style steppers (and several other styles
255           that don't make any sense)
256         - added min_slider_length, fixed_slider_length properties to
257           GtkScrollbar
258         - cleaned some private (or at least useless) functions out of
259           gtkscale.h    
260         - moved bindings to GtkScale from subclasses, even arrow keys,
261           since blind users don't know scale orientation.
262         - change move_slider action signal to use new GtkScrollType,
263           remove GtkTroughType argument
264         - digits rounds the values a range will input to the given 
265           number of decimals, but will not try to force adjustment 
266           values set by other controllers. That is, we no longer
267           modify adjustment->value inside a value_changed handler.
268         - added getters for GtkScale setters
269         - middle-click begins a slider drag
270         
271 Fri Jun  1 18:54:47 2001  Jonathan Blandford  <jrb@redhat.com>
272
273         * gtk/gtktreeview.c: (gtk_tree_view_focus): Initial stab at
274         getting the focus code to work.
275         (gtk_tree_view_class_init): Add a bunch of keybindings.
276
277         * gtk/gtktreeviewcolumn.c
278         (gtk_tree_view_column_set_cell_data_func):
279         s/GtkCellDataFunc/GtkTreeCellDataFunc.
280         (_gtk_tree_view_column_set_tree_view): Use "notify::model" instead
281         of "properties_changed" to help justify the death of the latter
282         signal. (-:
283
284         * tests/testtreefocus.c (main): Let some columns be focussable to
285         test focus better.
286
287 2001-06-01  Havoc Pennington  <hp@redhat.com>
288
289         * gtk/gtkentry.c (gtk_entry_commit_cb): implement overwrite mode
290         
291         * gtk/gtktextview.c (gtk_text_view_commit_handler): don't
292         overwrite in overwrite mode if we already deleted the selection
293         and replaced it with new text.  
294
295         * gtk/gtklabel.c (gtk_label_select_region_index): if you set the
296         selection to an empty range, clear the clipboard if we owned it.
297         (gtk_label_set_selectable): give up selection if we become
298         unselectable.
299         (gtk_label_state_changed): override state changed to unselect text
300         when insensitive
301         (get_text_callback): add paranoia check that indexes aren't
302         outside of label->text
303         (gtk_label_select_region): make -1 for start_offset mean "end of
304         label," for consistency with GtkEditable
305
306         * gtk/gtkmessagedialog.c (gtk_message_dialog_new): honor
307         GTK_DIALOG_NO_SEPARATOR flag
308
309 Fri Jun  1 11:47:11 2001  Owen Taylor  <otaylor@redhat.com>
310
311         * gtk/gtkcombo.c (gtk_combo_set_use_arrows_always): Fix 
312         notifications on non-existant "enable_arrow_keys".
313         (#53753, Skip Montanaro)
314
315 Fri Jun  1 11:31:55 2001  Owen Taylor  <otaylor@redhat.com>
316
317         * gdk/gdkrectangle.c (gdk_rectangle_get_type): Add 
318         GDK_TYPE_RECTANGLE.
319
320         * gtk/gtkwidget.c (gtk_widget_class_init): Fix type
321         of allocation argument be GDK_TYPE_RECTANGLE.
322
323 Thu May 31 12:43:57 2001  Owen Taylor  <otaylor@redhat.com>
324
325         * gtk/gtkoptionmenu.c: Account for the fact that the border
326         width is _outside_ the window. (Fixes #54585, bug found
327         by Bastien Nocera.)
328
329 Wed May 30 15:56:30 2001  Owen Taylor  <otaylor@redhat.com>
330
331         * gtk/gtksettings.c (gtk_settings_get_property): Validate
332         value from GDK settings against parameter spec.
333
334         * gdk/x11/gdkevents-x11.c (gdk_setting_get): Add assignments
335         to temporary values and use g_value_transform(), since
336         thinking that GValue was going to be easy or efficient
337         to use was, of course, a mistake.
338
339         * gtk/gtksettings.c: Add cursor blink setting.
340         
341         * gdk/x11/gdkevents-x11.c: Add cursor blink X settings.
342
343         * gtk/gtkentry.c: Add cursor blinking.
344
345         * gtk/gtktextview.c (gtk_text_view_check_cursor_blink): Use
346         cursor blink global settings.
347
348         * gtk/gtkentry.c (gtk_entry_button_press): Add notification
349         for :text_position in places where it is missing.
350
351 Tue May 29 18:17:11 2001  Owen Taylor  <otaylor@redhat.com>
352
353         * autogen.sh (have_libtool): Fix GNU sedism (#55430)
354
355 Tue May 29 17:40:29 2001  Owen Taylor  <otaylor@redhat.com>
356
357         * configure.in (GTK_DEP_CFLAGS): Use $PKG_CONFIG,
358         not pkg-config. (#51032)
359
360         * gdk/gdkproperty.h: Remove inappropriate G_GNUC_CONST
361         (fixes #51952, James Henstridge)
362         
363 2001-05-27  Alexander Larsson  <alla@lysator.liu.se>
364
365         * gtk/gtkstock.h (GTK_STOCK_GO_UP):
366         Rename to the more correct gtk-go-up.
367
368         * gtk/stock-icons/stock_menu_sort_ascending.png:
369         Added new file.
370         
371         * gtk/stock-icons/stock_menu_sort_descending.png:
372         Changed to show descending instead of ascending.
373
374         * gtk/gtkiconfactory.c:
375         Added menu size icon to sort ascending.
376
377         * gtk/stock-icons/Makefile.am:
378         Added stock_menu_sort_ascending.png.
379         
380         * gtk/gtkseparatormenuitem.c:
381         Use correct typenames.
382
383 Sun May 20 20:07:35 2001  Tim Janik  <timj@gtk.org>
384
385         * gtk/gtksignal.[hc] (gtk_signal_connect_full): make hanlder id a
386         gulong as in GSignal.
387
388 Fri May 25 19:04:17 2001  Jonathan Blandford  <jrb@redhat.com>
389
390         * gtk/gtktreeview.c (gtk_tree_view_calc_size): Remove almost all
391         instances of GtkCellRenderer in code (all but dnd icon code).
392         Virtualized in GtkTreeViewColumn.  Now I need to move focus in
393         there, and I can do multiple Cells per column.
394
395         * gtk/gtktreeviewcolumn.c: Proxy all cell calls correctly
396
397         * gtk/gtktreemodel.c (gtk_tree_row_reference_new_proxy): fix bug
398         when model was unreffed prior to removing the row reference.
399
400 2001-05-25  Havoc Pennington  <hp@redhat.com>
401
402         * gtk/gtkiconfactory.c: fix so that default icons are created if 
403         you call gtk_stock_list_ids()
404
405         * demos/gtk-demo/stock_browser.c (create_model): sort stock items
406         in list
407
408 2001-05-25  Havoc Pennington  <hp@redhat.com>
409
410         * gtk/gtkiconfactory.c (gtk_icon_set_get_sizes): get sizes an icon
411         set can render without falling back to missing image icon
412
413         * gtk/gtktextview.c (gtk_text_view_size_request): request full
414         size of text, instead of random values
415
416         * gtk/gtktreeview.c (gtk_tree_view_size_request): request full
417         size of tree view, instead of random values
418
419         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): render fallback
420         image in an appropriate size
421
422         * gtk/gtkstock.h: Rename the stock items including _BUTTON_,
423         etc. not to include that. i.e. s/GTK_STOCK_BUTTON_OK/GTK_STOCK_OK/
424
425         Throughout: fix GTK_STOCK_BUTTON_ instances
426         
427         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
428         gtk/gtkiconfactory.c, gtk/stock-icons/Makefile.am:
429         Add a bunch of new stock items/icons
430
431         * gtk/gtktreeview.c (gtk_tree_view_insert_column_with_data_func):
432         new function, convenience for inserting columns with a data func
433
434         * gtk/gtkiconfactory.c: keep a list of all existing icon factories
435         (_gtk_icon_factory_list_ids): use list of all factories to
436         generate a list of all known IDs
437
438         * gtk/gtkstock.c (gtk_stock_list_ids): replace
439         gtk_stock_list_items() with a function that returns all IDs known
440         including those for GtkIconFactory.
441
442 2001-05-25  Hans Breuer  <hans@breuer.org>
443
444         * gdk/win32/gdkgc-win32.c : made fil mode GDK_STIPPLED actually
445         work -> check boxes and radio buttons are drawn now, even on win9x.
446         Improved line settings a bit, still no clue how to get really dotted
447         lines on win9x, on NT it's PS_ALTERNATE.
448
449         * gdk/win32/gdkwindow-win32.c : use SafeAdjustWindowRect for 
450         GDK_HINT_MIN_SIZE as well
451
452         * gdk/win32/makefile.am : added gdkkeys-win32.c to EXTRA_DIST
453
454         * gtk/gtk.def : updated
455
456         * gtk/gtktreeprivate.h : change column_drop_func to be a function
457         pointer not a function pointer pointer
458
459         * tests/testdnd.c : include <stdlib.h> for putenv prototype
460
461         * tests/testsocket.c : made it compile on win32 again
462
463         * tests/makefile.msc : one more test-app uses prop-editor.obj
464
465 2001-05-22  Havoc Pennington  <hp@pobox.com>
466
467         * gtk/gtkbin.c (gtk_bin_get_child): New function
468
469 Wed May 23 20:07:53 2001  Owen Taylor  <otaylor@redhat.com>
470
471         * gtk/gtkimcontextsimple.c: Add Mode_Switch to list of keys
472         to ignore when doing compose processing.
473
474 2001-05-22  Joe Shaw  <joe@ximian.com>
475
476         * gtk/gtktextiter.c (_gtk_text_btree_get_iter_at_last_toggle): 
477         Simplify as suggested by Havoc. Just get the last iter and work
478         backward to the tag instead of getting a line and working back from
479         there. Fixes passing in an invalid offset to
480         iter_init_from_byte_offset().
481
482 Tue May 22 16:25:27 2001  Jonathan Blandford  <jrb@redhat.com>
483
484         * gtk/gtktreeview*.h: 
485         * gtk/gtkcell*.h:
486         * gtk/gtk*store.h:
487         Added patch from Jeff Franks <jcf@tpg.com.au> to add GET_CLASS
488         macros to all objects.
489
490 Tue May 22 15:13:52 2001  Jonathan Blandford  <jrb@redhat.com>
491
492         * gtk/gtkcellrenderertext.c
493         (gtk_cell_renderer_text_set_fixed_size): Evil function to deal
494         with very large (TM) amounts of text.  May be moved to
495         GtkCellRenderer in the future, though I'm not sure it wants to be
496         this accessible.
497
498         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_update_button):
499         More sanity brought to this class.  I like it.
500
501         * tests/testtreecolumns.c (ViewColumnModel): Amazingly scary test
502         case.  Kids, don't try this at home.
503
504         * gtk/gtktreemodel.c (gtk_tree_model_get_iter_root): new
505         convenience function.
506
507         * gtk/gtkwindow.c (gtk_window_set_geometry_hints): Fix typo in docs.
508
509 2001-05-21  Alexander Larsson  <alexl@redhat.com>
510
511         * gtk/gtkfontsel.c:
512         Added properties. Based on patch by Lee Mallabone.
513
514         * gtk/gtkruler.c:
515         * gtk/gtkhruler.c:
516         * gtk/gtkvruler.c:
517         * gtk/gtktext.c:
518         * gtk/gtktextview.c:
519         Converted GtkArg to GParam. Based on patches by John Margaglione.
520
521         * tests/Makefile.am:
522         * tests/testtext.c:
523         Add a property editor to testtext.
524         
525 Mon May 21 11:29:21 2001  Owen Taylor  <otaylor@redhat.com>
526
527         * gtk/gtk{h,v,}paned.c: Only show the separator if 
528
529         * configure.in: Fixed reversed conditional causing all image
530         libraries to be linked in.
531
532 2001-05-21  Joe Shaw  <joe@ximian.com>
533
534         * gtk/gtklayout.c (gtk_text_layout_get_lines): Remove the assertion
535         that top_y needs to be >= 0.
536
537 2001-05-11  Havoc Pennington  <hp@pobox.com>
538         
539         * gdk/x11/gdkmain-x11.c: Improve error messages for X errors and
540         losing connection to the X server.
541
542 Sun May 20 13:59:20 2001  Owen Taylor  <otaylor@redhat.com>
543
544         * configure.in: Start checks for X from pangox/pangoxft
545         CFLAGS to avoid duplicate libraries.
546
547         * gdk/Makefile.am (LDFLAGS): Remove extra -lm.
548
549         * configure.in (GDK_PIXBUF_PACKAGES): Fix GDK_PIXBUF_PACKAGES
550         to include gobject.
551         
552 2001-05-18  Alexander Larsson  <alexl@redhat.com>
553
554         * gtk/gtkspinbutton.c:
555         Convert GtkArgs to GParams. Based on patch by John Margaglione.
556         Also do size request reasonable for MAXDOUBLE. Previously it printed
557         the limits to a buffer and overran it. Instead do it using log10() and
558         limit the width to 10 digits.
559         
560         * gtk/gtkwidget.c (gtk_widget_get_property):
561         Correctly handle setting the parent property to NULL.
562
563 Fri May 18 15:26:26 2001  Owen Taylor  <otaylor@redhat.com>
564
565         * gtk/gtktextview.c (gtk_text_view_style_set): Reset 
566         style attributes even if the widget isn't realized.
567
568         * demos/gtk-demo/main.c: Use a slightly smaller font.
569
570 Fri May 18 14:25:20 2001  Owen Taylor  <otaylor@redhat.com>
571
572         * gtk/gtkcontainer.c: Remove reallocate-redraws property.
573         This is something that only a widget writer would ever want
574         to change.
575
576         * gtk/gtksignal.c: Handle G_SIGNAL_TYPE_STATIC_SCOPE for
577         gtk_signal_emit_by_name().
578
579         * gtk/gtkviewport.c: Fix some warnings.
580
581         * gtk/gtkwidget.c gtk/gtksizegroup.c: Add "size group" facility
582         allowing the requisitions of multiple widgets to be grouped
583         together.
584
585         * tests/testgtk.c: Add GtkSizeGroup test
586
587         * demos/gtk-demo/sizegroup.c: Add GtkSizeGroup demo.
588
589         * demos/gtk-demo/main.c demos/gtk-demo/pixbufs.c: Fix some
590         warnings.
591
592         * configure.in: Switch to using AM_GLIB_GNU_GETTEXT.
593
594 2001-04-28  Martin Baulig  <baulig@suse.de>
595
596         * gtk/gtkimagemenuitem.[ch]: Renamed gtk_image_menu_item_add_icon()
597         to gtk_image_menu_item_set_icon() and made it work if there's already
598         an image.
599         (gtk_image_menu_item_new): This function doesn't take any arguments anymore.
600         (gtk_image_menu_item_new_with_label): New function.
601
602 Thu May 17 16:20:04 2001  Jonathan Blandford  <jrb@redhat.com>
603
604         * demos/gtk-demo/main.c (fontify): It's the worlds ugliest
605         highlighting code!!!!  The result is okay so long as you don't try
606         to stress it.  It also highlights a bug in the TextView so it's in
607         an unproportional font right now until it's fixed.
608
609         *demos/gtk-demo/*.c: Clean up code a bit to make it
610         ugly-parser(TM) friendly. (-:
611
612 2001-05-17  Joe Shaw  <joe@ximian.com>
613
614         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove the assertions
615         that x_offset and y_offset must be >= 0. Clip the cursor being drawn
616         if it is only partially onscreen.
617
618 Thu May 17 17:10:13 2001  Owen Taylor  <otaylor@redhat.com>
619
620         * gtk/gtkentry.c: Make logical motion and deletion by graphemes, 
621         not by characters.
622
623         * gtk/gtkentry.c: Handle "trailing" returns from Pango when they
624         are not zero or one; that is, when graphemes of multiple characters
625         are involved.
626
627         * gtk/gtktextlayout.c (line_display_index_to_iter): Remove unnecessary
628         FIXME.
629
630 2001-05-17  Alexander Larsson  <alla@lysator.liu.se>
631         
632         * gtk/gtkbbox.c:
633         Add properties, based on patch by Lee Mallabone.
634
635         * gtk/gtknotebook.c:
636         * gtk/gtktoolbar.c:
637         Convert from GtkArg to GParam, based on patch by John Margaglione.
638         
639         * gtk/gtkhscale.c:
640         * gtk/gtkvscale.c:
641         * gtk/gtkhscrollbar.c:
642         * gtk/gtkvscrollbar.c:
643         * gtk/gtkrange.c:
644         Move adjustment property to GtkRange.
645
646         * gtk/gtklabel.c:
647         Setup mnemonics on property changes
648
649         * gtk/gtkwidget.c (gtk_widget_get_property):
650         GdkExtensionMode is an enum, not a flag. Set it with
651         g_value_set_enum ().
652
653         * tests/prop-editor.c:
654         Better propery editor.
655
656         * tests/testgtk.c:
657         Add new property test. Pass zero to the property editor to
658         get properties from all derived types.
659         
660 Sun May 13 12:01:12 2001  Owen Taylor  <otaylor@redhat.com>
661
662         * autogen.sh (have_automake): Require libtool-1.4,
663         automake-1.4p1.
664
665         * acinclude.m4: Remove libtool macros.
666
667         * gdk-pixbuf/Makefile.am: Add dependencies to loade
668         modules.
669
670         * gdk/Makefile.am: Add dependency on libgdk_pixbuf.la
671         for libgdk.
672
673         * gtk/Makefile.am: Add dependency on libgdk_pixbuf.la
674         libgdk.la for libgtk.
675
676         * modules/input/Makefile.am: Make modules have full
677         dependencies.
678
679 Wed May 16 14:06:01 2001  Jonathan Blandford  <jrb@redhat.com>
680
681         * gtk/gtktreemodel.c (gtk_tree_path_new_from_string): fix bug
682         #54699 where paths weren't being checked for correctness.
683
684 Tue May 15 20:13:24 2001  Jonathan Blandford  <jrb@redhat.com>
685
686         * gtk/gtktreeviewcolumn.c: You can now set all sorts of properties
687         in any order you wan, whether or not the column is added to the
688         tree, or the tree is realized.  Yay!
689
690         * gtk/gtktreeviewcolumn.c
691         (gtk_tree_view_column_setup_sort_column_id_callback): handle
692         sorting columns a lot saner
693
694         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_reorderable):
695         new function to actually set wether or not a column is
696         reorderable.
697
698         * gtk/gtktreeview.c (gtk_tree_view_unrealize): Only destroy things
699         if we have 'em.
700
701         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_set_tree_view):
702         Fix nasty bug where we were showing the button just before
703         realizing it.  As a result, the parent window was
704         tree_view->window instead of tree_view->priv->header_window.
705
706         * gtk/gtktreeview.c (gtk_tree_view_set_reorderable): new property
707         to let you easily reorder a list or tree.
708
709 2001-05-15  Alexander Larsson  <alla@lysator.liu.se>
710
711         * gtk/gtkpacker.c: Apply patch from John Margaglione that converts
712         from args to properties.
713
714 Tue May 15 10:11:59 2001  Owen Taylor  <otaylor@redhat.com>
715
716         * gtk/gtkpreview.c: Apply patch from John Margaglione converting
717         from args to properties. (#51957)
718
719         * gtk/gtkscale.c (gtk_scale_class_init): Move install property
720         calls to after ->set_property call.
721
722 Mon May 14 14:56:21 2001  Owen Taylor  <otaylor@redhat.com>
723
724         * tests/prop-editor.c: Block against redundant changes.
725
726         * gtk/gtkpaned.c gtk/gtk[hv]paned.c: Add position, position_set
727         properties.
728
729 Sun May 13 18:40:04 2001  Owen Taylor  <otaylor@redhat.com>
730
731         * gdk/gdkpixmap.h: Remove creative formatting.
732
733 Thu May 10 19:22:28 2001  Owen Taylor  <otaylor@redhat.com>
734
735         * gtk/gtktogglebutton.c:  Patch from John Margaglione converting to
736         property API. (#51669)
737
738         * gtk/gtkscale.c: Patch from John Margaglione converting to
739         property API. (#51891)
740
741         * gtk/gtkaccellabel.c: Applied patch from Lee Mallabone, converting
742         to property API. (#50985)
743
744 Fri May 11 20:13:44 2001  Tim Janik  <timj@gtk.org>
745
746         * gtk/gtkmain.c (gtk_main_do_event): remember widget's double
747         buffering state across expose event, so we still call end_paint().
748
749 2001-05-11  Alexander Larsson  <alexl@redhat.com>
750
751         * gtk/gtkhsv.c (paint_triangle):
752         Expose the ring in the triangle at the correct place when
753         exposing just a part of the triangle.
754
755         * gtk/gtkwindow-decorate.c (gtk_decorated_window_focus_change):
756         Return FALSE, or window focusing will not work.
757
758 2001-05-11  Havoc Pennington  <hp@pobox.com>
759
760         * gtk/gtkimage.c (gtk_image_new_from_stock): docs, fixes bug
761         #54144
762
763         * gtk/gtkcolorsel.c (gtk_color_selection_new): docs, fixes
764         bug #54330
765
766 Fri May 11 02:53:57 2001  Tim Janik  <timj@gtk.org>
767
768         * gtk/gtktogglebutton.c (gtk_toggle_button_expose): don't
769         propagate exposes to NULL child.
770
771         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed): guard
772         against not having one of the scrollbars.
773
774         * gtk/gtklabel.c (gtk_label_setup_mnemonic): clean up after us,
775         we don't keep a mnemonic window if we have no mnemonic installed.
776
777 Fri May 11 01:05:00 2001  Tim Janik  <timj@gtk.org>
778
779         * gtk/gtktypeutils.h: grum, gtk_type_class() is not GNUC_CONST
780         it has the _important_ side effect of initializing a class.
781
782 2001-05-10  Alexander Larsson  <alexl@redhat.com>
783
784         * gdk/linux-fb/gdkprivate-fb.h:
785         Make sure you can compile out the implementation/wrapper assert
786         macros.
787
788         * gdk/linux-fb/gdkdrawable-fb2.c:
789         Check implementation/wrappers, initialize type for pixmap dummys.
790
791         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image):
792         Hide the cursor if reading from the screen.
793
794         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic):
795         Fix sign bug in tiling code.
796
797         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
798         Handle background pixmaps.
799
800 Wed May  9 15:27:22 2001  Jonathan Blandford  <jrb@redhat.com>
801
802         * gtk/gtktreeview.c (gtk_tree_view_set_column_drag_function): New
803         function to let user control where columns are dragged.
804
805         * gtk/gtktreeview.c (gtk_tree_view_key_press): Cancel drags if
806         Escape is pressed.
807
808 Wed May  9 09:08:44 2001  Jonathan Blandford  <jrb@webwynk.net>
809
810         * gtk/gtktreeview.c (gtk_tree_view_class_init): New
811         "columns_changed" signal.
812         (gtk_tree_view_motion_draw_column_motion_arrow): Change column
813         motion code to draw arrows to the side if indicator is outside the
814         widget.
815         (gtk_tree_view_map_expanded_rows): Implement.
816
817 2001-05-07  Alexander Larsson  <alexl@redhat.com>
818
819         * demos/testpixbuf-save.c: 
820         * demos/testpixbuf-drawable.c:
821         Include gdkfb.h on linux-fb.
822
823 2001-05-07  Alexander Larsson  <alexl@redhat.com>
824
825         * gdk/linux-fb/gdkdnd-fb.c (get_toplevel_window_at):
826         New function for getting toplevel window at position.
827         (gdk_drag_find_window): Use get_toplevel_window () instead
828         of gdk_window_get_pointer(). (gdk_drag_status): Use
829         correct context for getting window.
830
831         * gdk/linux-fb/gdkproperty-fb.c (gdk_atom_name):
832         g_strdup the atom name.
833
834         * gdk/linux-fb/gdkwindow-fb.c:
835         Costmetic fix.
836
837         * gtk/gtkdnd.c (gtk_drag_source_handle_event):
838         Add code for changing cursor on linux-fb backend (same as
839         win32).
840
841 2001-05-07  Federico Mena Quintero  <federico@ximian.com>
842
843         * gtk/gtkwindow.c (gtk_window_focus): Test for bin->child being
844         present before doing anything with it.  Patch from HÃ¥vard KvÃ¥len
845         <havardk@netcom.no>.  Fixes Ximian bugzilla #2492 (OK, the bug
846         report was not for the development branch of GTK+, but it applies
847         anyways).
848
849 2001-05-04  Havoc Pennington  <hp@redhat.com>
850
851         * configure.in: fix some shell typos
852
853         * gtk/gtkcolorsel.c (gtk_color_selection_destroy): warning fix
854
855         * gtk/gtkimage.c: handle animations
856
857         * gtk/gtkcheckbutton.c (gtk_check_button_size_request): request
858         border_width * 2, not just border_width
859
860         * gtk/gtkscale.c: add "format_value" signal to allow people
861         to override the way values are drawn.
862         (gtk_scale_get_value_size): fix width/height mistake,
863         and compute size from actual displayed text, not 
864         from made-up text.
865
866         * gtk/gtktexttag.c (gtk_text_tag_class_init): fix return type in 
867         signal registration
868
869         * tests/testtext.c: Add "Remove all tags" menu item for testing
870
871         * gtk/gtktextbuffer.c (gtk_text_buffer_remove_all_tags): implement
872
873         * demos/gtk-demo/main.c (main): add hack so we can find modules
874         without installing gtk
875
876         * demos/gtk-demo/textview.c (insert_text): demo font scaling
877
878         * gtk/gtkcellrenderertext.c: Add "scale" property (font scaling
879         factor)
880         (gtk_cell_renderer_text_set_property): remove some bogus
881         g_object_notify
882
883         * gtk/gtktexttag.c: add "scale" property which is a font scaling
884         factor
885
886         * gtk/gtktextlayout.c (add_text_attrs): add font scale attribute 
887         to layout
888
889         * gtk/gtktextiter.c (gtk_text_iter_is_start): rename from
890         gtk_text_iter_is_first
891
892 2001-01-06  Hans Breuer  <hans@breuer.org>
893
894         * gdk/gdk.def : updated exports
895
896         * gdk/win32/makefile.msc : -DGDK_ENABLE_BROKEN otherwise
897         gdk won't compile anymore
898  
899         * gdk/win32/gdkevents-win32.c : initialize ret_val when
900         processing GDK_FILTER functions, initialize event.key->hardware_keycode.
901         Improved gdk_flush () to not only do pending drawing operations
902         but also process all currently pending events. This should make
903         the behaviour more similar to the X11 version.  
904
905         * gdk/win32/gdkgc-win32.c (predraw_set_background) : a background
906         option needs to be set even if there is no GDK_GC_BACKGROUND.
907         (gdk_win32_hdc_get) : use predraw_set_background () independent
908         of value_mask. This allows to draw dashed lines leaving the original
909         background intact.
910
911         * gdk/win32/gdkimage-win32.c (gdk_image_new_bitamp) : free data
912         after processing, because we can't reuse it as the X11 version does.
913
914         * gtk/gtk.def : updated exports
915
916         * gtk/makefile.msc.in : added ATK, removed all test apps. (I
917         would like to get rid of this file again, and use straight
918         makefile.msc again, as the other Gtk+ subdirs do)
919
920         * test/makefile.msc (new file) : build the test apps here
921
922 2001-05-05  ERDI Gergo  <cactus@cactus.rulez.org>
923
924         * gdk/gdkpango.c (gdk_pango_get_item_properties): Peek
925         strike-through setting
926         (gdk_draw_layout_line_with_colors): Render strike-through
927
928 Sat May  5 10:06:24 2001  Owen Taylor  <otaylor@redhat.com>
929
930         * Release 1.3.5
931
932         * configure.in (GTK_MICRO_VERSION): Up to 1.3.5
933
934         * NEWS: Updated
935
936         * demos/gtk-demo/Makefile.am (EXTRA_DIST): Fix minor
937         Makefile breakage.
938
939 Sat May  5 09:18:30 2001  Owen Taylor  <otaylor@redhat.com>
940
941         * demos/gtk-demo/images.c (progressive_timeout): Fix
942         typo in filename.
943
944         * gtk/gtktreeview.c (gtk_tree_view_row_activated): Comment
945         out FIXME warning; just too annoying.
946
947 2001-05-04  Alex Larsson  <alla@lysator.liu.se>
948
949         * gdk/linux-fb/gdkcolor-fb.c:
950         Better error messages.
951
952         * gdk/linux-fb/gdkpixmap-fb.c (gdk_pixmap_new):
953         Initialize abs_x and abs_y.
954         
955         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic):
956         Correct handling of stipple offset.
957
958         * gdk/linux-fb/gdkvisual-fb.c (gdk_visual_init):
959         Treat directcolor framebuffers as truecolor.
960         
961 Thu May  3 14:13:49 2001  Owen Taylor  <otaylor@redhat.com>
962
963         * INSTALL.in HACKING gtk/gtkaccessible.[ch] gtk/gtk.c: Add
964         dependency on Atk for accessibility support.
965
966         * configure.in **/Makefile.am: Major reworking of substituted
967         variables for CFLAGS/LIBS to make a lot more sane and 
968         keep the the compile/link lines a bit shorter.
969
970         * gdk/x11/gdkkeys-x11.c: Fix #endif with trailing stuff.
971
972 Thu May  3 08:10:54 2001  Owen Taylor  <otaylor@redhat.com>
973
974         * gtk/gtktexttag.c (gtk_text_tag_class_init): Fix return
975         value to be G_TYPE_BOOLEAN, not G_TYPE_INT, also,
976         use _gtk_boolean_handled_accumulator.
977
978 Thu May  3 07:00:09 2001  Owen Taylor  <otaylor@redhat.com>
979
980         * gtk/gtktextview.c: Patch from Juan Pablo Mendoza Mendoza
981         to fix things so clicking inside selection leaves cursor
982         at point where clicked. (#50324)
983
984         * gtk/gtksettings.c (gtk_settings_class_init): Restore
985         sane value for default double click time.
986
987         * tests/testtext.c (test_init): Really path to input modules.
988
989 2001-05-03  Sven Neumann  <sven@convergence.de>
990
991         * demos/testpixbuf-save.c: include target-specific headers as
992         done in testpixbuf-drawable.c
993
994 Wed May  2 20:36:38 2001  Owen Taylor  <otaylor@redhat.com>
995
996         * gtk/gtkentry.c (gtk_entry_real_insert_text): Reduce
997         new_text_length appropriately when we run into the 
998         size limit for the entry. (#53445, reported by Jeff Franks)
999
1000         * tests/testgtk.c (create_entry): Remove most of the
1001         property toggle buttons. Replace with a "Props" button
1002         that brings up a property editor.
1003
1004         * tests/prop-editor.[ch] test/testtreeview.c tests/Makefile.am:
1005         Split the property editor code out for reuse, improve.
1006
1007 Wed May  2 17:26:22 2001  Owen Taylor  <otaylor@redhat.com>
1008
1009         * gdk/x11/gdkevents-x11.c gdk/x11/gdkwindow-x11.c: Always
1010         trap errors around calls to XSetInputFocus since we have
1011         no way of knowing reliably whether we are viewable or
1012         not. (#53947)
1013
1014 Tue May  1 09:21:23 2001  Jonathan Blandford  <jrb@webwynk.net>
1015
1016         * gtk/gtktreeview.c (gtk_tree_view_button_release_drag_column):
1017         fix bug in dropping columns.  Moving columns now basically works
1018         modula some fine tuning.
1019
1020 Tue May  1 19:09:21 2001  Jonathan Blandford  <jrb@redhat.com>
1021
1022         * gtk/gtktreeview.c (gtk_tree_view_horizontal_autoscroll): Add
1023         autoscroll support.  It mostly works, but could use some fine
1024         tuning.
1025         * gtk/gtktreeview.c (gtk_tree_view_button_release_drag_column):
1026         Actually move the column.
1027
1028 Mon Apr 30 20:29:27 2001  Owen Taylor  <otaylor@redhat.com>
1029
1030         * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtkoptionmenu.c 
1031           gtk/gtkspinbutton.c gtk/gtkstyle.c gtk/gtkwidget.c:
1032           New default theme! A slighly improved version of the 2.0 Raleigh
1033           theme, with Windows-esque focus/drawing default. 
1034           (GtkWidget::interior_focus defaults to TRUE.)
1035
1036         * gtk/gtkstyle.[ch]: Add a text_aa color halfway between text and base.
1037
1038 2001-04-30  Havoc Pennington  <hp@pobox.com>
1039
1040         * tests/testtext.c (line_numbers_expose): fix to work with
1041         gtk_paint_layout change
1042
1043 Mon Apr 30 19:18:07 2001  Owen Taylor  <otaylor@redhat.com>
1044
1045         * gtk/gtkstyle.[ch] gtk/gtkaccellabel.c gtk/gtkcellrenderertext.c
1046           gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c gtk/gtkprogressbar.c
1047           gtk/gtkvruler.c gtk/gtkvscale.c: Add an extra parameter
1048           use_text to gtk_paint_label() to deal with style->bg[] vs style->text[].
1049
1050         * gtk/gtkbbox.c gtk/gtkdialog.c: Tweak padding some to deal
1051           with GtkWidget::interior_focus = TRUE better.
1052
1053         * gtk/gtkbutton.c: Switch ::default_spacing to ::default_border,
1054         ::default_outside_border for more flexibility.
1055
1056         * gtk/gtkwidget.c (gtk_widget_style_get_valist): Remove 
1057         G_VALUE_NO_COPY_CONTENTS, to correspond with the recent
1058         change that had to be made with g_object_get.
1059
1060 Sun Apr 29 20:13:40 2001  Jonathan Blandford  <jrb@redhat.com>
1061
1062         * gtk/gtktreeview.c (gtk_tree_view_get_columns): new function.
1063         (gtk_tree_view_move_column_after): Clean up interface. 
1064
1065 Sun Apr 29 03:02:02 2001  Tim Janik  <timj@gtk.org>
1066
1067         * gtk/gtkpacker.h:
1068         * gtk/gtkenums.h: moved GtkAnchorType and GtkSideType from gtkpacker.h
1069          to gtkenum.h.
1070
1071         * gtk/gtkmain.c (gtk_main_do_event): silence compiler (GDK_SETTING not
1072         handled in switch).
1073
1074         * gtk/Makefile.am:
1075         (gtk.defs): generate enum portions with  glib-mkenums.
1076         (gtktypebuiltins_evals.c): generate this with glib-mkenums.
1077         got rid of makeenums.pl and makeenums.awk in distributed tarballs.
1078         
1079         * gtk/gtkaccelgroup.c (gtk_accel_group_add): refined havocs warning
1080         addition.
1081
1082         * docs/Changes-2.0.txt: keep a note on signal handlers now
1083         not getting emitted during the emission they were connected within.
1084
1085 2001-04-28  Havoc Pennington  <hp@pobox.com>
1086
1087         * gtk/gtkcolorsel.c (palette_new): fix bug in tooltip
1088
1089 2001-04-24  Havoc Pennington  <hp@redhat.com>
1090
1091         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_previous_line): 
1092         (gtk_text_layout_move_iter_to_next_line): fix these two for
1093         invisible text, lots of other stuff still hosed.
1094
1095         * gtk/gtkcolorsel.c (gtk_color_selection_set_change_palette_hook):
1096         new function, replaces the get/set palette stuff. This function 
1097         is intended for use by libgnomeui which should set the hook to a
1098         thing which sets the palette in GConf, and we need the
1099         GConf-to-xsettings proxy which will result in the change being
1100         propagated back to the GTK app.
1101
1102         * gtk/gtkaccelgroup.c (gtk_accel_group_add): add note to warning 
1103         about unusable signals that it may be because the signal has 
1104         parameters.
1105
1106         * gtk/gtkwidget.c (gtk_widget_modify_style): always copy the
1107         style, otherwise gtkrc.c won't know to create a new GtkStyle for
1108         it.
1109         (gtk_widget_modify_color_component): call
1110         gtk_widget_modify_style() so the rc style will get copied.
1111         (gtk_widget_modify_font): ditto
1112
1113         * gtk/gtkrc.c: make a couple variables static
1114
1115         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): hide
1116         help button by default, since it does nothing
1117
1118         * gtk/gtkcolorsel.c: add tooltips, work on key navigation, fool
1119         around with UI
1120
1121         * gtk/gtkentry.c (gtk_entry_realize): request enter/leave notify
1122         so we can have tooltips
1123
1124         * gtk/gtkhsv.c (gtk_hsv_realize): request enter/leave notify so we
1125         can have tooltips
1126
1127         * gdk/gdkimage.h: mark gdk_image_new_bitmap with
1128         GDK_ENABLE_BROKEN, because its memory behavior is completely
1129         hosed.
1130
1131         * gtk/gtknotebook.c: remove key press handler, replace with
1132         binding set, add numeric keypad support
1133
1134         * gtk/gtktextview.c (gtk_text_view_class_init): accept KP_Delete
1135
1136         * gtk/gtktext.c (gtk_text_key_press): add a bunch of KP keysyms
1137
1138         * gtk/gtkentry.c (gtk_entry_class_init): accept GDK_KP_Delete in
1139         addition to plain Delete
1140
1141         * gtk/gtktextview.c (gtk_text_view_key_press_event): accept
1142         GDK_KP_Enter in addition to GDK_Return
1143
1144         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): connect to
1145         activate on entry instead of key press
1146         (gtk_font_selection_on_clist_key_press): get
1147         rid of this signal handler, not needed with new font sel.
1148
1149         * gtk/gtkfilesel.c (gtk_file_selection_key_press): remove a
1150         no-longer-needed emit_stop_by_name(), just return TRUE
1151
1152         * gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.c: remove keybindings
1153         cruft, this widget is no longer focusable.
1154
1155         * gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkvscale.c,
1156         gtk/gtkhscale.c: Get rid of trough_keys virtual function, add
1157         move_slider action signal, add binding set for vscale/hscale, in
1158         the process support numeric keypad
1159
1160         * gtk/gtkentry.c (gtk_entry_class_init): Add keypad bindings; 
1161         make GDK_Return and GDK_KP_Enter activate the entry via 
1162         binding set, instead of hardcoded.
1163
1164 Fri Apr 27 20:27:21 2001  Jonathan Blandford  <jrb@redhat.com>
1165
1166         * gtk/gtktreeview.[hc]: Massive reorder/cleanup of a lot of the
1167         code.  Some documentation added.
1168
1169 2001-04-27  Havoc Pennington  <hp@redhat.com>
1170
1171         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fix warning
1172
1173         * gtk/gtkmessagedialog.c (gtk_message_dialog_init): make messages selectable
1174
1175         * gtk/gtkentry.c (gtk_entry_real_insert_text): don't strip
1176         line/para separators
1177         (gtk_entry_create_layout): set single paragraph mode on the layout
1178
1179         * gtk/gtkbutton.c (gtk_button_new_from_stock): don't put much
1180         spacing between the image and label; instead, inside a button box 
1181         the button will get extra space that will go there, but if people 
1182         configure button box for 0 chubbiness, then there's no spacing.
1183
1184         * gtk/gtkbbox.c (gtk_button_box_class_init): Make child ipadding
1185         and min/max size style properties, so people can tune their
1186         chubbiness.
1187
1188         * tests/testgtk.c (make_toolbar): remove calls to removed toolbar
1189         functions
1190
1191         * gtk/gtktoolbar.c (gtk_toolbar_class_init): Make space_size,
1192         space_style, and button_relief into style properties, remove
1193         functions for setting them
1194         
1195         * gtk/gtkmenu.c (gtk_menu_key_press): handle menu bar accel to pop 
1196         it back down
1197
1198         * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): free boxed
1199         types from gtk_widget_style_get
1200
1201         * gtk/gtkmenubar.c (gtk_menu_bar_set_shadow_type): Remove, replace
1202         with a style property.
1203
1204         * gdk/x11/gdkevents-x11.c: namespace the settings
1205
1206         * gtk/gtkmenubar.c: Add F10 accelerator to move between menubars.
1207
1208         * gtk/gtksettings.c (gtk_settings_class_init): remove code with
1209         side effects from inside g_assert(), so that G_DISABLE_ASSERT can
1210         be used. Also, translate doc strings for settings. Also, namespace
1211         the double-click-time property. Also, remove bell properties crap.
1212
1213 2001-04-27  Sven Neumann  <sven@gimp.org>
1214
1215         * Makefile.am: before creating links, check if pkg-config files
1216         exist for the default target. Otherwise link to the pkg-config files
1217         that got installed with this build.
1218
1219 Thu Apr 26 19:11:46 2001  Jonathan Blandford  <jrb@redhat.com>
1220
1221         * gtk/gtktreeview.c (gtk_tree_view_motion): clean up column
1222         dragging code.  Revealed some (potential) GdkWindow bugs.
1223
1224         * gdk/x11/gdkwindow-x11.c (gdk_window_reparent): add
1225         _gdk_window_init_position to the end of reparent to fix the case
1226         of reparenting when new_x != old_x and new_y != old_y.
1227
1228 Thu Apr 26 10:54:50 2001  Owen Taylor  <otaylor@redhat.com>
1229
1230         * gtk/gtkentry.c (strstr_len): Fix optimization that
1231         was correct for the use here, but completely incorrect
1232         in general.
1233
1234 Thu Apr 26 10:40:41 2001  Owen Taylor  <otaylor@redhat.com>
1235
1236         * gtk/gtkwindow.h: Remove deprecation of gtk_window_set_default_size()
1237         until patch adding gtk_window_set_size() is recommitted. 
1238
1239         * **Makefile.am configure.in gdk/x11/gdkim-11.c
1240           gtk/gtkmain.c gtk/gtkimmulticontext.c gtk/gtkmain.c
1241           gtk/gtkrc.c: Remove all traces of -DX_LOCALE support.
1242           (#10784)
1243
1244 Wed Apr 25 12:16:36 2001  Owen Taylor  <otaylor@redhat.com>
1245
1246         * gdk/X11/gdkevents-x11.c (gdk_event_translate): Test for 
1247         window == NULL in a number of cases.
1248
1249         * tests/testdnd.c: Set module path for gdk-pixbuf.
1250
1251 Thu Apr 19 16:11:07 2001  Owen Taylor  <otaylor@redhat.com>
1252
1253         * gtk/Makefile.am xembed.h: File containing #defines
1254         for XEMBED protocol.
1255
1256         * gtk/gtkplug.[ch] gtk/gtksocket.[ch]: 
1257
1258         - Change protocol from old plug/socket specific protocol
1259           to XEMBED draft
1260         - Various fixes to work with GTK+-2.0
1261
1262         Still quite a bit of work to do here to handle initiation
1263         from the socket side (as specified by XEMBED), to handle
1264         the more advanced features of XEMBED, and to figure out
1265         a good way to handle same-app embedding with less overhead
1266         than using full XEMBED.
1267
1268 Wed Apr 18 16:04:28 2001  Owen Taylor  <otaylor@redhat.com>
1269
1270         * gtk/gtkwindow.[ch] (gtk_window_real_set_focus): Keep
1271         track of whether the toplevel has the focus; only send
1272         focus-in events to the focus widget when the window
1273         actually has the focus.
1274
1275 2001-04-25  Havoc Pennington  <hp@pobox.com>
1276
1277         * gtk/gtkwindow.h: set_decorations_hint and set_functions_hint
1278         were still in the header
1279
1280 2001-04-24  Alexander Larsson  <alexl@redhat.com>
1281
1282         * gtk/gtkclist.[ch]:
1283         * gtk/gtkctree.c:
1284         When there is a row highlighted for D'n'D it must alse
1285         be painted hightlighted on exposes. Otherwise exposes from
1286         the icon being dragged will mess up the hightlight.
1287
1288         * gtk/gtkfontsel.c:
1289         Don't recenter selected font when exposing the font family
1290         clist. This means you can now actually scroll the font family
1291         list.
1292
1293         * gtk/gtknotebook.c:
1294         Fix focus movement on scrolling tabs that are placed on the left
1295         and right.
1296
1297 2001-04-21  Havoc Pennington  <hp@pobox.com>
1298
1299         * gtk/gtktextdisplay.c (gtk_text_layout_draw): handle 0-height
1300         empty/invisible lines.
1301
1302         * gtk/gtktextiter.c (gtk_text_iter_set_visible_line_offset)
1303         (gtk_text_iter_set_visible_line_index): new functions to set
1304         indexes excluding invisible text
1305
1306         * gtk/gtktextlayout.c (line_display_iter_to_index): get visible 
1307         index
1308
1309         * gtk/gtktextiter.c (gtk_text_iter_get_visible_line_index)
1310         (gtk_text_iter_get_visible_line_offset): new functions to 
1311         get indexes excluding invisible text
1312
1313         * gtk/gtkmessagedialog.c (gtk_message_dialog_init): strip out a
1314         bunch of extra padding that served no purpose
1315
1316         * gtk/gtkdialog.c: Make all the spacings configurable via style
1317         properties, for chubbiness configuration in themes
1318
1319         * tests/testtext.c: fix path to the immodules.
1320         
1321 Mon Apr 23 18:57:03 2001  Jonathan Blandford  <jrb@redhat.com>
1322
1323         * gtk/gtksocket.c (gtk_socket_filter_func): add missing '}' that
1324         got munched by #endif.
1325
1326         * gtk/Makefile.am (gtk_plug_c_sources): add missing '\'
1327
1328         * gtk/gtktreeview.c: Refactored code to clean up a number of
1329         events.
1330
1331         * gtk/gtktreemodel.c (gtk_tree_path_compare): Switched return
1332         values to make consistent with other functions.  Spotted by Jeff
1333         Franks <jcf@tpg.com.au>.
1334
1335         * gtk/gtktreeview.h (struct _GtkTreeViewClass): Fixes to signal
1336         declaration spotted by Jeff Franks <jcf@tpg.com.au>.
1337
1338 2001-04-23  Sven Neumann  <sven@gimp.org>
1339
1340         * gtk/Makefile.am
1341         * gtk/gtkplug.c
1342         * gtk/gtksocket.c: on request of Owen, reverted my last change 
1343         and exclude gtkplug.c/gtksocket.c from the build for non-X11 targets
1344
1345 2001-04-23  Sven Neumann  <sven@gimp.org>
1346
1347         * gtk/gtkplug.c: put into #ifdef GDK_WINDOWING_X11 to make GTK+
1348         compile for non-X11 targets again
1349
1350 2001-04-20  Alexander Larsson  <alexl@redhat.com>
1351
1352         * gtk/gtkcolorsel.[ch]:
1353         API Change. Take GdkColor arguments instead of gdouble *.
1354         Leave the old gtk_color_selection_set_color for compatibility,
1355         but marked deprecated.
1356         Do correct rounding when converting RGB <-> HSV.
1357         
1358         * gtk/gtkcolorseldialog.c:
1359         * tests/testgtk.c:
1360         Use new GtkColorSelection API.
1361
1362         * gtk/gtkhsv.c:
1363         Fix problem selecting colors in triangle when Hue is 330.
1364         Fix some black dots around the HSB triangle.
1365         
1366         * gtk/gtkfilesel.c:
1367         return FALSE from the focus_in_event handler to fix focus problems.
1368
1369 2001-04-18  Havoc Pennington  <hp@redhat.com>
1370
1371         * gtk/gtkwindow.c (gtk_window_class_init): add signals and binding
1372         set, so keybindings are configurable    
1373         (gtk_window_activate_default): Change to activate the focus widget
1374         instead if there's a focus widget, to be consistent with the
1375         behavior that previously existed in key_press_event
1376
1377 2001-04-18  Havoc Pennington  <hp@redhat.com>
1378
1379         * gdk/gdkkeyuni.c: Handle numeric keypad keysyms; bug #50201
1380
1381 2001-04-18  Havoc Pennington  <hp@redhat.com>
1382
1383         Close bug #50615:
1384         
1385         * gtk/gtkstyle.c (gtk_default_draw_layout): Use text_gc to draw
1386         the layout
1387
1388         * gtk/gtktext.c: Use base/text instead of bg/fg throughout
1389
1390         * gtk/gtkentry.c: Use base/text instead of bg/fg throughout
1391
1392         * gtk/gtktextdisplay.c: Use base/text instead of bg/fg throughout
1393         
1394         * gtk/gtkstyle.c (gtk_style_init): make GTK_STATE_SELECTED default
1395         to blue for base, in addition to bg
1396         
1397 2001-04-18  Havoc Pennington  <hp@redhat.com>
1398
1399         * tests/testgtk.c (create_image): allow shrinking the image window
1400         to test that we clip to allocation.
1401
1402         * gtk/gtkimage.c (gtk_image_expose): clip to allocation,
1403         #9845
1404
1405         * gtk/gtkenums.h: move GtkWrapMode in here, #50472
1406
1407 Wed Apr 18 14:23:14 2001  Owen Taylor  <otaylor@redhat.com>
1408
1409         * gdk/x11/gdkimage-x11.c (gdk_image_new): Try changing
1410         mode on shm segments to 0600. We'll see who complains.
1411
1412         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Call
1413         _gdk_windowing_window_destroy() AFTER recursing through
1414         children.
1415
1416         * tests/Makefile.am (noinst_PROGRAMS): Build testsocket,
1417         testsocket_child on X.
1418
1419         * tests/testsocket[_child].c: Fix uses of
1420         gtk_window_get_default_accel_group().
1421
1422         [ Merge patch from Ramiro Estrugo  <ramiro@eazel.com> from gtk-1-2 ]
1423
1424         * gdk/gdkimage.c: (gdk_image_get):
1425         Deal with the possibility that XGetImage() might return NULL.
1426         Allocate the GdkImagePrivate structure only after XGetImage()
1427         succeeds in order not to dereference a NULL ximage pointer.  This
1428         prevents a core dump when XGetImage() fails - which is unlikely,
1429         but can happen due to race conditions accessing the geometries of
1430         drawables.  An x error will still be triggered, but the gdk image
1431         wrapper at least wont seg fault.
1432         
1433 2001-04-18  Havoc Pennington  <hp@redhat.com>
1434
1435         * gtk/gtkimage.c: fix to properly queue resizes when the image is
1436         set
1437
1438         * gtk/gtktextview.c (gtk_text_view_do_popup): desensitize Paste
1439         if the insertion point isn't editable
1440
1441         * demos/gtk-demo/images.c: Added a GtkImage demo
1442
1443         * demos/gtk-demo/drawingarea.c: drawing area demo
1444         
1445         * demos/gtk-demo/menus.c (create_menu): cleanups
1446
1447 Wed Apr 18 12:15:52 2001  Owen Taylor  <otaylor@redhat.com>
1448
1449         * gdk/x11/gdkwindow-x11.c gdk/x11/gdkwindow-x11.h 
1450           gdk/x11/gdkevents-x11.c: Introduce an extra child
1451         of toplevel windows that serves to hold the focus to
1452         avoid events being delivered to embedded windows.
1453
1454         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Introduce
1455         some extra variables to clean up code and reduce the
1456         number of casts.
1457
1458         * gdk/x11/gdkwindow-x11.h (struct _GdkXPositionInfo): Use
1459         guint for 1 bit bit fields, not gboolean.
1460
1461 Wed Apr 18 10:04:23 2001  Owen Taylor  <otaylor@redhat.com>
1462
1463         * gtk/gtktooltips.c (gtk_tooltips_paint_window): Return FALSE,
1464         not TRUE. (Fixes #52925)
1465
1466 Tue Apr 17 18:05:34 2001  Owen Taylor  <otaylor@redhat.com>
1467
1468         * Released 1.3.4
1469
1470         * NEWS: Updated
1471
1472         * gtk/gtktextview.c (gtk_text_view_class_init): Fix to not
1473         use GTK_TYPE_ENUM.
1474
1475 Tue Apr 17 13:47:12 2001  Owen Taylor  <otaylor@redhat.com>
1476
1477         * configure.in: Don't put -lgthread in GLIB_LIBS, GLIB_DEPLIBS
1478
1479         * gtk/gtktypeutils.h gtk/gtksignals.h: Restore proper parameter
1480         names to compatibility #defines so docs work.
1481
1482         * gtk/gtkenums.h: Remove GtkMenuFactoryType
1483
1484         * gtk/gtkwindow.c gtk/gtkdnd.c: Docs cleanups.
1485
1486         * configure.in: Don't include -lgthread in GLIB_LIBS, GLIB_DEPLIBS
1487
1488         * tests/testgtkrc: No magenta cursors, please.
1489
1490         * README.in INSTALL.in HACKING README.cvs-commits: Updated.
1491
1492         * gtk/gtkenums.h (enum): Remove left over GtkMenuFactoryType.
1493         
1494 Mon Apr 16 14:38:41 2001  Owen Taylor  <otaylor@redhat.com>
1495
1496         * gtk/gtklist.c gtk/gtklistitem.c: Remove explicit pointer
1497         grabs, since they are no longer necessary.
1498
1499         * gtk/gtkcombo.c (gtk_combo_popup_button_press): Fix #52926
1500         by signal_connect() and call gtk_button_pressed() rather
1501         than signal_connect_after().
1502
1503         * tests/testgtk.c: Restore radio menu items to combos 
1504         since they'll look OK with Raleigh, and it is easier
1505         than finishing the process of removing them that was
1506         started earlier.
1507
1508 2001-04-16  Hans Breuer  <hans@breuer.org>
1509
1510         * gdk/gdk.def :
1511         * gtk/gtk.def : added all exports required to link PyGtk 0.7.1
1512
1513         * gdk/gdkfont.h : #define GDK_TYPE gdk_font_get_type ()
1514         we are interested in the functions return value not the function address
1515         * gdk/gdkvisual.h : same for GDK_TYPE_VISUAL
1516
1517         * gtk/makefile.msc.in : reflect movement of GDK_TYPEs from gtk to gdk
1518
1519 2001-04-14  Hans Breuer  <hans@breuer.org>
1520
1521         * gdk/gdk.def :
1522         * gdk/makefile.msc : updated
1523
1524         * gdk/win32/gdkdrawable.win32 (gdk_win32_draw_rectangle) : if modus is 
1525         "fill with tile" do so with new helper function gdk_win32_draw_tiles 
1526         (the testgtk::text backgound pixmap is drawn again)
1527         Changed SetTextAlign before pango_win32_render to TA_BASELINE to reflect 
1528         Win32 Pango change
1529         * gdk/win32/gdkprivate-win32.h : prototype for gdk_win32_draw_tiles
1530
1531         * gdk/win32/gdkproperty-win32.c : first implementation of gdk_setting_get
1532         Not sure if the returned settings have the right unit, because I couldn't
1533         find any docs for the X version ...
1534
1535         * gtk/gtk.def :
1536         * gtk/makefile.msc.in : updated
1537
1538 Thu Apr 12 17:41:17 2001  Owen Taylor  <otaylor@redhat.com>
1539
1540         * gtk-2.0.m4: Fix up to refer to GTK+, not to GLib; fix some
1541         wording problems. (Compared to version from Johannes Stezenbach to
1542         check correctness.)
1543
1544 Thu Apr 12 21:04:26 2001  Tim Janik  <timj@gtk.org>
1545
1546         * gtk/gtktreeview.c (_gtk_tree_view_column_start_drag): get
1547         this to compile.
1548
1549 2001-04-12  Anders Carlsson  <andersca@codefactory.se>
1550
1551         * gtk/gtkcellrenderertextpixbuf.c (gtk_cell_renderer_text_pixbuf_class_init): It's pixbuf_pos,
1552         not pixbufpos.
1553
1554         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): Fix small typo.
1555
1556         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property): xpad and ypad
1557         are unsigned insts, therefore use g_value_set_uint.
1558         (gtk_cell_renderer_set_property): Likewise, use g_value_get_uint.
1559
1560 Sun Apr  8 05:36:06 2001  Jonathan Blandford  <jrb@webwynk.net>
1561
1562         * gtk/gtktextview.c (gtk_text_view_class_init): fix a fixme.
1563
1564         * gtk/gtkcellrendertoggle.c: change GTK_TYPE_POINTER to
1565         GTK_TYPE_STRING.
1566
1567         * gtk/gtktreeview.c: New functions to allow initial column
1568         dragging work.
1569
1570         * gtk/gtktreeviewcolumn.c: Initial column dragging support.
1571
1572         * tests/testtreefocus.c: give dave some love.
1573
1574         * tests/testtreesort.c: Modify test to check really long samples.
1575
1576 2001-04-11  Alexander Larsson  <alexl@redhat.com>
1577
1578         * gtk-2.0.m4: Pass pkg-config options
1579         before the other args so it works even if
1580         POSIXLY_CORRECT is set.
1581
1582 Mon Apr  9 19:02:07 2001  Tim Janik  <timj@gtk.org>
1583
1584         * configure.in (GTK_MICRO_VERSION): increment version to 1.3.4 (binary
1585         0, interface 0).
1586
1587 2001-04-04  Denis Oliver Kropp  <dok@convergence.de>
1588
1589         * gtk/gtkcalendar.c (gtk_calendar_button_press):
1590         check for action_func != NULL
1591
1592 2001-04-04  Sven Neumann  <sven@gimp.org>
1593
1594         * tests/testgtk.c (test_init): corrected path to gtk.immodules
1595
1596 Wed Apr  4 09:18:18 2001  Tim Janik  <timj@gtk.org>
1597
1598         * Released Gtk+-1.3.3.
1599
1600 Wed Apr  4 07:42:23 2001  Tim Janik  <timj@gtk.org>
1601
1602         * gdk/Makefile.am (EXTRA_DIST): add makeenums.pl to EXTRA_DIST.
1603
1604 Wed Apr  4 04:13:18 2001  Tim Janik  <timj@gtk.org>
1605
1606         * gtk/stock-icons/Makefile.am: stay in builddir and read/write
1607         files to/from source dir. (if we don't stay in builddir, we
1608         can't reach make-inline-pixbuf.
1609
1610         * gdk/Makefile.am (gdkenumtypes.c): add $(srcdir) to mekeenums.pl
1611         deps.
1612
1613         * configure.in (GTK_MICRO_VERSION): up and away (1.3.3 bin/interface
1614         ages 0).
1615
1616 Tue Apr  3 15:04:45 2001  Jonathan Blandford  <jrb@redhat.com>
1617
1618         * gtk/gtktreemodelsort.h:  removed set_sort_column, as it was
1619         moved to the GtkTreeSortable interface.
1620
1621         * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
1622         Make more efficient (fixes #50262).
1623
1624 Tue Apr  3 13:55:37 2001  Owen Taylor  <otaylor@redhat.com>
1625
1626         * NEWS: Updated.
1627
1628         * configure.in: Remove support for uninstalled glib.
1629
1630         * gtk/gtkdnd.c (gtk_drag_highlight_expose): Return FALSE as
1631         so as not to stop emission.
1632
1633         * gtk-config-2.0.in: Exit with an error message that gtk-config-2.0
1634         is no longer supported.
1635
1636         * Makefile.am gtk/Makefile.am tests/*: Moved all tests
1637         into tests, change build order to build modules before
1638         gtk/.
1639
1640         * modules/input/Makefile.am: Move gtk-query-immodules-2.0 invocation
1641         to here.
1642
1643 Tue Apr  3 13:52:57 2001  Tim Janik  <timj@gtk.org>
1644
1645         * gtk/gtkitemfactory.[hc]: changed gtk_item_factory_dump_items()
1646         and gtk_item_factory_dump_rc() GtkPatternSpec argument to
1647         GPatternSpec. this is actually unlikely to cause breakage in
1648         third-party apps since except for gle, pretty much ever caller
1649         passes NULL here.
1650
1651         * gtk/gtkbindings.[hc]: removed gtk_pattern_*() API.
1652
1653         * *.c: use g_pattern_*() API.
1654
1655         * docs/Changes-2.0.txt: GtkPatternSpec->GPatternSpec updates.
1656
1657         * gtk/gtkstyle.c (gtk_default_draw_resize_grip): assert unhandled
1658         directions aren't passed in.
1659
1660         * gtk/gtksettings.[hc] (_gtk_settings_parse_convert): export conversion
1661         functionality to be usable from gtkstyle.c as well, give precedence
1662         for conversion to user-supplied parsers.
1663         s/_gtk_rc_property_parser_for_type/_gtk_rc_property_parser_from_type/;
1664
1665         * gtk/gtkstyle.c (_gtk_style_peek_property_value): use
1666         _gtk_settings_parse_convert() for rcporperty value conversion.
1667
1668 2001-04-03  Alexander Larsson  <alexl@redhat.com>
1669
1670         * gdk/linux-fb/gdkevents-fb.c:
1671         Add empty gdk_setting_get().
1672
1673 Tue Apr  3 05:09:07 2001  Tim Janik  <timj@gtk.org>
1674
1675         * gtk/gtkmain.c (_gtk_boolean_handled_accumulator): use more elaborate
1676         variable names.
1677         
1678         * gtk/makeenums.pl: touch this so enum files get remade.
1679
1680 Mon Apr  2 19:36:57 2001  Jonathan Blandford  <jrb@redhat.com>
1681
1682         * gtk/gtktreestore.c (gtk_tree_store_init):  Bug fix to make trees
1683         work again when not sorted.
1684
1685         * gtk/gtktreeview.c (gtk_tree_view_class_init): Add "collapse_row"
1686         and "expand_row" signal, closing bug 52578.
1687
1688         * gtk/gtktreeview.c (gtk_tree_view_expand_row): Add signal
1689         support.
1690
1691         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): Add signal
1692         support.
1693
1694 Mon Apr  2 18:18:07 2001  Owen Taylor  <otaylor@redhat.com>
1695
1696         * gdk/gdkevents.h: Add GdkEventSetting event for notification
1697         of changes to system settings, gdk_setting_get() to retrieve
1698         a single system setting.
1699
1700         * gdk/x11/gdkevents-x11.c: Bridge gdk_setting_get() and GdkEventSetting
1701         to the draft XSETTINGS mechanism.
1702
1703         * gdk/x11/xsettings-{common,client}.[ch]: Sample-implementation of
1704         XSETTINGS.
1705
1706         * gtk/gtkmain.c gtk/gtksettings.[ch]: Propagate notification
1707         of GDK settings changes to the GtkSettings object.
1708
1709         * gdk/gdkevents.[ch] gdk/gtk/gtksettings.c: Hook up the
1710         double-click-timeout property to GDK.
1711
1712         * gdk/gdkcolor.[ch] gdk/gdkvisual.h gdk/gdkevent.[ch] gdk/gdkfont.[ch]:
1713         Define GDK boxed types here.
1714
1715         * gdk/Makefile.am gdk/makeenums.pl: Generate source files
1716         gdk/gdkenumtypes.[ch] for enum definitions.
1717
1718         * gtk/gtkcompat.h: Add defines for GTK_TYPE_GDK_*
1719         * gtk/gtk-boxed.defs: Comment out GDK types
1720         * gtk/gtktypeutils.h: Remove GDK types
1721         * gtk/Makefile.am: No longer scan GDK headers for enumerataions
1722
1723 Mon Apr  2 16:41:08 2001  Owen Taylor  <otaylor@redhat.com>
1724
1725         * Applied patch from Ron Steinke to add signal accumulators
1726         so that signals with the convention 'TRUE return means
1727         handled' stop emission on a TRUE return.
1728
1729         * gtk/gtkmain.[ch]: Add private accumulator 
1730         _gtk_boolean_handled_accumulator, used throughout GTK+.
1731         
1732         * gtk/gtkspinbutton.c: Add accumulator for ::output.
1733
1734         * gtk/gtktipsquery.c: Add accumulator for ::widget_selected
1735         
1736         * gtk/gtkwidget.c: Add accumulators for event signals,
1737         ::drag_motion, ::drag_drop. Use _gtk_boolean_handled_accumator
1738         for ::mnemonic-activate.
1739
1740         * gtk/gtkwindow.c: Add accumulator for ::frame_event
1741
1742 Mon Apr  2 16:24:21 2001  Owen Taylor  <otaylor@redhat.com>
1743
1744         * gtk/gtkwidget.c: Add missing include.
1745
1746 Mon Apr  2 16:56:15 2001  Jonathan Blandford  <jrb@redhat.com>
1747
1748         * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new
1749         marshaller.
1750
1751         * gtk/gtktreemodel.c (gtk_tree_model_range_changed): change
1752         "changed" signal to "range_changed".
1753
1754         * gtk/gtktreeview.c (gtk_tree_view_set_model): fix small bug where
1755         removing a tree from one model would remove all trees from that
1756         model.
1757         * gtk/gtktreeview.c (gtk_tree_view_range_changed): use range
1758         changed signal instead.
1759
1760 Mon Apr  2 16:13:58 2001  Owen Taylor  <otaylor@redhat.com>
1761
1762         * gtk/gtkinvisible.c (gtk_invisible_style_set): Avoid
1763         chaining up to parent impl, since we have a INPUT_ONLY
1764         window.
1765
1766         * gtk/gtkentry.[ch]: Add a cursor_color property to set the
1767         foreground color for the cursor.
1768
1769 Mon Apr  2 15:06:13 2001  Owen Taylor  <otaylor@redhat.com>
1770
1771         * gtk/gtkstyle.c (_gtk_style_peek_property_value): Reference 
1772         param spec when caching property values, since we unref it
1773         later when we free the style.
1774
1775         * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): Dont' free
1776         values since they are retrieved with G_VALUE_NO_COPY_CONTENTS.
1777
1778 Mon Apr  2 10:47:57 2001  Owen Taylor  <otaylor@redhat.com>
1779
1780         * gtk/gtkwidget.c (gtk_widget_class_init): Fix 
1781         G_VALUE_NO_COPY_CONTENTS instead of G_SIGNAL_TYPE_STATIC_SCOPE
1782         stupidity.
1783
1784 Mon Apr  2 00:51:11 2001  Owen Taylor  <otaylor@redhat.com>
1785
1786         [ First pass at adding style properties. Still needs some definite
1787         fine-tuning. ]
1788
1789         * gtk/gtkbutton.c: Add ::default_spacing style property.
1790          
1791         * gtk/gtkcheckbutton.[ch] gtkradiobutton.c: Add ::indicator_size,
1792         ::indicator_spacing style properties.
1793
1794         * gtk/gtkoptionmenu.c: Add ::indicator_size, ::indicator_spacing
1795         style properties.
1796
1797         * gtk/gtk{,h,v}paned.[ch]: Make handle_size a style property
1798         rather than a normal property.
1799
1800         * gtk/gtkwidget.c: Add an ::interior_focus style property to
1801         draw focus inside buttons, in the Windows/Java Metal/etc. style.
1802
1803         * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtktogglenbutton.c:
1804         Honor ::interior_focus.
1805         
1806         * gtk/gtkentry.c: Don't draw focus at all when ::interior_focus is 
1807         TRUE.
1808
1809         * gtk/gtkrange.[ch] gtk/gtk{h,v}scrollbar.c gtk/gtk{h,v}scale.c:
1810         Add ::slider_width, ::trough_border, ::stepper_size,
1811         ::stepper_spacing style properties.
1812
1813         * gtk/gtkscale.[ch] Add ::slider-length style property.
1814
1815 2001-04-02 Alexander Larsson   <alexl@redhat.com>
1816
1817         * gdk/linux-fb/gdkwindow-fb.c:
1818         Add gdk_window_begin_resize_drag and gdk_window_begin_move_drag. Remove some
1819         warnings that were spewed on startup.
1820
1821         * gtk/gtkwindow-decorate.c:
1822         gtk_window_reposition -> _gtk_window_reposition
1823
1824 Sun Apr  1 21:37:22 2001  Owen Taylor  <otaylor@redhat.com>
1825
1826         * gtk/gtkwidget.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
1827         Add boxed type for GtkRequistion. Use it for ::size-request.
1828
1829         * gtk/gtkstyle.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
1830         Add a new GtkBorder structure useful for geometry properties
1831         for widgets. Add corresponding GTK_TYPE_BORDER.
1832         
1833         * gtk/gtkwidget.c (gtk_widget_class_install_style_property):
1834         Support automatic parser selection like
1835         gtk_settings_install_property_parser().
1836
1837         * gtk/gtksettings.c (_gtk_rc_property_select_parser): Export
1838         functionality for use by gtk_widget_class_install_style_property.
1839         Support GTK_TYPE_BORDER, GTK_TYPE_REQUISITION.
1840
1841 Sun Apr  1 20:48:59 2001  Owen Taylor  <otaylor@redhat.com>
1842
1843         * gtk/gtkentry.c (gtk_entry_class_init): Make invisible-char
1844         g_param_spec_unichar(). 
1845
1846 Sun Apr  1 23:41:37 2001  Tim Janik  <timj@gtk.org>
1847
1848         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): raise window for non
1849         _NET window managers.
1850
1851         * gtk/gtkmenufactory.[hc]: cvs removed those files now.
1852
1853 Sun Apr  1 08:00:13 2001  Tim Janik  <timj@gtk.org>
1854
1855         * gtk/gtkwidget.[hc]: got rid of gtk_widget_popup(), a function that
1856         bad needs to be nuked, not just deprecated.
1857
1858         * gtk/gtktooltips.c (gtk_tooltips_draw_tips): don't use 
1859         gtk_widget_popup().
1860
1861         * gtk/*.[hc]: s/activate_mnemonic/mnemonic_activate/g;
1862         
1863         * gtk/gtkmenufactory.[hc]: removed this long-standingly deprecated
1864         widget.
1865         
1866         * docs/Changes-2.0.txt: updates.
1867         
1868 Sun Apr  1 01:02:54 2001  Jonathan Blandford  <jrb@redhat.com>
1869
1870         * gtk/gtktreestore.c (gtk_tree_store_sort_iter_changed):
1871         for (i = 0; i < 100; i ++)
1872           g_print ("I will confirm it compile before committing\n");
1873
1874 Sun Apr  1 00:52:06 2001  Jonathan Blandford  <jrb@redhat.com>
1875
1876         * gtk/gtktreestore.c: Initial work on implementing the
1877         GtkTreeSortable interface.  Basicaly a big cut'n'paste job.
1878
1879 Sun Apr  1 03:28:14 2001  Tim Janik  <timj@gtk.org>
1880
1881         * gtk/gtkwidget.c: fixed a bunch of notifications, added
1882         reference counts around emissions where the widget is used afterwards.
1883         added freeze/thaws around multiple properties being notified.
1884         (_gtk_widget_get_aux_info): cleanups.
1885         
1886         * gtk/gtksettings.c (gtk_settings_install_property): provide
1887         default parsing functions for gdkcolor, enums and flags.
1888
1889         * gtk/gtkwindow.[hc]: partially reverted patch from havoc,
1890         applied by owen.
1891         backed out gtk_window_get_location(), gtk_window_set_location(),
1892         gtk_window_get_size() and gtk_window_set_size(), these
1893         have to be sorted out wrg x/y/width/height/default_with/default_height
1894         properties.
1895         kept a flag in GtkWindowGeometryInfo to handle user
1896         resetting default sizes.
1897         cleaned up ZVT comments.
1898         bunch of assorted bug fixes, notification fixes.
1899         (_gtk_window_reposition): make this a really internal function.
1900         
1901         * gtk/testgtk.c: fixups.
1902         
1903 2001-03-31  Hans Breuer  <hans@breuer.org>
1904
1905         * config.h.win32.in : disable USE_MMX for msvc build cause
1906         the assembler doesn't fit and is out of my scope. Disable
1907         USE_GMODULE for msvc build as wel. The right way to share
1908         binaries on win32 would be to use libtiff.dll etc. To reduce
1909         installation hassles IMO it's better to include all fileformats
1910         builtin to gdk-pixbuf
1911
1912         * gdk-pixbuf/makefile.msc : new file
1913
1914         * gdk/gdk.def : updated
1915
1916         * gdk/win32/gdkevents-win32.c : don't erase the background if
1917         .no_bg is set. It improves the scrolling (e.g. of testgtk main
1918         buttons
1919         * gdk/win32/gdkgeometry-win32.c : added comment about the above
1920
1921         * gdk/win32/gdkwindow-win32.c : added three new functions like
1922         the X version. Only one is implemented, because the other two
1923         "gdk_window_begin_(resize|move)_drag" got no docs and appear to
1924         be default behaviour on win32 anyway ...
1925
1926         * gtk/gtk.def : updated
1927
1928         * gtk/makefile.msc.in : update for new files, use glib-genmarshal
1929         from where it was built and add an additional rule to automagically
1930         build gtkmarshal.[hc]
1931
1932         * gtk/gtkfilesel.c (open_new_dir) : don't increase n_entries
1933         before array access for the current entry isn't finished
1934
1935         * gtk/gtktreeitem.c (gtk_tree_item_subtree_button_click) :
1936         use g_return_val_if_fail
1937
1938         * gtk/testgtk.c (window_controls) : don't use the *wrong* size
1939         for the static array, but let the compiler calculate it. It
1940         makes me wonder if gcc isn't capable to catch bugs like this ...
1941
1942 2001-03-31  James Henstridge  <james@daa.com.au>
1943
1944         * gtk/gtkwidget.c (gtk_widget_size_adjust): fix use of magic
1945         constant "-1" in the aux info structure.
1946
1947 2001-03-30  Alexander Larsson  <alexl@redhat.com>
1948
1949         * gtk/gtkbutton.c (gtk_button_get_property):
1950         * gtk/gtklabel.c:
1951         Remove leaks.
1952         
1953         * gtk/gtkcontainer.c:
1954         * gtk/gtkhscale.c:
1955         * gtk/gtkhscrollbar.c:
1956         * gtk/gtklayout.c:
1957         * gtk/gtkmisc.c:
1958         * gtk/gtkprogress.c:
1959         * gtk/gtkprogressbar.c:
1960         * gtk/gtkrange.c:
1961         * gtk/gtktable.c:
1962         * gtk/gtkviewport.c:
1963         * gtk/gtkvscale.c:
1964         * gtk/gtkvscrollbar.c:
1965         * gtk/gtkwidget.c:
1966         Property patches, based on patches from John Margaglione and Lee Mallabone.
1967
1968 Thu Mar 29 21:20:38 2001  Mike Kestner  <mkestner@ameritech.net>
1969
1970         * gtk/gtkspinbutton.c : added value_changed signal which proxies for the
1971         adjustment. Cleaned redundant preconditions (spin != NULL). Added
1972         inline API function docs.
1973         (gtk_spin_button_new_with_range): New convenience constructor.
1974         (gtk_spin_button_set_increments): New adjustment helper.
1975         (gtk_spin_button_set_range): New adjustment helper.
1976
1977         * gtk/testgtk.c : added test of the new convenince constructor and
1978         value_changed signals.
1979
1980 Thu Mar 29 20:20:38 2001  Jonathan Blandford  <jrb@redhat.com>
1981
1982         * gtk/gtktreemodel.c (gtk_tree_row_ref_reordered_callback): Now we
1983         listen to the reorder signal.
1984
1985 Wed Mar 28 20:30:26 2001  Owen Taylor  <otaylor@redhat.com>
1986
1987         * gtk/gtkwidget.[ch] (_gtk_widget_get_aux_info): Add private function
1988         to get the aux info structure fo the widget.
1989
1990         * gtk/gtklabel.c gtk/gtkscrolledwindow.c gtk/gtkwindow.c: Use
1991         above function.
1992
1993         [ Patch from  Havoc Pennington  <hp@redhat.com> ]
1994
1995         * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): function
1996         to get the size of the window manager frame, basically the same
1997         code that gdk_window_get_root_origin() had
1998         (gdk_window_get_root_origin): use gdk_window_get_frame_extents()
1999
2000         * gtk/gtkwindow.c (gtk_window_set_default_size): use
2001         gdk_window_resize() if the window is realized and resizeable
2002
2003         * gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): fix
2004         typo so that setting gravity works
2005
2006         * gtk/gtkwindow.c (gtk_window_move_resize): don't ever use
2007         allocation if auto_shrink is on, even if the default size
2008         has not changed.
2009
2010         * gtk/gtkwidget.c (gtk_widget_render_icon): remove bogus
2011         g_return_if_fail
2012
2013 Thu Mar 29 16:29:12 2001  Jonathan Blandford  <jrb@redhat.com>
2014
2015         * gtk/gtkliststore.c (gtk_list_store_iter_changed): Massive
2016         reordering/sorting work.  Now pretty much works.
2017
2018         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Lots of work to make
2019         reorder mostly work.  Still need to get the parity correct.
2020
2021         * gtk/gtktreeviewcolumn.c: Listen for "model" property changed
2022         signal, so I can listen for the sort_column_changed signal so I
2023         can change my "sort_indicator" property.  Cool.
2024
2025 Wed Mar 28 00:03:10 2001  Owen Taylor  <otaylor@redhat.com>
2026
2027         [ Patch from Havoc Pennington, hp@redhat.com ]
2028
2029         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c:
2030         Add functions gdk_window_begin_resize_drag/begin_move_drag
2031         to start resizing or moving a toplevel window. This
2032         is done either using the _NET_WM_MOVERESIZE protocol,
2033         or, if that isn't present, by emulation.
2034
2035         * gtk/gtkwindow.[ch]: Add functions gtk_begin_move/resize_drag
2036         to export the above to GTK+-land.
2037
2038         * gtk/gtkstyle.[ch]: Add ->draw_resize_grip() paint func.
2039         
2040         * gtk/gtkwindow.c gdk/gdkwindow.[ch] (gdk_window_constrain_size):
2041         Move this function into gdkwindow, since we need it
2042         when implementing fallback resizing.
2043
2044         * gdk/x11/gdkwindow-x11.c: gdk_window_set_geometry_hints.
2045         Fix typo when setting gravity.
2046
2047         * gtk/gtkstatusbar.[ch] (gtk_statusbar_set_has_resize_grip):
2048         Add an optional (but on by default) resize grip for resizing 
2049         the parent window.
2050
2051 01-03-29  Alexander Larsson  <alexl@redhat.com>
2052
2053         * gtk/gtktooltips.c (gtk_tooltips_event_handler):
2054         Don't return TRUE from the event handler, that blocks all
2055         event signals on the tooltip widget. Now you can press buttons
2056         in toolbars again.
2057
2058 Wed Mar 28 19:20:43 2001  Owen Taylor  <otaylor@redhat.com>
2059
2060         * gtk/testtext.c (create_buffer): Add missing NULL on
2061         valist.
2062
2063         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Fix
2064         c-n-p problem with INCONSISTENT property.
2065
2066         [ Patch from Havoc Pennington  <hp@redhat.com> ]
2067
2068         * gtk/gtkentry.h (struct _GtkEntryClass): add same populate_popup
2069         hook.
2070
2071         * gtk/gtktextview.h (struct _GtkTextViewClass): add populate_popup
2072         signal as a hook for extending the default popup menu
2073
2074         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
2075         use radio menu items for the input method menuitems
2076
2077         * gtk/gtkimcontextsimple.c (check_hex): do better validation of 
2078         inserted unicode from Ctrl-Shift-hex input method
2079
2080         * gtk/gtktextbtree.c (_gtk_text_btree_insert): remove utf8
2081         validatation here, already done at GtkTextBuffer level.
2082
2083         * gtk/gtkwidget.c (gtk_widget_class_init): add binding set, add
2084         popup_menu run action signal and Shift+F10 and Menu keybindings.
2085
2086         * gtk/gtkentry.c: implement a default handler for popup_menu
2087
2088         * gtk/gtktextview.c: implement a default handler for popup_menu
2089
2090         * gtk/gtkmenu.c (gtk_menu_popup): select first item if popup is
2091         from a key event
2092         
2093         * gtk/gtklabel.c: remove "trailer" cruft
2094
2095 Wed Mar 28 17:27:12 2001  Jonathan Blandford  <jrb@redhat.com>
2096
2097         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): new function to
2098         handle reordering of trees.  Seems to mostly work w/ the exception
2099         of the parity flag.
2100
2101         * gtk/gtktreeview.c (gtk_tree_view_reordered): handle "reordered"
2102         signal.
2103
2104 Wed Mar 28 21:12:37 2001  Tim Janik  <timj@gtk.org>
2105
2106         * gtk/gtkwidget.h: c++ fixes.
2107
2108 Sun Mar 25 15:51:28 2001  Owen Taylor  <otaylor@redhat.com>
2109
2110         * gtk/gtksettings.c (gtk_settings_init): Fix use of uninitialized
2111         memory.
2112
2113 Tue Mar 27 22:36:07 2001  Owen Taylor  <otaylor@redhat.com>
2114
2115         * gtk/gtkwidget.h gtk/gtkrange.h: Apply patch from 
2116         Nils Barth fixing event return values. (#51041)
2117
2118         * gtk/gtkwidget.c: Fix some return values for default
2119         functions.
2120
2121         * gtk/gtk[vh]scrollbar.c gtk/gtk[vh]range.c: Fix
2122         return values for trough_keys functions.
2123
2124         * gtk/gtkwidget.h (struct _GtkWidgetClass): Fix return
2125         value for add_accelerator (shoudl have been a void
2126         return.)
2127
2128         * gtk/gtkcellrenderer.[ch]: gtkcellrenderertoggle.h:
2129         Fix return type of EVENT.
2130
2131         * gtk/gtkmarshal.list gtk/gtktexttag.c: Make EVENT
2132         signal return a boolean.
2133
2134 Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@redhat.com>
2135
2136         * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
2137         reordered signal.
2138
2139         * tests/testtreesort.c (main): fix spelling.
2140
2141 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
2142
2143         * gtk/gtkliststore.c: More work on implementing sortable
2144         interface.
2145
2146 Mon Mar 26 15:48:45 2001  Owen Taylor  <otaylor@redhat.com>
2147
2148         * gtk/gtkwindow.c (gtk_window_list_toplevels): Don't
2149         reference the widgets in the resulting list. (#11821)
2150         This makes this consistent with gtk_container_children.
2151
2152         * gtk/gtkwindow.c gtk/gtkwidget.c: Fix up the two
2153         uses of gtk_window_list_toplevels.
2154
2155 Mon Mar 26 15:26:17 2001  Owen Taylor  <otaylor@redhat.com>
2156
2157         * gtk/gtkimcontext.c (gtk_im_context_set_use_preedit): Add
2158         a virtual function to set whether the IM context should use 
2159         the preedit string. (#51922)
2160         
2161 Mon Mar 26 14:42:59 2001  Owen Taylor  <otaylor@redhat.com>
2162
2163         * gdk/gdkpango.h: Remove stale FIXME comment.
2164
2165 2001-03-26  Alexander Larsson  <alla@lysator.liu.se>
2166
2167         * gtk/gtkfilesel.c (gtk_file_selection_get_filename):
2168         Fixed bug that returned NULL if a filename was selected.
2169
2170 2001-03-24  Havoc Pennington  <hp@pobox.com>
2171
2172         * gtk/gtkthemes.c (gtk_theme_engine_load): improve error message
2173         to contain the word "theme"
2174
2175 2001-03-24  Havoc Pennington  <hp@pobox.com>
2176
2177         * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much
2178         slower but finer-grained
2179         (gtk_hsv_focus): get initial focus on the ring or triangle 
2180         according to tab direction
2181
2182         * gtk/testgtk.c (main): get rid of weird sleep(1) on exit
2183
2184 2001-03-23  Havoc Pennington  <hp@pobox.com>
2185
2186         * gtk/gtkhsv.c: make this somewhat key-navigable
2187
2188         * gtk/gtkfontsel.c: mnemonics
2189
2190         * gtk/gtkgamma.c: mnemonics
2191
2192         * gtk/gtkcolorsel.c: add mnemonics to labels
2193
2194 2001-03-22  Havoc Pennington  <hp@pobox.com>
2195
2196         Applied big patch from Seth Lytle to fix event handler return
2197         values, slightly modified.
2198
2199         * gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
2200         handled.
2201         (gtk_calendar_key_press): return TRUE for GDK_space triggers
2202         select_day
2203
2204         * gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
2205         (gtk_clist_button_release): return TRUE if handled
2206
2207         * gtk/gtkcolorsel.c (mouse_release):
2208         (palette_activate): 
2209         (palette_press): 
2210         (palette_new): 
2211         (mouse_press): 
2212         (get_screen_color): 
2213         fixed return type (void to gboolean), return TRUE,
2214         added GTK_SIGNAL_FUNC cast
2215
2216         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type
2217         (void to gboolean), and return TRUE
2218         (gtk_combo_button_release): changed return value to TRUE after
2219         gtk_grab_add on combo->popwin
2220
2221         * gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a
2222         collapse or expand
2223
2224         * gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for
2225         button/motion
2226
2227         * gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button
2228         press/release and motion that trigger act
2229
2230         * gtk/gtkentry.c (gtk_entry_button_release): return TRUE
2231
2232         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE
2233         for GDK_Return
2234         
2235         * gtk/gtklist.c (gtk_list_button_press): return TRUE mostly
2236         (gtk_list_button_release): return TRUE if selection
2237
2238         * gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on
2239         press
2240
2241         * gtk/gtkmenushell.c (gtk_menu_shell_button_press):
2242         (gtk_menu_shell_button_release): chain parent_menu_shell retval
2243
2244         * gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if
2245         nothing triggered
2246         (gtk_notebook_button_release): return TRUE if we do anything
2247
2248         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): 
2249         (gtk_spin_button_button_release): return TRUE or chained retval
2250
2251         * gtk/gtktext.c (gtk_text_button_press): 
2252         (gtk_text_button_release): return TRUE
2253         (gtk_text_key_press): remove redundant retval code
2254         
2255         * gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button
2256         and sensitive
2257         (gtk_tree_item_subtree_button_click): changed type to gint, and return
2258         TRUE if sensitive
2259
2260         * gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies 
2261         return TRUE
2262
2263 2001-03-23  Havoc Pennington  <hp@redhat.com>
2264
2265         * gtk/testgtk.c: fix warnings
2266
2267         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): fix return value
2268
2269         * gtk/gtktextview.c: fix warnings
2270
2271         * gtk/gtktext.c (find_cursor_at_line): fix warning
2272
2273         * gtk/gtkselection.c (gtk_selection_notify): fix warning 
2274
2275         * gtk/gtkitemfactory.c (gtk_item_factory_menu_pos): fix signature
2276         of this function
2277
2278         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
2279         fix warning
2280
2281         * gtk/gtkhandlebox.c (gtk_handle_box_style_set): fix warning
2282
2283         * gtk/gtkfontsel.c: fix warning
2284
2285         * gtk/gtkcolorsel.c: fix warnings
2286
2287 2001-03-23  Havoc Pennington  <hp@redhat.com>
2288
2289         * gtk/gtkhandlebox.c: Apply property patch from Lee Mallabone
2290
2291         * gtk/gtkbox.c: Apply property patch from Lee Mallabone
2292
2293         * gtk/gtkcheckmenuitem.c: Apply property patch from Lee Mallabone,
2294         and deprecated gtk_check_menu_item_set_show_toggle().
2295         
2296         * gtk/gtkbutton.c: Apply property patch from Lee Mallabone
2297
2298         * gtk/gtkfilesel.c: Apply property patch from Lee Mallabone
2299
2300         * gtk/gtkframe.c: Apply property patch from Lee Mallabone
2301
2302 2001-03-23  Havoc Pennington  <hp@redhat.com>
2303
2304         * gtk/gtktoolbar.c, gtk/gtkimcontext.c, gtk/gtklabel.c: fix up
2305         some docs
2306
2307 Fri Mar 23 16:13:43 2001  Jonathan Blandford  <jrb@redhat.com>
2308
2309         * gtk/gtktreeviewcolumn.h (GtkCellDataFunc): Forgot to namespace
2310         this.
2311
2312         * gtk/gtktreestore.c (gtk_tree_store_set_value): change from
2313         set_cell to set_value
2314
2315         * gtk/gtkliststore.c (gtk_list_store_set_value): change from
2316         set_cell to set_value
2317
2318 Thu Mar 22 19:27:34 2001  Jonathan Blandford  <jrb@redhat.com>
2319
2320         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
2321         fix braino.
2322         * gtk/gtktreesortable.[ch]: New interface to add cleanup sortable
2323         support.
2324
2325         * gtk/gtktreeview.c: Addition of initial sortable support.
2326
2327         * gtk/gtktreestore.c: Addition of initial sortable support.
2328
2329         * gtk/gtkliststore.c: Addition of initial sortable support.
2330
2331         * gtk/gtkmarshal.list: yet another marshaller.
2332
2333         * gtk/gtktreedatallist.[ch]: shared code between the store models
2334         for handling sorting headers.
2335
2336 2001-03-22  Havoc Pennington  <hp@redhat.com>
2337
2338         * gtk/gtkcontainer.c (gtk_container_set_focus_chain): 
2339         (gtk_container_unset_focus_chain): Add ability to override the 
2340         focus chain for a container explicitly
2341
2342 Thu Mar 22 13:01:44 2001  Tim Janik  <timj@gtk.org>
2343
2344         * gtk/gtklabel.[hc]: some cleanups, fixed mnemonic_widget handling,
2345         added PROP_MNEMONIC_WIDGET.
2346
2347         * gtk/gtkwindow.c (gtk_window_activate_mnemonic): 
2348         (gtk_window_remove_mnemonic): 
2349         (gtk_window_add_mnemonic): fixed assertions.
2350         (gtk_window_activate_mnemonic): constrain modifier checks to those
2351         permitted by gtk_accelerator_get_default_mod_mask().
2352         got rid of gtk_window_get_default_accel_group().
2353
2354         * gtk/gtkwidget.c (gtk_widget_real_activate_mnemonic): handle non
2355         activatable widgets either by focussing or a warning.
2356         added a signal accumulator to ::activate_mnemonic which stops the
2357         emission once a handler returned TRUE.
2358
2359 2001-03-22  Havoc Pennington  <hp@pobox.com>
2360
2361         * gtk/gtktoolbar.c (gtk_toolbar_insert_stock): handle mnemonics in
2362         the stock item label
2363
2364         * gtk/gtklabel.c: s/@gtk_func/gtk_func()/ in docs
2365
2366         * gtk/gtkstock.c (builtin_items): add mnemonics where missing
2367
2368         * demos/gtk-demo/*.c: Add mnemonics all over the place
2369
2370         * gtk/gtklabel.h: mark parse_uline deprecated
2371
2372 2001-03-21  Alexander Larsson  <alexl@redhat.com>
2373
2374         * gtk/gtkitemfactory.[ch]:
2375         Add support for stock and normal imagemenuitems.
2376         
2377         * gtk/testgtk.c:
2378         Add some tests for mnemonics, stock toolbars, stock
2379         and image menuitems in itemfactory and gdk_window_scroll.
2380
2381 2001-03-21  Alexander Larsson  <alexl@redhat.com>
2382
2383         * gtk/gtkbutton.[ch]:
2384         * gtk/gtkdialog.c:
2385         Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
2386         removed accel_group argument. Renamed gtk_button_new_accel() to
2387         gtk_button_new_with_mnemonic() and removed accel_group argument.
2388
2389         * gtk/gtkcheckbutton.[ch]:
2390         New function gtk_check_button_new_with_mnemonic().
2391
2392         * gtk/gtkentry.c:
2393         Override activate_mnemonic and just grab focus.
2394
2395         * gtk/gtkitemfactory.c:
2396         Don't add menu uline accel group, instead use mnemonics support.
2397
2398         * gtk/gtklabel.[ch]:
2399         New support for mnemonics.
2400
2401         * gtk/gtkmarshal.list:
2402         Needed BOOLEAN:BOOLEAN for activate_mnemonic.
2403
2404         * gtk/gtkmenu.[c]:
2405         * gtkmenushell.c:
2406         Use mnemonics instead of accel groups for uline
2407         support in menu items.
2408         Removed gtk_menu_get_uline_accel_group() and
2409         gtk_menu_ensure_uline_accel_group().
2410
2411         * gtk/gtkmenuitem.c:
2412         Override activate_mnemonic to handle switching between
2413         menu items if there are collisions.
2414         
2415         * gtk/gtknotebook.c:
2416         Connect to activate_mnemonic on the tab_label, so that
2417         activating it switches to that notebook page.
2418
2419         * gtk/gtkwidget.[ch]:
2420         Add activate_mnemonic signal. New function
2421         gtk_widget_activate_mnemonic() to emit it.
2422         Default implementation does activate/grab_focus.
2423
2424         * gtk/gtkwindow.[ch]:
2425         Add support for mnemonics in windows.
2426         New functions:
2427         gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
2428         gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier
2429
2430         * gtk/testgtk.c:
2431         Update to function name changes.
2432         
2433 2001-03-21  Alexander Larsson  <alexl@redhat.com>
2434
2435         * gtk/gtkimagemenuitem.[c]:
2436         Add gtk_image_menu_item_new_from_stock()
2437
2438 Tue Mar 20 15:00:43 2001  Jonathan Blandford  <jrb@redhat.com>
2439
2440         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
2441         Fix buglet in meeting.
2442
2443 2001-03-19  Havoc Pennington  <hp@redhat.com>
2444
2445         * gtk/gtkiconfactory.c: Make GtkIconSource an opaque datatype, and
2446         add a bunch of accessor functions. This is because we have
2447         reasonable expectations of extending what fields it contains in
2448         the future.
2449
2450         * gtk/gtkstyle.c (gtk_default_render_icon): adapt to icon source
2451         changes
2452
2453         * gtk/gtkrc.c (gtk_rc_parse_icon_source): fix to use new
2454         GtkIconSource   
2455
2456 Mon Mar 19 15:53:36 2001  Owen Taylor  <otaylor@redhat.com>
2457
2458         * gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly
2459         handle __ in paths, quote " and \n in gtk_item_factory_dump_items().
2460
2461         * gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c 
2462           gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch]
2463           gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch]
2464           gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c:
2465         Change float to double everywhere with the exception of 0<->1.0 alignment
2466         and GtkCurve.
2467
2468 2001-03-19  Tor Lillqvist  <tml@iki.fi>
2469
2470         * gdk/win32/gdkdrawable-win32.c
2471         * gdk/win32/gdkimage-win32.c: Use correct casts in debugging
2472         output.
2473
2474         * demos/testpixbuf-drawable.c: If GDK_WINDOWING_WIN32, include
2475         gdkwin32.h.
2476
2477 2001-03-18  Tor Lillqvist  <tml@iki.fi>
2478
2479         * gdk/win32/gdkevents-win32.c (print_window_state): New function.
2480         print_event_state, print_event): Use preprocessor macro to make
2481         code more compact. Print also GDK_WINDOW_STATE events.
2482         (synthesize_crossing_events): Remove the old #ifdeffed-out code.
2483         
2484         * gtk/gtk.def
2485         * gtk/makefile.mingw.in: Update.
2486
2487         * gtk/gtkmain.h: Check for G_PLATFORM_WIN32, not only G_OS_WIN32,
2488         to catch also Cygwin.
2489
2490 Sun Mar 18 01:15:30 2001  Tim Janik  <timj@gtk.org>
2491
2492         * gtk/gtkspinbutton.[hc]: added rc-style argument
2493         GtkSpinButton::shadow_type.
2494         removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
2495         and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
2496         rc-style settings.
2497
2498         * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).
2499
2500         * gtk/gtkwidget.c: quark cleanups.
2501
2502         * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
2503         scanner with appropriate configuration, renamed GtkRcStyleClass.clone
2504         to create_rc_style() (we don't do cloning in standard OO sense).
2505         added per rc style properties.
2506         
2507         * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
2508         property values and for caching those. some cleanups.
2509         
2510         * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS.
2511         
2512         * gtk/gtksettings.[hc]: new file for global rc-file properties
2513         (at least currently, should get extended to support X properties
2514         and other communication mechanisms).
2515         
2516         * gtk/gtkwidget.[hc]: added style property support:
2517         (gtk_widget_class_install_style_property_parser): install style
2518         property pspec with parser function for rc-file values other
2519         than LONG, DOUBLE or STRING.
2520         (gtk_widget_class_install_style_property): same as above without
2521         parser (parsers are going to be needed quite infrequently).
2522         (gtk_widget_style_get_property): retrive style property value.
2523         (gtk_widget_style_get_valist): same as above with varargs support,
2524         has NOCOPY semantics.
2525         (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().
2526
2527 Fri Mar 16 18:24:53 2001  Jonathan Blandford  <jrb@redhat.com>
2528
2529         * demos/gtk-demo/main.c (row_activated_cb): modified to use
2530         "row_activated" signal.
2531
2532         * gtk/gtktreeview.c (gtk_tree_view_row_activated): oh, the
2533         stupidity.  Lets actually pass in the row with this signal...
2534
2535 Fri Mar 16 18:01:17 2001  Jonathan Blandford  <jrb@redhat.com>
2536
2537         * gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN
2538
2539         * gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal.
2540
2541         * gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much
2542         everything into the ::destroy function, and freed a lot more.
2543
2544 2001-03-16  Havoc Pennington  <hp@redhat.com>
2545
2546         * gtk/gtkwidget.h (struct _GtkWidgetAuxInfo): change to use gint
2547         instead of gint16, to avoid overflow issues, since sizes > 16-bit
2548         are now allowed.
2549
2550 2001-03-16  Havoc Pennington  <hp@redhat.com>
2551
2552         * Applied patch from Nils Barth (bug # 51041) to 
2553         replace "gint" with "gboolean" and 0/1 with TRUE/FALSE
2554         in various places.
2555
2556 2001-03-15  Havoc Pennington  <hp@redhat.com>
2557         
2558         * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs 
2559         for properties to set on the tag.
2560
2561         * gtk/testtext.c: fixups to reflect create_tag change
2562         
2563         * gtk/gtktexttag.c (gtk_text_tag_set_property):
2564         background/foreground stipple are objects, not boxed.
2565
2566         * demos/gtk-demo/textview.c: intellihancing
2567
2568 Fri Mar 16 11:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
2569
2570         * gtk/gtktreeview.c (gtk_tree_view_set_model): Fixed some
2571         braindeadness spotted by Jamie Strachan <frostfreek@yahoo.com>.
2572
2573 2001-03-16  Alexander Larsson  <alexl@redhat.com>
2574
2575         * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
2576         Fix sign error with queued region translations.
2577
2578 2001-03-15  HideToshi Tajima  <tajima@happy>
2579
2580         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
2581         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
2582         * gtk/gtkentry.c (update_im_cursor_location): 
2583         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
2584         * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
2585         set_cursor_pos to set_cursor_location in GtkInputContext class
2586
2587 Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>
2588
2589         * gtk/gtkcellrenderer.h: Changed prototype to allow for getting
2590         the location of the cell relative to its area.
2591         * gtk/gtkcell*: modified for above change
2592         * gtk/gtktreeview.c: modified for above change.
2593
2594 Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>
2595
2596         * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
2597          (gtk_tree_view_finalize): actually unref the model.  Thanks to
2598         Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
2599
2600 2001-03-14  Havoc Pennington  <hp@redhat.com>
2601
2602         * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
2603         
2604         * gtk/gtk.h: remove gtkdata.h
2605
2606         * gtk/Makefile.am: remove gtkdata
2607         
2608         * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
2609         not "disconnect" on the adjustments.
2610         
2611         * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not
2612         GtkData
2613
2614         * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
2615         not GtkData
2616
2617         * configure.in: handle case where X render exists, but Pango lacks
2618         Xft support.
2619
2620 2001-03-15 Alexander Larsson  <alexl@redhat.com>
2621
2622         * gtk/gtktoolbar.[ch]:
2623         New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
2624         to add stock items to toolbars.
2625
2626         * gtk/Makefile.am:
2627         Remove ../gdk/gdkim.h from gdk_headers.
2628
2629 2001-03-15  Sven Neumann  <sven@gimp.org>
2630
2631         * gdk/gdkim.h: removed
2632         
2633         * gdk/gdkprivate.h
2634         * gdk/x11/gdkim-x11.c: do not include gdkim.h 
2635
2636 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
2637
2638         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
2639         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
2640         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
2641         set_cursor_pos() virtual method
2642
2643         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
2644         (gtk_im_context_xim_set_cursor_pos): add implementation for
2645         set_cursor_pos() method
2646
2647         * gtk/gtkentry.c (recompute_idle_func): set current cursor
2648         position to input methods
2649
2650 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
2651
2652         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
2653         code a lot.
2654
2655         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
2656         g_mem_chunk.
2657         (_gtk_tree_data_list_alloc): use g_mem_chunk.
2658         (_gtk_tree_data_list_node_to_value): Fix to switch on
2659         G_TYPE_FUNDAMENTAL.
2660         (_gtk_tree_data_list_value_to_node): Fix to switch on
2661         G_TYPE_FUNDAMENTAL.
2662         (_gtk_tree_data_list_node_copy): Fix to switch on
2663         G_TYPE_FUNDAMENTAL.
2664
2665 2001-03-12  Havoc Pennington  <hp@redhat.com>
2666
2667         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
2668         to convert to new property API. Also, change default_width and
2669         default_height get_property to return 0 as the flag value for
2670         "unset"; -1 is not a valid value for these fields.
2671
2672 2001-03-12  Havoc Pennington  <hp@redhat.com>
2673
2674         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
2675         enum with registration for icon sizes, instead of strings.
2676
2677         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
2678         gtkwidget.c: Fix to reflect GtkIconSize
2679         
2680 2001-03-12  Alexander Larsson  <alexl@redhat.com>
2681
2682         Make GtkFB compile and link.
2683         
2684         * gdk/linux-fb/gdkdrawable-fb2.c:
2685         window->mapped to GDK_WINDOW_IS_MAPPED(). 
2686         
2687         * gdk/linux-fb/gdkwindow-fb.c:
2688         window->mapped to GDK_WINDOW_IS_MAPPED(). 
2689         Added gdk_window_shape_combine_region.
2690         Added assorted placeholders for unimplemented new GdkWindow API calls.
2691
2692 2001-03-12  Alexander Larsson  <alexl@redhat.com>
2693
2694         * gtk/gtkfilesel.c:
2695         Add more test when converting filenames from/to utf-8.
2696         Don't allow entering text in the filename entry which isn't allowed in
2697         a filename. Just beep instead.
2698
2699 2001-03-12  Alexander Larsson  <alexl@redhat.com>
2700
2701         * gtk/gtkclist.c:
2702         Scroll using gdk_window_scroll(). Don't wait for exposes.
2703         Move the column headers in an order that makes them flash less.
2704
2705 2001-03-10  Hans Breuer  <hans@breuer.org>
2706
2707         * gdk/gdk.def : updated
2708
2709         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
2710         to offseting the clip_mask at the right place
2711
2712         * gdk/win32/gdkwindow-win32.c : don't create background brushes
2713         for all the gdkClasses, especially not for the input_only case.
2714         Otherwise flickering wont be avoidable, because we don't get
2715         WM_ERASEBKGND message for these windows.
2716
2717         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
2718         and fixed massive redraw problems apparently triggered by Alexanders 
2719         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
2720         but it seems to work quite well :-)
2721
2722         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
2723         prototype
2724
2725 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
2726
2727         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
2728         (gtk_list_store_set_cell): Fix a stupid typo.
2729
2730 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
2731
2732         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
2733         select_all not work if you're in SINGLE mode (it doesn't make that
2734         much sense, anyway.)
2735
2736         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
2737         handle types more sanely.
2738         (_gtk_tree_data_list_value_to_node): handle types more sanely.
2739         (_gtk_tree_data_list_node_copy): handle types more sanely.
2740
2741         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
2742         GValue better. Converts the type as well.
2743
2744         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
2745         GValue better. Converts the type as well.
2746
2747 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
2748
2749         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
2750         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
2751         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
2752         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
2753
2754         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
2755         gdk_im/gdk_ic.
2756
2757 2001-03-09  Hans Breuer  <hans@breuer.org>
2758
2759         * gdk/gdk.def : updated
2760
2761         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
2762         for their palette
2763
2764         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
2765         removing
2766
2767         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
2768         removing and implemented Havoc's GdkWindow state functions; 
2769         stick/unstick only as no-op, cause I don't know how to emulate 
2770         on win32 ...
2771
2772         * gtk/gtk.def : updated
2773
2774         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
2775
2776         * gtk/gtktypeutils.c : #include <string.h>
2777
2778         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
2779
2780 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
2781
2782         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
2783         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
2784         not a boxed.
2785
2786 2001-03-09  Alexander Larsson  <alexl@redhat.com>
2787
2788         * docs/Changes-2.0.txt:
2789         Document expose event->region change and that gtk_widget_event
2790         doesn't allow passing expose events.
2791
2792         * gdk/gdkevents.h:
2793         Add region to expose event.
2794         
2795         * gdk/gdkevents.c:
2796         Handle event->region in gdk_event_copy() and gdk_event_free().
2797
2798         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
2799         Generate expose_event->region when creating expose events.
2800
2801         * gdk/x11/gdkevents-x11.c:
2802         Generate expose events with regions when translating X events.
2803
2804         * gtk/gtkcontainer.[ch]:
2805         Default expose handler that propagates expose events to NO_WINDOW
2806         children. New function gtk_container_propagate_expose()
2807
2808         * gtk/gtkwidget.[ch]:
2809         Moved gtk_widget_event implementation to gtk_widget_event_internal.
2810         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
2811         expose events. New function gtk_widget_send_expose() to send expose
2812         events. New function gtk_widget_region_intersect() to calculate
2813         window/region intersections.
2814         
2815         * gtk/gtkmain.c (gtk_main_do_event):
2816         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
2817         Use gtk_widget_send_expose() to send expose events.
2818         
2819         * gtk/gtkbin.c:
2820         * gtk/gtkbox.c:
2821         * gtk/gtkfixed.c:
2822         * gtk/gtkimagemenuitem.c:
2823         * gtk/gtklist.c:
2824         * gtk/gtkpacker.c:
2825         * gtk/gtktable.c:
2826         * gtk/gtktree.c:
2827         Remove expose handler, using the default container implementation
2828         instead.
2829         
2830         * gtk/gtkbutton.c:
2831         * gtk/gtkcheckbutton.c:
2832         * gtk/gtkeventbox.c:
2833         * gtk/gtkfixed.c:
2834         * gtk/gtkhandlebox.c:
2835         * gtk/gtklayout.c:
2836         * gtk/gtklistitem.c:
2837         * gtk/gtkmenu.c:
2838         * gtk/gtkmenubar.c:
2839         * gtk/gtkmenuitem.c:
2840         * gtk/gtknotebook.c:
2841         * gtk/gtkoptionmenu.c:
2842         * gtk/gtkpaned.c:
2843         * gtk/gtkscrolledwindow.c:
2844         * gtk/gtktogglebutton.c:
2845         * gtk/gtktoolbar.c:
2846         * gtk/gtktreeitem.c:
2847         * gtk/gtkviewport.c:
2848         Chain expose handler to parent class handler. Use
2849         gtk_container_propagate_expose() to propagate exposes.
2850
2851         * gtk/gtkclist.c (check_exposures):
2852         * gtk/gtktext.c (process_exposes):
2853         Use gtk_widget_send_expose instead of gtk_widget_event.
2854
2855 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
2856
2857         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
2858
2859 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
2860
2861         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
2862         unref the nodes.   Fixes bug #50058.
2863
2864         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
2865         "::ref_iter" to "::ref_node".
2866         (gtk_tree_model_unref_node): change "::unref_iter" to
2867         "::unref_node". Fixes bug #50064.
2868
2869 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
2870
2871         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
2872         support for invisible cells.
2873          (gtk_tree_view_bin_expose): ditto
2874
2875 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
2876
2877         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
2878         on gobjects.
2879
2880         * tests/testtreefocus.c (main): New test file.
2881
2882         * tests/testtreeview.c: update to latest glib changes.
2883
2884         * tests/testtreecolumns.c: update to latest glib changes.
2885
2886 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
2887
2888         * gtk/testgtk.c: re-enabled event watcher emission hooks.
2889
2890 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
2891
2892         * *.c: added accumulator data argument to g_signal_newc()
2893         functions.
2894
2895         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
2896         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
2897         * gtk/treestoretest.c (make_window):
2898         s/g_signal_connect/g_signal_connectc/.
2899
2900         * gtk/gtktextbuffer.c: completed signal arg fixups,
2901         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
2902
2903 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
2904
2905         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
2906         G_CONST_RETURN.
2907
2908         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
2909         ::hierarchy-changed signal when a widget changes
2910         from anchored to unanchored or vice versa.
2911         (anchored means 
2912          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
2913         Use a private flag to keep track of this efficiently.
2914
2915 2001-03-07  Havoc Pennington  <hp@redhat.com>
2916
2917         * gtk/testgtk.c (create_spins): uglify so that size request gets
2918         tested.
2919
2920         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
2921         request on values for upper/lower, completes #6152
2922
2923 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
2924
2925         * Makefile.am: Remove gtk-config-2.0 again.
2926         (Grrrr, pkg-config. And stops make loops.)
2927
2928 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
2929
2930         * gtk/gtksignal.[hc]: removed old emission hook API.
2931         
2932         * docs/Changes-2.0.txt: fixed sections.
2933         
2934         * gtk/gtktextbuffer.c: signal arg fixups.
2935
2936 2001-03-07  Havoc Pennington  <hp@redhat.com>
2937
2938         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
2939
2940         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
2941         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
2942         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
2943         validation and the redraw which is higher priority than the
2944         validation.
2945
2946 2001-03-07  Havoc Pennington  <hp@redhat.com>
2947
2948         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
2949         (gtk_entry_set_property): remove trailer
2950
2951         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
2952         (gtk_entry_get_width_chars): new functions, to set size request to 
2953         a given number of characters
2954
2955         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
2956
2957         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
2958         (gtk_dialog_get_has_separator): new function
2959         (run_delete_handler): fix to not emit "response" signal
2960         because we already did in the delete event handler installed
2961         at dialog creation time.
2962         
2963         * gtk/gtkdialog.h: add a has_separator property,
2964         add GTK_DIALOG_NO_SEPARATOR flag
2965
2966 2001-03-07  Havoc Pennington  <hp@redhat.com>
2967
2968         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
2969         off decorations for a window.
2970
2971         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
2972         changes
2973
2974         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
2975         to get location of PangoLayout inside the label, closes #51198
2976
2977         * gtk/testgtk.c (create_bbox): fix up button box usage
2978
2979         * gtk/testcalendar.c (create_calendar): fix up button box usage
2980
2981         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
2982
2983         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
2984
2985         * gtk/gtkhbbox.h: deprecations
2986
2987         * gtk/gtkvbbox.h: deprecations
2988
2989         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
2990         emulate deprecated gtk_button_box_get_spacing
2991
2992         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
2993         the "set global default" functions
2994         (struct _GtkButtonBox): remove "spacing" field, use the one from 
2995         GtkBox base class
2996
2997         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
2998
2999         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
3000         render the icon, return the missing image icon.
3001
3002         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
3003         image icon if the load fails.   
3004
3005         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
3006         when no image is found; should be the Netscape "missing image"
3007         icon eventually but for now is a random image
3008
3009         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
3010         role for the session manager
3011
3012         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
3013
3014         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
3015         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
3016
3017         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
3018
3019 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
3020
3021         * gtk/*.c: marshaller fixes.
3022         
3023         * gtk/gtkmarshal.list: extreme cleanup.
3024
3025         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
3026         param spec for now.
3027
3028         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
3029         where appliable.
3030
3031         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
3032         special cased autogenerated boxed types from gtktypebuiltins_ids.c
3033         which are not reference counted:
3034         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
3035         PangoFontDescription, GtkTreeIter and GtkTreePath.
3036
3037 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
3038
3039         * gtk/gtktreeselection.h: 
3040         * gtk/gtktreemodel.c:
3041         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
3042         file should be included directly, and gobject/gmarshal.h
3043         as well as gtk/gtkmarshal.h even can't be included directly.
3044
3045         * Makefile.am: grr, install gtk-config-2.0.
3046
3047         * gtk/testgtk.c:
3048         * gtk/simple.c:
3049         * gtk/gtkmenu.c:
3050         * gtk/gtkitemfactory.c: use g_object_connect() instead of
3051         passing "*signal*::*" args to gtk_widget_set().
3052         
3053         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
3054         
3055         * gtk/*.c: removed trailer arg from property setters and getters.
3056         macro fixups.
3057
3058 2001-03-07  Alexander Larsson  <alexl@redhat.com>
3059
3060         * gtk/gtklabel.c (set_markup): Removed warning
3061
3062 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
3063
3064         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
3065         field to allow you to hide cell renderers.
3066
3067         * gtk/gtkcellrenderer.c: Add support for invisible cells.
3068
3069         * gtk/gtktreeview.c: Add support for invisible cells.
3070
3071 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
3072
3073         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
3074         Add "clicked" signal back to columns.
3075
3076         * ChangeLog: remove conflict markers.
3077
3078 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
3079
3080         * gtk/gtkbutton.c: Add animation of activation by, on 
3081         activate, pressing the button, and adding a timeout that 
3082         releases the button after 250ms or on key release and
3083         emits ::clicked. (#51501)
3084
3085         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
3086         action area, we connect to ::clicked instead of ::activate
3087         so the dialog stays up through the animation.
3088
3089 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
3090
3091         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
3092         check the ignore_enter flag for the menu shell that
3093         the item is actually a child of, not for attached
3094         submenus. (#51536)
3095
3096 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
3097
3098         * gtk/gtkmain.c (gtk_propagate_event): Only do special
3099         special key-press grab handling for widgets within
3100         GtkWindows. Otherwise, fall through to normal case.
3101
3102         This prevents key events being sent twice to GtkInvisible
3103         widgets, which can cause all sorts of mischief.
3104
3105 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
3106
3107         * gtk/gtkmain.c (gtk_propagate_event): When a grab
3108         widget is in effect, give the grab widget a first
3109         crack at KEY_PRESS/RELEASE events. (#424)
3110
3111 2001-03-06  James Henstridge  <james@daa.com.au>
3112
3113         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
3114         offset for the window_state_event to point at window_state_event
3115         rather than no_expose_event.
3116
3117 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
3118
3119         * gtk/gtkimmodule.h: fix busted /* comment */
3120
3121 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
3122
3123         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
3124         object properties.
3125
3126 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
3127
3128         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
3129         add object properties.
3130
3131         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
3132         to add object properties.
3133
3134         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
3135         object properties.
3136
3137         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
3138         add object properties.
3139
3140         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
3141         object properties.
3142
3143 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
3144
3145         * gtk/gtktreemodel.c: renamed "child_toggled" to
3146         "has_child_toggled".
3147
3148         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
3149         handle new signal name.
3150
3151         * gtk/gtktreestore.c: Updated to handle new signal name.
3152         * gtk/gtklisttore.c: Updated to handle new signal name.
3153         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
3154
3155 2001-03-05  Alexander Larsson  <alexl@redhat.com>
3156
3157         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
3158         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
3159
3160 2001-03-05  Michael Natterer  <mitch@gimp.org>
3161
3162         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
3163         pixbuf-engine coincidentially also failed to make one of it's
3164         parent_class pointers static, causing overwriting of GtkLabel's
3165         parent_class pointer in pixbuf_style_class_init().
3166         (Will commit the fix to the pixbuf-engine too).
3167
3168 2001-03-05  Alexander Larsson  <alexl@redhat.com>
3169
3170         * gdk/gdkwindow.h:
3171         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
3172         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
3173         gdk_window_set_icon_list for net wmspec functionality.
3174
3175         * gdk/x11/gdkwindow-x11.c:
3176         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
3177         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
3178         gdk_window_set_icon_list.
3179         Added gdk_wmspec_change_state helper function and used it in the code.
3180         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
3181
3182         * gtk/gtkdialog.c (gtk_dialog_init):
3183         Set GDK_WINDOW_TYPE_HINT_DIALOG.
3184
3185         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
3186         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
3187
3188         * gtk/gtkwindow.c:
3189         new function gtk_window_set_type_hint.
3190         On realize, set type hint and modal hint.
3191
3192         * gtk/gtkwindow.h:
3193         Added type_hint field and gtk_window_set_type_hint.
3194
3195 2001-03-05  Alexander Larsson  <alexl@redhat.com>
3196
3197         * gtk/gtklabel.[ch]:
3198         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
3199         New function gtk_label_get_accel_keyval () to get the underline accelerator
3200         of the label. Setting the label pattern overrides other attributes.
3201
3202 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
3203
3204         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
3205         Added missing initializers to gtk_rc_style_init().
3206
3207 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
3208
3209         * gtk/gtktextview.c: fixed bug #51097 about setting 
3210         gtk_text_view_set_border_window_size() if the widget is 
3211         already realized.
3212
3213 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
3214
3215         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
3216
3217         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
3218         comment. Won't do to have duplicated doc comments between
3219         the platform subdirs.
3220
3221 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
3222
3223         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
3224           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
3225
3226         Detectable auto-repeat - make a repeating key generate
3227         press/press/press/release instead of press/release pairs.
3228
3229         If we have Xkb and XkbSetDectableAutoRepeat supports
3230         that, we do it that way. Otherwise, when we get
3231         a release event, we check ahead with XPending to see
3232         if the next key is a KeyPress with the same keycode
3233         and timestamp. (Not 100% reliable, but pretty close.)
3234           
3235 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
3236         
3237         * gtk/gtkmain.c (gtk_propagate_event): Only do special
3238         special key-press grab handling for widgets within
3239         GtkWindows. Otherwise, fall through to normal case.
3240  
3241         This prevents key events being sent twice to GtkInvisible
3242         widgets, which can cause all sorts of mischief.
3243  
3244 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
3245  
3246         * gtk/gtkmain.c (gtk_propagate_event): When a grab
3247         widget is in effect, give the grab widget a first
3248         crack at KEY_PRESS/RELEASE events. (#424)
3249  
3250 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
3251
3252         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
3253         to extend the selection. (Roughly based on patch
3254         from Jay Cox, #50939)
3255
3256         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
3257         to properly handle previous GDK_BUTTON_PRESS. 
3258         (Patch from Jay Cox, #50938)
3259
3260         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
3261         '\0' back along with the deleted text. (#51148)
3262
3263 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
3264
3265         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
3266         the group when extracting it from the X keyboard event.
3267
3268         * modules/input/Makefile.am modules/input/imipa.c: 
3269         Simple module for entering IPA. (Do we need a 
3270         gtk-stupid-input-tricks CVS module?)
3271
3272 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
3273
3274         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
3275         const.
3276
3277         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
3278
3279         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
3280         is no focus widget for the dialog currently, grab the focus as well
3281         as the default.
3282
3283         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
3284         the action area's children to iterate through, not the
3285         dialog's children.
3286
3287 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
3288
3289         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
3290         Add plug-socket tests. (Won't work worth a darn until I commit
3291         the rest of the plug-socket changes, but no reason these
3292         can't go into CVS now.)
3293
3294 2001-03-02  Havoc Pennington  <hp@redhat.com>
3295
3296         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
3297         _gdk_region_get_xrectangles()
3298
3299         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
3300
3301         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
3302
3303         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
3304         function, contributed by Ron Steinke    
3305
3306         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
3307         gdk_net_wm_supports
3308
3309         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
3310         New function, contributed by Ron Steinke
3311
3312         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
3313         used to line up the text in the entry when using the entry for
3314         editable sheet cell hacks
3315
3316         * gtk/testgtk.c (create_entry): test the activate_default setting
3317         on GtkEntry
3318
3319         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
3320         cause the entry to activate the default button for a dialog when 
3321         activated
3322         (gtk_entry_get_activates_default): new function
3323
3324 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
3325
3326         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
3327         Hwang to move call to sync_selection() up a few lines
3328         to before the row list is modified, to fix crash when
3329         removing rows in the undo_selection list.
3330
3331         (Test case provided by Daniel Elstner:
3332
3333         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
3334
3335 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
3336
3337         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
3338         of tree->root_tree in parent_set rather than _map(), 
3339         fixing #50892 in a bit better manner.
3340
3341 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
3342
3343         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
3344
3345 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
3346
3347         * gtk/gtkstyle.c : Remove duplicate fwd decl for
3348         gtk_default_draw_shadow.
3349
3350 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
3351
3352         * gdk/gdkimage.c (gdk_image_new): Remove excess 
3353         warning, make warnings more verbose, treat a error
3354         in shmat as permanent, and don't try again.
3355         (#51163, Ed Randall.)
3356
3357 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
3358
3359         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
3360         delay for the first click before starting to scroll.
3361         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
3362
3363         * gtk/gtktext.c: GtkText should have I-beam cursor. 
3364         (based on gtk-enf-990513-1.patch, Eric Fisher.)
3365
3366 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
3367
3368         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
3369         cleanup to remove some references to unused
3370         ->xoffset, ->yoffset.
3371
3372 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
3373
3374         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
3375         mask. (#51039, fix from Martin Maierhofer)
3376
3377 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
3378
3379         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
3380         for unshifted + and shifted = for non-us keyboards.
3381         Make <Control>+ and <Control>- work as well as 
3382         <Control>KP_Plus, <Control>KP_Minus for recursive
3383         open/close.  (#2682, René Seindal)
3384
3385 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
3386
3387         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
3388         the active menu item before deactivating the menu,
3389         so gtk_menu_popdown doesn't change the history. (#50964)
3390         
3391 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
3392
3393         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
3394         draw lines with text_gc rather than black_gc.
3395         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
3396
3397 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
3398
3399         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
3400         Move handling of buttons fully in gtktreeviewcolumn.  This code is
3401         less interrelated then it was, but it still requires the
3402         GtkTreeView to map it.
3403
3404         * test/testtreecolumn.c: Now I can add a column to one view,
3405         remove it, add it to the another view, remove it, then re-add it
3406         to the first.  Nifty.
3407
3408 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
3409
3410         * docs/tutorial/gtk-tut.sgml: Minor corrections
3411
3412 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
3413
3414         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
3415         GtkRowReference.
3416
3417 2001-02-28  Havoc Pennington  <hp@redhat.com>
3418
3419         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
3420         draw_default
3421         (gtk_widget_draw_focus): remove this function; we could instead
3422         make it just gtk_widget_draw(), but in most cases I think the
3423         result would be broken user code, so think it's better to have
3424         that code not compile and get fixed
3425         (gtk_widget_draw_default): ditto
3426
3427         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
3428         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
3429         
3430         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
3431         widgets lose/get the default, instead of calling draw_default
3432         
3433         * docs/Changes-2.0.txt: note about all this
3434
3435         Then fixed every widget in GTK, I won't list all the filenames.
3436
3437 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
3438
3439         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
3440         _gtk_tree_row_reference_deleted.
3441         (inserted_callback): Proxy out to
3442         _gtk_tree_row_reference_inserted.
3443         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
3444         get around signal emission ordering problem.
3445
3446         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
3447         fix to work with SINGLE 
3448         (_gtk_tree_selection_internal_select_node): Major sanitization on
3449         selections.  SINGLE now seems to work.
3450
3451         * tests/Makefile.am: add testtreecolumn.c:
3452
3453         * tests/testtreecolumn.c: New test.  Mostly points out selection
3454         bugs currently, but will test columns later.
3455
3456         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
3457         selection bug.  I hate touching this code -- it's scary.
3458
3459 2001-02-26  Havoc Pennington  <hp@redhat.com>
3460
3461         * gtk/testgtk.c: test the window state stuff
3462
3463         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
3464         window come to the user's attention as if it were just created
3465         (gtk_window_iconify): new function
3466         (gtk_window_deiconify): new function
3467         (gtk_window_stick): new function
3468         (gtk_window_unstick): new function
3469         (gtk_window_maximize): new function
3470         (gtk_window_unmaximize): new function
3471
3472         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
3473
3474         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
3475
3476         * gdk/x11/gdkevents-x11.c: create window state events when
3477         appropriate
3478         (gdk_wmspec_supported): new function
3479
3480         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
3481         iconification before showing the window
3482         (gdk_window_deiconify): new function
3483         (gdk_window_stick): new function
3484         (gdk_window_unstick): new function
3485         (gdk_window_maximize): new function
3486         (gdk_window_unmaximize): new function
3487
3488         * gdk/gdkwindow.c: store the window state in the window; 
3489         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
3490         window->mapped.
3491         (gdk_window_get_state): return the current window state
3492
3493         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
3494         (gdk_event_get_state): handle GDK_WINDOW_STATE
3495         (gdk_synthesize_window_state): function to create the window state
3496         events
3497
3498         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
3499         event, for changes to "window state" such as maximized, sticky, 
3500         etc.
3501         
3502         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
3503         focuses a window
3504
3505         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
3506         finds out if we support a given WM spec hint
3507
3508 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
3509
3510         * docs/faq/gtk-faq.sgml: New question re memory leaks.
3511
3512 2001-02-25  Hans Breuer  <hans@breuer.org>
3513
3514         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
3515         cause we want to loose those prototypes only in the latter case
3516
3517         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
3518         GdkPixmapImplWin32 because it itsn't derived from it. Use the
3519         impl member variable instead
3520
3521         * gtk/gtk.def : updated
3522
3523         * gtk/gtklist.c : 
3524         * gtk/gtkmenus.c : include <string.h> for memset ()
3525
3526         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
3527         for everthing built here, but for gtk-x.x.dll only. This solves
3528         problem of indifferent gtk type definitions
3529
3530 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@redhat.com>
3531
3532         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
3533
3534 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
3535
3536         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
3537         column that is exposed.
3538
3539         (_gtk_tree_view_update_size): Changed name from set_size, and
3540         changed function to do more work, and not force people calling it
3541         to figure out the size.  Simplifies a lot of code elsewhere.
3542
3543 2001-02-23  Alexander Larsson  <alexl@redhat.com>
3544
3545         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
3546         return solid masks for xpms that have no transparent color.
3547         This makes the ..._create_from_xpm... API backwards
3548         compatible.
3549
3550 2001-02-23  Tor Lillqvist  <tml@iki.fi>
3551
3552         * README.win32: Update. Mention the gtk-1-3-win32-production
3553         branch.
3554
3555         * gdk/win32/bdfcursor.c: New file. A program that generates
3556         xcursors.h. Thanks to Stefan Ondrejicka.
3557
3558         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
3559         compact format.
3560
3561         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
3562
3563         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
3564         function, uses xcursors.h.
3565         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
3566         cursor from inline data instead of using LoadCursor() to generate
3567         it from a resource.
3568
3569         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
3570         event, must check the Windows message for mouse button state, as
3571         the GDK event state might not have been built if it is
3572         undelivered. Remove one goto.
3573
3574         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
3575         SetCursor() if the current cursor as returned by GetCursor() is
3576         the window's previous cursor. The ChildWindowFromPoint() test
3577         apparently didn't work correctly.
3578
3579         * gdk/win32/rc/*.cur: Remove.
3580
3581         * gdk/win32/rc/gdk.rc.in: Remove cursors.
3582
3583         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
3584
3585         * gtk/makefile.{mingw,msc}.in: Updates.
3586
3587 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
3588
3589         * gtk/gtktreemodel.h: add functions for signal emission.
3590
3591         * gtk/gtktreestore.c: move to use above functions instead of
3592         g_signal_emit.
3593
3594         * gtk/gtkliststore.c: ditto
3595
3596 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
3597
3598         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
3599         GObject instead of GtkObject.
3600
3601         * gtk/gtkliststore.c: ditto.
3602
3603         * gtk/gtktreemodelsort.c: ditto.
3604
3605         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
3606         GtkTreeModelIface, instead of in each model.
3607
3608 2001-02-21  Havoc Pennington  <hp@redhat.com>
3609
3610         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
3611         unbreak this function
3612
3613         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
3614         properties
3615
3616         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
3617         properties
3618
3619         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
3620         properties
3621
3622         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
3623         mean unset the max length
3624
3625 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
3626
3627         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
3628         Changed name to be set_cell_data_func to make it clear what
3629         the functino does.  Close bug #51069.
3630
3631 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
3632
3633         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
3634         have memory actually freed.  Keeps box running longer.
3635
3636 2001-02-21  Alexander Larsson  <alexl@redhat.com>
3637         
3638         * gtk/gtkseparatormenuitem.[ch]:
3639         Added new menu separator item. The drawing and size handling
3640         is still done in GtkMenuItem, but the API is a bit more sane.
3641         
3642         * gtk/Makefile.am:
3643         Add gtkseparatormenuitem.[ch].
3644
3645         * gtk/gtk.h:
3646         Add gtkseparatormenuitem.h.
3647         
3648         * gtk/gtkentry.c:
3649         * gtk/gtkmenufactory.c:
3650         * gtk/gtktextview.c:
3651         Use the new API for menu separators.
3652         
3653         * demos/gtk-demo/menus.c (create_menu):
3654         Add some GtkSeparatorMenuItem demo code.
3655
3656 2001-02-20  Havoc Pennington  <hp@redhat.com>
3657
3658         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
3659         Lee Mallabone
3660
3661         * gtk/gtkarrow.c: Convert to new property API, patch from 
3662         Lee Mallabone
3663
3664 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
3665
3666         * tests/testtreeview.c (toggled_callback): fix to reflect change
3667         in GtkTreeModelStore.
3668
3669 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
3670
3671         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
3672         function to create an icon set from a pixbuf.
3673
3674 2001-02-20  Alexander Larsson  <alexl@redhat.com>
3675
3676         * gtk/gtkcellrenderertext.[ch]:
3677         Add a "markup" property.
3678
3679         * gtk/treestoretest.c:
3680         Use the markup property, remove some leftover stuff from
3681         GtkTreeModelMapping.
3682
3683 2001-02-20  Alexander Larsson  <alexl@redhat.com>
3684
3685         * gtk/gtklabel.c (gtk_label_set_selectable):
3686         Queue a redraw if the selectable setting was changed.
3687
3688 2001-02-20  Alexander Larsson  <alexl@redhat.com>
3689
3690         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
3691         Actually copy the whole gc, not just the public parts.
3692         
3693         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
3694         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
3695         labels.
3696
3697 2001-02-19  Havoc Pennington  <hp@pobox.com>
3698
3699         * gdk/gdkwindow.c: docs
3700
3701         * gdk/gdkrgb.c: docs
3702
3703         * gdk/gdkregion-generic.c: docs
3704
3705         * gdk/gdkgc.c (gdk_gc_set_values): docs
3706
3707         * gdk/gdkdraw.c: docs
3708
3709         * gdk/gdkdrawable.h: deprecate drawable get/set data
3710
3711 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
3712
3713         * demos/gtk-demo/dialog.c: Add simple new demo.
3714
3715 2001-02-19  Havoc Pennington  <hp@redhat.com>
3716
3717         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
3718         insert_child_anchor signal, bug #50245
3719
3720         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
3721         from create_child_anchor, so the anchor is passed in
3722
3723         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
3724         (_gtk_widget_segment_new): have the child anchor object passed in, 
3725         instead of creating it.
3726
3727         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
3728         to gtk_text_buffer_get_modified
3729
3730 2001-02-19  Havoc Pennington  <hp@redhat.com>
3731
3732         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
3733         changed GLib without fixing GTK
3734
3735         * gtk/gtkrange.h: Rename all the stupid implementation detail 
3736         functions to have an underscore in front. Most of them should 
3737         probably just go away, but for starters don't export them.
3738         Bug #50482
3739
3740 2001-02-19  Havoc Pennington  <hp@redhat.com>
3741
3742         * gdk/gdkcolor.h: test was backward, so deprecated functions were
3743         excluded by default
3744
3745         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
3746         clean up the old code a bit
3747
3748         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
3749         inconsistent state
3750
3751         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
3752         draw inconsistent state
3753
3754         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
3755         (create_menu): add inconsistent test
3756
3757         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
3758         new function
3759         (gtk_check_menu_item_get_inconsistent): new function
3760         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
3761         state (using etched in for now)
3762
3763         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
3764         draw inconsistent state
3765
3766         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
3767         function, used when the user has selected a range of stuff in
3768         different states
3769         (gtk_toggle_button_get_inconsistent): accessor for that
3770         (gtk_toggle_button_paint): draw inconsistent state (etched in?
3771         don't know what else to do)
3772
3773 2001-02-19  Hans Breuer <hans@breuer.org>
3774
3775         * gtk/gtk.def : updated exported symbols
3776
3777         * gtk/makefile.msc.in : updated
3778
3779         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
3780         a colormap, when invoked from testgtk::entry. I'm not sure where
3781         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
3782         avoids immediate crashing ...
3783
3784         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
3785         any objections ?
3786
3787         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
3788         0 parameter. At least msvc doesn't like macros with var args. 
3789         I simply removed the extra 0, was it a feature or a typo ?
3790
3791         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
3792         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
3793         because the value assignment to the internal struct wasn't working.
3794         I'm not absolutely sure. The problem could have been resolved by
3795         changing the "func" declartion in the struct, but was the pointer
3796         to the function pointer intended ?
3797
3798         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
3799
3800         * gdk/gdk.def : updated exported symbols
3801
3802         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
3803         only use SetDIBitsToDevice if there is a palette at the drawable
3804         and the image is GDK_VISUAL_PSEUDO_COLOR
3805
3806         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
3807
3808         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
3809
3810         * gdk/*/makefile.msc : updated
3811
3812 2001-02-19  Havoc Pennington  <hp@redhat.com>
3813
3814         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
3815         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
3816
3817         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
3818         (gdk_key_repeat_restore): nuke
3819
3820         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
3821         (gdk_init_check): no atexit func
3822
3823         * gdk/gdkrgb.h: mark some stuff deprecated
3824
3825         * gdk/gdkcolor.h: mark some stuff deprecated
3826         
3827         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
3828
3829         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
3830
3831 2001-02-16  Havoc Pennington  <hp@redhat.com>
3832
3833         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
3834         scroll steps.
3835
3836         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
3837         steps, and add Ctrl-arrow shortcuts for paging visually as with
3838         HScale, since Page Up and Page Down move logically.
3839
3840         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
3841         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
3842         
3843         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
3844         steps
3845         (gtk_range_scroll): handle the visual steps
3846
3847         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
3848         scroll steps
3849
3850         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
3851         steps, not the logical ones.
3852
3853         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
3854         (scroll_vertical): handle up/down steps
3855
3856 2001-02-19 Alexander Larsson  <alexl@redhat.com>
3857
3858         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
3859         Copy data and free data with free().
3860
3861         * gdk-pixbuf/gdk-pixbuf.c:
3862         * gdk-pixbuf/io-jpeg.c:
3863         * gdk-pixbuf/io-png.c:
3864         Use g_try_malloc/g_free instead malloc/free.
3865         
3866         * gdk-pixbuf/test-gdk-pixbuf.c:
3867         Must... initialize... gobject...
3868         
3869         * gdk-pixbuf/pixops/timescale.c:
3870         * gtk/gtkcalendar.c:
3871         Use g_malloc instead of malloc.
3872         
3873 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
3874
3875         * gtk/testgtkrc:
3876         Comment out property assignments, these don't work yet.
3877
3878 2001-02-17  Havoc Pennington  <hp@pobox.com>
3879
3880         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
3881         bit.
3882
3883 2001-02-17  Havoc Pennington  <hp@pobox.com>
3884
3885         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
3886         shadowed variables that had broken size request in some cases,
3887         leading to bogus tooltips (#50996)
3888
3889 2001-02-06  Jon K Hellan  <hellan@acm.org>
3890
3891         Implement fast browsing of tooltips, bug #50619
3892         
3893         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
3894         and last_popdown
3895         
3896         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
3897         use_sticky_delay and last_popdown.
3898         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
3899         time of popdown.
3900         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
3901         is NULL.
3902         (gtk_tooltips_recently_shown): New static function.  Return true
3903         if < sticky_delay has elapsed since last popdown.
3904         (gtk_tooltips_event_handler): Display window after sticky_delay
3905         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
3906         since last popdown.
3907         
3908 2001-02-17  Havoc Pennington  <hp@pobox.com>
3909
3910         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
3911         instead of (). #6394
3912
3913         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
3914         G_CONST_RETURN, make it return by reference, #50473
3915         
3916 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
3917
3918         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
3919         generated ENTER_NOTIFY event with 0, otherwise not explicitely
3920         setup fields contain garbage (e.g. subwindow, breaking
3921         gdk_drawable_ref() upon event copy).
3922         (gtk_menu_stop_navigating_submenu_cb): same here.
3923
3924         * gtk/gtklist.c (gtk_list_vertical_timeout): 
3925         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
3926         * gtk/gtkclist.c (vertical_timeout): 
3927         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
3928         default-zero-intialization for unions to memset(,0,), as unions are
3929         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
3930         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
3931
3932         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
3933         g_closure_sink() warning.
3934
3935         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
3936         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
3937         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
3938         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
3939         
3940 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
3941
3942         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
3943         gtk_*_store_get, and moved to GtkTreeModel.
3944
3945         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
3946
3947         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
3948
3949         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
3950
3951         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
3952         set the func.
3953
3954         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
3955         freeze/thaw notify between setting all the properties for a cell.
3956
3957         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
3958
3959 2001-02-15  Havoc Pennington  <hp@redhat.com>
3960
3961         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
3962         the X coordinates so they're with respect to the line, rather than 
3963         with respect to the layout.
3964
3965         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
3966         Mallabone
3967
3968         * gtk/testgtk.c (create_range_controls): add vscale tests, 
3969         and inverted test
3970
3971         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
3972         #50806
3973
3974         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
3975
3976         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
3977         gtk_text_iter_is_end
3978
3979         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
3980         rename gtk_text_buffer_get_end_iter
3981
3982         * gtk/testgtk.c (create_labels): Add test for selectable
3983
3984         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
3985         the selection stuff. This code is kind of broken since it doesn't 
3986         use the theme engine.
3987
3988         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
3989         fix infinite loop and y offset problem
3990         (gdk_draw_layout_line_with_colors): fix foreground color handling
3991
3992         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
3993         that makes the label selectable.
3994         
3995         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
3996         layout when the style is set, since fonts etc. could have changed.      
3997
3998 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
3999
4000         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
4001
4002         * gtk/gtktreemodelsimple.[ch]: removed.
4003
4004 2001-02-16  Alexander Larsson  <alexl@redhat.com>
4005
4006         * gtk/gtktreemodelmapping.[ch]:
4007         New files. Implement GtkTreeModelMapping.
4008         
4009         * gtk/Makefile.am:
4010         Add gtktreemodelmapping.[ch].
4011         
4012         * gtk/gtk.h:
4013         Add gtktreemodelmapping.h
4014
4015         * gtk/treestoretest.c:
4016         Test the GtkTreeModelMapping
4017
4018 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
4019
4020         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
4021         have a demo, we might as well pass in real values.  Thanks to
4022         clahey for pointing this out.
4023
4024 2001-02-14  Havoc Pennington  <hp@pobox.com>
4025
4026         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
4027         "static" to a private function
4028         (gtk_image_menu_item_class_init): remove destroy handler,
4029         add "image" object property
4030
4031 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
4032
4033         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
4034         Add a shortcut if the window and the current clip_region doesn't
4035         overlap. This is needed when there are a lot of windows in a
4036         window. The layout test in testgtk is a good test.
4037
4038         * gdk/linux-fb/gdkwindow-fb.c:
4039         Whitespace fix.
4040
4041 2001-02-13  Sven Neumann  <sven@convergence.de>
4042
4043         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
4044
4045 2001-02-13  Alexander Larsson  <alexl@redhat.com>
4046
4047         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
4048         Don't reference last_cursor if it is null. Fixes crash when rotating
4049         the screen before having moved the mouse.
4050
4051         * gdk/linux-fb/gdkcc-fb.c: Zapp!
4052
4053         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
4054
4055         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
4056         when using 90 or 270 degrees rotation.
4057
4058 2001-02-12  Havoc Pennington  <hp@pobox.com>
4059
4060         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
4061         it always set the foreground, even if we were only using
4062         a stipple.
4063         (gdk_draw_layout_line_with_colors): new function, allow
4064         override colors
4065         (gdk_draw_layout_with_colors): new function, allow override
4066         colors
4067         (gdk_pango_layout_line_get_clip_region): function to get the clip
4068         region for a logical text range
4069         (gdk_pango_layout_get_clip_region): get the clip region for a
4070         logical text range
4071
4072         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
4073         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
4074         the right number of arguments.
4075
4076         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
4077         enhance the function to check that node data corresponds to a 
4078         view still belonging to the tree.
4079
4080         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
4081         GtkTreePath
4082         (gtk_tree_view_inserted): ditto
4083         (gtk_tree_view_child_toggled): ditto
4084
4085         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
4086         simplify this code.
4087
4088         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
4089         a PangoAttrList
4090
4091         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
4092
4093         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
4094
4095         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
4096         size in the size request 
4097         (gtk_menu_bar_size_allocate): consider toggle size here
4098
4099         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
4100         that displays a widget in the toggle slot
4101
4102         * gtk/testgtk.c: test GtkImageMenuItem
4103
4104         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
4105         
4106         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
4107         request and allocation
4108
4109         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
4110
4111         * gtk/gtkcheckmenuitem.c
4112         (gtk_check_menu_item_toggle_size_request): ditto
4113         
4114 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
4115
4116         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
4117         reference.
4118
4119         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
4120         and refuse to initialize GTK+ if they fail.
4121
4122 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
4123
4124         * configure.in: Add check for gtk-doc version.
4125
4126 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
4127
4128         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
4129         where the xpad/ypad was only being used on one side!
4130
4131 2001-02-11  Tor Lillqvist  <tml@iki.fi>
4132
4133         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
4134         function, copied from X11 version.
4135
4136         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
4137         DestroyCursor failures. The reason for the problem (despite the
4138         inconsistent messages from GetLastError()) was that
4139         DestroyCursor() cannot be called while a cursor is set in a
4140         window. Set the new cursor first and then destroy the old one.
4141         Thanks to jpe@archaeopteryx.com.
4142
4143         * gdk/win32/gdkcc-win32.c: Remove.
4144
4145         * gdk/win32/Makefile.am: Remove from here, too.
4146         
4147         * gdk/gdk.def
4148         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
4149
4150         * gtk/gtk.def
4151         * gtk/makefile.mingw.in: Updates.
4152
4153 2001-02-08  Havoc Pennington  <hp@redhat.com>
4154
4155         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
4156         add a widget to a bin that already has a child.
4157
4158         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
4159
4160         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
4161         
4162         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
4163
4164         * gdk/gdk.h: remove gdkcc.h
4165
4166         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
4167
4168         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
4169         GdkPixbuf, since the previous implementation was GdkColorContext
4170         dependent.
4171
4172         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
4173         
4174 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
4175
4176         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
4177         a sane value!
4178
4179 2001-02-08  Havoc Pennington  <hp@redhat.com>
4180
4181         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
4182         lighten them.
4183
4184 2001-02-08  Havoc Pennington  <hp@redhat.com>
4185
4186         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
4187         validation idle
4188
4189         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
4190         cell renderer
4191
4192         * demos/pixbuf-demo.c (timeout): remove deprecated
4193         gtk_widget_draw
4194
4195         * demos/testpixbuf-save.c (main): remove deprecated
4196         gtk_drawing_area_size
4197
4198         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
4199         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
4200         at the start of the allocation.
4201         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
4202         unsetup or NULL model.
4203
4204         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
4205         even/odd/sorted cells in the tree view.
4206
4207         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
4208         bugfixes
4209
4210         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
4211         backgrounds with draw_flat_box using different detail for even/odd
4212         rows.
4213
4214         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
4215         row, so we can draw the alternating colors thing
4216
4217         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
4218         property from a synonym property, notify for the synonym.
4219         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
4220         (gtk_text_tag_get_property): Always return the font, even if
4221         all its fields aren't set
4222
4223         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
4224         store the attr list; it leaves us with no way to change attributes
4225         in _render according to the render flags, and no way to implement
4226         get_property. Instead store all the specific text attributes. 
4227         Separate whether an attribute is enabled from its value. Sync all
4228         properties with GtkTextTag, make them all consistent, etc.
4229
4230         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
4231         renderers can highlight the sort row/column     
4232
4233         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
4234         accessor functions to get values; this has the side effect of
4235         showing up which accessor functions were missing. Added those.
4236
4237         * gtk/gtktreeviewcolumn.h: Replace set_justification with
4238         set_alignment, to be consistent with GtkLabel, GtkMisc
4239
4240         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
4241         arrow.
4242
4243         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
4244
4245         * gtk/gtktreesortable.h: updates in here
4246
4247 2001-02-07  Sven Neumann  <sven@convergence.de>
4248
4249         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
4250         pango dimensions after painting the background. We used to draw
4251         gigantic flat boxes here.
4252
4253 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
4254
4255         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
4256         error introduced with earlier commit) (pointed out by
4257         Ollie Lho)
4258
4259 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
4260
4261         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
4262         which are no longer necessary.
4263
4264 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
4265
4266         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
4267
4268 2001-02-04  Tor Lillqvist  <tml@iki.fi>
4269
4270         * gdk/gdk.def
4271         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
4272         Provide dummy implementations.
4273
4274 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
4275
4276         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
4277
4278         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
4279         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
4280         deprecated this function.
4281
4282         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
4283         argument.
4284
4285 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
4286
4287         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
4288
4289 2001-02-03  Havoc Pennington  <hp@pobox.com>
4290
4291         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
4292         Mikael Hermansson with patch from Mikael (if there was a toggle
4293         start one after the first character in the range, this function
4294         was broken). Bug #50380
4295
4296 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
4297
4298         * configure.in: Remove confusing comment about X11.
4299
4300 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
4301
4302         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
4303         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
4304         
4305 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
4306
4307         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
4308         it breaks things on BSD. If you want to compile GTK+ with
4309         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
4310         when configuring, since GTK+ simply can't be "pure ANSI" 
4311         in the header files it uses. (#8170, Greg Hudson)
4312
4313 2001-02-02  Havoc Pennington  <hp@redhat.com>
4314
4315         * gtk/gtkwindow.c: docs
4316
4317         * gtk/gtkwidget.c: docs
4318         (gtk_widget_set_colormap): add a reference to the colormap
4319         (gtk_widget_get_default_colormap): add a reference to the colormap
4320
4321         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
4322
4323         * gtk/gtktextiter.c: docs
4324
4325         * gtk/gtkmain.c (gtk_propagate_event): docs
4326
4327         * gtk/gtkpaned.c (gtk_paned_get_position): docs
4328         (gtk_paned_set_position): docs
4329
4330         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
4331         sort interface, no implementation yet.
4332
4333         * demos/testpixbuf.c (new_testrgb_window): replace
4334         gtk_drawing_area_size() with gtk_widget_set_usize()
4335
4336         * demos/testpixbuf-drawable.c (main): ditto
4337         
4338         * gtk/testgtk.c: remove use of GtkStatusbarMsg
4339
4340         * gtk/gtktextbuffer.c: docs
4341
4342         * gtk/gtkstock.c: docs
4343
4344         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
4345
4346         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
4347
4348         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
4349         
4350         * gtk/gtkimage.c: add some docs in here
4351         (gtk_image_size_request): change name of
4352         gtk_widget_render_stock_icon
4353         (gtk_image_get_icon_set): don't dup returned string
4354         (gtk_image_get_icon_set): don't dup returned string
4355
4356         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
4357         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
4358         and gtkiconfactory.h functions
4359
4360         * gtk/gtkiconfactory.c: add some docs in here
4361
4362         * gtk/gtkmain.c (gtk_get_default_language): document
4363         (gtk_get_current_event): document
4364         (gtk_get_current_event_state): document
4365         (gtk_get_event_widget): document
4366
4367         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
4368
4369         * gtk/gtkcontainer.c: Add some documentation
4370         (gtk_container_add): give a more explanatory warning on adding an
4371         already-parented widget, this is kind of a FAQ and also a common
4372         typo that's easier to debug with a nice warning 
4373
4374         * gtk/gtkcellrenderertoggle.c
4375         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
4376         adding this, it's useless
4377         (gtk_cell_renderer_toggle_set_active): remove
4378         (gtk_cell_renderer_toggle_get_radio): add
4379
4380         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
4381         the NULL cell renderer, that doesn't make any sense to me. 
4382
4383         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
4384         demo code should never use deprecated features.
4385
4386         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
4387         code should never use deprecated features.
4388
4389         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
4390         gtk_widget_queue_clear_area deprecated
4391
4392         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
4393         deprecated
4394
4395         * gtk/gtklabel.h: mark gtk_label_get() deprecated
4396
4397         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
4398         a GdkImage deprecated, replaced by new consistently-named
4399         functions       
4400
4401         * gtk/gtkmain.h: Mark gtk_exit() deprecated
4402
4403         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
4404
4405         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
4406         deprecated
4407
4408         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
4409         so it won't appear in docs and confuse people.
4410
4411         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
4412
4413         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
4414         macros deprecated. (can't mark the type itself deprecated, since
4415         GtkProgressBar is not deprecated and we need the type decl to use
4416         GtkProgressBar)
4417
4418         * gtk/gtkpixmap.h: Mark deprecated
4419
4420         * gtk/gtkoldeditable.h: Mark deprecated
4421
4422         * gtk/gtklist.h: Mark deprecated
4423
4424         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
4425         for anything anymore.
4426
4427         * gtk/gtkctree.h: Mark deprecated
4428
4429         * gtk/gtkclist.h: Mark deprecated
4430
4431         * gtk/gtkpreview.h: Mark deprecated
4432
4433         * gtk/gtkpacker.h: Mark deprecated
4434
4435         * gtk/gtktipsquery.h: Mark deprecated
4436
4437         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
4438
4439         * gtk/gtkvruler.h: Add comment that it will move out of GTK
4440
4441         * gtk/gtkhruler.h: Add comment that it will move out of GTK
4442
4443         * gtk/gtkruler.h: Add comment that it will move out of GTK
4444
4445         * gtk/gtkgamma.h: Add comment that it will move out of GTK
4446
4447         * gtk/gtkcurve.h: Add comment that it will move out of GTK
4448
4449 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
4450
4451         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
4452         gdk_colormap_sync private since it was never exported
4453         in a header file.
4454
4455         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
4456         colormap->colors[] for StaticGray, StaticColor colormaps.
4457
4458         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
4459         was being used as if it was image->bits_per_pixel.
4460
4461         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
4462         for the image in the GdkImage structure since it isn't
4463         reconstructable, and we need it to handle packed types
4464
4465         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
4466         the assumption that on Win32 image->bits_per_pixel == image->depth,
4467         always.
4468
4469         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
4470
4471         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
4472         warning message if no converter can be found. 
4473
4474 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
4475
4476         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
4477         chars to isupper() / tolower(). (#567)
4478
4479         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
4480         to clear up 64-bit warnings. (#567)
4481
4482 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
4483
4484         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
4485         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
4486
4487         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
4488         since some people set $(libdir) separately. (#1290, David Kaelbling)
4489
4490 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
4491
4492         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
4493         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
4494         MAXPATHLEN, but the code here depends on a fixed value.)
4495         (#4524)
4496
4497 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
4498
4499         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
4500         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
4501
4502 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
4503
4504         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
4505         viewable there is no way that moving the node will cause the 
4506         focus row to become not viewable, so omit check on the visibility
4507         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
4508
4509 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
4510
4511         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
4512         selection before inserting new text.
4513
4514 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
4515
4516         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
4517         Make the sensitivity of the reparented child track that of
4518         the original parent menu item. (#34218, David Hodson)
4519
4520         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
4521         the case where the current item is destroyed properly.
4522
4523         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
4524         some edge cases with child-less menuitems.
4525         
4526 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
4527
4528         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
4529         key pop down window. (#12074, Jon K Hellan)
4530
4531 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
4532
4533         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
4534         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
4535         The solution here isn't perfect - you get an extraneous
4536         emission of "toggle", which could conceivably confuse an app,
4537         but better than the current situation. LXR search seems to
4538         indicate that no apps in GNOME CVS connect to "toggle".
4539
4540 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
4541
4542         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
4543         gtk_public_h_sources to directly here to avoid warning when
4544         building srcdir != builddir. (#9656)
4545
4546 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
4547
4548         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
4549         handlers in gtkrange.c return the proper values (TRUE == handled)
4550         (#10316).
4551
4552         This is just the tip of the iceberg, but gtkrange.c is the
4553         most common place where the propagation is problematical,
4554         and also a place where it is almost certainly safe to change
4555         this in the stable branch.
4556
4557         (You don't want right click popups on a range control or anything...)
4558
4559 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
4560
4561         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
4562         area on focus out, even if a background pixmap isn't set.
4563         (#13941)
4564         
4565 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
4566
4567         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
4568         to deal with setting the shape properly when scrolling arrows are
4569         turned on, but not visible because there is sufficient space.
4570         (#13432)
4571
4572 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
4573
4574         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
4575         items with submenus, destroy the item along with the submenu.
4576         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
4577         properly.
4578
4579         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
4580         later.
4581
4582 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
4583
4584         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
4585         the focus widget sometimes wasn't drawn with the default if there
4586         was no default widget.
4587
4588         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
4589         unreference pixmaps. 
4590
4591         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
4592         for some extra safety.
4593
4594 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
4595
4596         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
4597         the text of a cell to the old pointer value better, by
4598         copying the new text before freeing the old text. Some code
4599         cleanup. (#8079, Karl Nelson)
4600
4601 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
4602
4603         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
4604         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
4605
4606 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
4607
4608         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
4609         item from a menu, check to see if it matches 
4610         menu->old_active_menu_item, and if so, unref and clear
4611         old_active_menu_item (Patch from Pavel Cisler)
4612
4613         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
4614         menu_shell->active_menu_item, if it is the child being
4615         removed. (Patch based on that of Gene Ragan, #50337)
4616
4617 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
4618
4619         * gdk/linux-fb/gdkselection-fb.c: 
4620         * gdk/linux-fb/gdkcolor-fb.c: 
4621         * gdk/linux-fb/gdkdrawable-fb2.c: 
4622         * gdk/linux-fb/gdkfont-fb.c: 
4623         * gdk/linux-fb/gdkim-fb.c: 
4624         * gdk/linux-fb/gdkinput.c: 
4625         * gdk/linux-fb/gdkkeyboard-fb.c: 
4626         * gdk/linux-fb/gdkmain-fb.c: 
4627         * gdk/linux-fb/gdkrender-fb.c: 
4628         A bunch of whitespace cleanup.
4629         
4630 2001-01-30  Havoc Pennington  <hp@pobox.com>
4631
4632         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
4633         #ifdef GTK_ENABLE_BROKEN.
4634
4635         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
4636         GTK_ENABLE_BROKEN just before including the broken headers.
4637         
4638         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
4639         deprecated types registered.
4640
4641         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
4642         we have to test the broken stuff.
4643
4644         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
4645         
4646 2001-01-30  Havoc Pennington  <hp@redhat.com>
4647
4648         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
4649         here where prev pointer was set to the wrong thing
4650
4651         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
4652         (gtk_tree_path_is_descendant): new function
4653
4654         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
4655         cached length
4656         (gtk_list_store_get_iter): don't modify iter if we can't get the
4657         path.
4658
4659         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
4660         
4661         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
4662         GtkTreeDragDest
4663
4664         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
4665         was causing segfault
4666
4667         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
4668         pointer to NULL
4669
4670         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
4671
4672         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
4673         on returning FALSE
4674         (gtk_list_store_iter_children): ditto
4675         (gtk_list_store_iter_nth_child): ditto
4676         (gtk_list_store_iter_nth_child): ditto
4677         (gtk_list_store_iter_parent): ditto
4678
4679         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
4680         on iter->user_data != NULL instead of silently accepting it.
4681         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
4682         we are returning TRUE.
4683         (gtk_tree_store_iter_children): ditto
4684         (gtk_tree_store_iter_nth_child): ditto
4685         (gtk_tree_store_iter_parent): ditto
4686         (gtk_tree_store_insert): remove handling of parent->user_data ==
4687         NULL, replace with parent == NULL       
4688
4689         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
4690         and a comment explaining things
4691
4692         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
4693         interface support to GtkTreeStore.
4694
4695         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
4696         FALSE if no prev, fix
4697
4698         * gtk/gtktreeview.c (set_source_row): use a row reference
4699         (set_dest_row): use a row reference
4700
4701 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
4702
4703         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
4704         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
4705         (gtk_tree_selection_select_iter): The same as above.
4706
4707 2001-01-26  Havoc Pennington  <hp@redhat.com>
4708
4709         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
4710         which holds a handle to a specific row (particular set of values
4711         in the model, i.e. pointer-identity row).
4712
4713         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
4714         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
4715         Still need to use it for the src/dest row saved on the drag context.
4716
4717 2001-01-26  Havoc Pennington  <hp@redhat.com>
4718
4719         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
4720
4721         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
4722         not offset by TREE_VIEW_HEADER_HEIGHT
4723         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
4724         TREE_VIEW_HEADER_HEIGHT
4725
4726         * configure.in (included_loaders): for me, --with-included-loaders
4727         generates the error "the specified loader yes does not exist",
4728         i.e. the arg defaults to "yes", so change test for value ""
4729         to test for value "yes", and include all loaders in that case.
4730
4731         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
4732
4733         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
4734         handle TREE_VIEW_VERTICAL_SEPARATOR
4735         (gtk_tree_view_bin_expose): fix to consider the row offset as
4736         pointing halfway into vertical separator.       
4737         (gtk_tree_view_draw_node_focus_rect): ditto
4738
4739         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
4740         --gtk-debug=updates, which causes gdk_window_set_debug_updates
4741         (TRUE) to be called.
4742
4743         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
4744         debug mode where the invalid region is colored in on invalidate,
4745         so you can see the flicker and know whether your redraw code is 
4746         doing a good job.
4747
4748         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
4749         tree window coordinates (clip rect is in tree window coords)
4750
4751         * gtk/Makefile.am: add gtktreednd.[hc]
4752
4753         * gtk/gtkliststore.c: implement gtktreednd interfaces.
4754
4755         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
4756         drag-and-drop data operations on a model (so we can set up tree
4757         drag-and-drop automatically)
4758
4759         * gtk/testgtk.c: Add a window to change sensitivity in the
4760         GtkLabel test; add a way to change the entry frame in GtkEntry
4761         test
4762
4763         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
4764         (gtk_entry_get_has_frame): new functions to remove the frame
4765         around an entry
4766         (gtk_entry_size_request): shrink requisition if no frame
4767         (gtk_entry_draw_focus): don't draw frame if no frame
4768
4769         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
4770         checks inside a cell renderer
4771         (gtk_default_draw_option): ditto for options
4772
4773         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
4774         children from the alignment, not the button
4775         (gtk_tree_view_column_init): ref/sink the column, to emulate
4776         GObject refcounting.
4777
4778         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
4779         
4780         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
4781         Use theme functions to draw the toggles 
4782
4783         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
4784
4785         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
4786         GdkPangoAttrEmbossed to use in rendering insensitive text
4787
4788         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
4789
4790         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
4791         using new GDK features
4792         
4793 2001-01-24  Alexander Larsson  <alexl@redhat.com>
4794
4795         * gtk/gtkimage.c:
4796         Splitted gtk_image_clear into gtk_image_clear() and
4797         gtk_image_reset(). Call gtk_image_clear() in ::destroy
4798         to avoid leaks.
4799
4800         * gtk/gtklabel.c (set_markup):
4801         Don't leak text.
4802
4803         * gtk/gtktextlayout.c:
4804         Always free display->shaped_objects.
4805
4806         * gtk/testgtk.c (create_clist):
4807         Don't leak custom style.
4808
4809 2001-01-23  Alexander Larsson  <alexl@redhat.com>
4810
4811         * gtk/gtkcolorsel.c (grab_color_at_mouse):
4812         Don't leak image. Simplify using gdk_colormap_query_color().
4813         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
4814
4815         * linux-fb/gdkcolor-fb.c:
4816         Implemented gdk_colormap_query_color.
4817
4818 2001-01-23  Alexander Larsson  <alexl@redhat.com>
4819
4820         * linux-fb/gdkcursor-fb.c:
4821         Don't leak built-in cursors.
4822
4823         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
4824         Don't leak tmp_points.
4825
4826         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
4827         Don't modify desc. Don't leak font if the PangoFont
4828         isn't found.
4829         
4830         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
4831         Free dash_list.
4832
4833         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
4834         Don't leak string.
4835         
4836 2001-01-20  Havoc Pennington  <hp@pobox.com>
4837
4838         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
4839         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
4840         me, matches Pango
4841
4842 2001-01-22  Havoc Pennington  <hp@redhat.com>
4843
4844         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
4845
4846         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
4847
4848         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
4849         Remove, move back to gdk-pixbuf
4850
4851         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
4852         to all the word functions
4853
4854         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
4855         before doing anything on NULL layout or if we don't have the focus
4856
4857         * gtk/testtext.c (fill_example_buffer): "justification"
4858
4859         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
4860         to be called "justification" not "justify"
4861
4862         * demos/gtk-demo/textview.c (create_tags): "justification"
4863         
4864         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
4865
4866 2001-01-22  Alexander Larsson  <alexl@redhat.com>
4867
4868         * gdk/gdkwindow.c (gdk_window_invalidate_region):
4869         Don't leak visible_region. Use visible_region instead of region.
4870         
4871         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
4872         Don't do extra gdk_drawable_ref(). This is not X.
4873         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
4874         gdk_fb_focused_window is ref:ed.
4875         (gdk_fb_window_send_crossing_events): Watch out for destroyed
4876         windows.
4877
4878 2001-01-22  Alexander Larsson  <alexl@redhat.com>
4879
4880         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
4881         Don't leak the PangoFontDescriptor.
4882
4883 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
4884
4885         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
4886         when not realized.
4887         (gtk_tree_view_scroll_to_cell): Make work when not realized.
4888         (gtk_tree_view_realize): add scroll_to support
4889         (gtk_tree_view_finalize): add a finalize method.  Populate.
4890         (gtk_tree_view_insert_column): ref and sink the column.
4891         (gtk_tree_view_append_column): ref and sink the column.
4892         (gtk_tree_view_queue_draw_node): New function to handle redrawing
4893         individual nodes.  Should make the code much more efficient, if
4894         actually used.
4895
4896 2001-01-19  Havoc Pennington  <hp@redhat.com>
4897
4898         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
4899         byte_offset variable was being used to mean both "offset into
4900         layout" and "offset into buffer line" which was no longer true
4901         with addition of preedit string; fix
4902
4903 2001-01-19  Havoc Pennington  <hp@redhat.com>
4904
4905         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
4906
4907         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
4908         function
4909
4910         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
4911         implement
4912
4913         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
4914         scroll_to_cell, matches TextView scroll functions better
4915         (gtk_tree_view_tree_to_widget_coords): new function
4916         (gtk_tree_view_widget_to_tree_coords): new function
4917         (gtk_tree_view_get_visible_rect): new function
4918         (gtk_tree_view_get_path_at_pos): accept negative coordinates
4919         (gtk_tree_view_draw_node_focus_rect): new function moved from
4920         draw_focus, also, use width of bin_window as width of the focus
4921         rect
4922         (gtk_tree_view_expand_row): fix bug where it didn't recognize
4923         already-expanded rows
4924         (gtk_tree_view_get_cell_rect): new function
4925         (gtk_tree_view_get_path_at_pos): return the click position
4926         relative to the passed-in cell
4927         (gtk_tree_view_set_expander_column): new function
4928
4929         * configure.in: remove gtk-config-2.0 chmod
4930
4931         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
4932         and properly handle drags with targets we don't understand
4933         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
4934         scrolling anyway
4935         (gtk_text_view_drag_drop): stop scrolling here though, and set the
4936         mark invisible
4937
4938         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
4939         function
4940         (gtk_drag_dest_get_target_list): new function
4941         (gtk_drag_dest_set_target_list): new function
4942         
4943         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
4944
4945         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
4946         related to drag-and-drop
4947
4948 2001-01-19  Alexander Larsson  <alexl@redhat.com>
4949
4950         * gdk/linux-fb/gdkprivate-fb.h:
4951         Define EMULATE_GDKFONT.
4952         Add extra pango_font stuff to GfkFontPrivate.
4953         
4954         * gdk/linux-fb/gdkdrawable-fb2.c:
4955         * gdk/linux-fb/gdkfont-fb.c:
4956         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
4957         emulation using PangoFont.
4958
4959 2001-01-17  Havoc Pennington  <hp@pobox.com>
4960
4961         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
4962         all the non-deprecated set_foo functions. Added missing object
4963         properties, and added g_object_notify() to setters. 
4964         Wrote docs.
4965         
4966 2001-01-18  Tor Lillqvist  <tml@iki.fi>
4967
4968         * gtk/gtkmain.c
4969         * gtk/gtkrc.c: (Win32) Use the new
4970         g_win32_get_package_installation_(sub)directory() functions.
4971
4972         * config.h.win32.in: New file.
4973         
4974         * config.h.win32: Removed.
4975
4976         * configure.in: Output config.h.win32.
4977
4978         * Makefile.am: Add it to EXTRA_DIST.
4979
4980         * gtk/gtk.def: Update.
4981
4982 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
4983
4984         * gtk/gtklabel.c (gtk_label_size_request): Set the
4985         attributes onto the PangoLayout even if they are newly
4986         created from label->pattern.
4987
4988 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
4989
4990         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
4991
4992         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
4993         structures in functions. Fixes bug where gtk_dataset_*
4994         was accidentally still being used in one place, causing
4995         every dest side event to be treated independently.
4996
4997         * gtk/gtkdnd.c: Remove last vestages of handling
4998         ::draw (fixes warning)
4999         
5000         * gtk/gtkentry.[ch]: Add drag and drop support.
5001
5002         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
5003         new function gtk_check_drag_threshhold() for checking
5004         to check if (dx,dy) has exceeded the threshhold for starting
5005         a drag and use it everywhere.
5006
5007 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
5008
5009         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
5010         add -I{includedir}/gtk-2.0.
5011
5012         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
5013         gdk/gdk-pixbuf.h: Doc fixups.
5014         
5015         * gtk/gtkobject.h: Remove trailing , from enum
5016
5017 2001-01-17 Alexander Larsson <alexl@redhat.com> 
5018
5019         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
5020         Doh! Mixed up x and y.
5021
5022         * gdk/linux-fb/gdkglobals-fb.c:
5023         Removed gdk_fb_pointer_grab_window_events,
5024         added _gdk_fb_pointer_grab_owner_events and
5025         _gdk_fb_keyboard_grab_owner_events.
5026
5027         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
5028         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
5029         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
5030         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
5031         Send crossing events after ungrab finished.
5032         (gdk_keyboard_grab): Set ..._owner_events
5033         (type_masks): Move out of function.
5034         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
5035         gdk_fb_keyboard_event_window): New functions, return the
5036         window an event should be targeted at. Handles grabs and
5037         event propagation. Can return NULL.
5038         (gdk_event_make): Remove event_mask checking. Now always
5039         returns an event.
5040                 
5041         * gdk/linux-fb/gdkkeyboard-fb.c:
5042         * gdk/linux-fb/gdkproperty-fb.c:
5043         * gdk/linux-fb/gdkselection-fb.c:
5044         Use new event_window/gdk_event_make() behaviour.
5045         
5046         * gdk/linux-fb/gdkmouse-fb.c:
5047         Use new event_window/gdk_event_make() behaviour.
5048         Only send motion events if in the same window.
5049         If grabbed, use cursor from window if sibling of grabbed
5050         window, and cursor from grabbed window otherwise.
5051
5052         * gdk/linux-fb/gdkprivate-fb.h:
5053         Update gdk_fb_window_send_crossing_events, gdk_event_make
5054         and grab varaible declarations. Add gdk_fb_*_event_window().
5055
5056         * gdk/linux-fb/gdkwindow-fb.c:
5057         Use new event_window/gdk_event_make() behaviour.
5058         Keep correct track of focus window.
5059         (gdk_window_set_events): Set all specific button motion masks
5060         if GDK_BUTTON_MOTION_MASK set.
5061
5062         * gtk/gtkdnd.c (gtk_drag_update):
5063         Free info->last_event if gdk_drag_motion returned FALSE.
5064
5065 2001-01-16  Tor Lillqvist  <tml@iki.fi>
5066
5067         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
5068         Eliminate redraws when input-only windows are shown or
5069         hidden. Thanks to jpe@archaeopteryx.com.
5070
5071 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
5072
5073         * docs/faq/gtk-faq.sgml: FAQ update:
5074           - Update to bugzilla
5075           - Add GTK+ and security/SUID/SGID
5076           - Add DnD question
5077
5078 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
5079
5080         * gdk/linux-fb/gdkdnd-fb.c:
5081         Some cleanups.
5082         
5083 2001-01-15  Havoc Pennington  <hp@pobox.com>
5084
5085         * tests/testtreeview.c: add test stuff for CellRendererToggle
5086
5087         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
5088         accessor
5089
5090         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
5091         only toggle on button press (would do release like GtkButton, but
5092         we'd need implicit grab code for treeview cells)
5093
5094 2001-01-16  Tor Lillqvist  <tml@iki.fi>
5095
5096         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
5097
5098         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
5099         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
5100
5101         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
5102         to g_{locale,filename}_{to,from}_utf8 to match current API.
5103
5104         * gtk/makefile.msc.in (gtk_OBJECTS)
5105         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
5106
5107         * gtk/gtk.def: Update.
5108
5109 2001-01-15  Tor Lillqvist  <tml@iki.fi>
5110
5111         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
5112         implementaion that more closely mimics the events that an X server
5113         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
5114         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
5115         with nested preview widgets, for instance, more responsive when
5116         you move the mouse quickly into them.
5117         (find_window_for_pointer_event): Make it actually compile.
5118         (gdk_event_translate): Set send_event to the value of
5119         InSendMessage (). This doesn't really mean the same as X11's
5120         send_event flag, but is close enough, says jpe@archaeopteryx.com
5121
5122 2001-01-15  Alexander Larsson  <alexl@redhat.com>
5123
5124         * gdk/linux-fb/gdkdnd-fb.c:
5125         Implemented drag and drop.
5126         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
5127         when it tries to free and then copy the same event (info->last_event).
5128         I am not sure about why this happens, but will continue looking.
5129
5130 2001-01-15  Alexander Larsson  <alexl@redhat.com>
5131
5132         * gdk/linux-fb/gdkwindow-fb.c:
5133         Use gdk_window_invalidate_rect instead of
5134         gdk_window_invalidate_rect_clear to minimise flashing.
5135         When hiding windows you need to clear the root window though.
5136
5137 2001-01-15  Alexander Larsson  <alexl@redhat.com>
5138
5139         * gdk/linux-fb/gdkdrawable-fb2.c:
5140         For optization, add an full_shapes argument to gdk_fb_clip_region.
5141         If this is false, only the cliprects of the shapes are used.
5142
5143         * gdk/linux-fb/gdkprivate-fb.h:
5144         Export gdk_fb_window_peek_shape.
5145         Add full_shapes to gdk_fb_clip_region.
5146
5147         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
5148         When moving a window, don't clear everything under the it, just the
5149         root window. Makes stuff faster and flash less.
5150         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
5151         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
5152         offset of the shape.
5153         
5154
5155 2001-01-12  Havoc Pennington  <hp@redhat.com>
5156
5157         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
5158         current invalid region, fixes redraw bug while scrolling the 
5159         text widget
5160
5161         * gtk/gtktextview.c, gtk/gtktextview.h:
5162         Rearrange the scrolling/validation/etc. code in a major way, 
5163         so it seems to make sense to me. Probably isn't genuinely that
5164         much better, but...
5165
5166         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
5167         notifies
5168
5169         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
5170
5171 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
5172
5173         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
5174         Hide mouse pointer while rotation. Show it afterwards.
5175
5176 2001-01-12  Alexander Larsson  <alexl@redhat.com>
5177
5178         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
5179         windows in consideration when generating clip region.
5180
5181         * gdk/linux-fb/gdkfb.h:
5182         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
5183
5184         * gdk/linux-fb/gdkprivate-fb.h:
5185         Add shape to GdkWindowFBDatat.
5186         exported gdk_fb_window_get_abs_shape().
5187         removed gdk_fb_draw_lines declaration.
5188
5189         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
5190         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
5191         send focus changes when there is a grabbed window.
5192         (gdk_window_get_pointer): Handle shaped windows.
5193         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
5194         (gdk_fb_window_peek_shape): Returns the shape for a window,
5195         handles GDK_FB_USE_CHILD_SHAPE.
5196         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
5197         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
5198         (gdk_window_shape_combine_mask): Implement.
5199
5200         * gtk/gtkwindow-decorate.c:
5201         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
5202         setting the shape of a window makes the window transparent.
5203
5204 2001-01-11  Havoc Pennington  <hp@redhat.com>
5205
5206         * gtk/gtktreemodelsimple.h: Oops, broke some macros
5207
5208 2001-01-10  Havoc Pennington  <hp@redhat.com>
5209
5210         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
5211         add this function, bug 40251
5212
5213         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
5214         of type macro   
5215
5216 2001-01-11  Alexander Larsson  <alexl@redhat.com>
5217
5218         * acconfig.h:
5219         Added ENABLE_SHADOW_FB
5220
5221         * configure.in:
5222         Added --disable-shadowfb
5223
5224         * gdk/linux-fb/gdkcursor-fb.c:
5225         Update shadowfb when updating cursor
5226
5227         * gdk/linux-fb/gdkdrawable-fb2.c:
5228         Added wrappers for shadowfb that calls  the normal drawable
5229         methods, but calls gdk_shadow_fb_update(bounding box) when
5230         GdkWindows are drawed to.
5231         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
5232         which also returns the bounding box.
5233
5234         * gdk/linux-fb/gdkfb.h:
5235         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
5236
5237         * gdk/linux-fb/gdkgeometry-fb.c:
5238         Update shadowfb when scrolling window.
5239
5240         * gdk/linux-fb/gdkglobals-fb.c:
5241         Add _gdk_fb_screen_angle.
5242         
5243         * gdk/linux-fb/gdkkeyboard-fb.c:
5244         Test code for screen rotation. Shift-F2 in the xlate driver
5245         rotates the screen.
5246
5247         * gdk/linux-fb/gdkmain-fb.c:
5248         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
5249
5250         * gdk/linux-fb/gdkmouse-fb.c:
5251         Use fb_width/height instead of modeinfo.xres/yres.
5252
5253         * gdk/linux-fb/gdkprivate-fb.h:
5254         Added fb_men, fb_width, fb_height & fb_stride. When using
5255         shadow fb these can differ from the framebuffer stuff.
5256         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
5257         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
5258         _gdk_fb_screen_angle. Removed CM, RP.
5259
5260         * gdk/linux-fb/gdkrender-fb.c:
5261         Added code for shadowfb handling and screen rotation using
5262         shadowfb.
5263
5264         * gdk/linux-fb/gdkwindow-fb.c:
5265         Use fb_mem, fb_stride, fb_width, fb_height.
5266         Added recompute_rowstride to reset the rowstride of all windows.
5267         Added gdk_fb_recompute_all() which recomputes rootwindow size,
5268         window abs positions and window rowstrides. Usefull when the
5269         rotation has changed.
5270
5271 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
5272
5273         * docs/faq/gtk-faq.sgml: update to make web site updating easier
5274
5275 2001-01-10  Havoc Pennington  <hp@redhat.com>
5276
5277         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
5278         where sibling == iter
5279         (gtk_tree_store_insert_after): handle sibling == iter
5280         (gtk_tree_store_prepend): remove stamp checks
5281         (gtk_tree_store_insert_before): ditto
5282         (gtk_tree_store_append): ditto
5283         (gtk_tree_store_get_path): ditto
5284         (gtk_tree_store_get_value): ditto
5285         (gtk_tree_store_iter_has_child): ditto
5286         (gtk_tree_store_iter_n_children): ditto
5287         (gtk_tree_store_iter_nth_child): ditto
5288         (gtk_tree_store_insert_after): ditto
5289         (gtk_tree_store_is_ancestor): ditto
5290         (gtk_tree_store_iter_depth): ditto
5291         (gtk_tree_store_insert_before): assert that sibling's parent is
5292         the same as the passed-in parent
5293         (gtk_tree_store_insert_after): assert that sibling's parent is
5294         the same as the passed-in parent
5295
5296         
5297         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
5298         function to get the first iterator in a model
5299         
5300         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
5301         conventionally the "root" in this sense is just NULL afaict.
5302
5303         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
5304         where sibling == iter
5305         (gtk_list_store_insert_after): handle case where sibling == iter
5306
5307         * tests/testtreeview.c (run_automated_tests): fairly lame basic
5308         automated tests for ListStore, TreeStore
5309
5310         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
5311         (gtk_list_store_insert): update tail pointer, and fix it to work
5312         (gtk_list_store_insert_before): update tail pointer, and fix it to work
5313         (gtk_list_store_append): use tail to be faster
5314         (gtk_list_store_prepend): fix it, update tail pointer
5315         (gtk_list_store_insert_after): fix it, update tail pointer
5316
5317         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
5318         the list
5319
5320 2001-01-09  Havoc Pennington  <hp@redhat.com>
5321
5322         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
5323         is NULL due to a pending resize
5324
5325         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
5326         column width to values less than 1
5327
5328         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
5329         width to be between min/max width, and still set the width 
5330         even if autosize is turned on, so the tree view can use this 
5331         function in order to autosize.
5332         (gtk_tree_view_column_init): set initial width to 1 not 0
5333
5334         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
5335         setter function to modify column width, so we get notification
5336         (gtk_tree_view_insert_iter_height): ditto
5337         (gtk_tree_view_calc_size): ditto
5338         (gtk_tree_view_check_dirty): ditto
5339
5340         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
5341         properties to change all the interesting attributes of the tree
5342         view column.
5343         (gtk_tree_view_column_set_header_clickable): rename set_clickable
5344         (gtk_tree_view_column_get_clickable): add
5345         (gtk_tree_view_column_set_cell_renderer): don't unset the current
5346         attributes; assume a cell renderer with equivalent object
5347         properties has been swapped in. Do g_object_notify().
5348         (gtk_tree_view_column_set_visible): g_object_notify
5349         (gtk_tree_view_column_get_sizing): rename from get_col_type
5350         (gtk_tree_view_column_set_sizing): g_object_notify
5351         (gtk_tree_view_column_set_width): add g_object_notify
5352         (gtk_tree_view_column_set_min_width): ditto
5353         (gtk_tree_view_column_set_max_width): ditto
5354         (gtk_tree_view_column_set_title): ditto
5355         (gtk_tree_view_column_set_clickable): ditto
5356         (gtk_tree_view_column_set_widget): ditto
5357         (gtk_tree_view_column_set_justification): ditto
5358
5359 2001-01-09  Havoc Pennington  <hp@redhat.com>
5360
5361         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
5362         there are no rows in the model
5363
5364         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
5365         NULL, then return the start of the list
5366
5367         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
5368         if we can't get any rows from an empty model 
5369
5370         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
5371         extraneous * after function pointer typedef usage
5372
5373         * Makefile.am: don't specify full path to cp and rm
5374
5375         * gtk/gtkcellrenderertextpixbuf.c
5376         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
5377         NULL before dereferencing, fixes a segfault that happened from
5378         time to time
5379
5380         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
5381         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
5382         and reindent the function
5383         (gtk_cell_renderer_pixbuf_get_size): indentation
5384
5385         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
5386         we quit it
5387         (gtk_dialog_add_buttons_valist): add g_return_if_fail
5388         (gtk_dialog_set_default_response): New function, to set default
5389         button
5390         (gtk_dialog_set_response_sensitive): New function, to set 
5391         sensitivity of buttons
5392
5393         * gtk/gtkcellrendererpixbuf.c
5394         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
5395         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
5396
5397         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
5398         handle any G_TYPE_OBJECT subclass, not just the base class, and 
5399         also boxed types.
5400         (_gtk_tree_data_list_value_to_node): ditto
5401
5402         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
5403         --gtk-debug=tree
5404
5405         * gtk/gtkmain.c: add GTK_DEBUG_TREE
5406
5407         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
5408
5409 2001-01-09  Tor Lillqvist  <tml@iki.fi>
5410
5411         * gdk/win32/gdkevents-win32.c: Implement better mouse
5412         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
5413         (find_window_for_pointer_event): New function.
5414         (gdk_event_translate): Use it when handling mouse events.
5415
5416 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
5417
5418         * configure.in:
5419         Added --with-included-loaders option
5420
5421         * gdk-pixbuf/Makefile.am:
5422         * gdk-pixbuf/gdk-pixbuf-io.c:
5423         Add support for including selected gdk-pixbuf loaders only.
5424
5425         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
5426         gtk_window_set_has_frame):
5427         Added inline documentation.
5428
5429         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
5430         * docs/reference/gdk/tmpl/windows.sgml:
5431         Added inline documentation.
5432
5433 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
5434
5435         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
5436         realizing buttons that have already been realized.
5437
5438 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
5439
5440         * tests/testtreeview.c (main): Show menu items before adding to
5441         option menu.
5442
5443         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
5444         around if we kill them.
5445
5446         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
5447         Return if we pass in a NULL model.
5448
5449 2001-01-08  Havoc Pennington  <hp@redhat.com>
5450
5451         * tests/testtreeview.c: hack on this some
5452
5453         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
5454         gtk_tree_store_set_valist, v is for arrays, valist for varargs
5455         list
5456         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
5457
5458         * gtk/gtkliststore.h: Add varargs set() and get() convenience
5459         functions
5460
5461 2001-01-08  Alexander Larsson  <alexl@redhat.com>
5462
5463         * gtk/gtkwindow-decorate.[hc]:
5464         * gtk/Makefile.am:
5465         New files. Contains an implementation of a minimal WM for
5466         linux-fb.
5467
5468         * gtk/gtkwindow.h:
5469         Add the possibility for GtkWindows to specify a frame. This
5470         is used for the window decoration code, but could concievably
5471         be used for X programs too (xmms style windows).
5472         GtkWindow->frame is the toplevel window if the window is framed.
5473         The signal frame_event gets all events that are targeted to
5474         GtkWindow->frame.
5475         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
5476         
5477         * gtk/gtkwindow.c:
5478         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
5479         Call out to gtkwindow-decorate.c for WM support in linx-fb.
5480
5481 2001-01-08  Alexander Larsson  <alexl@redhat.com>
5482
5483         * docs/README.linux-fb:
5484         Correct filename ~/.pangoft2_aliases
5485
5486         * gdk/gdkwindow.h:
5487         Added new function gdk_window_get_decorations.
5488
5489         * gdk/linux-fb/gdkfb.h:
5490         Removed _gdk_window_get_decorations declaration.
5491         Renamed _gdk_window_set_child_handler to
5492         gdk_fb_window_set_child_handler.
5493
5494         * gdk/linux-fb/gdkwindow-fb.c:
5495         Renamed _gdk_window_set_child_handler to
5496         gdk_fb_window_set_child_handler.
5497
5498         * gdk/x11/gdkwindow-x11.c:
5499         New function gdk_window_get_mwm_hints().
5500         Implemented gdk_window_get_decorations.
5501
5502         * docs/reference/gdk/tmpl/windows.sgml:
5503         * docs/reference/gdk/gdk-sections.txt:
5504         Added gdk_window_get_decorations docs.
5505         
5506 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
5507
5508         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
5509         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
5510         gdk_fb_window_send_crossing_events):
5511         Possibly send focus events when the mouse moves from one
5512         window to another.
5513
5514 2001-01-07  Tor Lillqvist  <tml@iki.fi>
5515
5516         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
5517         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
5518         to match current API.
5519
5520         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
5521         environment variable is set, don't call g_error when on a
5522         palettized (PseudoColor) display. Some people want to use GTK+ 
5523         in 256-colour mode even though works only partially.
5524
5525         * gdk/gdk.def
5526         * gtk/gtk.def
5527         * gtk/makefile.mingw.in: Update.
5528
5529 2001-01-05  Havoc Pennington  <hp@redhat.com>
5530
5531         * tests/testtreeview.c: hack on this a bit
5532
5533         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
5534         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
5535
5536         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
5537         was spelled incorrectly
5538         (GTK_IS_TREE_MODEL_SIMPLE): ditto
5539
5540         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
5541         from gtk_tree_view_set_headers_active   
5542
5543         * gtk/gtktexttag.c:
5544         (gtk_text_tag_get_property): handle PROP_DIRECTION
5545         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
5546         properties, bug 40235
5547
5548         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
5549         forward_to_line_end
5550
5551 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
5552
5553         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
5554         modules/input/gtkimcontextxim.c: Adapt to new prototypes
5555         for unicode,locale,filename conversion functions.
5556
5557 2001-01-05  Havoc Pennington  <hp@redhat.com>
5558
5559         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
5560         broken if called on the first position in the buffer.
5561
5562         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
5563         forward_to_delimiters to be called only if we aren't already at
5564         the delimiters.
5565
5566 2001-01-05  Havoc Pennington  <hp@redhat.com>
5567
5568         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
5569
5570 2001-01-05  Alexander Larsson  <alexl@redhat.com>
5571
5572         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
5573         colormap in here. Sync from X port.
5574         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
5575         Sync from X port.
5576         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
5577         This happens now and then, and i don't think it is a bug.
5578         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
5579         != endpoint.
5580         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
5581         GDK_LINE_SOLID.
5582
5583         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
5584         some of the fields filled in at least.
5585
5586         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
5587         miLineArcD is no more, remove it from the function definition.
5588
5589 2001-01-04  Havoc Pennington  <hp@redhat.com>
5590
5591         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
5592         this
5593
5594         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
5595         user_data instead of tree_node
5596
5597         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
5598         TREE_VIEW_COLUMN_SIZE
5599
5600         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
5601         "size" field to "width" finishes bug 40061
5602
5603         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
5604         for bitfields, bug 40268
5605
5606 2001-01-04  Havoc Pennington  <hp@redhat.com>
5607
5608         Rename some stuff:
5609         
5610         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
5611
5612         s/GtkModelSimple/GtkTreeModelSimple/g;
5613         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
5614         s/gtk_model_simple/gtk_tree_model_simple/g;
5615         s/gtkmodelsimple/gtktreemodelsimple/g;
5616
5617         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
5618
5619         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
5620         s/column_set_col_type/column_set_sizing/g;
5621
5622         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
5623         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
5624
5625         s/GtkCellRendererType/GtkCellRendererState/g;
5626         
5627         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
5628         (gtk_cell_renderer_toggle_class_init): change "state" property to
5629         "active", to match GtkToggleButton
5630         (gtk_cell_renderer_toggle_get_active): new function, bug
5631         40269
5632         (gtk_cell_renderer_toggle_set_active): new function
5633         (gtk_cell_renderer_toggle_set_property): route changes to toggle
5634         state through gtk_cell_renderer_set_active
5635
5636 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
5637
5638         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
5639         temporarily until they work again.  Brought up to date with
5640         changes in the model.
5641         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
5642         model.
5643
5644 2001-01-04  Havoc Pennington  <hp@redhat.com>
5645
5646         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
5647         equal to the line length, then position iterator before paragraph 
5648         separators. Fixes crash reported by Mikael Hermansson when
5649         pressing left arrow from the start of a line.   
5650
5651         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
5652         about byte indexes off the end
5653         (iter_set_from_char_offset): add g_error about char offsets
5654         off the end
5655
5656 2001-01-03  Havoc Pennington  <hp@redhat.com>
5657
5658         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
5659
5660         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
5661         of private functions; remove inclusion of private headers.
5662
5663         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
5664         function, so we don't need private functions in gtktextdisplay.c
5665
5666         * gtk/gtktextiterprivate.h: underscore-ification
5667
5668         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
5669         to instead say "only useful to implement widgets"
5670
5671         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
5672         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
5673         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
5674
5675         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
5676         This function was completely broken
5677
5678         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
5679
5680         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
5681
5682         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
5683
5684         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
5685
5686         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
5687
5688         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
5689
5690         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
5691         gtk_paint_layout
5692
5693         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
5694         gtk_paint_layout
5695
5696         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
5697         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
5698         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
5699         which were not implemented.     
5700
5701         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
5702         insert_pixbuf signal. Rename delete_text to delete_range since it
5703         also deletes pixbufs and child anchors. This almost closes bug
5704         40245 (still need to deal with child anchors)
5705
5706         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
5707         insert_pixbuf, change signal names as appropriate, change types of
5708         signals taking marks/tags to have the specific type, not just
5709         G_TYPE_OBJECT
5710         
5711         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
5712         closes bug 40051
5713
5714         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
5715         unnecessary remove_contents() call
5716         (gtk_option_menu_class_init): add a "changed" signal, closes
5717         bug 40039
5718         (gtk_option_menu_update_contents): emit "changed" if the 
5719         active menu item changes
5720
5721         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
5722         cast to GtkObject, reported by Jonas Borgstrom
5723         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
5724         we can't do stuff with side effects in finalize. Instead, spew a
5725         warning if the loader isn't closed.
5726
5727         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
5728         colormap in here, non-X ports probably need to sync to this change
5729
5730         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
5731         assertion that colormap != NULL, you can set the colormap to NULL
5732         if you like.
5733         
5734         * Makefile.am: remove gtk-config-2.0
5735
5736         * configure.in: Use pkg-config to locate GLib. Remove
5737         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
5738         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
5739         Use pkg-config to locate Pango. Output correct Pango libs to
5740         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
5741
5742         * Makefile.am (pkgconfig_DATA): install only target-specific pc
5743         files
5744         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
5745         X11 pc files
5746
5747         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
5748         unref from here
5749
5750 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
5751
5752         * configure.in:
5753         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
5754
5755 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
5756
5757         * gtk/gtktextlayout.c
5758         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
5759         variable when moving back onto a single line.
5760
5761 2001-01-01  Havoc Pennington  <hp@redhat.com>
5762
5763         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
5764
5765         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
5766
5767         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
5768         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
5769
5770 2001-01-01  Havoc Pennington  <hp@redhat.com>
5771
5772         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
5773
5774         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
5775         GtkTextAttributes
5776
5777         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
5778         #40246
5779         (gtk_text_attributes_copy_values): rename from 
5780         gtk_text_attributes_copy
5781         (gtk_text_attributes_copy): a more standard GTK copy function, 
5782         which returns a new object
5783
5784 2001-01-01  Havoc Pennington  <hp@redhat.com>
5785
5786         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
5787         
5788         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
5789         don't fill in tree_view->priv->selection, kind of an unexpected
5790         side effect
5791
5792         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
5793         gtkintl.h
5794         
5795         * gtk/gtkcellrenderer.c: Remove definition of _ and include
5796         gtkintl.h
5797         (gtk_cell_renderer_get_property): remove calls to g_value_init
5798
5799         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
5800         gtkintl.h
5801
5802         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
5803         and include gtkintl.h
5804         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
5805         property names
5806
5807         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
5808         GtkTreeSelection
5809         (_gtk_tree_selection_new_from_with_view): rename, return
5810         GtkTreeSelection
5811         (_gtk_tree_selection_set_tree_view): rename with uscore
5812         (gtk_tree_selection_get_selected): fill in the "model" out param
5813         first, so it gets filled in even if we return at the top of the 
5814         function
5815         (gtk_tree_selection_real_select_all): add a comment and an else{}
5816         to clarify this a bit
5817         (gtk_tree_selection_real_unselect_all): add the same else{}
5818
5819         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
5820         set_tree_view to have underscore prefixes, move them to the
5821         private header, fix return type of new_with_tree_view
5822         (struct _GtkTreeSelection): mark struct
5823         fields private  
5824
5825         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
5826         GtkTreeModelFlags, not a guint
5827         (gtk_tree_path_prev): return gboolean not gint
5828         (gtk_tree_path_up): return gboolean not gint
5829
5830         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
5831         return GtkTreeModelFlags, not a guint
5832
5833         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
5834         that child model is non-null before unrefing it
5835         (g_value_int_compare_func): make this a qsort compare func, not 
5836         a boolean predicate
5837
5838         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
5839         (add -umn to the end), and mark it unimplemented
5840         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
5841         I don't see what it's for - doesn't the model always sort itself?
5842         (gtk_tree_model_sort_set_compare): this had the wrong signature
5843
5844         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
5845         Fix the docs to say that it destructively replaces existing
5846         attributes (previously said that it added attributes).
5847         (gtk_tree_view_column_set_visible): canonicalize bool before
5848         equality testing. Also, check for realization before
5849         hiding/showing the tree_column->window; if this window could exist
5850         before realization, then it's busted and needs fixing, we can't 
5851         create GDK resources pre-realization. Also, remove
5852         superfluous queue_resize(), since set_size() does that for us.
5853         (gtk_tree_view_column_set_col_type): check realization before 
5854         using tree_column->window
5855
5856         * gtk/gtktreedatalist.c: fix filename in copyright notice
5857
5858 2000-12-31  Havoc Pennington  <hp@pobox.com>
5859
5860         * gtk/gtktextview.c: Rearrange all the
5861         scroll-while-dragging-or-selecting code to be different, not
5862         necessarily better. ;-)
5863         (gtk_text_view_scroll_to_mark): Change this
5864         function to take within_margin as a fraction instead of a pixel
5865         value, and to take alignment arguments (indicating where to align 
5866         the mark inside the visible area)
5867         
5868         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
5869         to GtkObject
5870
5871         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
5872         behavior so that offsets past the end of the line are not 
5873         allowed, and an offset equal to the line length moves the iterator
5874         to the next line
5875         (gtk_text_iter_set_line_index): make parallel change
5876         (gtk_text_iter_get_bytes_in_line): add this function
5877         
5878         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
5879         of byte indexes off the end of the line; byte index at the end of
5880         the line now returns FALSE and doesn't fill in the requested
5881         values, byte index past the end of the line is an error.  Also,
5882         don't allow -1 offset anymore, since its meaning is unclear.
5883
5884         This change exposes some bug in visual cursor motion, where we
5885         end up with a huge invalid byte index; needs fixing. Symptom of 
5886         bug is a crash when you hit up arrow.
5887         
5888         (_gtk_text_line_char_locate): match the change to byte_locate
5889
5890         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
5891         from start of line properly. fixes bug reported by Mikael
5892         Hermansson where backspace would delete all text before the
5893         cursor.
5894
5895 2000-12-30  Tor Lillqvist  <tml@iki.fi>
5896
5897         * gdk/win32/gdkwindow-win32.c
5898         (gdk_window_impl_win32_get_visible_region): New function, as in
5899         the X11 backend.
5900         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
5901         instead of duplicating the same code here.
5902
5903         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
5904         GDK_COLORMAP macro.
5905
5906         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
5907         destroy function.
5908         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
5909         access that.
5910
5911         * gtk/gtk.def: Update.
5912
5913         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
5914
5915 2000-12-30  Havoc Pennington  <hp@pobox.com>
5916
5917         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
5918         colormap on input only windows, to avoid special cases all over
5919         the code for these windows.
5920
5921 2000-12-26  Tor Lillqvist  <tml@iki.fi>
5922
5923         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
5924         we are on a palettized display ("PseudoColor" in X11), as the code
5925         for that doesn't work anyway, and never has.
5926
5927 2000-12-22  Alexander Larsson  <alexl@redhat.com>
5928
5929         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
5930         Don't use isprint() for chars > 255.
5931
5932 2000-12-21  Havoc Pennington  <hp@redhat.com>
5933
5934         * tests/testtreeview.c: more work
5935
5936 2000-12-21  Alexander Larsson  <alexl@redhat.com>
5937
5938         * docs/README.linux-fb:
5939         Update the docs to the new pangoft2 way.
5940
5941 2000-12-21  Alexander Larsson  <alexl@redhat.com>
5942
5943         * configure.in:
5944         For linux-fb get the pangoft2 cflags and libs. This needs a recent
5945         pango version.
5946         Remove modules/linux-fb/Makefile.
5947
5948         * gdk/linux-fb/gdkdrawable-fb2.c:
5949         Render glyphs using freetype.
5950
5951         * gdk/linux-fb/gdkfb.h:
5952         Add new fb-specific functions needed for managing windows.
5953
5954         * gdk/linux-fb/gdkmain-fb.c:
5955         Remove gdk_font_init/fini() calls.
5956
5957         * gdk/linux-fb/gdkpango-fb.c:
5958         Remove old implementation. Use pangoft2 instead.
5959
5960         * gdk/linux-fb/gdkprivate-fb.h:
5961         Remove PangoFBFont and related stuff.
5962
5963         * gdk/linux-fb/gdkwindow-fb.c:
5964         Implement drawable->get_visible_region.
5965         Implement support for _gdk_window_set_child_handler () and
5966         _gdk_window_get_decorations().
5967
5968         * modules/Makefile.am:
5969         Remove linux-fb subdir.
5970
5971         * modules/linux-fb/*:
5972         Removed all.
5973         
5974 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
5975
5976         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
5977         calls, as they are no longer needed.
5978
5979         * gtk/gtktreemodelsort.c: Fix up the comparison code.
5980         
5981         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
5982         figure out how to emit a signal on an interface.
5983
5984 2000-12-20  Havoc Pennington  <hp@redhat.com>
5985
5986         * tests: new directory to contain tests, gtk/test* should move
5987         here sometime (with appropriate on-cvs-server hackery)
5988
5989         * tests/testtreeview.c, tests/Makefile.am: a test
5990         
5991         * configure.in (AC_OUTPUT): add tests/Makefile
5992
5993         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
5994         and "invisible_set" which were missing
5995
5996         * gtk/gtkrbtree.h: some cheesy indentation fix
5997         
5998 2000-12-20  Alexander Larsson  <alexl@redhat.com>
5999
6000         * gtk/gtkinvisible.c (gtk_invisible_realize):
6001         Attach the style to the window so that the style it is not
6002         leaked when unrealizing the window.
6003
6004 2000-12-18  Havoc Pennington  <hp@redhat.com>
6005
6006         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
6007         begin/end user action where appropriate
6008         (gtk_text_view_commit_handler): add begin/end user action
6009
6010         * gtk/gtktextbuffer.c: add begin/end user action signals, and
6011         bracket interactive operations with begin/end user action pair.
6012         
6013         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
6014         "interactive" arg from insert_text and delete_text signals.
6015         Add begin_user_action, end_user_action signals
6016         (gtk_text_buffer_begin_user_action): 
6017         (gtk_text_buffer_end_user_action): New functions to delimit 
6018         a user-visible action
6019
6020         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
6021         signals.
6022         
6023 2000-12-18  Havoc Pennington  <hp@redhat.com>
6024
6025         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
6026         was pretty non-working.
6027
6028         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
6029         by passing the length to g_utf8_validate().
6030
6031 2000-12-16  Havoc Pennington  <hp@pobox.com>
6032
6033         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
6034         Port to GObject, can go back in gdk-pixbuf after setting up 
6035         a gdk-pixbuf-marshal.h header over there.
6036
6037         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
6038         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
6039         args
6040         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
6041         set
6042         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
6043         here, do it when we create the buttons later
6044         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
6045         (gtk_tree_view_map): paranoia checks that column->button is shown 
6046         and unmapped
6047         (gtk_tree_view_size_request): only request visible children.
6048         Move header size calculation in here, for cleanliness, and 
6049         to maintain invariants for child widgets if we eventually 
6050         let users set different children inside the buttons
6051         (gtk_tree_view_map_buttons): factor out code to map buttons,
6052         since it was being called several times
6053         (gtk_tree_view_size_allocate_buttons): move_resize the drag
6054         windows instead of just moving them; their height may change 
6055         if we allow random widgets in there, or the theme changes.
6056         (gtk_tree_view_size_allocate): move button size allocation 
6057         above emitting the scroll signals, to ensure a sane state when we
6058         hit user code
6059         (gtk_tree_view_button_release): remove queue_resize after
6060         tree_view_set_size(), set_size() will handle any resize queuing
6061         that's needed
6062         (gtk_tree_view_focus_in): just queue a draw, don't fool with
6063         draw_focus goo
6064         (gtk_tree_view_focus): use gtk_get_current_event() and
6065         gdk_event_get_state()
6066         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
6067         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
6068         semicolon
6069         (gtk_tree_view_create_button): show the button here
6070         (gtk_tree_view_button_clicked): actually emit the clicked signal
6071         on the column
6072         (_gtk_tree_view_set_size): return right away if the size is
6073         unchanged, as a cheesy optimization
6074         (gtk_tree_view_setup_model): rename set_model_realized to 
6075         setup_model to match the flag that indicates whether we've 
6076         called it
6077         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
6078         exist, because set_scroll_adjustment does that and it shouldn't
6079         matter what order you call these in
6080         (gtk_tree_view_get_vadjustment): ditto
6081         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
6082         for paranoia
6083         (gtk_tree_view_set_headers_visible): call
6084         gtk_tree_view_map_buttons() instead of using cut-and-paste code
6085         (gtk_tree_view_append_column): clarify whether the return value
6086         is the count of columns before or after, and do the increment 
6087         separately from the return statement so you can tell from the code.
6088         (gtk_tree_view_remove_column): ditto
6089         (gtk_tree_view_insert_column): ditto
6090         (gtk_tree_view_get_column): remove g_return_if_fail for columns
6091         outside the existing range, the docs say that outside-range
6092         columns are allowed, so we handle them as documented. (Presumably
6093         this allows a nice loop with column != NULL as test.)
6094         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
6095         mean (left/right/center etc.).
6096         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
6097         (gtk_tree_view_expand_row): add docs
6098         (gtk_tree_view_collapse_row): add docs
6099
6100         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
6101         function to emit the clicked signal on a column
6102         
6103         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
6104         state of an event
6105         (gdk_event_get_time): don't treat GDK_SCROLL 
6106         as a button event, remove default case from switch so gcc 
6107         will whine if we don't explicitly handle all event types
6108
6109         * gtk/gtktreeselection.h: added some FIXME 
6110         
6111         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
6112         "columns" to "n_columns" and "column" to "columns" for clarity
6113
6114 2000-12-16  Havoc Pennington  <hp@pobox.com>
6115         
6116         * gtk/gtktextiter.c: General cleanup of the log attr iteration
6117         stuff. This should make e.g. the delete key work again in the
6118         text widget...
6119         (gtk_text_iter_forward_cursor_positions): handle negative count
6120         (gtk_text_iter_backward_cursor_positions): handle negative count
6121         (gtk_text_iter_forward_word_ends): handle negative count
6122         (gtk_text_iter_backward_word_starts): handle negative count
6123
6124         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
6125         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
6126         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
6127         GObject. No doubt will cause breakage.
6128
6129         * demos/gtk-demo/textview.c: remove hacks around
6130         non-GObject-ification of the text objects
6131
6132         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
6133         the text tag
6134         
6135 2000-12-14  Havoc Pennington  <hp@pobox.com>
6136
6137         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
6138         that we have Xrender
6139
6140 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
6141
6142         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
6143         Add two virtualized functions gdk_drawable_get_clip_region - to
6144         get the clip region when drawing.
6145         
6146         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
6147         use invalidate_region.
6148
6149         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
6150         region.
6151
6152         * acconfig.h configure.in: Check for Xft. For now, assume
6153         that if Xft is found, Pango was compiled with Xft support
6154         as well.
6155
6156         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
6157         gdk_colormap_query_color().
6158         
6159         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
6160         with Xft if appropriate.
6161
6162         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
6163         a pangoxft context if we have XFT and the environment
6164         variable GD_USE_XFT is set.
6165         
6166         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
6167         and also possibly an XftDraw structure.
6168
6169         * gtk/gtkfontsel.c: Handle the case where the font from the
6170         style doesn't match any of the fonts a bit better.
6171         
6172         * gtk/testgtk.c: Add tabs between directional segments for
6173         hebrew/arabic test. (Not really necessary, just a little
6174         prettier.)
6175
6176 2000-12-14  Havoc Pennington  <hp@redhat.com>
6177
6178         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
6179         reading a file
6180
6181 2000-12-14  Havoc Pennington  <hp@redhat.com>
6182
6183         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
6184         unused call to get_last_line()
6185
6186         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
6187         here until boxed is working (and maybe after that - we should
6188         really not gratuitously break old code)
6189
6190         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
6191         specific types for font_desc and tabs args, move them to
6192         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
6193         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
6194
6195         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
6196         use GTK_TYPE_POINTER for signal signatures as a hack-around
6197
6198         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
6199         PangoTabArray
6200
6201         * gtk/gtktextlayout.c (line_display_iter_to_index): 
6202         make static
6203         (line_display_index_to_iter): make static
6204
6205         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
6206         to marshal a string not a boxed
6207
6208         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
6209
6210         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
6211         since the UTF-8 isn't validated yet
6212
6213         * gtk/gtktextsegment.c (char_segment_check_func): don't require
6214         lines to end in '\n'
6215         
6216         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
6217         forward_to_delimiters, and grapheme boundaries
6218         (gtk_text_view_delete_from_cursor): properly handle non-newline
6219         delimiters, and grapheme boundaries
6220
6221         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
6222         to gtk_text_iter_forward_to_delimiters, and make it work properly
6223         if empty lines end with a character other than '\n'
6224
6225         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
6226         position
6227
6228 2000-12-15  Tor Lillqvist  <tml@iki.fi>
6229
6230         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
6231
6232         * gtk/gtk.def
6233         * gdk/gdk.def: Update.
6234
6235         * gdk/win32/gdkmain-win32.c
6236         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
6237         gdkmain-win32.c here.
6238
6239         * gdk/win32/makefile.mingw.in (all): No need to make
6240         gdk-win32res.o here, the makefile one step up will call us to make
6241         it.
6242
6243         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
6244         gdkkeys-win32.
6245
6246         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
6247
6248         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
6249         call to g_source_add().
6250
6251         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
6252         leak. Thanks to Andreas Kemnade.
6253
6254 2000-12-13  Havoc Pennington  <hp@pobox.com>
6255
6256         * gtk/gtktextbtree.h: Remove double _ in front of some functions
6257
6258         * gtk/gtktext*.[hc]: update accordingly
6259         
6260 2000-12-13  Havoc Pennington  <hp@pobox.com>
6261
6262         * gtk/gtktextbtree.h: Put _ in front of every function in this 
6263         header file
6264
6265         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
6266
6267 2000-12-13  Alex Larsson  <alexl@redhat.com>
6268
6269         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
6270         Add support for ps2 intellimouse.
6271
6272         * gdkkeyboard-fb.c:
6273         Move shift-F1 repaint handling to xlate handler only.
6274         
6275         * docs/README.linux-fb:
6276         Add imps2 to docs.
6277         Document the new refresh keys.
6278         
6279 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
6280
6281         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
6282
6283         * gtk/gtkbox.c: change property types from (u)long to (u)int for
6284         ::position and ::padding.
6285
6286         * gtk/gtkcontainer.c: make ::border_width an INT property.
6287
6288         * gtk/gtkpacker.c: make ::position an INT property.
6289
6290         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
6291         guard against NULL h/v scrollbars, since this is used at construction
6292         time.
6293
6294         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
6295         internal gtk_clist_constructor().
6296
6297         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
6298         gtk_ctree_constructor().
6299
6300         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
6301         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
6302
6303         * docs/reference/Makefile.am: fun stuff, disabled docs generation
6304         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
6305
6306         * gtk/gtkwidget.[hc]:
6307         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
6308         and gtk_widget_get().
6309         (gtk_widget_new): use g_object_new_valist().
6310         (gtk_widget_set): use g_object_set_valist().
6311
6312         * gtk/gtkobject.[hc]:
6313         removed gtk_object_arg_get_info(), gtk_object_getv(),
6314         gtk_object_query_args(), gtk_object_newv(),
6315         gtk_object_class_add_signals(),
6316         gtk_object_class_user_signal_new(),
6317         gtk_object_class_user_signal_newv(),
6318         gtk_object_arg_set(), gtk_object_arg_get(),
6319         gtk_object_args_collect(),
6320         gtk_object_default_construct(),
6321         gtk_object_constructed(),
6322         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
6323         removed nsignals, signals and n_args members from GtkObjectClass.
6324         (gtk_object_new): use g_object_new_valist().
6325         (gtk_object_set): use g_object_set_valist().
6326         (gtk_object_get): use g_object_get_valist().
6327         
6328         * gtk/gtkcompat.h: define gtk_object_default_construct().
6329         
6330         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
6331         g_object_new().
6332
6333         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
6334         fucntions, cleaned up method assignments (make sure your structures
6335         are setup properly before calling out). removed all GTK_CONSTRUCTED
6336         hacks ;)
6337
6338 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
6339
6340         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
6341         off-by-one error in checks. (Dave Lambert)
6342
6343 2000-12-12  Alexander Larsson  <alexl@redhat.com>
6344
6345         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
6346         Don't free gdk_fb_keyboard twice.
6347
6348 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
6349
6350         * gtk/testgtk.c:
6351         (create_tooltips): 
6352         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
6353         use GObject swapped_signal:: properties instead.
6354
6355         * gtk/gtkcellrenderertoggle.c: 
6356         * gtk/gtkcellrenderertextpixbuf.c: 
6357         * gtk/gtkcellrenderertext.c: 
6358         * gtk/gtkcellrendererpixbuf.c: 
6359         * gtk/gtkcellrenderer.c:
6360         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
6361         missing warnings for invalid property ids, install properties
6362         with g_object_class_install_property() now.
6363         
6364         * gtk/gtksignal.c:
6365         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
6366         
6367 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
6368         
6369         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
6370         to determine if a window is the focus widget within
6371         its toplevel.
6372
6373         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
6374         to be boolean.
6375
6376         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
6377         of the case where the container CAN_FOCUS to here instead
6378         of having it in each individual move-the-focus place.
6379
6380         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
6381         focusing to be geometric in a much more obvious sense. Arrowing
6382         around is still non-intuitive because it isn't perfect and
6383         because entries, etc, grab the arrow keys, but it at least
6384         usually will do what you expect now.
6385         
6386         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
6387         file.
6388
6389         * gtk/gtknotebook.c: Change tabs to be a single item in
6390         the focus chain. Make movement of focus on tabs with arrow
6391         keys wrap around.
6392         
6393         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
6394         CHECK_FIND_CHILD macro to give informative error messages
6395         instead of silent returns.
6396
6397         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
6398         flag since we handle GdkReturn on the tabs.
6399
6400         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
6401         windows rather than sending expose events directly.
6402
6403         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
6404         definition for GtkNotebookPage into .c file, since it is private.
6405
6406         * gtk/testgtk.c (create_notebook): Add option for 
6407         testing borderless notebook.
6408
6409         * gtk/testgtk.c (page_switch): Removed egregious poking
6410         around in GTK+ internals.
6411
6412         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
6413
6414         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
6415         properly through gtk_clist_focus. Make the title headers a
6416         single item in the tab-focus chain, and make left-right wrap
6417         around.
6418
6419         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
6420         focus method so that wrapping around works properly.
6421
6422         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
6423         that is handled for the widget now. 
6424
6425 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
6426
6427         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
6428         widgets as TOPLEVEL.
6429
6430         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
6431         TOPLEVEL widgets are containers.
6432
6433         * gtk/gtkinvisible.h: Remove useless include.
6434
6435 2000-12-11  Havoc Pennington  <hp@redhat.com>
6436
6437         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
6438         Handle chopping off \r\n and 0x2029 in addition to \n before
6439         passing to PangoLayout
6440
6441         * gtk/gtkimcontextsimple.c
6442         (gtk_im_context_simple_get_preedit_string): 
6443         return an empty string if no match is pending
6444
6445         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
6446         assertion that the returned preedit string was sane
6447
6448         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
6449         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
6450         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
6451
6452 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
6453
6454         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
6455         Fix up finalizer to chain to its parent.
6456
6457 2000-12-11  Alexander Larsson  <alexl@redhat.com>
6458
6459         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
6460         Clearified the difference between the keyboard types. Wrote a note
6461         about the magic sysrq key to get out of raw mode.
6462
6463 2000-12-09  James Henstridge  <james@daa.com.au>
6464
6465         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
6466         member to hold masks for detecting the start of a protocol packet.
6467         (mouse_devs): add packet start masks for ps2 and ms device types.
6468         Left the mask for fidmour blank, as I have no idea what it should
6469         be.
6470         (handle_mouse_io): skip bytes until we get to the start of a
6471         packet.  My Logitech mouse seems to be passing an extra NULL pad
6472         byte, and GPM does a similar thing here.
6473         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
6474         this is the ms mouse driver.
6475         (gdk_fb_mouse_ms_packet): fix up button handling, which was
6476         completely broken except for button1.  It was checking the wrong
6477         bit in the packet for the status of the right mouse button, and
6478         wrongly assuming right == button2 rather than 3.  I fixed that and
6479         also added support for middle button (button2).
6480
6481 2000-12-08  Havoc Pennington  <hp@redhat.com>
6482
6483         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
6484         that cause a segfault on text insertion
6485
6486         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
6487         warning
6488
6489         * gtk/gtktextiter.c (test_log_attrs): use
6490         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
6491
6492         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
6493         Get log attrs for a line, using a cache stored on the buffer
6494         
6495         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
6496         reported by Jeff Franks
6497
6498 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
6499
6500         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
6501         /dev/ttyS0 -> /dev/mouse
6502
6503 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
6504
6505         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
6506         Added dummy gdk_fontset_load.
6507
6508 2000-12-08  Alexander Larsson  <alexl@redhat.com>
6509
6510         * docs/README.linux-fb:
6511         * docs/Makefile.am:
6512         Initial GtkFB docs.
6513         
6514         * gdk/linux-fb/Makefile.am:
6515         Define GDK_DATA_PREFIX.
6516
6517         * gdk/linux-fb/gdkmain-fb.c:
6518         Fix typo.
6519         Change default display to /dev/fb0.
6520
6521         * gdk/linux-fb/gdkpango-fb.c:
6522         Add $(prefix)/share/fonts/ to font path.
6523         
6524 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
6525
6526         * gdk/linux-fb/gdkkeyboard-fb.c:
6527         New file containing the abstracted keyboard driver. Most code
6528         taken from gdkinput-ps2.c
6529
6530         * gdk/linux-fb/gdkinput-ps2.c:
6531         Removed file.
6532         
6533         * gdk/linux-fb/Makefile.am:
6534         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
6535
6536         * gdk/linux-fb/gdkcolor-fb.c:
6537         display->fb was renamed to display->fb_fd.
6538
6539         * gdk/linux-fb/gdkcursor-fb.c:
6540         gdk_mouse_get_info -> gdk_fb_mouse_get_info
6541
6542         * gdk/linux-fb/gdkinput.c:
6543         Moved gdk_input_init here from gdkinput-ps2.c
6544
6545         * gdk/linux-fb/gdkmain-fb.c:
6546         display->fb was renamed to display->fb_fd.
6547         Now the tty and the console is opened here instead
6548         of in the keyboard driver. Also check GDK_VT to see what
6549         tty to open.
6550         Move gdk_beep () here from gdkinput-ps2.c
6551         gdk_mouse_get_info -> gdk_fb_mouse_get_info
6552
6553         * gdk/linux-fb/gdkmouse-fb.c:
6554         Add header.
6555         gdk_mouse_get_info -> gdk_fb_mouse_get_info
6556         Return correct keyboard modifiers.
6557         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
6558
6559         * gdk/linux-fb/gdkprivate-fb.h:
6560         Add tty and vt info to display.
6561         Add orignal modeinfo storage to display
6562         Update global functions
6563
6564         * gdk/linux-fb/gdkwindow-fb.c:
6565         Added gdk_fb_window_find_focus().
6566         gdk_mouse_get_info -> gdk_fb_mouse_get_info
6567
6568 2000-12-07  Havoc Pennington  <hp@pobox.com>
6569
6570         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
6571         function, noticed by Alex
6572
6573 2000-12-06  Elliot Lee  <sopwith@redhat.com>
6574
6575         * configure.in: Detect freetype properly
6576
6577         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
6578         above.
6579
6580 2000-12-06  Alexander Larsson  <alexl@redhat.com>
6581
6582         * gdk/linux-fb/Makefile.am:
6583         Add gdkmouse-fb.c
6584         
6585         * gdk/linux-fb/gdkmouse-fb.c:
6586         New file. Abstracted the mouse drivers a bit.
6587
6588         * gdk/linux-fb/gdkcursor-fb.c:
6589         The cursor hide/show functions was moved here from gdkinput-ps2.c.
6590
6591         * gdk/linux-fb/gdkinput-ps2.c:
6592         Removed old mouse handling code. Moved cursor handling code
6593         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
6594         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
6595         gdk_mouse_get_info.
6596
6597         * gdk/linux-fb/gdkmain-fb.c:
6598         Pass NULL pointers for x,y in gdk_mouse_get_info call.
6599
6600         * gdk/linux-fb/gdkprivate-fb.h:
6601         Removed public gdk_fb_find_common_ancestor, added and renamed
6602         functions for the new mouse handling code.
6603
6604         * gdk/linux-fb/gdkwindow-fb.c:
6605         Moved gdk_fb_window_send_crossing_events here. added global
6606         variable gdk_fb_window_containing_pointer. made
6607         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
6608         renamed to gdk_mouse_get_info.
6609
6610 2000-12-06  Alexander Larsson  <alexl@redhat.com>
6611
6612         * gdk/linux-fb/gdkevents-fb.c:
6613         Update to match latest gmain/gsource changes.
6614
6615         * gdk/linux-fb/gdkinput-ps2.c:
6616         Bogus gdk_keymap_get_entries_for_keycode implementation so that
6617         it links. Will be implemented later.
6618
6619 2000-12-03  Havoc Pennington  <hp@pobox.com>
6620
6621         * gdk/Makefile.am: add gdkkeys.[hc]
6622
6623         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
6624         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
6625
6626         * acconfig.h, configure.in: add checks and command line options
6627         for XKB
6628
6629         * gdk/x11/gdkkeys-x11.c: Implement the above functions
6630         
6631         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
6632         and group in the key event
6633
6634         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
6635         field with the low-level hardware key code, and a group
6636         field with the keyboard group
6637
6638         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
6639         and declare a couple globals used for keymap handling
6640         
6641         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
6642         hold down Shift-Control and type a hex number to get a Unicode 
6643         character corresponding to the hex number
6644         (gtk_im_context_simple_get_preedit_string): Fix cursor position
6645         (return bytes not chars)
6646
6647 2000-12-05  Elliot Lee  <sopwith@redhat.com>
6648
6649         * gdk/gdkcolor.h: Make GdkColor specify element sizes
6650         to avoid waste on 64-bit platforms.
6651
6652 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
6653
6654         * INSTALL: Fix link to PNG home, remove reference
6655         to fribidi.
6656
6657         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
6658         
6659         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
6660         tested.)
6661
6662         * gtk/gtkcheckmenuitem.c: Permanently turn on
6663         always_show_toggle.
6664
6665         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
6666         be NULL. (Vladimir Klebanov, #26545)
6667
6668         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
6669         some signed/unsigned comparison problems. (#6510,
6670         David Kaelbling)
6671
6672         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
6673         return type to boolean (Oskar Liljeblad, #18648)
6674
6675 2000-12-05  Alexander Larsson  <alexl@redhat.com>
6676
6677         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
6678         Remove bogus colormap setting.
6679
6680 2000-12-05  Alexander Larsson  <alexl@redhat.com>
6681
6682         * gdk/linux-fb/gdkcolor-fb.c:
6683         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
6684
6685         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
6686         Must set colormap.
6687         
6688 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
6689
6690         * docs/tutorial/gtk-tut.sgml: DND updates
6691
6692 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
6693
6694         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
6695         Remove old debug g_warning().
6696         (gdk_fb_draw_drawable): The src argument can be either a wrapper
6697         or an implementation, just pass the implementation to draw_drawable_2.
6698         
6699         * gdk/linux-fb/gdkprivate-fb.h:
6700         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
6701
6702         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
6703         clear and invalidate area when window is destroyed.
6704         (send_map_events): Remove old commented out code.
6705
6706 2000-12-05  Alexander Larsson  <alexl@redhat.com>
6707
6708         * gdk/linux-fb/gdkpango-fb.c:
6709         Use italic instead of oblique in font aliases.
6710         
6711         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
6712         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
6713         other unsupported functions.
6714
6715 2000-12-04  Havoc Pennington  <hp@redhat.com>
6716
6717         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
6718
6719         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
6720
6721         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
6722
6723         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
6724         hack to avoid infinite loops (synthetic expose event) - 
6725         Owen has more appropriate fixes in a branch he'll check in later.
6726
6727         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
6728         separator, CR, and CRLF as line ends
6729
6730         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
6731         into lines using pango_find_paragraph_boundary(); other bits of
6732         the widget are still going to be broken if the boundary isn't '\n'
6733         though
6734
6735 2000-12-04  Alexander Larsson  <alexl@redhat.com>
6736
6737         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
6738         multiply.
6739
6740         * gdk/linux-fb/gdkpango-fb.c:
6741         Copied some 26.6 scaling macros from pango to clean up the rounding.
6742         (pango_fb_font_get_glyph_info): Correct sign on x value.
6743
6744         * gdk/linux-fb/gdkprivate-fb.h:
6745         Removed unreferenced external functions.
6746
6747         * modules/linux-fb/Makefile.am: Use ` instead of '.
6748
6749         * modules/linux-fb/basic.c:
6750         Remove dead code. In particular the dummy lang engine which broke all
6751         pango layouts in GtkFB. Don't include tables-big.i anymore.
6752
6753         * modules/linux-fb/tables-big.i:
6754         Upgrade to latest version from pango. Left for reference, basic_ranges
6755         moved to basic.c.
6756         
6757 2000-12-04  Havoc Pennington  <hp@redhat.com>
6758
6759         Fix bugs Alex found:
6760         
6761         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
6762         to "draw"
6763
6764         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
6765
6766         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
6767
6768         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
6769         implementation in here, apparently the expose() implementation was
6770         dead code.
6771
6772 2000-12-04  Alexander Larsson  <alexl@redhat.com>
6773
6774         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
6775         Return positive descent.
6776
6777 2000-12-02  Havoc Pennington  <hp@pobox.com>
6778
6779         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
6780         method and signal
6781         
6782         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
6783         calls gdk_window_process_updates() to push the exposes through
6784         (gtk_widget_class_init): No more draw signal, no
6785         gtk_widget_real_draw()  
6786         
6787         * gtk/gtkbin.c (gtk_bin_draw): remove
6788
6789         * gtk/gtkbox.c (gtk_box_draw): remove
6790
6791         * gtk/gtkbutton.c (gtk_button_draw): remove
6792
6793         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
6794
6795         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
6796
6797         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
6798
6799         * gtk/gtkclist.c (gtk_clist_draw): remove
6800
6801         * gtk/gtkentry.c (gtk_entry_draw): remove
6802
6803         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
6804
6805         * gtk/gtkfixed.c (gtk_fixed_draw): remove
6806
6807         * gtk/gtkframe.c (gtk_frame_draw): remove
6808
6809         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
6810
6811         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
6812
6813         * gtk/gtklayout.c (gtk_layout_draw): remove
6814
6815         * gtk/gtklist.c (gtk_list_draw): remove
6816
6817         * gtk/gtklistitem.c (gtk_list_item_draw): remove
6818
6819         * gtk/gtkmenu.c (gtk_menu_draw): remove
6820
6821         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
6822
6823         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
6824
6825         * gtk/gtknotebook.c (gtk_notebook_draw): remove
6826
6827         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
6828
6829         * gtk/gtkpacker.c (gtk_packer_draw): remove
6830
6831         * gtk/gtkrange.c (gtk_range_draw): remove
6832
6833         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
6834
6835         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
6836
6837         * gtk/gtktable.c (gtk_table_draw): remove
6838
6839         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
6840
6841         * gtk/gtktext.c (gtk_text_draw): remove
6842
6843         * gtk/gtktextview.c (gtk_text_view_draw): remove
6844
6845         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
6846
6847         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
6848
6849         * gtk/gtktree.c (gtk_tree_draw): remove
6850
6851         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
6852
6853         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
6854
6855         * gtk/gtkviewport.c (gtk_viewport_draw): remove
6856
6857         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
6858
6859         * gtk/gtkvscale.c (gtk_vscale_draw): remove
6860
6861         * gtk/gtkwindow.c (gtk_window_draw): remove
6862
6863 2000-20-01  Anders Carlsson  <andersca@gnu.org>
6864
6865         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
6866         a GtkToggleButton is both insensitive and active, it was being
6867         drawn by the GtkButton draw handler which doesn't check the
6868         state. Now it's calling gtk_toggle_button_paint instead.
6869         
6870 2000-12-01  Havoc Pennington  <hp@redhat.com>
6871
6872         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
6873         dangling pointers to the appearance attributes from the 
6874         line display
6875
6876         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
6877         width/height to mean "full width/height of drawable"
6878
6879         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
6880         click to select word/line
6881         
6882         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
6883         when getting log attrs. Get a slice, so that pixmaps and stuff
6884         are properly handled.
6885
6886         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
6887         paste into the selection (replaces selection now, previously
6888         crashed or added to selection). Reveals longstanding btree bug -
6889         select multiple lines, middle-click on the selection, boom. This
6890         isn't related to my changes though.
6891
6892         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
6893         PangoLogAttrs changes
6894         (gtk_entry_move_backward_word): ditto
6895
6896         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
6897         functions return bool whether the iter moved onto a
6898         dereferenceable position.
6899  
6900         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
6901         functions for motion in terms of display lines.
6902
6903         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
6904         get the buffer a mark is inside
6905         
6906 2000-12-01  Alexander Larsson  <alexl@redhat.com>
6907
6908         * gdk/linux-fb/Makefile.am:
6909         * modules/linux-fb/Makefile.am:
6910         Freetype 2 final uses freetype-config
6911
6912         * gdk/linux-fb/gdkpango-fb.c:
6913         Upgrade to use Freetype 2 final.
6914         More flexible support for font aliases, this also fixes a bug with
6915         GtkFontSelector, as the aliases must be visible in the font/family list,
6916         or GtkFontSelector reads uninitialized memory.
6917
6918 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
6919
6920         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
6921         XGetIMValues to properly terminate variable argument list, and do
6922         NULL return check for ic_values and xim_styles.
6923
6924         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
6925         Restore preedit state after XmbResetIC().
6926         
6927         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
6928         XvaCreateNestedList() should take XvaNestedList, but not
6929         XvaNestedList*.
6930
6931         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
6932         preedit_draw_callback, preedit_caret_callback): Match
6933         "preedit-changed" signal name to "preedit_changed" to be
6934         consistent to the spec.
6935
6936         * gtk/gtkimcontextsimple.c (check_table):
6937         Match "preedit-changed" to "preedit_changed" to be consistent
6938         to the spec.
6939
6940 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
6941
6942         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
6943         gc->clip_region == NULL>
6944
6945 2000-11-30  Tor Lillqvist  <tml@iki.fi>
6946
6947         Changes by Hans Breuer:
6948         
6949         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
6950         Dont't use negative width and height as max_hints. This fixes
6951         Owen's recent testgtk changes for win32.
6952
6953         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
6954         gdk_win32_hdc_release): These are exported and may be called with
6955         other drawable types than our GdkDrawableImplWin32 (?).
6956
6957         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
6958         so always #define USE_BACKING_STORE.
6959
6960         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
6961         of printf for debugging output.
6962
6963         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
6964         
6965         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
6966
6967         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
6968         declaration.
6969
6970         * gtk/gtktexttypes.h: Ditto.
6971
6972         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
6973         (GDK_VoidSymbol) also if in case of arg check failure.
6974
6975         * gtk/gtkimcontextsimple.c
6976         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
6977         position to the pointer, but to the variable it points to.
6978
6979         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
6980
6981         * gtk/gtk.def: Updates.
6982
6983 2000-11-29  Elliot Lee  <sopwith@redhat.com>
6984
6985         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
6986         GTK_TYPE_TREE_MODEL.
6987
6988 2000-11-29  Alexander Larsson  <alexl@redhat.com>
6989
6990         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
6991         Set the size of the font from the description.
6992         (gdk_text_width): Gross hack that calculates the width
6993         of text by text_length * size/2. This is necessary because
6994         GtkLabel does some ugly gtk_string_width call to calculate
6995         an good size.
6996         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
6997
6998 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
6999
7000         * docs/tutorial/gtk-tut.sgml: DND updates
7001
7002 2000-11-29  Alexander Larsson  <alexl@redhat.com>
7003
7004         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
7005         If you pass width or height == 0 to gdk_window_clear_area they
7006         should be calculated from the window size.
7007
7008 2000-11-29  Alexander Larsson  <alexl@redhat.com>
7009
7010         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
7011         a grab, but no grab-cursor, use the cursor from the grabbed
7012         window. (gdk_fb_window_send_crossing_events): Send normal
7013         enter/leave notifications if grab and owner_events == TRUE.
7014
7015 2000-11-29  Alexander Larsson  <alexl@redhat.com>
7016
7017         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
7018         Do implicit button grabs, even if the window doesn't
7019         want the event.
7020         (gdk_fb_window_send_crossing_events): If there is a
7021         grab, only the grabbed window gets normal enter/leave
7022         notifications. On ungrab go from grabbed window to current.
7023         Don't send any notification to b when propagating from c -> b.
7024         If setting a grab on window, don't set prev_window.
7025         (handle_mouse_input): Send enter/leave events to the window the
7026         mouse is over, not the grabbed one.
7027         
7028 2000-11-28  Elliot Lee  <sopwith@redhat.com>
7029
7030         * gdk/gdkregion-generic.c: Zap warning.
7031         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
7032         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
7033
7034 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
7035
7036         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
7037         The cursor should be hidden if it is part of either the
7038         source or destination region. Not only if it is in both.
7039         (gdk_window_set_transient_for): Silence warnings.
7040
7041 2000-11-28  Alexander Larsson  <alexl@redhat.com>
7042
7043         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
7044         The default mode in X is Pie Arcs, therefore that is
7045         what Gtk+ uses.
7046
7047 2000-11-28  Alexander Larsson  <alexl@redhat.com>
7048
7049         * gdk/linux-fb/gdkinput-ps2.c:
7050         Implement correct EnterNotify/LeaveNotify:
7051         (gdk_fb_window_send_crossing_events): New function that sends
7052         all GdkCrossingEvents from the last mouse-window to the specified
7053         destination.
7054         (gdk_fb_window_visibility_crossing): Removed function.
7055         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
7056         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
7057         instead of gdk_window_get_pointer() for better readability.
7058
7059         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
7060         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
7061
7062         * gdk/linux-fb/gdkprivate-fb.h:
7063         removed gdk_fb_window_visibility_crossing, added
7064         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
7065
7066         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
7067         New function that finds the least common ancestor of two windows.
7068         (gdk_window_show, gdk_window_hide):
7069         Use gdk_fb_window_send_crossing_events.
7070         (gdk_fb_window_move_resize): Send configure events to toplevel
7071         windows. Use gdk_fb_window_send_crossing_events.
7072
7073 2000-11-27  Havoc Pennington  <hp@redhat.com>
7074
7075         * gtk/gtkprivate.h (enum): Remove a trailing comma
7076
7077 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
7078
7079         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
7080         the "changed" callback of the adjustment.  We need to redraw the
7081         spin button's arrows when the adjustment's range changes.
7082         (adjustment_changed_cb): Draw the arrows.
7083         (gtk_spin_button_value_changed): Draw the arrows.
7084
7085 2000-11-23  Alexander Larsson  <alexl@redhat.com>
7086
7087         * gdk/linux-fb/gdkselection-fb.c:
7088         Initial selection implementation.
7089
7090         * gtk/gtkselection.c:
7091         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
7092         requestor in gtk_selection_request.
7093         
7094         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
7095         Added gdk_selection_property atom.
7096
7097         * gdk/linux-fb/gdkprivate-fb.h:
7098         Export _gdk_selection_window_destroyed.
7099         Removed mask_off_x/y from GdkCursorPrivateFB.
7100         Removed hbearing, added top, left to PangoFBGlyphInfo.
7101
7102         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
7103         Call _gdk_selection_window_destroyed
7104         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
7105         the root window has been created.
7106         (static_dx_hack, static_dy_hack, compare_draw_rects,
7107         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
7108         in region. They are already sorted. Instead just traverse them in
7109         reverse if draw_direction < 0.
7110         
7111         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
7112         Double-clicks must be sent after the normal button_press.
7113         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
7114         
7115         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
7116         Pass _gdk_fb_screen_gc instead of NULL.
7117
7118         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
7119         Initialize gdk_selection_property.
7120         (gdk_event_make): Remove unused code.
7121
7122         * gdk/linux-fb/gdkcursor-fb.c:
7123         Make the pixmap for the cursor the same size as the mask. Also remove
7124         the mask_off_x/y fields in GdkCursorPrivateFB and combine
7125         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
7126         Now the whole cursor is visible.
7127
7128         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
7129         Fix bug where xdest+height instead of ydest+height was used
7130         to calculate if the source and dest overlapped. This fixes the
7131         redraw bug when the main window in testgtk was scrolled when
7132         partially covered by a tall window.
7133         Copy rectangles in region in order depending on draw_direction.
7134         Also moved the draw_direction flipping of start_y and end_y into
7135         the gc functions, as this might not be what all of them want.
7136         (gdk_fb_draw_lines): Support dashed lines.
7137         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
7138         so that the text is positioned correctly (was 1 pixel high).
7139
7140         gdk/linux-fb/gdkgc-fb.c:
7141         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
7142         all lines were drawn a pixel to short. Also checked the default of
7143         the rest of the values, and they're the same as X now.
7144
7145         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
7146         Clean up pixel positioning of the glyphs. Just use bgy->top and
7147         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
7148         to all divisions to get correct rounding behaviour.
7149
7150         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
7151         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
7152         Moved start_y/end_y flip into draw_drawable implementations.
7153         Flip also x rendering when draw_direction < 0.
7154         Remove unneccesary multiply with draw_direction.
7155
7156 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
7157
7158         * docs/tutorial/gtk-tut.sgml:
7159           - get rid of gtk_toggle_button_toggled FUD
7160           - start DND section - needs work - based on:
7161                 http://wolfpack.twu.net/docs/gtkdnd/
7162
7163 2000-11-22  Alexander Larsson  <alexl@redhat.com>
7164
7165         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
7166         Correct calculation of font metrics. Now GtkEntrys have sane
7167         size.
7168
7169 2000-11-22  Alexander Larsson  <alexl@redhat.com>
7170
7171         * gdk/gdktypes.h:
7172         Add new type GdkSpan
7173         
7174         * docs/reference/gdk/gdk-sections.txt,
7175         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
7176         gdk/gdkregion.h:
7177         Implement and document gdk_region_spans_intersect_foreach.
7178
7179         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
7180         Add new file gdkrender-fb.c which contains all core
7181         rendering code.
7182         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
7183         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
7184         (optimized rectangle fillers).
7185
7186         * gdk/linux-fb/gdkdrawable-fb2.c:
7187         Move all rendering code to gdkrender-fb.c.
7188         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
7189         Use the new span intersection functions in gdk_fb_fill_spans.
7190         gdk_fb_draw_rectangle() clips filled rectangles and calls
7191         gc->fill_rectangle with the result.
7192         gdk_fb_fill_spans() gets extra argument "sorted".
7193
7194         * gdk/linux-fb/gdkevents-fb.c:
7195         Remove unused includes and defines.
7196         New function gdk_fb_get_time() to get correct time for events.
7197
7198         * gdk/linux-fb/gdkinput-ps2.c:
7199         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
7200         Make sure to set the time of all events.
7201
7202         * gdk/linux-fb/gdkmain-fb.c:
7203         Use gdk_fb_get_time ().
7204
7205         * gdk/linux-fb/gdkprivate-fb.h:
7206         New virtual GC calls: fill_span & fill_rectangle.
7207         Export gdk_fb_get_time().
7208         gdk_fb_fill_spans() gets extra argument "sorted".
7209
7210         * gdk/linux-fb/mi*.c:
7211         Use GdkSpan instead of GdkRectangle.
7212         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
7213         from XFree 4 source)
7214         
7215 2000-11-22    <jrb@redhat.com>
7216
7217         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
7218         reversing the order in an if statement will do.  Doing so managed
7219         to make the treemodelsort half work.  Other half will follow after
7220         I get the insert function fully fixed.
7221
7222 2000-11-21  Elliot Lee  <sopwith@redhat.com>
7223         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
7224         more than 2 bits. Besides, I need to implement an evil hack. :)
7225
7226 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
7227
7228         * docs/tutorial/gtk-tut.sgml: minor corrections
7229
7230 2000-11-20  Jonathan Blandford <jrb@redhat.com>
7231         * gtk/gtktreemodelsort.h: Add convertion functions to let you
7232           convert to and from relative path's and iters.
7233
7234         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
7235           testing sorting functions a bit better.  Currently broken -- will
7236           fix in morning.
7237
7238 2000-11-20  Havoc Pennington  <hp@redhat.com>
7239
7240         * gtk/gtkwidget.c: Documented a bunch of functions in here
7241         (gtk_widget_realize): Warn if you try to realize
7242         a widget with no parent that isn't a toplevel
7243         (gtk_widget_intersect): return a gboolean
7244
7245 2000-11-20  Havoc Pennington  <hp@redhat.com>
7246
7247         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
7248         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
7249         scrolling to be implemented in GDK to finish. Also, right now
7250         we just size_allocate all children on every layout change,
7251         which is pretty lame. Test commented out of testtext.c, 
7252         until it works better.
7253
7254 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
7255
7256         * gdk/linux-fb/gdkdrawable-fb2.c:
7257         Removed unused arguments from gdk_fb_drawable_get_pixel().
7258
7259         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
7260         Renamed fidur specific mouse packet data in MouseDevice to
7261         generic. Used it in ps2 mouse handling code to avoid blocking
7262         reads.
7263
7264 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
7265
7266         * demos/gtk-demo/main.c: Changed to have the list become
7267         non-italic when the demo window is destroyed through an external
7268         event (like a close button).  Doing so found three bugs in the
7269         widget.
7270
7271         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
7272
7273         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
7274         we actually set the cell.
7275
7276         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
7277
7278         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
7279         free a leaked path.  Thanks memprof.
7280
7281 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
7282
7283         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
7284         off-by-one error when destroying allocated segments
7285         on failure. (Elliot)
7286
7287 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
7288
7289         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
7290         memleaks found by Evan Martin.
7291
7292 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
7293
7294         * Released 1.3.2
7295         
7296         * NEWS: Updates for 1.3.2
7297
7298 2000-11-17  Tor Lillqvist  <tml@iki.fi>
7299
7300         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
7301         but in general for window system specific events.
7302
7303         * gtk/gtk.def
7304         * gtk/makefile.mingw.in
7305         * gtk/makefile.msc.in: Update.
7306         
7307         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
7308
7309 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
7310
7311         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
7312         distribute gtk.immodules.
7313
7314         * gtk/Makefile.am (install-data-local): Don't install the
7315         gtk.immodules file created for the uninstalled modules;
7316         instead run gtk-query-immodules after install
7317
7318 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
7319
7320         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
7321         -rpath to the right install location.
7322
7323         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
7324         -export-dynamic.
7325
7326         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
7327         properly.
7328
7329 2000-11-15  Havoc Pennington  <hp@pobox.com>
7330
7331         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
7332         patch from Mikael Hermansson to temporarily stop blinking while
7333         the user is using the keyboard to type or navigate. 
7334
7335         Also, when blinking, stay on for longer than we stay off. Also,
7336         return from start_cursor_blink if !cursor_visible, to save
7337         checking that flag all over the place before we call
7338         start_cursor_blink.
7339
7340 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
7341
7342         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
7343         only contain a "fontset" line, which is now ignored.
7344
7345         * gtk/gtkentry.c (gtk_entry_button_release): Make 
7346         double-click-to-select-word work.
7347         
7348 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
7349
7350         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
7351         Don't move back one char when we are actually at the end of the 
7352         paragraph.
7353
7354 2000-11-15  Robert Brady  <robert@suse.co.uk>
7355
7356         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
7357         'o' < 'p'.
7358         
7359         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
7360         bind_textdomain_codeset.
7361
7362         (gtk_init_check): Make the warning about translating default:LTR
7363         sterner.
7364         
7365 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
7366
7367         * **/Makefile.am : remove unecessary rules for win32-specific
7368         config-substituted targets. If you want these rules, use
7369         --enable-maintainer-mode (called automatically by autogen.sh).
7370         Stops a lot of unneccessary make-time warnings.
7371
7372         * gtk/gtktext{layout,display}.c: Factor in total width as
7373         well as screen when figuring alignment for word-wrap as well as
7374         no wrap; this is necessary to handle lines that cannot be wrapped
7375         at all.
7376
7377 2000-11-15  Havoc Pennington  <hp@redhat.com>
7378
7379         * gtk/testtext.c: Implement essential color cycling feature
7380
7381 2000-11-15  Havoc Pennington  <hp@redhat.com>
7382
7383         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
7384         when we invalidate the main window.
7385
7386         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
7387         GtkTextView will now invalidate the side windows for us when text
7388         changes.
7389
7390 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
7391
7392         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
7393         unconditionally, since we may need to update the horizontal
7394         scrollbars even if the height didn't change.
7395
7396         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
7397         the extra attrs, since some of them affect size.
7398
7399         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
7400         x_offset correctly.
7401
7402 2000-11-15  Havoc Pennington  <hp@redhat.com>
7403
7404         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
7405         don't move the first line out into the margin, instead move the
7406         whole paragraph in order to make space for the first line within 
7407         the margin
7408
7409 2000-11-15  Havoc Pennington  <hp@redhat.com>
7410
7411         * gtk/gtktextview.c (changed_handler): offset redraw rect by
7412         xoffset in addition to yoffset, so horizontal scrolling doesn't
7413         break redraws
7414
7415 2000-11-15  Havoc Pennington  <hp@redhat.com>
7416
7417         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
7418         from the cursor
7419         (render_layout_line): fix reversed test that caused weird
7420         underlines to get drawn
7421
7422 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
7423
7424         * gdk/linux-fb/gdkprivate-fb.h:
7425         Fix debug macros.
7426         
7427 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
7428
7429         * gdk/linux-fb/gdkprivate-fb.h:
7430         Added virtual functions set_pixel, get_color,
7431         fill_span and draw_drawable to the GC.
7432         Added global _gdk_fb_screen_gc to use instead of
7433         NULL when drawing to the screen.
7434         Added _gdk_fb_gc_calc_state() prototype.
7435
7436         * gdk/linux-fb/gdkgc-fb.c:
7437         Call _gdk_fb_gc_calc_state() on any gc state change.
7438
7439         * gdk/linux-fb/gdkglobals-fb.c:
7440         Add _gdk_fb_screen_gc
7441                 
7442         * gdk/linux-fb/gdkdrawable-fb2.c:
7443         _gdk_fb_gc_calc_state() calculates best functions
7444         for the GC state and depth.
7445         Moved bpp specialized code to separate functions.
7446         Added optimized 24 bpp AA draw_drawable.
7447
7448         * gdk/linux-fb/gdkevents-fb.c:
7449         Silence gcc warning.
7450
7451         * gdk/linux-fb/gdkimage-fb.c:
7452         Use _gdk_fb_screen_gc
7453
7454         * gdk/linux-fb/gdkwindow-fb.c:
7455         Init and use _gdk_fb_screen_gc
7456
7457         * gdk/linux-fb/mitypes.h:
7458         Remove unused types.
7459
7460 2000-11-14  Havoc Pennington  <hp@pobox.com>
7461
7462         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
7463         to pixels
7464
7465 2000-11-14  Havoc Pennington  <hp@pobox.com>
7466
7467         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
7468
7469         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
7470         unknown char, no real reason we were using a variable. 
7471         Remove gtk_text_unknown_char variable. Fix all the text widget
7472         files accordingly.
7473
7474         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
7475         since the Unicode spec seems to prefer that character for our
7476         purposes.
7477
7478 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
7479
7480         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
7481         value of g_getenv() isn't freeable, so g_strdup it.
7482
7483         * modules/input/inuktitut.c: Inuktitut input method.
7484
7485         * modules/input/Makefile.am: Build this.
7486         
7487 2000-11-14  Elliot Lee  <sopwith@redhat.com>
7488
7489         * gtk/Makefile.am: Install gtk.immodules, needed for operation
7490         of gtk programs.
7491
7492 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
7493
7494         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
7495         reversed > that was causing Home to go to end of previous line.
7496
7497         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
7498         modified-keypresses (leave for bindings.)
7499
7500         * modules/input/Makefile.am: Remove useless -export-dynamic
7501         from module LDFLAGS.
7502
7503 2000-11-14  Havoc Pennington  <hp@redhat.com>
7504
7505         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
7506         higher.
7507
7508         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
7509         account. Also, render rise, underline, background, etc. for
7510         pixbufs as well as text. Also, draw underlines one pixel higher.
7511
7512         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
7513         PangoAttribute for the rise, so it gets drawn properly. Also,
7514         add the GtkTextAppearance attribute for pixbuf/widget segments
7515         as well; we should go ahead and have rise, underline, background,
7516         stipple work for those
7517
7518         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
7519         Pango
7520
7521 2000-11-15  Tor Lillqvist  <tml@iki.fi>
7522
7523         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
7524
7525         * gtk/gtk.def: Update.
7526
7527         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
7528         included.
7529         (gtk_rc_get_im_module_file): Use run-time installation directory
7530         on Win32.
7531
7532         * gdk/win32/rc/gdk.rc: Remove.
7533         * gdk/win32/rc/gdk.rc.in: New file.
7534         * gdk/win32/rc/Makefile.am: New file
7535         * gdk/win32/Makefile.am: Corresponding changes.
7536
7537         * gtk/gtk.rc: Remove.
7538         * gtk/gtk-win32.rc.in: New file.
7539         * gtk/Makefile.am: Corresponding changes.
7540
7541         * configure.in: Corresponding changes.
7542
7543         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
7544         has a built gtkcompat.h. Developers using CVS code on Win32 can
7545         hand-edit it from gtkcompat.h.in.
7546
7547         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
7548         gtkcompat.h from gtkcompat.h.win32.
7549
7550 2000-11-14  Havoc Pennington  <hp@redhat.com>
7551
7552         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
7553         to default to GDK_ACTION_MOVE if the drag is within a single
7554         widget. Defaults to GDK_ACTION_COPY between widgets.
7555
7556 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
7557
7558         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
7559
7560         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
7561
7562         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
7563         srcdir != builddir
7564
7565         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
7566
7567         * configure.in (GTK_VERSION): Up to 1.3.2
7568
7569         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
7570         gtkimcontextxim.h
7571
7572         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
7573         missing doc comment.
7574
7575 2000-11-14  Alexander Larsson  <alexl@redhat.com>
7576
7577         * modules/linux-fb/basic.c:
7578         Use the glib iconv wrappers.
7579
7580 2000-11-13  Havoc Pennington  <hp@pobox.com>
7581
7582         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
7583         still more bugs.
7584
7585         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
7586         scroll the GdkWindows before realization.
7587
7588 2000-11-13  Havoc Pennington  <hp@redhat.com>
7589
7590         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
7591         where GC didn't always get updated properly
7592
7593         * demos/gtk-demo/textview.c (create_tags): Use subattributes
7594         of fonts instead of setting the entire font
7595
7596         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
7597         setting entire font
7598
7599         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
7600
7601         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
7602         a bunch of individually-settable font attributes. You can still 
7603         use the "font" and "font_desc" args, they just set all the font
7604         attributes at once.
7605
7606 2000-11-13 Elliot Lee <sopwith@redhat.com>
7607
7608         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
7609
7610 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
7611
7612         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
7613         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
7614
7615         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
7616         work better.
7617
7618 2000-11-13  Havoc Pennington  <hp@redhat.com>
7619
7620         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
7621         the module file.
7622
7623         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
7624         dest->language
7625
7626         * gtk/testtext.c: Test pixels above/below/inside paragraphs
7627         settings
7628
7629         * gtk/gtktextview.c: Implement object args and setters/getters for
7630         all the aspects of the GtkTextAttributes that are not set from
7631         GtkWidget attributes. This is spacing, justification, margins,
7632         etc.
7633
7634         (gtk_text_view_set_arg)
7635         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
7636         args
7637         (gtk_text_view_class_init): Add args for justify, left_margin,
7638         right_margin, indent, and tabs
7639         
7640
7641         * gtk/gtktextlayout.c (set_para_values): fix to display indent
7642         attribute properly
7643
7644         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
7645         replace with indent attribute
7646
7647         * gtk/gtktextlayout.c (set_para_values): multiply indent by
7648         PANGO_SCALE
7649
7650         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
7651         rearranging code to do that
7652         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
7653         i.e. don't subtract the top_margin first, just to keep
7654         all margin-futzing in one place.
7655
7656         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
7657
7658         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
7659         special case of last line, Pango now handles this itself.
7660         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
7661         Y coordinate
7662         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
7663         (find_display_line_above): wasn't moving the byte index as it
7664         iterated over lines, so always returned byte 0. Also, port to use
7665         PangoLayoutIter.
7666         (find_display_line_below): same problem as
7667         find_display_line_above. Also, port to use PangoLayoutIter.
7668
7669 2000-11-13  Alexander Larsson  <alexl@redhat.com>
7670
7671         * gdk/linux-fb/*.[ch]:
7672         Massive reindent to gtk+ standard. My hands hurt.
7673
7674         * gdk/linux-fb/gdkcolor-fb.c:
7675         Move GdkColorPrivateFB from inherited to windowing_data
7676
7677         * gdk/linux-fb/gdkcursor-fb.c:
7678         _gdk_cursor_new_from_pixmap made static
7679
7680         * gdk/linux-fb/gdkdnd-fb.c:
7681         GdkDragContextPrivate moved to windowing_data
7682
7683         * gdk/linux-fb/gdkdrawable-fb2.c:
7684         Removed endian.h, use glib endianness macros instead
7685         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
7686         and GDK_DRAWABLE_IMPL_FBDATA
7687
7688         * gdk/linux-fb/gdkfont-fb.c:
7689         Add empty gdk_font_load(). Needed for linking of Gtk+.
7690
7691         * gdk/linux-fb/gdkimage-fb.c:
7692         Removed endian.h, use glib endianness macros instead
7693         Moved GdkImagePrivateFB to windowing_data
7694         gdk_image_new_bitmap didn't always allocate enough
7695         memory.
7696
7697         * gdk/linux-fb/gdkinput-ps2.c:
7698         Added semi-working support for MS serial mice.
7699
7700         * gdk/linux-fb/gdkprivate-fb.h:
7701         s/GdkWindowPrivate/GdkWindowObject/
7702         Removed GdkWindowPrivate typedef
7703         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
7704         Removed GDK_DRAWABLE_P
7705         Move GdkColorPrivateFB from inherited to windowing_data
7706         Moved GdkImagePrivateFB to windowing_data
7707
7708         * gdk/linux-fb/gdkvisual-fb.c:
7709         Removed some unused debug code.
7710
7711         * gdk/linux-fb/gdkwindow-fb.c:
7712         Use stock cursors instead of including X headers.
7713         s/GdkWindowPrivate/GdkWindowObject/
7714
7715         * gdk/linux-fb/mitypes.h:
7716         Removed unused types.
7717
7718         * modules/linux-fb/basic.c:
7719         Use the pango fribidi wrappers.
7720
7721 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7722
7723         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
7724         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
7725         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
7726         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
7727         GEqualFunc where applicable.
7728         
7729         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
7730         pango_font_description_equal as changed in pango.
7731         
7732         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
7733
7734         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
7735
7736         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
7737
7738         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
7739
7740         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
7741
7742         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
7743
7744         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
7745         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
7746
7747         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
7748         gtk_rc_styles_compare -> gtk_rc_styles_equal.
7749
7750 2000-11-12  Havoc Pennington  <hp@pobox.com>
7751
7752         * demos/gtk-demo/Makefile.am (democodedir): change demo install
7753         dir to datadir/gtk+-2.0/demo
7754
7755         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
7756         sorts of text widget and Pango font bugs. Urgh.
7757
7758         * demos/gtk-demo/Makefile.am (demos): Add textview.c
7759
7760         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
7761         tree that you should double click to see the demo. Fix 
7762         types of variables to reflect changed return values from 
7763         GtkTreeStore and GtkTreeViewColumn constructors.
7764
7765         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
7766         newly-created buffer to prepare for GObject semantics
7767
7768         * gtk/testtext.c: don't leak the buffer with GObject semantics
7769
7770         * gtk/testtextbuffer.c: ditto
7771         
7772 2000-11-12  Havoc Pennington  <hp@pobox.com>
7773
7774         Rename this testgtk to gtk-demo to avoid confusion, and 
7775         install it so people can use it as a supplement to 
7776         the documentation.
7777         
7778         * demos/gtk-demo: Moved from demos/testgtk
7779
7780         * demos/testgtk: Removed
7781
7782         * configure.in: make Makefile in gtk-demo
7783         
7784         * demos/gtk-demo/Makefile.am: Install sample source to 
7785         datadir/gtk-demo (maybe there's a better place?), and 
7786         rename the binary to gtk-demo
7787         
7788         * demos/gtk-demo/main.c (load_file): Load installed sample
7789         source if source isn't found in pwd.
7790
7791 2000-11-09  Havoc Pennington  <hp@pobox.com>
7792
7793         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
7794         argument to set the char displayed when visibility == FALSE
7795         (gtk_entry_create_layout): If !entry->visible, replace 
7796         all chars with the "invisible char"
7797
7798         * gtk/testgtk.c: Test the invisible_char deal
7799         
7800 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
7801
7802         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
7803         can't get a native font in the right encoding.
7804
7805 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
7806
7807         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
7808         respectively.
7809
7810 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
7811
7812         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
7813         Fix warning when moving between paragraphs.
7814
7815         * gtk/gtkentry.[ch]: Change move => move_cursor, 
7816         delete => delete_from_cursor, insert => insert_at_cursor
7817
7818 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
7819
7820         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
7821
7822         * modules/input/imthai-broken.c: A Thai input method for use if
7823         Thai keys are really generating Latin1 keysyms.
7824
7825         * modules/input/Makefile.am: Build these.
7826
7827 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
7828
7829         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
7830         g_filename_{to,from}_utf8 now takes an extra parameter.
7831
7832         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
7833         strftime into UTF-8.
7834
7835         (column_from_x, gtk_calendar_paint_day_names): Support RTL
7836         calendars.
7837
7838         (gtk_calendar_paint_day_names): Draw day names in the right 
7839         place.
7840         
7841 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
7842
7843         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
7844         problem with using result of g_get_charset() backwards -
7845         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
7846
7847         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
7848         negative min_width/height and max_width/height to
7849         mean "requisition"; this allows setting a window
7850         to be user-resizable in only one direction easily.
7851
7852         * gtk/testgtk.c (create_main_window): Remove hard-coded
7853         usize - set a default size in the vertical direction.
7854
7855 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
7856
7857         * gtk/gtkrange.c: Add some missing casts. Support 
7858         2 and 3 button clicks on the arrows to mean 
7859         "move by pages" and "jump to end". (Like gtkspinbutton)
7860
7861 2000-11-12 Hans Breuer <Hans@Breuer.Org>
7862
7863         * gdk/win32/makefile.msc : reflect build module changes
7864
7865         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
7866         from GdkPixmap*, cast implementation member instead.
7867
7868         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
7869         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
7870         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
7871         more Gdi functions return value checking. 
7872         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
7873         GdkImagePrivateWin32 *.
7874
7875         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
7876         menus useable again. Add #pragma message to keep reminded on this issue.
7877         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
7878         windows. This allows to enable backing store on Win32!
7879
7880         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
7881         in drawable is of impl type. Correct specific type checks appropriate.
7882  
7883         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
7884         GDK_WINDOW_DESTROYED before allocating new resources.
7885
7886         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
7887
7888         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
7889         (gdk_window_foreign_new) initialize parent handle.
7890         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
7891
7892         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
7893         Let the GDI invalidate the window on MoveWindow call to fix scrolling
7894         problems (e.g. main buttons in testgtk). 
7895
7896 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
7897
7898         * gtk/gtkentry.c (gtk_entry_key_press): Call 
7899         gtk_widget_activate for GDK_Return.
7900
7901         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
7902         of preedit cursor position.
7903
7904 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
7905
7906         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
7907         static.
7908
7909 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
7910
7911         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
7912         out support for multiple locales; that simple doesn't
7913         work reliably with current Xlib
7914
7915         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
7916         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
7917         Add support for positioning the cursor within the preedit string.
7918
7919 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
7920
7921         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
7922         at XIM input method module.
7923
7924         * gtk/gtktextview.c: Check for bindings after passing
7925         events to im context filter.
7926
7927 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
7928
7929         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
7930         empty attribute lists properly.
7931
7932 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
7933
7934         * gtk/queryimmodules.c (main): Return non-zero exit
7935         status if errors were encountered querying any
7936         modules.
7937
7938         * modules/input/Makefile.am (moduledir): remove
7939         leftover bin program target.
7940
7941         * docs/make-todo: Fix typo in error message.
7942
7943 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
7944
7945         * configure.in: Add modules/input/Makefile
7946
7947 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
7948
7949         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
7950         don't include gtkthemes.h.
7951
7952         * gtk/testgtk.c gtk/testtext.c: Set environment variables
7953         to point
7954
7955         * gtk/Makefile.am: Add new .c and .h files, build 
7956         gtk-query-immodules and use it to create a gtk.immodules
7957         file for use of test programs.
7958
7959         * gtk/gtkpreview.c: remove extra blank line.
7960
7961 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
7962
7963         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
7964         Add the ability to add extra tables beyond the default
7965         one, and also the ability to have compose sequences 
7966         that are prefixes of other compose sequences. 
7967
7968         * gtk/gtkimcontextsimple.c: Export a preedit string which
7969         consists of possible candidates for keystrokes that have
7970         been entered but not yet committed.
7971
7972         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
7973         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
7974
7975         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
7976         Add a function to add input-method switching menu items
7977         to a menu.
7978
7979         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
7980         when switching input methods.
7981
7982         * gtk/gtkimcontextsimple.[ch]: Change the format of
7983         the compose table to allow compose tables of different
7984         lengths / sequence.
7985
7986 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
7987
7988         * gtk/gtkimmodule.[ch]: Support routines for loading
7989         GtkIMContext implementations dynamically at runtime.
7990
7991         * modules/input/imcyrillic-translit.c: A sample input
7992         method (based on GtkIMContextSimple with an extra table),
7993         which demonstrates preedit strings and the module
7994         system for input modules
7995
7996         * gtk/queryimmodules.c: Program to query the available
7997         input modules and write the results into a file.
7998          
7999         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
8000         extra config options "im_module_file" (cache file for
8001         input method modules), and "im_module_path" - path
8002         to look for modules when generating cache file.
8003
8004         This doesn't scale.
8005
8006 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
8007
8008         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
8009         generic code from gtkthemes into a new abstraction
8010         GtkModule which has the logic for implementing
8011         a loadable module which implements a number of 
8012         GObject types.
8013
8014 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
8015
8016         * gtk/gtkeditable.[ch]: Convert GtkEditable from
8017         a class into an interface  
8018         
8019         * gtk/gtkoldeditable.[ch]: Move the old editable
8020         implementation into here, so legacy widgets can
8021         still rely on the implemenation. GtkOldEditable
8022         exports GtkEditable. Make selection handling
8023         code use new text conversion functions (and
8024         handle UTF-8 as a side-effect). Use GtkClipboard
8025         for CLIPBOARD.
8026
8027         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
8028         Adopt to match above changes.
8029
8030         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
8031         avoid GtkOldEditable implementation. Restructure
8032         to reduce number of places that modify state directly.
8033         Move to GtkBindingSet. Display the preedit string.
8034         Queue recomputation of PangoLayout and scroll position
8035         to improve effiency of doing complex changes naively.
8036         Add a menu with cut/copy/paste and input method selection.
8037
8038 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
8039
8040         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
8041         to set preedit string and attributes; display preedit string by
8042         inserting string and attributes at cursor when creating the
8043         GtkTextLineDisplay.
8044
8045         * gtk/gtktextlayout.c: Move all conversions between byte
8046         positions in PangoLayout and GtkTextIter into new functions
8047         line_display_iter_to_index/index_to_iter that properly
8048         handle the preedit string.
8049
8050         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
8051         it to return const char * (eventually will end up
8052         as GCONST char *, most likely.)
8053
8054         * gtk/gtktextview.[ch]: Handle the preedit string, call
8055         gtk_im_context_reset() as necessary, add a menu to switch
8056         input methods.
8057         
8058         * gtk/gtktextlayout.[ch]: Remove useless
8059         gtk_text_layout_get_log_attrs() function.
8060
8061 2000-11-11  Tor Lillqvist  <tml@iki.fi>
8062
8063         * gdk/gdk.def
8064         * gtk/gtk.def: Update.
8065
8066         * gdk/win32/*.c: Add last argument to g_type_register_static()
8067         calls.
8068
8069         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
8070
8071         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
8072         generated by older wheel mouse drivers. Get the correct y
8073         coordinate from WM_MOUSEWHEEL messages.
8074
8075         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
8076         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
8077         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
8078         Debugging functions.
8079
8080         * gdk/win32/gdkprivate-win32.h: Declare them.
8081
8082         * gdk/win32/gdkinput-win32.h: Add declaration for
8083         gdk_input_window_destroy().
8084
8085         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
8086
8087 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
8088
8089         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
8090         function to help handle keeping things in sync.
8091
8092 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
8093
8094         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
8095         BOXED marshallers.
8096
8097         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
8098         (gtk_list_store_class_init): use the new BOXED marshallers.
8099
8100         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
8101         new_with_values to new_with_types.
8102         (gtk_tree_store_get_column_type): add this.
8103         (gtk_tree_store_class_init): use the new BOXED marshallers.
8104
8105         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
8106         mirror some POINTER marshallers.
8107
8108 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
8109
8110         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
8111         allow more interesting iterators.  Also, made the lifecycle of
8112         iterators more explicit.
8113
8114         * gtk/gtktreemodelsort.[ch]: New model for sorting.
8115
8116         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
8117         types.
8118
8119 2000-11-09  Alexander Larsson  <alexl@redhat.com>
8120
8121         * demos/testgtk/menus.c:
8122         Changes to make the new testgtk compile after
8123         gtk_menu_append was removed.
8124
8125         * gdk/linux-fb/gdkdrawable-fb2.c
8126         (gdk_fb_get_depth, gdk_fb_get_visual,
8127         gdk_drawable_impl_fb_class_init): Implement
8128         these drawable functions. Now GtkImages work again.
8129
8130         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
8131
8132         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
8133         
8134         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
8135         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
8136         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
8137         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
8138
8139 2000-11-08  Havoc Pennington  <hp@pobox.com>
8140
8141         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
8142         visible_set args, don't know where these had gone, I thought they
8143         used to be there
8144
8145         * gtk/testtext.c: Add a menu item to apply invisibility tag;
8146         now we can test the feature and see that it's totally broken.
8147
8148 2000-11-08  Havoc Pennington  <hp@pobox.com>
8149
8150         Make DND copy pixbufs and tags when source and target share a 
8151         tag table.
8152         
8153         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
8154         in-process GTK_TEXT_BUFFER_CONTENTS target
8155         (gtk_text_view_drag_data_received): Paste from
8156         GTK_TEXT_BUFFER_CONTENTS if we receive it.
8157
8158 2000-11-08  Alexander Larsson  <alexl@redhat.com>
8159
8160         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
8161         API changes.
8162
8163         * gtk/gtkmenu.c: Add support for scrolling menus.
8164         Remove gtk_menu_append/prepend/insert, these have been moved to
8165         gtkcompat.h as #defines.
8166
8167         * gtk/gtkcompat.h.in:
8168         Add compatibility #defines for gtk_menu_append/prepend/insert
8169
8170         * gtk/gtkmenu.h: Add data needed for scrolling menus.
8171         GtkMenuPositionFunc gets an extra argument push_in.
8172         gtk_menu_append/prepend/insert removed.
8173         
8174         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
8175         positioning behaviour to fit to scrolling menus.
8176
8177         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
8178         into menuitem->submeny. That is wrong, and broke torn
8179         off submenus of torn off menus, since they were unrealized
8180         when the first menu was unrealized.
8181
8182         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
8183         gtk_menu_shell_select_item() since these need to be overridden in
8184         GtkMenu.
8185
8186         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
8187         positioning behaviour to fit to scrolling menus.
8188         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
8189         the current item so that it is prelighted when the menu pops up.
8190         This is a workaround to the fact that the menu doesn't get the
8191         initial enter event (due to grabs).
8192
8193         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
8194         s/gtk_menu_append/gtk_menu_shell_append/
8195
8196         * gtk/gtknotebook.c:
8197         s/gtk_menu_insert/gtk_menu_shell_insert/
8198
8199         * gtk/testgtk.c (create_menu, create_menus):
8200         Create the first menu with 50 items so that menu scrolling
8201         can be tested.
8202         
8203         
8204         Patch from Jonathan Blandford  <jrb@redhat.com>
8205
8206         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
8207         system to handle size requests.  First, we ask what the size of
8208         the toggle is.  Then, when allocating the size, we allocate the
8209         toggle_size first.  This way we can have multiple menu-item
8210         classes w/o needing a seperate class for each.
8211
8212         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
8213         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
8214
8215         * gtk/gtkcheckmenuitem.c
8216         (gtk_check_menu_item_toggle_size_request): New function to handle
8217         the toggle size-request.
8218
8219 2000-11-07  Havoc Pennington  <hp@redhat.com>
8220
8221         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
8222         Half-ass somewhat fix this function, so that scrolling to the
8223         insertion point works. Pango hacking is in the future to really
8224         fix it.
8225
8226         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
8227         length of data, no longer used.
8228
8229         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
8230         method contents in here, get rid of destroy method
8231         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
8232         that were backward. Remove debug spew.
8233         (cut_or_copy): Make the clipboard work with insert_range to
8234         preserve tags and pixbufs, not just the primary selection.
8235
8236 2000-11-07  Havoc Pennington  <hp@redhat.com>
8237
8238         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
8239         to gtk_text_mark_get_visible
8240
8241         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
8242         bug that was generating an invalid iterator
8243
8244         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
8245         ensure_char_offsets() in front of code placing the iter in an
8246         invalid state.
8247
8248         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
8249         make override_location arg const
8250         (paste): Replace the selection if we paste into the 
8251         current selection
8252
8253         * gtk/gtkselection.h: Remove "GtkSelectioData"
8254         (struct _GtkSelectionData): move the definition here.
8255
8256         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
8257         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
8258
8259         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
8260
8261         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
8262         (gtk_text_buffer_insert_range_interactive): implement
8263         (gtk_text_buffer_get_tags): Remove, replaced by
8264         gtk_text_iter_get_tags()
8265
8266         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
8267         limit parameter, to avoid infinite linear scan.
8268         (gtk_text_iter_backward_search): Add search limit
8269         (gtk_text_iter_forward_find_char): Add search limit
8270         (gtk_text_iter_backward_find_char): Add search limit
8271
8272 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
8273
8274         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
8275         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
8276         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
8277         gdk/linux-fb/gdkwindow-fb.c:
8278         use g_object_new() instead of g_type_create_instance() which
8279         is a private function for fundamental type implementations.
8280
8281         * gdk/linux-fb/gdkinput-ps2.c:
8282         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
8283         instead just store the current modifier state. Add a (somewhat broken)
8284         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
8285         Rename exported function gdk_input_ps2_get_mouseinfo to
8286         gdk_input_get_mouseinfo.
8287
8288         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
8289         gdk/linux-fb/gdkwindow-fb.c:
8290         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
8291         
8292
8293 2000-11-02  Havoc Pennington  <hp@redhat.com>
8294
8295         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
8296         use stock buttons. Should be 100% source compatible, appropriate
8297         filesel fields now point to dialog->vbox and dialog->action_area.
8298         On the bizarre side, dialog->action_area and filesel->action_area
8299         are not the same widget.
8300         (gtk_file_selection_init): Put some padding around the selection
8301         entry, so it isn't touching the GtkDialog separator.    
8302
8303         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
8304         use stock buttons, etc. Should also be source compatible.
8305         Set the dialog default title in _init not _new().
8306         
8307         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
8308         Use stock buttons; don't put a button box inside the existing
8309         dialog button box. Don't bother with push/pop colormap anymore.
8310
8311         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
8312         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
8313         for message dialog, and necessary for the font selection and color
8314         selection with help and apply buttons.
8315         
8316         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
8317         to the created button widget. Set GTK_CAN_DEFAULT on the button.
8318         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
8319         between buttons, put less padding around the action area.
8320         (gtk_dialog_run): Exit on unmap rather than on destroy. 
8321         This will also exit the loop if the widget is hidden.
8322         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
8323         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
8324         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
8325         special-case delete event.
8326
8327         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
8328         formatting
8329         
8330 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
8331
8332         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
8333         button to temporarily disable position recording in the
8334         "saved position" test.
8335
8336 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
8337
8338         * gtk/gtkthemes.c: added compat code that temporarily implements
8339         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
8340         going to be revamped by owen's upcoming GtkModule patches, but
8341         untill then people want gtk to build, right? ;)
8342
8343 2000-11-04  Havoc Pennington  <hp@pobox.com>
8344
8345         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
8346         list
8347
8348         * docs/Changes-2.0.txt: Add note about
8349         gtk_container_get_toplevels()
8350
8351         * gtk/gtktextview.h: formatting
8352         
8353         * gtk/gtktextview.c: don't start descriptions with "Returns",
8354         confuses gtk-doc
8355
8356 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
8357
8358         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
8359         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
8360
8361 2000-11-03  Havoc Pennington  <hp@redhat.com>
8362
8363         * gtk/gtktexttagtable.c: Docs
8364         (gtk_text_tag_table_size): return a signed int
8365
8366         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
8367         (gtk_text_tag_event): make the event_object a GObject
8368
8369         * gtk/gtktextview.c: Write API docs for all functions.
8370
8371         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
8372         for gtk_text_view_get_window_type() called on one of the private
8373         windows.
8374
8375         * gtk/gtktextview.c: Instead of accessing text_view->buffer
8376         directly, call get_buffer() which demand-creates a default
8377         buffer. So gtk_text_view_new() can be used to create a view with a
8378         default buffer in it, if you just want an empty text box users can
8379         put data in. Useful for GUI builders also.
8380
8381 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
8382
8383         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
8384         the charset encodign portion MUST be in lowercase.
8385         * gtk/gtkrc.az: added file for Azeri language
8386
8387 2000-11-03  Havoc Pennington  <hp@redhat.com>
8388
8389         Get widgets working on the btree/buffer side. Display of them 
8390         still doesn't work.
8391         
8392         * gtk/gtktextview.c: start implementing child widget stuff
8393
8394         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
8395
8396         * gtk/gtktextlayout.c: handle embedded widgets
8397
8398         * gtk/gtktextdisplay.c: handle embedded widgets
8399
8400         * gtk/gtktextchild.c: Implement all the child anchor goo
8401
8402         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
8403         function
8404
8405         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
8406         (insert_pixbuf_or_widget_segment): abstract out common portions of 
8407         creating a child anchor or a pixbuf segment.
8408         (gtk_text_btree_create_child_anchor): new function
8409         (gtk_text_btree_unregister_child_anchor): new function
8410
8411         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
8412         allocate_child signal on GtkTextLayout
8413
8414         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
8415         values
8416         (gtk_text_iter_get_child_anchor): new function
8417
8418         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
8419         default handler for the changed signal, which calls
8420         gtk_text_buffer_set_modified(), instead of just always emitting
8421         changed then calling set_modified() manually. I guess this is
8422         maybe more flexible. It seems logical.
8423
8424 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
8425
8426         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
8427         now.
8428
8429         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
8430
8431 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
8432
8433         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
8434         been marked static.
8435
8436 2000-11-02  Havoc Pennington  <hp@redhat.com>
8437
8438         * gtk/testgtk.c (create_labels): had a test backward
8439
8440         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
8441         fields, so the dest GC ends up with the correct clip origin, 
8442         etc. Fixes a bug where colored labels didn't redraw 
8443         properly.
8444
8445 2000-11-02  Alexander Larsson  <alexl@redhat.com>
8446
8447         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
8448         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
8449         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
8450         Add last argument to t_type_register_static call.
8451         
8452         * gdk/linux-fb/gdkdrawable-fb2.c:
8453         Add last argument to t_type_register_static call.
8454         export the get_image drawable virtual function.
8455
8456         * gdk/linux-fb/gdkimage-fb.c:
8457         Add last argument to t_type_register_static call.
8458         rename gtk_image_get to _gdk_fb_get_image and
8459         export it for use by gdkdrawable-fb2.
8460
8461         * gdk/linux-fb/gdkprivate-fb.h:
8462         export _gdk_fb_get_image.
8463
8464         * gdk/linux-fb/gdkselection-fb.c:
8465         Add new api call stubs.
8466
8467         * gtk/Makefile.am:
8468         Missing ( in linux-fb part.
8469
8470         * modules/linux-fb/Makefile.am:
8471         Must link with gdk_pixbuf or get unresolved symbol.
8472
8473 2000-11-01  Havoc Pennington  <hp@pobox.com>
8474
8475         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
8476         GTK_TYPE_TEXT_ITER and BOXED marshallers
8477
8478         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
8479
8480         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
8481         
8482         * gtk/gtk-boxed.defs: add GtkTextIter
8483
8484         * gtk/gtkmarshal.list: Add marshallers for text widget that 
8485         properly use OBJECT and BOXED
8486
8487 2000-11-01  Havoc Pennington  <hp@redhat.com>
8488
8489         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
8490
8491         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
8492         before returning it. 
8493         
8494 2000-11-01  Havoc Pennington  <hp@redhat.com>
8495
8496         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
8497         Clip the rectangle to be rendered to the drawable, since
8498         get_from_drawable() requires a region within the drawable
8499
8500 2000-11-01  Havoc Pennington  <hp@redhat.com>
8501
8502         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
8503         from coordinates.
8504
8505 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
8506
8507         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
8508         it isn't NULL.
8509
8510 2000-11-01  Havoc Pennington  <hp@pobox.com>
8511
8512         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
8513         on a label
8514         (gtk_label_finalize): unref the attr list if any.
8515
8516         * gtk/testgtk.c (create_get_image): close test on second click
8517         (make_message_dialog): close dialog if it exists
8518
8519         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
8520
8521         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
8522         gdk-pixbuf
8523
8524         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
8525         from Pango markup format
8526         (gtk_label_set_markup_with_accel): ditto but with accelerator
8527         parsing
8528
8529         * gtk/gtkimage.c (gtk_image_expose): reformatting.
8530
8531         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
8532         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
8533         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
8534         call gdk_window_get_origin().
8535
8536         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
8537         implement GDK_PIXBUF_ALPHA_FULL
8538         
8539 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
8540
8541         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
8542         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
8543         g_signal_handlers_disconnect_matched to block/unblock and disconnect
8544         multiple handlers respectively, instead of only treating the
8545         first handler found (bug reported by owen).
8546
8547 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
8548
8549         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
8550
8551         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
8552
8553         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
8554         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
8555         gtk/gtktreeviewcolumn.h: Fixed inline docs.
8556
8557         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
8558         widget.  Needs writing someday.
8559
8560         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
8561         the docs.
8562
8563 2000-10-30  Havoc Pennington  <hp@redhat.com>
8564
8565         * gtk/gtktextview.h, gtk/gtktextview.c:
8566         Rename delete_at_cursor delete_from_cursor, and 
8567         move to move_cursor.
8568
8569 2000-10-30  Havoc Pennington  <hp@redhat.com>
8570
8571         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
8572         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
8573         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
8574         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
8575         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
8576         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
8577         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
8578         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
8579         gtktexttypes.h, gtktextview.c, gtktextview.h:
8580
8581         Massive reindentation and reformatting. Arg alignment and comments
8582         still need fixing in various places.
8583
8584 2000-10-30  Havoc Pennington  <hp@redhat.com>
8585
8586         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
8587         to be named insert_at_cursor and delete_at_cursor so C++ can
8588         handle them.
8589
8590 2000-10-28  Tor Lillqvist  <tml@iki.fi>
8591
8592         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
8593         to get a double directory separator in case the home directory
8594         ends with one. This would cause trouble especially on Windows,
8595         where the path will be confused with the syntax for an an UNC
8596         (network share) path \\server\share\path.
8597         (gtk_rc_add_initial_default_files): Ditto.
8598
8599 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
8600
8601         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
8602
8603         * gtk/gtktextview.c: Use correct marshallers.
8604
8605 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
8606
8607         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
8608         use new iter stuff, and added all the appropriate signals et al.
8609
8610         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
8611         code is internal to gtk only.
8612
8613 2000-10-28  Tor Lillqvist  <tml@iki.fi>
8614
8615         * gtk/gtk.def
8616         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
8617         glib-genmarshal etc.
8618
8619 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
8620
8621         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
8622         parallel builds.
8623
8624 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
8625
8626         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
8627
8628 2000-10-27  Robert Brady  <robert@suse.co.uk>
8629
8630         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
8631         en_GB (British), ia (Interlingua).
8632
8633 2000-10-26  Havoc Pennington  <hp@redhat.com>
8634
8635         * gtk/gtktextiter.c (my_strrstr): fix constness warning
8636
8637         Fixed output of:
8638         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
8639         
8640         * gtk/gtktextsegment.c (char_segment_new): rename
8641         (_char_segment_new_from_two_strings): rename
8642         (_toggle_segment_new): rename
8643         
8644         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
8645         (make_clipboard_widget): make it static
8646         (text_get_func): static
8647         (text_clear_func): static
8648
8649         * gtk/gtkcolorsel.c (adjustment_changed): make this function
8650         static
8651         (hex_changed): make it static
8652         (hsv_changed): make it static
8653         (opacity_entry_changed): make it static
8654
8655         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
8656         (toggle_segment_check_func): rename with _gtk
8657
8658         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
8659         (_widget_segment_new): rename
8660         (_widget_segment_add): rename
8661         (_widget_segment_remove): rename
8662         (_widget_segment_ref): rename
8663         (_widget_segment_unref): rename
8664
8665         * gtk/gtktextmark.c (_mark_segment_new): Rename
8666         _gtk_mark_segment_new   
8667
8668 2000-10-26  Havoc Pennington  <hp@redhat.com>
8669
8670         * gtk/gtkmarshal.list: add new marshallers used by the text widget
8671         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
8672         types
8673
8674         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
8675         marshaller types
8676
8677         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
8678         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
8679         license on these files.
8680
8681         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
8682         work.
8683
8684         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
8685         runtime random number different for each tree, instead of 
8686         a constant I made up.
8687
8688 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
8689
8690         * gtk/Makefile.am: buncha cleanups, kludged build sources
8691         dependencies with a Makefile: oldest-source-stamp dependancy
8692         for the moment. automake is really fighting us here, with
8693         intentionally not allowing user-defined rules or dependancies
8694         prior to it's -include $(DEP_FILES) statement. sucks rocks!
8695
8696         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
8697         to public headers. tehy have a comment stating that they are
8698         "semi-public" aren't included by gtk.h and if enums popup there,
8699         they can be /*< skip >*/-ed.
8700
8701         * gtk/gtktextlayout.h: 
8702         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
8703         added LGPL... <SIGH>
8704
8705 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
8706
8707         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
8708         GtkTreeIter.  Added iterators everywhere.
8709
8710         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
8711
8712         * gtk/gtktreeviewselection.c: Changed to use the iterators.
8713
8714         * gtk/gtktreestore.c: Changed to use the iterators.
8715
8716         * gtk/gtkliststore.c: Commented out the code.  Will convert to
8717         iterators tomorrow.
8718
8719         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
8720         iterators tomorrow.
8721
8722         * gtk/treestoretest.c: Changed to use iterators.
8723
8724         * demos/testgtk/main.c: Moved to use the new iterator system.
8725
8726 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
8727
8728         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
8729         localization misbehaviour.
8730
8731         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
8732         a useless type without copy/free.
8733
8734         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
8735         of GTK_TYPE_CTREE_NODE.
8736
8737 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
8738
8739         * gtk/gtksignal.c:
8740         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
8741         applicable.
8742
8743         * gtk/gtk-boxed.defs (GtkSelectionData): specify
8744         gtk_selection_data_copy and gtk_selection_data_free
8745         do GtkSelectionData work as params in signals.
8746
8747 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
8748
8749         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
8750         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
8751         couldn't they at least give it a non-standard name?
8752         
8753         * gtk/gtktextlayout.c: arg! yet another implementation of
8754         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
8755
8756         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
8757         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
8758         home. now i know this _is_ a conspiracy.
8759
8760         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
8761         ::state-changed.
8762
8763         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
8764         (gtk_accel_group_create_add): marshaller signature fixups.
8765
8766         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
8767         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
8768
8769         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
8770         anymore.
8771
8772 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
8773
8774         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
8775         due to the signal system changes, it wouldn't build currently. to
8776         be fixed soon.
8777
8778         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
8779
8780         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
8781         so it needs gtk_marshal_VOID__ENUM() instead of
8782         gtk_marshal_NONE__UINT().
8783
8784         * gdk/gdk*.c: adapted type registration functions.
8785
8786         * gtk/gtkbindings.c:
8787         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
8788         gone.
8789
8790         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
8791
8792         * gtk/gtkobject.c:
8793         (gtk_object_destroy):
8794         (gtk_object_shutdown): fixed recursion guards. basically we have to
8795         catch the case where any of GObject.shutdown() or gtk_object_destroy()
8796         is called during ::destroy, and avoid recursion there.
8797
8798         * gtk/gtktypeutils.c:
8799         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
8800         boxed_copy/boxed_free. this needs a more general solution based on a
8801         publically installed code-generator utility.
8802
8803         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
8804         glib's gobject has support for that now.
8805         define GtkSignalMarshaller in terms of GSignalCMarshaller.
8806
8807 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
8808
8809         * gtk/gtksignal.[hc]:
8810         * gtk/gtkmarshal.[hc]:
8811         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
8812         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
8813         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
8814         care of that.
8815
8816         * *.c: marshaller name fixups.
8817
8818         * gtk/gtkmarshal.list: added a comment briefing the format.
8819
8820 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
8821
8822         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
8823         compatibility macros here now. more specifically, most of
8824         the API is preserved (yes, _most_, nonwithstanding the
8825         following exceptions listed, the API is stil lHUGE ;)
8826         things that got removed completely:
8827         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
8828         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
8829         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
8830         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
8831         gtk_signal_remove_emission_hook().
8832         non-functional functions variants:
8833         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
8834         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
8835         not supported anymore.
8836         (gtk_signal_compat_matched): new internal function to aid
8837         implementation of the compatibility macros, it  provides
8838         functionality to block/unblock/disconnect handlers based
8839         on func/data.
8840
8841         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
8842
8843         * *.c: adaptions to new type registration API signatures.
8844
8845 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
8846
8847         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
8848
8849 2000-10-25  Robert Brady  <robert@suse.co.uk>
8850
8851         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
8852         gdk_property_delete): If window == NULL, assume the root window.
8853         (restoring the behaviour that was in 1.2).
8854         
8855         * gtk/testtext.c (save_buffer): Allow creation of new files when
8856         saving.
8857
8858         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
8859         calls to read().
8860
8861 2000-10-25  Tor Lillqvist  <tml@iki.fi>
8862
8863         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
8864
8865         * gdk/win32/gdkdrawable-win32.c
8866         * gdk/win32/gdkimage-win32.c
8867         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
8868         X11 backend.
8869
8870         * gdk/win32/gdkcc-win32.c
8871         * gdk/win32/gdkcolor-win32.c
8872         * gdk/win32/gdkfont-win32.c
8873         * gdk/win32/gdkinput-win32.c
8874         * gdk/win32/gdkmain-win32.c
8875         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
8876
8877 2000-10-24  Havoc Pennington  <hp@redhat.com>
8878
8879         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
8880         it a static function
8881
8882         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
8883         redraw text when a tag is applied to it.
8884
8885         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
8886         (gtk_text_tag_affects_nonsize_appearance): private functions to
8887         see if a tag requires various kinds of redraw/layout to be queued
8888         up.
8889
8890         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
8891
8892         * gtk/testtext.c (fill_example_buffer): Put the cursor 
8893         at the start of the buffer, so search works by default
8894
8895         * gtk/gtktextiter.c (lines_match): init match_start always
8896
8897         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
8898         function, get iter at a line + a byte index
8899
8900         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
8901         to set byte position within a line
8902         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
8903
8904 2000-10-23  Havoc Pennington  <hp@redhat.com>
8905
8906         * gtk/testtext.c: Re-enable the "find" dialog
8907
8908         * gtk/testgtk.c: Add test for gdk_drawable_get_image
8909         
8910         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
8911         the arguments to gdk_draw_drawable were in the wrong order
8912         (gdk_window_paint_init_bg): This function was ignoring the
8913         init_region, instead of clipping to it, so the entire backing
8914         pixmap was cleared on every begin_paint()
8915         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
8916         was in here again, the loop kept using the same GtkWindowPaint
8917         over and over.
8918         (gdk_window_begin_paint_region): Fix a bug where we had two
8919         x_offset instead of x_offset and y_offset
8920
8921         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
8922         before we get the image.
8923         (gdk_draw_drawable): get the composite before we draw the drawable.
8924         (gdk_drawable_real_get_composite_drawable): default
8925         get_composite_drawable implementation that returns the drawable 
8926         itself
8927
8928         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
8929         get_composite_drawable virtual function
8930
8931         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
8932         list-walking bug
8933
8934         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
8935         make this work if the source drawable is a GdkDrawableImplX11
8936         instead of a public drawable type. This is really broken; the
8937         problem is that GdkDrawable needs a virtual method get_xid(), but
8938         of course that doesn't work in practice. Enter RTTI.
8939
8940         Also, improve mismatched depth message.
8941
8942         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
8943         GdkPixmap
8944
8945         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
8946         install _gdk_x11_get_image as our implementation of get_image
8947         
8948         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
8949         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
8950
8951         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
8952         gdk_drawable_get_image
8953
8954         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
8955
8956         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
8957         get_image
8958
8959         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
8960         trailing semicolon after for loop
8961
8962 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
8963
8964         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
8965         where font_desc for widget's context lagged widget's font_desc by
8966         one step.
8967
8968 2000-10-22  Tor Lillqvist  <tml@iki.fi>
8969
8970         * gdk/win32/gdkgc-win32.c
8971         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
8972
8973         * gtk/makefile.mingw.in
8974         * gtk/gtk.def: Updates.
8975
8976         * gtk/testgtk.c: sleep() is called _sleep in MS's C
8977         library.
8978
8979         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
8980
8981         * gtk/makefile.msc: Remove
8982
8983         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
8984
8985         * gtk/Makefile.am: Add it.
8986
8987         * configure.in: Generate it.
8988
8989         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
8990         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
8991         something even if not implemented, to satisfy picky MSVC.
8992
8993         Patches by Hans Breuer:
8994         
8995         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
8996         SetBkMode() and SetTextAlign() before calling
8997         pango_win32_render().
8998
8999         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
9000         Set hcliprgn to NULL after destroying it.
9001         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
9002
9003         * gdk/win32/gdkgeometry-win32.c
9004         (_gdk_windowing_window_queue_antiexpose): More effective
9005         implementation.
9006
9007         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
9008         depth as default, not the visual's.
9009
9010         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
9011         against empty title.
9012
9013         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
9014         IMAGE_PRIVATE_DATA.
9015
9016         * gdk/win32/gdkimage-win32.c: Use it.
9017
9018 2000-10-22  Robert Brady  <robert@suse.co.uk>
9019
9020         * configure.in: Check for bind_textdomain_codeset
9021
9022         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
9023         present, make use of it.
9024
9025         Add a translatable string "default:LTR" which, if translated
9026         to "default:RTL", will cause the default direction to be
9027         Right-to-Left.
9028
9029         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
9030         direction if marked as flippable.
9031
9032         * gtk/gtkhscale.c: Mark widget as flippable.
9033         
9034 2000-10-04  Havoc Pennington  <hp@redhat.com>
9035
9036         * gtk/testgtk.c (create_buttons): create some stock buttons
9037         with the default accel group
9038         (create_image): test some new GtkImage features
9039         (make_message_dialog): test GtkMessageDialog
9040         (create_modal_window): fix someone's bizzarro indentation
9041
9042         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
9043         GTK_WIN_POS_CENTER_ON_PARENT. 
9044         Add "destroy with parent" setting, which means the window goes
9045         away with its transient parent.
9046         (gtk_window_get_default_accel_group): get the default accel group
9047         for the window.
9048         (gtk_window_set_destroy_with_parent): set/unset destroy with
9049         parent flag
9050         (gtk_window_read_rcfiles): invalidate icon set caches
9051         after reloading rcfiles 
9052
9053         * gtk/gtkenums.h (GtkWindowPosition): add
9054         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
9055         on its parent window when the dialog is mapped for the first time.
9056
9057         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
9058         a simple message dialog class
9059         
9060         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
9061         handler to emit response signal, and maybe later it would
9062         honor a hide_on_delete flag - though that isn't there yet.
9063         Set border width on the vbox to 2, so we get some padding.      
9064         Use a button box for the action area.
9065         (gtk_dialog_key_press): synthesize a delete event if Esc
9066         is pressed and the GtkWidget key press handler didn't 
9067         handle the escape key.
9068         (gtk_dialog_new_with_buttons): new function creates a dialog
9069         with some default buttons in it.
9070         (gtk_dialog_add_action_widget): add an activatable widget
9071         as a button in the dialog - you can also add a non-activatable
9072         widget by accessing the action area directly.
9073         (gtk_dialog_add_button): add a simple button - stock ID or 
9074         label - to the action area
9075         (gtk_dialog_response): emit response signal
9076         (gtk_dialog_run): block waiting for the dialog, return 
9077         the response. Override normal delete_event behavior, so that 
9078         delete_event does nothing inside gtk_dialog_run().
9079
9080         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
9081         emitted when an action widget is clicked or the dialog gets
9082         delete_event
9083
9084         * gtk/gtk.h: add gtkmessagedialog.h
9085
9086         * gtk/Makefile.am: add gtkmessagedialog.[hc]
9087
9088 2000-10-18  Havoc Pennington  <hp@redhat.com>
9089
9090         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
9091         where any number of empty lines would get skipped
9092
9093         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
9094         edge.
9095
9096         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
9097         warning about invalid iterators (explain more thoroughly)
9098         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
9099
9100         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
9101         big
9102
9103         * demos/*.c: Add error handling
9104
9105         * gtk/gtktextbuffer.c: don't modify const iterators
9106
9107         * gtk/gdk-pixbuf-loader.c: Add full error handling here
9108
9109         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
9110         on file load
9111
9112         * gtk/gtkiconfactory.c: Update to reflect addition of error
9113         handling to gdk-pixbuf loaders
9114
9115 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
9116
9117         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
9118         move to new modularized testgtk.
9119
9120 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
9121
9122         * gtk/gtktreeview.c: Draw the arrows correctly.
9123
9124         * gtk/gtktreemodel.c: Added user docs.
9125
9126         * gtk/gtk.h: remove gtktreedatalist.h.
9127
9128         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
9129         parent when generating my type.
9130
9131         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
9132         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
9133
9134 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
9135
9136         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
9137         GtkTreeModel from object to interface.
9138
9139 2000-10-16  Havoc Pennington  <hp@redhat.com>
9140
9141         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
9142         compilation
9143
9144 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
9145
9146         * gtk/gtktreeselection.c: Add API documentation to all public
9147         functions.
9148
9149         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
9150         functions.
9151
9152 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
9153
9154         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
9155         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
9156         docs to all public functions.
9157
9158         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
9159         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
9160         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
9161         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
9162         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
9163         issue.
9164
9165 2000-10-14  Robert Brady  <robert@suse.co.uk>
9166
9167         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
9168
9169 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
9170
9171         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
9172         values other then G_TYPE_STRING.
9173         * gtk/gtktreeselection.c: Minor commenting updates.
9174         * gtk/gtktreeview.c: Format updates.
9175
9176 2000-10-09  Tor Lillqvist  <tml@iki.fi>
9177
9178         * README.win32: Update.
9179
9180         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
9181         lines that had been deleted by mistake (?).
9182
9183         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
9184         also the case fg==white and bg==black (but still not randomly
9185         coloured cursors). Thanks to Wolfgang Sourdeau.
9186
9187         * gdk/win32/*.c: Silence gcc -Wall.
9188
9189         * gtk/gtk.def: Add missing entry points.
9190
9191         Fixes by Hans Breuer:
9192
9193         * gdk/makefile.msc
9194         * gdk/win32/makefile.msc: Update.
9195
9196         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
9197         some MSVC thing, presumably), cause breakpoint on failures. Add
9198         GDK_NOR case. Call g_log_set_always_fatal.
9199
9200         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
9201         should be pased by reference.
9202         
9203         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
9204         
9205         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
9206
9207         * gdk/win32/gdkevents-win32.c
9208         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
9209
9210         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
9211         implementation object.
9212
9213         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
9214         not just windows.
9215         
9216         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
9217         Use the wrapper object.
9218         
9219 2000-10-06  Havoc Pennington  <hp@redhat.com>
9220
9221         * Makefile.am (SRC_SUBDIRS): contrib subdir
9222
9223         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
9224         so it can be used in Xlib version
9225
9226         * demos/testpixbuf.c (update_timeout): error checking from 1.0
9227         tree
9228
9229         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
9230         change from 1.0 tree that returns first frame of animation
9231         if the loaded file is an animation.
9232
9233         * contrib: add new directory to hold stuff that comes with GTK+
9234         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
9235         
9236         * configure.in: add contrib/*
9237
9238 2000-10-05  Havoc Pennington  <hp@redhat.com>
9239
9240         * demos/testpixbuf-save.c: add pixbuf save test
9241
9242         * demos/Makefile.am: add testpixbuf-save.c
9243
9244 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
9245
9246         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
9247         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
9248         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
9249         * gtk/gtktreeselection.[ch]: Replaced
9250         "node_selected"/"node_unselected" signal with "selection_changed"
9251         signal.
9252
9253 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
9254
9255         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
9256         tree widget.
9257
9258 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
9259
9260         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
9261         drawing.
9262
9263 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
9264
9265         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
9266         Move list pointer forwards before removing item from
9267         list. (Crash reported by Salmaso Raffaele)
9268
9269         * gdk/gdkwindow.h: Remove spurious trailing ,
9270
9271         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
9272         dependencies on uninstalled libraries, sorry folks.
9273
9274 2000-10-04  Havoc Pennington  <hp@redhat.com>
9275
9276         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
9277         gtk/gtkiconfactory.c: Fix copyrights    
9278
9279         * demos/testpixbuf.c: add inline pixbuf test
9280         
9281 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
9282
9283         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
9284         Add gdk_window_iconify.
9285
9286         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
9287         (gdk_window_set_geometry_hints): Add win_gravity
9288         to geometry structure.
9289
9290         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
9291         Implement _NET_WM_PING.
9292
9293         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
9294         Set _NET_WM_PID on the client leader.
9295
9296         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
9297         Handle UTF-8 better.
9298
9299         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
9300         UTF-8 better, set _NET_WM_NAME as well. Only set
9301         icon name if it hasn't previously been explicitely 
9302         set.
9303
9304 2000-10-03  Havoc Pennington  <hp@redhat.com>
9305
9306         * gtk/testtextbuffer.c: clean up trailing whitespace,
9307         add extensive tests for tag toggle iteration.
9308         
9309         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
9310         distance
9311
9312         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
9313         optimize case where the tag root is on level 1
9314         (gtk_text_line_previous_could_contain_tag): attempt to implement
9315         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
9316         functionality
9317
9318         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
9319         Implement this, though not very efficiently.
9320
9321         * gtk/gtktextiterprivate.h: reformat
9322
9323         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
9324         iterator
9325
9326         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
9327         this to properly revalidate the iterators.
9328
9329         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
9330         properly at the end of the line (and therefore on empty lines)
9331
9332         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
9333         maybe we should return a value...
9334
9335 2000-10-03  Tor Lillqvist  <tml@iki.fi>
9336
9337         * config.h.win32: Guard definition of alloca(). glib.h now handles
9338         that.
9339
9340         * gdk/gdk.def
9341         * gtk/gtk.def: Add new entry points.
9342
9343         Changes just to make GTK+ build without errors on Win32. No hope
9344         of it working in its current state, though...:
9345         
9346         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
9347         some functions from the X11 backend, just to make GTK+ build.
9348
9349         * gdk/makefile.mingw.in
9350         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
9351         number. Add new object files.
9352
9353         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
9354         GetMessageTime to get timestamp (where on X11 uses
9355         gdk_x11_get_server_time()).
9356
9357 2000-10-02  Havoc Pennington  <hp@pobox.com>
9358
9359         * gtk/gtktextview.c: text_window_* weren't static and should have
9360         been.
9361         Start work on child widgets; not yet complete, syncing to 
9362         office computer.
9363
9364         * gtk/gtktextchild.h: change this to contain a public interface,
9365         starting work on child interfaces.
9366         * gtk/gtktextchildprivate.h: move private interfaces here
9367
9368         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
9369
9370         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
9371         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
9372         gtk/gtktextmark.c: copyright notices
9373
9374         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
9375         internal functions      
9376
9377         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
9378         internal function
9379
9380         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
9381         Reformatting    
9382
9383 2000-09-30  Havoc Pennington  <hp@pobox.com>
9384
9385         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
9386         NULL start/end pointers
9387
9388         * gtk/gtktextbuffer.c: Write some docs
9389         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
9390         NULL, so you can just check whether there's a selection.        
9391
9392         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
9393         cleanup_line or segments_changed ourselves, it gets done 
9394         in unlink_segment
9395
9396         * gtk/gtktextmark.h:
9397         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
9398         
9399         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
9400
9401         * gtk/gtktextmark.c: delete some more old Tk cruft
9402
9403         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
9404         mark before removing it, so we can emit MARK_DELETED with a valid
9405         pointer.
9406         (gtk_text_buffer_mark_set): hold ref across signal emission
9407
9408         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
9409         whining about attempts to delete special marks
9410
9411         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
9412         underscore, since it's internal.
9413
9414         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
9415         now implemented in terms of iterators in gtktextiter.h
9416
9417         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
9418         New function, destructively sets contents of buffer. Also 
9419         a convenient way to clear the buffer by setting text to ""
9420
9421         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
9422         multiline string literal
9423
9424         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
9425         text changes.
9426
9427         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
9428         is not dereferenceable
9429         (gtk_text_iter_forward_lines): fix return value
9430
9431 2000-09-29  Havoc Pennington  <hp@redhat.com>
9432
9433         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
9434
9435         * gtk/gtktextview.c: Implement drag thresholding; change functions 
9436         that set border window size to have nicer name
9437         (gtk_text_view_mark_set_handler):  Fix this to have the 
9438         right signature.
9439
9440         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
9441
9442         * gtk/testtext.c: Update with API changes, put line numbers on 
9443         both sides.
9444         
9445         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
9446         with this
9447
9448         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
9449         pixbuf; delete a big block of #if 0 Tk code
9450
9451         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
9452         insert_pixmap with insert_pixbuf
9453
9454 2000-09-29  Martin Baulig  <baulig@suse.de>
9455
9456         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
9457         confusion with the GdkPixbuf of the GNOME 1.x platform.
9458
9459 2000-09-29  Havoc Pennington  <hp@pobox.com>
9460
9461         * gtk/gtktextview.c: Implement the side windows.
9462
9463         * gtk/testtext.c: Implement simple line numbering in the 
9464         left side window; seems to make scrolling sloooow. Oops.
9465         Also, cursor blink is for some reason causing redraws
9466         of the line numbers. Should investigate...
9467
9468 2000-09-28  Havoc Pennington  <hp@redhat.com>
9469
9470         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
9471         scrolling child windows, and draw focus rectangle properly.
9472         
9473         (gtk_text_view_buffer_to_window_coords):
9474         Coordinate transformation to deal with all these freaking windows
9475         and offsets
9476         (gtk_text_view_window_to_buffer_coords): transform the other way
9477
9478         * gtk/testtext.c (create_buffer): Update to match Pango API change
9479
9480         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
9481         anonymous tags
9482         (foreach_unref): don't emit remove signal from finalize, just
9483         set tag's parent to NULL
9484
9485 2000-09-26  Havoc Pennington  <hp@redhat.com>
9486
9487         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
9488         Fix some warnings       
9489
9490 2000-09-26  Havoc Pennington  <hp@redhat.com>
9491
9492         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
9493         headers into the private header list
9494
9495         * Makefile.am (pkgconfig_DATA): install pkg-config files
9496
9497         * configure.in: add pkg-config files
9498
9499         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
9500
9501         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
9502         outstanding icon caches on theme change.
9503
9504         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
9505         important types:
9506
9507         (GtkIconSource): Specification for creating a pixbuf 
9508         appropriate for a direction/state/size triplet from 
9509         a source pixbuf or filename
9510
9511         (GtkIconSet): List of GtkIconSource objects that are used to
9512         create the "same" icon (e.g. an OK button icon), and cache for
9513         rendered icons
9514
9515         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
9516         up the icon set for a given stock ID.  GTK maintains a stack of
9517         GtkIconFactory to search, and applications or libraries can add
9518         additional icon factories on top of the stack
9519         
9520         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
9521         the set of GtkIconSource specified for a given stock ID into 
9522         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
9523         RcStyle, under the specified stock ID.
9524
9525         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
9526         render_icon used to derive a GdkPixbuf from a GtkIconSource.
9527         This allows people to theme how prelight, insensitive, etc. are
9528         done.
9529
9530         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
9531         icon factories for a style, and return the resulting 
9532         icon set if any.
9533
9534         (gtk_style_render_icon): Render an icon using the render_icon 
9535         method in the GtkStyleClass.
9536
9537         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
9538         Use the style for a given widget to look up a stock ID, get the
9539         icon set, and render an icon using the render_icon method 
9540         of the style
9541
9542         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
9543         (contains information about a stock item), the built-in stock item
9544         IDs, and functions to add/lookup stock items.
9545
9546         * gtk/stock-icons/*: Stock icons that come with GTK
9547
9548         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
9549         a button based on a GtkStockItem
9550         (gtk_button_new_accel): Takes a uline string and accel group, and
9551         installs the accelerator.
9552
9553         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
9554         image-display widget.
9555
9556 2000-09-25  Havoc Pennington  <hp@redhat.com>
9557
9558         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
9559
9560         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
9561         Fix a bug when removing node data, we didn't properly 
9562         re-splice the linked list after removing the data.
9563
9564         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
9565         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
9566
9567         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
9568
9569         * gtk/gtktextlayout.c (set_para_values): Set tab array 
9570         for the layout from the GtkTextTag.
9571
9572         * gtk/gtktexttypes.h: delete tab and search cruft, 
9573         remove g_convert() in favor of GLib version
9574
9575         * gtk/gtktexttypes.c: remove tab implementation from here,
9576         move to Pango
9577
9578         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
9579         tab stuff using new PangoTabArray from Pango
9580
9581         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
9582         unused border_width stuff
9583
9584 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
9585
9586         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
9587         glib) and now useless utf_to_latin1() latin1_to_utf()
9588
9589         * gtk/gtktextview.[ch]: Change ::move_insert and
9590         ::delete_text action signals to ::move and ::delete;
9591         create the signals with the right enumeration type,
9592         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
9593         C-v bindings, change Home, End to move to beginning/end
9594         of line, Add C-Home C-End to move to beginning/end
9595         of buffer. Change ::cut_text to ::cut_clipboard, etc;
9596         combine ::scroll_text into ::move; use new GtkSelectionData
9597         functions to simplify DND text handling.
9598         
9599         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
9600         deletion enumerations here, rename enumeration values to 
9601         be consistently plural.
9602
9603         * gtk/gtktextbuffer.c: Use new clipboard interfaces
9604         for cut/copy/paste and primary selection.
9605
9606         * gtk/gtktextbuffer.[ch]: Remove excess time and
9607         'interactive' arguments from cut/copy/paste;
9608         rename cut to cut_clipboard, etc; remove
9609         gtk_text_buffer_get_clipboard_contents().
9610
9611         * gtk/gtktextlayout.[ch]: Add 
9612         gtk_text_layout_move_iter_to_line_end() to move the iter to 
9613         line ends.
9614
9615         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
9616         Functions to set or get a UTF-8 string on the selection
9617         data.
9618
9619         * gtk/gtkclipboard.[ch]: New, simplified selection handling
9620         interfaces.
9621
9622         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
9623         created widgets - one of these is useless if we don't.
9624
9625         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
9626         a public function clear all targets registered for the
9627         widget.
9628
9629         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
9630         Never call gtk_widget_realize() - that was just asking
9631         for bizarre side-effects.
9632
9633         * gtk/gtkselection.c (gtk_selection_owner_set): Call
9634         gdk_selection_owner_set even if the widget is the
9635         same so that we reliably update the timestamp on
9636         the server.
9637
9638         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
9639         gdk_x11_get_server_time() function.
9640         
9641         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
9642         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
9643         Add some tricky filtering on serial numbers for
9644         selection clear events to fix up long-standard
9645         race condition FIXME's in gtkselection.c.
9646
9647         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
9648         routines to convert from utf8 to compound text or
9649         STRING and from a text property to UTF-8.
9650
9651         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
9652         a convenience function gdk_get_current_event_time().
9653
9654         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
9655         and free selection_data->data properly
9656
9657 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
9658
9659         * gtk/gtkthemes.c: Remove some unecessary includes.
9660
9661 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
9662
9663         * gtk/gtktextdisplay.c
9664         * gtk/gtktextlayout.c
9665         * gtk/gtktexttag.c
9666         * gtk/gtktexttag.h
9667         * gtk/testtext.c: Change the overstrike property to strikethrough,
9668         to closer match pango.
9669
9670 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
9671
9672         * gtk/gtktextview.c: Fix up visibility so that focus,
9673         cursor_visible and blink interact properly.  Reenable cursor blink
9674         which had been roughly disabled. Make blink and focus
9675         properly per-view.
9676
9677         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
9678         Add a flag for whether to display insertion cursor and
9679         a function to set the flag.
9680
9681         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
9682         get_line_y() to get_line_yrange(), to be a bit more generally
9683         useful.
9684
9685 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
9686
9687         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
9688           do stop_navigating_submenu, to clear last timeout properly.
9689           Also in gtk_menu_motion_notify move ignore_enter above
9690           the conditional to make it always happen as suggested by Owen
9691
9692 2000-09-07  Tor Lillqvist  <tml@iki.fi>
9693
9694         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
9695
9696         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
9697         w32api headers.
9698
9699         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
9700         declarations.
9701
9702         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
9703         (gdk_win32_get_colormap): A line had been deleted by mistake.
9704
9705         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
9706         (gdk_event_translate): Handle more virtual keycodes to be able to
9707         generate GDK events for Control-comma, Control-period, etc.
9708
9709         * gtk/gtk.def: Add some missing entry points.
9710
9711 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
9712
9713         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
9714         Doc comment fixing. (Mostly non-matching parameter names.)
9715
9716         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
9717         comments a little to avoid looking like a doc comment.
9718
9719         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
9720         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
9721         conversions be changed to GError?)
9722
9723         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
9724         Move private #defines into .c file.
9725
9726         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
9727         order of argument addition, remove duplicates.
9728
9729         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
9730         parent class is FrameClass, not BinClass.
9731
9732         * gtk/gtk.h: Add gtkinvisible, which was missing.
9733         (It's occasionalyl useful for client apps, if seldom.)
9734
9735         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
9736         #define.
9737
9738 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
9739
9740         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
9741         coordinates when creating window, instead of GDK-space
9742         coordinates. (Avoid BadValue on too large windows.)
9743
9744 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
9745
9746         * configure.in (use_mmx_asm): Remove conftest* after use along the
9747         lines of AC_TRY_COMPILE.        
9748         
9749         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
9750         of g_dirname, which is deprecated.
9751         (gtk_rc_parse_any): Removed calls to
9752         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
9753
9754         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
9755         Removed calls to g_hash_table_{freeze,thaw}, as they are
9756         deprecated now.
9757
9758         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
9759         instead of g_basename.
9760         
9761 2000-09-04 Elliot Lee <sopwith@redhat.com>
9762         
9763         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
9764         ANSI warning.
9765
9766 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
9767
9768         * gtk/gtkwidget.h:  Add some documenting comments about 
9769           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
9770           just as owen said on irc.
9771
9772         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
9773           set HAS_DEFAULT.  Only set it if there isn't another window
9774           holding it (a focus window which RECEIVES_DEFAULT) and only unset
9775           it if the widget is not the focused window with RECEIVES_DEFAULT.
9776           This fixes weird double default bugs in dialogs which has things
9777           call gtk_window_set_default at times.
9778
9779 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
9780
9781         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
9782         Nils Barth and David Santiago to improve submenu
9783         navigation. The patch does this by creating a triangular
9784         region from the point where the pointer leaves the
9785         menu to the submenu.  While the pointer is in
9786         that region and a timeout has not expired, events 
9787         that would cause the active submenu to change are
9788         ignored.
9789
9790 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
9791
9792         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
9793         moving a toplevel window immediately after sizing it would
9794         result in it being sized back to the old size since 
9795         impl->width, impl->height aren't updated until we hear
9796         back from the server. There is still a (longstanding) bug
9797         here that gdk_window_get_size() will give the wrong size
9798         until we do hear back.
9799
9800 2000-08-31  Havoc Pennington  <hp@redhat.com>
9801
9802         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
9803         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
9804         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
9805         Rename GtkTextStyleValues to GtkTextAttributes
9806
9807 2000-08-31  Havoc Pennington  <hp@pobox.com>
9808
9809         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
9810         for rapid testing whether an iterator is the end iterator
9811         (gtk_text_btree_new): init end line cache
9812         (gtk_text_line_is_last): use fast cached line to 
9813         see if we're the last line.
9814         (get_last_line): use cached line here too, should 
9815         speed up some random unrelated code.
9816         
9817 2000-08-30  Havoc Pennington  <hp@pobox.com>
9818
9819         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
9820         signals.
9821
9822         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
9823         delete_text signals. This allows the signals to be used for
9824         implementing undo.
9825
9826         * gtk/gtktextbuffer.c: Change signal handler signatures; 
9827         provide "interactive" argument when emitting insert_text or
9828         delete_text signal.
9829         
9830 2000-08-30  Havoc Pennington  <hp@pobox.com>
9831
9832         * gtk/gtktextbuffer.c: Docs
9833
9834 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
9835
9836         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
9837         from switch statements, since Tor removed the enumeration
9838         value.
9839         
9840         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
9841         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
9842
9843 2000-08-29 Elliot Lee <sopwith@redhat.com>
9844         * */*.h: Use G_GNUC_CONST.
9845
9846 2000-08-27  Havoc Pennington  <hp@pobox.com>
9847
9848         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
9849         minor indentation fixes, inserted some FIXME about stuff I
9850         realized was broken while documenting it.
9851         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
9852         GTK convention  
9853
9854 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
9855
9856         * gtk/testgtk.c (create_styles): Fix double free of
9857         font desc.
9858
9859 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9860
9861         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
9862         
9863         * gtk/testgtk.c (create_styles): Add a test for modifying
9864         the style through gtk_widget_modify_*.
9865
9866         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
9867         a function to get the current modifier style.
9868
9869         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
9870         of the passed in GtkRcStyle instead of ref'ing it.
9871
9872         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
9873
9874 2000-08-20  Tor Lillqvist  <tml@iki.fi>
9875
9876         * gdk/gdkimage.h
9877         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
9878         shared memory image+pixmap GdkImage type, or
9879         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
9880         I am dropping that.
9881
9882         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
9883         actually call gtk_init_abi_check(), passing also
9884         sizeof(GtkWindow). Ditto for gtk_init_check(). 
9885
9886         * gtk/gtk.def
9887         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
9888         New functions, used to check that the GTK+-using code has been
9889         compiled using the correct compiler and switches. In particular,
9890         with gcc one has to use the -fnative-struct switch as GTK+ is
9891         compiled with that.
9892
9893 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
9894
9895         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
9896         ->prev fields when merging lists. (Found simultaneously
9897         by Pawel Salek and Jakub Jelinek)
9898
9899 2000-08-12  Tor Lillqvist  <tml@iki.fi>
9900
9901         * gdk/gdk.def
9902         * gtk/gtk.def: Add missing entries.
9903
9904         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
9905         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
9906
9907         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
9908         function. Dummy implementation at this point.
9909
9910         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
9911         rules. Undefine GTK_COMPILATION when compiling the test programs.
9912         
9913         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
9914
9915 2000-08-11  Tor Lillqvist  <tml@iki.fi>
9916
9917         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
9918         to convert back and forth from UTF-8 and the "system" (or "current
9919         locale") charset when necessary. Indentation/spacing cleanup.
9920
9921 2000-08-10  Havoc Pennington  <hp@redhat.com>
9922
9923         * Makefile.am (snapshot): Change the format of the snapshot
9924         version to match glib
9925
9926         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
9927         from EXTRA_DIST since it doesn't seem to exist
9928
9929 2000-08-10  Tor Lillqvist  <tml@iki.fi>
9930
9931         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
9932         version of the directory name (not the UTF-8 one) when building
9933         the path name to stat().
9934
9935 2000-08-03  Elliot Lee  <sopwith@redhat.com>
9936
9937         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
9938         PANGO_ATTR_SHAPE set.
9939
9940 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
9941
9942         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
9943         Peter Osterlund to simplify the code while keeping the
9944         functionality the same.
9945
9946 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
9947
9948         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
9949         is_viewable() test further inside the function, since removing the 
9950         window from the redraw list without clearing ->update_area
9951         was also very broken.
9952
9953 2000-08-02  Tor Lillqvist  <tml@iki.fi>
9954
9955         * configure.in: Check for <unistd.h>.
9956
9957 2000-08-01  Martin Baulig  <baulig@suse.de>
9958
9959         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
9960         to display the message that this is a development version of GTK+.
9961
9962 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
9963
9964         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
9965         was depending on widget->allocation instead of the width of text_area,
9966         which was incorrect for subclasses like GtkSpinButton.
9967
9968         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
9969         with width == 1 tests that should be width == -1.
9970
9971 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
9972
9973         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
9974         (broken, Elliot, every single window blank on X) custom code with call
9975         to gdk_window_is_viewable() which a) prevents code duplicate and
9976         b) works. 
9977
9978 2000-07-31  Elliot Lee  <sopwith@redhat.com>
9979
9980         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
9981         to get the GDK_PARENT_ROOT() macro to work.
9982         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
9983         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
9984         of, windows that aren't shown.
9985         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
9986         pointer grab stuff.
9987
9988 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
9989
9990         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
9991           s/gtk_main_iteration/g_main_iteration/
9992
9993           Did this already in change:
9994                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
9995           don't know how it got reverted.
9996
9997 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
9998
9999         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
10000         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
10001
10002         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
10003         not gdk_pixbuf.
10004
10005 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
10006
10007         * configure.in,po/{sp,sr}.po: Added Serbian files
10008
10009 2000-07-30  Tor Lillqvist  <tml@iki.fi>
10010
10011         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
10012
10013         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
10014         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
10015         GIOChannel implementation.
10016
10017         * gdk/win32/gdkinput.c
10018         * gdk/win32/gdkpango-win32.c: Update license name here, too.
10019
10020         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
10021         definition to match prototype.
10022
10023         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
10024
10025 2000-07-27  Elliot Lee  <sopwith@redhat.com>
10026
10027         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
10028         function, to allow handling image formats that cannot be detected
10029         by looking at content alone.
10030
10031 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
10032
10033         * docs/tutorial/*.gif *.jpg *.eps
10034           Update these to the same look-n-feel.
10035           Why does including images in DocBook suck so badly?
10036
10037 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
10038
10039         * gtk/gtktable.c: applied patch from Phil Thompson
10040         <phil@river-bank.demon.co.uk> that enables space settings for
10041         the last row/columns as well.
10042
10043 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
10044
10045         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
10046         updates the license headers to the GNU Lesser General Public License,
10047         as well as updating the copyright year to 2000.
10048
10049 2000-07-26  Robert Brady  <rwb197@zepler.org>
10050
10051         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
10052           and po/Makefile, was installing and looking for them under gtk20
10053           and gtk2 respectively.
10054
10055 2000-07-25  Havoc Pennington  <hp@redhat.com>
10056
10057         * gtk/testtext.c: Comment out some stuff that depends on the rest
10058         of my patches.
10059
10060 2000-07-25  Havoc Pennington  <hp@redhat.com>
10061
10062         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
10063         buffer
10064
10065 2000-07-25  Havoc Pennington  <hp@redhat.com>
10066
10067         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
10068         widget changes.
10069
10070         * gtk/gtktextview.h: To be consistent with usage of "line"
10071         throughout the API to mean "newline-terminated thingy", change
10072         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
10073         to MOVEMENT_LINE.
10074
10075         (GtkTextView): Add flags for default editability, and whether to
10076         show the cursor. Add functions to get/set that. Add 
10077
10078         (gtk_text_view_get_iter_location): new function
10079
10080         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
10081         gtktextlayout.h
10082         (g_convert): Add g_convert temporarily, will go in glib in a bit
10083         
10084         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
10085         GtkTextTagTableForeach instead of brokenly using GHFunc.
10086         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
10087
10088         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
10089         moved to public header.
10090
10091         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
10092         "invisible", since "elide" was a bad name.
10093         (gtk_text_tag_get_priority): Added
10094
10095         (GtkTextStyleValues): put this in public header, along with
10096         functions to use it.
10097
10098         * gtk/gtktextmarkprivate.h: Include more headers, since we no
10099         longer include gtktextbtree.h.
10100
10101         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
10102         gtk_text_mark_deleted
10103
10104         * gtk/gtktextlayout.h: Don't include the "really private" headers,
10105         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
10106         to make this possible. Now we only need to install
10107         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
10108         (However the Makefile.am isn't changed yet because of the
10109         logistics of merging gtk-hp-patches piecemeal)
10110
10111         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
10112         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
10113         gtk_text_iter_get_line is now used in the public API for a
10114         different purpose.
10115
10116         * gtk/gtktextiter.h: Clean up function names to be more
10117         consistent. Always call char offset "offset" and byte index
10118         "index". A "line" is always a line number. 
10119
10120         (gtk_text_iter_is_last): new function, more efficient than 
10121         the existing way to check
10122         (gtk_text_iter_is_first): new function, also more efficient
10123
10124         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
10125
10126         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
10127         gtk_text_iter_forward_char, etc.
10128
10129         (gtk_text_iter_forward_to_tag_toggle): Renamed from
10130         forward_find_tag_toggle, since this isn't a linear search
10131
10132         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
10133
10134         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
10135         New functions, search for a buffer substring.
10136
10137         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
10138         interactive and default editable (since we need to store that info
10139         until we receive the selection data).
10140
10141         Remove all the _at_char and at_line etc. versions of functions;
10142         only have iterator versions.
10143
10144         Add _interactive() versions of functions, that consider the
10145         editability of text. (FIXME add interactive flag to the 
10146         insert/delete signals per Darin's suggestion)
10147
10148         (gtk_text_buffer_get_tag_table): new function, demand-creates the
10149         tag table if necessary
10150
10151         Remove declaration of gtk_text_buffer_get_iter_from_string
10152
10153         (_gtk_text_buffer_get_btree): private/internal function, added.
10154         
10155
10156         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
10157         (gtk_text_line_is_last): new function
10158
10159 2000-07-25  Havoc Pennington  <hp@redhat.com>
10160
10161         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
10162         using GtkProgressBar. See Changes-2.0.txt for details.
10163
10164         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
10165         "pulse_step" which are the equivalent of
10166         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
10167         Implement new API.
10168         
10169         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
10170         (use_text_format) to mark whether text set on the progress bar is
10171         a format string. Deprecate entire GtkProgress interface.
10172
10173         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
10174         (gtk_progress_build_string): make this a no-op if use_text_format
10175         is FALSE
10176
10177         * docs/Changes-2.0.txt: Describe progress bar changes.
10178
10179 2000-07-25  Tor Lillqvist  <tml@iki.fi>
10180
10181         * Makefile.am: Include the build directory.
10182
10183         * configure.in: Generate build/Makefile, build/win32/Makefile,
10184         gdk/, gdk/win32/, and gtk/makefile.mingw.
10185
10186         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
10187         Add GETTEXT_PACKAGE.
10188         
10189         * gdk/gdk.def
10190         * gtk/gtk.def: Updates.
10191
10192         * gdk/gdkfont.h
10193         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
10194         need them any longer.
10195
10196         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
10197
10198         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
10199         PANGOWIN32_LIBS and gdk_pixbuf.
10200
10201         * gdk/win32: Compiles, but no doubt doesn't work at all.
10202
10203         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
10204
10205         * gdk/win32/gdkinput.c: New file, temporarily.
10206         
10207         * gdk/win32/gdkinput-win32.h: New file
10208
10209         * gdk/win32/gdkinputprivate.h: Remove.
10210
10211         * gdk/win32/gdkpango-win32.c: New file.
10212
10213         * gtk/makefile.mingw.in: New file
10214
10215         * gtk/makefile.cygwin: Removed
10216         
10217         * gtk/Makefile.am: Update accordingly.
10218
10219         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
10220         made externally visible.
10221
10222         * gtk/gtkmain.c: Use it.
10223         
10224         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
10225         is enough.
10226
10227         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
10228
10229 2000-07-24 Elliot Lee <sopwith@redhat.com>
10230         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
10231         individual backends already.
10232         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
10233         again. Yes, there really is a good reason for this, if you are using the gdkregion
10234         internals, and if you're not, why do you care?
10235         * gdk/gdkwindow.c: Fix inverted condition
10236         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
10237         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
10238         * gtk/gtkrange.c: Redraw trough when moving.
10239         * gtk/gtktypeutils.c: Fix warning by adding const cast.
10240         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
10241
10242 2000-07-23  Tor Lillqvist  <tml@iki.fi>
10243
10244         * configure.in: Check for mkstemp and sigsetjmp. Output
10245         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
10246
10247         More work on GDK for Win32. Still in an intermediate state.
10248
10249         * gdk/makefile.cygwin
10250         * gdk/win32/makefile.cygwin: Removed.
10251         
10252         * gdk/makefile.mingw.in
10253         * gdk/win32/makefile.mingw.in: New files.
10254
10255         * gdk/Makefile.am
10256         * gdk/win32/Makefile.am: Generate and distribute them.
10257
10258         * gdk/win32/gdkwindow-win32.h
10259         * gdk/win32/gdkdrawable-win32.h
10260         * gdk/win32/gdkpixmap-win32.h: New files.
10261
10262         * gdk/win32/gdkcolor-win32.c
10263         * gdk/win32/gdkcursor-win32.c
10264         * gdk/win32/gdkdrawable-win32.c
10265         * gdk/win32/gdkgc-win32.c
10266         * gdk/win32/gdkimage-win32.c
10267         * gdk/win32/gdkprivate-win32.h
10268         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
10269         Rename fields and variables called xcursor, xid, etc (these names
10270         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
10271
10272 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
10273
10274         * gtk/gtkentry.[ch]: Fix some problems with vertical
10275         alignment.
10276
10277         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
10278         char/byte confusion.
10279
10280 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
10281
10282         * gtk/gtktextview.c (changed_handler): Fix bug where
10283         redraw wasn't being done properly when height of
10284         dirty region changed.
10285
10286         * demos/Makefile.am: Remove various references to
10287         -lgmodule
10288
10289 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
10290
10291         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
10292         PangoAttrShape to reserve space for pixmaps, add 
10293         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
10294         in the display functions.
10295         
10296         * gtk/testgtk.c (create_layout): Set some more exotic
10297         scrolled window options
10298
10299         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
10300         Add function to set the shadow type of a window, to allow
10301         putting a shadow around widgets such as GtkLayout or GnomeCanvas
10302         which don't draw their own frame.
10303
10304 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
10305
10306         * docs/tutorial/package-db-tutorial.sh: New file for
10307           packaging DocBook format tutorial
10308
10309 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
10310
10311         * docs/tutorial/gtk-tut.sgml: Minor updates
10312
10313         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
10314
10315 2000-07-19  Tor Lillqvist  <tml@iki.fi>
10316
10317         * gtk/gtksignal.c: Fix C++ comment.
10318
10319         * gtk/gtkimmulticontext.c
10320         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
10321         don't return value from void functions.
10322
10323         * gtk/gtk.def: Add gtk_rc_style_unref.
10324
10325 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
10326
10327         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
10328         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
10329         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
10330         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
10331         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
10332         gtk/gtktypeutils.h: Include files outside of the extern "C"
10333         block. Makes some C++ compiler happy. Reported by Denis Vakatov
10334         <vakatov@peony.nlm.nih.gov>.
10335
10336 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
10337
10338         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
10339           Completes first pass. Hurrah!
10340
10341 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
10342
10343         * docs/tutorial/gtk-tut.sgml: More clean ups.
10344
10345 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
10346
10347         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
10348         paint the background of the text area which was accidentally
10349         removed at some point.
10350
10351         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
10352           
10353          - Move most of the functionality from the theme vtable
10354            into GtkRcStyleClass and GtkStyleClass. The moved
10355            vtable functions were changed a bit in the move to
10356            work better in their new home.
10357
10358          - Get rid of the engine and engine_data fields from
10359            GtkRcStyle and GtkStyle; instead the theme
10360            engine derives theme-specific subclasses of GtkRcStyle
10361            and GtkStyle
10362
10363          - Add extra dlsym() found entry point to themes,
10364            theme_create_rc_style().
10365
10366         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
10367         in gtk_style_real_copy.
10368
10369         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
10370         to register a type associated with an engine. (The engine
10371         won't be unloaded as there is an instance of the type.)
10372
10373
10374 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
10375
10376         * docs/tutorial/gtk-tut.sgml: Clean ups.
10377
10378 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
10379
10380         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
10381           of cleaning up to do.
10382
10383 2000-07-15  Tor Lillqvist  <tml@iki.fi>
10384
10385         * gdk/testgdk.c: New file, quick hack to test backends for
10386         pixel-by-pixel correctness of the most simple graphic operations.
10387
10388 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
10389
10390         * Really release 1.3.1
10391         
10392         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
10393         include structure.
10394
10395 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
10396
10397         * Released 1.3.1
10398
10399 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
10400
10401         * gtk/gtktextlayout.c: use FALSE for size_only most
10402         of the time when calling gtk_text_layout_get_line_display()
10403         to avoid causing double reshapes when a redraw follows
10404         immediately after.
10405
10406 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
10407
10408         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
10409         appropriate region and gdk_window_process_updates() so trough
10410         updating doesn't lag behind the window being scrolled.
10411
10412         * gdk/gdkgc.c: Make parent_class pointer static.
10413          
10414 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
10415
10416         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
10417         include <string.h>.
10418          
10419         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
10420         cut-and-paste error in computing memory offset for 4 channels.
10421
10422 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
10423
10424         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
10425         gtk_rc_append_default_pixmap_path(), since it wasn't
10426         adding an interesting path and we don't have a meaningful
10427         default for this value.
10428
10429 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
10430
10431         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
10432         gtk-config to gtk-config-2.0 move gtk_.m4 to
10433         gtk-2.0.m4
10434
10435         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
10436         gdk/Makefile.am demos/Makefile.am: Change 
10437         library names to libgtk-1.3.la, etc, so that we
10438         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
10439
10440         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
10441         gdk/Makefile.am gdk/x11/Makfile.am
10442         Move include files into /usr/include/gtk-2.0, 
10443         /usr/lib/gtk-2.0/include/
10444          
10445         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
10446         gtk/gtkintl.h: Change package for gettext from 
10447         gtk+ to gtk20. Put hack in autogen.sh to modify
10448         po/Makefile.in.in after gettextize to make this
10449         possible.
10450
10451         * gtk+.spec: Some updates, not tested.
10452
10453         * gdk-pixbuf/Makefile.am: Move loaders into
10454         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
10455
10456         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
10457         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
10458         to THEMENAME/gtk-2.0/. Move engine directory  to
10459         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
10460         
10461 2000-07-12  Tor Lillqvist  <tml@iki.fi>
10462
10463         Win32 changes, still doesn't build though.
10464
10465         * gdk/makefile.cygwin
10466         * gdk/win32/makefile.cygwin
10467         * gtk/makefile.cygwin: Updates.
10468
10469         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
10470         default values for fg and bg pixel as X11 does (0 and 1), not
10471         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
10472         Use 0 for pen width by default (treated as 1 anyway later, but for
10473         apps that might check the value in the GdkGC).
10474         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
10475         interface to gdk_gc_predraw and _postdraw.
10476
10477         * gdk/win32/gdkwin32.h
10478         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
10479
10480         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
10481         extraneous semicolon.
10482
10483         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
10484
10485         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
10486         not the Win32 bitspixel value.
10487
10488         * gdk/win32/gdkcc-win32.c:
10489         * gdk/win32/gdkcolor-win32.c 
10490         * gdk/win32/gdkprivate-win32.h
10491         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
10492         GDK object structure.
10493
10494 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
10495
10496         * docs/tutorial/gtk_tut_12.es.sgml (name): 
10497         * docs/tutorial/gtk_tut_it.sgml (name): 
10498         * docs/tutorial/gtk_tut_fr.sgml (name): 
10499         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
10500         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
10501
10502 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
10503
10504         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
10505           small changes.
10506
10507 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
10508
10509         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
10510         a bug here, never been here and never fixed anything ;(
10511         (don't segfault if tree->root_tree is NULL, which happens prior
10512         to widget realization, but puke instead).
10513
10514 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
10515
10516         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
10517         add the necessary tokens.
10518
10519         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
10520         (gtk_rc_style_to_style): copy thicknesses.
10521         (gtk_rc_init_style): apply thicknesses.
10522         (gtk_rc_parse_style): parse xthickness and ythickness.
10523
10524         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
10525
10526         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
10527         (gdk_window_new): 
10528         (_gdk_windowing_window_init): 
10529         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
10530         (gdk_pixmap_create_from_data): 
10531         (gdk_bitmap_create_from_data): 
10532         (gdk_pixmap_new): 
10533         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
10534         (gdk_image_new): 
10535         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
10536         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
10537         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
10538         (gdk_colormap_get_system): 
10539         (gdk_colormap_new): 
10540         * gdk/gdkwindow.c (gdk_window_init): 
10541         * gtk/gtkstyle.c (gtk_style_new):
10542         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
10543         * gdk/gdkpixmap.c (gdk_pixmap_init): 
10544         * gtk/gtkrc.c (gtk_rc_style_new):
10545         use g_object_new() instead of g_type_create_instance() which
10546         is a private function for fundamental type implementations.
10547
10548 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
10549
10550         * configure.in: Add check for db2html
10551
10552 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
10553
10554         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
10555         hack to set glib_debug_objects based on gtk_debug_flags.
10556
10557 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
10558
10559         * INSTALL.in: Update the Prerequisites section.
10560
10561         * Makefile.am demos/Makefile.am docs/Makefile.am
10562         docs/tutorial/Makefile.am gdk/x11/Makefile.am
10563         gdk/linux-fb/Makefile.am: Dist fixes
10564
10565 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
10566
10567         * NEWS: 10,000 foot view of 1.3.1 changes.
10568
10569 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
10570
10571         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
10572         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
10573         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
10574         gdk/x11/gdkmain-x11.c: 
10575
10576         Patch from George Lebl to add a GdkGrabStatus enumeration to use
10577         as a return value of gdk_*_grab(). Previously, we just
10578         returned the X11 values directly.
10579
10580 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
10581
10582         * gdk/x11/Makefile.am: Patch from George Lebl to 
10583         install all the headers in the right place.
10584
10585 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
10586
10587         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
10588           initial conversion to DocBook.
10589
10590 2000-07-04  Tor Lillqvist  <tml@iki.fi>
10591
10592         * README.win32: Improve a bit.
10593
10594         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
10595         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
10596         Alt+0nnn on the numpad (used to enter characters by numeric code
10597         from current DOS or ANSI codepage) working correctly, as in other
10598         Windows apps.
10599
10600         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
10601         same argument validity tests as in X11 version.
10602         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
10603
10604         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
10605         definitions in case missing from headers.
10606
10607         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
10608         destroy the window-specific cursor.
10609         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
10610         calling GetModuleHandle(NULL).
10611         (gdk_window_set_cursor): Reworked to always copy the passed cursor
10612         with CopyCursor before setting it as the window-specific
10613         cursor. It is OK for the caller to destroy the GdkCursor (and thus
10614         also its Windows cursor) after calling this function. Destroy any
10615         previous window-specific cursor.
10616
10617 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
10618
10619         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
10620         font charset is iso8859-1, not iso-8859-1.
10621
10622 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
10623
10624         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
10625         Use g_get_charset() instead of g_get_codeset().
10626
10627         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
10628         Comment out some strdup'ing functions to keep timj
10629         happy until we finish fighting this out.
10630
10631 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
10632
10633         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
10634         <= width or height.
10635
10636         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
10637         from 1.2 for parent/child states.
10638
10639         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
10640         of typos.
10641
10642         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
10643         event structures, replace with a generic axes field. Replace 
10644         deviceid/sourec with GdkDevice *device.
10645
10646         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
10647         to extract particular axis use value from event. (Also
10648         can be used for normal X/Y.)
10649
10650         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
10651         allow for arbitrary number of axes, namespace everything
10652         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
10653         everywhere.
10654
10655         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
10656         Get rid of the gdk_input_vtable setup if favor of simply
10657         defining the functions in gdkinput-none/gxi/xfree.c in
10658         a similar fashion to the way that the port structure is 
10659         done.
10660
10661         * gtk/gtkdnd.c: Fix fields of synthesized button press event
10662         for new event structures. 
10663
10664         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
10665         new device interfaces.
10666
10667 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
10668
10669         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
10670         set the initial text.
10671
10672         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
10673         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
10674         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
10675         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
10676
10677         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
10678         pango_layout_set_font_description to simplify.
10679
10680 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
10681
10682         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
10683         pango_layout_set_font_description to simplify.
10684
10685 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
10686
10687         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
10688         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
10689         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
10690
10691         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
10692         PANGO_PIXELS() macro.
10693
10694 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
10695
10696         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
10697         that returns a PangoContext owned by the widget and updated to
10698         match future changes in the widget. Also, make 
10699         gtk_widget_create_pango_layout() use this context. If we ever
10700         add a ::changed signal to PangoContext, this will make things
10701         much more convenient. 
10702
10703         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
10704         in the appropriate places instead of destroying the layouts and
10705         creating new ones.
10706
10707         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
10708         in a few strategic places.
10709
10710 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
10711
10712         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
10713         gtk_widget_size_request() on reparented child, if one. Otherwise,
10714         queue_resize() on the child never results in it getting size-requested
10715         at all.
10716
10717         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
10718         in option menus, so that (with luck) people won't copy it into
10719         their apps in the future.
10720
10721         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
10722         to gtk_option_menu_calc_size. This isn't perfect, but should fix
10723         a lot of problems with changing the size of the menu's menu
10724         items after adding it to the option menu.
10725
10726         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
10727
10728         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
10729         the text direction for a widget changes.
10730
10731         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
10732         ::direction_changed to get rid of various hacks.
10733
10734 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
10735
10736         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
10737         name.
10738
10739 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
10740
10741         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
10742         flag to the structure. Do not call XFreePixmap on pixmaps created
10743         by gdk_pixmap_foreign_new().
10744
10745 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
10746
10747         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
10748         value using GdkRGB functionality given GdkColormap and GdkColor.
10749         (name not final, waiting for inspiration.)
10750         
10751         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
10752         set the foreground/background of a GC using the GC's colormap
10753         and GdkRGB. (name not final, waiting for inspiration.)
10754
10755         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
10756         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
10757
10758         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
10759         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
10760         purely a function of the corresponding colormap. Make
10761         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
10762
10763         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
10764         gdk_pixbuf_*create_from_xpm_* in terms of
10765         gdk_pixbuf_new_from_xpm_data(), move into platform independent
10766         code.
10767
10768         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
10769         advantage of the new draw_rgb_32_image_dithalign.
10770
10771         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
10772
10773         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
10774         on each created GC.
10775
10776         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
10777
10778         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
10779         which we initialize from the drawable when the GC is created,
10780         if the drawable has a colormap.
10781
10782         * gdk/x11/gdkgc-x11.c: include string.h for memset.
10783
10784         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
10785
10786         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
10787
10788 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
10789
10790         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
10791         actually returning expose events, make sure to set
10792         the count field properly.
10793
10794         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
10795         accidentally reintroced bug which always cleared
10796         the graphics_exposures value. 
10797
10798 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
10799
10800         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
10801
10802 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
10803
10804         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
10805
10806 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
10807
10808         * docs/faq/gtk-faq.sgml: Start of Section 6.
10809
10810 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
10811
10812         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
10813         
10814         (Fixes problem with drawing childless frames. Pointed out
10815         by and a first patch from Anders)
10816         
10817         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
10818         compute a child_allocation, even if we don't have a child.
10819
10820         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
10821         Always chain to the parent's impl, even if we don't have a child.
10822
10823 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
10824
10825         * gdk/gdkrgb.c: If possible, create only a single shm segment and
10826         use multiple parts of it instead of creating a bunch of separate
10827         segments, since the maximum number of segments per system is not
10828         large. (This might be worth backporting to GTK+-1.2.x if we make a
10829         new release )
10830
10831         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
10832         structure in preparation for per-colormap GdkRGB.
10833
10834         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
10835         to False when we get EINVAL from shmget so that the caller of
10836         gdk_image_new can retry with a smaller segment size.
10837
10838 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
10839
10840         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
10841
10842 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
10843
10844         * configure.in: make the current version number 1.3.1 (binary age 0,
10845         interface age 0).
10846         
10847         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
10848         gtkcompat.h is all we want.
10849
10850         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
10851         GLib primitive types. fixed g_type_register_fundamental() argument
10852         ordering.
10853
10854         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
10855         compiles.
10856
10857         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
10858         object code cleanup, comment trigraph fixes, etc...
10859
10860 2000-06-23  Havoc Pennington  <hp@redhat.com>
10861
10862         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
10863         instead of making up a bogus name for first_para_mark
10864
10865         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
10866         0 as a context ID
10867
10868 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
10869
10870         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
10871
10872 2000-06-21  Havoc Pennington  <hp@pobox.com>
10873
10874         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
10875         we didn't check window->bg_pixmap != GDK_NO_BG.
10876
10877         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
10878         gdk-pixbuf
10879
10880 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
10881
10882         * docs/faq/gtk-faq.sgm: Move file to here.
10883           TODO: Update Makfile.am 
10884
10885 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
10886
10887         * docs/gtk-faq.sgm: Add Section 2
10888
10889 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
10890
10891         * docs/gtk-faq.sgm: New file. Start of DocBook
10892           version of the FAQ.
10893
10894 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
10895
10896         * configure.in (GDK_PIXBUF_MAJOR): Define version
10897         numbers for GDK_PIXBUF_*, as they get substituted
10898         into a header file. Need to consider versioning
10899         for gdk-pixbuf more carefully later.
10900
10901 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
10902
10903         Work with srcdir != builddir.   
10904         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
10905         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
10906         * demos/testpixbuf.c: Likewise.
10907         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
10908         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
10909         <gdk/x11/gdkx.h>.
10910         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
10911         "gdk-pixbuf.h".
10912         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
10913
10914 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
10915
10916         * TODO.xml: Change 1.4 version numbers to 2.0.
10917
10918 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
10919
10920         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
10921         fixups to GTK+ standard.
10922
10923 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
10924
10925         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
10926         gdk-pixbuf.
10927
10928         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
10929         fixups for GObject.
10930
10931         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
10932         gdk-pixbuf with GDK dependencies moved into GDK.
10933         
10934         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
10935         move gdk-pixbuf-loader here until GObject has signals.
10936
10937         * demos/: New directory of demos. Move demos from
10938         gdk-pixbuf here.
10939
10940         * demos/pixbuf-init.c: Small bit of code to check for
10941         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
10942         set GDK_PIXBUF_MODULEDIR appropriately.
10943
10944         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
10945         define which no longer makes sense.
10946
10947 2000-06-21  Havoc Pennington  <hp@redhat.com>
10948
10949         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
10950         gtk_get_default_language
10951
10952         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
10953         new function to get the default language
10954
10955         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
10956         s/gtk_text_view_style_values/gtk_text_style_values/
10957
10958         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
10959         Add a "language" field to tags.
10960
10961         (gtk_text_tag_set_arg): Fix bug in setting
10962         "bg_full_height_set" tag.
10963
10964 2000-06-21  Havoc Pennington  <hp@redhat.com>
10965
10966         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
10967         in the interfaces
10968
10969         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
10970         stuff instead when possible.
10971
10972         * gtk/gtktexttypes.h: Delete some unused constants
10973
10974         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
10975         testtextbuffer.c: use glib instead of custom unicode routines
10976
10977 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
10978
10979         * docs/es/: Removed mistakenly added generated sgml
10980
10981         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
10982         Remove outdated info files.
10983
10984         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
10985         Moved tutorial files into subdir
10986
10987         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
10988         subdir.
10989
10990         * docs/man/gtk_button.pod: Remove. (contents will be
10991         integrated into gtk-reference button page.)
10992
10993         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
10994         docs/faq/Makefile.am: Adjust for new organization
10995
10996 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
10997
10998         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
10999         not $(MKINSTALLDIRS)
11000
11001 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
11002
11003         * gtk/testgtk.c (create_text): Finish the job Elliot started
11004         of removing font setting test for text widget. (Since text widget
11005         and GdkFont are not deprecated, and cause portability problems.)
11006
11007 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
11008
11009         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
11010         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
11011         Remove use of libunicode in favor of new GLib functions.
11012
11013         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
11014         nano-x, framebuffer. The X11 include is just a hack until we get
11015         the necessary functions in gdkcolor.h, so there is no reason to
11016         add other includes of platforms.
11017
11018         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
11019         window bigger than the screen change.
11020
11021         * gtk/testgtk.c: Revert some random changes from Elliot
11022         that had no particular point and were causing testgtkrc
11023         not to function correctly.
11024         
11025         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
11026         because GdkSegment and GdkRegionBox have the same fields,
11027         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
11028         results in clearer code.
11029
11030         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
11031         gdk_input_translate_coordinates): Fix missed GdkObjectification
11032
11033 2000-06-18  Elliot Lee  <sopwith@redhat.com>
11034
11035         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
11036         * gtk/gtk{plug,socket}.h: Missed commits from previous.
11037
11038 2000-06-20  Havoc Pennington  <hp@redhat.com>
11039
11040         * modules/linux-fb/Makefile.am: Make this compile
11041         without framebuffer enabled
11042
11043         * gdk/linux-fb/Makefile.am: Add conditional to not build
11044         framebuffer unless specified in configure
11045
11046         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
11047         the size of the target instead of source if -1 was passed for
11048         width/height
11049
11050         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
11051         width/height confusion.
11052
11053 2000-06-19  Havoc Pennington  <hp@redhat.com>
11054
11055         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
11056         GDK_DRAWABLE_XID. In the future, we probably want to make it
11057         faster with G_DISABLE_CHECKS turned on.
11058
11059 2000-06-14  Havoc Pennington  <hp@redhat.com>
11060
11061         * gdk/Makefile.am: add gdkpixmap.c
11062
11063         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
11064         s/gdk_image_init/_gdk_windowing_image_init
11065
11066         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
11067         ref/unref
11068
11069         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
11070
11071         * gdk/gdkcompat.h: remove GdkWindowType compat, since
11072         GdkWindowType is now non-deprecated; 
11073         change gdk_window_get_type() compat to be
11074         gdk_window_get_window_type().
11075
11076         * gdk/gdkdnd.h: make GdkDragContext a GObject.
11077
11078         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
11079         virtual GObject. Make all functions call into the vtable.
11080         Move gdk_image_put() guts in here. Remove GdkDrawableType
11081         and gdk_drawable_get_type(), these are now GdkWindow-specific.
11082         draw_image, get_depth, get_size, set_colormap, get_colormap,
11083         get_visual added to the vtable.
11084         
11085         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
11086         GObject. Virtualize everything. 
11087         (gdk_gc_new_with_values): remove check for destroyed window,
11088         because now GdkWindow::create_gc will check this.
11089         (gdk_gc_set_values): New function to set GC values, this 
11090         was already implemented but wasn't in the header
11091
11092         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
11093
11094         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
11095         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
11096         remove _gdk_window_class; add _gdk_window_impl_get_type() and
11097         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
11098         _gdk_windowing_window_init, rename gdk_image_init to
11099         _gdk_windowing_image_init.
11100         
11101         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
11102         (gdk_draw_layout): Remove check for destroyed window, 
11103         because all the drawable methods already check it.
11104         
11105         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
11106         Add gdkpixmap.c which contains implementation of GdkDrawable
11107         virtual table (by chaining to a platform-specific implementation
11108         object).
11109         
11110         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
11111         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
11112         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
11113         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
11114         GdkColormapPrivate. 
11115
11116         * gdk/gdktypes.h: #include <glib-object.h>
11117
11118         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
11119         Move most functionality to platform-specific implementation
11120         object. GdkWindow itself now handles the backing store, then
11121         chains to the platform-specific implementation.
11122         (gdk_window_get_window_type): return GdkWindowType of the window.
11123         (gdk_window_peek_children): New routine, returns the children of 
11124         a GdkWindow
11125         (gdk_window_get_children): Was in X11-specific code and did 
11126         XQueryTree. Changed to simply return a copy of window->children; 
11127         so it can go in cross-platform code.
11128         
11129         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
11130
11131         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
11132         GdkColormap; just changed to use the new private data instead
11133         of casting to GdkColormapPrivate.
11134
11135         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
11136         gdk_cursor_new().
11137
11138         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
11139         (private data member in the GObject). 
11140         (xdnd_manager_source_filter): Function had broken 
11141         error handling, fix it (use gdk_error_trap_push).
11142
11143         * gdk/x11/gdkdrawable-x11.c: This file now implements
11144         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
11145         base class is purely for the convenience of the X port,
11146         and not part of the interface to cross-platform GDK.
11147
11148         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
11149         
11150         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
11151         specific to X, and returned by the create_gc virtual method
11152         of GdkDrawableImplX11. 
11153         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
11154         rather than gchar, this was also changed in the GdkGC vtable.
11155         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
11156         mask is 0, return immediately, instead of checking every flag.
11157         This is faster, and keeps us from segfaulting if values is NULL
11158         and the mask contains some nonzero flags.
11159
11160         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
11161         GdkWindow.
11162
11163         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
11164         GdkWindowPrivate is gone.
11165
11166         * gdk/x11/gdkim-x11.c: rename things that got renamed.
11167
11168         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
11169         remove the image_put stuff that got transferred to GdkDrawable.
11170         
11171         * gdk/x11/gdkinput.c: renamings
11172
11173         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
11174
11175         * gdk/x11/gdkpixmap-x11.c: GObject conversion
11176
11177         * gdk/x11/gdkprivate-x11.h: indentation fixes
11178
11179         * gdk/x11/gdkproperty-x11.c: renamings
11180
11181         * gdk/x11/gdkselection-x11.c: renamings
11182
11183         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
11184         implements the platform-specific "impl" object.
11185         Moved gdk_window_get_children to gdk/gdkwindow.c
11186
11187         * gdk/x11/gdkx.h: Remove all the private structs and private datas
11188         that no longer exist. Add declaration of GdkGCX11 object here.
11189         Fix all the macros to still work. 
11190
11191         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
11192         GdkDragContext from the boxed types since they are now GObjects.
11193
11194         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
11195         moved xthickness/ythickness into the instance. GtkStyleClass
11196         functions are now in the standard vtable for GtkStyle, so you have
11197         to create a GObject subclass to write a theme engine.
11198         (gtk_style_copy): fixed a leaked PangoFontDescription
11199         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
11200         can be the standard GObject function.
11201         
11202         * Throughout GTK:
11203         s/style->klass->[xy]thickness/style->[xy]thickness
11204         s/pango_layout_unref/g_object_unref/
11205
11206         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
11207         
11208         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
11209         accessing GDK internals.
11210
11211         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
11212         accessing GDK internals.
11213
11214 2000-06-18  Elliot Lee  <sopwith@redhat.com>
11215
11216         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
11217
11218         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
11219         problem by calculating event position relative to the trough
11220         rather than the slider.
11221         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
11222
11223         * gdk/gdkgc.h: Add GDK_NOR.
11224
11225         * configure.in, Makefile.am: Add modules top level dir
11226         * configure.in: Only use pangox library if building x11 target.
11227         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
11228
11229 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
11230
11231         * gtk/gtkcolorsel.c: Change private class member to be named
11232         private_data throughout the file.
11233
11234         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
11235         private_data to avoid clashing with keyword.
11236
11237 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
11238
11239         * gdk/gdkdnd.h: Add comment to remove warning.
11240
11241 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
11242
11243         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
11244         Byelorussian language; changed the Makefile and file names 
11245         to reflect that.
11246
11247 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
11248
11249         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
11250         rather than gdk_window_hide; this makes things work
11251         correctly if the window is programmatically hidden while
11252         iconified.
11253
11254 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
11255
11256         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
11257         cut and paste typo where wrong pixmap was being
11258         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
11259
11260 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
11261
11262         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
11263         Add helper function to compute format / bytes 
11264         relationship. Use in a couple places to fix up
11265         errors which assume 8 * format.
11266
11267         * gtk/gtkselection.c (gtk_selection_request): Use 32
11268         rather than 8 * sizeof (GdkAtom), to work correctly
11269         on Alpha.
11270
11271 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
11272
11273         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
11274         libgtk.la
11275         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
11276         versions
11277
11278         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
11279         checking macros return NULL since the function has a return value.
11280
11281 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
11282
11283         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
11284         GTK+ from building at all.
11285
11286         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
11287
11288 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
11289
11290         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
11291         gtk/Makefile.am: make it possible to configure gtk for different
11292         targets on the same platform. The library name is now 
11293         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
11294         flag. Only the x11 target compiles right now.
11295         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
11296         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
11297         * gdk/nanox/gdk*generic*: delete generic region code.
11298         * gdk/linux-fb/gdk*generic*: delete generic region code.
11299         * README.nanox: update information.
11300         
11301 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
11302
11303         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
11304         prepend not append. (Pointed out by Brett Hall.)
11305
11306 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
11307
11308         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
11309
11310 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
11311
11312         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
11313         need this later, and this makes sure that the atexit for
11314         glib gets called after that for GDK, so atexits are
11315         properly ordered for object leak checking.
11316
11317         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
11318
11319         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
11320         pango_x_shutdown_display()
11321
11322         * gtk/simple.c (main): Close window on destroy.
11323
11324 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
11325
11326         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
11327         to treat initial creation different from setting with 
11328         regards to the graphics-exposures parameter, so add a parameter
11329         indicating whether this is initial or not.
11330
11331 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
11332
11333         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
11334         to sort of work by adding an extra return_exposes arg
11335         to gdk_event_translate() - it might be better to simply
11336         deprecate the function altogether and force people to rewrite
11337         without it. gdk_window_scroll() handles most of it, and where
11338         gdk_window_scroll() doesn't work, simply redrawing more does.
11339
11340         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
11341         assertion.
11342
11343         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
11344
11345         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
11346         bunch of pretty much useless /* Print debugging info */ comments 
11347         which had drifted away from the code they were commenting.
11348
11349 2000-06-02  Havoc Pennington  <hp@pobox.com>
11350
11351         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
11352         is in working order.
11353         
11354         * gtk/testtext.c: Change to reflect anonymous mark API
11355
11356         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
11357
11358         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
11359         field, which was unused.
11360
11361         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
11362         saves some typing.
11363
11364         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
11365
11366         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
11367         flag on the insertion point and selection bound
11368
11369         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
11370         make mark-manipulation functions take a GtkTextMark* instead of a
11371         mark name.
11372         
11373         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
11374         GtkTextMarkBody; will be used to detect attempts to delete
11375         the permanent marks (insert and selection bound)
11376
11377         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
11378
11379 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
11380
11381         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
11382         flag to on.
11383
11384         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
11385         Honor DOUBLE_BUFFRED_FLAG
11386
11387         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
11388         function to set the DOUBLE_BUFFERED flag.
11389
11390         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
11391         or not exposes done on the widget should be double-buffered.
11392
11393         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
11394         to be what would be expected. (Fixes problem with a
11395         g_return_if_fail() validating a TextDirection enumeration)
11396
11397 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
11398
11399         * gtk/gtkwidget.c: Remove all references to 
11400         offscreen flag which was no longer used.
11401
11402         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
11403
11404         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
11405         for non-null label_widget->parent.
11406
11407         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
11408         which no longer was used.
11409
11410         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
11411
11412         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
11413         for null arguments.
11414
11415         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
11416         check for destroyed windows.
11417
11418 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
11419
11420         * gtk/gtkimmulticontext.c: Add a finalize method and unref
11421         the slave context there.
11422
11423         * gtk/gtkinvisible.[ch]: Make reference counting behavior
11424         identical to GtkWindow.
11425
11426 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
11427
11428         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
11429         pangox to here, so we can write them independent of rendering
11430         system, using GDK primitives.
11431
11432         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
11433         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
11434         since we have a rendering-system independent implementation in
11435         terms of draw_glyphs().
11436         
11437         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
11438         function to render a single line.
11439
11440         * gdk/x11/gdkpango.c: Move the guts of this file mostly
11441         into ../gdkpango.c, which simplifies things, since we
11442         don't have to deal with raw X gc's.
11443
11444 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
11445
11446         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
11447         get the logical attributes for a given GtkTextLine.
11448
11449 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
11450
11451         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
11452         g_locale_get_codeset() to g_get_codeset() change.
11453
11454 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
11455
11456         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
11457         descriptions.
11458
11459         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
11460         the entry.
11461
11462         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
11463         redoing (vastly simplifying) for Pango. Still needs quite
11464         a bit of work. (Size selection is currently poor. List of 
11465         predefined sizes is not a good idea, since all of these
11466         sizes won't necessarily be distinct.)
11467
11468 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
11469
11470         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
11471         CODESET results for LANG=C.
11472
11473 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
11474
11475         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
11476         which takes a stringized pango font description;
11477         ignore the older 'font' and 'fontset' declarations.
11478
11479         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
11480         field with a GdkFont derived via gdk_font_from_description(),
11481         for compatibility. (Should we just remove it entirely?
11482         Probably too much compatibility breakage, but people
11483         should be migrating to the new Pango stuff as quickly
11484         as possible.)
11485
11486 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
11487
11488         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
11489
11490 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
11491
11492         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
11493         redoing; there are some bugs in size allocation right
11494         now, the semi-existant distinction between header / day
11495         fonts was removed, but, with Pango, could actually
11496         be made functional in a nice way.
11497         
11498         * gtk/testcalender: Move calender from examples into this
11499         directory as a test program. (We really need to restrcture
11500         testgtk into a whole directory full of tests for every
11501         widget or functionality group, separated into multiple .c
11502         files.)
11503
11504 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
11505
11506         * gtk/testgtk.c (file_exists): Fix stupid typo that
11507         was keeping RC file from being loaded.
11508
11509         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
11510         RC file font code.
11511
11512 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
11513
11514         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
11515         Add function to load a GdkFont from a PangoFontDescription.
11516
11517 2000-05-29  Tor Lillqvist  <tml@iki.fi>
11518
11519         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
11520         variable should be of type GdkEventPrivate.
11521
11522 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
11523
11524         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
11525         to have any widget for the label, use a GtkLabel widget
11526         to display the text. (Based partially on a patch from
11527         Anders Carlson.)
11528
11529         (Quite a bit of code reorganization - strip 90% of the
11530         guts out of gtkaspectframe and add a single virtual
11531         func to GtkFrameClass - compute_child_allocation.)
11532
11533 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
11534
11535         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
11536         (Removed clist->row_center_offset field because caching
11537         it wasn't saving time or code, added private function
11538         _gtk_clist_create_cell_layout()).
11539
11540 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
11541
11542         * gtk/gtkaccellabel.c: Pangoized.
11543
11544         * gtk/[hv]ruler.c: Pangoized
11545
11546 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
11547
11548         * gtk/gtkfilesel.c (gtk_file_selection_init):
11549         Use gtk_clist_set_column_auto_resize() to remove need
11550         need for manual column width computations.
11551
11552 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
11553
11554         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
11555         ensuring Pango correctness, and considerably simplifying the
11556         code.
11557         
11558         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
11559
11560         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
11561         getting of numbers of lines.
11562
11563         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
11564         to the actual requested width of the lable, not to the wrap
11565         width we set.
11566
11567         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
11568
11569         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
11570           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
11571
11572         * gtk/gtktextview.c: Fix structure inheritance.
11573
11574         * gtk/gtkprogressbar.c: Pangoize.
11575
11576 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
11577
11578         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
11579         in a function.
11580
11581         * gtk/gtktextlayout.c (find_display_line_above): Fixed
11582         bug with computing line tops.
11583
11584         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
11585
11586 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
11587
11588         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
11589         and y_offset coordinates to do what we need now. (The offset between
11590         buffer and layout coordinates has been reintroduced, but is a 
11591         bit different than before.)
11592
11593         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
11594         handle the adjustments ourselves, and scroll as necessary using
11595         the new gdk_window_scroll().
11596         
11597         The advantage of this is that when we are incrementally revalidating,
11598         we are essentially rearranging things around the visible portion
11599         of the screen. With the old setup, the visible portion of the
11600         screen was moved around in the layout, so scrolling and redrawing
11601         to track that caused jumping of the display. Since we now
11602         control the scrolling ourselves, we can suppress this and
11603         only redraw when things actually change.
11604
11605 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
11606
11607         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
11608         the region not just redisplay it after-all, since we store the
11609         cursors in the LineDisplay. (Ugly interactions here between
11610         GtkLayout and GtkTextBTree here.)
11611         
11612         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
11613
11614 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
11615
11616         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
11617         Added function to scroll contents of a window while keeping the
11618         window constant. Works by XCopyArea or guffaw-scrolling depending
11619         on the details of how the window is set up. (guffaw-scrolling
11620         still needs to be filled in.)
11621
11622 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
11623
11624         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
11625         move the debugging that was tied to a global variable
11626         to that.
11627
11628         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
11629
11630         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
11631         validated flag, in line data instead of setting height/width to
11632         -1. This allows us to perform operations with partially invalid
11633         buffer (using the old size for invalid lines) and thus to do
11634         incremental vaidation. Keep height/width aggregates up to date
11635         when deleting text and rebalancing the tree.
11636
11637         * gtk/gtktextbtree.[ch]: Add functions validate a line
11638         (gtk_text_btree_validate_line), and to validate up
11639         to a number of pixels (gtk_text_btree_validate).
11640
11641         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
11642         that indicates that something is changed and a revalidation
11643         pass is needed. Change ::need_repaint to ::changed, and
11644         make it take old and new yranges instead of a rectangle.
11645
11646         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
11647         the line_data_destroy() function from 
11648         gtk_text_btree_add_view() to a virtual function in 
11649         GtkTextLayout
11650
11651         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
11652         since we are handling partial repaints in a different fashion
11653         now.
11654
11655         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
11656         of the selection instead of queueing a repaint on the
11657         entire widget.
11658
11659         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
11660         get_selection_bounds() down to btree, make the function
11661         in buffer a wrapper around the btree function.
11662
11663         * gtk/gtktextlayout.[ch]: Add functions to check if the
11664         layout is valid and to recompute either a range of pixels
11665         aroudn a line or a certain total number of pixels.
11666
11667         * gtk/gtktextlayout.[ch]: Cache a single line display;
11668         now that we only redraw the needed portions, the hit rate
11669         for this cache is quite high.
11670         
11671         * gtk/gtktextview.[ch]: Keep track of the first paragraph
11672         on the screen so that when re-laying-out the buffer, we can
11673         keep the same place. This requires connecting to ::value_changed
11674         on the adjustments
11675
11676         * gtk/gtktextview.[ch]: Add idle functions to revalidate
11677         the buffer after we receive an ::invalidated signal.
11678         
11679 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
11680
11681         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
11682         to max of allocation and layout size, not just to the
11683         layout size.
11684
11685         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
11686         Invalidate window so it gets redrawn properly.
11687
11688         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
11689         to mean the entire window.
11690
11691         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
11692         into public header.
11693
11694 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
11695
11696         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
11697         to get the name of a mark.
11698
11699         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
11700         to find the paragraph from a y position.
11701
11702 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
11703
11704         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
11705         nodes have width/height >= 0, not > 0.
11706
11707 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
11708
11709         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
11710         Add a size_only flag, so when we only need the size, we don't create
11711         useless appearance attributes.
11712
11713         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
11714         duplicate setting of font description.
11715
11716         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
11717
11718 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
11719
11720         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
11721         EXTRA_DIST. It does not work well when the file that
11722         everything depends on is not in the tarball.
11723
11724 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
11725
11726         * gtk/testgtk.c: Some hacks and fixes so that it basically
11727         works when not sitting in the GTK+ build tree.
11728
11729 2000-05-03  Havoc Pennington  <hp@redhat.com>
11730
11731         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
11732         Properly determine the ordering of the tag root and the current
11733         line within the tree. Previous algorithm only worked if the tag
11734         root's immediate parent was the common root of both the current
11735         line and the tag root.
11736
11737 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
11738
11739         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
11740         alignment.
11741
11742         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
11743         the widget text directional dynamically.
11744
11745         * gtk/gtktextview.[ch]: Added functions to get and set default
11746         wrap mode.
11747
11748 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
11749
11750         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
11751         in cursor location computation.
11752
11753 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
11754
11755         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
11756         vadjusment values properly when layout gets smaller.
11757
11758         * gtk/gtktextview.c (need_repaint_handler): Areas being
11759         passed in are far completely inaccurate, and sometimes
11760         too small, so, for now, just queue a redraw on the
11761         whole visible region.
11762
11763 2000-04-25  Havoc Pennington  <hp@redhat.com>
11764
11765         * gtk/gtktextbtree.c (summary_destroy): new function to 
11766         destroy tag summary nodes
11767         (gtk_text_line_next_could_contain_tag): this function was 
11768         totally broken if the line passed in wasn't below the tag
11769         root. Fix it.
11770         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
11771         "wildcard" case, we have to do a linear scan. Blah.
11772         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
11773         we have to do the linear scan
11774         (tag_removed_cb): When a tag is removed from the tag table, 
11775         remove the GtkTextTagInfo node from the btree.
11776         (gtk_text_btree_spew): Implement the spew function, for 
11777         our debugging pleasure.
11778
11779 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
11780
11781         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
11782         a problem with referring to the wrong buffer.
11783
11784         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
11785
11786         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
11787         font description to gtk_style_new() - otherwise things
11788         don't work without a .gtkrc file.
11789
11790         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
11791         tags table if we create it ourself, too.
11792
11793         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
11794         it was conflicting with XKB modifiers.
11795
11796         * gtk/gtktextview.[ch]: Add simple support for 
11797         GtkIMContext.
11798
11799 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
11800
11801         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
11802         with deletion from last commit.
11803
11804 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
11805
11806         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
11807         in the context from the current locale.
11808         
11809         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
11810         context, not hardcoded value.
11811
11812         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
11813         not logical.
11814
11815 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
11816
11817         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
11818         attributes - that doesn't handle partial-glyph selection
11819         properly. Instead use new pango_layout_line_get_x_ranges()
11820         functionality to draw the selection.
11821
11822         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
11823         now properly handles out-of-range coordinates.
11824
11825         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
11826
11827         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
11828         public.
11829
11830         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
11831         for paragraphs opposite to the base direction of the widget.
11832
11833         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
11834
11835         * gtk/gtktextlayout.c: Don't split segments on marks, since that
11836         causes Arabic words to reshape as you cursor through.
11837
11838         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
11839         cursor position when moving vertically with the arrow keys and
11840         scrolling with page-up/page-down. (Arrow keys save only the X,
11841         scrolling saves both X and Y.)
11842
11843         This means you can line-up / line-down or page-up / page-down
11844         without losing your place, and also that moving vertically
11845         with the cursor keys keeps the same X position, not the same
11846         character count:
11847
11848         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
11849         arrow keys move by display lines, not paragraphs.
11850
11851 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
11852
11853         * gtk/gtklayout.c: Make sure that the bin window is at least
11854         as big as the allocation. (Should we also make sure that the
11855         bin window is big enough to completely cover widget->window?)
11856
11857         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
11858         function to get the onscreen rectangle.
11859
11860         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
11861         for offsets in window coordinates.
11862
11863 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
11864
11865         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
11866         confusion.
11867
11868         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
11869         from the widget direction.
11870
11871         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
11872         Add a "direction" attribute.
11873
11874         * gtk/gtktextview.c: global s/tkxt/text_view/.
11875
11876         * gtk/testtext.c: Added long block of text in Arabic, to test out
11877         the direction attributes. (Some problems with the shaping system
11878         for arabic become obvious - like the fact the cursor splits words
11879         into unjoined pieces.)
11880
11881 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
11882
11883         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
11884
11885         * gtk/gtktextlayout.c: Fix up alignment.
11886
11887         * gtk/testtext.c: Add some tests for centering, wrapping.
11888
11889 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
11890
11891         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
11892         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
11893         If we wrote GTK+-specific layout-render function this could just replace
11894         the draw_layout() operation in the vtable.
11895
11896         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
11897         pango_layout_get_cursor_pos() and use that function.
11898
11899         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
11900         is a non-static symbol.
11901
11902         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
11903         with gtk_text_btree_find_line_by_y()
11904
11905         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
11906         renderer that handles GtkTextAppearance attributes.
11907
11908         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
11909
11910           - Move the values in the style that don't affect geometry into a
11911             GtkTextAppearance structure.
11912           - Change underline to take a PangoUnderline and "font" a string
11913             representation of a font description
11914           - Add a "font_desc" attribute which takes a FontDescription structure.
11915
11916         * gtk/gtktextlayout.[ch]:
11917
11918           - Get rid of the display-line list per each line. Instead, we
11919             generate, on demand, a GtkTextLineDisplay structure which]
11920             contains a PangoLayout * and other necesary information
11921             (offsets, cursor locations) for displaying a paragraph.
11922           - Get rid of the code to wrap lines, create display chunks,
11923             etc. Instead, we just go through a paragraph and convert
11924             it into the necessary inputs to a PangoLayout.
11925           - Implement a new attribute type, GtkTextAttrAppearance. This
11926             holds a GtkTextAppearance, and is used to pass colors, 
11927             stipple, etc, through from the layout to the display without
11928             having to use lots and lots of individual attributes.
11929           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
11930             in terms of PangoLayout functions.
11931         
11932         * gtk/gtktextview.c: 
11933          
11934           - Handle passing the necessary PangoContext to the layout
11935           - Some fixups in painting to deal with the automatic backing store
11936             and offsetting of GTK+-1.4
11937           - Add a style_set handler so that the default style reacts
11938             properly to theme changes.
11939         
11940         * gtk/gtktext?*.[ch]: Random code-style fixes.
11941
11942         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
11943
11944 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
11945
11946         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
11947         in original form preparatory to Pango-ization and gdkimcontext-ization.
11948
11949 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
11950
11951         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
11952         so that we can derive from gtkimcontext in language bindings properly.
11953
11954 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
11955
11956         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
11957         Add a compose table including (almost) all the compose combinations
11958         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
11959         data in the XIM implementation.
11960
11961         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
11962         Moved functions to convert keyvalues from and to unicode here from
11963         the win32 port and made them public.
11964
11965 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
11966
11967         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
11968
11969 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
11970
11971         * gtk/gtkimcontext.[ch]: Base class for new input context system
11972
11973         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
11974         the real input context implementation to be loaded from modules
11975         and switched on the fly.
11976
11977         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
11978         context that just does direct keysymbol => unicode translation.
11979
11980         * gtk/gtkentry.[ch]: Start switching editing over to using
11981         GtkInputContext. (No handling of preedit yet.)
11982
11983 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
11984
11985         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
11986         many substitutions. (klass should not be subsituted.)
11987
11988 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
11989
11990         * configure.in: Add checks for Pango
11991
11992         * configure.in docs/Makefile.am: Add test for sgml2html
11993         and allow 'make dist' without building html, but print out
11994         warnings in that case. (For making snapshots)
11995
11996         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
11997         Add Pango libraries and C flags
11998
11999         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
12000         Add function (gdk_draw_layout) to draw a pango layout.
12001
12002         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
12003         for getting Pango contexts for GDK.
12004
12005         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
12006
12007         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
12008         editing.
12009
12010         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
12011         keysym => unicode translations. More languages can be added
12012         here, but real input-method support is needed.
12013
12014         * docs/Changes-1.4.txt: Added note about entry behavior.
12015         
12016         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
12017         to set the reading direction for a widget and the global direction.
12018         Add test which allows toggling the global direction. Two private
12019         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
12020
12021         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
12022           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
12023
12024         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
12025
12026         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
12027         underlining now handled by Pango.
12028
12029         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
12030         to RCStyle and Style. (Having both this and the old font name and GdkFont 
12031         is temporary.)
12032
12033         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
12034         convenience functions for creating contexts and layouts for widgets.
12035
12036         * gtk/testgtk.c: Enhance label tests with multilingual labels.
12037
12038 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
12039
12040         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
12041         titles to be active, even if they aren't visible.
12042         (gtk_clist_column_titles_passive):  Ditto.
12043
12044 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
12045
12046         * gtkmenu.c:
12047         * gtkmenu.h:
12048         * gtktypeutils.h: Spelling/grammar fixes in comments.
12049
12050 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
12051
12052         * gdk/nanox/*.h: add missing header files.
12053
12054 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
12055
12056         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
12057         send_event to TRUE.
12058         (gtk_drawing_area_size): queue a resize.
12059
12060 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
12061
12062         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
12063         the handlers, also invalidate them. bug nailed down by Karl Nelson
12064         <kenelson@ece.ucdavis.edu>.
12065
12066 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
12067
12068         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
12069         "(nil)" foundries, patch from Grigorios Magklis.
12070
12071         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
12072         on non-available fonts, based on a patch by Grigorios Magklis
12073         <maglis@cs.rochester.edu>.
12074
12075 2000-05-18  Elliot Lee  <sopwith@redhat.com>
12076
12077         * gdk/x11/gdkregion-generic.c: If a region does not have any
12078         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
12079         instead of GDK_OVERLAP_RECTANGLE_IN.
12080
12081 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
12082
12083         * gtk/gtklayout.c (gtk_layout_map): Remove references to
12084         OFFSCREEN, as it is no longer necessary.
12085
12086 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
12087
12088         * gtk/gtkcolorsel.c: Patch from David Santiago
12089         <mrcooger@cyberverse.com> to change things so that the 
12090         indicator of the active palette entry is done independently,
12091         not via the focus, since it should always be visible.
12092
12093 2000-05-17  Tor Lillqvist  <tml@iki.fi>
12094
12095         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
12096         refcount leaks as in the X11 backend.
12097
12098         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
12099         cosmetics.
12100
12101         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
12102         backend. Add _gdk_windowing_window_destroy().
12103
12104         * gtk/gtkcolorsel.c: Include correct backend-specific header.
12105         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
12106         either, but these probably do exist on nanox?)
12107         
12108         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
12109         which isn't necessarily defined by <math.h>.
12110
12111         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
12112         ancestry past GtkObject.
12113
12114         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
12115         from DLL on Win32.
12116
12117         * gtk/gtk.def: Update corresponding to recent changes.
12118
12119         * gtk/makefile.{cygwin,msc}: Updates.
12120
12121 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
12122
12123         * docs/Changes-1.4.txt: A bit of editing.
12124
12125         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
12126         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
12127         to clear the update area for the window, and clear it
12128         when hiding a window.
12129
12130         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
12131         if window destroyed.
12132
12133         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
12134
12135         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
12136         gdk_window_destroy() to the generic code, since there was a lot of 
12137         window-system-independent logic it in. Add a function:
12138         
12139          _gdk_window_destroy() 
12140
12141         to the internal API to destroy a window without unreferencing it.
12142         Add a function:
12143
12144          _gdk_windowing_window_destroy()
12145
12146         That does the windowing-system-dependent part of destroying 
12147         the window.
12148
12149 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
12150
12151         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
12152
12153 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
12154
12155         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
12156         Make gtk_widget_shape_combine_mask() keep a reference count on
12157         the pixmap since it keeps it around.
12158
12159 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
12160
12161         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
12162         leak.
12163
12164         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
12165         leak with event filters.
12166
12167 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
12168
12169         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
12170         signal handlers with the right data arguments. (Fixes
12171         some warnings when a widget was repeatedly set as a drag
12172         destination.)
12173
12174         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
12175         window so we can avoid avoid setting the DND properties on the
12176         toplevel window repeatedly.
12177
12178 2000-05-13  Tor Lillqvist  <tml@iki.fi>
12179
12180         * gdk/win32/gdkwin32.h: Define more message types missing from
12181         mingw headers.
12182
12183         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
12184         call gdk_window_destroy_notify(). It was never called. This
12185         probably meant that the GdkWindow was never freed. Thanks Owen for
12186         noticing (!).
12187
12188         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
12189         window as destroyed before calling DestroyWindow(). DestroyWindow()
12190         causes a call to the window procedure (gdk_WindowProc), which
12191         calls gdk_event_translate(), which calls
12192         gdk_window_destroy_notify(), which gets confused unless the window
12193         is set as destroyed.
12194
12195         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
12196         this function to indicate it's win32 only. Put inside #ifdef
12197         G_ENABLE_DEBUG.
12198
12199         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
12200         debugging function. (gdk_event_translate:) Add a default branch
12201         that uses the above function to print debug messages with all
12202         Windows messages symbolically.
12203
12204         * gdk/win32/gdkprivate-win32.h: Declare it, and
12205         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
12206
12207 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
12208
12209         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
12210         public header file.
12211
12212 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
12213
12214         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
12215
12216         * gtk/gtktext.c: made the adjustments no-construct args, simply
12217         provide default adjustments.
12218         (gtk_text_destroy): release adjustments.
12219
12220         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
12221         adjustment argument non-construct.
12222
12223         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
12224         instead of in finalize.
12225         (gtk_progress_get_text_from_value): 
12226         (gtk_progress_get_current_text): 
12227         (gtk_progress_set_value): 
12228         (gtk_progress_get_percentage_from_value): 
12229         (gtk_progress_get_current_percentage): 
12230         (gtk_progress_set_percentage): 
12231         (gtk_progress_configure): ensure an adjustment is present.
12232
12233 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
12234
12235         * gtk/gtkcolorsel.[hc]:
12236         * gtk/gtkcolorseldialog.[hc]:
12237         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
12238         their parent implementation, use bit fields for boolean values, don't
12239         create unused widgets, usage of glib types, braces go on their own
12240         lines, function argument alignment, #include directives etc. etc. etc..
12241
12242         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
12243
12244 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
12245
12246         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
12247
12248         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
12249         of NULL.
12250
12251         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
12252         to freed data.
12253         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
12254
12255         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
12256         to NULL when the toplevel is getting destroyed.
12257         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
12258         (gtk_menu_destroy): 
12259         (gtk_menu_init): store the information of whether we have to
12260         readd the initial child ref_count during destruction in a new
12261         GtkMenu field needs_destruction_ref_count.
12262
12263         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
12264         here, those reading: learn from my mistake! ;)
12265         in order for set_?adjustment to support a default adjustemnt if
12266         invoked with an adjustment pointer of NULL, the code read (pseudo):
12267         if (v->adjustment) unref (v->adjustment);
12268         if (!adjustment) adjustment = adjustment_new ();
12269         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
12270         now imagine the first unref to actually free the old adjustment and
12271         adjustment_new() creating a new adjustment from the very same memory
12272         portion. here, the latter comparision will unintendedly fail, and
12273         all hell breaks loose.
12274         (gtk_viewport_set_hadjustment):
12275         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
12276         after unreferencing it.
12277
12278         * gtk/gtkcontainer.[hc]: removed toplevel registration
12279         functions: gtk_container_register_toplevel(),
12280         gtk_container_unregister_toplevel() and
12281         gtk_container_get_toplevels() which had wrong semantics
12282         anyways: it didn't reference and copy the list.
12283
12284         * gtk/gtkwindow.c: we take over the container toplevel registration
12285         bussiness now. windows are registered across multiple destructions,
12286         untill they are finalized. the initial implicit reference count
12287         users are holding on windows is removed with the first destruction
12288         though.
12289         (gtk_window_init): ref & sink and set has_user_ref_count, got
12290         rid of gtk_container_register_toplevel() call. add window to
12291         toplevel_list.
12292         (gtk_window_destroy): unref the window if has_user_ref_count
12293         is still set, got rid of call to
12294         gtk_container_unregister_toplevel().
12295         (gtk_window_finalize): remove window from toplevel list.
12296         (gtk_window_list_toplevels): new function to return a newly
12297         created list with referenced toplevels.
12298         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
12299
12300         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
12301         adjustment a non-construct arg.
12302         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
12303         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
12304         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
12305
12306         * gtk/gtkrange.c: added some realized checks.
12307         (gtk_range_destroy): get rid of the h/v adjustments in the
12308         destroy handler instead of finalize. remove timer.
12309         (gtk_range_get_adjustment): demand create adjustment.
12310
12311         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
12312         we simply create them on demand now and get rid of them in
12313         the destroy handler.
12314         (gtk_viewport_destroy): get rid of the h/v adjustments in the
12315         destroy handler instead of finalize.
12316         (gtk_viewport_get_hadjustment): 
12317         (gtk_viewport_get_vadjustment): 
12318         (gtk_viewport_size_allocate): demand create h/v adjustment
12319         if required.
12320
12321         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
12322         gtk_widget_real_destroy () functionality.
12323         (gtk_widget_real_destroy): reinitialize with a new style, instead
12324         of setting widget->style to NULL.
12325
12326 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
12327
12328         * gtk/gtkcalendar.c:
12329         * gtk/gtkbutton.c: ported _get_type() implementation over to
12330         GType, either to preserve memchunks allocation facilities,
12331         or because Gtk+ 1.0 GtkTypeInfo was still being used.
12332
12333         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
12334         over. prepare for ::destroy to be emitted multiple times.
12335         removed reference tracer magic. chain into GObjectClass.shutdown()
12336         to emit ::destroy signal.
12337
12338         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
12339         fundamental.
12340
12341         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
12342         cludge.
12343
12344         * gtk/gtksocket.c:
12345         * gtk/gtkplug.c:
12346         * gtk/gtklayout.c:
12347         * gtk/gtklabel.c:
12348         * gtk/gtkargcollector.c:
12349         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
12350         not being a fundamental anymore, and to work with the new
12351         type system (nuked fundamental type varargs clutter).
12352
12353         * gtk/*.c: install finalize handlers in the GObjectClass
12354         part of the class structure.
12355         changed direct GTK_OBJECT()->klass accesses to
12356         GTK_*_GET_CLASS().
12357         changed direct object_class->type accesses to GTK_CLASS_TYPE().
12358
12359         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
12360         GType. made most of the GTK_*() type macros and Gtk* typedefs
12361         simple wrappers around macros and types provided by GType.
12362         most notably, a significant portion of the old API vanished:
12363         GTK_TYPE_MAKE(),
12364         GTK_TYPE_SEQNO(),
12365         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
12366         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
12367         GTK_TYPE_ARGS,
12368         GTK_TYPE_CALLBACK,
12369         GTK_TYPE_C_CALLBACK,
12370         GTK_TYPE_FOREIGN,
12371         GtkTypeQuery,
12372         gtk_type_query(),
12373         gtk_type_set_varargs_type(),
12374         gtk_type_get_varargs_type(),
12375         gtk_type_check_object_cast(),
12376         gtk_type_check_class_cast(),
12377         gtk_type_describe_tree(),
12378         gtk_type_describe_heritage(),
12379         gtk_type_free(),
12380         gtk_type_children_types(),
12381         gtk_type_set_chunk_alloc(),
12382         gtk_type_register_enum(),
12383         gtk_type_register_flags(),
12384         gtk_type_parent_class().
12385         replacements, where available are described in ../docs/Changes-1.4.txt.
12386         implemented compatibility functions for the remaining API.
12387
12388         * configure.in: depend on glib 1.3.1, use gobject module.
12389
12390 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
12391
12392         * TODO.xml: Various updates to current status.
12393
12394 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
12395
12396         * gtk.m4: Print out version when test succeeds.
12397
12398 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
12399
12400         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
12401         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
12402         
12403         (Original triangle color selector from Simon Budig
12404         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
12405         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
12406         Santiago <mrcooger@cyberverse.com>)
12407
12408         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
12409         out into a separate widget.
12410
12411         * gtk/testgtk.c: Add some checkbuttons for toggling palette
12412         and opacity controls.
12413
12414 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
12415
12416         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
12417         snuck in prematurely.
12418
12419 2000-05-07  Tor Lillqvist  <tml@iki.fi>
12420
12421         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
12422         had deleted a ! operator by mistake, which caused
12423         GDK_SELECTION_CLEAR events never to be generated, which caused
12424         only the first copy to the clipboard from an gtkeditable to
12425         actually cause a copy to the Windows clipboard.
12426
12427 2000-05-06  Tor Lillqvist  <tml@iki.fi>
12428
12429         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
12430         compilation, too. Current mingw gcc distributions include the
12431         necessary headers. Also the necessary IIDs are now in mingw
12432         headers/libraries, and own definitions unnecessary.
12433
12434         More hacking on OLE2 DND, still doesn't work though, and thus
12435         ifdeffed out.
12436
12437         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
12438         here, too.
12439
12440 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
12441
12442         * gdk/nanox/*: nano-X port work in progress.
12443         * gdk/simple.c: simple test for Gdk.
12444         * README.nanox: notes about the port: read this first!
12445         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
12446         with nano-X.
12447
12448 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
12449
12450         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
12451         gdk_window_clear() into common code, implement in terms of
12452         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
12453         not redirected to the backing rectangle.
12454
12455 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
12456
12457         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
12458         EXTRA_DIST. It does not work well when the file that
12459         everything depends on is not in the tarball.
12460
12461 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
12462
12463         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
12464         with recursion where process_updates() is called from
12465         an expose handler. (GtkTextView is highly broken in
12466         doing this, but it should work, so it is a nice test
12467         case.)
12468
12469 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
12470
12471         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
12472         handle the case where updates are queued during processing of
12473         updates.
12474
12475 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
12476
12477         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
12478         window is on gdk_display - use that instead of segfaulting.
12479
12480 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
12481
12482         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
12483         broken and require an empty arg, give it to them.
12484
12485 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
12486
12487         * gtk/gtklabel.h: indentation fixes.
12488
12489 2000-05-02  Tor Lillqvist  <tml@iki.fi>
12490
12491         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
12492         draw too narrow or too low arcs, they seem to fail, at least with
12493         some display drivers.
12494
12495         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
12496
12497         Large changes to the Win32 backend, partially made necessary by
12498         the changes to the backend-independent internal
12499         structures. Attempts to implement similar backing store stuff as
12500         on X11. The current (CVS) version of the Win32 backend is *not* as
12501         stable as it was before the no-flicker branch was merged. A
12502         zipfile with that version is available from
12503         http://www.gimp.org/win32/. That should be use by "production"
12504         code until this CVS version is usable. (But note, the Win32
12505         backend has never been claimed to be "production quality".)
12506
12507         * README.win32: Add the above comment about versions.
12508
12509         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
12510
12511         * gdk/gdk.def: Update.
12512
12513         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
12514         presumably be replaced by some more better mechanism as 1.4 gets
12515         closer to release shape.
12516
12517         * gdk/makefile.{cygwin,msc}: Update.
12518
12519         * gdk/win32/*.c: Correct inclusions of the backend-specific and
12520         internal headers. Change code according to changes in these. Use
12521         gdk_drawable_*, not gdk_window_* where necessary.
12522
12523         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
12524         our old DND.
12525
12526         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
12527         to interpret single characters as UTF-8. Thanks to Hans Breuer.
12528         Use correct function name in warning messages.
12529
12530         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
12531         GSourceFuncs gdk_event_prepare and gdk_event_check.
12532         (gdk_event_get_graphics_expose): Do implement, use
12533         PeekMessage. Thanks to Hans Breuer.
12534         (event_mask_string): Debugging function to print an GdkEventMask.
12535         (gdk_pointer_grab): Use it.
12536
12537         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
12538         (old) book I used claimed was Hangul actually is CJK Unified
12539         Ideographs Extension A. Also, Hangul Syllables were missing.
12540         Improve logging.
12541
12542         * gdk/win32/gdkgc-win32.c: Largish changes.
12543
12544         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
12545         g_win32_getlocale() from GLib, and not setlocale() to get current
12546         locale name.
12547
12548         * gdk/win32/gdkprivate-win32.h
12549         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
12550         gdkwin32.h, similarily as in the X11 backend.
12551
12552         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
12553         assignment was used instead of equals in if test. Thanks to Hans
12554         Breuer.
12555
12556         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
12557         the X11 version.
12558
12559         * gdk/win32/makefile.{cygwin,msc}
12560         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
12561         path to the Win32 headers that works also with the mingw compiler.
12562
12563         * gtk/gtkstyle.c: Include <string.h>.
12564
12565 2000-04-26  Havoc Pennington  <hp@redhat.com>
12566
12567         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
12568         replacing the broken gtk_label_get ()
12569
12570 2000-04-15  Havoc Pennington  <hp@pobox.com>
12571
12572         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
12573         this keeps scanner scripts from getting confused.
12574
12575         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
12576         data, rather than void
12577
12578 2000-04-15  Tor Lillqvist  <tml@iki.fi>
12579
12580         * gtk/gtkclist.c (gtk_clist_motion)
12581         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
12582         with is_hint FALSE, get x and y from the event. They used to be
12583         used uninitialised. The Win32 backend never sends motion events
12584         marked as hints. This for instance fixes the annoying file and
12585         font selector behaviour in the Win32 version.
12586
12587 2000-04-14  Tor Lillqvist  <tml@iki.fi>
12588
12589         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
12590         gtk_private_n_signals variables, they are used by some software,
12591         sigh.
12592
12593         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
12594         installation directory from the Registry, where the installer
12595         should have put it.
12596
12597 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
12598
12599         * gdk/x11/Makefile.am: Fix problem with installation directory for
12600         gdkx.h
12601
12602         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
12603         <mrcooger@cyberverse.com> so that when selecting menus with the
12604         mouse, the first item will not be selected, but when selecting
12605         with an accelerator, or navigating left-right on a menubar with
12606         the menus popped up, the first item will be selected.
12607
12608 2000-04-05  Dan Damian  <dand@dnttm.ro>
12609
12610         * configure.in: Added "ro" to ALL_LINGUAS.
12611
12612 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
12613
12614         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
12615         indentation.
12616
12617         * Makefile.am (EXTRA_DIST): Fix typo.
12618
12619         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
12620         to catch gdkconfig.h
12621
12622         * gtk/gtkitemfactory.c: Added FIXME.
12623
12624 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
12625
12626         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
12627         s/return_if_fail/return_val_if_fail/g and add a return value.
12628
12629 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
12630
12631         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
12632         merge slipup.
12633
12634         * gdk/gdkinput.h: Fix missing line from merge.
12635
12636 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
12637
12638         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
12639         instead of gdkprivate.h.
12640
12641 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
12642
12643         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
12644         parent class to correctly be GtkDialogClass.
12645
12646 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
12647
12648         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
12649         toplevel windows and their immediate children by their parents,
12650         since the size of toplevel windows is out of our immediate
12651         control and we don't get any real benefit from trying to track
12652         this size for clipping.
12653
12654         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
12655         for input_only windows.
12656
12657         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
12658         to fix some hacks and make sure that we don't try to set the
12659         background of input only windows.
12660
12661 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
12662
12663         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
12664         the _really_ internal stuff, and leave gdkprivate.h for the fake private
12665         stuff that we've traditionally exposed.
12666
12667         * gdk/**.c: Use gdkinternals.h where appropriate.
12668
12669         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
12670         not include gdkprivate-x11.h, move all stuff of conceivable public
12671         interest into gdkx.h; keep all really private stuff in
12672         uninstalled header gdkprivate-x11.h.
12673
12674         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
12675         image->image_put on windows through a new function _gdk_window_draw_image()
12676         to allow us to do backing store for images. (Sort of ugly)
12677
12678         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
12679         contexts locally so that we can offset them properly when drawing 
12680         onto backing pixmaps.
12681
12682         * gdk/gdkinput.h: Reindented
12683
12684         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
12685         pixmap or color for the window, so we can properly initialize
12686         our double-buffer pixmaps, and also so that we temporarily set
12687         a background of None while scrolling.
12688
12689         * gdk/gdkregion.h: Revise region boolean operators to have an
12690         interface that is actually convenient - switch from creating new
12691         regions on every op, to "methods" that modify existing regions
12692         (A = A OP B). 3 argument forms which allow dest == src, would also
12693         be possible, but the current interfaces seem to map nicely
12694         onto what needs to be done. (There is quite a lot of region
12695         code in GDK now.)
12696
12697         * gdk/gdkregion.h: Add constructor from rectangle and a copy
12698         operator.
12699
12700         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
12701         gdkpoly-generic.h: Copy region code from Xlib, switch it over
12702         to 32 bit coordinates, modify it to be mostly GTK+ style
12703         and to have interfaces that match gdkregion.h.
12704
12705         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
12706         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
12707         create a backing pixmap and redirect all drawing to
12708         that backing pixmap until a matching gdk_window_end_paint().
12709
12710         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
12711         Create a special drawable class for GtkWindow's that 
12712         redirects the drawing to the backing pixmap as necessary
12713         and then calls the real operations in _gdk_windowing_window_class.
12714
12715         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
12716         Store invalid region for each window. Generate expose events for invalid
12717         region in an idle. This replaces both the expose compression
12718         and the redrawing queuing in GTK+. It is both more efficient and
12719         simpler than either one individually and far more so then the
12720         combination.
12721
12722         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
12723         Emulate 32 bit coordinates for windows with 16 bit coordinates
12724         by offsetting drawing, guffaw scrolling techniques and
12725         mapping/unmapping child windows as necessary.
12726
12727         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
12728         where, when invalid regions are processed, the region is stored,
12729         and if expose events come in that are detectably duplicate
12730         the processed exposes (by comparison of event serial numbers),
12731         the stored region is subtracted out of those exposes.
12732
12733         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
12734         regions newly exposed when scrolling or resizing windows.
12735         This, combined with forcing processesing of queued invalidated
12736         regions, gives nice flicker-free scrolling.
12737
12738         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
12739         invalidated regions after every scroll.
12740
12741         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
12742         emulation in GDK. Its, for all practical purposes just a
12743         GtkViewport/GtkFixed hybrid now.
12744
12745         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
12746         (16-bit) structures as necessary instead of just casting.
12747
12748         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
12749         in terms of the structures from gdkregion-generic.c, using appropriate
12750         offsets from GDK to X11 coordinates. Cache clip mask and
12751         origin and ts origin locally and only flush to the server
12752         when drawing, to avoid constantly setting and resetting these
12753         values when offsetting GC's for scrolling and backing pixmaps.
12754
12755         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
12756
12757         * gtk/gtkcontainer.c: Call process_all_updates at end
12758         of resizing to reduce flicker. (Avoids having redraw
12759         lag arbitrarily behind resize under some circumstances)
12760
12761         * gtk/gtkentry.c: Remove old backing store code, and simply take
12762         advantage of the new backing store capabilities of GDK.
12763
12764         * gtk/gtkmain.c: Simple implementation of widget backing
12765         store - simply push a paint while handling each expose.
12766         (Should really be configurable widget for widget.)
12767         
12768         * gtk/gtkwidget.c: Remove all the old complicated redraw
12769         code, and simply invalidate the GDK windows from
12770         gdk_window_queue_clear(), etc. (Sigh, so much carefully
12771         debugged complexity ... gone to the winds.)
12772
12773         Remove all the code for suppressing expose events while
12774         resizes are pending; this isn't needed since the invalid
12775         areas won't be processed until after the resizes are
12776         processed, since they are in a lower priority idle.
12777
12778 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
12779
12780         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
12781         and height of dest rectangle for non-intersecting rectangles.
12782
12783 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
12784
12785         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
12786         for GdkRectangle.
12787
12788 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
12789
12790         * gdk/gdk{events,image,private,types,window}.h
12791          gdk/x11/gdkinputprivate.h: Change all coordinates
12792          from int16 to int. Also, Change width and height from
12793          unsigned to signed to avoid all the stupid C 
12794          signedness bugs.
12795
12796 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
12797
12798         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
12799         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
12800         Add some more detailed checking.
12801
12802         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
12803         New function to retrieve the depth of a drawable.
12804
12805         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
12806         field, reorder fields to save memory. 
12807
12808 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
12809
12810         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
12811         of the background image instead of scaling the background down to
12812         a line.
12813
12814         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
12815         which temporarily set slider to wrong size.
12816
12817         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
12818         queue_clear().
12819
12820 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
12821
12822 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
12823
12824         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
12825
12826 2000-03-17  Tor Lillqvist  <tml@iki.fi>
12827
12828         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
12829         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
12830
12831         * gdk/win32/gdkfont-win32.c
12832         * gdk/win32/gdkproperty-win32.c
12833         * gdk/win32/gdkselection-win32.c
12834         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
12835         now declared such.
12836
12837 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
12838
12839         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
12840
12841 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
12842
12843         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
12844         is called without trapping X errors.
12845
12846 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
12847
12848         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
12849         way into the fontset lists.
12850
12851 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
12852
12853         * gtk/gtkthemes.h: add extern "C" scope.
12854
12855 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
12856
12857         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
12858         to make appends to the list constant. (gtk-guy-990901-0.patch)
12859
12860 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
12861
12862         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
12863         for the typename hash table.
12864
12865 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
12866
12867         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
12868         to make sure we never divide by zero. 
12869         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
12870
12871 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
12872
12873         * gtk/gtkfontsel.c: Apply patch from
12874         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
12875         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
12876
12877         Also, some cleanups in atom handling.
12878
12879 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
12880
12881         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
12882         not GtkWidget.
12883
12884 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
12885
12886         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
12887         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
12888         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
12889         more guint wrap-around bugs before going to bed.
12890
12891 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
12892
12893         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
12894         guint wrap arounds in allocation.width.
12895
12896         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
12897         process untill we fit the allocation given.
12898
12899 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
12900
12901         * gtk/gtkwidget.c:
12902         (gtk_widget_unrealize): guard widget access with ref/unref
12903         around signal emission.
12904         (gtk_widget_hide): same here, but also check its destroyed
12905         state before queueing a resize.
12906
12907 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
12908
12909         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
12910         of gtk_default_insensitive_bg as insensitive base color.
12911
12912         * gtk/gtktext.c (gtk_text_style_set): set the background color according
12913         to the widget's state.
12914         (gtk_text_realize): same here.
12915         (gtk_text_state_changed): same here.
12916         (draw_bg_rect): compare background color against base[] from
12917         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
12918
12919 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
12920
12921         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
12922         grabs are active, unless a delete event is send to the toplevel
12923         of the currently grab holding widget.
12924
12925 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
12926
12927         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
12928         debugging g_print's.
12929
12930 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
12931
12932         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
12933         ever make the scrolled-window requisition ever depend on the 
12934         visibility state of the scrollbars for the AUTOMATIC policy. 
12935         This breaks the GTK+ requisition model, and causes loops.
12936
12937 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
12938
12939         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
12940         the default font to avoid problems with XFree86-4.0 where the
12941         default charset is iso10646-1, not iso8859-1.
12942
12943 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
12944
12945         * acinclude.m4
12946         * config.guess
12947         * config.sub
12948         * ltconfig
12949         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
12950
12951         * gtk/Makefile.am: minor cosmetic consistency tweak
12952
12953 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
12954
12955         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
12956         the activate_time to 0, so that we handle a quick
12957         press/release press/release properly and don't suppress
12958         the second release. (Red Hat bug #7545)
12959
12960 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
12961
12962         * gtk/gtkctree.c (row_delete):
12963         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
12964         bugs with destruction notifier, *always* update internal
12965         structures *before* calling user code.
12966
12967 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
12968
12969         A few more fixes for bug #5487, #2051, #2677.
12970         * gtk/gtkclist.c : 
12971         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
12972         not GDK_BUTTON_PRESS.
12973         (resync_selection): resync only if selection_mode is
12974         GTK_SELECTION_EXTENDED
12975         * gtk/gtkctree.c (resync_selection): same here
12976
12977 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
12978
12979         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
12980         gdk_drag_get_selection() and gtk_menu_detach().
12981
12982         [ From Jeroen Ruigrok/Asmodai ]
12983
12984 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
12985
12986         * gtk/gtknotebook.c (gtk_notebook_size_request): 
12987         page->tab_label can be NULL.
12988
12989 2000-01-25  Havoc Pennington  <hp@pobox.com>
12990         
12991         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
12992         arg is boolean
12993
12994         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
12995
12996         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
12997
12998         * gdk/gdkproperty.c (gdk_property_get): return boolean
12999
13000         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
13001
13002         * gdk/gdkim.c (gdk_im_ready): return boolean
13003
13004         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
13005
13006         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
13007         glib clash, should fix glib)
13008
13009         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
13010         (gdk_get_show_events): return gboolean, and canonicalize 
13011         to TRUE/FALSE
13012
13013         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
13014         colormap is private
13015         (gdk_colors_alloc): gboolean whether to be contiguous
13016         (gdk_color_equal): return gboolean since we are a predicate
13017         and not a qsort() (this looks semi-wrong due to glib breakage,
13018         IMO glib should be fixed)
13019         
13020         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
13021         (gdk_get_use_xshm): return gboolean
13022         (gdk_pointer_is_grabbed): return gboolean
13023
13024         * gdk/gdk.h: Change prototypes to match all the above changes,
13025         and re-run egtk-format-protos as required.
13026
13027 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
13028
13029         * gtk/gtkctree.c (resync_selection): 
13030         * gtk/gtkclist.c (resync_selection):
13031
13032         Return immediately if clist->drag_pos < 0. This is a workaround
13033         for the corrupt state that the clist gets into when a
13034         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
13035
13036         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
13037         
13038         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
13039         variable from recent commit.
13040
13041 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
13042
13043         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
13044
13045 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
13046
13047         * gtk/Makefile.am: prefix all autogenerated source that get build in
13048         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
13049         in builddir. since we subsequently cd into srcdir for autogeneration,
13050         the paths have to be stripped from the target file names, thusly we
13051         use $(@F) as target names now.
13052         put a comment about configure.in's --disable-rebuilds option,
13053         which can be used for non-writable source directories, for development
13054         setups though, srcdir has to be *writable*.
13055
13056 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
13057
13058         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
13059           Finish the job of allowing event to be NULL.
13060           (Fixes bug #4283, reported by Chris Blizzard)
13061
13062         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
13063           things so that the cursor appears on screen, properly
13064           take into account INNER_BORDER.
13065           (Fixes bug #4754, reported by Antonio Campos)
13066
13067 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
13068
13069         * gtk/gtknotebook.c (gtk_notebook_map): Don't
13070           show the tab_label unless it itself is visible.
13071
13072           gtk/gtknotebook.c (gtk_notebook_size_request):
13073           Do a better job of making sure that the visibility
13074           of the tab label corresponds to whether it should
13075           be mapped or not.
13076
13077 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
13078
13079         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
13080           Use the requisition, not the allocation, since the
13081           allocation has not necessarily been computed yet.
13082           (Pointed out by Eugene Osintsev)
13083
13084 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
13085
13086         * gtk/gtkstyle.c (gtk_style_new): Dont' set
13087           style/base[GTK_STATE_INSENSITIVE] both to
13088           gtk_default_insensitive_bg!
13089           (Bug #2187, reported by Jonathan Blandford)
13090
13091         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
13092           Add Alt_L, Alt_R to list of invalid accelerators.
13093           (Bug #3736, reported by Vlad Harchev)
13094
13095 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
13096
13097         * gtk/gtkfilesel.c (open_ref_dir): Fix several
13098         bugs which occured after an attempt to open 
13099         invalid home directory left cmpl_state->reference_dir == NULL.
13100
13101          - completion on files in home directory didn't work
13102          - completion on an empty string caused  segfault
13103
13104          (Bug #3678, reported by Steve Ratcliffe)
13105
13106         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
13107         cut and paste error that was causing scales to
13108         be incorrectly positioned.
13109         (Bug #2956,
13110          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
13111
13112 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
13113
13114         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
13115         when checking for dcgettext, if we've found we needed
13116         it for dgettext.
13117 +
13118 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
13119
13120         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
13121         queue_clear on NO_WINDOW widgets during a reparent,
13122         since at that point the window and widget heirarchies
13123         are out of sync. This stops crashing in some cases
13124         (the scrolled window reparent test, for instance), and
13125         _probably_ won't cause drawing errors.
13126
13127         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
13128         test do what it was supposed to do and be robust against
13129         window closings, etc. (Bug #2443)
13130
13131 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
13132
13133         * gtk/gtkentry.c: Fix return values on mouse events.
13134         (Bug #2686, Sky <seb_sky@yahoo.com>)
13135
13136         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
13137         (pointed out by George Lebl)
13138
13139         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
13140         (From Ettore Perazzoli  <ettore@helixcode.com>)
13141  
13142 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
13143
13144         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
13145         clicks between rows or outside calender area correctly.
13146         (Patch from Damon Chaplin)
13147
13148         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
13149         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
13150           Call destroy function when overwriting existing data. 
13151           (Pointed out by Damon Chaplin)
13152
13153 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
13154
13155         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
13156           which was causing problems on various systems with Xmu.
13157           This hasn't been needed for a very long time.
13158           (Fixes #1185 3167)
13159
13160 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
13161
13162         * gdk/gdki18n.h: Include <ctype.h> when defining
13163           gdk_isw* in terms of is* as a fallback.
13164           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
13165
13166 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
13167
13168         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
13169           realize the widget when it is size allocated!
13170           (old, old bug)
13171
13172         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
13173           Removed unused call to gdk_window_get_size() that
13174           showed up when the above was fixed.
13175
13176 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
13177
13178         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
13179           fix up widget->window when the widget is a
13180           NO_WINDOW container widget.
13181
13182 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
13183
13184         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
13185           to account for the fact that feof() does _not_ 
13186           return TRUE on errors, and thus avoid infinite loops
13187           when trying to use gdk_pixmap_create_from_xpm()
13188           on unreadable values.
13189
13190 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
13191
13192         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
13193
13194 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
13195
13196         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
13197           gdk_gc_set_dashes to take gint8 instead of gchar to
13198           make it clearer that it is _not_ a NULL terminated string.
13199
13200         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
13201           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
13202           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
13203           arguments.
13204
13205 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
13206
13207         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
13208         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
13209         background size relative to our allocation, guard against small
13210         allocations, we may have not yet been size allocated.
13211
13212 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
13213
13214         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
13215         not just version == 3. We implement all 3 + most of 4 - 
13216         (we don't support matching text/plain;charset=iso-8859-1
13217         to a dest that expects text/plain). We'll still advertise
13218         3 to be safe, but any client implementing version >= 3
13219         must interoperate with 3.
13220         
13221 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
13222
13223         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
13224         background and gc members, add a warning in gtk_tooltips_set_color()
13225         indicating that this function is deprecated.
13226
13227 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
13228
13229         * docs/gtkfaq.sgml: FAQ Update:
13230           - Minor cleanups (Emmanuel, me)
13231           - New questions:
13232                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
13233                 How can I retrieve the text from a GtkMenuItem? (timj)
13234                 How do I validate/limit/filter the input to a GtkEntry? (me)
13235                 Memory does not seem to be released when I free the list
13236                         nodes I've allocated (timj)
13237
13238 2000-03-07  Tor Lillqvist  <tml@iki.fi>
13239
13240         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
13241         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
13242         for which it is no use to call GetLastError onWin9x.
13243         (gdk_other_api_failed) New function, for general error
13244         reporting without calling GetLastError.
13245         (gdk_win32_api_failed) OTOH, this function always calls
13246         GetLastError. (gdk_win32_last_error_string) Remove this function,
13247         GLib has the equivalent now.
13248
13249         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
13250         call them with function name, file name and line number in the
13251         arguments.
13252
13253         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
13254         functions.
13255         
13256         * gtk/gtk.def: Add some missing entry points.
13257
13258         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
13259         gtk_paned_set_gutter_size, which don't exist any longer, as void.
13260         
13261         Fixes by Hans Breuer:
13262
13263         * gdk/makefile.msc: Update for debugging.
13264
13265         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
13266         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
13267         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
13268         in the dash_list.
13269
13270         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
13271         the x11 backend.
13272
13273         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
13274
13275         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
13276
13277 2000-03-04  Tor Lillqvist  <tml@iki.fi>
13278
13279         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
13280         just pixel value of background colour.
13281
13282         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
13283         containing code snippet previously duplicated in a couple of
13284         places.
13285         
13286         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
13287         gdk_colormap_color.
13288
13289         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
13290         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
13291         events for autorepeated Shift, Control and Alt keys. Use
13292         gdk_colormap_color.
13293
13294         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
13295         pointer is inside the window the cursor of which we are setting,
13296         call SetCursor immediately.
13297
13298         * gdk/win32/makefile.cygwin
13299         * gtk/makefile.cygwin: If we don't have the build number stamp
13300         file, use zero.
13301
13302         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
13303         gtk_paned_set_gutter_size as empty.
13304
13305         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
13306         
13307 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
13308
13309         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
13310           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
13311           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
13312           docs/gtk_tut.sgml docs/gtk.texi TODO:
13313
13314           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
13315
13316 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
13317
13318         * gtk/gtkcalendar.c: Implement num_marked_dates,
13319           and don't emit mutiple day_selected signals on
13320           month_prev.
13321
13322 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
13323
13324         * docs/make-todo (lineno): let title and logo be configurable so
13325         that GNOME can use this script too.
13326
13327         * TODO.xml: added logourl and a title
13328
13329 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
13330
13331         * TODO.xml: Added some UI items, and an explanatory
13332         comment at the top of the file.
13333
13334 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
13335
13336         * TODO.xml: some updates, added abunch of new entries.
13337         a note for those fiddeling with this file, when done
13338         with it, invoke:
13339         $ ./docs/make-todo TODO.xml >/dev/null
13340         and correct output errors before comitting changes.
13341
13342 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
13343
13344         * TODO.xml: Added XML-structured TODO file.
13345         * docs/make-todo: python script to turn TODO.xml into
13346           pretty XML output. 
13347
13348 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
13349
13350         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
13351         the function to let it draw the seven dots, instead of the old,
13352         much maligned, method.
13353         (draw_dot): New function to draw a dot.
13354
13355         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
13356         to draw the handle inside the border width as opposed to outside.
13357         Use paint function instead of gdk_draw_point.
13358
13359         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
13360         to draw the handle inside the border width as opposed to outside.
13361         Use paint function instead of gdk_draw_point.
13362
13363         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
13364         Change indenting to be more GTK like.
13365
13366 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
13367
13368         * docs/gtk_tut.sgml: New section on GtkCalendar
13369         * examples/calendar: Update example code
13370
13371 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
13372
13373         * docs/gtkfaq.sgml: FAQ Update
13374
13375 2000-02-19  Anders Carlsson  <andersca@gnu.org>
13376
13377         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
13378         to prevent the scroll event to be propagated upwards.
13379
13380 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
13381
13382         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
13383         OwnerGrabButtonMask from button entries for
13384         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
13385
13386         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
13387         to the event mask (which will result in button/press release
13388         being added to the event mask on Unix) so scrolling works
13389         for layouts in scroll windows.
13390
13391         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
13392
13393         Patch from Anders Carlsson  <andersca@gnu.org> to add
13394         a scroll event.
13395
13396         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
13397         scrolling to the "Test Scrolling" part of testgtk.
13398  
13399         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
13400  
13401         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
13402         it against GDK_SCROLL.
13403  
13404         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
13405         way of mouse wheel scrolling.
13406  
13407         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
13408  
13409         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
13410  
13411         * gtk/gtkmain.c: Removed previous mouse wheel hack.
13412  
13413         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
13414         gdk_event_mask_table.
13415  
13416         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
13417         GdkEventScroll handler.
13418  
13419         * gdk/gdkevents.h: Added GdkEventScroll structure.
13420  
13421 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
13422
13423         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
13424         and Anders Carlsson to change the Paned widgets so that they
13425         can be dragged from anywhere along the length. Also change
13426         the way that this is drawn to make this apparent.
13427
13428         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
13429         from George Lebl to check that option_menu->menu is present
13430         before getting history.
13431
13432 2000-02-14  Tor Lillqvist  <tml@iki.fi>
13433
13434         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
13435         before the assertion for non-NULL segment list.
13436
13437         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
13438         Seems that pattern brushes *must* be 8x8 pixels! At least on my
13439         machine, but it might be display driver dependent. Sigh, so make
13440         sure the stipple is that size. Does Windows suck or what?
13441
13442         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
13443         places.
13444
13445 2000-02-13  Havoc Pennington  <hp@pobox.com>
13446
13447         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
13448         refcount to 1
13449         (gdk_cursor_new): init refcount to 1
13450
13451         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
13452
13453 2000-02-13  Tor Lillqvist  <tml@iki.fi>
13454
13455         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
13456         so that we don't have to do unnecessary settings to the HDC.
13457
13458         * gdk/win32/gdkdrawable-win32.c
13459         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
13460         gdk_gc_predraw.
13461
13462         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
13463         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
13464         GDI paths, call WidenPath to get the outline of the stroken path,
13465         and then fill the outline (with the brush that was built from the
13466         stipple).
13467
13468         * gdk/win32/gdkgc-win32.c: Factor out common code from
13469         _gdk_win32_gc_new and gdk_win32_gc_set_values into
13470         gdk_win32_gc_values_to_win32values. Use correct colour for
13471         SetBkColor() (Until now the code actually used a random colour in
13472         the call to SetBkColor()... but that didn't show up as not many
13473         GDI APIs use the background colour. Pattern (opaque stippled)
13474         brushes do.)
13475
13476         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
13477         gdk_win32_api_failed): New functions for error logging.
13478
13479         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
13480         WIN32_API_FAILED to call them, passing function or file name and
13481         line number.
13482
13483         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
13484
13485         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
13486         GdkColor for foreground and background in GdkGCWin32Data.
13487
13488         * gdk/makefile.cygwin: Link in the resource object separately.
13489
13490         * gdk/win32/rc/gdk.rc
13491         * gtk/gtk.rc (New file)
13492         * gdk/win32/makefile.cygwin
13493         * gtk/makefile.cygwin: Update build number in DLLs automatically,
13494         as in GLib.
13495
13496 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
13497
13498         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
13499         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
13500         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
13501         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
13502         parameters given and cursor->ref_count. coding style fixups.
13503
13504         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
13505         not GtkWidget.
13506         
13507         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
13508         fix up widget macros and add _GET_CLASS() variant.
13509         
13510         * gtk/*.c: some GtkType fixups.
13511
13512 2000-02-09  Tor Lillqvist  <tml@iki.fi>
13513
13514         * gdk/win32/gdkproperty-win32.c
13515         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
13516         were reversed.
13517
13518 2000-02-04  Tor Lillqvist  <tml@iki.fi>
13519
13520         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
13521         g_filename_to_utf8 to convert the font names Windows gives us from
13522         whatever is the default codepage to UTF-8.
13523         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
13524         in the other direction.
13525
13526         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
13527         error in debugging output.
13528
13529 2000-02-02  Tor Lillqvist  <tml@iki.fi>
13530
13531         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
13532         and height parameters to gdk_window_clear_area(). Not minus one.
13533
13534 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
13535
13536         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
13537         checks if the widget passed to gtk_drag_get_data() was not the
13538         dest widget.
13539
13540 2000-02-01  Tor Lillqvist  <tml@iki.fi>
13541
13542         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
13543         g_filename_from_utf8 functions (which were added a moment ago to
13544         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
13545         size buffers.
13546
13547         gtk_file_selection_get_filename returns the filename in the C
13548         runtime encoding. It calls g_filename_from_utf8, but copies the
13549         returned string to a static buffer, which is returned. I think
13550         this is better than returning the result from g_filename_from_utf8
13551         directly, which would mean all apps that use it would have to free
13552         the return value. Or should this function care about this issue at
13553         all? Maybe a new function with clearly defined semantics.
13554
13555         * gtk/gtkfilesel.h: Add comment about
13556         gtk_file_selection_get_filename returning the filename in the C
13557         runtime's encoding.
13558
13559         * README.win32
13560         * gdk/gdk.def
13561         * gdk/makefile.{cygwin,msc}
13562         * gtk/gtk.def: Updates.
13563
13564         * gdk/gdkcursor-win32.c: Initialise refcount.
13565
13566 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
13567
13568         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
13569
13570 2000-01-30  Havoc Pennington  <hp@pobox.com>
13571
13572         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
13573         destroy
13574
13575         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
13576
13577         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
13578         implemented in platform-specific code
13579
13580         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
13581
13582         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
13583         underscore in front
13584
13585         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
13586         put an underscore in front
13587
13588         * gdk/gdkcursor.c: new file, implements
13589         gdk_cursor_ref/gdk_cursor_unref
13590
13591         * gdk/gdkcursor.h: Refcount GdkCursor
13592
13593         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
13594
13595 2000-01-29  Tor Lillqvist  <tml@iki.fi>
13596
13597         * gdk/gdkwindow.h
13598         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
13599
13600 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
13601
13602         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
13603         structures to properly inherit from GtkWidget not GtkBin.
13604
13605 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
13606
13607         * gtk+.spec.in: Added lib/gtk+/include/* to %files
13608         (bug #5178 - Peter Wainright)
13609         
13610         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
13611         so that it will be installed.
13612         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
13613
13614 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
13615
13616         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
13617         for the GtkStyleClass vtable const.
13618
13619         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
13620         take a const string argument like GtkTranslateFunc. This will
13621         require changes in use code.
13622
13623 2000-01-19  Tor Lillqvist  <tml@iki.fi>
13624
13625         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
13626         semantics (to mimic the X11 backend, which just calls XClearArea)
13627         is to check for zero width (and height), and in that case use the
13628         window's width minus x (height minus y). This fixes for instance
13629         some redraw problems with gtkclist, which were easily noticeable
13630         in the gtk file selection widget.
13631
13632         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
13633         windows.
13634
13635 2000-01-13  Tor Lillqvist  <tml@iki.fi>
13636
13637         * configure.in
13638         * gdk/Makefile.am
13639         * gdk/x11/Makefile.am
13640         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
13641         (bug #5177).
13642         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
13643         out later.
13644
13645 2000-01-09  Tor Lillqvist  <tml@iki.fi>
13646
13647         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
13648         WM_MOVE for iconified or invisible windows. This fixes various
13649         problems when minimising windows. Thanks to Bernd Herd.
13650
13651 2000-01-05  Tor Lillqvist  <tml@iki.fi>
13652
13653         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
13654         backend's draw_lines method, not draw_points.
13655
13656 2000-01-02  Tor Lillqvist  <tml@iki.fi>
13657
13658         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
13659         before Owen's reorganisation: Don't have queued_events and
13660         queued_tail statics in this file, but use gdk_queued_events and
13661         gdk_queued_tail. This makes exposure event compression work again.
13662
13663         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
13664         seem to be needed?
13665
13666 1999-12-30  Tor Lillqvist  <tml@iki.fi>
13667
13668         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
13669         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
13670         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
13671         doesn't do anything.
13672
13673         * gdk/gdk.def: Add gdk_xid_table_insert.
13674
13675         * gdk/win32/gdkprivate-win32.h
13676         * gdk/win32/gdkevents-win32.c
13677         * gdk/win32/gdkinput-win32.c
13678         
13679         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
13680         extension_events field in the GdkWindowWin32Data struct. Use only
13681         the extension_events field in GdkWindowPrivate. Previously one was
13682         set, and the other one tested, which broke tablet
13683         functionality. Thanks to Keishi Suenaga for pointing this out.
13684
13685 1999-12-18  Tor Lillqvist  <tml@iki.fi>
13686
13687         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
13688         When handling a single character (text length == 1), don't handle
13689         it as if it was UTF-8.
13690
13691 1999-12-11  Tor Lillqvist  <tml@iki.fi>
13692
13693         * Makefile.am: Distribute README.win32.
13694         
13695         * gdk/Makefile.am
13696         * gdk/win32/Makefile.am: Distribute Win32 files.
13697
13698         * gdk/makefile.msc: New file.
13699
13700         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
13701         after label).
13702
13703         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
13704         gdk_error_code as GDKVAR, as they are referred outside GDK.
13705
13706         * gdk/win32/makefile.msc: Update.
13707
13708         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
13709         tweaks. Check only if at least one of those Unicode subrange bits
13710         we care for is set. If no code page bits are set, guess (wildly)
13711         based on the charset.
13712
13713         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
13714
13715         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
13716         non-NULL.
13717
13718         * gtk/gtkdnd.c
13719         * gtk/gtklayout.c
13720         * gtk/gtkplug.c
13721         * gtk/gtkselection.c
13722         * gtk/gtksocket.c
13723         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
13724         appropriate. There must be a cleaner way to handle this?
13725
13726         * gtk/gtkrc.c: Must include windows.h on Win32.
13727
13728         * gtk/testgtk.c: No need to include gdkx.h.
13729
13730         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
13731
13732 1999-12-07  Tor Lillqvist  <tml@iki.fi>
13733
13734         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
13735         the rbearing is set to the same as the width, but this should be
13736         fixed.
13737
13738 1999-12-06  Tor Lillqvist  <tml@iki.fi>
13739
13740         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
13741         function. If Windows doesn't tell us what Unicode subranges a font
13742         covers, guesstimate based on the codepages it covers. This will
13743         hopefully help those Windows versions or fonts that don't give us
13744         any useful Unicode subrange information with GetTextCharsetInfo.
13745         Call this function in gdk_font_load_internal.
13746
13747         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
13748         minor changes.
13749
13750 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
13751
13752         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
13753         New function, long needed.
13754
13755 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
13756
13757         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
13758         only_if_exists argument of gdk_atom_intern to
13759         bool.
13760
13761 1999-11-25  Tor Lillqvist  <tml@iki.fi>
13762
13763         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
13764         Fix two copy&paste errors.
13765
13766         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
13767         win32 has changed.
13768
13769         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
13770         GdkWin32SingleFont struct.
13771
13772         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
13773         subranges of loaded fonts. Clear font signature first, in case
13774         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
13775         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
13776
13777         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
13778         Unoffset clip region.
13779
13780 1999-11-23  Tor Lillqvist  <tml@iki.fi>
13781
13782         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
13783         event->any.window before calling filter functions.
13784
13785 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
13786
13787         * gtk/gtkgamma.h: Adapt cast macros to standard.
13788
13789 [ Merges from 1.2 ]
13790
13791 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
13792
13793         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
13794         If translation does not include a '/', use entire
13795         translation instead of crashing.
13796
13797 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
13798
13799         * docs/gtk_tut.sgml:
13800         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
13801
13802 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
13803
13804         * gtk/gtkselection.c (gtk_target_list_remove): Use
13805         g_list_remove_link, not g_list_remove.
13806
13807         [ From Geert Bevin <gbevin@thunderstorms.org> ]
13808         
13809 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
13810
13811         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
13812         statement upon unselection (how the heck did that slip in?).
13813
13814 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
13815
13816         * gtk/gtktext.c (gtk_text_freeze): 
13817         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
13818         in frozen state (and aparently crashes). patch provided by Anders
13819         Melchiorsen <and@kampsax.dtu.dk>.
13820
13821 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
13822
13823         * fix insensitive default/focus widget activation,
13824         reported by Matt Goodall <mgg@isotek.co.uk>.
13825
13826         * gtk/gtkwindow.c (gtk_window_key_press_event): 
13827         (gtk_window_activate_default):
13828         (gtk_window_activate_focus):
13829         return handled=FALSE for actiavtion of insensitive default
13830         widgets. return handled=TRUE for activation of insensitive
13831         focus widgets. don't activate in either case.
13832
13833 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
13834
13835         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
13836         and $glib_cflags to match library order and in the
13837         theory that an old version of GLib is more likely to
13838         be in the include directory for X then vice-versa.
13839         (Bug #2776)
13840
13841 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
13842
13843         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
13844         to determine the locale for fontsets, not LC_MESSAGES;
13845         the user may want English messages with a handling
13846         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
13847         will still be broken) (Bug #2891)
13848
13849 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
13850
13851         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
13852
13853 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
13854
13855         * gtk/gtkrc.ko: Changed the Korean default fontset.
13856
13857 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
13858
13859         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
13860         where when scrolling to the left or top double exposes
13861         were done, causing major slowdowns.
13862
13863 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
13864
13865         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
13866         names to lowercase and alphanumeric, before looking
13867         them up.
13868
13869         * gtk/Makefile.am: Install codeset variant gtkrc files
13870         with normalized names.
13871
13872 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
13873
13874         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
13875         popup menus when the menu is already visible, but its parent
13876         is still hidden, (happens after tornoff window got hidden).
13877
13878 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
13879
13880         * gtk/Makefile.am (install-data-local): Fix
13881         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
13882         deleted, causing error messages on install.
13883
13884 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
13885
13886         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
13887         the handle as well, since we now sometimes ignore
13888         exposes on the handle while resizing.
13889
13890 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
13891
13892         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
13893         extra g_free introduced in one of the last one or two 
13894         commits.
13895
13896 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
13897
13898         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
13899         consistent, put each style that a gtkrc.* file creates
13900         in a unique namespace, remove old files before installing.
13901
13902 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
13903
13904         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
13905         gtk_rc_init is called multiple times. (Yes, people who
13906         do that have bugs in their code.)
13907
13908 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
13909
13910         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
13911         Remove it since it's generated by the Makefile anyway
13912
13913 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
13914
13915         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
13916         device->info.axes for core pointer.
13917
13918 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
13919
13920         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
13921         idle_id, to deal with obsolete, broken C libraries.
13922
13923 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
13924
13925         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
13926         allocation->x/y twice!
13927
13928         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
13929         consistent with gtk_vscale_pos_trough().
13930
13931 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
13932
13933         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
13934         be queueing a resize on a toplevel container between
13935         the time we show it and when we map it. So, we need
13936         to test GTK_WIDGET_VISIBLE() for toplevels, and only
13937         use GTK_WIDGET_DRAWABLE() for child windows.
13938
13939 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
13940
13941         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
13942         (fixes bug #2144)
13943
13944 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
13945
13946         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
13947         container DRAWABLE (instead of VISIBLE), so we don't queue
13948         resizes on non-toplevel containers.
13949
13950 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
13951
13952         * gtk/gtkselection.[ch]: Make the data argument
13953         const guchar *.
13954
13955 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
13956
13957         * gtk/gtkwindow.c: Try to behave sensibly if 
13958         the focus widget is the window itself. (Should
13959         we allow this at all?)
13960
13961 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
13962
13963         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
13964         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
13965         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
13966         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
13967         in prototypes and implementations consistent (Tomas Ogren).
13968
13969         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
13970         before the widget is unparented (reported by damon).
13971
13972         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
13973         since we provide unsigned data anyways.
13974
13975 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
13976
13977         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
13978         the call to gtk_tooltips_layout_text() until later.
13979
13980         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
13981         Call gtk_widget_ensure_style() before using the style.
13982
13983 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
13984
13985         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
13986         for old widgets that don't propagate draws to all
13987         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
13988
13989 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
13990
13991         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
13992         for a redraw but just the widget that requested the resize.
13993
13994 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
13995
13996         * gtk/gtkcontainer.c: added new widget level method
13997         gtk_container_set_reallocate_redraws() and a GtkContainer flag
13998         reallocate_redraws : 1 to reflect the setting, exported this through
13999         the argument system as a boolean ::reallocate_redraws.
14000
14001         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
14002         on the widget because the allocation changes, do so as well for
14003         widget->parent if the parent has reallocate_redraws set to TRUE.
14004         with that containers requesting reallocation redraws get automatically
14005         redrawn if their children changed allocation (this unfortunately
14006         affects also other children that didn't change allocation, but we
14007         cannot work around that before 1.3).
14008
14009 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
14010
14011         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
14012         _and_ height are >0 (not _or_).
14013
14014         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
14015         instead of gtk_container_queue_resize(), which is a core gtk internal
14016         function (must have been on crack when i queued that).
14017
14018         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
14019         we can check more reliably if we want to discard expose events.
14020         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
14021         flag.
14022         
14023         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
14024         we simply trust these events. for deciding whether to discard exposes,
14025         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
14026         
14027 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
14028
14029         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
14030         queues of areas that are completely off screen.
14031
14032         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
14033         logic for handleboxes.
14034
14035         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
14036         check on width/height.
14037
14038 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
14039
14040         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
14041         we are fine with using $@ the way we do (if we actually encounter
14042         brokeness with $@ in VPATH builds because of additional path prefixes,
14043         we need to use $(@F) actually).
14044
14045 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
14046
14047         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
14048         short lived bugs, that would allow language bindings to do surgeries
14049         to our guts.
14050
14051 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
14052
14053         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
14054         where comparison was being done against an uninitialized
14055         value causing intermittant results depending on
14056         compiler flags. Also make it clearer that we aren't
14057         ever initializing the child as 0x0 (though this will
14058         be caught in gtk_widget_size_allocate())
14059
14060 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
14061
14062         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
14063         gtk_window_unset_transient_for() call after we do checks
14064         involving the old transient parent.
14065         [ From Lance Capser <lmc@cyberhighway.net> ]
14066
14067 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
14068
14069         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
14070         an empty file.
14071
14072 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
14073
14074         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
14075         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
14076
14077 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
14078
14079         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
14080         `$@' is valid only in the build dir, not after we've done 
14081         `cd $srcdir'.  Also use `test -f' instead of less portable
14082         `test -e'.
14083
14084 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
14085
14086         * gtk/gtktext.c (correct_cache_insert): Rewrite
14087          for simplicity, and hopefully correctness.
14088          (Fixes bug #1322, which was a segfault when
14089           on some insertions with the properties around
14090           the insertion set up just wrong.)
14091
14092         * gtk/gtktext.c (gtk_text_adjustment): When we receive
14093          a "changed" signal, clamp the new value to the adjustment
14094          bounds to avoid segfaulting if someone tries to change
14095          the adjustment to a bogus value. (Bug #1795)
14096
14097 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
14098
14099         * gtk/gtkmain.c: Ignore unexpected destroy notifies
14100         for children, for toplevel windows handle them
14101         like delete_event.
14102
14103         * gtk/gtkplug.c: Add an unrealize handler so that
14104         we unref plug->socket_window when we are done
14105         with it.
14106
14107 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
14108
14109         * gtk/gtktext.c (clear_area): Fix stupid signedness
14110          problem that was causing background to sometimes
14111          be misaligned.
14112
14113 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
14114
14115         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
14116         
14117         * gtk/gtkmenu.c (gtk_menu_position): Make
14118          sure we never position menus with negative x, y,
14119          since gtk_widget_set_uposition() can't handle that.
14120
14121         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
14122          Modify the positioning code a bit so that we always
14123          put the top-left corner onscreen. (This is for
14124          UI reasons, gtk_menu_position() now takes care of
14125          gtk_widet_set_uposition() brokeness.)
14126
14127 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
14128
14129         * gtk/Makefile.am: fixed up things for -jx, x > 1.
14130
14131 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
14132
14133         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
14134           RC style that is passed in. The lack of the ref
14135           before was a bug. If people worked around this
14136           bug, this will introduce a slight memory leak
14137           in their code. The code should typically look like:
14138
14139             rc_style = gtk_rc_style_new ();
14140             [...]
14141             gtk_widget_modify_style (widget, rc_style);
14142             gtk_rc_style_unref (rc_style);
14143
14144         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
14145           the style if it was already set.
14146
14147         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
14148           style if it was set before.
14149
14150 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
14151
14152         * gtk/testgtk.c (main): Add a check to see if we
14153           are being run from the correct directory and
14154           to quit nicely if we are not.
14155
14156         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
14157           static.
14158
14159 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
14160
14161         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
14162
14163         * gtk/gtkwindow.c:
14164         queue resizes unconditionally (gtk_widget_queue_resize will figure
14165         what to do if the window is not realized).
14166         (gtk_window_move_resize): only recenter the window
14167         for GTK_WIN_POS_CENTER_ALWAYS.
14168         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
14169         the same way as GTK_WIN_POS_CENTER.
14170
14171 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
14172
14173         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
14174         with (!(info->last_flags & GDK_HINT_POS)) instead of
14175         (!info->last_flags & GDK_HINT_POS).
14176
14177         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
14178         new_height unconditionally, because we use these values even if
14179         !default_size_changed && !hints_changed.
14180         comented the (default_size_changed || hints_changed) case with
14181         respect to resize rejects from the window manager.
14182
14183         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
14184         in the zvt condition hack, since this includes the window hints, set
14185         the hints after the handling_resize case.
14186
14187         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
14188         window is initially shown with to the geometry.
14189
14190 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
14191
14192         * gtk/gtkwindow.c (gtk_window_move_resize):
14193         s/size_changed/default_size_changed/g so i know what's
14194         really going on (frying brain on smaller flame now).
14195
14196 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
14197
14198         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
14199         we have size_changed upon handling_resize. this is a gross
14200         workaround for the broken zvt widget and should be removed in
14201         1.3 again (search for FIXME).
14202         Owen provided an accurate comment for this:
14203
14204         /* We could be here for two reasons
14205          *  1) We coincidentally got a resize while handling
14206          *     another resize.
14207          *  2) Our computation of size_changed was completely
14208          *     screwed up, probably because one of our children
14209          *     is broken. It's probably a zvt widget.
14210          *
14211          * For 1), we could just go ahead and ask for the
14212          * new size right now, but doing that for 2)
14213          * might well be fighting the user (and can even
14214          * trigger a loop). Since we really don't want to
14215          * do that, we requeue a resize in hopes that
14216          * by the time it gets handled, the child has seen
14217          * the light and is willing to go along with the
14218          * new size. (this happens for the zvt widget, since
14219          * the size_allocate() above will have stored the
14220          * requisition corresponding to the new size in the
14221          * zvt widget)
14222          *
14223          * This doesn't buy us anything for 1), but it shouldn't
14224          * hurt us too badly, since it is what would have
14225          * happened if we had gotten the configure event before
14226          * the new size had been set.
14227          */
14228
14229 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
14230
14231         * gtk/gtkrc.c: deal properly with the fact that RC
14232           style lists may include rc styles more than once.
14233
14234         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
14235           unused static function.
14236
14237         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
14238           stack of directories of RC files currently being
14239           parsed and implicitely add them to pixmap path.
14240           
14241           This fixes a bug where the directory would get
14242           appended then overwritten by pixmap_path declarations.
14243
14244           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
14245
14246         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
14247           theme's exit function. (Patch from Peter Wainwright,
14248           bug #1454)
14249
14250         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
14251           Add a destroy() handler to take care of removing
14252           group for menu item. (Fixes bug #1197)
14253
14254         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
14255           in warning message.
14256
14257 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
14258
14259         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
14260         roundtrip to figure window's width and height, since we know that
14261         anyways from widget->allocation.
14262
14263 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
14264
14265         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
14266           the hints after we request the new size.
14267
14268 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
14269
14270         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
14271           GTK_WIDGET_REALIZED() assertion - we can compute the
14272           hints before we are realized.
14273
14274         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
14275           hint changing so that we have a value of hints_changed
14276           when we decide whether to constrain the window size.
14277
14278         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
14279
14280         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
14281         change back to G_MAXINT.
14282
14283 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
14284
14285         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
14286         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
14287         contain uncluttered values.
14288         (gtk_window_compute_hints): simply assert that window is realized
14289         and that geometry_info is valid, since we rely on this anyways.
14290         (gtk_window_constrain_size): major cleanups to the code.
14291         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
14292         for the base size, instead of the minimums. use 32767 as max width
14293         and height (like in gtkwindow.c) instead of G_MAXINT.
14294
14295 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
14296
14297         * cleaned up the GtkContainer.need_resize flag handling mess, we
14298         only need to force resize requests when we were prematurely
14299         realized, or our widget tree was modified when we were temporarily
14300         hidden. handling these cases directly upon showing the window (i.e.
14301         while the GdkWindow is still unmapped) avoids the need to wait for
14302         a configure event response and therefore makes the GUI more snappier
14303         and avoids blank windows during the roundtrip.
14304
14305         * gtk/gtkwidget.c:
14306         (gtk_widget_hide): 
14307         (gtk_widget_show): don't queue resizes on toplevels, they know how
14308         to deal with matters.
14309
14310         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
14311         flag directly for not visible resize containers and spare us unecessary
14312         signal emissions.
14313
14314         * gtk/gtkwindow.c:
14315         (gtk_window_realize): if we need to enforce premature size allocation,
14316         queue a container resize so we are correctly resized later on.
14317         (gtk_window_init):
14318         (gtk_window_size_request):
14319         don't freak around with the ->need_resize flag,
14320         gtk_container_queue_resize() will care about that.
14321         (gtk_window_show):
14322         handle initial resizing issues here, we can handle matters better in
14323         this place, especially since we know that our GdkWindow is still
14324         unmapped.
14325         (gtk_window_move_resize):
14326         don't care about ->need_resize at all.
14327         handle size changes properly that occoured while we waited for a
14328         configure event.
14329
14330 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
14331
14332         * gtk/gtkwidget.c (gtk_widget_set_uposition):
14333         * gtk/gtkwindow.[hc] (gtk_window_reposition):
14334         Move the hint setting code from gtk_widget_set_uposition
14335         to here; set the hints so that we respect any previously
14336         set geometry hints.
14337
14338         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
14339         change the window hints here or move the window here,
14340         let that happen in gtk_window_move_resize().
14341
14342 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
14343
14344         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
14345         to already queued resizes (and therefore redraws) on a widget, check
14346         its anchestry as well.
14347
14348         * gtk/gtkcontainer.c:
14349         (gtk_container_queue_resize): clear resize widgets for resize
14350         containers before aborting prematurely. this is especially important
14351         for toplevels which may need imemdiate processing or their resize
14352         handler to be queued.
14353         (gtk_container_dequeue_resize_handler): added new internal function for
14354         gtkwindow.c.
14355
14356         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
14357         configure event, take possible changes in window position into account
14358         as well.
14359         if we request a new window size, queue up a resize handler that will
14360         last until the configure event response arrives.
14361         combined the ->need_resize case (initial show) with the general size
14362         (hints) changed case and added even more comments.
14363         if !auto_shrink, only revert to the old allocation if the new size
14364         is smaller than the current allocation.
14365
14366 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
14367
14368         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
14369                            gtk_window_set_geometry_hints
14370                            gtk_window_set_default_size):
14371         When hints are set, queue a resize so that the hints will
14372         be eventually reset on the toplevel.
14373
14374         * gtk/gtkwindow.c (gtk_window_show): Use
14375         gtk_window_compute_default_size(). Clear the need_resize flag
14376         on the initail map so that we don't unnecessarily trigger the
14377         resize code.
14378
14379         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
14380         into separate functions. Compare the hints we are setting
14381         with what we set last time so that we can accurately
14382         tell when we need to reset the hints.
14383
14384         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
14385         function to figure out the size from requisition
14386         and default_size.
14387
14388         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
14389         from fvwm to constrain a size to the geometry hints.
14390
14391         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
14392         to compare two sets of geometry hints.
14393
14394         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
14395         from gtk_window_set_hints(), just compute the hints,
14396         don't set them.
14397
14398         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
14399         code from gtk_window_move_resize() to separate function,
14400         rationalize a bit.
14401
14402 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
14403
14404         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
14405         structure into a new private structure.
14406
14407         * gtkrc.c: Split GtkRcStyle into public/private.
14408         In the private part, add a list of pointers to the
14409         RcStyle lists this RcStyle participates in.
14410
14411         * gtkrc.c: When a RcStyle is free, remove all
14412         lists referencing it from the 
14413         realized_style_ht hash, and free those lists.
14414         
14415         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
14416         gtk_rc_init(), since that adds the default styles
14417         to the list of parsed RC files again.
14418
14419         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
14420         
14421 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
14422
14423         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
14424         checks that ensure that a widget's allocation is at least 1 in width
14425         and height. (GNOME note: this doesn't affect old panel code anymore,
14426         because GtkSocket will request width and height of at least 1 since
14427         Fri Jul 23).
14428
14429         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
14430         allocated yet (happens if the user realizes the window prematurely),
14431         size request and allocate it.
14432         (gtk_window_size_allocate): guard against guint underflows.
14433
14434 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
14435
14436         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
14437         in gtk_built_sources, so gtk.defs gets built prior to all other
14438         sources.
14439
14440 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
14441
14442         * gtk/Makefile.am:
14443         invoke indent on gtkmarshal.*. 
14444         rewrote source generation rules, use COPYING as oldest source tag for
14445         a piggyback rule to generate all sources from (don't touch it ;).
14446         major cleanups, strip spaces on build rules for GNU Make.
14447
14448         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
14449         source and target files from commandline arguments. don't invoke indent.
14450
14451 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
14452
14453         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
14454         notebook after switch to avoid drawing problems.
14455         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
14456         
14457         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
14458         show them instead. 
14459         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
14460
14461 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
14462
14463         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
14464         notebook after switch to avoid drawing problems.
14465         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
14466         
14467         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
14468         show them instead. 
14469         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
14470
14471 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
14472
14473         * gtk/gtkwindow.c:
14474         we use window->need_resize from configure_event now, to indicate that
14475         the gtkwindow should keep its allocation (e.g. because the user resized
14476         the window through window manager handles). resize_count is now reliably
14477         used to figure whether we got the allocation we requested from the
14478         window manager.
14479         configure events get queued as resizes now, the real stuff (size
14480         computation and allocation) now only goes on in gtk_window_move_resize().
14481         GtkWindow's requisition now contains its *real* requisition (like all
14482         other widgets), *not* taking usize into account.
14483         geometry_info->last_{width|height} is now updated from set_hints() only
14484         so it always contains the last hints we set for the window manager.
14485         made some event handlers return TRUE instead of FALSE.
14486         the overall code should be much more straight forward now, and the
14487         significant code portions are accompanied by comments now.
14488         (gtk_window_set_hints):
14489         removed requisition argument and made it
14490         fetch the requisition through gtk_widget_get_child_requisition.
14491         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
14492         does that now.
14493         (gtk_window_show):
14494         ensure that the widget is realized before calling 
14495         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
14496         ensure that we got properly size requested and allocated before
14497         realization.
14498         (gtk_window_configure_event):
14499         ignore plain window moves, or reallocate the widget tree through the
14500         resize queue otherwise.
14501         (gtk_window_move_resize):
14502         mostly rewrote this function to figure window manager hints more
14503         reliably, coalesce window moves and resizes to reduce configure events
14504         and do actuall size allocations.
14505
14506 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
14507
14508         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
14509         that have a resize pending, because a redraw is already queued for them.
14510
14511         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
14512         hack to clear resize_widgets.
14513
14514         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
14515         for resize containers prior to size allocation. (this is also a bit
14516         ugly, but avoids side effects for stopped emissions and is thus more
14517         reliable).
14518         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
14519
14520         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
14521         function from gtk_tooltips_expose, as we connect to ::expose_event
14522         *and* ::draw now.
14523
14524 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
14525
14526         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
14527         checks.
14528         (gtk_target_list_unref): Likewise.
14529
14530         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
14531
14532 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
14533
14534         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
14535         guard against division by zero. (Fixes bug #1339)
14536
14537 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
14538
14539         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
14540         Prevent the trivial leak of information of allowing
14541         word motion when the entry is not visible.
14542
14543 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
14544
14545         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
14546         modality to error dialog as well as confirmation dialogs.
14547         (Bug #1803, reported by Rosanna Wing Sze Yuen)
14548
14549 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
14550
14551         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
14552         tree->view_lines.
14553         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
14554
14555         * gtk/Makefile.am (install-data-local): Solaris apparently
14556         has various troubles with ln -f; use rm first instead.
14557         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
14558
14559 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
14560
14561         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
14562         use `cp' followed by `rm' (the `rm' was already there).
14563
14564 July 30, 1999 Elliot Lee <sopwith@redhat.com>
14565         
14566         * configure.in: Fix autoconf warnings about cross compilation by
14567         trying to provide sane defaults for AC_TRY_RUN.
14568         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
14569         put them into $(srcdir) when generated. Also add a dependency of
14570         gtksignal.h on gtkmarshal.h for -j builds. 
14571         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
14572
14573 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
14574
14575         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
14576         GDK_THREADS_{LEAVE,ENTER} pair.
14577         (From Paul Fisher <pnfisher@redhat.com>)
14578
14579 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
14580
14581         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
14582         width and height are always >0 (owen).
14583
14584 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
14585
14586         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
14587         change that assured that a widget's allocated with and height are
14588         always >1, since this breaks *buggy* panel code. unfortunately this
14589         back-breaks the gimp's color selector.
14590
14591         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
14592         allocation is always >0 in width and height, before sending the
14593         configure event; this is a *gross* hack to get the gimp back to work.
14594         
14595         * marked both cases with TODO-1.3
14596
14597 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
14598
14599         * gtk/gtktext.c: Don't display wrap indicators when
14600         text is not editable and word wrap is on.
14601
14602 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
14603
14604         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
14605         option menus here as they are not derived from menu shell, assure that
14606         the option menu has a menu we can add items to.
14607
14608 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
14609
14610         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
14611         width/height to (gint) before calculations and check against < 0 to
14612         avoid guint wraparounds.
14613
14614 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
14615
14616         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
14617         width and height is never zero. sanity check both dimensions against
14618         32767 and issue a warning if the allocation is greater than that.
14619
14620 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
14621
14622         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
14623         to g_main_pending() as well.
14624
14625 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
14626
14627         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
14628         call to g_main_iteration() - since that will regrab
14629         GTK+ lock to process events.
14630
14631 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
14632
14633         * gtk/gtkwindow.c
14634         - Regularize with the rest of GTK+ by making widget->requisition
14635           not reflect the set_usize()
14636         - Always recompute geometry hints, then check if they
14637           changed before sending them to the X server. The
14638           previous checks for changes would fail in a number
14639           of circumstances. 
14640
14641 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
14642
14643         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
14644
14645 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
14646
14647         * gtk/gtkdnd.c:
14648         - Code cleanups
14649         - Instantaneously update on modifier key presses
14650         - Allow cancellation of the drag with Escape.
14651
14652 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
14653
14654         * gtk/testgtk.c (create_handle_box): Set the policy
14655         to auto_shrink - otherwise the appearance is rather
14656         strange when flipping between horizontal and vertical.
14657
14658 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
14659
14660         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
14661         (gtk_window_set_default_size): don't change a value if it's < 0.
14662         queue a resize.
14663
14664 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
14665
14666         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
14667
14668 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
14669
14670         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
14671         add an extra "/" when concating "/" + filename.
14672         (From Matt Grossman <mattg@oz.net>)
14673
14674 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
14675
14676         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
14677         for fg_gc if we set it for drawing pixmap.
14678
14679 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
14680
14681         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
14682         
14683         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
14684         already set, call old engine's destroy function and
14685         unref the old engine.
14686
14687 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
14688
14689         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
14690
14691 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
14692
14693         * gtk/gtkaccelgroup.h: mark certain functions as internal.
14694
14695 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
14696
14697         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
14698         expand behaviour changed.
14699
14700         * gtk/gtklabel.c (gtk_label_set_pattern):
14701         (gtk_label_set_justify):
14702         (gtk_label_set_line_wrap):
14703         don't bother invoking queue_clear, the reallocation does
14704         that for us, always free_words so the upcoming resize will
14705         relayout the label's contents.
14706
14707 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
14708
14709         * applied argument implementation patches from Elena Devdariani
14710         <elena@cogent.ca>.
14711
14712         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
14713         ::space_style, ::relief
14714         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
14715         * gtk/gtkpreview.c: ::expand
14716         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
14717         * gtk/gtknotebook.c: ::homogeneous
14718         * gtk/gtklabel.c: ::wrap
14719         * gtk/gtklist.c: ::selection_mode
14720         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
14721         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
14722         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
14723         * gtk/gtkclist.c: ::sort_type
14724         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
14725         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
14726
14727 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
14728
14729         * gtk/gtkstyle.c: Removed ill-thought-out part of last
14730         comment.
14731
14732 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
14733
14734         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
14735         counting right when we have to attach a new style
14736         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
14737
14738         * gtk/gtkstyle.c: Documented the refcounting
14739         peculularities of gtk_style_attach.
14740
14741 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
14742
14743         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
14744         window types.
14745
14746         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
14747         of GTK_TOPLEVEL for creating the window.
14748
14749 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
14750
14751         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
14752         the last argument (reported by Per Winkvist).
14753         
14754 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
14755
14756         Fixes for invisible XOR lines (Frank Loemker
14757         <floemker@TechFak.Uni-Bielefeld.DE>)
14758         
14759         * gtk/gtkclist.c (gtk_clist_realize): Always use
14760         a non-zero pixel for GDK_XOR.
14761
14762         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
14763         Use GDK_INVERT instead of GDK_XOR.
14764
14765 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
14766
14767         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
14768         signals if h/voffsets differ from adjustment values.
14769         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
14770
14771 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
14772
14773         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
14774         ::selection-done emissions up to the topmost menu shell.
14775
14776 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
14777
14778         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
14779         the user data on the window before destroying it.
14780
14781         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
14782         unrealize handler to take care of destroying 
14783         notebook->panel properly. 
14784         (Bug #1198 - Morten Welinder <terra@diku.dk>)
14785
14786         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
14787         of g_new and g_realloc to stop memory leak. (Actually,
14788         we could just use g_realloc(), but I'm not 100% sure
14789         that is portable).
14790         (Bug #1196 - Morten Welinder <terra@diku.dk>)
14791
14792 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
14793
14794         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
14795
14796         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
14797         for fontsets.
14798
14799         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
14800         with bin/button confusion.
14801
14802 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
14803
14804         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
14805         and show how preselection of radio items is done.
14806
14807 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
14808
14809         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
14810         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
14811         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
14812         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
14813         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
14814         * gtk/gtktable.c (gtk_table_attach): 
14815         * gtk/gtklist.c (gtk_list_insert_items): 
14816         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
14817         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
14818         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
14819         * gtk/gtkbin.c (gtk_bin_add): 
14820         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
14821         * gtk/gtkfixed.c (gtk_fixed_put): 
14822         * gtk/gtklayout.c (gtk_layout_put):
14823         general fixups to container_add logic. always realize child if
14824         child->parent is realized, only map the child and queue a resize
14825         if child and child->parent are both visible.
14826
14827 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
14828
14829         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
14830         instead of gtk_container_foreach to walk and unrealize children, so
14831         composite children get also unrealized.
14832         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
14833         (gtk_widget_map): assert that the widget is visible (basic constrain).
14834         (gtk_widget_real_map): assert that the widget is realized (basic
14835         constrain).
14836
14837 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
14838
14839         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
14840
14841 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
14842
14843         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
14844         file for iso-8859-2 locales.
14845
14846         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
14847
14848 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
14849
14850         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
14851          (Pointed out by andy@rz.uni-karlsruhe.de and others).
14852          Remove some suspicious and useless lines. 
14853
14854 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
14855
14856         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
14857         width,height = 0, 0 to mean - here to edge of window,
14858         instead of -1, -1, since the former is all we support.
14859
14860 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
14861
14862         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
14863         when removing from quit_functions list.
14864
14865 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
14866
14867         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
14868
14869 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
14870
14871         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
14872          When redrawing characters on non-visible entry, use appropriate
14873          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
14874
14875 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
14876
14877         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
14878         from drag coordinates.
14879         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
14880         use drag_dest_cell.
14881
14882         * gtk/gtktree (drag_dest_cell)
14883         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
14884         (Bug #1129)
14885
14886 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
14887
14888         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
14889         translate_* fields.
14890         (gtk_item_factory_finalize): invoke translate_notify independant from
14891         translate_data.
14892         (gtk_item_factory_set_translate_func): likewise.
14893         (gtk_item_factory_destroy): only remove ifactory pointer from those
14894         widgets that belong to us (stupid me).
14895
14896 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
14897
14898         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
14899         rc_style list when lookup succeeeds.
14900
14901 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
14902
14903         * gtk/gtkctree.c (resync_selection): 
14904         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
14905         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
14906         bug.
14907
14908 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
14909
14910         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
14911         Add some missing GDK_THREADS_ENTER()/LEAVE around
14912         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
14913
14914 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
14915
14916         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
14917         rather than emit_by_name.
14918
14919         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
14920         on the widget across multiple signal emissions.
14921         (gtk_editable_delete_text): same here.
14922         (gtk_editable_class_init): set widget_class->activate_signal after
14923         editable_signals[ACTIVATE] has been created.
14924
14925 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
14926
14927         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
14928         position here prematurely -- we might not have the
14929         right ->min_position and ->max_position yet.
14930
14931 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
14932
14933         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
14934         Add error traps so if the other end of the connection
14935         dies, we survive.
14936
14937         * gtk/gtkselection.c (gtk_selection_notify): Clean
14938         up properly when selection property retrieval fails.
14939         
14940         * gtk/gtkselection.c (gtk_selection_request): Correctly
14941         reject SelectionRequest notifies where the handler
14942         returns no data.
14943
14944 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
14945
14946         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
14947         when we've previously highlighted.
14948
14949         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
14950         emit two "drag_leave" signals for Motif drops.
14951
14952         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
14953         back the correct status messages when dropping from
14954         Motif onto a proxy window that is rejecting the
14955         drop.
14956
14957 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
14958
14959         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
14960         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
14961         to compare two argument values. added gtk_arg_to_valueloc() to set a
14962         variable from an arg through its location (pointer).
14963
14964         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
14965         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
14966         as gfloat*, uchars are collected as guchar*, ints are collected as
14967         gint*, etc...
14968
14969 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
14970
14971         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
14972         Include <string.h> instead of <strings.h>.
14973
14974         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
14975         (actually, a lot more duplicate includes occur if
14976          you trace through the sequence of #include's)
14977         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
14978         
14979 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
14980
14981         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
14982         gtk-a-higuti-990322-[0-3]
14983
14984         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
14985         that was causing -DX_LOCALE not to work.
14986
14987         * gtk/gtkrc.c (gtk_rc_init):
14988         X_LOCALE will never have LC_MESSAGES defined
14989
14990 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
14991
14992         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
14993         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
14994
14995         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
14996         left/right as well (gtk-michael-980726-0.patch.gz).
14997
14998         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
14999         for pointer values, use gchar instead of char. fixed uline allocation
15000         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
15001         chunks instead of G_ALLOC_ONLY.
15002         (gtk_label_size_request): always alter requisition as passed and leave
15003         widget->requisition alone.
15004         (gtk_label_set_text): allow NULL strings.
15005         (gtk_label_new): likewise.
15006
15007 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
15008
15009         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
15010
15011 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
15012
15013         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
15014         *and* mapped (i.e. drawable).
15015         (gtk_bin_expose): only send exposes to drawable children.
15016
15017         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
15018         (gtk_box_expose): only send exposes to drawable children.
15019
15020         * gtk/gtkhscale.c (gtk_hscale_draw): 
15021         * gtk/gtkvscale.c (gtk_vscale_draw):
15022         hm, this is an ugly one. we first compute the size of our trough area
15023         here (window relative) and then check intersection with the draw_area
15024         which is parent relative because we're a NO_WINDOW widget, so we need
15025         to offset the trough area by allocation.x and allocation.y before the
15026         check. (this must not be done for the background area though, since
15027         that's already computed parent relative).
15028
15029 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
15030
15031         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
15032         unrealize title buttons.
15033
15034 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
15035
15036         * gtk/gtkclist.c (gtk_clist_column_title_passive)
15037         (gtk_clist_column_title_active): 
15038         only connect/disconnect to GtkWidgetClass::event to block mouse events.
15039
15040         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
15041         zero initialize event, removed superfluous gdk_window_get_pointer call
15042
15043         * gtk/gtklist.c (gtk_list_vertical_timeout)
15044         (gtk_list_horizontal_timeout): removed superfluous
15045         gdk_window_get_pointer call
15046
15047 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
15048
15049         * plugging problems reported by "Bruce Mitchener, Jr."
15050         <bruce@puremagic.com> due to a purify session.
15051
15052         * gtk/gtkstyle.c:
15053         (gtk_style_ref): 
15054         (gtk_style_unref): assert ref_count to be > 0.
15055
15056         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
15057         the requisition.
15058         (gtk_clist_set_shift): likewise.
15059
15060         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
15061         adjustments.
15062
15063         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
15064         event before sending it and set send_event to TRUE (which needs to
15065         be done for *all* synthesized events).
15066         (gtk_list_vertical_timeout): likewise.
15067
15068         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
15069         leaks.
15070
15071         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
15072         to TRUE when synthesizing events.
15073
15074 [ *** end of merges from 1.2 *** ]      
15075         
15076 1999-11-21  Tor Lillqvist  <tml@iki.fi>
15077
15078         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
15079         (or copied from gdkconfig.h.win32 on Win32, sigh).
15080
15081         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
15082
15083         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
15084
15085         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
15086
15087         * gdk/gdkconfig.h.win32: New file.
15088
15089         * gdk/win32/makefile.cygwin: Build just a static archive here.
15090
15091         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
15092         for the DLL from the static archive built above.
15093
15094         * gdk/gdk.def: Moved here from the win32 subdirectory.
15095
15096         * gdk/win32/*: Adapt for the changed private struct organisation.
15097
15098         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
15099
15100 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
15101
15102         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
15103         for wheel mice (buttons 4 and 5).
15104
15105 1999-11-18  Tor Lillqvist  <tml@iki.fi>
15106
15107         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
15108         drawables use just the pixel field in the foreground and
15109         background GdkColor of the GdkGC.
15110
15111         gdk_gc_set_{fore,back}ground() are called in the GIMP with
15112         GdkColors containing uninitialized (red,green,blue) fields, and
15113         just the pixel field filled in, and furthermore in the
15114         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
15115         It thus turns out that we really don't need to have the full
15116         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
15117         it later to have just the pixel values.
15118
15119 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
15120
15121         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
15122
15123 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
15124
15125         * docs/gtkfaq.sgml: threads example from Erik Mouw.
15126         New question on GtkLabel background colors.
15127
15128         * docs/gtk_tut.sgml:
15129           - Correct the example code callback
15130             function definitions.
15131           - Update the gtkdial example code, from Frans van Schaik.
15132           - Update setselection.c to current API.
15133
15134         * examples/Makefile examples/*/*.c: Update to code
15135         listed in tutorial.
15136
15137 1999-11-10  Tor Lillqvist  <tml@iki.fi>
15138
15139         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
15140         subrange table (from the "Developing International Software for
15141         WIndows 95 and Windows NT" book) was missing the Hangul syllable
15142         block... Get the loaded font's charset correctly.
15143
15144         (Note that this, and the other *-win32.c files, still really are
15145         the old ones, the win32 subdirectory is not ready for compilation
15146         yet after the reorg.)
15147
15148 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
15149
15150         * gtk/gtkclist.c: Fix off-by-one bug in parameter
15151         check.
15152
15153 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
15154
15155         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
15156         on results of XQueryDeviceState().
15157
15158 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
15159
15160         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
15161         we need to accesss only ->children. We need an accessor
15162         for the children.
15163
15164         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
15165         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
15166         to get rid of gdkx.h include.
15167         
15168         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
15169         and random references to 'None'.
15170
15171         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
15172         Get rid of unused #include <gdk/gdkx.h>
15173
15174         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
15175         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
15176         gdkconfig.h.
15177
15178 1999-11-08  Tor Lillqvist  <tml@iki.fi>
15179
15180         * gdk/win32/gdkdraw.c
15181         * gdk/win32/gdkfont.c
15182         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
15183         following yesterday's changes. (Unrelated to Owen's reorg.)
15184
15185 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
15186
15187         * gdk/x11/gdkinput-gxi.c: Add missing include,
15188           fix GdkWindowPrivate => GdkDrawablePrivate.
15189
15190         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
15191
15192         * gdk/x11/Makefile.am (xinput_sources): Add missing
15193         backslash to fix building with --with-xinput=none
15194
15195 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
15196
15197         Move all X specific code into the x11/ directory.
15198         Aside from shuffling things around, did the following:
15199
15200        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
15201          gdk_arg_context_* - a simple argument parsing system
15202          in the style of popt.
15203
15204        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
15205          gdk/x11/gdkprivate-x11.h:
15206          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
15207          add ->klass and ->klass_data fields. The klass_data
15208          field points to an auxilliary structure that is
15209          windowing system dependent.
15210
15211        * gdk/gdkfont.c: Make most of the measurement functions
15212          simply wrappers around gdk_text_extents().
15213
15214        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
15215          _gdk_font_strlen() function that hides the weird
15216          behavior in gtk+-1.[02] where a string is interpreted
15217          differently for 8-bit and 16-bit fonts.
15218
15219        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
15220          to store common code for synthesizing double/triple
15221          press events.
15222         
15223        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
15224          Make all the function that modify an existing GC
15225          simply wrappers around gdk_gc_set_values().
15226          
15227        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
15228          for throwing out later.
15229
15230        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
15231          GdkImagePrivate and GdkColormapPrivate to have a
15232          windowing system dependent part (GdkFontPrivateX etc.)
15233          that "derives" from the system-independent part.
15234
15235        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
15236          Got rid of the included-source-files for XInput in
15237          favor of automake conditionals. (Which didn't exist
15238          when XInput support was originally added.)
15239
15240        * gdk/gdkrgb.c: Remove the visual id from the debugging
15241          statements since that is X11 specific; print out
15242          type/depth info instead.
15243          
15244
15245 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
15246
15247         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
15248         loading duplicates of hashed fonts.
15249
15250         * gdk/gdk.c (gdk_keysym_convert_case): rename
15251         gdk_XConvertCase to gdk_keysym_convert_case, allow
15252         results to be NULL in the GTK+ style.
15253
15254         * gdk/gdkcompat.h: Started compatibility header
15255         for renames.
15256
15257 1999-11-07  Tor Lillqvist  <tml@iki.fi>
15258
15259         * gdk/win32/gdkprivate.h: New font private structures, related to
15260         fontsets.
15261
15262         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
15263         gdk_font_list_free(). On X11, will just be wrappers to
15264         XListFonts() and XFreeFontNames(). On Win32, the code previously
15265         in gtkfontsel.c is now here.
15266
15267         New function gdk_font_xlfd_create(). On X11 will get the FONT
15268         property of the font (for GDK_FONT_FONTs), or call
15269         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
15270         builds a XLFD style name from the font information in the LOGFONT
15271         struct(s).
15272
15273         New function gdk_font_xlfd_free(), which correspondingly frees the
15274         string returned by gdk_font_xlfd_create().
15275
15276         Implement fontsets on Win32. Add a function that iterates over a
15277         wide char string and calls a callback function for each substring
15278         of wide chars from the same Unicode subrange (and thus probably
15279         available in the same real font).
15280
15281         Improve the XLFD emulation a bit.
15282
15283         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
15284
15285         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
15286         Beta3, WM_IME_CHAR messages don't seem to contain the composed
15287         multi-byte char as with the Active IMM on Win9x. Oh well, handle
15288         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
15289         ImmGetCompositionStringW() to get the composed Unicode chars.
15290
15291         * gdk/win32/gdkgc.c
15292         * gdk/win32/gdkdraw.c: Changes needed because of the font private
15293         struct changes.
15294
15295         * gdk/win32/gdk.def: Add the new functions.
15296
15297 1999-11-04  Tor Lillqvist  <tml@iki.fi>
15298
15299         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
15300         get the Platform SDK to get <dimm.h>.
15301
15302         * gdk/win32/gdkevents.c: More event handling fixes and
15303         simplification. Never generate motion events with is_hint true. We
15304         used to do that on bogus grounds earlier. Windows sends
15305         WM_MOUSEMOVE messages on button events even if the mouse hasn't
15306         moved, ignore these.
15307
15308         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
15309
15310         * gdk/win32/gdkglobals.c
15311         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
15312         the TrackMouseEvent function, and use it.
15313
15314         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
15315         char before calling WideCharToMultiByte in order to get a string
15316         for the window title.
15317
15318         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
15319
15320         * gdk/win32/gdk.def: Remove obsolete functions.
15321
15322         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
15323         /nodefaultlib and /defaultlib switches.
15324
15325         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
15326
15327 1999-10-31  Tor Lillqvist  <tml@iki.fi>
15328
15329         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
15330         EuroSign).
15331
15332         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
15333         same type as GdkWChar, especially on Win32.
15334
15335         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
15336
15337         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
15338         before passing to Windows GDI for drawing etc. Convert to the
15339         system default codepage before passing to Windows as window
15340         titles.
15341
15342         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
15343         support changing input locale on the fly.
15344
15345         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
15346         on-the-fly changes. Convert incoming characters from the current
15347         codepage to Unicode (and then to a UTF-8 multi-byte string) based
15348         on the current input language. Use keysym<->Unicode mapping tables
15349         and functions borrowed from xterm sources.
15350
15351         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
15352         editions of Win9x, use the ActiveX-based Active IMM (Input Method
15353         Manager) if available. IMEs and the Active IMM are available under
15354         the disguise of Chinese, Korean and Japanese support for IE and
15355         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
15356         support is present in all editions (as long as you install it).
15357
15358         Call DispatchMessage from gdk_events_queue() (and thus
15359         gdk_WindowProc()), instead of duplicating the code in
15360         gdk_WindowProc().
15361
15362         Reworked the grab handling and propagation code, factored out
15363         duplicated code snippets into separate functions. Other cleanups,
15364         too.
15365
15366         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
15367         the <dimm.h> header describing the Active IMM.
15368
15369         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
15370         just do the same as for "single" fonts.
15371
15372         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
15373         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
15374         the new keysyms from gdkkeysyms.h.
15375
15376         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
15377         fontset, so that gtkentry uses wide characters.
15378
15379         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
15380         GTk+'s system directory "gtk+", not "gtk".
15381
15382 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
15383
15384         * docs/gtkfaq.sgml: FAQ update
15385
15386 1999-10-21  Tor Lillqvist  <tml@iki.fi>
15387
15388         * gdk/win32/gdkprivate.h: Add more font private data.
15389
15390         * gdk/win32/gdkfont.c
15391         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
15392         fonts and strings. Now works much better. You still have to
15393         have a correct font selected, though. No fontset emulation yet.
15394
15395 1999-10-19  Tor Lillqvist  <tml@iki.fi>
15396
15397         * gtk/maketypes.awk: Use G_OS_WIN32.
15398
15399         * gtk/gtk.def: Add some missing entry points. Also some non-public
15400         ones, but PyGTK porter claims to need them.
15401
15402         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
15403         built-in type generation.
15404
15405 1999-10-14  Tor Lillqvist  <tml@iki.fi>
15406
15407         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
15408         GDK_FONT_FONT fonts (which is all we have for now, we don't
15409         emulate fontsets). The X11 version uses plain XDrawString in that
15410         case, too. The string passed to gdk_draw_text_wc seems to be in
15411         fact (at least, when used by gtkentry and gtktext) either in a
15412         single-byte charset, or a DBCS. Not Unicode.
15413
15414         This fixes the problem in gtkfontsel, where even if you had
15415         selected a font with a non-Latin1 charset (windows-greek, for
15416         instance), the preview still used Latin-1 glyphs.
15417
15418         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
15419         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
15420         (gdk_font_load): Recognize the demibold etc weights, even if we
15421         don't have the corresponding constants in the headers.
15422         (gdk_font_hash_insert): Use same hash mechanism as in the X11
15423         version. Should save font resources a bit, when we don't have
15424         multiple HFONTs for the same font.
15425
15426         * gdk/win32/gdkprivate.h: Add the names field as in the X11
15427         version.
15428
15429 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
15430
15431         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
15432         X values
15433
15434 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
15435
15436         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
15437         layout support (as mentioned on
15438         http://www.jcinteractive.com/gnome-ui/software/widgets/)
15439
15440 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
15441
15442         * gtk/fnmatch.c
15443         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
15444
15445 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
15446
15447         * configure.in (ALL_LINGUAS): Added Galician (gl)
15448
15449 1999-10-05  Tor Lillqvist  <tml@iki.fi>
15450
15451         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
15452
15453         * gdk/win32/gdkcompat.c: New file, actually provide an
15454         implementation for the deprecated functions. (Just temporarily.)
15455
15456         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
15457
15458         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
15459
15460         * gdk/win32/gdk.def gtk/gtk.def: Updates.
15461
15462 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
15463
15464         * configure.in: Added "uk" to ALL_LINGUAS.
15465         
15466 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
15467
15468         * configure.in: correct checking for BeOS check
15469
15470         * gdk/gdktypes.h
15471         * gtk/fnmatch.c
15472         * gtk/gtkfilesel.c
15473         * gtk/gtkitemfactory.c
15474         * gtk/gtkmain.[ch]
15475         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
15476
15477 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
15478
15479         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
15480         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
15481         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
15482         by Bulgarian). 
15483
15484 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
15485
15486         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
15487         Fix a reference to window_private->destroyed.   
15488
15489         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
15490         (ugly) setting of an internal GdkWindow member to use
15491         a _slightly_ cleaner macro.
15492
15493         * gdk/gdkprivate.h: Split GdkWindowPrivate into
15494         GdkDrawablePrivate and GdkWindowPrivate.
15495         Add extra macros for accessing GDK_DRAWABLE_ components.
15496
15497         * *.[ch]: Massive adjustments for the above, use the
15498         new macros in a lot of places.
15499
15500 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
15501
15502         * gdk/gdktypes.h: Make GdkDrawable the base type,
15503         not GdkWindow.
15504
15505 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
15506
15507         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
15508
15509 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
15510
15511         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
15512
15513 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
15514
15515         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
15516         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
15517
15518         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
15519
15520         * docs/gtk-config.1: Now autogenerated.
15521         * docs/Changes-1.4.txt: started
15522         
15523 1999-10-03  Tor Lillqvist  <tml@iki.fi>
15524
15525         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
15526         to #ifdef also here.
15527
15528         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
15529         Owen did to the X11 backend.
15530
15531         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
15532         ScrollWindowEx when blitting inside a window, it can't be correct
15533         in the general case.
15534
15535         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
15536         WM_GETMINMAXINFO is easier.
15537
15538         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
15539         depth equal to the bitspixel value, not the visual's depth.
15540
15541         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
15542         to 24 even if the bitspixel value is 32.
15543
15544         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
15545         need to check for depth==32 when bpp==32, depth will always be 24.
15546
15547 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
15548
15549         * docs/Changes-1.4.txt: Started
15550         
15551         * gtk/Makefile.am (gdk_headers): Include all the new headers.
15552
15553         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
15554         
15555         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
15556         into C file.
15557         
15558         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
15559         header to gdkinputprivate.h.
15560
15561         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
15562         unused since before 1.2.
15563
15564 1999-09-30  Tor Lillqvist  <tml@iki.fi>
15565
15566         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
15567         expand possible hex escapes in the font family (put there by
15568         logfont_to_xlfd if the font name isn't a legal XLFD font family,
15569         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
15570         On Win32, add hex escapes here, too.
15571
15572 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
15573
15574         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
15575         to #ifdef GDK_WINDOWING_X11.
15576
15577 [ Merges from gtk-1-2 ]
15578
15579 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
15580
15581         * configure.in: fixed "GNU Make" check to pass with new make version
15582         3.77.95.
15583
15584 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
15585
15586         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
15587         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
15588         AM_PATH_GTK() macros don't get confused by the -pre1.
15589
15590 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
15591
15592         * configure.in (REBUILD): Change check for perl5
15593           to check explicitely for v >= 5.002. (5.001
15594           does not work with our scripts.)
15595
15596 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
15597
15598         * configure.in: evaluate $PERL for the perl version check. added
15599         --disable-rebuilds to give the user an option to completely disable
15600         any source autogeneration rules.
15601
15602 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
15603
15604         * configure.in: evaluate $ac_make when checking for GNU Make.
15605
15606 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
15607
15608         * docs/Makefile.am: added generation.txt.
15609
15610         * Makefile.am: require automake 1.4, build README from README.in and
15611         INSTALL from INSTALL.in in dist-hook.
15612         
15613         * README.in:
15614         * INSTALL.in: new files to autogenerate README and INSTALL from.
15615
15616         * configure.in: figure whether we have GNU Make
15617
15618         * docs/generation.txt: minor additions/corrections.
15619
15620 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
15621
15622         * docs/gtkfaq.sgml: FAQ Update
15623
15624 July 30, 1999 Elliot Lee <sopwith@redhat.com>
15625         
15626         * configure.in: Fix autoconf warnings about cross compilation by
15627         trying to provide sane defaults for AC_TRY_RUN.
15628
15629 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
15630
15631         * ltconfig
15632         * ltmain.sh: upgrade to libtool 1.3.3
15633
15634 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
15635
15636         * INSTALL: Indicate that the --with-glib= configure
15637         time flag is unsupported.
15638
15639 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
15640
15641         * docs/generation.txt: Added a file that gives
15642         documenation about the autogeneration process for
15643         various autogenerated files.
15644         
15645 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
15646
15647         * configure.in (LIBS): Look for libgmodule in the
15648         right location.
15649
15650 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
15651
15652         * docs/gtk_tut.sgml: Removed references to
15653         code examples in my directory on gtk.org as
15654         they should all be in the tutorial now.
15655
15656         * docs/gtk_tut.sgml: Added sources for dial-test
15657         and scribble-xinput programs that were previously
15658         missing.
15659
15660 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
15661
15662         * TODO: Added entry about menu keyboard navigation, removed
15663         some finished items.
15664
15665 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
15666
15667         * acinclude.m4: Standardize on func_dgettext
15668         not func_gettext, so that the checks for dgettext
15669         actually are paid attention to.
15670
15671 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
15672
15673         * configure.in (LIBS): Add $INTLLIBS into $LIBS
15674         directly, rather than repeating the checks for
15675         gettext.
15676
15677         * INSTALL: Added information about gettext and
15678         NLS support.
15679
15680         * acinclude.m4 (LIBM): Check for dgettext, not
15681         just gettext. This should hopefully fix things wrt
15682         systems with old versions of GNU gettext installed.
15683
15684 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
15685
15686         * configure.in (LIBS): Look for libgmodule in the
15687         right location.
15688
15689 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
15690
15691         * autogen.sh: add --enable-maintainer-mode
15692
15693         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
15694
15695 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
15696
15697         * docs/gtk-config.1.in:
15698           docs/Makefile.am:
15699           configure.in: gtk-config is now generated.
15700
15701         * docs/gtk-config.1: Removed, now generated.
15702
15703 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
15704
15705         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
15706         handle CreateNotify itself, still put out a debuging message for
15707         --gdk-debug=events. made the ReparentNotify debugging message more
15708         verbose.
15709         wrap xcoords translation for ConfigureEvents into an error trap,
15710         a destroy event may already be pending, and in that case, the
15711         actuall coordinate values are not at all critical.
15712
15713 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
15714
15715         * gdk/gdkcc.c: Stop leaking the color_hash all over
15716         the place. Simplify and improve the logic.
15717
15718 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
15719
15720         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
15721         for prototypes and function implementations consistent (reported
15722         by Tomas Ogren).
15723
15724 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
15725
15726         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
15727         send_event set in debugging output.
15728         (gdk_compress_exposures): default initialize the event so we don't
15729         operate on bogus values (namely send_event).
15730
15731 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
15732
15733         * gdk/gdkwindow.c: When we receive an unexpected
15734         destroy notify on one of our windows, don't just
15735         warn about it, also mark our windows as destroyed.
15736
15737 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
15738
15739         * gdk/gdkfont.c (gdk_font_hash_insert): Add
15740           name => font and name => fontset hashes. The 
15741           name => fontset hash is a _big_ win since we
15742           weren't previously caching fontsets at all and loading
15743           fontsets is expensive. The name => font hash
15744           is less of a win, but it does save us from doing
15745           repeated XQueryFont calls on the same font.
15746
15747         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
15748           list so we can remove font/fontset from hash.
15749
15750 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
15751
15752         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
15753           and slightly confusing test. [ XInternAtom (,,TRUE)
15754           will never return None ].
15755
15756 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
15757
15758         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
15759           gdk/gdkwindow.c (gdk_window_set_hints):
15760
15761         Don't omit setting the properties if flags == 0 -
15762         there may be an existing set of properties there
15763         already. (Very old bug. Would it be better to
15764         delete the property instead?)
15765
15766         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
15767           spelling error in comment.
15768
15769 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
15770
15771         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
15772           to avoid stomping over gdk_error_warnings.
15773
15774         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
15775           as (bits_per_pixel + 7) / 8. This gives the same
15776           result as before for multiples of 8, but actually
15777           a "reasonable" value for 1bit or 4bit displays.
15778
15779 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
15780
15781         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
15782         GNU Make.
15783
15784 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
15785
15786         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
15787         discarding configure events.
15788
15789 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
15790
15791         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
15792         refcount is greater than zero.
15793
15794         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
15795
15796         * gdk/gdkfont.c (gdk_font_unref): Likewise.
15797
15798         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
15799
15800         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
15801
15802 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
15803
15804         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
15805         that format 32 => sizeof(item) == 4. It really is
15806         sizeof(long).
15807
15808 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
15809
15810         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
15811         core dump at all on X IO errors, only core dump
15812         if --enable-debug for X errors.
15813
15814 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
15815
15816         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
15817         unknown window:" message. disabled ConfigureNotify discarding code,
15818         because it led to events being processed out of order.
15819
15820 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
15821
15822         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
15823
15824         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
15825         we export this function, supress error warnings and don't reset the
15826         error code in the first half of this function.
15827
15828         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
15829         code (instead of just -1) so gdk_error_trap_pop() reveals something
15830         actually informative about the error that happened.
15831
15832         * gdk/*.c:
15833         don't rely on gdk_error_code being -1 if an error occoured, but just
15834         gdk_error_code != 0.
15835
15836 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
15837
15838         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
15839         pointer *before* invoking the filter function, so we at least don't
15840         crash if a filter is removed that is currently executed. window filters
15841         *really* need to be made truely reentrant at some point.
15842
15843 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
15844
15845         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
15846         PropertyNotify debug messages.
15847
15848 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
15849         
15850         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
15851         
15852         * gdk/gdkim.c: Fix cut-and-paste errors for 
15853         x/y and PreeditAttributes/StatusAttributes.
15854
15855 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
15856
15857         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
15858         G_MAXINT to 2^16 to alleviate overflow problems in
15859         various window managers.
15860
15861 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
15862
15863         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
15864         for fontsets.
15865
15866 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
15867
15868         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
15869         Initialize size_hints.x and size_hints.y because kwm
15870         brokenly pays attention to them.
15871         (Bug #1181 -  Lars Heete <hel@admin.de>)
15872
15873 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
15874
15875         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
15876         return value of gdk_list_visuals(). 
15877         (Bug #1193 - Morten Welinder <terra@diku.dk>)
15878
15879 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
15880
15881         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
15882         XSetIMValues to (void *) when comparing to NULL, to workaround
15883         the problem of some compilers barfing since older X headers don't
15884         have the prototype for it.
15885
15886 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
15887
15888         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
15889         for pseudocolor where colormap->colors was double
15890         allocated.
15891
15892         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
15893         color value in the hash table with the pixel filled
15894         in so when we do later hash table lookups, the color
15895         value is correct.
15896         
15897 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
15898
15899         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
15900         making the call
15901
15902 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
15903
15904         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
15905         pointed out by Morten Welinder <terra@diku.dk>.
15906
15907 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
15908
15909         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
15910           default filter from the list
15911
15912 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
15913
15914         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
15915           default filter from the list
15916
15917 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
15918
15919         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
15920
15921         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
15922         g_strdup_printf instead of calcing the length separately
15923
15924 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
15925
15926         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
15927         that we don't do in many other places. (Fixing duplicate 
15928         #include of config.h)
15929
15930         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
15931         Otherwise, #ifndef XINPUT_NONE check in the latter
15932         doesn't work. (Bug #546)
15933
15934 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
15935
15936         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
15937         "None" case insensitive.
15938
15939 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
15940
15941         * gdk/gdkselection.c: 
15942         Add error traps so if the other end of the connection
15943         dies, we survive.
15944
15945 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
15946
15947         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
15948         dest_xid field into two fields - one for the window
15949         to send in messages, one to indicate the last looked
15950         up window for caching purposes. This is needed, so
15951         that Leave messages get the correct window.
15952
15953 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
15954
15955         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
15956         Fix warning created by people mucking around
15957         with the gsource API.
15958
15959         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
15960         Change mapping between GIOCondition and GdkInputCondition
15961         to match the way the Linux kernel does it. This should
15962         fix problems where closed pipes were no longer signalling
15963         GDK_INPUT_READ on systems with a native poll().
15964
15965 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
15966
15967         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
15968         explicitly for the string "None" - it is in the XPM
15969         spec and some servers treat unknown colors in odd ways
15970         (like asking the user!)
15971
15972 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
15973
15974         * gdk/gdkevents.c: made "->" into a "." of previous change so
15975         it compiles
15976
15977 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
15978
15979         * gdk/gdkevents.c (gdk_compress_exposures): Set the
15980         window field of the event structure before calling
15981         user filters.
15982
15983 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
15984
15985         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
15986         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
15987
15988 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
15989
15990         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
15991         intermediate text property - prevents major memory
15992         leak when gdk_use_mb.
15993         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
15994
15995 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
15996
15997         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
15998         gtk-a-higuti-990322-[0-3]
15999
16000         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
16001         sizeof(wchar_t) != sizeof (GdkWChar)
16002
16003         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
16004         that was causing -DX_LOCALE not to work.
16005
16006         * gtk/gtkrc.c (gtk_rc_init):
16007         X_LOCALE will never have LC_MESSAGES defined
16008
16009         * gdk/gdk.c (gdk_init_check):
16010         Remove --xim-preedit and --xim-status from argv properly.
16011
16012         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
16013         that the client window is present on the X server
16014         before we pass it to the input method.
16015
16016 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
16017
16018         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
16019         if --display is specified on the command line, than
16020         the drag window will not be created on that display.
16021         
16022 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
16023
16024         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
16025         lookups with only_if_exists == TRUE were inserting
16026         bogus values into the atom cache.
16027
16028 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
16029
16030         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
16031         then reset it to NULL.
16032
16033         * gdk/gdkcolor.c:
16034         (gdk_colors_free): 
16035         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
16036         key for g_hash_table_remove() in both functions, this prevents us
16037         from accessing possibly uninitialized portions of a GdkColor structure
16038         where we are only interested in its pixel value.
16039
16040 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
16041
16042         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
16043         font hash table, if we have a GdkFontPrivate entry for this font
16044         already, simply increment its reference count, provided by Olaf Dietsche
16045         <olaf.dietsche+list.gtk@netcologne.de>.
16046
16047 1999-09-21  Tor Lillqvist  <tml@iki.fi>
16048
16049         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
16050         just to be sure.
16051
16052         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
16053         unused variables, leftovers from the X11 version.
16054
16055         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
16056
16057         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
16058         downcase fields on X11.
16059
16060 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
16061         
16062         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
16063         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
16064
16065 1999-09-17  Tor Lillqvist  <tml@iki.fi>
16066
16067         * gdk/win32/gdk.def: Add gdk_threads_mutex.
16068
16069         * gtk/makefile.msc: Correct path to libintl.
16070
16071         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
16072         use of gint vs. int, and gint vs. gboolean in headers and
16073         definitions. Use GtkType for the *_get_type functions. Note that
16074         these changes preserve binary compatibility.
16075
16076         * gdk/gdk.c
16077         * gdk/win32/gdk.c
16078         * gdk/gdk.h: Fix inconsistencies: gint vs int.
16079
16080         * gtk/gtkmain.c
16081         * gtk/gtkclist.c
16082         * gtk/gtkmenufactory.c
16083         * gtk/gtknotebook.c
16084         * gtk/gtkwidget.c: Fix inconsistencies, also gint
16085         vs. gboolean.
16086
16087         * gtk/gtkcolorsel.[ch]
16088         * gtk/gtkcombo.[ch]
16089         * gtk/gtkdrawingarea.[ch]
16090         * gtk/gtkgamma.[ch]
16091         * gtk/gtkhandlebox.[ch]
16092         * gtk/gtkhpaned.[ch]
16093         * gtk/gtkhruler.[ch]
16094         * gtk/gtkplug.[ch]
16095         * gtk/gtkpreview.[ch]
16096         * gtk/gtkruler.[ch]
16097         * gtk/gtksocket.[ch]
16098         * gtk/gtkstatusbar.[ch]
16099         * gtk/gtktoolbar.[ch]
16100         * gtk/gtkvbbox.[ch]
16101         * gtk/gtkvpaned.[ch]
16102         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
16103         functions.
16104
16105         * gtk/gtkgamma.h: Fix bug, missing () in call of
16106         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
16107
16108 1999-09-14  Tor Lillqvist  <tml@iki.fi>
16109
16110         * gdk/gdkcolor.c (gdk_colormap_new)
16111         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
16112         colormap->colors was allocated twice.
16113
16114         * gdk/win32/gdk.c: Remove some unused stuff.
16115
16116         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
16117         colormap.
16118
16119         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
16120         * gtk/gtklabel.h (gtk_label_get_type)
16121         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
16122         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
16123         in a couple of places, not guint.
16124
16125 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
16126
16127         * configure.in,po/et.po: added Estonian language file
16128
16129 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
16130
16131         * configure.in,po/da.po: added Danish file
16132
16133 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
16134
16135         * docs/gtkfaq.sgml: Minor FAQ Update
16136
16137 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
16138
16139         * docs/gtkfaq.sgml: FAQ update
16140
16141 1999-08-27  Tor Lillqvist  <tml@iki.fi>
16142
16143         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
16144         way to get window contents continually refreshed while resizing. I
16145         didn't like the effects myself, so it's not on by default.
16146
16147         * gdk/win32/gdkprivate.h: New flag variable
16148         gdk_event_func_from_window_proc, FALSE by default.
16149
16150         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
16151         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
16152         are passed --gdk-event-func-from-window-proc.
16153
16154         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
16155         and we have am event_func, call it instead of enqueing the event.
16156
16157 1999-08-23  Tor Lillqvist  <tml@iki.fi>
16158
16159         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
16160         Kelley: Set expose_count in GdkEventExposes correctly.
16161
16162         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
16163         MULTIPLE_WINDOW_CLASSES).
16164
16165         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
16166         for bug in NT, apparently NT *does* draw the end pixel, too, in
16167         LineTo with a one-pixel pen, so we don't have to do it ourselves.
16168
16169 1999-08-21  Tor Lillqvist  <tml@iki.fi>
16170
16171         Improvements by Hans Breuer: 
16172
16173         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
16174
16175         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
16176         CS_?REDRAW flags as they cause lots of (late) redraws when "show
16177         window contents while dragging" is turned on. Allocate at least
16178         one unique class for every GdkWindowType. If support for single
16179         window-specific icons is ever needed (eg. Dialog specific), every
16180         such window should get its own class.
16181
16182 1999-08-19  Tor Lillqvist  <tml@iki.fi>
16183
16184         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
16185         error that caused crashes.
16186
16187 1999-08-17  Tor Lillqvist  <tml@iki.fi>
16188
16189         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
16190         window, use ScrollWindowEx, and call UpdateWindow. This prevents
16191         bugs when for instance part of the window was outside the
16192         display. Thanks to Philippe Colantoni for finding and fixing this.
16193
16194 1999-08-16  Tor Lillqvist  <tml@iki.fi>
16195
16196         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
16197         endpoint calculations which were totally wrong. (A little RTFMing
16198         helps a lot ;-)
16199
16200         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
16201         from a separate directory, not from gettext, because of licensing
16202         issues (we want to use the LGPL version).
16203
16204         * README.win32: Mention the intl from glibc vs from gettext issue.
16205
16206 1999-08-13  Tor Lillqvist  <tml@iki.fi>
16207
16208         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
16209         in the key event handling: Now AltGr chars work again. Also,
16210         now Alt-digits are passed up as well as Control-digits.
16211         Pass keypad plus and minus as normal plus and minus.
16212
16213 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
16214
16215         * docs/gtkfaq.sgml: FAQ Update
16216
16217 1999-07-25  Tor Lillqvist  <tml@iki.fi>
16218
16219         * README.win32
16220         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
16221         the Wintab SDK.
16222
16223         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
16224         OK, but getting closer. Guard against bogus tilt data from Wacom
16225         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
16226         enable easier building without Wintab.
16227
16228         * gdk/win32/gdkinput.h
16229         * gdk/win32/gdkevents.c 
16230         * gdk/win32/gdkwindow.c: Minor changes related related to above.
16231         
16232         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
16233         code. As we have just one visual on Win32, no sense to have it in a
16234         table, and no need for the hash table.
16235
16236         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
16237         better on white background.
16238
16239 1999-07-21  Tor Lillqvist  <tml@iki.fi>
16240
16241         * README.win32: Update gcc build instructions. Mention gettext is
16242         GPL.
16243
16244         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
16245         supported cursor size with GetSystemMetrics.
16246
16247         * gdk/win32/gdkfont.c
16248         * gtk/gtkfontsel.c: Guard against some font weight and charset
16249         symbols being undefined (in mingw32 headers).
16250
16251         * gdk/win32/makefile.cygwin
16252         * gtk/makefile.cygwin
16253         * gtk/gtkthemes.c: No longer need to have differently named
16254         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
16255
16256 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
16257
16258         * docs/gtkfaq.sgml: Long awaited FAQ update.
16259
16260 1999-07-15  Tor Lillqvist  <tml@iki.fi>
16261
16262         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
16263         it. Obscure bit manipulation needed.
16264
16265         * gdk/win32/gdkevents.c: Logging.
16266         
16267         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
16268         style (file name include compiler name) for theme engines.
16269
16270 1999-07-13  Tor Lillqvist  <tml@iki.fi>
16271
16272         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
16273
16274         * gdk/win32/gdkevents.c: Fix long-standing bug in key
16275         events. The key.string wasn't zero-terminated, still we strdup'ed
16276         it in gdk_event_copy(). Synthesize crossing events for button
16277         events before possible propagation.
16278
16279         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
16280
16281         * gdk/win32/makefile.cygwin
16282         * gtk/makefile.cygwin: Use new DLL naming style for the
16283         GCC-compiled ones.
16284
16285         * gdk/win32/makefile.msc
16286         * gtk/makefile.msc: Cosmetics mostly.
16287
16288         * gtk/gtk.def: Add missing entry points.
16289
16290         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
16291
16292 1999-07-09  Tor Lillqvist  <tml@iki.fi>
16293
16294         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
16295         or height is zero. Don't print a warning if Pie or Arc fails, they
16296         always fail (?) for very narrow ellipses.
16297
16298         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
16299         the part or the destination window corresponding to source area
16300         outside of the source drawable's boundary.
16301
16302         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
16303         anything if less than two points.
16304
16305         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
16306         return NULL. Gtk cut-and-paste inside a single program works
16307         better this way. (It always gets the clipboard contents from
16308         Windows, not from its own copy, which is cleared anyway. I can't
16309         say I fully understand what happens... Emulating the X selection
16310         and property stuff is a bit of a mess.)
16311
16312         * gdk/win32/gdkevents.c
16313         * gdk/win32/gdkproperty.c: A bit more verbose logging.
16314
16315         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
16316         that never got deleted). Revamp gdk_region_shrink.
16317
16318         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
16319         after use.
16320
16321         * gtk/gtk.def: Add some missing entry points.
16322
16323         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
16324         component.
16325
16326 1999-07-04  Tor Lillqvist  <tml@iki.fi>
16327
16328         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
16329         Control-digits specially.
16330
16331 1999-07-03  Tor Lillqvist  <tml@iki.fi>
16332
16333         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
16334
16335 1999-06-28  Tor Lillqvist  <tml@iki.fi>
16336
16337         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
16338         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
16339         finding this.)
16340
16341 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
16342
16343         * gtk+.spec.in: Corrected some typos in files section.
16344         
16345 1999-06-15  Tor Lillqvist  <tml@iki.fi>
16346
16347         * README.win32: Mention using GNU gettext.
16348         * config.h.win32: Enable NLS stuff.
16349         * gtk/makefile.msc: Use GNU gettext.
16350         * gdk/win32/gdkdnd.c: Minor header reorg.
16351         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
16352         cosmetics.
16353         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
16354         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
16355
16356 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
16357
16358         * acinclude.m4
16359         * config.guess
16360         * config.status
16361         * ltconfig
16362         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
16363
16364 1999-05-30  Tor Lillqvist  <tml@iki.fi>
16365
16366         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
16367         SafeAdjustWindowRectEx. Don't override all calls to
16368         AdjustWindowRectEx by it, but use it only in two places: When
16369         creating a new top-level window and when moving a top-level
16370         window.
16371
16372         Use screen coordinate rectangle, not client rectangle, in
16373         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
16374         when we try to place a window so that the decoration (mainly,
16375         title bar) isn't visible.
16376
16377         These changes fix the bug that showed up for instance as the
16378         GIMP's saved top-level windows moving right and down (by an amount
16379         equal to the window decoration) for each session. This bug showed
16380         up also in testgtk's "Saved Position".
16381
16382         gdk_window_resize also redone a bit.
16383
16384 1999-05-25  Tor Lillqvist  <tml@iki.fi>
16385
16386         * gtk/testgtkrc: Add (commented out) Windows-style theme
16387         include line.
16388
16389         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
16390
16391 1999-05-18  Tor Lillqvist  <tml@iki.fi>
16392
16393         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
16394         gdkx.h to a gdk subdirectory, so that applications can include
16395         these with <gdk/*.h> without trouble.
16396
16397         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
16398         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
16399         have their bitmap destroyed.
16400
16401         * gdk/win32/gdk.def: Add gdk_root_parent.
16402
16403 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
16404
16405         * configure.in
16406           gtk-config.in
16407           ltconfig
16408           ltmain.sh     
16409           gtk/Makefile.am: changes to compile nicely (with xlib) 
16410           on BeOS
16411
16412 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
16413
16414         * acinclude.m4
16415         * config.guess
16416         * config.sub
16417         * ltconfig
16418         * ltmain.sh: upgrade to libtool 1.3
16419
16420 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
16421
16422         * gtk/gtkclist.c:
16423         * gtk/gtkctree.c: merges from gtk-1-2
16424
16425 1999-04-25  Tor Lillqvist  <tml@iki.fi>
16426
16427         Support added for building using a GNU toolchain on Win32,
16428         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
16429
16430         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
16431         * config.h.win32: Changes for gcc.
16432         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
16433         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
16434         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
16435         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
16436         Protect shl stuff unavaiilable with mingw32 headers.
16437         * gdk/win32/gdkevents.c: Fix typo.
16438         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
16439         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
16440         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
16441         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
16442         the mingw32 headers.
16443         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
16444         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
16445         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
16446         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
16447         Test for NATIVE_WIN32, not _MSC_VER.
16448         * gtk/gtkmain.c: No use warning about developer version on Win32,
16449         there aren't any non-developer versions anyhow.
16450         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
16451         * gtk/makefile.msc: Use pthread from another directory. Minor other
16452         changes. 
16453
16454 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
16455
16456         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
16457           default filter from the list
16458
16459 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
16460
16461         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
16462          when gtk_widget_grab_default() is called for a widget that
16463          is not within a GtkWindow.
16464
16465 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
16466
16467         * docs/gtk_tut.sgml, examples/clist.c: use a
16468           scrolled window in the clist example. Minor
16469           tutorial fixes.
16470
16471 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
16472
16473         * docs/gtk_tut.sgml: Style check from David King
16474           <dking@youvegotmail.net>
16475
16476 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
16477
16478         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
16479         compile with unknown value of GDK_WINDOWING
16480
16481 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
16482
16483         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
16484         after the rule is fired.
16485         (install-exec-local): Install gdkconfig.h only if the contents are
16486         different from the currently installed gdkconfig.h.
16487
16488 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
16489
16490         * gdk/Makefile.am (configexecincludedir): Rename from 
16491         configincludedir so that gdkconfig.h will be installed 
16492         as part of `make install-exec'. 
16493
16494 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
16495
16496         * acinclude.m4
16497         * config.guess
16498         * config.sub
16499         * ltconfig
16500         * ltmain.sh: upgrade to libtool 1.2f
16501
16502         * autogen.sh: libtool is not required to autogen gtk+
16503
16504         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
16505         needed)
16506
16507 1999-03-18  Tor Lillqvist  <tml@iki.fi>
16508
16509         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
16510         declaring gdk variables exported/imported from the DLL. New image
16511         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
16512         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
16513         GDK_DRAG_PROTO_OLE2.
16514
16515         * gdk/gdk.h: Merge in Win32 version: Two new functions,
16516         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
16517         declared only for the Win32 version, but could be in the X11
16518         version as well. (Needed for a Xlib-less gdk_imlib.)
16519         gdk_color_hash should have only one parameter. Declare
16520         gdk_threads_mutex with GDKVAR.
16521         
16522         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
16523         just one parameter.
16524
16525         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
16526         per pixel, not bits.
16527
16528         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
16529         Fetch bpp (which means bits-per-pixel here) from another place on
16530         Win32. Accept also depth==32 (which we might get on Win32) with
16531         bpp==32.
16532
16533         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
16534         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
16535         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
16536         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
16537         in the backend-dependent directory, not in the common gdk
16538         directory.
16539
16540         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
16541         headers.
16542
16543 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
16544
16545         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
16546         want to use the Gtk+ devel version (which is true, and yes - even i am
16547         currently working with the 1.2.x branch). so everyone reading this, you
16548         probably want to issue
16549         cvs checkout -r glib-1-2 glib
16550         and
16551         cvs checkout -r gtk-1-2 gtk+
16552         as your next two comands.
16553
16554 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
16555
16556         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
16557         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
16558
16559         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
16560         file. strongly deprecated the GTK_HAVE_* macros, we provide
16561         GTK_CHECK_VERSION() for people that need to check for certain
16562         Gtk+ versions.
16563
16564         * gtk/gtkcompat.h: removed this from CVS.
16565         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
16566         idea right from the start, it just didn't seem like that back then.
16567
16568 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
16569
16570         * merges from gtk-1-2:
16571
16572 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
16573
16574         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
16575         item factory class has been created.
16576         (gtk_item_factory_parse_rc): likewise.
16577
16578         * gtk/gtkmenu.c:
16579         keep proper references for old_active_menu_item.
16580         (gtk_menu_reparent): unset the usize of the new parent,
16581         so the menu can sanely be size requested and we don't get nasty screen
16582         artefacts upon next reparentation.
16583         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
16584         enter notify. only synthesize enter notifies if the pointer really is
16585         inside the event window.
16586         (gtk_menu_popdown): use gtk_menu_shell_deselect().
16587         (gtk_menu_popup): move the background setting stuff into
16588         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
16589
16590         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
16591         gtk_menu_shell_select_item() to select the new item.
16592         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
16593         do the right thing for deselection as well.
16594
16595 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
16596
16597         * gtk/gtkwidget.[hc]:
16598         (gtk_widget_accelerators_locked): return whether a widget's accelerators
16599         are locked.
16600
16601         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
16602         existing accelerators if the widget's accelerators are locked.
16603
16604 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
16605
16606         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
16607
16608         * gtk/gtkmenu.c: truely forward key press and key release events to
16609         the menu widget from the toplevel or tearoff window. we can't simply
16610         connect to that, we need to stop further processing of the events as
16611         well.
16612
16613 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
16614
16615         * gtk/gtkmenu.c:
16616         (gtk_menu_key_press): pass event->keyval, event->state to
16617         gtk_accelerator_valid, instead of event->keyval twice.
16618         refuse to install single letter accelerators for menus that use
16619         single letter shortcuts.
16620
16621         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
16622         gtk_menu_ensure_uline_accel_group().
16623
16624         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
16625         which will always return an uline accel group, made
16626         gtk_menu_get_uline_accel_group() return NULL if the group isn't
16627         yet created.
16628
16629 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
16630
16631         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
16632
16633         * gtk/gtkclist.c (gtk_clist_column_title_passive):
16634         Leave button sensitive, trap  button_press, button_release,
16635         motion_notify, enter_notify and leave_notify events instead.
16636         (gtk_clist_column_title_active): disconnect event handler.
16637         (gtk_clist_drag_data_get): fixed memory leak. Reported by
16638         Guillaume Laurent <glaurent@worldnet.fr>
16639
16640 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
16641
16642         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
16643         width/height mixups.
16644
16645         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
16646         if needed.
16647
16648 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
16649
16650         * gtk/testgtk.c (create_item_factory): unref the item factory after
16651         window's destruction.
16652
16653         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
16654         count on the menu shell around the menu item's activation, since the
16655         signal emission may cause menu shell destruction.
16656
16657         * gtk/gtkitemfactory.c:
16658         the previous code leaked one accel group per menu. we use
16659         gtk_menu_get_uline_accel_group() now to fix that, and with that
16660         also create the underline accelerator group of the menus only if
16661         required (i.e. an underline accelerator has been specified).
16662         (gtk_item_factory_construct):
16663         (gtk_item_factory_create_item): removed code that would create an
16664         extra accel group for the menu (and leak references).
16665         (gtk_item_factory_create_item): adapted the underline accelerator
16666         installation code to properly feature gtk_menu_get_uline_accel_group().
16667
16668         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
16669         menu->accel_group, this may return NULL if the accelerator group
16670         hasn't been set yet.
16671         added gtk_menu_get_uline_accel_group() to retrive the underline
16672         accelerator group of the menu, this will be created on demand
16673         and proper care is taken about its reference count.
16674
16675         * gtk/gtkitemfactory.h:
16676         * gtk/gtkitemfactory.c:
16677         dumped the approach of keeping a widgets by action list on the
16678         factory since the factory<->widget destroy negotiation didn't work
16679         and would be hard to get going at all. instead we keep a list of
16680         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
16681         persistant throughout a program's life time).
16682         also, i removed the static const gchar *key_* variables, and made
16683         them inline strings (they weren't actually used anyways).
16684         (gtk_item_factory_add_item): update ifactory->items.
16685         (gtk_item_factory_destroy): destroy ifactory->items (and remove
16686         the item factory pointer from the remaining ifactory widgets).
16687         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
16688         list to find the widget.
16689         (gtk_item_factory_get_item): new function that works around
16690         gtk_item_factory_get_widget() limitations, this function will only
16691         return menu items, even for <Branch> entries.
16692
16693 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
16694
16695         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
16696         font hash table, if we have a GdkFontPrivate entry for this font
16697         already, simply increment its reference count, provided by Olaf Dietsche
16698         <olaf.dietsche+list.gtk@netcologne.de>.
16699
16700         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
16701         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
16702
16703 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
16704
16705         * gtk/gtkcontainer.c:
16706         (gtk_container_add_with_args):
16707         (gtk_container_addv):
16708         (gtk_container_add): before adding a child to a conatiner, make sure
16709         it is (default) constructed, this is neccessary because under certain
16710         circumstances the child will get relized and mapped immediatedly, in
16711         which case it has to be constructed already.
16712
16713 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
16714
16715         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
16716         values > 1 as TRUE also.
16717
16718 1999-03-16  Tor Lillqvist  <tml@iki.fi>
16719
16720         * README.win32: New file.
16721                 
16722         * configure.in: Check for lstat.
16723
16724         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
16725         completeness.
16726
16727         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
16728
16729         * gtk/gtk.def: Removed CRs.
16730
16731         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
16732         ..\gdk\win32).
16733
16734         * gdk/win32/makefile.msc: Correct upwards relative paths.
16735         
16736 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
16737
16738         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
16739           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
16740           it was connecting a void function to expose_event and the int
16741           returning function to the draw signal
16742
16743 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
16744
16745         * configure.in:
16746         Use correct path to libgmodule.la when ref'ing uninstalled copy
16747         of glib.  (Already in stable branch, Bug #417)
16748
16749 1999-03-15  Tor Lillqvist  <tml@iki.fi>
16750
16751         Win32 merge and general portability stuff:
16752                 
16753         * acconfig.h,configure.in: Check for <sys/time.h>.
16754
16755         * gdk/win32: New directory (actually, been there for a while).
16756         
16757         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
16758         NATIVE_WIN32, and use these. Always case fold on Win32. No
16759         backslashed escapes on native Win32.
16760
16761         * gtk/{gtk.def,makefile.msc}: New files.
16762
16763         * gtk/Makefile.am: Add above new files.
16764         
16765         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
16766         instead of <strings.h>.
16767
16768         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
16769         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
16770         <unistd.h> appropriately.
16771
16772         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
16773         Use ABS() (from <glib.h>) instead of abs().
16774         
16775         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
16776         of gtk (and thus glib) headers, so that WIN32 will be
16777         defined. With MS C, include <direct.h> for mkdir prototype.
16778
16779         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
16780         some casts, needed by MS C.
16781
16782         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
16783         implemented).
16784
16785         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
16786         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
16787         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
16788
16789         * gtk/gtkmain.h: Mark variables for export/import on Win32.
16790                 
16791         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
16792         the event is not a hint, or its window is not the slider. Needed
16793         on Win32, at least.
16794
16795         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
16796         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
16797         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
16798         a subdirectory of the Windows directory as gtk system
16799         configuration directory.
16800
16801         * gtk/gtkselection.c: No chunks on Win32.
16802
16803         * gtk/gtksocket.c: Not implemented on Win32.
16804
16805         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
16806
16807         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
16808
16809         * gtk/maketypes.awk: Declare variables with a macro that expands to
16810         necessary export/import magic in the case of Win32.
16811                 
16812         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
16813
16814 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
16815
16816         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
16817         since those were meant only for gdki18n.h.  
16818         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
16819         for widechar tests.
16820         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
16821
16822 1999-03-13  Tor Lillqvist  <tml@iki.fi>
16823
16824         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
16825         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
16826
16827         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
16828         installed) to CFLAGS.
16829
16830         * gdk/Makefile.am: Add rules for gdkconfig.h.
16831
16832         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
16833         APIs.
16834
16835         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
16836         gdkx.h anyway when compiling for X11.
16837         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
16838         general): Merge in Win32 version.
16839         
16840         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
16841         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
16842         expansion (if we don't have HAVE_PWD_H), allow for drive
16843         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
16844         included code from Craig Setera's port to Win32 (the one that uses
16845         X11, and the cygwin dll), even if it probably will be abandoned.
16846
16847         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
16848         the user entered one herself.  This way one can complete *.h and
16849         don't get matches on any .help files, for instance.
16850         
16851 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
16852
16853         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
16854         font hash table, if we have a GdkFontPrivate entry for this font
16855         already, simply increment its reference count, provided by Olaf Dietsche
16856         <olaf.dietsche+list.gtk@netcologne.de>.
16857
16858         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
16859         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
16860
16861 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
16862
16863         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
16864         the number of calls to gdk_draw_point() (and thus to X) by
16865         clipping the points by hand.
16866
16867         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
16868         the clip parameter.
16869         (gtk_handle_box_paint): Only paint the handle if the expose area
16870         intersects it.
16871
16872 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
16873
16874         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
16875
16876 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
16877
16878         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
16879         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
16880
16881 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
16882
16883         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
16884          textmode (O_TEXT) for OS/2 version.
16885
16886 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
16887
16888         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
16889         GtkSpinButton, "input" and "output", to make the output more flexible.
16890         The user has to provide a mapping between adjustment->value and the
16891         output string (and vice versa, if the spin button is editable). 
16892         See testgtk for examples.
16893
16894 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
16895
16896         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
16897         new one.
16898         
16899         * configure.in: set gtk+ version to 1.3.0.