]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-4
891b8745406c5693c79e34b29be35a6b94942ee5
[~andy/gtk] / ChangeLog.pre-2-4
1 Wed Jun  6 20:01:38 2001  Jonathan Blandford  <jrb@redhat.com>
2
3         * gtk/gtktreeview.c
4         (gtk_tree_view_real_expand_collapse_cursor_row): Handle key
5         bindings to expand and collapse rows.
6         (gtk_tree_view_real_select_cursor_parent): New key binding.
7         (gtk_tree_view_real_toggle_cursor_row): New key binding.
8
9         * gtk/gtkmarshal.list: new
10         marshaller. (VOID__BOOLEAN_BOOLEAN_BOOLEAN)
11
12 2001-06-06  Havoc Pennington  <hp@redhat.com>
13
14         * gtk/gtkrange.c (gtk_range_class_init): add "inverted" property
15
16         * gtk/gtkscale.c (gtk_scale_class_init): Change Page Up and Page
17         Down to move visually rather than logically, since it confuses 
18         people. Add -/+ and Ctrl--/+ bindings for logical movement.
19
20 Wed Jun  6 10:34:42 2001  Owen Taylor  <otaylor@redhat.com>
21
22         * gtk/gtktooltips.h: Include gtkwidget.h 
23         (#55798, Karl Nelson)
24
25         * gdk/x11/gdkwindow-x11.c (utf8_is_latin1): 0xff is
26         a valid latin-1 character. (Marc Lehmann, #35467)
27
28         * gdk/x11/gdkwindow-x11.c: Fix minor typo in comment. 
29         (Marc Lehmann, #35467)
30         
31 2001-06-05  Alex Larsson  <alexl@redhat.com>
32
33         * demos/gtk-demo/appwindow.c (do_appwindow):
34         Don't swap the order of the args to gtk_widget_destroyed.
35
36         * tests/testgtk.c (destroy_properties):
37         Don't crash when the properties window is destroyed.
38
39         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_new_from_stock):
40         Use with_mnemonics to handle the case of stock items with
41         underscores in them.
42
43 2001-06-05  Havoc Pennington  <hp@redhat.com>
44
45         * gtk/gtktextiter.c (gtk_text_iter_order): rename from 
46         gtk_text_iter_reorder
47
48 2001-06-05  Havoc Pennington  <hp@redhat.com>
49
50         * gtk/gtktoolbar.c (gtk_toolbar_remove_space): new function
51
52 2001-06-05  Havoc Pennington  <hp@redhat.com>
53
54         * gtk/gtkspinbutton.c (gtk_spin_button_set_range): clamp the value 
55         to the range that was set
56
57         * gtk/gtkrange.c: add value_changed signal, primarily 
58         intended for use with GtkScale
59         (gtk_range_set_increments): new function
60         (gtk_range_set_range): new function with weird name
61         (gtk_range_set_value): new function
62         (gtk_range_get_value): new function
63
64         * gtk/gtkspinbutton.c (gtk_spin_button_get_value): rename 
65         from gtk_spin_button_get_value_as_float(). Compat #define
66         added for get_value_as_float.
67
68         * gtk/gtkhscale.c (gtk_hscale_new_with_range): new function
69
70         * gtk/gtkvscale.c (gtk_vscale_new_with_range): new function
71
72 Tue Jun  5 14:57:18 2001  Jonathan Blandford  <jrb@redhat.com>
73
74         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_size): Fix bug #55573
75
76 Mon Jun  4 12:41:25 2001  Owen Taylor  <otaylor@redhat.com>
77
78         * gtk/gtkwidget.h: Deprecate gtk_widget_set().
79
80         * tests/testgtk.c (create_tooltips): Remove usage of
81         gtk_widget_set().
82
83 2001-06-05  Havoc Pennington  <hp@redhat.com>
84
85         * gtk/gtkcolorsel.c: Use new mnemonic convenience functions
86
87         Applying patch from Jeff Franks, with function docs added.
88         
89         * gtk/gtkcheckbutton.c (gtk_check_button_new_with_mnemonic):
90         remove call to set_mnemonic_widget, change docs a bit.  
91
92         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_new_with_mnemonic):
93         new function
94
95         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_new_with_mnemonic):
96         new function
97
98         * gtk/gtkmenuitem.c (gtk_menu_item_new_with_mnemonic): new function
99
100         * gtk/gtkradiobutton.c (gtk_radio_button_new_with_mnemonic): new
101         function
102         (gtk_radio_button_new_with_mnemonic_from_widget): new function
103
104         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_new_with_mnemonic):
105         new function
106
107         * gtk/gtktogglebutton.c (gtk_toggle_button_new_with_mnemonic): new
108         function        
109
110         * gtk/gtklabel.c (gtk_label_new_with_mnemonic): Improve docs on 
111         auto-selection of mnemonic widget.
112
113 Mon Jun  4 15:05:24 2001  Jonathan Blandford  <jrb@redhat.com>
114
115         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_max_width):
116         Fix segfault found by Vitaly Tishkov <tvv@sparc.spb.su>.
117         (gtk_tree_view_column_set_min_width): ditto.
118
119 Tue Jun  5 11:04:06 2001  Owen Taylor  <otaylor@redhat.com>
120
121         * gdk/gdkpixmap.h (GDK_PIXMAP_GET_CLASS): 
122         s/GdkPixmapClass/GdkPixmapObjectClass/. (#51890, Jeff Franks)
123
124 Mon Jun  4 12:50:11 2001  Owen Taylor  <otaylor@redhat.com>
125
126         * gtk/gtkctree.c (gtk_ctree_insert_gnode): Add a missing
127         gtk_clist_thaw().
128
129 2001-06-04  Havoc Pennington  <hp@pobox.com>
130
131         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Ignore 
132         releases for buttons 6, 7
133
134 2001-06-04  Havoc Pennington  <hp@redhat.com>
135
136         * gtk/gtkseparatormenuitem.h: Fix a search-and-replace screwup
137         (s/CHECK/SEPARATOR/ gone awry). Patch from Jeff Franks, bug
138         #55562
139
140 2001-06-04  Havoc Pennington  <hp@redhat.com>
141
142         * gtk/gtktextview.c (gtk_text_view_size_request): handle case
143         where text_view->layout == NULL by assuming its size is 0, 
144         i.e. same as if we haven't done any reflow. Reported by 
145         Hidetoshi Tajima #55448 
146
147 2001-06-04  Havoc Pennington  <hp@redhat.com>
148
149         * gdk/x11/gdkevents-x11.c (gdk_event_translate): support button 6
150         and 7 for scroll left/right, from Thomas Broyer
151
152 2001-05-10  Havoc Pennington  <hp@redhat.com>
153
154         * gtk/gtksettings.c (gtk_settings_get_property): Handle case where
155         we need to parse the xsetting as if it were an RC file string.
156
157         * gtk/gtkcolorsel.c (gtk_color_selection_class_init): load initial
158         value of palette from settings, not from static variable
159
160         * gdk/x11/gdkevents-x11.c: add color palette, toolbar mode to
161         xsettings translation table
162
163         * gtk/gtktoolbar.c (gtk_toolbar_new): Remove arguments, because 
164         hardcoding the toolbar style conflicts with new customizable 
165         toolbar style philosophy
166         (gtk_toolbar_class_init): add settings for default toolbar style;
167         these are used unless the app specifically forces a toolbar style
168
169         * gtk/gtksettings.c (settings_install_property_parser): only
170         return at the start if we warn and parser == NULL
171
172         * gtk/gtkcolorsel.c (gtk_color_selection_finalize): disconnect the
173         palette changed handler so we don't notify dead color selections
174
175         * gtk/gtkstyle.c (gtk_default_draw_shadow): handle
176         xthickness/ythickness of 0 or 1 properly 
177         (gtk_default_draw_resize_grip): clear the background behind the
178         resize grips, and align to bottom right if we square the 
179         area to be drawn.
180
181         * gtk/gtkstatusbar.c (gtk_statusbar_init): set horizontal usize on 
182         statusbar label to 1, so it doesn't make toplevels resize oddly
183         (gtk_statusbar_size_request): add grip size to request
184         (gtk_statusbar_size_allocate): hack so the hbox still works with 
185         the grip size in the request
186
187         * gtk/gtktoolbar.c (gtk_toolbar_show_all): override to fix 
188         bug where showing all on a toplevel makes the toolbar 
189         button text appear despite the toolbar mode
190
191         * gtk/gtkmenubar.c: add internal padding style property
192
193         * gtk/gtktoolbar.c: Add internal padding style property; add
194         shadow type style property
195
196         * gtk/gtkmenubar.c (gtk_menu_bar_paint): paint box with widget
197         state; and put Container::border_width outside the frame
198
199         * gtk/gtktextview.c: don't draw focus rectangle if we're in
200         interior focus mode, we just use blinking cursor
201
202 2001-06-04  Havoc Pennington  <hp@redhat.com>
203
204         * configure.in: Make gdk-pixbuf have same version number as GTK
205
206 2001-06-04  Havoc Pennington  <hp@redhat.com>
207
208         * gtk/gtkspinbutton.c: Get rid of stupid g_return_if_fail on 
209         digits greater than 6. If there actually are limits (which there
210         likely aren't), should clamp to them not warn.
211         (gtk_spin_button_new_with_range): don't take log of 0
212         (gtk_spin_button_size_request): use digits to compute size
213         request, rather than step increment.
214
215         * tests/testgtk.c (create_spins): test larger values of digits
216         
217         * gtk/gtkfontsel.c (gtk_font_selection_init): scroll to selected
218         font on map not expose, so we don't get weirdness during scrolling
219
220 2001-06-04  Havoc Pennington  <hp@redhat.com>
221
222         * gtk/gtkclist.c (vadjustment_value_changed): Apply fix from
223         Sam Solon, bug #54577, update value even if not drawable.
224
225 2001-06-04  Havoc Pennington  <hp@redhat.com>
226
227         * gtk/gtkrange.c (gtk_range_scroll_event): change SCROLL_RIGHT to
228         SCROLL_LEFT, reported by Thomas Broyer.
229
230 2001-06-04  Havoc Pennington  <hp@redhat.com>
231
232         * gtk/gtkrange.c (gtk_range_adjustment_value_changed): 
233         Process updates immediately, to prevent funny lag effect
234         when scrolling, at some mild potential efficiency cost.
235
236 2001-06-04  Havoc Pennington  <hp@redhat.com>
237
238         * gtk/gtkrange.c (gtk_range_button_press): on middle click, center
239         slider on the click.
240
241 2001-06-03  Havoc Pennington  <hp@pobox.com>
242
243         * gtk/gtkstyle.c (gtk_default_draw_slider): make this special-case
244         hscale/vscale details, so we can use it for scrollbar as well.
245
246         * tests/testgtk.c (reformat_value): honor digits from GtkScale
247
248         * gtk/gtkenums.h (GtkTroughType): Remove this enum
249         (GtkScrollType): add START and END from GtkTroughType
250
251         * gtk/gtkstyle.c (gtk_default_draw_slider): was not properly using
252         its x/y arguments
253
254         * gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkscrollbar.h,
255         gtk/gtkscrollbar.c, gtk/gtkscale.h, gtk/gtkscale.c,
256         gtk/gtkhscrollbar.h, gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.h,
257         gtk/gtkvscrollbar.c, gtk/gtkhscale.h, gtk/gtkhscale.c,
258         gtk/gtkvscale.h, gtk/gtkvscale.c: Rewrite GtkRange and subclasses.
259
260         Notable changes in the process:
261          
262         - stepper_size style property is the height for vertical 
263           ranges, width for horizontal; the other dimension matches
264           the trough size
265         - add ability to do NeXT-style steppers (and several other styles
266           that don't make any sense)
267         - added min_slider_length, fixed_slider_length properties to
268           GtkScrollbar
269         - cleaned some private (or at least useless) functions out of
270           gtkscale.h    
271         - moved bindings to GtkScale from subclasses, even arrow keys,
272           since blind users don't know scale orientation.
273         - change move_slider action signal to use new GtkScrollType,
274           remove GtkTroughType argument
275         - digits rounds the values a range will input to the given 
276           number of decimals, but will not try to force adjustment 
277           values set by other controllers. That is, we no longer
278           modify adjustment->value inside a value_changed handler.
279         - added getters for GtkScale setters
280         - middle-click begins a slider drag
281         
282 Fri Jun  1 18:54:47 2001  Jonathan Blandford  <jrb@redhat.com>
283
284         * gtk/gtktreeview.c: (gtk_tree_view_focus): Initial stab at
285         getting the focus code to work.
286         (gtk_tree_view_class_init): Add a bunch of keybindings.
287
288         * gtk/gtktreeviewcolumn.c
289         (gtk_tree_view_column_set_cell_data_func):
290         s/GtkCellDataFunc/GtkTreeCellDataFunc.
291         (_gtk_tree_view_column_set_tree_view): Use "notify::model" instead
292         of "properties_changed" to help justify the death of the latter
293         signal. (-:
294
295         * tests/testtreefocus.c (main): Let some columns be focussable to
296         test focus better.
297
298 2001-06-01  Havoc Pennington  <hp@redhat.com>
299
300         * gtk/gtkentry.c (gtk_entry_commit_cb): implement overwrite mode
301         
302         * gtk/gtktextview.c (gtk_text_view_commit_handler): don't
303         overwrite in overwrite mode if we already deleted the selection
304         and replaced it with new text.  
305
306         * gtk/gtklabel.c (gtk_label_select_region_index): if you set the
307         selection to an empty range, clear the clipboard if we owned it.
308         (gtk_label_set_selectable): give up selection if we become
309         unselectable.
310         (gtk_label_state_changed): override state changed to unselect text
311         when insensitive
312         (get_text_callback): add paranoia check that indexes aren't
313         outside of label->text
314         (gtk_label_select_region): make -1 for start_offset mean "end of
315         label," for consistency with GtkEditable
316
317         * gtk/gtkmessagedialog.c (gtk_message_dialog_new): honor
318         GTK_DIALOG_NO_SEPARATOR flag
319
320 Fri Jun  1 11:47:11 2001  Owen Taylor  <otaylor@redhat.com>
321
322         * gtk/gtkcombo.c (gtk_combo_set_use_arrows_always): Fix 
323         notifications on non-existant "enable_arrow_keys".
324         (#53753, Skip Montanaro)
325
326 Fri Jun  1 11:31:55 2001  Owen Taylor  <otaylor@redhat.com>
327
328         * gdk/gdkrectangle.c (gdk_rectangle_get_type): Add 
329         GDK_TYPE_RECTANGLE.
330
331         * gtk/gtkwidget.c (gtk_widget_class_init): Fix type
332         of allocation argument be GDK_TYPE_RECTANGLE.
333
334 Thu May 31 12:43:57 2001  Owen Taylor  <otaylor@redhat.com>
335
336         * gtk/gtkoptionmenu.c: Account for the fact that the border
337         width is _outside_ the window. (Fixes #54585, bug found
338         by Bastien Nocera.)
339
340 Wed May 30 15:56:30 2001  Owen Taylor  <otaylor@redhat.com>
341
342         * gtk/gtksettings.c (gtk_settings_get_property): Validate
343         value from GDK settings against parameter spec.
344
345         * gdk/x11/gdkevents-x11.c (gdk_setting_get): Add assignments
346         to temporary values and use g_value_transform(), since
347         thinking that GValue was going to be easy or efficient
348         to use was, of course, a mistake.
349
350         * gtk/gtksettings.c: Add cursor blink setting.
351         
352         * gdk/x11/gdkevents-x11.c: Add cursor blink X settings.
353
354         * gtk/gtkentry.c: Add cursor blinking.
355
356         * gtk/gtktextview.c (gtk_text_view_check_cursor_blink): Use
357         cursor blink global settings.
358
359         * gtk/gtkentry.c (gtk_entry_button_press): Add notification
360         for :text_position in places where it is missing.
361
362 Tue May 29 18:17:11 2001  Owen Taylor  <otaylor@redhat.com>
363
364         * autogen.sh (have_libtool): Fix GNU sedism (#55430)
365
366 Tue May 29 17:40:29 2001  Owen Taylor  <otaylor@redhat.com>
367
368         * configure.in (GTK_DEP_CFLAGS): Use $PKG_CONFIG,
369         not pkg-config. (#51032)
370
371         * gdk/gdkproperty.h: Remove inappropriate G_GNUC_CONST
372         (fixes #51952, James Henstridge)
373         
374 2001-05-27  Alexander Larsson  <alla@lysator.liu.se>
375
376         * gtk/gtkstock.h (GTK_STOCK_GO_UP):
377         Rename to the more correct gtk-go-up.
378
379         * gtk/stock-icons/stock_menu_sort_ascending.png:
380         Added new file.
381         
382         * gtk/stock-icons/stock_menu_sort_descending.png:
383         Changed to show descending instead of ascending.
384
385         * gtk/gtkiconfactory.c:
386         Added menu size icon to sort ascending.
387
388         * gtk/stock-icons/Makefile.am:
389         Added stock_menu_sort_ascending.png.
390         
391         * gtk/gtkseparatormenuitem.c:
392         Use correct typenames.
393
394 Sun May 20 20:07:35 2001  Tim Janik  <timj@gtk.org>
395
396         * gtk/gtksignal.[hc] (gtk_signal_connect_full): make hanlder id a
397         gulong as in GSignal.
398
399 Fri May 25 19:04:17 2001  Jonathan Blandford  <jrb@redhat.com>
400
401         * gtk/gtktreeview.c (gtk_tree_view_calc_size): Remove almost all
402         instances of GtkCellRenderer in code (all but dnd icon code).
403         Virtualized in GtkTreeViewColumn.  Now I need to move focus in
404         there, and I can do multiple Cells per column.
405
406         * gtk/gtktreeviewcolumn.c: Proxy all cell calls correctly
407
408         * gtk/gtktreemodel.c (gtk_tree_row_reference_new_proxy): fix bug
409         when model was unreffed prior to removing the row reference.
410
411 2001-05-25  Havoc Pennington  <hp@redhat.com>
412
413         * gtk/gtkiconfactory.c: fix so that default icons are created if 
414         you call gtk_stock_list_ids()
415
416         * demos/gtk-demo/stock_browser.c (create_model): sort stock items
417         in list
418
419 2001-05-25  Havoc Pennington  <hp@redhat.com>
420
421         * gtk/gtkiconfactory.c (gtk_icon_set_get_sizes): get sizes an icon
422         set can render without falling back to missing image icon
423
424         * gtk/gtktextview.c (gtk_text_view_size_request): request full
425         size of text, instead of random values
426
427         * gtk/gtktreeview.c (gtk_tree_view_size_request): request full
428         size of tree view, instead of random values
429
430         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): render fallback
431         image in an appropriate size
432
433         * gtk/gtkstock.h: Rename the stock items including _BUTTON_,
434         etc. not to include that. i.e. s/GTK_STOCK_BUTTON_OK/GTK_STOCK_OK/
435
436         Throughout: fix GTK_STOCK_BUTTON_ instances
437         
438         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
439         gtk/gtkiconfactory.c, gtk/stock-icons/Makefile.am:
440         Add a bunch of new stock items/icons
441
442         * gtk/gtktreeview.c (gtk_tree_view_insert_column_with_data_func):
443         new function, convenience for inserting columns with a data func
444
445         * gtk/gtkiconfactory.c: keep a list of all existing icon factories
446         (_gtk_icon_factory_list_ids): use list of all factories to
447         generate a list of all known IDs
448
449         * gtk/gtkstock.c (gtk_stock_list_ids): replace
450         gtk_stock_list_items() with a function that returns all IDs known
451         including those for GtkIconFactory.
452
453 2001-05-25  Hans Breuer  <hans@breuer.org>
454
455         * gdk/win32/gdkgc-win32.c : made fil mode GDK_STIPPLED actually
456         work -> check boxes and radio buttons are drawn now, even on win9x.
457         Improved line settings a bit, still no clue how to get really dotted
458         lines on win9x, on NT it's PS_ALTERNATE.
459
460         * gdk/win32/gdkwindow-win32.c : use SafeAdjustWindowRect for 
461         GDK_HINT_MIN_SIZE as well
462
463         * gdk/win32/makefile.am : added gdkkeys-win32.c to EXTRA_DIST
464
465         * gtk/gtk.def : updated
466
467         * gtk/gtktreeprivate.h : change column_drop_func to be a function
468         pointer not a function pointer pointer
469
470         * tests/testdnd.c : include <stdlib.h> for putenv prototype
471
472         * tests/testsocket.c : made it compile on win32 again
473
474         * tests/makefile.msc : one more test-app uses prop-editor.obj
475
476 2001-05-22  Havoc Pennington  <hp@pobox.com>
477
478         * gtk/gtkbin.c (gtk_bin_get_child): New function
479
480 Wed May 23 20:07:53 2001  Owen Taylor  <otaylor@redhat.com>
481
482         * gtk/gtkimcontextsimple.c: Add Mode_Switch to list of keys
483         to ignore when doing compose processing.
484
485 2001-05-22  Joe Shaw  <joe@ximian.com>
486
487         * gtk/gtktextiter.c (_gtk_text_btree_get_iter_at_last_toggle): 
488         Simplify as suggested by Havoc. Just get the last iter and work
489         backward to the tag instead of getting a line and working back from
490         there. Fixes passing in an invalid offset to
491         iter_init_from_byte_offset().
492
493 Tue May 22 16:25:27 2001  Jonathan Blandford  <jrb@redhat.com>
494
495         * gtk/gtktreeview*.h: 
496         * gtk/gtkcell*.h:
497         * gtk/gtk*store.h:
498         Added patch from Jeff Franks <jcf@tpg.com.au> to add GET_CLASS
499         macros to all objects.
500
501 Tue May 22 15:13:52 2001  Jonathan Blandford  <jrb@redhat.com>
502
503         * gtk/gtkcellrenderertext.c
504         (gtk_cell_renderer_text_set_fixed_size): Evil function to deal
505         with very large (TM) amounts of text.  May be moved to
506         GtkCellRenderer in the future, though I'm not sure it wants to be
507         this accessible.
508
509         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_update_button):
510         More sanity brought to this class.  I like it.
511
512         * tests/testtreecolumns.c (ViewColumnModel): Amazingly scary test
513         case.  Kids, don't try this at home.
514
515         * gtk/gtktreemodel.c (gtk_tree_model_get_iter_root): new
516         convenience function.
517
518         * gtk/gtkwindow.c (gtk_window_set_geometry_hints): Fix typo in docs.
519
520 2001-05-21  Alexander Larsson  <alexl@redhat.com>
521
522         * gtk/gtkfontsel.c:
523         Added properties. Based on patch by Lee Mallabone.
524
525         * gtk/gtkruler.c:
526         * gtk/gtkhruler.c:
527         * gtk/gtkvruler.c:
528         * gtk/gtktext.c:
529         * gtk/gtktextview.c:
530         Converted GtkArg to GParam. Based on patches by John Margaglione.
531
532         * tests/Makefile.am:
533         * tests/testtext.c:
534         Add a property editor to testtext.
535         
536 Mon May 21 11:29:21 2001  Owen Taylor  <otaylor@redhat.com>
537
538         * gtk/gtk{h,v,}paned.c: Only show the separator if 
539
540         * configure.in: Fixed reversed conditional causing all image
541         libraries to be linked in.
542
543 2001-05-21  Joe Shaw  <joe@ximian.com>
544
545         * gtk/gtklayout.c (gtk_text_layout_get_lines): Remove the assertion
546         that top_y needs to be >= 0.
547
548 2001-05-11  Havoc Pennington  <hp@pobox.com>
549         
550         * gdk/x11/gdkmain-x11.c: Improve error messages for X errors and
551         losing connection to the X server.
552
553 Sun May 20 13:59:20 2001  Owen Taylor  <otaylor@redhat.com>
554
555         * configure.in: Start checks for X from pangox/pangoxft
556         CFLAGS to avoid duplicate libraries.
557
558         * gdk/Makefile.am (LDFLAGS): Remove extra -lm.
559
560         * configure.in (GDK_PIXBUF_PACKAGES): Fix GDK_PIXBUF_PACKAGES
561         to include gobject.
562         
563 2001-05-18  Alexander Larsson  <alexl@redhat.com>
564
565         * gtk/gtkspinbutton.c:
566         Convert GtkArgs to GParams. Based on patch by John Margaglione.
567         Also do size request reasonable for MAXDOUBLE. Previously it printed
568         the limits to a buffer and overran it. Instead do it using log10() and
569         limit the width to 10 digits.
570         
571         * gtk/gtkwidget.c (gtk_widget_get_property):
572         Correctly handle setting the parent property to NULL.
573
574 Fri May 18 15:26:26 2001  Owen Taylor  <otaylor@redhat.com>
575
576         * gtk/gtktextview.c (gtk_text_view_style_set): Reset 
577         style attributes even if the widget isn't realized.
578
579         * demos/gtk-demo/main.c: Use a slightly smaller font.
580
581 Fri May 18 14:25:20 2001  Owen Taylor  <otaylor@redhat.com>
582
583         * gtk/gtkcontainer.c: Remove reallocate-redraws property.
584         This is something that only a widget writer would ever want
585         to change.
586
587         * gtk/gtksignal.c: Handle G_SIGNAL_TYPE_STATIC_SCOPE for
588         gtk_signal_emit_by_name().
589
590         * gtk/gtkviewport.c: Fix some warnings.
591
592         * gtk/gtkwidget.c gtk/gtksizegroup.c: Add "size group" facility
593         allowing the requisitions of multiple widgets to be grouped
594         together.
595
596         * tests/testgtk.c: Add GtkSizeGroup test
597
598         * demos/gtk-demo/sizegroup.c: Add GtkSizeGroup demo.
599
600         * demos/gtk-demo/main.c demos/gtk-demo/pixbufs.c: Fix some
601         warnings.
602
603         * configure.in: Switch to using AM_GLIB_GNU_GETTEXT.
604
605 2001-04-28  Martin Baulig  <baulig@suse.de>
606
607         * gtk/gtkimagemenuitem.[ch]: Renamed gtk_image_menu_item_add_icon()
608         to gtk_image_menu_item_set_icon() and made it work if there's already
609         an image.
610         (gtk_image_menu_item_new): This function doesn't take any arguments anymore.
611         (gtk_image_menu_item_new_with_label): New function.
612
613 Thu May 17 16:20:04 2001  Jonathan Blandford  <jrb@redhat.com>
614
615         * demos/gtk-demo/main.c (fontify): It's the worlds ugliest
616         highlighting code!!!!  The result is okay so long as you don't try
617         to stress it.  It also highlights a bug in the TextView so it's in
618         an unproportional font right now until it's fixed.
619
620         *demos/gtk-demo/*.c: Clean up code a bit to make it
621         ugly-parser(TM) friendly. (-:
622
623 2001-05-17  Joe Shaw  <joe@ximian.com>
624
625         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove the assertions
626         that x_offset and y_offset must be >= 0. Clip the cursor being drawn
627         if it is only partially onscreen.
628
629 Thu May 17 17:10:13 2001  Owen Taylor  <otaylor@redhat.com>
630
631         * gtk/gtkentry.c: Make logical motion and deletion by graphemes, 
632         not by characters.
633
634         * gtk/gtkentry.c: Handle "trailing" returns from Pango when they
635         are not zero or one; that is, when graphemes of multiple characters
636         are involved.
637
638         * gtk/gtktextlayout.c (line_display_index_to_iter): Remove unnecessary
639         FIXME.
640
641 2001-05-17  Alexander Larsson  <alla@lysator.liu.se>
642         
643         * gtk/gtkbbox.c:
644         Add properties, based on patch by Lee Mallabone.
645
646         * gtk/gtknotebook.c:
647         * gtk/gtktoolbar.c:
648         Convert from GtkArg to GParam, based on patch by John Margaglione.
649         
650         * gtk/gtkhscale.c:
651         * gtk/gtkvscale.c:
652         * gtk/gtkhscrollbar.c:
653         * gtk/gtkvscrollbar.c:
654         * gtk/gtkrange.c:
655         Move adjustment property to GtkRange.
656
657         * gtk/gtklabel.c:
658         Setup mnemonics on property changes
659
660         * gtk/gtkwidget.c (gtk_widget_get_property):
661         GdkExtensionMode is an enum, not a flag. Set it with
662         g_value_set_enum ().
663
664         * tests/prop-editor.c:
665         Better propery editor.
666
667         * tests/testgtk.c:
668         Add new property test. Pass zero to the property editor to
669         get properties from all derived types.
670         
671 Sun May 13 12:01:12 2001  Owen Taylor  <otaylor@redhat.com>
672
673         * autogen.sh (have_automake): Require libtool-1.4,
674         automake-1.4p1.
675
676         * acinclude.m4: Remove libtool macros.
677
678         * gdk-pixbuf/Makefile.am: Add dependencies to loade
679         modules.
680
681         * gdk/Makefile.am: Add dependency on libgdk_pixbuf.la
682         for libgdk.
683
684         * gtk/Makefile.am: Add dependency on libgdk_pixbuf.la
685         libgdk.la for libgtk.
686
687         * modules/input/Makefile.am: Make modules have full
688         dependencies.
689
690 Wed May 16 14:06:01 2001  Jonathan Blandford  <jrb@redhat.com>
691
692         * gtk/gtktreemodel.c (gtk_tree_path_new_from_string): fix bug
693         #54699 where paths weren't being checked for correctness.
694
695 Tue May 15 20:13:24 2001  Jonathan Blandford  <jrb@redhat.com>
696
697         * gtk/gtktreeviewcolumn.c: You can now set all sorts of properties
698         in any order you wan, whether or not the column is added to the
699         tree, or the tree is realized.  Yay!
700
701         * gtk/gtktreeviewcolumn.c
702         (gtk_tree_view_column_setup_sort_column_id_callback): handle
703         sorting columns a lot saner
704
705         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_reorderable):
706         new function to actually set wether or not a column is
707         reorderable.
708
709         * gtk/gtktreeview.c (gtk_tree_view_unrealize): Only destroy things
710         if we have 'em.
711
712         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_set_tree_view):
713         Fix nasty bug where we were showing the button just before
714         realizing it.  As a result, the parent window was
715         tree_view->window instead of tree_view->priv->header_window.
716
717         * gtk/gtktreeview.c (gtk_tree_view_set_reorderable): new property
718         to let you easily reorder a list or tree.
719
720 2001-05-15  Alexander Larsson  <alla@lysator.liu.se>
721
722         * gtk/gtkpacker.c: Apply patch from John Margaglione that converts
723         from args to properties.
724
725 Tue May 15 10:11:59 2001  Owen Taylor  <otaylor@redhat.com>
726
727         * gtk/gtkpreview.c: Apply patch from John Margaglione converting
728         from args to properties. (#51957)
729
730         * gtk/gtkscale.c (gtk_scale_class_init): Move install property
731         calls to after ->set_property call.
732
733 Mon May 14 14:56:21 2001  Owen Taylor  <otaylor@redhat.com>
734
735         * tests/prop-editor.c: Block against redundant changes.
736
737         * gtk/gtkpaned.c gtk/gtk[hv]paned.c: Add position, position_set
738         properties.
739
740 Sun May 13 18:40:04 2001  Owen Taylor  <otaylor@redhat.com>
741
742         * gdk/gdkpixmap.h: Remove creative formatting.
743
744 Thu May 10 19:22:28 2001  Owen Taylor  <otaylor@redhat.com>
745
746         * gtk/gtktogglebutton.c:  Patch from John Margaglione converting to
747         property API. (#51669)
748
749         * gtk/gtkscale.c: Patch from John Margaglione converting to
750         property API. (#51891)
751
752         * gtk/gtkaccellabel.c: Applied patch from Lee Mallabone, converting
753         to property API. (#50985)
754
755 Fri May 11 20:13:44 2001  Tim Janik  <timj@gtk.org>
756
757         * gtk/gtkmain.c (gtk_main_do_event): remember widget's double
758         buffering state across expose event, so we still call end_paint().
759
760 2001-05-11  Alexander Larsson  <alexl@redhat.com>
761
762         * gtk/gtkhsv.c (paint_triangle):
763         Expose the ring in the triangle at the correct place when
764         exposing just a part of the triangle.
765
766         * gtk/gtkwindow-decorate.c (gtk_decorated_window_focus_change):
767         Return FALSE, or window focusing will not work.
768
769 2001-05-11  Havoc Pennington  <hp@pobox.com>
770
771         * gtk/gtkimage.c (gtk_image_new_from_stock): docs, fixes bug
772         #54144
773
774         * gtk/gtkcolorsel.c (gtk_color_selection_new): docs, fixes
775         bug #54330
776
777 Fri May 11 02:53:57 2001  Tim Janik  <timj@gtk.org>
778
779         * gtk/gtktogglebutton.c (gtk_toggle_button_expose): don't
780         propagate exposes to NULL child.
781
782         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed): guard
783         against not having one of the scrollbars.
784
785         * gtk/gtklabel.c (gtk_label_setup_mnemonic): clean up after us,
786         we don't keep a mnemonic window if we have no mnemonic installed.
787
788 Fri May 11 01:05:00 2001  Tim Janik  <timj@gtk.org>
789
790         * gtk/gtktypeutils.h: grum, gtk_type_class() is not GNUC_CONST
791         it has the _important_ side effect of initializing a class.
792
793 2001-05-10  Alexander Larsson  <alexl@redhat.com>
794
795         * gdk/linux-fb/gdkprivate-fb.h:
796         Make sure you can compile out the implementation/wrapper assert
797         macros.
798
799         * gdk/linux-fb/gdkdrawable-fb2.c:
800         Check implementation/wrappers, initialize type for pixmap dummys.
801
802         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image):
803         Hide the cursor if reading from the screen.
804
805         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic):
806         Fix sign bug in tiling code.
807
808         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
809         Handle background pixmaps.
810
811 Wed May  9 15:27:22 2001  Jonathan Blandford  <jrb@redhat.com>
812
813         * gtk/gtktreeview.c (gtk_tree_view_set_column_drag_function): New
814         function to let user control where columns are dragged.
815
816         * gtk/gtktreeview.c (gtk_tree_view_key_press): Cancel drags if
817         Escape is pressed.
818
819 Wed May  9 09:08:44 2001  Jonathan Blandford  <jrb@webwynk.net>
820
821         * gtk/gtktreeview.c (gtk_tree_view_class_init): New
822         "columns_changed" signal.
823         (gtk_tree_view_motion_draw_column_motion_arrow): Change column
824         motion code to draw arrows to the side if indicator is outside the
825         widget.
826         (gtk_tree_view_map_expanded_rows): Implement.
827
828 2001-05-07  Alexander Larsson  <alexl@redhat.com>
829
830         * demos/testpixbuf-save.c: 
831         * demos/testpixbuf-drawable.c:
832         Include gdkfb.h on linux-fb.
833
834 2001-05-07  Alexander Larsson  <alexl@redhat.com>
835
836         * gdk/linux-fb/gdkdnd-fb.c (get_toplevel_window_at):
837         New function for getting toplevel window at position.
838         (gdk_drag_find_window): Use get_toplevel_window () instead
839         of gdk_window_get_pointer(). (gdk_drag_status): Use
840         correct context for getting window.
841
842         * gdk/linux-fb/gdkproperty-fb.c (gdk_atom_name):
843         g_strdup the atom name.
844
845         * gdk/linux-fb/gdkwindow-fb.c:
846         Costmetic fix.
847
848         * gtk/gtkdnd.c (gtk_drag_source_handle_event):
849         Add code for changing cursor on linux-fb backend (same as
850         win32).
851
852 2001-05-07  Federico Mena Quintero  <federico@ximian.com>
853
854         * gtk/gtkwindow.c (gtk_window_focus): Test for bin->child being
855         present before doing anything with it.  Patch from HÃ¥vard KvÃ¥len
856         <havardk@netcom.no>.  Fixes Ximian bugzilla #2492 (OK, the bug
857         report was not for the development branch of GTK+, but it applies
858         anyways).
859
860 2001-05-04  Havoc Pennington  <hp@redhat.com>
861
862         * configure.in: fix some shell typos
863
864         * gtk/gtkcolorsel.c (gtk_color_selection_destroy): warning fix
865
866         * gtk/gtkimage.c: handle animations
867
868         * gtk/gtkcheckbutton.c (gtk_check_button_size_request): request
869         border_width * 2, not just border_width
870
871         * gtk/gtkscale.c: add "format_value" signal to allow people
872         to override the way values are drawn.
873         (gtk_scale_get_value_size): fix width/height mistake,
874         and compute size from actual displayed text, not 
875         from made-up text.
876
877         * gtk/gtktexttag.c (gtk_text_tag_class_init): fix return type in 
878         signal registration
879
880         * tests/testtext.c: Add "Remove all tags" menu item for testing
881
882         * gtk/gtktextbuffer.c (gtk_text_buffer_remove_all_tags): implement
883
884         * demos/gtk-demo/main.c (main): add hack so we can find modules
885         without installing gtk
886
887         * demos/gtk-demo/textview.c (insert_text): demo font scaling
888
889         * gtk/gtkcellrenderertext.c: Add "scale" property (font scaling
890         factor)
891         (gtk_cell_renderer_text_set_property): remove some bogus
892         g_object_notify
893
894         * gtk/gtktexttag.c: add "scale" property which is a font scaling
895         factor
896
897         * gtk/gtktextlayout.c (add_text_attrs): add font scale attribute 
898         to layout
899
900         * gtk/gtktextiter.c (gtk_text_iter_is_start): rename from
901         gtk_text_iter_is_first
902
903 2001-01-06  Hans Breuer  <hans@breuer.org>
904
905         * gdk/gdk.def : updated exports
906
907         * gdk/win32/makefile.msc : -DGDK_ENABLE_BROKEN otherwise
908         gdk won't compile anymore
909  
910         * gdk/win32/gdkevents-win32.c : initialize ret_val when
911         processing GDK_FILTER functions, initialize event.key->hardware_keycode.
912         Improved gdk_flush () to not only do pending drawing operations
913         but also process all currently pending events. This should make
914         the behaviour more similar to the X11 version.  
915
916         * gdk/win32/gdkgc-win32.c (predraw_set_background) : a background
917         option needs to be set even if there is no GDK_GC_BACKGROUND.
918         (gdk_win32_hdc_get) : use predraw_set_background () independent
919         of value_mask. This allows to draw dashed lines leaving the original
920         background intact.
921
922         * gdk/win32/gdkimage-win32.c (gdk_image_new_bitamp) : free data
923         after processing, because we can't reuse it as the X11 version does.
924
925         * gtk/gtk.def : updated exports
926
927         * gtk/makefile.msc.in : added ATK, removed all test apps. (I
928         would like to get rid of this file again, and use straight
929         makefile.msc again, as the other Gtk+ subdirs do)
930
931         * test/makefile.msc (new file) : build the test apps here
932
933 2001-05-05  ERDI Gergo  <cactus@cactus.rulez.org>
934
935         * gdk/gdkpango.c (gdk_pango_get_item_properties): Peek
936         strike-through setting
937         (gdk_draw_layout_line_with_colors): Render strike-through
938
939 Sat May  5 10:06:24 2001  Owen Taylor  <otaylor@redhat.com>
940
941         * Release 1.3.5
942
943         * configure.in (GTK_MICRO_VERSION): Up to 1.3.5
944
945         * NEWS: Updated
946
947         * demos/gtk-demo/Makefile.am (EXTRA_DIST): Fix minor
948         Makefile breakage.
949
950 Sat May  5 09:18:30 2001  Owen Taylor  <otaylor@redhat.com>
951
952         * demos/gtk-demo/images.c (progressive_timeout): Fix
953         typo in filename.
954
955         * gtk/gtktreeview.c (gtk_tree_view_row_activated): Comment
956         out FIXME warning; just too annoying.
957
958 2001-05-04  Alex Larsson  <alla@lysator.liu.se>
959
960         * gdk/linux-fb/gdkcolor-fb.c:
961         Better error messages.
962
963         * gdk/linux-fb/gdkpixmap-fb.c (gdk_pixmap_new):
964         Initialize abs_x and abs_y.
965         
966         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic):
967         Correct handling of stipple offset.
968
969         * gdk/linux-fb/gdkvisual-fb.c (gdk_visual_init):
970         Treat directcolor framebuffers as truecolor.
971         
972 Thu May  3 14:13:49 2001  Owen Taylor  <otaylor@redhat.com>
973
974         * INSTALL.in HACKING gtk/gtkaccessible.[ch] gtk/gtk.c: Add
975         dependency on Atk for accessibility support.
976
977         * configure.in **/Makefile.am: Major reworking of substituted
978         variables for CFLAGS/LIBS to make a lot more sane and 
979         keep the the compile/link lines a bit shorter.
980
981         * gdk/x11/gdkkeys-x11.c: Fix #endif with trailing stuff.
982
983 Thu May  3 08:10:54 2001  Owen Taylor  <otaylor@redhat.com>
984
985         * gtk/gtktexttag.c (gtk_text_tag_class_init): Fix return
986         value to be G_TYPE_BOOLEAN, not G_TYPE_INT, also,
987         use _gtk_boolean_handled_accumulator.
988
989 Thu May  3 07:00:09 2001  Owen Taylor  <otaylor@redhat.com>
990
991         * gtk/gtktextview.c: Patch from Juan Pablo Mendoza Mendoza
992         to fix things so clicking inside selection leaves cursor
993         at point where clicked. (#50324)
994
995         * gtk/gtksettings.c (gtk_settings_class_init): Restore
996         sane value for default double click time.
997
998         * tests/testtext.c (test_init): Really path to input modules.
999
1000 2001-05-03  Sven Neumann  <sven@convergence.de>
1001
1002         * demos/testpixbuf-save.c: include target-specific headers as
1003         done in testpixbuf-drawable.c
1004
1005 Wed May  2 20:36:38 2001  Owen Taylor  <otaylor@redhat.com>
1006
1007         * gtk/gtkentry.c (gtk_entry_real_insert_text): Reduce
1008         new_text_length appropriately when we run into the 
1009         size limit for the entry. (#53445, reported by Jeff Franks)
1010
1011         * tests/testgtk.c (create_entry): Remove most of the
1012         property toggle buttons. Replace with a "Props" button
1013         that brings up a property editor.
1014
1015         * tests/prop-editor.[ch] test/testtreeview.c tests/Makefile.am:
1016         Split the property editor code out for reuse, improve.
1017
1018 Wed May  2 17:26:22 2001  Owen Taylor  <otaylor@redhat.com>
1019
1020         * gdk/x11/gdkevents-x11.c gdk/x11/gdkwindow-x11.c: Always
1021         trap errors around calls to XSetInputFocus since we have
1022         no way of knowing reliably whether we are viewable or
1023         not. (#53947)
1024
1025 Tue May  1 09:21:23 2001  Jonathan Blandford  <jrb@webwynk.net>
1026
1027         * gtk/gtktreeview.c (gtk_tree_view_button_release_drag_column):
1028         fix bug in dropping columns.  Moving columns now basically works
1029         modula some fine tuning.
1030
1031 Tue May  1 19:09:21 2001  Jonathan Blandford  <jrb@redhat.com>
1032
1033         * gtk/gtktreeview.c (gtk_tree_view_horizontal_autoscroll): Add
1034         autoscroll support.  It mostly works, but could use some fine
1035         tuning.
1036         * gtk/gtktreeview.c (gtk_tree_view_button_release_drag_column):
1037         Actually move the column.
1038
1039 Mon Apr 30 20:29:27 2001  Owen Taylor  <otaylor@redhat.com>
1040
1041         * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtkoptionmenu.c 
1042           gtk/gtkspinbutton.c gtk/gtkstyle.c gtk/gtkwidget.c:
1043           New default theme! A slighly improved version of the 2.0 Raleigh
1044           theme, with Windows-esque focus/drawing default. 
1045           (GtkWidget::interior_focus defaults to TRUE.)
1046
1047         * gtk/gtkstyle.[ch]: Add a text_aa color halfway between text and base.
1048
1049 2001-04-30  Havoc Pennington  <hp@pobox.com>
1050
1051         * tests/testtext.c (line_numbers_expose): fix to work with
1052         gtk_paint_layout change
1053
1054 Mon Apr 30 19:18:07 2001  Owen Taylor  <otaylor@redhat.com>
1055
1056         * gtk/gtkstyle.[ch] gtk/gtkaccellabel.c gtk/gtkcellrenderertext.c
1057           gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c gtk/gtkprogressbar.c
1058           gtk/gtkvruler.c gtk/gtkvscale.c: Add an extra parameter
1059           use_text to gtk_paint_label() to deal with style->bg[] vs style->text[].
1060
1061         * gtk/gtkbbox.c gtk/gtkdialog.c: Tweak padding some to deal
1062           with GtkWidget::interior_focus = TRUE better.
1063
1064         * gtk/gtkbutton.c: Switch ::default_spacing to ::default_border,
1065         ::default_outside_border for more flexibility.
1066
1067         * gtk/gtkwidget.c (gtk_widget_style_get_valist): Remove 
1068         G_VALUE_NO_COPY_CONTENTS, to correspond with the recent
1069         change that had to be made with g_object_get.
1070
1071 Sun Apr 29 20:13:40 2001  Jonathan Blandford  <jrb@redhat.com>
1072
1073         * gtk/gtktreeview.c (gtk_tree_view_get_columns): new function.
1074         (gtk_tree_view_move_column_after): Clean up interface. 
1075
1076 Sun Apr 29 03:02:02 2001  Tim Janik  <timj@gtk.org>
1077
1078         * gtk/gtkpacker.h:
1079         * gtk/gtkenums.h: moved GtkAnchorType and GtkSideType from gtkpacker.h
1080          to gtkenum.h.
1081
1082         * gtk/gtkmain.c (gtk_main_do_event): silence compiler (GDK_SETTING not
1083         handled in switch).
1084
1085         * gtk/Makefile.am:
1086         (gtk.defs): generate enum portions with  glib-mkenums.
1087         (gtktypebuiltins_evals.c): generate this with glib-mkenums.
1088         got rid of makeenums.pl and makeenums.awk in distributed tarballs.
1089         
1090         * gtk/gtkaccelgroup.c (gtk_accel_group_add): refined havocs warning
1091         addition.
1092
1093         * docs/Changes-2.0.txt: keep a note on signal handlers now
1094         not getting emitted during the emission they were connected within.
1095
1096 2001-04-28  Havoc Pennington  <hp@pobox.com>
1097
1098         * gtk/gtkcolorsel.c (palette_new): fix bug in tooltip
1099
1100 2001-04-24  Havoc Pennington  <hp@redhat.com>
1101
1102         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_previous_line): 
1103         (gtk_text_layout_move_iter_to_next_line): fix these two for
1104         invisible text, lots of other stuff still hosed.
1105
1106         * gtk/gtkcolorsel.c (gtk_color_selection_set_change_palette_hook):
1107         new function, replaces the get/set palette stuff. This function 
1108         is intended for use by libgnomeui which should set the hook to a
1109         thing which sets the palette in GConf, and we need the
1110         GConf-to-xsettings proxy which will result in the change being
1111         propagated back to the GTK app.
1112
1113         * gtk/gtkaccelgroup.c (gtk_accel_group_add): add note to warning 
1114         about unusable signals that it may be because the signal has 
1115         parameters.
1116
1117         * gtk/gtkwidget.c (gtk_widget_modify_style): always copy the
1118         style, otherwise gtkrc.c won't know to create a new GtkStyle for
1119         it.
1120         (gtk_widget_modify_color_component): call
1121         gtk_widget_modify_style() so the rc style will get copied.
1122         (gtk_widget_modify_font): ditto
1123
1124         * gtk/gtkrc.c: make a couple variables static
1125
1126         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): hide
1127         help button by default, since it does nothing
1128
1129         * gtk/gtkcolorsel.c: add tooltips, work on key navigation, fool
1130         around with UI
1131
1132         * gtk/gtkentry.c (gtk_entry_realize): request enter/leave notify
1133         so we can have tooltips
1134
1135         * gtk/gtkhsv.c (gtk_hsv_realize): request enter/leave notify so we
1136         can have tooltips
1137
1138         * gdk/gdkimage.h: mark gdk_image_new_bitmap with
1139         GDK_ENABLE_BROKEN, because its memory behavior is completely
1140         hosed.
1141
1142         * gtk/gtknotebook.c: remove key press handler, replace with
1143         binding set, add numeric keypad support
1144
1145         * gtk/gtktextview.c (gtk_text_view_class_init): accept KP_Delete
1146
1147         * gtk/gtktext.c (gtk_text_key_press): add a bunch of KP keysyms
1148
1149         * gtk/gtkentry.c (gtk_entry_class_init): accept GDK_KP_Delete in
1150         addition to plain Delete
1151
1152         * gtk/gtktextview.c (gtk_text_view_key_press_event): accept
1153         GDK_KP_Enter in addition to GDK_Return
1154
1155         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): connect to
1156         activate on entry instead of key press
1157         (gtk_font_selection_on_clist_key_press): get
1158         rid of this signal handler, not needed with new font sel.
1159
1160         * gtk/gtkfilesel.c (gtk_file_selection_key_press): remove a
1161         no-longer-needed emit_stop_by_name(), just return TRUE
1162
1163         * gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.c: remove keybindings
1164         cruft, this widget is no longer focusable.
1165
1166         * gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkvscale.c,
1167         gtk/gtkhscale.c: Get rid of trough_keys virtual function, add
1168         move_slider action signal, add binding set for vscale/hscale, in
1169         the process support numeric keypad
1170
1171         * gtk/gtkentry.c (gtk_entry_class_init): Add keypad bindings; 
1172         make GDK_Return and GDK_KP_Enter activate the entry via 
1173         binding set, instead of hardcoded.
1174
1175 Fri Apr 27 20:27:21 2001  Jonathan Blandford  <jrb@redhat.com>
1176
1177         * gtk/gtktreeview.[hc]: Massive reorder/cleanup of a lot of the
1178         code.  Some documentation added.
1179
1180 2001-04-27  Havoc Pennington  <hp@redhat.com>
1181
1182         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fix warning
1183
1184         * gtk/gtkmessagedialog.c (gtk_message_dialog_init): make messages selectable
1185
1186         * gtk/gtkentry.c (gtk_entry_real_insert_text): don't strip
1187         line/para separators
1188         (gtk_entry_create_layout): set single paragraph mode on the layout
1189
1190         * gtk/gtkbutton.c (gtk_button_new_from_stock): don't put much
1191         spacing between the image and label; instead, inside a button box 
1192         the button will get extra space that will go there, but if people 
1193         configure button box for 0 chubbiness, then there's no spacing.
1194
1195         * gtk/gtkbbox.c (gtk_button_box_class_init): Make child ipadding
1196         and min/max size style properties, so people can tune their
1197         chubbiness.
1198
1199         * tests/testgtk.c (make_toolbar): remove calls to removed toolbar
1200         functions
1201
1202         * gtk/gtktoolbar.c (gtk_toolbar_class_init): Make space_size,
1203         space_style, and button_relief into style properties, remove
1204         functions for setting them
1205         
1206         * gtk/gtkmenu.c (gtk_menu_key_press): handle menu bar accel to pop 
1207         it back down
1208
1209         * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): free boxed
1210         types from gtk_widget_style_get
1211
1212         * gtk/gtkmenubar.c (gtk_menu_bar_set_shadow_type): Remove, replace
1213         with a style property.
1214
1215         * gdk/x11/gdkevents-x11.c: namespace the settings
1216
1217         * gtk/gtkmenubar.c: Add F10 accelerator to move between menubars.
1218
1219         * gtk/gtksettings.c (gtk_settings_class_init): remove code with
1220         side effects from inside g_assert(), so that G_DISABLE_ASSERT can
1221         be used. Also, translate doc strings for settings. Also, namespace
1222         the double-click-time property. Also, remove bell properties crap.
1223
1224 2001-04-27  Sven Neumann  <sven@gimp.org>
1225
1226         * Makefile.am: before creating links, check if pkg-config files
1227         exist for the default target. Otherwise link to the pkg-config files
1228         that got installed with this build.
1229
1230 Thu Apr 26 19:11:46 2001  Jonathan Blandford  <jrb@redhat.com>
1231
1232         * gtk/gtktreeview.c (gtk_tree_view_motion): clean up column
1233         dragging code.  Revealed some (potential) GdkWindow bugs.
1234
1235         * gdk/x11/gdkwindow-x11.c (gdk_window_reparent): add
1236         _gdk_window_init_position to the end of reparent to fix the case
1237         of reparenting when new_x != old_x and new_y != old_y.
1238
1239 Thu Apr 26 10:54:50 2001  Owen Taylor  <otaylor@redhat.com>
1240
1241         * gtk/gtkentry.c (strstr_len): Fix optimization that
1242         was correct for the use here, but completely incorrect
1243         in general.
1244
1245 Thu Apr 26 10:40:41 2001  Owen Taylor  <otaylor@redhat.com>
1246
1247         * gtk/gtkwindow.h: Remove deprecation of gtk_window_set_default_size()
1248         until patch adding gtk_window_set_size() is recommitted. 
1249
1250         * **Makefile.am configure.in gdk/x11/gdkim-11.c
1251           gtk/gtkmain.c gtk/gtkimmulticontext.c gtk/gtkmain.c
1252           gtk/gtkrc.c: Remove all traces of -DX_LOCALE support.
1253           (#10784)
1254
1255 Wed Apr 25 12:16:36 2001  Owen Taylor  <otaylor@redhat.com>
1256
1257         * gdk/X11/gdkevents-x11.c (gdk_event_translate): Test for 
1258         window == NULL in a number of cases.
1259
1260         * tests/testdnd.c: Set module path for gdk-pixbuf.
1261
1262 Thu Apr 19 16:11:07 2001  Owen Taylor  <otaylor@redhat.com>
1263
1264         * gtk/Makefile.am xembed.h: File containing #defines
1265         for XEMBED protocol.
1266
1267         * gtk/gtkplug.[ch] gtk/gtksocket.[ch]: 
1268
1269         - Change protocol from old plug/socket specific protocol
1270           to XEMBED draft
1271         - Various fixes to work with GTK+-2.0
1272
1273         Still quite a bit of work to do here to handle initiation
1274         from the socket side (as specified by XEMBED), to handle
1275         the more advanced features of XEMBED, and to figure out
1276         a good way to handle same-app embedding with less overhead
1277         than using full XEMBED.
1278
1279 Wed Apr 18 16:04:28 2001  Owen Taylor  <otaylor@redhat.com>
1280
1281         * gtk/gtkwindow.[ch] (gtk_window_real_set_focus): Keep
1282         track of whether the toplevel has the focus; only send
1283         focus-in events to the focus widget when the window
1284         actually has the focus.
1285
1286 2001-04-25  Havoc Pennington  <hp@pobox.com>
1287
1288         * gtk/gtkwindow.h: set_decorations_hint and set_functions_hint
1289         were still in the header
1290
1291 2001-04-24  Alexander Larsson  <alexl@redhat.com>
1292
1293         * gtk/gtkclist.[ch]:
1294         * gtk/gtkctree.c:
1295         When there is a row highlighted for D'n'D it must alse
1296         be painted hightlighted on exposes. Otherwise exposes from
1297         the icon being dragged will mess up the hightlight.
1298
1299         * gtk/gtkfontsel.c:
1300         Don't recenter selected font when exposing the font family
1301         clist. This means you can now actually scroll the font family
1302         list.
1303
1304         * gtk/gtknotebook.c:
1305         Fix focus movement on scrolling tabs that are placed on the left
1306         and right.
1307
1308 2001-04-21  Havoc Pennington  <hp@pobox.com>
1309
1310         * gtk/gtktextdisplay.c (gtk_text_layout_draw): handle 0-height
1311         empty/invisible lines.
1312
1313         * gtk/gtktextiter.c (gtk_text_iter_set_visible_line_offset)
1314         (gtk_text_iter_set_visible_line_index): new functions to set
1315         indexes excluding invisible text
1316
1317         * gtk/gtktextlayout.c (line_display_iter_to_index): get visible 
1318         index
1319
1320         * gtk/gtktextiter.c (gtk_text_iter_get_visible_line_index)
1321         (gtk_text_iter_get_visible_line_offset): new functions to 
1322         get indexes excluding invisible text
1323
1324         * gtk/gtkmessagedialog.c (gtk_message_dialog_init): strip out a
1325         bunch of extra padding that served no purpose
1326
1327         * gtk/gtkdialog.c: Make all the spacings configurable via style
1328         properties, for chubbiness configuration in themes
1329
1330         * tests/testtext.c: fix path to the immodules.
1331         
1332 Mon Apr 23 18:57:03 2001  Jonathan Blandford  <jrb@redhat.com>
1333
1334         * gtk/gtksocket.c (gtk_socket_filter_func): add missing '}' that
1335         got munched by #endif.
1336
1337         * gtk/Makefile.am (gtk_plug_c_sources): add missing '\'
1338
1339         * gtk/gtktreeview.c: Refactored code to clean up a number of
1340         events.
1341
1342         * gtk/gtktreemodel.c (gtk_tree_path_compare): Switched return
1343         values to make consistent with other functions.  Spotted by Jeff
1344         Franks <jcf@tpg.com.au>.
1345
1346         * gtk/gtktreeview.h (struct _GtkTreeViewClass): Fixes to signal
1347         declaration spotted by Jeff Franks <jcf@tpg.com.au>.
1348
1349 2001-04-23  Sven Neumann  <sven@gimp.org>
1350
1351         * gtk/Makefile.am
1352         * gtk/gtkplug.c
1353         * gtk/gtksocket.c: on request of Owen, reverted my last change 
1354         and exclude gtkplug.c/gtksocket.c from the build for non-X11 targets
1355
1356 2001-04-23  Sven Neumann  <sven@gimp.org>
1357
1358         * gtk/gtkplug.c: put into #ifdef GDK_WINDOWING_X11 to make GTK+
1359         compile for non-X11 targets again
1360
1361 2001-04-20  Alexander Larsson  <alexl@redhat.com>
1362
1363         * gtk/gtkcolorsel.[ch]:
1364         API Change. Take GdkColor arguments instead of gdouble *.
1365         Leave the old gtk_color_selection_set_color for compatibility,
1366         but marked deprecated.
1367         Do correct rounding when converting RGB <-> HSV.
1368         
1369         * gtk/gtkcolorseldialog.c:
1370         * tests/testgtk.c:
1371         Use new GtkColorSelection API.
1372
1373         * gtk/gtkhsv.c:
1374         Fix problem selecting colors in triangle when Hue is 330.
1375         Fix some black dots around the HSB triangle.
1376         
1377         * gtk/gtkfilesel.c:
1378         return FALSE from the focus_in_event handler to fix focus problems.
1379
1380 2001-04-18  Havoc Pennington  <hp@redhat.com>
1381
1382         * gtk/gtkwindow.c (gtk_window_class_init): add signals and binding
1383         set, so keybindings are configurable    
1384         (gtk_window_activate_default): Change to activate the focus widget
1385         instead if there's a focus widget, to be consistent with the
1386         behavior that previously existed in key_press_event
1387
1388 2001-04-18  Havoc Pennington  <hp@redhat.com>
1389
1390         * gdk/gdkkeyuni.c: Handle numeric keypad keysyms; bug #50201
1391
1392 2001-04-18  Havoc Pennington  <hp@redhat.com>
1393
1394         Close bug #50615:
1395         
1396         * gtk/gtkstyle.c (gtk_default_draw_layout): Use text_gc to draw
1397         the layout
1398
1399         * gtk/gtktext.c: Use base/text instead of bg/fg throughout
1400
1401         * gtk/gtkentry.c: Use base/text instead of bg/fg throughout
1402
1403         * gtk/gtktextdisplay.c: Use base/text instead of bg/fg throughout
1404         
1405         * gtk/gtkstyle.c (gtk_style_init): make GTK_STATE_SELECTED default
1406         to blue for base, in addition to bg
1407         
1408 2001-04-18  Havoc Pennington  <hp@redhat.com>
1409
1410         * tests/testgtk.c (create_image): allow shrinking the image window
1411         to test that we clip to allocation.
1412
1413         * gtk/gtkimage.c (gtk_image_expose): clip to allocation,
1414         #9845
1415
1416         * gtk/gtkenums.h: move GtkWrapMode in here, #50472
1417
1418 Wed Apr 18 14:23:14 2001  Owen Taylor  <otaylor@redhat.com>
1419
1420         * gdk/x11/gdkimage-x11.c (gdk_image_new): Try changing
1421         mode on shm segments to 0600. We'll see who complains.
1422
1423         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Call
1424         _gdk_windowing_window_destroy() AFTER recursing through
1425         children.
1426
1427         * tests/Makefile.am (noinst_PROGRAMS): Build testsocket,
1428         testsocket_child on X.
1429
1430         * tests/testsocket[_child].c: Fix uses of
1431         gtk_window_get_default_accel_group().
1432
1433         [ Merge patch from Ramiro Estrugo  <ramiro@eazel.com> from gtk-1-2 ]
1434
1435         * gdk/gdkimage.c: (gdk_image_get):
1436         Deal with the possibility that XGetImage() might return NULL.
1437         Allocate the GdkImagePrivate structure only after XGetImage()
1438         succeeds in order not to dereference a NULL ximage pointer.  This
1439         prevents a core dump when XGetImage() fails - which is unlikely,
1440         but can happen due to race conditions accessing the geometries of
1441         drawables.  An x error will still be triggered, but the gdk image
1442         wrapper at least wont seg fault.
1443         
1444 2001-04-18  Havoc Pennington  <hp@redhat.com>
1445
1446         * gtk/gtkimage.c: fix to properly queue resizes when the image is
1447         set
1448
1449         * gtk/gtktextview.c (gtk_text_view_do_popup): desensitize Paste
1450         if the insertion point isn't editable
1451
1452         * demos/gtk-demo/images.c: Added a GtkImage demo
1453
1454         * demos/gtk-demo/drawingarea.c: drawing area demo
1455         
1456         * demos/gtk-demo/menus.c (create_menu): cleanups
1457
1458 Wed Apr 18 12:15:52 2001  Owen Taylor  <otaylor@redhat.com>
1459
1460         * gdk/x11/gdkwindow-x11.c gdk/x11/gdkwindow-x11.h 
1461           gdk/x11/gdkevents-x11.c: Introduce an extra child
1462         of toplevel windows that serves to hold the focus to
1463         avoid events being delivered to embedded windows.
1464
1465         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Introduce
1466         some extra variables to clean up code and reduce the
1467         number of casts.
1468
1469         * gdk/x11/gdkwindow-x11.h (struct _GdkXPositionInfo): Use
1470         guint for 1 bit bit fields, not gboolean.
1471
1472 Wed Apr 18 10:04:23 2001  Owen Taylor  <otaylor@redhat.com>
1473
1474         * gtk/gtktooltips.c (gtk_tooltips_paint_window): Return FALSE,
1475         not TRUE. (Fixes #52925)
1476
1477 Tue Apr 17 18:05:34 2001  Owen Taylor  <otaylor@redhat.com>
1478
1479         * Released 1.3.4
1480
1481         * NEWS: Updated
1482
1483         * gtk/gtktextview.c (gtk_text_view_class_init): Fix to not
1484         use GTK_TYPE_ENUM.
1485
1486 Tue Apr 17 13:47:12 2001  Owen Taylor  <otaylor@redhat.com>
1487
1488         * configure.in: Don't put -lgthread in GLIB_LIBS, GLIB_DEPLIBS
1489
1490         * gtk/gtktypeutils.h gtk/gtksignals.h: Restore proper parameter
1491         names to compatibility #defines so docs work.
1492
1493         * gtk/gtkenums.h: Remove GtkMenuFactoryType
1494
1495         * gtk/gtkwindow.c gtk/gtkdnd.c: Docs cleanups.
1496
1497         * configure.in: Don't include -lgthread in GLIB_LIBS, GLIB_DEPLIBS
1498
1499         * tests/testgtkrc: No magenta cursors, please.
1500
1501         * README.in INSTALL.in HACKING README.cvs-commits: Updated.
1502
1503         * gtk/gtkenums.h (enum): Remove left over GtkMenuFactoryType.
1504         
1505 Mon Apr 16 14:38:41 2001  Owen Taylor  <otaylor@redhat.com>
1506
1507         * gtk/gtklist.c gtk/gtklistitem.c: Remove explicit pointer
1508         grabs, since they are no longer necessary.
1509
1510         * gtk/gtkcombo.c (gtk_combo_popup_button_press): Fix #52926
1511         by signal_connect() and call gtk_button_pressed() rather
1512         than signal_connect_after().
1513
1514         * tests/testgtk.c: Restore radio menu items to combos 
1515         since they'll look OK with Raleigh, and it is easier
1516         than finishing the process of removing them that was
1517         started earlier.
1518
1519 2001-04-16  Hans Breuer  <hans@breuer.org>
1520
1521         * gdk/gdk.def :
1522         * gtk/gtk.def : added all exports required to link PyGtk 0.7.1
1523
1524         * gdk/gdkfont.h : #define GDK_TYPE gdk_font_get_type ()
1525         we are interested in the functions return value not the function address
1526         * gdk/gdkvisual.h : same for GDK_TYPE_VISUAL
1527
1528         * gtk/makefile.msc.in : reflect movement of GDK_TYPEs from gtk to gdk
1529
1530 2001-04-14  Hans Breuer  <hans@breuer.org>
1531
1532         * gdk/gdk.def :
1533         * gdk/makefile.msc : updated
1534
1535         * gdk/win32/gdkdrawable.win32 (gdk_win32_draw_rectangle) : if modus is 
1536         "fill with tile" do so with new helper function gdk_win32_draw_tiles 
1537         (the testgtk::text backgound pixmap is drawn again)
1538         Changed SetTextAlign before pango_win32_render to TA_BASELINE to reflect 
1539         Win32 Pango change
1540         * gdk/win32/gdkprivate-win32.h : prototype for gdk_win32_draw_tiles
1541
1542         * gdk/win32/gdkproperty-win32.c : first implementation of gdk_setting_get
1543         Not sure if the returned settings have the right unit, because I couldn't
1544         find any docs for the X version ...
1545
1546         * gtk/gtk.def :
1547         * gtk/makefile.msc.in : updated
1548
1549 Thu Apr 12 17:41:17 2001  Owen Taylor  <otaylor@redhat.com>
1550
1551         * gtk-2.0.m4: Fix up to refer to GTK+, not to GLib; fix some
1552         wording problems. (Compared to version from Johannes Stezenbach to
1553         check correctness.)
1554
1555 Thu Apr 12 21:04:26 2001  Tim Janik  <timj@gtk.org>
1556
1557         * gtk/gtktreeview.c (_gtk_tree_view_column_start_drag): get
1558         this to compile.
1559
1560 2001-04-12  Anders Carlsson  <andersca@codefactory.se>
1561
1562         * gtk/gtkcellrenderertextpixbuf.c (gtk_cell_renderer_text_pixbuf_class_init): It's pixbuf_pos,
1563         not pixbufpos.
1564
1565         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): Fix small typo.
1566
1567         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property): xpad and ypad
1568         are unsigned insts, therefore use g_value_set_uint.
1569         (gtk_cell_renderer_set_property): Likewise, use g_value_get_uint.
1570
1571 Sun Apr  8 05:36:06 2001  Jonathan Blandford  <jrb@webwynk.net>
1572
1573         * gtk/gtktextview.c (gtk_text_view_class_init): fix a fixme.
1574
1575         * gtk/gtkcellrendertoggle.c: change GTK_TYPE_POINTER to
1576         GTK_TYPE_STRING.
1577
1578         * gtk/gtktreeview.c: New functions to allow initial column
1579         dragging work.
1580
1581         * gtk/gtktreeviewcolumn.c: Initial column dragging support.
1582
1583         * tests/testtreefocus.c: give dave some love.
1584
1585         * tests/testtreesort.c: Modify test to check really long samples.
1586
1587 2001-04-11  Alexander Larsson  <alexl@redhat.com>
1588
1589         * gtk-2.0.m4: Pass pkg-config options
1590         before the other args so it works even if
1591         POSIXLY_CORRECT is set.
1592
1593 Mon Apr  9 19:02:07 2001  Tim Janik  <timj@gtk.org>
1594
1595         * configure.in (GTK_MICRO_VERSION): increment version to 1.3.4 (binary
1596         0, interface 0).
1597
1598 2001-04-04  Denis Oliver Kropp  <dok@convergence.de>
1599
1600         * gtk/gtkcalendar.c (gtk_calendar_button_press):
1601         check for action_func != NULL
1602
1603 2001-04-04  Sven Neumann  <sven@gimp.org>
1604
1605         * tests/testgtk.c (test_init): corrected path to gtk.immodules
1606
1607 Wed Apr  4 09:18:18 2001  Tim Janik  <timj@gtk.org>
1608
1609         * Released Gtk+-1.3.3.
1610
1611 Wed Apr  4 07:42:23 2001  Tim Janik  <timj@gtk.org>
1612
1613         * gdk/Makefile.am (EXTRA_DIST): add makeenums.pl to EXTRA_DIST.
1614
1615 Wed Apr  4 04:13:18 2001  Tim Janik  <timj@gtk.org>
1616
1617         * gtk/stock-icons/Makefile.am: stay in builddir and read/write
1618         files to/from source dir. (if we don't stay in builddir, we
1619         can't reach make-inline-pixbuf.
1620
1621         * gdk/Makefile.am (gdkenumtypes.c): add $(srcdir) to mekeenums.pl
1622         deps.
1623
1624         * configure.in (GTK_MICRO_VERSION): up and away (1.3.3 bin/interface
1625         ages 0).
1626
1627 Tue Apr  3 15:04:45 2001  Jonathan Blandford  <jrb@redhat.com>
1628
1629         * gtk/gtktreemodelsort.h:  removed set_sort_column, as it was
1630         moved to the GtkTreeSortable interface.
1631
1632         * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
1633         Make more efficient (fixes #50262).
1634
1635 Tue Apr  3 13:55:37 2001  Owen Taylor  <otaylor@redhat.com>
1636
1637         * NEWS: Updated.
1638
1639         * configure.in: Remove support for uninstalled glib.
1640
1641         * gtk/gtkdnd.c (gtk_drag_highlight_expose): Return FALSE as
1642         so as not to stop emission.
1643
1644         * gtk-config-2.0.in: Exit with an error message that gtk-config-2.0
1645         is no longer supported.
1646
1647         * Makefile.am gtk/Makefile.am tests/*: Moved all tests
1648         into tests, change build order to build modules before
1649         gtk/.
1650
1651         * modules/input/Makefile.am: Move gtk-query-immodules-2.0 invocation
1652         to here.
1653
1654 Tue Apr  3 13:52:57 2001  Tim Janik  <timj@gtk.org>
1655
1656         * gtk/gtkitemfactory.[hc]: changed gtk_item_factory_dump_items()
1657         and gtk_item_factory_dump_rc() GtkPatternSpec argument to
1658         GPatternSpec. this is actually unlikely to cause breakage in
1659         third-party apps since except for gle, pretty much ever caller
1660         passes NULL here.
1661
1662         * gtk/gtkbindings.[hc]: removed gtk_pattern_*() API.
1663
1664         * *.c: use g_pattern_*() API.
1665
1666         * docs/Changes-2.0.txt: GtkPatternSpec->GPatternSpec updates.
1667
1668         * gtk/gtkstyle.c (gtk_default_draw_resize_grip): assert unhandled
1669         directions aren't passed in.
1670
1671         * gtk/gtksettings.[hc] (_gtk_settings_parse_convert): export conversion
1672         functionality to be usable from gtkstyle.c as well, give precedence
1673         for conversion to user-supplied parsers.
1674         s/_gtk_rc_property_parser_for_type/_gtk_rc_property_parser_from_type/;
1675
1676         * gtk/gtkstyle.c (_gtk_style_peek_property_value): use
1677         _gtk_settings_parse_convert() for rcporperty value conversion.
1678
1679 2001-04-03  Alexander Larsson  <alexl@redhat.com>
1680
1681         * gdk/linux-fb/gdkevents-fb.c:
1682         Add empty gdk_setting_get().
1683
1684 Tue Apr  3 05:09:07 2001  Tim Janik  <timj@gtk.org>
1685
1686         * gtk/gtkmain.c (_gtk_boolean_handled_accumulator): use more elaborate
1687         variable names.
1688         
1689         * gtk/makeenums.pl: touch this so enum files get remade.
1690
1691 Mon Apr  2 19:36:57 2001  Jonathan Blandford  <jrb@redhat.com>
1692
1693         * gtk/gtktreestore.c (gtk_tree_store_init):  Bug fix to make trees
1694         work again when not sorted.
1695
1696         * gtk/gtktreeview.c (gtk_tree_view_class_init): Add "collapse_row"
1697         and "expand_row" signal, closing bug 52578.
1698
1699         * gtk/gtktreeview.c (gtk_tree_view_expand_row): Add signal
1700         support.
1701
1702         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): Add signal
1703         support.
1704
1705 Mon Apr  2 18:18:07 2001  Owen Taylor  <otaylor@redhat.com>
1706
1707         * gdk/gdkevents.h: Add GdkEventSetting event for notification
1708         of changes to system settings, gdk_setting_get() to retrieve
1709         a single system setting.
1710
1711         * gdk/x11/gdkevents-x11.c: Bridge gdk_setting_get() and GdkEventSetting
1712         to the draft XSETTINGS mechanism.
1713
1714         * gdk/x11/xsettings-{common,client}.[ch]: Sample-implementation of
1715         XSETTINGS.
1716
1717         * gtk/gtkmain.c gtk/gtksettings.[ch]: Propagate notification
1718         of GDK settings changes to the GtkSettings object.
1719
1720         * gdk/gdkevents.[ch] gdk/gtk/gtksettings.c: Hook up the
1721         double-click-timeout property to GDK.
1722
1723         * gdk/gdkcolor.[ch] gdk/gdkvisual.h gdk/gdkevent.[ch] gdk/gdkfont.[ch]:
1724         Define GDK boxed types here.
1725
1726         * gdk/Makefile.am gdk/makeenums.pl: Generate source files
1727         gdk/gdkenumtypes.[ch] for enum definitions.
1728
1729         * gtk/gtkcompat.h: Add defines for GTK_TYPE_GDK_*
1730         * gtk/gtk-boxed.defs: Comment out GDK types
1731         * gtk/gtktypeutils.h: Remove GDK types
1732         * gtk/Makefile.am: No longer scan GDK headers for enumerataions
1733
1734 Mon Apr  2 16:41:08 2001  Owen Taylor  <otaylor@redhat.com>
1735
1736         * Applied patch from Ron Steinke to add signal accumulators
1737         so that signals with the convention 'TRUE return means
1738         handled' stop emission on a TRUE return.
1739
1740         * gtk/gtkmain.[ch]: Add private accumulator 
1741         _gtk_boolean_handled_accumulator, used throughout GTK+.
1742         
1743         * gtk/gtkspinbutton.c: Add accumulator for ::output.
1744
1745         * gtk/gtktipsquery.c: Add accumulator for ::widget_selected
1746         
1747         * gtk/gtkwidget.c: Add accumulators for event signals,
1748         ::drag_motion, ::drag_drop. Use _gtk_boolean_handled_accumator
1749         for ::mnemonic-activate.
1750
1751         * gtk/gtkwindow.c: Add accumulator for ::frame_event
1752
1753 Mon Apr  2 16:24:21 2001  Owen Taylor  <otaylor@redhat.com>
1754
1755         * gtk/gtkwidget.c: Add missing include.
1756
1757 Mon Apr  2 16:56:15 2001  Jonathan Blandford  <jrb@redhat.com>
1758
1759         * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new
1760         marshaller.
1761
1762         * gtk/gtktreemodel.c (gtk_tree_model_range_changed): change
1763         "changed" signal to "range_changed".
1764
1765         * gtk/gtktreeview.c (gtk_tree_view_set_model): fix small bug where
1766         removing a tree from one model would remove all trees from that
1767         model.
1768         * gtk/gtktreeview.c (gtk_tree_view_range_changed): use range
1769         changed signal instead.
1770
1771 Mon Apr  2 16:13:58 2001  Owen Taylor  <otaylor@redhat.com>
1772
1773         * gtk/gtkinvisible.c (gtk_invisible_style_set): Avoid
1774         chaining up to parent impl, since we have a INPUT_ONLY
1775         window.
1776
1777         * gtk/gtkentry.[ch]: Add a cursor_color property to set the
1778         foreground color for the cursor.
1779
1780 Mon Apr  2 15:06:13 2001  Owen Taylor  <otaylor@redhat.com>
1781
1782         * gtk/gtkstyle.c (_gtk_style_peek_property_value): Reference 
1783         param spec when caching property values, since we unref it
1784         later when we free the style.
1785
1786         * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): Dont' free
1787         values since they are retrieved with G_VALUE_NO_COPY_CONTENTS.
1788
1789 Mon Apr  2 10:47:57 2001  Owen Taylor  <otaylor@redhat.com>
1790
1791         * gtk/gtkwidget.c (gtk_widget_class_init): Fix 
1792         G_VALUE_NO_COPY_CONTENTS instead of G_SIGNAL_TYPE_STATIC_SCOPE
1793         stupidity.
1794
1795 Mon Apr  2 00:51:11 2001  Owen Taylor  <otaylor@redhat.com>
1796
1797         [ First pass at adding style properties. Still needs some definite
1798         fine-tuning. ]
1799
1800         * gtk/gtkbutton.c: Add ::default_spacing style property.
1801          
1802         * gtk/gtkcheckbutton.[ch] gtkradiobutton.c: Add ::indicator_size,
1803         ::indicator_spacing style properties.
1804
1805         * gtk/gtkoptionmenu.c: Add ::indicator_size, ::indicator_spacing
1806         style properties.
1807
1808         * gtk/gtk{,h,v}paned.[ch]: Make handle_size a style property
1809         rather than a normal property.
1810
1811         * gtk/gtkwidget.c: Add an ::interior_focus style property to
1812         draw focus inside buttons, in the Windows/Java Metal/etc. style.
1813
1814         * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtktogglenbutton.c:
1815         Honor ::interior_focus.
1816         
1817         * gtk/gtkentry.c: Don't draw focus at all when ::interior_focus is 
1818         TRUE.
1819
1820         * gtk/gtkrange.[ch] gtk/gtk{h,v}scrollbar.c gtk/gtk{h,v}scale.c:
1821         Add ::slider_width, ::trough_border, ::stepper_size,
1822         ::stepper_spacing style properties.
1823
1824         * gtk/gtkscale.[ch] Add ::slider-length style property.
1825
1826 2001-04-02 Alexander Larsson   <alexl@redhat.com>
1827
1828         * gdk/linux-fb/gdkwindow-fb.c:
1829         Add gdk_window_begin_resize_drag and gdk_window_begin_move_drag. Remove some
1830         warnings that were spewed on startup.
1831
1832         * gtk/gtkwindow-decorate.c:
1833         gtk_window_reposition -> _gtk_window_reposition
1834
1835 Sun Apr  1 21:37:22 2001  Owen Taylor  <otaylor@redhat.com>
1836
1837         * gtk/gtkwidget.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
1838         Add boxed type for GtkRequistion. Use it for ::size-request.
1839
1840         * gtk/gtkstyle.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
1841         Add a new GtkBorder structure useful for geometry properties
1842         for widgets. Add corresponding GTK_TYPE_BORDER.
1843         
1844         * gtk/gtkwidget.c (gtk_widget_class_install_style_property):
1845         Support automatic parser selection like
1846         gtk_settings_install_property_parser().
1847
1848         * gtk/gtksettings.c (_gtk_rc_property_select_parser): Export
1849         functionality for use by gtk_widget_class_install_style_property.
1850         Support GTK_TYPE_BORDER, GTK_TYPE_REQUISITION.
1851
1852 Sun Apr  1 20:48:59 2001  Owen Taylor  <otaylor@redhat.com>
1853
1854         * gtk/gtkentry.c (gtk_entry_class_init): Make invisible-char
1855         g_param_spec_unichar(). 
1856
1857 Sun Apr  1 23:41:37 2001  Tim Janik  <timj@gtk.org>
1858
1859         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): raise window for non
1860         _NET window managers.
1861
1862         * gtk/gtkmenufactory.[hc]: cvs removed those files now.
1863
1864 Sun Apr  1 08:00:13 2001  Tim Janik  <timj@gtk.org>
1865
1866         * gtk/gtkwidget.[hc]: got rid of gtk_widget_popup(), a function that
1867         bad needs to be nuked, not just deprecated.
1868
1869         * gtk/gtktooltips.c (gtk_tooltips_draw_tips): don't use 
1870         gtk_widget_popup().
1871
1872         * gtk/*.[hc]: s/activate_mnemonic/mnemonic_activate/g;
1873         
1874         * gtk/gtkmenufactory.[hc]: removed this long-standingly deprecated
1875         widget.
1876         
1877         * docs/Changes-2.0.txt: updates.
1878         
1879 Sun Apr  1 01:02:54 2001  Jonathan Blandford  <jrb@redhat.com>
1880
1881         * gtk/gtktreestore.c (gtk_tree_store_sort_iter_changed):
1882         for (i = 0; i < 100; i ++)
1883           g_print ("I will confirm it compile before committing\n");
1884
1885 Sun Apr  1 00:52:06 2001  Jonathan Blandford  <jrb@redhat.com>
1886
1887         * gtk/gtktreestore.c: Initial work on implementing the
1888         GtkTreeSortable interface.  Basicaly a big cut'n'paste job.
1889
1890 Sun Apr  1 03:28:14 2001  Tim Janik  <timj@gtk.org>
1891
1892         * gtk/gtkwidget.c: fixed a bunch of notifications, added
1893         reference counts around emissions where the widget is used afterwards.
1894         added freeze/thaws around multiple properties being notified.
1895         (_gtk_widget_get_aux_info): cleanups.
1896         
1897         * gtk/gtksettings.c (gtk_settings_install_property): provide
1898         default parsing functions for gdkcolor, enums and flags.
1899
1900         * gtk/gtkwindow.[hc]: partially reverted patch from havoc,
1901         applied by owen.
1902         backed out gtk_window_get_location(), gtk_window_set_location(),
1903         gtk_window_get_size() and gtk_window_set_size(), these
1904         have to be sorted out wrg x/y/width/height/default_with/default_height
1905         properties.
1906         kept a flag in GtkWindowGeometryInfo to handle user
1907         resetting default sizes.
1908         cleaned up ZVT comments.
1909         bunch of assorted bug fixes, notification fixes.
1910         (_gtk_window_reposition): make this a really internal function.
1911         
1912         * gtk/testgtk.c: fixups.
1913         
1914 2001-03-31  Hans Breuer  <hans@breuer.org>
1915
1916         * config.h.win32.in : disable USE_MMX for msvc build cause
1917         the assembler doesn't fit and is out of my scope. Disable
1918         USE_GMODULE for msvc build as wel. The right way to share
1919         binaries on win32 would be to use libtiff.dll etc. To reduce
1920         installation hassles IMO it's better to include all fileformats
1921         builtin to gdk-pixbuf
1922
1923         * gdk-pixbuf/makefile.msc : new file
1924
1925         * gdk/gdk.def : updated
1926
1927         * gdk/win32/gdkevents-win32.c : don't erase the background if
1928         .no_bg is set. It improves the scrolling (e.g. of testgtk main
1929         buttons
1930         * gdk/win32/gdkgeometry-win32.c : added comment about the above
1931
1932         * gdk/win32/gdkwindow-win32.c : added three new functions like
1933         the X version. Only one is implemented, because the other two
1934         "gdk_window_begin_(resize|move)_drag" got no docs and appear to
1935         be default behaviour on win32 anyway ...
1936
1937         * gtk/gtk.def : updated
1938
1939         * gtk/makefile.msc.in : update for new files, use glib-genmarshal
1940         from where it was built and add an additional rule to automagically
1941         build gtkmarshal.[hc]
1942
1943         * gtk/gtkfilesel.c (open_new_dir) : don't increase n_entries
1944         before array access for the current entry isn't finished
1945
1946         * gtk/gtktreeitem.c (gtk_tree_item_subtree_button_click) :
1947         use g_return_val_if_fail
1948
1949         * gtk/testgtk.c (window_controls) : don't use the *wrong* size
1950         for the static array, but let the compiler calculate it. It
1951         makes me wonder if gcc isn't capable to catch bugs like this ...
1952
1953 2001-03-31  James Henstridge  <james@daa.com.au>
1954
1955         * gtk/gtkwidget.c (gtk_widget_size_adjust): fix use of magic
1956         constant "-1" in the aux info structure.
1957
1958 2001-03-30  Alexander Larsson  <alexl@redhat.com>
1959
1960         * gtk/gtkbutton.c (gtk_button_get_property):
1961         * gtk/gtklabel.c:
1962         Remove leaks.
1963         
1964         * gtk/gtkcontainer.c:
1965         * gtk/gtkhscale.c:
1966         * gtk/gtkhscrollbar.c:
1967         * gtk/gtklayout.c:
1968         * gtk/gtkmisc.c:
1969         * gtk/gtkprogress.c:
1970         * gtk/gtkprogressbar.c:
1971         * gtk/gtkrange.c:
1972         * gtk/gtktable.c:
1973         * gtk/gtkviewport.c:
1974         * gtk/gtkvscale.c:
1975         * gtk/gtkvscrollbar.c:
1976         * gtk/gtkwidget.c:
1977         Property patches, based on patches from John Margaglione and Lee Mallabone.
1978
1979 Thu Mar 29 21:20:38 2001  Mike Kestner  <mkestner@ameritech.net>
1980
1981         * gtk/gtkspinbutton.c : added value_changed signal which proxies for the
1982         adjustment. Cleaned redundant preconditions (spin != NULL). Added
1983         inline API function docs.
1984         (gtk_spin_button_new_with_range): New convenience constructor.
1985         (gtk_spin_button_set_increments): New adjustment helper.
1986         (gtk_spin_button_set_range): New adjustment helper.
1987
1988         * gtk/testgtk.c : added test of the new convenince constructor and
1989         value_changed signals.
1990
1991 Thu Mar 29 20:20:38 2001  Jonathan Blandford  <jrb@redhat.com>
1992
1993         * gtk/gtktreemodel.c (gtk_tree_row_ref_reordered_callback): Now we
1994         listen to the reorder signal.
1995
1996 Wed Mar 28 20:30:26 2001  Owen Taylor  <otaylor@redhat.com>
1997
1998         * gtk/gtkwidget.[ch] (_gtk_widget_get_aux_info): Add private function
1999         to get the aux info structure fo the widget.
2000
2001         * gtk/gtklabel.c gtk/gtkscrolledwindow.c gtk/gtkwindow.c: Use
2002         above function.
2003
2004         [ Patch from  Havoc Pennington  <hp@redhat.com> ]
2005
2006         * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): function
2007         to get the size of the window manager frame, basically the same
2008         code that gdk_window_get_root_origin() had
2009         (gdk_window_get_root_origin): use gdk_window_get_frame_extents()
2010
2011         * gtk/gtkwindow.c (gtk_window_set_default_size): use
2012         gdk_window_resize() if the window is realized and resizeable
2013
2014         * gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): fix
2015         typo so that setting gravity works
2016
2017         * gtk/gtkwindow.c (gtk_window_move_resize): don't ever use
2018         allocation if auto_shrink is on, even if the default size
2019         has not changed.
2020
2021         * gtk/gtkwidget.c (gtk_widget_render_icon): remove bogus
2022         g_return_if_fail
2023
2024 Thu Mar 29 16:29:12 2001  Jonathan Blandford  <jrb@redhat.com>
2025
2026         * gtk/gtkliststore.c (gtk_list_store_iter_changed): Massive
2027         reordering/sorting work.  Now pretty much works.
2028
2029         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Lots of work to make
2030         reorder mostly work.  Still need to get the parity correct.
2031
2032         * gtk/gtktreeviewcolumn.c: Listen for "model" property changed
2033         signal, so I can listen for the sort_column_changed signal so I
2034         can change my "sort_indicator" property.  Cool.
2035
2036 Wed Mar 28 00:03:10 2001  Owen Taylor  <otaylor@redhat.com>
2037
2038         [ Patch from Havoc Pennington, hp@redhat.com ]
2039
2040         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c:
2041         Add functions gdk_window_begin_resize_drag/begin_move_drag
2042         to start resizing or moving a toplevel window. This
2043         is done either using the _NET_WM_MOVERESIZE protocol,
2044         or, if that isn't present, by emulation.
2045
2046         * gtk/gtkwindow.[ch]: Add functions gtk_begin_move/resize_drag
2047         to export the above to GTK+-land.
2048
2049         * gtk/gtkstyle.[ch]: Add ->draw_resize_grip() paint func.
2050         
2051         * gtk/gtkwindow.c gdk/gdkwindow.[ch] (gdk_window_constrain_size):
2052         Move this function into gdkwindow, since we need it
2053         when implementing fallback resizing.
2054
2055         * gdk/x11/gdkwindow-x11.c: gdk_window_set_geometry_hints.
2056         Fix typo when setting gravity.
2057
2058         * gtk/gtkstatusbar.[ch] (gtk_statusbar_set_has_resize_grip):
2059         Add an optional (but on by default) resize grip for resizing 
2060         the parent window.
2061
2062 01-03-29  Alexander Larsson  <alexl@redhat.com>
2063
2064         * gtk/gtktooltips.c (gtk_tooltips_event_handler):
2065         Don't return TRUE from the event handler, that blocks all
2066         event signals on the tooltip widget. Now you can press buttons
2067         in toolbars again.
2068
2069 Wed Mar 28 19:20:43 2001  Owen Taylor  <otaylor@redhat.com>
2070
2071         * gtk/testtext.c (create_buffer): Add missing NULL on
2072         valist.
2073
2074         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Fix
2075         c-n-p problem with INCONSISTENT property.
2076
2077         [ Patch from Havoc Pennington  <hp@redhat.com> ]
2078
2079         * gtk/gtkentry.h (struct _GtkEntryClass): add same populate_popup
2080         hook.
2081
2082         * gtk/gtktextview.h (struct _GtkTextViewClass): add populate_popup
2083         signal as a hook for extending the default popup menu
2084
2085         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
2086         use radio menu items for the input method menuitems
2087
2088         * gtk/gtkimcontextsimple.c (check_hex): do better validation of 
2089         inserted unicode from Ctrl-Shift-hex input method
2090
2091         * gtk/gtktextbtree.c (_gtk_text_btree_insert): remove utf8
2092         validatation here, already done at GtkTextBuffer level.
2093
2094         * gtk/gtkwidget.c (gtk_widget_class_init): add binding set, add
2095         popup_menu run action signal and Shift+F10 and Menu keybindings.
2096
2097         * gtk/gtkentry.c: implement a default handler for popup_menu
2098
2099         * gtk/gtktextview.c: implement a default handler for popup_menu
2100
2101         * gtk/gtkmenu.c (gtk_menu_popup): select first item if popup is
2102         from a key event
2103         
2104         * gtk/gtklabel.c: remove "trailer" cruft
2105
2106 Wed Mar 28 17:27:12 2001  Jonathan Blandford  <jrb@redhat.com>
2107
2108         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): new function to
2109         handle reordering of trees.  Seems to mostly work w/ the exception
2110         of the parity flag.
2111
2112         * gtk/gtktreeview.c (gtk_tree_view_reordered): handle "reordered"
2113         signal.
2114
2115 Wed Mar 28 21:12:37 2001  Tim Janik  <timj@gtk.org>
2116
2117         * gtk/gtkwidget.h: c++ fixes.
2118
2119 Sun Mar 25 15:51:28 2001  Owen Taylor  <otaylor@redhat.com>
2120
2121         * gtk/gtksettings.c (gtk_settings_init): Fix use of uninitialized
2122         memory.
2123
2124 Tue Mar 27 22:36:07 2001  Owen Taylor  <otaylor@redhat.com>
2125
2126         * gtk/gtkwidget.h gtk/gtkrange.h: Apply patch from 
2127         Nils Barth fixing event return values. (#51041)
2128
2129         * gtk/gtkwidget.c: Fix some return values for default
2130         functions.
2131
2132         * gtk/gtk[vh]scrollbar.c gtk/gtk[vh]range.c: Fix
2133         return values for trough_keys functions.
2134
2135         * gtk/gtkwidget.h (struct _GtkWidgetClass): Fix return
2136         value for add_accelerator (shoudl have been a void
2137         return.)
2138
2139         * gtk/gtkcellrenderer.[ch]: gtkcellrenderertoggle.h:
2140         Fix return type of EVENT.
2141
2142         * gtk/gtkmarshal.list gtk/gtktexttag.c: Make EVENT
2143         signal return a boolean.
2144
2145 Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@redhat.com>
2146
2147         * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
2148         reordered signal.
2149
2150         * tests/testtreesort.c (main): fix spelling.
2151
2152 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
2153
2154         * gtk/gtkliststore.c: More work on implementing sortable
2155         interface.
2156
2157 Mon Mar 26 15:48:45 2001  Owen Taylor  <otaylor@redhat.com>
2158
2159         * gtk/gtkwindow.c (gtk_window_list_toplevels): Don't
2160         reference the widgets in the resulting list. (#11821)
2161         This makes this consistent with gtk_container_children.
2162
2163         * gtk/gtkwindow.c gtk/gtkwidget.c: Fix up the two
2164         uses of gtk_window_list_toplevels.
2165
2166 Mon Mar 26 15:26:17 2001  Owen Taylor  <otaylor@redhat.com>
2167
2168         * gtk/gtkimcontext.c (gtk_im_context_set_use_preedit): Add
2169         a virtual function to set whether the IM context should use 
2170         the preedit string. (#51922)
2171         
2172 Mon Mar 26 14:42:59 2001  Owen Taylor  <otaylor@redhat.com>
2173
2174         * gdk/gdkpango.h: Remove stale FIXME comment.
2175
2176 2001-03-26  Alexander Larsson  <alla@lysator.liu.se>
2177
2178         * gtk/gtkfilesel.c (gtk_file_selection_get_filename):
2179         Fixed bug that returned NULL if a filename was selected.
2180
2181 2001-03-24  Havoc Pennington  <hp@pobox.com>
2182
2183         * gtk/gtkthemes.c (gtk_theme_engine_load): improve error message
2184         to contain the word "theme"
2185
2186 2001-03-24  Havoc Pennington  <hp@pobox.com>
2187
2188         * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much
2189         slower but finer-grained
2190         (gtk_hsv_focus): get initial focus on the ring or triangle 
2191         according to tab direction
2192
2193         * gtk/testgtk.c (main): get rid of weird sleep(1) on exit
2194
2195 2001-03-23  Havoc Pennington  <hp@pobox.com>
2196
2197         * gtk/gtkhsv.c: make this somewhat key-navigable
2198
2199         * gtk/gtkfontsel.c: mnemonics
2200
2201         * gtk/gtkgamma.c: mnemonics
2202
2203         * gtk/gtkcolorsel.c: add mnemonics to labels
2204
2205 2001-03-22  Havoc Pennington  <hp@pobox.com>
2206
2207         Applied big patch from Seth Lytle to fix event handler return
2208         values, slightly modified.
2209
2210         * gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
2211         handled.
2212         (gtk_calendar_key_press): return TRUE for GDK_space triggers
2213         select_day
2214
2215         * gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
2216         (gtk_clist_button_release): return TRUE if handled
2217
2218         * gtk/gtkcolorsel.c (mouse_release):
2219         (palette_activate): 
2220         (palette_press): 
2221         (palette_new): 
2222         (mouse_press): 
2223         (get_screen_color): 
2224         fixed return type (void to gboolean), return TRUE,
2225         added GTK_SIGNAL_FUNC cast
2226
2227         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type
2228         (void to gboolean), and return TRUE
2229         (gtk_combo_button_release): changed return value to TRUE after
2230         gtk_grab_add on combo->popwin
2231
2232         * gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a
2233         collapse or expand
2234
2235         * gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for
2236         button/motion
2237
2238         * gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button
2239         press/release and motion that trigger act
2240
2241         * gtk/gtkentry.c (gtk_entry_button_release): return TRUE
2242
2243         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE
2244         for GDK_Return
2245         
2246         * gtk/gtklist.c (gtk_list_button_press): return TRUE mostly
2247         (gtk_list_button_release): return TRUE if selection
2248
2249         * gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on
2250         press
2251
2252         * gtk/gtkmenushell.c (gtk_menu_shell_button_press):
2253         (gtk_menu_shell_button_release): chain parent_menu_shell retval
2254
2255         * gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if
2256         nothing triggered
2257         (gtk_notebook_button_release): return TRUE if we do anything
2258
2259         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): 
2260         (gtk_spin_button_button_release): return TRUE or chained retval
2261
2262         * gtk/gtktext.c (gtk_text_button_press): 
2263         (gtk_text_button_release): return TRUE
2264         (gtk_text_key_press): remove redundant retval code
2265         
2266         * gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button
2267         and sensitive
2268         (gtk_tree_item_subtree_button_click): changed type to gint, and return
2269         TRUE if sensitive
2270
2271         * gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies 
2272         return TRUE
2273
2274 2001-03-23  Havoc Pennington  <hp@redhat.com>
2275
2276         * gtk/testgtk.c: fix warnings
2277
2278         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): fix return value
2279
2280         * gtk/gtktextview.c: fix warnings
2281
2282         * gtk/gtktext.c (find_cursor_at_line): fix warning
2283
2284         * gtk/gtkselection.c (gtk_selection_notify): fix warning 
2285
2286         * gtk/gtkitemfactory.c (gtk_item_factory_menu_pos): fix signature
2287         of this function
2288
2289         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
2290         fix warning
2291
2292         * gtk/gtkhandlebox.c (gtk_handle_box_style_set): fix warning
2293
2294         * gtk/gtkfontsel.c: fix warning
2295
2296         * gtk/gtkcolorsel.c: fix warnings
2297
2298 2001-03-23  Havoc Pennington  <hp@redhat.com>
2299
2300         * gtk/gtkhandlebox.c: Apply property patch from Lee Mallabone
2301
2302         * gtk/gtkbox.c: Apply property patch from Lee Mallabone
2303
2304         * gtk/gtkcheckmenuitem.c: Apply property patch from Lee Mallabone,
2305         and deprecated gtk_check_menu_item_set_show_toggle().
2306         
2307         * gtk/gtkbutton.c: Apply property patch from Lee Mallabone
2308
2309         * gtk/gtkfilesel.c: Apply property patch from Lee Mallabone
2310
2311         * gtk/gtkframe.c: Apply property patch from Lee Mallabone
2312
2313 2001-03-23  Havoc Pennington  <hp@redhat.com>
2314
2315         * gtk/gtktoolbar.c, gtk/gtkimcontext.c, gtk/gtklabel.c: fix up
2316         some docs
2317
2318 Fri Mar 23 16:13:43 2001  Jonathan Blandford  <jrb@redhat.com>
2319
2320         * gtk/gtktreeviewcolumn.h (GtkCellDataFunc): Forgot to namespace
2321         this.
2322
2323         * gtk/gtktreestore.c (gtk_tree_store_set_value): change from
2324         set_cell to set_value
2325
2326         * gtk/gtkliststore.c (gtk_list_store_set_value): change from
2327         set_cell to set_value
2328
2329 Thu Mar 22 19:27:34 2001  Jonathan Blandford  <jrb@redhat.com>
2330
2331         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
2332         fix braino.
2333         * gtk/gtktreesortable.[ch]: New interface to add cleanup sortable
2334         support.
2335
2336         * gtk/gtktreeview.c: Addition of initial sortable support.
2337
2338         * gtk/gtktreestore.c: Addition of initial sortable support.
2339
2340         * gtk/gtkliststore.c: Addition of initial sortable support.
2341
2342         * gtk/gtkmarshal.list: yet another marshaller.
2343
2344         * gtk/gtktreedatallist.[ch]: shared code between the store models
2345         for handling sorting headers.
2346
2347 2001-03-22  Havoc Pennington  <hp@redhat.com>
2348
2349         * gtk/gtkcontainer.c (gtk_container_set_focus_chain): 
2350         (gtk_container_unset_focus_chain): Add ability to override the 
2351         focus chain for a container explicitly
2352
2353 Thu Mar 22 13:01:44 2001  Tim Janik  <timj@gtk.org>
2354
2355         * gtk/gtklabel.[hc]: some cleanups, fixed mnemonic_widget handling,
2356         added PROP_MNEMONIC_WIDGET.
2357
2358         * gtk/gtkwindow.c (gtk_window_activate_mnemonic): 
2359         (gtk_window_remove_mnemonic): 
2360         (gtk_window_add_mnemonic): fixed assertions.
2361         (gtk_window_activate_mnemonic): constrain modifier checks to those
2362         permitted by gtk_accelerator_get_default_mod_mask().
2363         got rid of gtk_window_get_default_accel_group().
2364
2365         * gtk/gtkwidget.c (gtk_widget_real_activate_mnemonic): handle non
2366         activatable widgets either by focussing or a warning.
2367         added a signal accumulator to ::activate_mnemonic which stops the
2368         emission once a handler returned TRUE.
2369
2370 2001-03-22  Havoc Pennington  <hp@pobox.com>
2371
2372         * gtk/gtktoolbar.c (gtk_toolbar_insert_stock): handle mnemonics in
2373         the stock item label
2374
2375         * gtk/gtklabel.c: s/@gtk_func/gtk_func()/ in docs
2376
2377         * gtk/gtkstock.c (builtin_items): add mnemonics where missing
2378
2379         * demos/gtk-demo/*.c: Add mnemonics all over the place
2380
2381         * gtk/gtklabel.h: mark parse_uline deprecated
2382
2383 2001-03-21  Alexander Larsson  <alexl@redhat.com>
2384
2385         * gtk/gtkitemfactory.[ch]:
2386         Add support for stock and normal imagemenuitems.
2387         
2388         * gtk/testgtk.c:
2389         Add some tests for mnemonics, stock toolbars, stock
2390         and image menuitems in itemfactory and gdk_window_scroll.
2391
2392 2001-03-21  Alexander Larsson  <alexl@redhat.com>
2393
2394         * gtk/gtkbutton.[ch]:
2395         * gtk/gtkdialog.c:
2396         Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
2397         removed accel_group argument. Renamed gtk_button_new_accel() to
2398         gtk_button_new_with_mnemonic() and removed accel_group argument.
2399
2400         * gtk/gtkcheckbutton.[ch]:
2401         New function gtk_check_button_new_with_mnemonic().
2402
2403         * gtk/gtkentry.c:
2404         Override activate_mnemonic and just grab focus.
2405
2406         * gtk/gtkitemfactory.c:
2407         Don't add menu uline accel group, instead use mnemonics support.
2408
2409         * gtk/gtklabel.[ch]:
2410         New support for mnemonics.
2411
2412         * gtk/gtkmarshal.list:
2413         Needed BOOLEAN:BOOLEAN for activate_mnemonic.
2414
2415         * gtk/gtkmenu.[c]:
2416         * gtkmenushell.c:
2417         Use mnemonics instead of accel groups for uline
2418         support in menu items.
2419         Removed gtk_menu_get_uline_accel_group() and
2420         gtk_menu_ensure_uline_accel_group().
2421
2422         * gtk/gtkmenuitem.c:
2423         Override activate_mnemonic to handle switching between
2424         menu items if there are collisions.
2425         
2426         * gtk/gtknotebook.c:
2427         Connect to activate_mnemonic on the tab_label, so that
2428         activating it switches to that notebook page.
2429
2430         * gtk/gtkwidget.[ch]:
2431         Add activate_mnemonic signal. New function
2432         gtk_widget_activate_mnemonic() to emit it.
2433         Default implementation does activate/grab_focus.
2434
2435         * gtk/gtkwindow.[ch]:
2436         Add support for mnemonics in windows.
2437         New functions:
2438         gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
2439         gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier
2440
2441         * gtk/testgtk.c:
2442         Update to function name changes.
2443         
2444 2001-03-21  Alexander Larsson  <alexl@redhat.com>
2445
2446         * gtk/gtkimagemenuitem.[c]:
2447         Add gtk_image_menu_item_new_from_stock()
2448
2449 Tue Mar 20 15:00:43 2001  Jonathan Blandford  <jrb@redhat.com>
2450
2451         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
2452         Fix buglet in meeting.
2453
2454 2001-03-19  Havoc Pennington  <hp@redhat.com>
2455
2456         * gtk/gtkiconfactory.c: Make GtkIconSource an opaque datatype, and
2457         add a bunch of accessor functions. This is because we have
2458         reasonable expectations of extending what fields it contains in
2459         the future.
2460
2461         * gtk/gtkstyle.c (gtk_default_render_icon): adapt to icon source
2462         changes
2463
2464         * gtk/gtkrc.c (gtk_rc_parse_icon_source): fix to use new
2465         GtkIconSource   
2466
2467 Mon Mar 19 15:53:36 2001  Owen Taylor  <otaylor@redhat.com>
2468
2469         * gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly
2470         handle __ in paths, quote " and \n in gtk_item_factory_dump_items().
2471
2472         * gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c 
2473           gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch]
2474           gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch]
2475           gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c:
2476         Change float to double everywhere with the exception of 0<->1.0 alignment
2477         and GtkCurve.
2478
2479 2001-03-19  Tor Lillqvist  <tml@iki.fi>
2480
2481         * gdk/win32/gdkdrawable-win32.c
2482         * gdk/win32/gdkimage-win32.c: Use correct casts in debugging
2483         output.
2484
2485         * demos/testpixbuf-drawable.c: If GDK_WINDOWING_WIN32, include
2486         gdkwin32.h.
2487
2488 2001-03-18  Tor Lillqvist  <tml@iki.fi>
2489
2490         * gdk/win32/gdkevents-win32.c (print_window_state): New function.
2491         print_event_state, print_event): Use preprocessor macro to make
2492         code more compact. Print also GDK_WINDOW_STATE events.
2493         (synthesize_crossing_events): Remove the old #ifdeffed-out code.
2494         
2495         * gtk/gtk.def
2496         * gtk/makefile.mingw.in: Update.
2497
2498         * gtk/gtkmain.h: Check for G_PLATFORM_WIN32, not only G_OS_WIN32,
2499         to catch also Cygwin.
2500
2501 Sun Mar 18 01:15:30 2001  Tim Janik  <timj@gtk.org>
2502
2503         * gtk/gtkspinbutton.[hc]: added rc-style argument
2504         GtkSpinButton::shadow_type.
2505         removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
2506         and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
2507         rc-style settings.
2508
2509         * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).
2510
2511         * gtk/gtkwidget.c: quark cleanups.
2512
2513         * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
2514         scanner with appropriate configuration, renamed GtkRcStyleClass.clone
2515         to create_rc_style() (we don't do cloning in standard OO sense).
2516         added per rc style properties.
2517         
2518         * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
2519         property values and for caching those. some cleanups.
2520         
2521         * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS.
2522         
2523         * gtk/gtksettings.[hc]: new file for global rc-file properties
2524         (at least currently, should get extended to support X properties
2525         and other communication mechanisms).
2526         
2527         * gtk/gtkwidget.[hc]: added style property support:
2528         (gtk_widget_class_install_style_property_parser): install style
2529         property pspec with parser function for rc-file values other
2530         than LONG, DOUBLE or STRING.
2531         (gtk_widget_class_install_style_property): same as above without
2532         parser (parsers are going to be needed quite infrequently).
2533         (gtk_widget_style_get_property): retrive style property value.
2534         (gtk_widget_style_get_valist): same as above with varargs support,
2535         has NOCOPY semantics.
2536         (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().
2537
2538 Fri Mar 16 18:24:53 2001  Jonathan Blandford  <jrb@redhat.com>
2539
2540         * demos/gtk-demo/main.c (row_activated_cb): modified to use
2541         "row_activated" signal.
2542
2543         * gtk/gtktreeview.c (gtk_tree_view_row_activated): oh, the
2544         stupidity.  Lets actually pass in the row with this signal...
2545
2546 Fri Mar 16 18:01:17 2001  Jonathan Blandford  <jrb@redhat.com>
2547
2548         * gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN
2549
2550         * gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal.
2551
2552         * gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much
2553         everything into the ::destroy function, and freed a lot more.
2554
2555 2001-03-16  Havoc Pennington  <hp@redhat.com>
2556
2557         * gtk/gtkwidget.h (struct _GtkWidgetAuxInfo): change to use gint
2558         instead of gint16, to avoid overflow issues, since sizes > 16-bit
2559         are now allowed.
2560
2561 2001-03-16  Havoc Pennington  <hp@redhat.com>
2562
2563         * Applied patch from Nils Barth (bug # 51041) to 
2564         replace "gint" with "gboolean" and 0/1 with TRUE/FALSE
2565         in various places.
2566
2567 2001-03-15  Havoc Pennington  <hp@redhat.com>
2568         
2569         * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs 
2570         for properties to set on the tag.
2571
2572         * gtk/testtext.c: fixups to reflect create_tag change
2573         
2574         * gtk/gtktexttag.c (gtk_text_tag_set_property):
2575         background/foreground stipple are objects, not boxed.
2576
2577         * demos/gtk-demo/textview.c: intellihancing
2578
2579 Fri Mar 16 11:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
2580
2581         * gtk/gtktreeview.c (gtk_tree_view_set_model): Fixed some
2582         braindeadness spotted by Jamie Strachan <frostfreek@yahoo.com>.
2583
2584 2001-03-16  Alexander Larsson  <alexl@redhat.com>
2585
2586         * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
2587         Fix sign error with queued region translations.
2588
2589 2001-03-15  HideToshi Tajima  <tajima@happy>
2590
2591         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
2592         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
2593         * gtk/gtkentry.c (update_im_cursor_location): 
2594         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
2595         * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
2596         set_cursor_pos to set_cursor_location in GtkInputContext class
2597
2598 Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>
2599
2600         * gtk/gtkcellrenderer.h: Changed prototype to allow for getting
2601         the location of the cell relative to its area.
2602         * gtk/gtkcell*: modified for above change
2603         * gtk/gtktreeview.c: modified for above change.
2604
2605 Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>
2606
2607         * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
2608          (gtk_tree_view_finalize): actually unref the model.  Thanks to
2609         Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
2610
2611 2001-03-14  Havoc Pennington  <hp@redhat.com>
2612
2613         * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
2614         
2615         * gtk/gtk.h: remove gtkdata.h
2616
2617         * gtk/Makefile.am: remove gtkdata
2618         
2619         * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
2620         not "disconnect" on the adjustments.
2621         
2622         * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not
2623         GtkData
2624
2625         * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
2626         not GtkData
2627
2628         * configure.in: handle case where X render exists, but Pango lacks
2629         Xft support.
2630
2631 2001-03-15 Alexander Larsson  <alexl@redhat.com>
2632
2633         * gtk/gtktoolbar.[ch]:
2634         New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
2635         to add stock items to toolbars.
2636
2637         * gtk/Makefile.am:
2638         Remove ../gdk/gdkim.h from gdk_headers.
2639
2640 2001-03-15  Sven Neumann  <sven@gimp.org>
2641
2642         * gdk/gdkim.h: removed
2643         
2644         * gdk/gdkprivate.h
2645         * gdk/x11/gdkim-x11.c: do not include gdkim.h 
2646
2647 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
2648
2649         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
2650         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
2651         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
2652         set_cursor_pos() virtual method
2653
2654         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
2655         (gtk_im_context_xim_set_cursor_pos): add implementation for
2656         set_cursor_pos() method
2657
2658         * gtk/gtkentry.c (recompute_idle_func): set current cursor
2659         position to input methods
2660
2661 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
2662
2663         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
2664         code a lot.
2665
2666         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
2667         g_mem_chunk.
2668         (_gtk_tree_data_list_alloc): use g_mem_chunk.
2669         (_gtk_tree_data_list_node_to_value): Fix to switch on
2670         G_TYPE_FUNDAMENTAL.
2671         (_gtk_tree_data_list_value_to_node): Fix to switch on
2672         G_TYPE_FUNDAMENTAL.
2673         (_gtk_tree_data_list_node_copy): Fix to switch on
2674         G_TYPE_FUNDAMENTAL.
2675
2676 2001-03-12  Havoc Pennington  <hp@redhat.com>
2677
2678         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
2679         to convert to new property API. Also, change default_width and
2680         default_height get_property to return 0 as the flag value for
2681         "unset"; -1 is not a valid value for these fields.
2682
2683 2001-03-12  Havoc Pennington  <hp@redhat.com>
2684
2685         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
2686         enum with registration for icon sizes, instead of strings.
2687
2688         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
2689         gtkwidget.c: Fix to reflect GtkIconSize
2690         
2691 2001-03-12  Alexander Larsson  <alexl@redhat.com>
2692
2693         Make GtkFB compile and link.
2694         
2695         * gdk/linux-fb/gdkdrawable-fb2.c:
2696         window->mapped to GDK_WINDOW_IS_MAPPED(). 
2697         
2698         * gdk/linux-fb/gdkwindow-fb.c:
2699         window->mapped to GDK_WINDOW_IS_MAPPED(). 
2700         Added gdk_window_shape_combine_region.
2701         Added assorted placeholders for unimplemented new GdkWindow API calls.
2702
2703 2001-03-12  Alexander Larsson  <alexl@redhat.com>
2704
2705         * gtk/gtkfilesel.c:
2706         Add more test when converting filenames from/to utf-8.
2707         Don't allow entering text in the filename entry which isn't allowed in
2708         a filename. Just beep instead.
2709
2710 2001-03-12  Alexander Larsson  <alexl@redhat.com>
2711
2712         * gtk/gtkclist.c:
2713         Scroll using gdk_window_scroll(). Don't wait for exposes.
2714         Move the column headers in an order that makes them flash less.
2715
2716 2001-03-10  Hans Breuer  <hans@breuer.org>
2717
2718         * gdk/gdk.def : updated
2719
2720         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
2721         to offseting the clip_mask at the right place
2722
2723         * gdk/win32/gdkwindow-win32.c : don't create background brushes
2724         for all the gdkClasses, especially not for the input_only case.
2725         Otherwise flickering wont be avoidable, because we don't get
2726         WM_ERASEBKGND message for these windows.
2727
2728         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
2729         and fixed massive redraw problems apparently triggered by Alexanders 
2730         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
2731         but it seems to work quite well :-)
2732
2733         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
2734         prototype
2735
2736 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
2737
2738         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
2739         (gtk_list_store_set_cell): Fix a stupid typo.
2740
2741 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
2742
2743         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
2744         select_all not work if you're in SINGLE mode (it doesn't make that
2745         much sense, anyway.)
2746
2747         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
2748         handle types more sanely.
2749         (_gtk_tree_data_list_value_to_node): handle types more sanely.
2750         (_gtk_tree_data_list_node_copy): handle types more sanely.
2751
2752         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
2753         GValue better. Converts the type as well.
2754
2755         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
2756         GValue better. Converts the type as well.
2757
2758 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
2759
2760         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
2761         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
2762         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
2763         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
2764
2765         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
2766         gdk_im/gdk_ic.
2767
2768 2001-03-09  Hans Breuer  <hans@breuer.org>
2769
2770         * gdk/gdk.def : updated
2771
2772         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
2773         for their palette
2774
2775         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
2776         removing
2777
2778         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
2779         removing and implemented Havoc's GdkWindow state functions; 
2780         stick/unstick only as no-op, cause I don't know how to emulate 
2781         on win32 ...
2782
2783         * gtk/gtk.def : updated
2784
2785         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
2786
2787         * gtk/gtktypeutils.c : #include <string.h>
2788
2789         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
2790
2791 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
2792
2793         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
2794         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
2795         not a boxed.
2796
2797 2001-03-09  Alexander Larsson  <alexl@redhat.com>
2798
2799         * docs/Changes-2.0.txt:
2800         Document expose event->region change and that gtk_widget_event
2801         doesn't allow passing expose events.
2802
2803         * gdk/gdkevents.h:
2804         Add region to expose event.
2805         
2806         * gdk/gdkevents.c:
2807         Handle event->region in gdk_event_copy() and gdk_event_free().
2808
2809         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
2810         Generate expose_event->region when creating expose events.
2811
2812         * gdk/x11/gdkevents-x11.c:
2813         Generate expose events with regions when translating X events.
2814
2815         * gtk/gtkcontainer.[ch]:
2816         Default expose handler that propagates expose events to NO_WINDOW
2817         children. New function gtk_container_propagate_expose()
2818
2819         * gtk/gtkwidget.[ch]:
2820         Moved gtk_widget_event implementation to gtk_widget_event_internal.
2821         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
2822         expose events. New function gtk_widget_send_expose() to send expose
2823         events. New function gtk_widget_region_intersect() to calculate
2824         window/region intersections.
2825         
2826         * gtk/gtkmain.c (gtk_main_do_event):
2827         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
2828         Use gtk_widget_send_expose() to send expose events.
2829         
2830         * gtk/gtkbin.c:
2831         * gtk/gtkbox.c:
2832         * gtk/gtkfixed.c:
2833         * gtk/gtkimagemenuitem.c:
2834         * gtk/gtklist.c:
2835         * gtk/gtkpacker.c:
2836         * gtk/gtktable.c:
2837         * gtk/gtktree.c:
2838         Remove expose handler, using the default container implementation
2839         instead.
2840         
2841         * gtk/gtkbutton.c:
2842         * gtk/gtkcheckbutton.c:
2843         * gtk/gtkeventbox.c:
2844         * gtk/gtkfixed.c:
2845         * gtk/gtkhandlebox.c:
2846         * gtk/gtklayout.c:
2847         * gtk/gtklistitem.c:
2848         * gtk/gtkmenu.c:
2849         * gtk/gtkmenubar.c:
2850         * gtk/gtkmenuitem.c:
2851         * gtk/gtknotebook.c:
2852         * gtk/gtkoptionmenu.c:
2853         * gtk/gtkpaned.c:
2854         * gtk/gtkscrolledwindow.c:
2855         * gtk/gtktogglebutton.c:
2856         * gtk/gtktoolbar.c:
2857         * gtk/gtktreeitem.c:
2858         * gtk/gtkviewport.c:
2859         Chain expose handler to parent class handler. Use
2860         gtk_container_propagate_expose() to propagate exposes.
2861
2862         * gtk/gtkclist.c (check_exposures):
2863         * gtk/gtktext.c (process_exposes):
2864         Use gtk_widget_send_expose instead of gtk_widget_event.
2865
2866 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
2867
2868         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
2869
2870 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
2871
2872         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
2873         unref the nodes.   Fixes bug #50058.
2874
2875         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
2876         "::ref_iter" to "::ref_node".
2877         (gtk_tree_model_unref_node): change "::unref_iter" to
2878         "::unref_node". Fixes bug #50064.
2879
2880 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
2881
2882         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
2883         support for invisible cells.
2884          (gtk_tree_view_bin_expose): ditto
2885
2886 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
2887
2888         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
2889         on gobjects.
2890
2891         * tests/testtreefocus.c (main): New test file.
2892
2893         * tests/testtreeview.c: update to latest glib changes.
2894
2895         * tests/testtreecolumns.c: update to latest glib changes.
2896
2897 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
2898
2899         * gtk/testgtk.c: re-enabled event watcher emission hooks.
2900
2901 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
2902
2903         * *.c: added accumulator data argument to g_signal_newc()
2904         functions.
2905
2906         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
2907         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
2908         * gtk/treestoretest.c (make_window):
2909         s/g_signal_connect/g_signal_connectc/.
2910
2911         * gtk/gtktextbuffer.c: completed signal arg fixups,
2912         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
2913
2914 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
2915
2916         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
2917         G_CONST_RETURN.
2918
2919         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
2920         ::hierarchy-changed signal when a widget changes
2921         from anchored to unanchored or vice versa.
2922         (anchored means 
2923          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
2924         Use a private flag to keep track of this efficiently.
2925
2926 2001-03-07  Havoc Pennington  <hp@redhat.com>
2927
2928         * gtk/testgtk.c (create_spins): uglify so that size request gets
2929         tested.
2930
2931         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
2932         request on values for upper/lower, completes #6152
2933
2934 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
2935
2936         * Makefile.am: Remove gtk-config-2.0 again.
2937         (Grrrr, pkg-config. And stops make loops.)
2938
2939 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
2940
2941         * gtk/gtksignal.[hc]: removed old emission hook API.
2942         
2943         * docs/Changes-2.0.txt: fixed sections.
2944         
2945         * gtk/gtktextbuffer.c: signal arg fixups.
2946
2947 2001-03-07  Havoc Pennington  <hp@redhat.com>
2948
2949         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
2950
2951         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
2952         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
2953         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
2954         validation and the redraw which is higher priority than the
2955         validation.
2956
2957 2001-03-07  Havoc Pennington  <hp@redhat.com>
2958
2959         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
2960         (gtk_entry_set_property): remove trailer
2961
2962         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
2963         (gtk_entry_get_width_chars): new functions, to set size request to 
2964         a given number of characters
2965
2966         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
2967
2968         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
2969         (gtk_dialog_get_has_separator): new function
2970         (run_delete_handler): fix to not emit "response" signal
2971         because we already did in the delete event handler installed
2972         at dialog creation time.
2973         
2974         * gtk/gtkdialog.h: add a has_separator property,
2975         add GTK_DIALOG_NO_SEPARATOR flag
2976
2977 2001-03-07  Havoc Pennington  <hp@redhat.com>
2978
2979         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
2980         off decorations for a window.
2981
2982         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
2983         changes
2984
2985         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
2986         to get location of PangoLayout inside the label, closes #51198
2987
2988         * gtk/testgtk.c (create_bbox): fix up button box usage
2989
2990         * gtk/testcalendar.c (create_calendar): fix up button box usage
2991
2992         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
2993
2994         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
2995
2996         * gtk/gtkhbbox.h: deprecations
2997
2998         * gtk/gtkvbbox.h: deprecations
2999
3000         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
3001         emulate deprecated gtk_button_box_get_spacing
3002
3003         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
3004         the "set global default" functions
3005         (struct _GtkButtonBox): remove "spacing" field, use the one from 
3006         GtkBox base class
3007
3008         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
3009
3010         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
3011         render the icon, return the missing image icon.
3012
3013         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
3014         image icon if the load fails.   
3015
3016         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
3017         when no image is found; should be the Netscape "missing image"
3018         icon eventually but for now is a random image
3019
3020         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
3021         role for the session manager
3022
3023         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
3024
3025         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
3026         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
3027
3028         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
3029
3030 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
3031
3032         * gtk/*.c: marshaller fixes.
3033         
3034         * gtk/gtkmarshal.list: extreme cleanup.
3035
3036         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
3037         param spec for now.
3038
3039         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
3040         where appliable.
3041
3042         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
3043         special cased autogenerated boxed types from gtktypebuiltins_ids.c
3044         which are not reference counted:
3045         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
3046         PangoFontDescription, GtkTreeIter and GtkTreePath.
3047
3048 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
3049
3050         * gtk/gtktreeselection.h: 
3051         * gtk/gtktreemodel.c:
3052         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
3053         file should be included directly, and gobject/gmarshal.h
3054         as well as gtk/gtkmarshal.h even can't be included directly.
3055
3056         * Makefile.am: grr, install gtk-config-2.0.
3057
3058         * gtk/testgtk.c:
3059         * gtk/simple.c:
3060         * gtk/gtkmenu.c:
3061         * gtk/gtkitemfactory.c: use g_object_connect() instead of
3062         passing "*signal*::*" args to gtk_widget_set().
3063         
3064         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
3065         
3066         * gtk/*.c: removed trailer arg from property setters and getters.
3067         macro fixups.
3068
3069 2001-03-07  Alexander Larsson  <alexl@redhat.com>
3070
3071         * gtk/gtklabel.c (set_markup): Removed warning
3072
3073 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
3074
3075         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
3076         field to allow you to hide cell renderers.
3077
3078         * gtk/gtkcellrenderer.c: Add support for invisible cells.
3079
3080         * gtk/gtktreeview.c: Add support for invisible cells.
3081
3082 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
3083
3084         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
3085         Add "clicked" signal back to columns.
3086
3087         * ChangeLog: remove conflict markers.
3088
3089 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
3090
3091         * gtk/gtkbutton.c: Add animation of activation by, on 
3092         activate, pressing the button, and adding a timeout that 
3093         releases the button after 250ms or on key release and
3094         emits ::clicked. (#51501)
3095
3096         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
3097         action area, we connect to ::clicked instead of ::activate
3098         so the dialog stays up through the animation.
3099
3100 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
3101
3102         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
3103         check the ignore_enter flag for the menu shell that
3104         the item is actually a child of, not for attached
3105         submenus. (#51536)
3106
3107 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
3108
3109         * gtk/gtkmain.c (gtk_propagate_event): Only do special
3110         special key-press grab handling for widgets within
3111         GtkWindows. Otherwise, fall through to normal case.
3112
3113         This prevents key events being sent twice to GtkInvisible
3114         widgets, which can cause all sorts of mischief.
3115
3116 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
3117
3118         * gtk/gtkmain.c (gtk_propagate_event): When a grab
3119         widget is in effect, give the grab widget a first
3120         crack at KEY_PRESS/RELEASE events. (#424)
3121
3122 2001-03-06  James Henstridge  <james@daa.com.au>
3123
3124         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
3125         offset for the window_state_event to point at window_state_event
3126         rather than no_expose_event.
3127
3128 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
3129
3130         * gtk/gtkimmodule.h: fix busted /* comment */
3131
3132 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
3133
3134         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
3135         object properties.
3136
3137 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
3138
3139         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
3140         add object properties.
3141
3142         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
3143         to add object properties.
3144
3145         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
3146         object properties.
3147
3148         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
3149         add object properties.
3150
3151         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
3152         object properties.
3153
3154 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
3155
3156         * gtk/gtktreemodel.c: renamed "child_toggled" to
3157         "has_child_toggled".
3158
3159         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
3160         handle new signal name.
3161
3162         * gtk/gtktreestore.c: Updated to handle new signal name.
3163         * gtk/gtklisttore.c: Updated to handle new signal name.
3164         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
3165
3166 2001-03-05  Alexander Larsson  <alexl@redhat.com>
3167
3168         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
3169         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
3170
3171 2001-03-05  Michael Natterer  <mitch@gimp.org>
3172
3173         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
3174         pixbuf-engine coincidentially also failed to make one of it's
3175         parent_class pointers static, causing overwriting of GtkLabel's
3176         parent_class pointer in pixbuf_style_class_init().
3177         (Will commit the fix to the pixbuf-engine too).
3178
3179 2001-03-05  Alexander Larsson  <alexl@redhat.com>
3180
3181         * gdk/gdkwindow.h:
3182         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
3183         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
3184         gdk_window_set_icon_list for net wmspec functionality.
3185
3186         * gdk/x11/gdkwindow-x11.c:
3187         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
3188         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
3189         gdk_window_set_icon_list.
3190         Added gdk_wmspec_change_state helper function and used it in the code.
3191         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
3192
3193         * gtk/gtkdialog.c (gtk_dialog_init):
3194         Set GDK_WINDOW_TYPE_HINT_DIALOG.
3195
3196         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
3197         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
3198
3199         * gtk/gtkwindow.c:
3200         new function gtk_window_set_type_hint.
3201         On realize, set type hint and modal hint.
3202
3203         * gtk/gtkwindow.h:
3204         Added type_hint field and gtk_window_set_type_hint.
3205
3206 2001-03-05  Alexander Larsson  <alexl@redhat.com>
3207
3208         * gtk/gtklabel.[ch]:
3209         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
3210         New function gtk_label_get_accel_keyval () to get the underline accelerator
3211         of the label. Setting the label pattern overrides other attributes.
3212
3213 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
3214
3215         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
3216         Added missing initializers to gtk_rc_style_init().
3217
3218 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
3219
3220         * gtk/gtktextview.c: fixed bug #51097 about setting 
3221         gtk_text_view_set_border_window_size() if the widget is 
3222         already realized.
3223
3224 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
3225
3226         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
3227
3228         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
3229         comment. Won't do to have duplicated doc comments between
3230         the platform subdirs.
3231
3232 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
3233
3234         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
3235           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
3236
3237         Detectable auto-repeat - make a repeating key generate
3238         press/press/press/release instead of press/release pairs.
3239
3240         If we have Xkb and XkbSetDectableAutoRepeat supports
3241         that, we do it that way. Otherwise, when we get
3242         a release event, we check ahead with XPending to see
3243         if the next key is a KeyPress with the same keycode
3244         and timestamp. (Not 100% reliable, but pretty close.)
3245           
3246 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
3247         
3248         * gtk/gtkmain.c (gtk_propagate_event): Only do special
3249         special key-press grab handling for widgets within
3250         GtkWindows. Otherwise, fall through to normal case.
3251  
3252         This prevents key events being sent twice to GtkInvisible
3253         widgets, which can cause all sorts of mischief.
3254  
3255 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
3256  
3257         * gtk/gtkmain.c (gtk_propagate_event): When a grab
3258         widget is in effect, give the grab widget a first
3259         crack at KEY_PRESS/RELEASE events. (#424)
3260  
3261 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
3262
3263         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
3264         to extend the selection. (Roughly based on patch
3265         from Jay Cox, #50939)
3266
3267         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
3268         to properly handle previous GDK_BUTTON_PRESS. 
3269         (Patch from Jay Cox, #50938)
3270
3271         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
3272         '\0' back along with the deleted text. (#51148)
3273
3274 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
3275
3276         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
3277         the group when extracting it from the X keyboard event.
3278
3279         * modules/input/Makefile.am modules/input/imipa.c: 
3280         Simple module for entering IPA. (Do we need a 
3281         gtk-stupid-input-tricks CVS module?)
3282
3283 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
3284
3285         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
3286         const.
3287
3288         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
3289
3290         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
3291         is no focus widget for the dialog currently, grab the focus as well
3292         as the default.
3293
3294         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
3295         the action area's children to iterate through, not the
3296         dialog's children.
3297
3298 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
3299
3300         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
3301         Add plug-socket tests. (Won't work worth a darn until I commit
3302         the rest of the plug-socket changes, but no reason these
3303         can't go into CVS now.)
3304
3305 2001-03-02  Havoc Pennington  <hp@redhat.com>
3306
3307         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
3308         _gdk_region_get_xrectangles()
3309
3310         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
3311
3312         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
3313
3314         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
3315         function, contributed by Ron Steinke    
3316
3317         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
3318         gdk_net_wm_supports
3319
3320         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
3321         New function, contributed by Ron Steinke
3322
3323         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
3324         used to line up the text in the entry when using the entry for
3325         editable sheet cell hacks
3326
3327         * gtk/testgtk.c (create_entry): test the activate_default setting
3328         on GtkEntry
3329
3330         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
3331         cause the entry to activate the default button for a dialog when 
3332         activated
3333         (gtk_entry_get_activates_default): new function
3334
3335 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
3336
3337         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
3338         Hwang to move call to sync_selection() up a few lines
3339         to before the row list is modified, to fix crash when
3340         removing rows in the undo_selection list.
3341
3342         (Test case provided by Daniel Elstner:
3343
3344         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
3345
3346 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
3347
3348         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
3349         of tree->root_tree in parent_set rather than _map(), 
3350         fixing #50892 in a bit better manner.
3351
3352 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
3353
3354         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
3355
3356 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
3357
3358         * gtk/gtkstyle.c : Remove duplicate fwd decl for
3359         gtk_default_draw_shadow.
3360
3361 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
3362
3363         * gdk/gdkimage.c (gdk_image_new): Remove excess 
3364         warning, make warnings more verbose, treat a error
3365         in shmat as permanent, and don't try again.
3366         (#51163, Ed Randall.)
3367
3368 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
3369
3370         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
3371         delay for the first click before starting to scroll.
3372         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
3373
3374         * gtk/gtktext.c: GtkText should have I-beam cursor. 
3375         (based on gtk-enf-990513-1.patch, Eric Fisher.)
3376
3377 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
3378
3379         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
3380         cleanup to remove some references to unused
3381         ->xoffset, ->yoffset.
3382
3383 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
3384
3385         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
3386         mask. (#51039, fix from Martin Maierhofer)
3387
3388 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
3389
3390         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
3391         for unshifted + and shifted = for non-us keyboards.
3392         Make <Control>+ and <Control>- work as well as 
3393         <Control>KP_Plus, <Control>KP_Minus for recursive
3394         open/close.  (#2682, René Seindal)
3395
3396 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
3397
3398         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
3399         the active menu item before deactivating the menu,
3400         so gtk_menu_popdown doesn't change the history. (#50964)
3401         
3402 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
3403
3404         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
3405         draw lines with text_gc rather than black_gc.
3406         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
3407
3408 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
3409
3410         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
3411         Move handling of buttons fully in gtktreeviewcolumn.  This code is
3412         less interrelated then it was, but it still requires the
3413         GtkTreeView to map it.
3414
3415         * test/testtreecolumn.c: Now I can add a column to one view,
3416         remove it, add it to the another view, remove it, then re-add it
3417         to the first.  Nifty.
3418
3419 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
3420
3421         * docs/tutorial/gtk-tut.sgml: Minor corrections
3422
3423 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
3424
3425         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
3426         GtkRowReference.
3427
3428 2001-02-28  Havoc Pennington  <hp@redhat.com>
3429
3430         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
3431         draw_default
3432         (gtk_widget_draw_focus): remove this function; we could instead
3433         make it just gtk_widget_draw(), but in most cases I think the
3434         result would be broken user code, so think it's better to have
3435         that code not compile and get fixed
3436         (gtk_widget_draw_default): ditto
3437
3438         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
3439         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
3440         
3441         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
3442         widgets lose/get the default, instead of calling draw_default
3443         
3444         * docs/Changes-2.0.txt: note about all this
3445
3446         Then fixed every widget in GTK, I won't list all the filenames.
3447
3448 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
3449
3450         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
3451         _gtk_tree_row_reference_deleted.
3452         (inserted_callback): Proxy out to
3453         _gtk_tree_row_reference_inserted.
3454         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
3455         get around signal emission ordering problem.
3456
3457         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
3458         fix to work with SINGLE 
3459         (_gtk_tree_selection_internal_select_node): Major sanitization on
3460         selections.  SINGLE now seems to work.
3461
3462         * tests/Makefile.am: add testtreecolumn.c:
3463
3464         * tests/testtreecolumn.c: New test.  Mostly points out selection
3465         bugs currently, but will test columns later.
3466
3467         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
3468         selection bug.  I hate touching this code -- it's scary.
3469
3470 2001-02-26  Havoc Pennington  <hp@redhat.com>
3471
3472         * gtk/testgtk.c: test the window state stuff
3473
3474         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
3475         window come to the user's attention as if it were just created
3476         (gtk_window_iconify): new function
3477         (gtk_window_deiconify): new function
3478         (gtk_window_stick): new function
3479         (gtk_window_unstick): new function
3480         (gtk_window_maximize): new function
3481         (gtk_window_unmaximize): new function
3482
3483         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
3484
3485         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
3486
3487         * gdk/x11/gdkevents-x11.c: create window state events when
3488         appropriate
3489         (gdk_wmspec_supported): new function
3490
3491         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
3492         iconification before showing the window
3493         (gdk_window_deiconify): new function
3494         (gdk_window_stick): new function
3495         (gdk_window_unstick): new function
3496         (gdk_window_maximize): new function
3497         (gdk_window_unmaximize): new function
3498
3499         * gdk/gdkwindow.c: store the window state in the window; 
3500         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
3501         window->mapped.
3502         (gdk_window_get_state): return the current window state
3503
3504         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
3505         (gdk_event_get_state): handle GDK_WINDOW_STATE
3506         (gdk_synthesize_window_state): function to create the window state
3507         events
3508
3509         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
3510         event, for changes to "window state" such as maximized, sticky, 
3511         etc.
3512         
3513         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
3514         focuses a window
3515
3516         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
3517         finds out if we support a given WM spec hint
3518
3519 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
3520
3521         * docs/faq/gtk-faq.sgml: New question re memory leaks.
3522
3523 2001-02-25  Hans Breuer  <hans@breuer.org>
3524
3525         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
3526         cause we want to loose those prototypes only in the latter case
3527
3528         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
3529         GdkPixmapImplWin32 because it itsn't derived from it. Use the
3530         impl member variable instead
3531
3532         * gtk/gtk.def : updated
3533
3534         * gtk/gtklist.c : 
3535         * gtk/gtkmenus.c : include <string.h> for memset ()
3536
3537         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
3538         for everthing built here, but for gtk-x.x.dll only. This solves
3539         problem of indifferent gtk type definitions
3540
3541 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@redhat.com>
3542
3543         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
3544
3545 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
3546
3547         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
3548         column that is exposed.
3549
3550         (_gtk_tree_view_update_size): Changed name from set_size, and
3551         changed function to do more work, and not force people calling it
3552         to figure out the size.  Simplifies a lot of code elsewhere.
3553
3554 2001-02-23  Alexander Larsson  <alexl@redhat.com>
3555
3556         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
3557         return solid masks for xpms that have no transparent color.
3558         This makes the ..._create_from_xpm... API backwards
3559         compatible.
3560
3561 2001-02-23  Tor Lillqvist  <tml@iki.fi>
3562
3563         * README.win32: Update. Mention the gtk-1-3-win32-production
3564         branch.
3565
3566         * gdk/win32/bdfcursor.c: New file. A program that generates
3567         xcursors.h. Thanks to Stefan Ondrejicka.
3568
3569         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
3570         compact format.
3571
3572         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
3573
3574         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
3575         function, uses xcursors.h.
3576         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
3577         cursor from inline data instead of using LoadCursor() to generate
3578         it from a resource.
3579
3580         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
3581         event, must check the Windows message for mouse button state, as
3582         the GDK event state might not have been built if it is
3583         undelivered. Remove one goto.
3584
3585         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
3586         SetCursor() if the current cursor as returned by GetCursor() is
3587         the window's previous cursor. The ChildWindowFromPoint() test
3588         apparently didn't work correctly.
3589
3590         * gdk/win32/rc/*.cur: Remove.
3591
3592         * gdk/win32/rc/gdk.rc.in: Remove cursors.
3593
3594         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
3595
3596         * gtk/makefile.{mingw,msc}.in: Updates.
3597
3598 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
3599
3600         * gtk/gtktreemodel.h: add functions for signal emission.
3601
3602         * gtk/gtktreestore.c: move to use above functions instead of
3603         g_signal_emit.
3604
3605         * gtk/gtkliststore.c: ditto
3606
3607 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
3608
3609         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
3610         GObject instead of GtkObject.
3611
3612         * gtk/gtkliststore.c: ditto.
3613
3614         * gtk/gtktreemodelsort.c: ditto.
3615
3616         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
3617         GtkTreeModelIface, instead of in each model.
3618
3619 2001-02-21  Havoc Pennington  <hp@redhat.com>
3620
3621         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
3622         unbreak this function
3623
3624         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
3625         properties
3626
3627         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
3628         properties
3629
3630         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
3631         properties
3632
3633         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
3634         mean unset the max length
3635
3636 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
3637
3638         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
3639         Changed name to be set_cell_data_func to make it clear what
3640         the functino does.  Close bug #51069.
3641
3642 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
3643
3644         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
3645         have memory actually freed.  Keeps box running longer.
3646
3647 2001-02-21  Alexander Larsson  <alexl@redhat.com>
3648         
3649         * gtk/gtkseparatormenuitem.[ch]:
3650         Added new menu separator item. The drawing and size handling
3651         is still done in GtkMenuItem, but the API is a bit more sane.
3652         
3653         * gtk/Makefile.am:
3654         Add gtkseparatormenuitem.[ch].
3655
3656         * gtk/gtk.h:
3657         Add gtkseparatormenuitem.h.
3658         
3659         * gtk/gtkentry.c:
3660         * gtk/gtkmenufactory.c:
3661         * gtk/gtktextview.c:
3662         Use the new API for menu separators.
3663         
3664         * demos/gtk-demo/menus.c (create_menu):
3665         Add some GtkSeparatorMenuItem demo code.
3666
3667 2001-02-20  Havoc Pennington  <hp@redhat.com>
3668
3669         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
3670         Lee Mallabone
3671
3672         * gtk/gtkarrow.c: Convert to new property API, patch from 
3673         Lee Mallabone
3674
3675 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
3676
3677         * tests/testtreeview.c (toggled_callback): fix to reflect change
3678         in GtkTreeModelStore.
3679
3680 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
3681
3682         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
3683         function to create an icon set from a pixbuf.
3684
3685 2001-02-20  Alexander Larsson  <alexl@redhat.com>
3686
3687         * gtk/gtkcellrenderertext.[ch]:
3688         Add a "markup" property.
3689
3690         * gtk/treestoretest.c:
3691         Use the markup property, remove some leftover stuff from
3692         GtkTreeModelMapping.
3693
3694 2001-02-20  Alexander Larsson  <alexl@redhat.com>
3695
3696         * gtk/gtklabel.c (gtk_label_set_selectable):
3697         Queue a redraw if the selectable setting was changed.
3698
3699 2001-02-20  Alexander Larsson  <alexl@redhat.com>
3700
3701         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
3702         Actually copy the whole gc, not just the public parts.
3703         
3704         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
3705         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
3706         labels.
3707
3708 2001-02-19  Havoc Pennington  <hp@pobox.com>
3709
3710         * gdk/gdkwindow.c: docs
3711
3712         * gdk/gdkrgb.c: docs
3713
3714         * gdk/gdkregion-generic.c: docs
3715
3716         * gdk/gdkgc.c (gdk_gc_set_values): docs
3717
3718         * gdk/gdkdraw.c: docs
3719
3720         * gdk/gdkdrawable.h: deprecate drawable get/set data
3721
3722 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
3723
3724         * demos/gtk-demo/dialog.c: Add simple new demo.
3725
3726 2001-02-19  Havoc Pennington  <hp@redhat.com>
3727
3728         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
3729         insert_child_anchor signal, bug #50245
3730
3731         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
3732         from create_child_anchor, so the anchor is passed in
3733
3734         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
3735         (_gtk_widget_segment_new): have the child anchor object passed in, 
3736         instead of creating it.
3737
3738         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
3739         to gtk_text_buffer_get_modified
3740
3741 2001-02-19  Havoc Pennington  <hp@redhat.com>
3742
3743         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
3744         changed GLib without fixing GTK
3745
3746         * gtk/gtkrange.h: Rename all the stupid implementation detail 
3747         functions to have an underscore in front. Most of them should 
3748         probably just go away, but for starters don't export them.
3749         Bug #50482
3750
3751 2001-02-19  Havoc Pennington  <hp@redhat.com>
3752
3753         * gdk/gdkcolor.h: test was backward, so deprecated functions were
3754         excluded by default
3755
3756         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
3757         clean up the old code a bit
3758
3759         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
3760         inconsistent state
3761
3762         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
3763         draw inconsistent state
3764
3765         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
3766         (create_menu): add inconsistent test
3767
3768         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
3769         new function
3770         (gtk_check_menu_item_get_inconsistent): new function
3771         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
3772         state (using etched in for now)
3773
3774         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
3775         draw inconsistent state
3776
3777         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
3778         function, used when the user has selected a range of stuff in
3779         different states
3780         (gtk_toggle_button_get_inconsistent): accessor for that
3781         (gtk_toggle_button_paint): draw inconsistent state (etched in?
3782         don't know what else to do)
3783
3784 2001-02-19  Hans Breuer <hans@breuer.org>
3785
3786         * gtk/gtk.def : updated exported symbols
3787
3788         * gtk/makefile.msc.in : updated
3789
3790         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
3791         a colormap, when invoked from testgtk::entry. I'm not sure where
3792         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
3793         avoids immediate crashing ...
3794
3795         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
3796         any objections ?
3797
3798         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
3799         0 parameter. At least msvc doesn't like macros with var args. 
3800         I simply removed the extra 0, was it a feature or a typo ?
3801
3802         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
3803         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
3804         because the value assignment to the internal struct wasn't working.
3805         I'm not absolutely sure. The problem could have been resolved by
3806         changing the "func" declartion in the struct, but was the pointer
3807         to the function pointer intended ?
3808
3809         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
3810
3811         * gdk/gdk.def : updated exported symbols
3812
3813         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
3814         only use SetDIBitsToDevice if there is a palette at the drawable
3815         and the image is GDK_VISUAL_PSEUDO_COLOR
3816
3817         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
3818
3819         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
3820
3821         * gdk/*/makefile.msc : updated
3822
3823 2001-02-19  Havoc Pennington  <hp@redhat.com>
3824
3825         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
3826         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
3827
3828         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
3829         (gdk_key_repeat_restore): nuke
3830
3831         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
3832         (gdk_init_check): no atexit func
3833
3834         * gdk/gdkrgb.h: mark some stuff deprecated
3835
3836         * gdk/gdkcolor.h: mark some stuff deprecated
3837         
3838         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
3839
3840         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
3841
3842 2001-02-16  Havoc Pennington  <hp@redhat.com>
3843
3844         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
3845         scroll steps.
3846
3847         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
3848         steps, and add Ctrl-arrow shortcuts for paging visually as with
3849         HScale, since Page Up and Page Down move logically.
3850
3851         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
3852         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
3853         
3854         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
3855         steps
3856         (gtk_range_scroll): handle the visual steps
3857
3858         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
3859         scroll steps
3860
3861         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
3862         steps, not the logical ones.
3863
3864         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
3865         (scroll_vertical): handle up/down steps
3866
3867 2001-02-19 Alexander Larsson  <alexl@redhat.com>
3868
3869         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
3870         Copy data and free data with free().
3871
3872         * gdk-pixbuf/gdk-pixbuf.c:
3873         * gdk-pixbuf/io-jpeg.c:
3874         * gdk-pixbuf/io-png.c:
3875         Use g_try_malloc/g_free instead malloc/free.
3876         
3877         * gdk-pixbuf/test-gdk-pixbuf.c:
3878         Must... initialize... gobject...
3879         
3880         * gdk-pixbuf/pixops/timescale.c:
3881         * gtk/gtkcalendar.c:
3882         Use g_malloc instead of malloc.
3883         
3884 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
3885
3886         * gtk/testgtkrc:
3887         Comment out property assignments, these don't work yet.
3888
3889 2001-02-17  Havoc Pennington  <hp@pobox.com>
3890
3891         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
3892         bit.
3893
3894 2001-02-17  Havoc Pennington  <hp@pobox.com>
3895
3896         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
3897         shadowed variables that had broken size request in some cases,
3898         leading to bogus tooltips (#50996)
3899
3900 2001-02-06  Jon K Hellan  <hellan@acm.org>
3901
3902         Implement fast browsing of tooltips, bug #50619
3903         
3904         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
3905         and last_popdown
3906         
3907         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
3908         use_sticky_delay and last_popdown.
3909         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
3910         time of popdown.
3911         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
3912         is NULL.
3913         (gtk_tooltips_recently_shown): New static function.  Return true
3914         if < sticky_delay has elapsed since last popdown.
3915         (gtk_tooltips_event_handler): Display window after sticky_delay
3916         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
3917         since last popdown.
3918         
3919 2001-02-17  Havoc Pennington  <hp@pobox.com>
3920
3921         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
3922         instead of (). #6394
3923
3924         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
3925         G_CONST_RETURN, make it return by reference, #50473
3926         
3927 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
3928
3929         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
3930         generated ENTER_NOTIFY event with 0, otherwise not explicitely
3931         setup fields contain garbage (e.g. subwindow, breaking
3932         gdk_drawable_ref() upon event copy).
3933         (gtk_menu_stop_navigating_submenu_cb): same here.
3934
3935         * gtk/gtklist.c (gtk_list_vertical_timeout): 
3936         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
3937         * gtk/gtkclist.c (vertical_timeout): 
3938         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
3939         default-zero-intialization for unions to memset(,0,), as unions are
3940         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
3941         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
3942
3943         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
3944         g_closure_sink() warning.
3945
3946         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
3947         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
3948         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
3949         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
3950         
3951 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
3952
3953         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
3954         gtk_*_store_get, and moved to GtkTreeModel.
3955
3956         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
3957
3958         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
3959
3960         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
3961
3962         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
3963         set the func.
3964
3965         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
3966         freeze/thaw notify between setting all the properties for a cell.
3967
3968         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
3969
3970 2001-02-15  Havoc Pennington  <hp@redhat.com>
3971
3972         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
3973         the X coordinates so they're with respect to the line, rather than 
3974         with respect to the layout.
3975
3976         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
3977         Mallabone
3978
3979         * gtk/testgtk.c (create_range_controls): add vscale tests, 
3980         and inverted test
3981
3982         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
3983         #50806
3984
3985         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
3986
3987         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
3988         gtk_text_iter_is_end
3989
3990         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
3991         rename gtk_text_buffer_get_end_iter
3992
3993         * gtk/testgtk.c (create_labels): Add test for selectable
3994
3995         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
3996         the selection stuff. This code is kind of broken since it doesn't 
3997         use the theme engine.
3998
3999         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
4000         fix infinite loop and y offset problem
4001         (gdk_draw_layout_line_with_colors): fix foreground color handling
4002
4003         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
4004         that makes the label selectable.
4005         
4006         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
4007         layout when the style is set, since fonts etc. could have changed.      
4008
4009 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
4010
4011         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
4012
4013         * gtk/gtktreemodelsimple.[ch]: removed.
4014
4015 2001-02-16  Alexander Larsson  <alexl@redhat.com>
4016
4017         * gtk/gtktreemodelmapping.[ch]:
4018         New files. Implement GtkTreeModelMapping.
4019         
4020         * gtk/Makefile.am:
4021         Add gtktreemodelmapping.[ch].
4022         
4023         * gtk/gtk.h:
4024         Add gtktreemodelmapping.h
4025
4026         * gtk/treestoretest.c:
4027         Test the GtkTreeModelMapping
4028
4029 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
4030
4031         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
4032         have a demo, we might as well pass in real values.  Thanks to
4033         clahey for pointing this out.
4034
4035 2001-02-14  Havoc Pennington  <hp@pobox.com>
4036
4037         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
4038         "static" to a private function
4039         (gtk_image_menu_item_class_init): remove destroy handler,
4040         add "image" object property
4041
4042 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
4043
4044         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
4045         Add a shortcut if the window and the current clip_region doesn't
4046         overlap. This is needed when there are a lot of windows in a
4047         window. The layout test in testgtk is a good test.
4048
4049         * gdk/linux-fb/gdkwindow-fb.c:
4050         Whitespace fix.
4051
4052 2001-02-13  Sven Neumann  <sven@convergence.de>
4053
4054         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
4055
4056 2001-02-13  Alexander Larsson  <alexl@redhat.com>
4057
4058         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
4059         Don't reference last_cursor if it is null. Fixes crash when rotating
4060         the screen before having moved the mouse.
4061
4062         * gdk/linux-fb/gdkcc-fb.c: Zapp!
4063
4064         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
4065
4066         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
4067         when using 90 or 270 degrees rotation.
4068
4069 2001-02-12  Havoc Pennington  <hp@pobox.com>
4070
4071         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
4072         it always set the foreground, even if we were only using
4073         a stipple.
4074         (gdk_draw_layout_line_with_colors): new function, allow
4075         override colors
4076         (gdk_draw_layout_with_colors): new function, allow override
4077         colors
4078         (gdk_pango_layout_line_get_clip_region): function to get the clip
4079         region for a logical text range
4080         (gdk_pango_layout_get_clip_region): get the clip region for a
4081         logical text range
4082
4083         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
4084         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
4085         the right number of arguments.
4086
4087         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
4088         enhance the function to check that node data corresponds to a 
4089         view still belonging to the tree.
4090
4091         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
4092         GtkTreePath
4093         (gtk_tree_view_inserted): ditto
4094         (gtk_tree_view_child_toggled): ditto
4095
4096         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
4097         simplify this code.
4098
4099         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
4100         a PangoAttrList
4101
4102         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
4103
4104         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
4105
4106         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
4107         size in the size request 
4108         (gtk_menu_bar_size_allocate): consider toggle size here
4109
4110         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
4111         that displays a widget in the toggle slot
4112
4113         * gtk/testgtk.c: test GtkImageMenuItem
4114
4115         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
4116         
4117         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
4118         request and allocation
4119
4120         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
4121
4122         * gtk/gtkcheckmenuitem.c
4123         (gtk_check_menu_item_toggle_size_request): ditto
4124         
4125 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
4126
4127         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
4128         reference.
4129
4130         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
4131         and refuse to initialize GTK+ if they fail.
4132
4133 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
4134
4135         * configure.in: Add check for gtk-doc version.
4136
4137 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
4138
4139         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
4140         where the xpad/ypad was only being used on one side!
4141
4142 2001-02-11  Tor Lillqvist  <tml@iki.fi>
4143
4144         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
4145         function, copied from X11 version.
4146
4147         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
4148         DestroyCursor failures. The reason for the problem (despite the
4149         inconsistent messages from GetLastError()) was that
4150         DestroyCursor() cannot be called while a cursor is set in a
4151         window. Set the new cursor first and then destroy the old one.
4152         Thanks to jpe@archaeopteryx.com.
4153
4154         * gdk/win32/gdkcc-win32.c: Remove.
4155
4156         * gdk/win32/Makefile.am: Remove from here, too.
4157         
4158         * gdk/gdk.def
4159         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
4160
4161         * gtk/gtk.def
4162         * gtk/makefile.mingw.in: Updates.
4163
4164 2001-02-08  Havoc Pennington  <hp@redhat.com>
4165
4166         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
4167         add a widget to a bin that already has a child.
4168
4169         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
4170
4171         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
4172         
4173         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
4174
4175         * gdk/gdk.h: remove gdkcc.h
4176
4177         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
4178
4179         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
4180         GdkPixbuf, since the previous implementation was GdkColorContext
4181         dependent.
4182
4183         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
4184         
4185 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
4186
4187         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
4188         a sane value!
4189
4190 2001-02-08  Havoc Pennington  <hp@redhat.com>
4191
4192         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
4193         lighten them.
4194
4195 2001-02-08  Havoc Pennington  <hp@redhat.com>
4196
4197         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
4198         validation idle
4199
4200         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
4201         cell renderer
4202
4203         * demos/pixbuf-demo.c (timeout): remove deprecated
4204         gtk_widget_draw
4205
4206         * demos/testpixbuf-save.c (main): remove deprecated
4207         gtk_drawing_area_size
4208
4209         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
4210         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
4211         at the start of the allocation.
4212         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
4213         unsetup or NULL model.
4214
4215         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
4216         even/odd/sorted cells in the tree view.
4217
4218         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
4219         bugfixes
4220
4221         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
4222         backgrounds with draw_flat_box using different detail for even/odd
4223         rows.
4224
4225         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
4226         row, so we can draw the alternating colors thing
4227
4228         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
4229         property from a synonym property, notify for the synonym.
4230         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
4231         (gtk_text_tag_get_property): Always return the font, even if
4232         all its fields aren't set
4233
4234         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
4235         store the attr list; it leaves us with no way to change attributes
4236         in _render according to the render flags, and no way to implement
4237         get_property. Instead store all the specific text attributes. 
4238         Separate whether an attribute is enabled from its value. Sync all
4239         properties with GtkTextTag, make them all consistent, etc.
4240
4241         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
4242         renderers can highlight the sort row/column     
4243
4244         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
4245         accessor functions to get values; this has the side effect of
4246         showing up which accessor functions were missing. Added those.
4247
4248         * gtk/gtktreeviewcolumn.h: Replace set_justification with
4249         set_alignment, to be consistent with GtkLabel, GtkMisc
4250
4251         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
4252         arrow.
4253
4254         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
4255
4256         * gtk/gtktreesortable.h: updates in here
4257
4258 2001-02-07  Sven Neumann  <sven@convergence.de>
4259
4260         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
4261         pango dimensions after painting the background. We used to draw
4262         gigantic flat boxes here.
4263
4264 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
4265
4266         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
4267         error introduced with earlier commit) (pointed out by
4268         Ollie Lho)
4269
4270 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
4271
4272         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
4273         which are no longer necessary.
4274
4275 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
4276
4277         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
4278
4279 2001-02-04  Tor Lillqvist  <tml@iki.fi>
4280
4281         * gdk/gdk.def
4282         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
4283         Provide dummy implementations.
4284
4285 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
4286
4287         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
4288
4289         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
4290         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
4291         deprecated this function.
4292
4293         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
4294         argument.
4295
4296 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
4297
4298         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
4299
4300 2001-02-03  Havoc Pennington  <hp@pobox.com>
4301
4302         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
4303         Mikael Hermansson with patch from Mikael (if there was a toggle
4304         start one after the first character in the range, this function
4305         was broken). Bug #50380
4306
4307 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
4308
4309         * configure.in: Remove confusing comment about X11.
4310
4311 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
4312
4313         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
4314         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
4315         
4316 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
4317
4318         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
4319         it breaks things on BSD. If you want to compile GTK+ with
4320         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
4321         when configuring, since GTK+ simply can't be "pure ANSI" 
4322         in the header files it uses. (#8170, Greg Hudson)
4323
4324 2001-02-02  Havoc Pennington  <hp@redhat.com>
4325
4326         * gtk/gtkwindow.c: docs
4327
4328         * gtk/gtkwidget.c: docs
4329         (gtk_widget_set_colormap): add a reference to the colormap
4330         (gtk_widget_get_default_colormap): add a reference to the colormap
4331
4332         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
4333
4334         * gtk/gtktextiter.c: docs
4335
4336         * gtk/gtkmain.c (gtk_propagate_event): docs
4337
4338         * gtk/gtkpaned.c (gtk_paned_get_position): docs
4339         (gtk_paned_set_position): docs
4340
4341         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
4342         sort interface, no implementation yet.
4343
4344         * demos/testpixbuf.c (new_testrgb_window): replace
4345         gtk_drawing_area_size() with gtk_widget_set_usize()
4346
4347         * demos/testpixbuf-drawable.c (main): ditto
4348         
4349         * gtk/testgtk.c: remove use of GtkStatusbarMsg
4350
4351         * gtk/gtktextbuffer.c: docs
4352
4353         * gtk/gtkstock.c: docs
4354
4355         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
4356
4357         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
4358
4359         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
4360         
4361         * gtk/gtkimage.c: add some docs in here
4362         (gtk_image_size_request): change name of
4363         gtk_widget_render_stock_icon
4364         (gtk_image_get_icon_set): don't dup returned string
4365         (gtk_image_get_icon_set): don't dup returned string
4366
4367         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
4368         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
4369         and gtkiconfactory.h functions
4370
4371         * gtk/gtkiconfactory.c: add some docs in here
4372
4373         * gtk/gtkmain.c (gtk_get_default_language): document
4374         (gtk_get_current_event): document
4375         (gtk_get_current_event_state): document
4376         (gtk_get_event_widget): document
4377
4378         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
4379
4380         * gtk/gtkcontainer.c: Add some documentation
4381         (gtk_container_add): give a more explanatory warning on adding an
4382         already-parented widget, this is kind of a FAQ and also a common
4383         typo that's easier to debug with a nice warning 
4384
4385         * gtk/gtkcellrenderertoggle.c
4386         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
4387         adding this, it's useless
4388         (gtk_cell_renderer_toggle_set_active): remove
4389         (gtk_cell_renderer_toggle_get_radio): add
4390
4391         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
4392         the NULL cell renderer, that doesn't make any sense to me. 
4393
4394         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
4395         demo code should never use deprecated features.
4396
4397         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
4398         code should never use deprecated features.
4399
4400         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
4401         gtk_widget_queue_clear_area deprecated
4402
4403         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
4404         deprecated
4405
4406         * gtk/gtklabel.h: mark gtk_label_get() deprecated
4407
4408         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
4409         a GdkImage deprecated, replaced by new consistently-named
4410         functions       
4411
4412         * gtk/gtkmain.h: Mark gtk_exit() deprecated
4413
4414         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
4415
4416         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
4417         deprecated
4418
4419         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
4420         so it won't appear in docs and confuse people.
4421
4422         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
4423
4424         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
4425         macros deprecated. (can't mark the type itself deprecated, since
4426         GtkProgressBar is not deprecated and we need the type decl to use
4427         GtkProgressBar)
4428
4429         * gtk/gtkpixmap.h: Mark deprecated
4430
4431         * gtk/gtkoldeditable.h: Mark deprecated
4432
4433         * gtk/gtklist.h: Mark deprecated
4434
4435         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
4436         for anything anymore.
4437
4438         * gtk/gtkctree.h: Mark deprecated
4439
4440         * gtk/gtkclist.h: Mark deprecated
4441
4442         * gtk/gtkpreview.h: Mark deprecated
4443
4444         * gtk/gtkpacker.h: Mark deprecated
4445
4446         * gtk/gtktipsquery.h: Mark deprecated
4447
4448         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
4449
4450         * gtk/gtkvruler.h: Add comment that it will move out of GTK
4451
4452         * gtk/gtkhruler.h: Add comment that it will move out of GTK
4453
4454         * gtk/gtkruler.h: Add comment that it will move out of GTK
4455
4456         * gtk/gtkgamma.h: Add comment that it will move out of GTK
4457
4458         * gtk/gtkcurve.h: Add comment that it will move out of GTK
4459
4460 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
4461
4462         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
4463         gdk_colormap_sync private since it was never exported
4464         in a header file.
4465
4466         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
4467         colormap->colors[] for StaticGray, StaticColor colormaps.
4468
4469         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
4470         was being used as if it was image->bits_per_pixel.
4471
4472         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
4473         for the image in the GdkImage structure since it isn't
4474         reconstructable, and we need it to handle packed types
4475
4476         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
4477         the assumption that on Win32 image->bits_per_pixel == image->depth,
4478         always.
4479
4480         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
4481
4482         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
4483         warning message if no converter can be found. 
4484
4485 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
4486
4487         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
4488         chars to isupper() / tolower(). (#567)
4489
4490         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
4491         to clear up 64-bit warnings. (#567)
4492
4493 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
4494
4495         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
4496         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
4497
4498         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
4499         since some people set $(libdir) separately. (#1290, David Kaelbling)
4500
4501 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
4502
4503         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
4504         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
4505         MAXPATHLEN, but the code here depends on a fixed value.)
4506         (#4524)
4507
4508 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
4509
4510         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
4511         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
4512
4513 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
4514
4515         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
4516         viewable there is no way that moving the node will cause the 
4517         focus row to become not viewable, so omit check on the visibility
4518         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
4519
4520 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
4521
4522         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
4523         selection before inserting new text.
4524
4525 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
4526
4527         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
4528         Make the sensitivity of the reparented child track that of
4529         the original parent menu item. (#34218, David Hodson)
4530
4531         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
4532         the case where the current item is destroyed properly.
4533
4534         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
4535         some edge cases with child-less menuitems.
4536         
4537 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
4538
4539         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
4540         key pop down window. (#12074, Jon K Hellan)
4541
4542 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
4543
4544         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
4545         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
4546         The solution here isn't perfect - you get an extraneous
4547         emission of "toggle", which could conceivably confuse an app,
4548         but better than the current situation. LXR search seems to
4549         indicate that no apps in GNOME CVS connect to "toggle".
4550
4551 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
4552
4553         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
4554         gtk_public_h_sources to directly here to avoid warning when
4555         building srcdir != builddir. (#9656)
4556
4557 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
4558
4559         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
4560         handlers in gtkrange.c return the proper values (TRUE == handled)
4561         (#10316).
4562
4563         This is just the tip of the iceberg, but gtkrange.c is the
4564         most common place where the propagation is problematical,
4565         and also a place where it is almost certainly safe to change
4566         this in the stable branch.
4567
4568         (You don't want right click popups on a range control or anything...)
4569
4570 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
4571
4572         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
4573         area on focus out, even if a background pixmap isn't set.
4574         (#13941)
4575         
4576 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
4577
4578         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
4579         to deal with setting the shape properly when scrolling arrows are
4580         turned on, but not visible because there is sufficient space.
4581         (#13432)
4582
4583 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
4584
4585         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
4586         items with submenus, destroy the item along with the submenu.
4587         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
4588         properly.
4589
4590         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
4591         later.
4592
4593 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
4594
4595         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
4596         the focus widget sometimes wasn't drawn with the default if there
4597         was no default widget.
4598
4599         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
4600         unreference pixmaps. 
4601
4602         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
4603         for some extra safety.
4604
4605 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
4606
4607         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
4608         the text of a cell to the old pointer value better, by
4609         copying the new text before freeing the old text. Some code
4610         cleanup. (#8079, Karl Nelson)
4611
4612 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
4613
4614         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
4615         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
4616
4617 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
4618
4619         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
4620         item from a menu, check to see if it matches 
4621         menu->old_active_menu_item, and if so, unref and clear
4622         old_active_menu_item (Patch from Pavel Cisler)
4623
4624         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
4625         menu_shell->active_menu_item, if it is the child being
4626         removed. (Patch based on that of Gene Ragan, #50337)
4627
4628 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
4629
4630         * gdk/linux-fb/gdkselection-fb.c: 
4631         * gdk/linux-fb/gdkcolor-fb.c: 
4632         * gdk/linux-fb/gdkdrawable-fb2.c: 
4633         * gdk/linux-fb/gdkfont-fb.c: 
4634         * gdk/linux-fb/gdkim-fb.c: 
4635         * gdk/linux-fb/gdkinput.c: 
4636         * gdk/linux-fb/gdkkeyboard-fb.c: 
4637         * gdk/linux-fb/gdkmain-fb.c: 
4638         * gdk/linux-fb/gdkrender-fb.c: 
4639         A bunch of whitespace cleanup.
4640         
4641 2001-01-30  Havoc Pennington  <hp@pobox.com>
4642
4643         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
4644         #ifdef GTK_ENABLE_BROKEN.
4645
4646         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
4647         GTK_ENABLE_BROKEN just before including the broken headers.
4648         
4649         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
4650         deprecated types registered.
4651
4652         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
4653         we have to test the broken stuff.
4654
4655         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
4656         
4657 2001-01-30  Havoc Pennington  <hp@redhat.com>
4658
4659         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
4660         here where prev pointer was set to the wrong thing
4661
4662         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
4663         (gtk_tree_path_is_descendant): new function
4664
4665         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
4666         cached length
4667         (gtk_list_store_get_iter): don't modify iter if we can't get the
4668         path.
4669
4670         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
4671         
4672         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
4673         GtkTreeDragDest
4674
4675         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
4676         was causing segfault
4677
4678         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
4679         pointer to NULL
4680
4681         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
4682
4683         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
4684         on returning FALSE
4685         (gtk_list_store_iter_children): ditto
4686         (gtk_list_store_iter_nth_child): ditto
4687         (gtk_list_store_iter_nth_child): ditto
4688         (gtk_list_store_iter_parent): ditto
4689
4690         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
4691         on iter->user_data != NULL instead of silently accepting it.
4692         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
4693         we are returning TRUE.
4694         (gtk_tree_store_iter_children): ditto
4695         (gtk_tree_store_iter_nth_child): ditto
4696         (gtk_tree_store_iter_parent): ditto
4697         (gtk_tree_store_insert): remove handling of parent->user_data ==
4698         NULL, replace with parent == NULL       
4699
4700         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
4701         and a comment explaining things
4702
4703         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
4704         interface support to GtkTreeStore.
4705
4706         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
4707         FALSE if no prev, fix
4708
4709         * gtk/gtktreeview.c (set_source_row): use a row reference
4710         (set_dest_row): use a row reference
4711
4712 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
4713
4714         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
4715         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
4716         (gtk_tree_selection_select_iter): The same as above.
4717
4718 2001-01-26  Havoc Pennington  <hp@redhat.com>
4719
4720         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
4721         which holds a handle to a specific row (particular set of values
4722         in the model, i.e. pointer-identity row).
4723
4724         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
4725         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
4726         Still need to use it for the src/dest row saved on the drag context.
4727
4728 2001-01-26  Havoc Pennington  <hp@redhat.com>
4729
4730         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
4731
4732         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
4733         not offset by TREE_VIEW_HEADER_HEIGHT
4734         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
4735         TREE_VIEW_HEADER_HEIGHT
4736
4737         * configure.in (included_loaders): for me, --with-included-loaders
4738         generates the error "the specified loader yes does not exist",
4739         i.e. the arg defaults to "yes", so change test for value ""
4740         to test for value "yes", and include all loaders in that case.
4741
4742         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
4743
4744         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
4745         handle TREE_VIEW_VERTICAL_SEPARATOR
4746         (gtk_tree_view_bin_expose): fix to consider the row offset as
4747         pointing halfway into vertical separator.       
4748         (gtk_tree_view_draw_node_focus_rect): ditto
4749
4750         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
4751         --gtk-debug=updates, which causes gdk_window_set_debug_updates
4752         (TRUE) to be called.
4753
4754         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
4755         debug mode where the invalid region is colored in on invalidate,
4756         so you can see the flicker and know whether your redraw code is 
4757         doing a good job.
4758
4759         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
4760         tree window coordinates (clip rect is in tree window coords)
4761
4762         * gtk/Makefile.am: add gtktreednd.[hc]
4763
4764         * gtk/gtkliststore.c: implement gtktreednd interfaces.
4765
4766         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
4767         drag-and-drop data operations on a model (so we can set up tree
4768         drag-and-drop automatically)
4769
4770         * gtk/testgtk.c: Add a window to change sensitivity in the
4771         GtkLabel test; add a way to change the entry frame in GtkEntry
4772         test
4773
4774         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
4775         (gtk_entry_get_has_frame): new functions to remove the frame
4776         around an entry
4777         (gtk_entry_size_request): shrink requisition if no frame
4778         (gtk_entry_draw_focus): don't draw frame if no frame
4779
4780         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
4781         checks inside a cell renderer
4782         (gtk_default_draw_option): ditto for options
4783
4784         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
4785         children from the alignment, not the button
4786         (gtk_tree_view_column_init): ref/sink the column, to emulate
4787         GObject refcounting.
4788
4789         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
4790         
4791         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
4792         Use theme functions to draw the toggles 
4793
4794         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
4795
4796         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
4797         GdkPangoAttrEmbossed to use in rendering insensitive text
4798
4799         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
4800
4801         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
4802         using new GDK features
4803         
4804 2001-01-24  Alexander Larsson  <alexl@redhat.com>
4805
4806         * gtk/gtkimage.c:
4807         Splitted gtk_image_clear into gtk_image_clear() and
4808         gtk_image_reset(). Call gtk_image_clear() in ::destroy
4809         to avoid leaks.
4810
4811         * gtk/gtklabel.c (set_markup):
4812         Don't leak text.
4813
4814         * gtk/gtktextlayout.c:
4815         Always free display->shaped_objects.
4816
4817         * gtk/testgtk.c (create_clist):
4818         Don't leak custom style.
4819
4820 2001-01-23  Alexander Larsson  <alexl@redhat.com>
4821
4822         * gtk/gtkcolorsel.c (grab_color_at_mouse):
4823         Don't leak image. Simplify using gdk_colormap_query_color().
4824         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
4825
4826         * linux-fb/gdkcolor-fb.c:
4827         Implemented gdk_colormap_query_color.
4828
4829 2001-01-23  Alexander Larsson  <alexl@redhat.com>
4830
4831         * linux-fb/gdkcursor-fb.c:
4832         Don't leak built-in cursors.
4833
4834         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
4835         Don't leak tmp_points.
4836
4837         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
4838         Don't modify desc. Don't leak font if the PangoFont
4839         isn't found.
4840         
4841         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
4842         Free dash_list.
4843
4844         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
4845         Don't leak string.
4846         
4847 2001-01-20  Havoc Pennington  <hp@pobox.com>
4848
4849         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
4850         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
4851         me, matches Pango
4852
4853 2001-01-22  Havoc Pennington  <hp@redhat.com>
4854
4855         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
4856
4857         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
4858
4859         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
4860         Remove, move back to gdk-pixbuf
4861
4862         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
4863         to all the word functions
4864
4865         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
4866         before doing anything on NULL layout or if we don't have the focus
4867
4868         * gtk/testtext.c (fill_example_buffer): "justification"
4869
4870         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
4871         to be called "justification" not "justify"
4872
4873         * demos/gtk-demo/textview.c (create_tags): "justification"
4874         
4875         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
4876
4877 2001-01-22  Alexander Larsson  <alexl@redhat.com>
4878
4879         * gdk/gdkwindow.c (gdk_window_invalidate_region):
4880         Don't leak visible_region. Use visible_region instead of region.
4881         
4882         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
4883         Don't do extra gdk_drawable_ref(). This is not X.
4884         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
4885         gdk_fb_focused_window is ref:ed.
4886         (gdk_fb_window_send_crossing_events): Watch out for destroyed
4887         windows.
4888
4889 2001-01-22  Alexander Larsson  <alexl@redhat.com>
4890
4891         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
4892         Don't leak the PangoFontDescriptor.
4893
4894 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
4895
4896         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
4897         when not realized.
4898         (gtk_tree_view_scroll_to_cell): Make work when not realized.
4899         (gtk_tree_view_realize): add scroll_to support
4900         (gtk_tree_view_finalize): add a finalize method.  Populate.
4901         (gtk_tree_view_insert_column): ref and sink the column.
4902         (gtk_tree_view_append_column): ref and sink the column.
4903         (gtk_tree_view_queue_draw_node): New function to handle redrawing
4904         individual nodes.  Should make the code much more efficient, if
4905         actually used.
4906
4907 2001-01-19  Havoc Pennington  <hp@redhat.com>
4908
4909         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
4910         byte_offset variable was being used to mean both "offset into
4911         layout" and "offset into buffer line" which was no longer true
4912         with addition of preedit string; fix
4913
4914 2001-01-19  Havoc Pennington  <hp@redhat.com>
4915
4916         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
4917
4918         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
4919         function
4920
4921         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
4922         implement
4923
4924         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
4925         scroll_to_cell, matches TextView scroll functions better
4926         (gtk_tree_view_tree_to_widget_coords): new function
4927         (gtk_tree_view_widget_to_tree_coords): new function
4928         (gtk_tree_view_get_visible_rect): new function
4929         (gtk_tree_view_get_path_at_pos): accept negative coordinates
4930         (gtk_tree_view_draw_node_focus_rect): new function moved from
4931         draw_focus, also, use width of bin_window as width of the focus
4932         rect
4933         (gtk_tree_view_expand_row): fix bug where it didn't recognize
4934         already-expanded rows
4935         (gtk_tree_view_get_cell_rect): new function
4936         (gtk_tree_view_get_path_at_pos): return the click position
4937         relative to the passed-in cell
4938         (gtk_tree_view_set_expander_column): new function
4939
4940         * configure.in: remove gtk-config-2.0 chmod
4941
4942         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
4943         and properly handle drags with targets we don't understand
4944         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
4945         scrolling anyway
4946         (gtk_text_view_drag_drop): stop scrolling here though, and set the
4947         mark invisible
4948
4949         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
4950         function
4951         (gtk_drag_dest_get_target_list): new function
4952         (gtk_drag_dest_set_target_list): new function
4953         
4954         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
4955
4956         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
4957         related to drag-and-drop
4958
4959 2001-01-19  Alexander Larsson  <alexl@redhat.com>
4960
4961         * gdk/linux-fb/gdkprivate-fb.h:
4962         Define EMULATE_GDKFONT.
4963         Add extra pango_font stuff to GfkFontPrivate.
4964         
4965         * gdk/linux-fb/gdkdrawable-fb2.c:
4966         * gdk/linux-fb/gdkfont-fb.c:
4967         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
4968         emulation using PangoFont.
4969
4970 2001-01-17  Havoc Pennington  <hp@pobox.com>
4971
4972         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
4973         all the non-deprecated set_foo functions. Added missing object
4974         properties, and added g_object_notify() to setters. 
4975         Wrote docs.
4976         
4977 2001-01-18  Tor Lillqvist  <tml@iki.fi>
4978
4979         * gtk/gtkmain.c
4980         * gtk/gtkrc.c: (Win32) Use the new
4981         g_win32_get_package_installation_(sub)directory() functions.
4982
4983         * config.h.win32.in: New file.
4984         
4985         * config.h.win32: Removed.
4986
4987         * configure.in: Output config.h.win32.
4988
4989         * Makefile.am: Add it to EXTRA_DIST.
4990
4991         * gtk/gtk.def: Update.
4992
4993 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
4994
4995         * gtk/gtklabel.c (gtk_label_size_request): Set the
4996         attributes onto the PangoLayout even if they are newly
4997         created from label->pattern.
4998
4999 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
5000
5001         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
5002
5003         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
5004         structures in functions. Fixes bug where gtk_dataset_*
5005         was accidentally still being used in one place, causing
5006         every dest side event to be treated independently.
5007
5008         * gtk/gtkdnd.c: Remove last vestages of handling
5009         ::draw (fixes warning)
5010         
5011         * gtk/gtkentry.[ch]: Add drag and drop support.
5012
5013         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
5014         new function gtk_check_drag_threshhold() for checking
5015         to check if (dx,dy) has exceeded the threshhold for starting
5016         a drag and use it everywhere.
5017
5018 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
5019
5020         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
5021         add -I{includedir}/gtk-2.0.
5022
5023         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
5024         gdk/gdk-pixbuf.h: Doc fixups.
5025         
5026         * gtk/gtkobject.h: Remove trailing , from enum
5027
5028 2001-01-17 Alexander Larsson <alexl@redhat.com> 
5029
5030         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
5031         Doh! Mixed up x and y.
5032
5033         * gdk/linux-fb/gdkglobals-fb.c:
5034         Removed gdk_fb_pointer_grab_window_events,
5035         added _gdk_fb_pointer_grab_owner_events and
5036         _gdk_fb_keyboard_grab_owner_events.
5037
5038         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
5039         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
5040         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
5041         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
5042         Send crossing events after ungrab finished.
5043         (gdk_keyboard_grab): Set ..._owner_events
5044         (type_masks): Move out of function.
5045         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
5046         gdk_fb_keyboard_event_window): New functions, return the
5047         window an event should be targeted at. Handles grabs and
5048         event propagation. Can return NULL.
5049         (gdk_event_make): Remove event_mask checking. Now always
5050         returns an event.
5051                 
5052         * gdk/linux-fb/gdkkeyboard-fb.c:
5053         * gdk/linux-fb/gdkproperty-fb.c:
5054         * gdk/linux-fb/gdkselection-fb.c:
5055         Use new event_window/gdk_event_make() behaviour.
5056         
5057         * gdk/linux-fb/gdkmouse-fb.c:
5058         Use new event_window/gdk_event_make() behaviour.
5059         Only send motion events if in the same window.
5060         If grabbed, use cursor from window if sibling of grabbed
5061         window, and cursor from grabbed window otherwise.
5062
5063         * gdk/linux-fb/gdkprivate-fb.h:
5064         Update gdk_fb_window_send_crossing_events, gdk_event_make
5065         and grab varaible declarations. Add gdk_fb_*_event_window().
5066
5067         * gdk/linux-fb/gdkwindow-fb.c:
5068         Use new event_window/gdk_event_make() behaviour.
5069         Keep correct track of focus window.
5070         (gdk_window_set_events): Set all specific button motion masks
5071         if GDK_BUTTON_MOTION_MASK set.
5072
5073         * gtk/gtkdnd.c (gtk_drag_update):
5074         Free info->last_event if gdk_drag_motion returned FALSE.
5075
5076 2001-01-16  Tor Lillqvist  <tml@iki.fi>
5077
5078         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
5079         Eliminate redraws when input-only windows are shown or
5080         hidden. Thanks to jpe@archaeopteryx.com.
5081
5082 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
5083
5084         * docs/faq/gtk-faq.sgml: FAQ update:
5085           - Update to bugzilla
5086           - Add GTK+ and security/SUID/SGID
5087           - Add DnD question
5088
5089 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
5090
5091         * gdk/linux-fb/gdkdnd-fb.c:
5092         Some cleanups.
5093         
5094 2001-01-15  Havoc Pennington  <hp@pobox.com>
5095
5096         * tests/testtreeview.c: add test stuff for CellRendererToggle
5097
5098         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
5099         accessor
5100
5101         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
5102         only toggle on button press (would do release like GtkButton, but
5103         we'd need implicit grab code for treeview cells)
5104
5105 2001-01-16  Tor Lillqvist  <tml@iki.fi>
5106
5107         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
5108
5109         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
5110         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
5111
5112         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
5113         to g_{locale,filename}_{to,from}_utf8 to match current API.
5114
5115         * gtk/makefile.msc.in (gtk_OBJECTS)
5116         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
5117
5118         * gtk/gtk.def: Update.
5119
5120 2001-01-15  Tor Lillqvist  <tml@iki.fi>
5121
5122         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
5123         implementaion that more closely mimics the events that an X server
5124         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
5125         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
5126         with nested preview widgets, for instance, more responsive when
5127         you move the mouse quickly into them.
5128         (find_window_for_pointer_event): Make it actually compile.
5129         (gdk_event_translate): Set send_event to the value of
5130         InSendMessage (). This doesn't really mean the same as X11's
5131         send_event flag, but is close enough, says jpe@archaeopteryx.com
5132
5133 2001-01-15  Alexander Larsson  <alexl@redhat.com>
5134
5135         * gdk/linux-fb/gdkdnd-fb.c:
5136         Implemented drag and drop.
5137         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
5138         when it tries to free and then copy the same event (info->last_event).
5139         I am not sure about why this happens, but will continue looking.
5140
5141 2001-01-15  Alexander Larsson  <alexl@redhat.com>
5142
5143         * gdk/linux-fb/gdkwindow-fb.c:
5144         Use gdk_window_invalidate_rect instead of
5145         gdk_window_invalidate_rect_clear to minimise flashing.
5146         When hiding windows you need to clear the root window though.
5147
5148 2001-01-15  Alexander Larsson  <alexl@redhat.com>
5149
5150         * gdk/linux-fb/gdkdrawable-fb2.c:
5151         For optization, add an full_shapes argument to gdk_fb_clip_region.
5152         If this is false, only the cliprects of the shapes are used.
5153
5154         * gdk/linux-fb/gdkprivate-fb.h:
5155         Export gdk_fb_window_peek_shape.
5156         Add full_shapes to gdk_fb_clip_region.
5157
5158         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
5159         When moving a window, don't clear everything under the it, just the
5160         root window. Makes stuff faster and flash less.
5161         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
5162         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
5163         offset of the shape.
5164         
5165
5166 2001-01-12  Havoc Pennington  <hp@redhat.com>
5167
5168         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
5169         current invalid region, fixes redraw bug while scrolling the 
5170         text widget
5171
5172         * gtk/gtktextview.c, gtk/gtktextview.h:
5173         Rearrange the scrolling/validation/etc. code in a major way, 
5174         so it seems to make sense to me. Probably isn't genuinely that
5175         much better, but...
5176
5177         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
5178         notifies
5179
5180         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
5181
5182 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
5183
5184         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
5185         Hide mouse pointer while rotation. Show it afterwards.
5186
5187 2001-01-12  Alexander Larsson  <alexl@redhat.com>
5188
5189         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
5190         windows in consideration when generating clip region.
5191
5192         * gdk/linux-fb/gdkfb.h:
5193         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
5194
5195         * gdk/linux-fb/gdkprivate-fb.h:
5196         Add shape to GdkWindowFBDatat.
5197         exported gdk_fb_window_get_abs_shape().
5198         removed gdk_fb_draw_lines declaration.
5199
5200         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
5201         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
5202         send focus changes when there is a grabbed window.
5203         (gdk_window_get_pointer): Handle shaped windows.
5204         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
5205         (gdk_fb_window_peek_shape): Returns the shape for a window,
5206         handles GDK_FB_USE_CHILD_SHAPE.
5207         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
5208         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
5209         (gdk_window_shape_combine_mask): Implement.
5210
5211         * gtk/gtkwindow-decorate.c:
5212         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
5213         setting the shape of a window makes the window transparent.
5214
5215 2001-01-11  Havoc Pennington  <hp@redhat.com>
5216
5217         * gtk/gtktreemodelsimple.h: Oops, broke some macros
5218
5219 2001-01-10  Havoc Pennington  <hp@redhat.com>
5220
5221         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
5222         add this function, bug 40251
5223
5224         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
5225         of type macro   
5226
5227 2001-01-11  Alexander Larsson  <alexl@redhat.com>
5228
5229         * acconfig.h:
5230         Added ENABLE_SHADOW_FB
5231
5232         * configure.in:
5233         Added --disable-shadowfb
5234
5235         * gdk/linux-fb/gdkcursor-fb.c:
5236         Update shadowfb when updating cursor
5237
5238         * gdk/linux-fb/gdkdrawable-fb2.c:
5239         Added wrappers for shadowfb that calls  the normal drawable
5240         methods, but calls gdk_shadow_fb_update(bounding box) when
5241         GdkWindows are drawed to.
5242         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
5243         which also returns the bounding box.
5244
5245         * gdk/linux-fb/gdkfb.h:
5246         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
5247
5248         * gdk/linux-fb/gdkgeometry-fb.c:
5249         Update shadowfb when scrolling window.
5250
5251         * gdk/linux-fb/gdkglobals-fb.c:
5252         Add _gdk_fb_screen_angle.
5253         
5254         * gdk/linux-fb/gdkkeyboard-fb.c:
5255         Test code for screen rotation. Shift-F2 in the xlate driver
5256         rotates the screen.
5257
5258         * gdk/linux-fb/gdkmain-fb.c:
5259         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
5260
5261         * gdk/linux-fb/gdkmouse-fb.c:
5262         Use fb_width/height instead of modeinfo.xres/yres.
5263
5264         * gdk/linux-fb/gdkprivate-fb.h:
5265         Added fb_men, fb_width, fb_height & fb_stride. When using
5266         shadow fb these can differ from the framebuffer stuff.
5267         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
5268         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
5269         _gdk_fb_screen_angle. Removed CM, RP.
5270
5271         * gdk/linux-fb/gdkrender-fb.c:
5272         Added code for shadowfb handling and screen rotation using
5273         shadowfb.
5274
5275         * gdk/linux-fb/gdkwindow-fb.c:
5276         Use fb_mem, fb_stride, fb_width, fb_height.
5277         Added recompute_rowstride to reset the rowstride of all windows.
5278         Added gdk_fb_recompute_all() which recomputes rootwindow size,
5279         window abs positions and window rowstrides. Usefull when the
5280         rotation has changed.
5281
5282 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
5283
5284         * docs/faq/gtk-faq.sgml: update to make web site updating easier
5285
5286 2001-01-10  Havoc Pennington  <hp@redhat.com>
5287
5288         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
5289         where sibling == iter
5290         (gtk_tree_store_insert_after): handle sibling == iter
5291         (gtk_tree_store_prepend): remove stamp checks
5292         (gtk_tree_store_insert_before): ditto
5293         (gtk_tree_store_append): ditto
5294         (gtk_tree_store_get_path): ditto
5295         (gtk_tree_store_get_value): ditto
5296         (gtk_tree_store_iter_has_child): ditto
5297         (gtk_tree_store_iter_n_children): ditto
5298         (gtk_tree_store_iter_nth_child): ditto
5299         (gtk_tree_store_insert_after): ditto
5300         (gtk_tree_store_is_ancestor): ditto
5301         (gtk_tree_store_iter_depth): ditto
5302         (gtk_tree_store_insert_before): assert that sibling's parent is
5303         the same as the passed-in parent
5304         (gtk_tree_store_insert_after): assert that sibling's parent is
5305         the same as the passed-in parent
5306
5307         
5308         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
5309         function to get the first iterator in a model
5310         
5311         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
5312         conventionally the "root" in this sense is just NULL afaict.
5313
5314         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
5315         where sibling == iter
5316         (gtk_list_store_insert_after): handle case where sibling == iter
5317
5318         * tests/testtreeview.c (run_automated_tests): fairly lame basic
5319         automated tests for ListStore, TreeStore
5320
5321         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
5322         (gtk_list_store_insert): update tail pointer, and fix it to work
5323         (gtk_list_store_insert_before): update tail pointer, and fix it to work
5324         (gtk_list_store_append): use tail to be faster
5325         (gtk_list_store_prepend): fix it, update tail pointer
5326         (gtk_list_store_insert_after): fix it, update tail pointer
5327
5328         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
5329         the list
5330
5331 2001-01-09  Havoc Pennington  <hp@redhat.com>
5332
5333         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
5334         is NULL due to a pending resize
5335
5336         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
5337         column width to values less than 1
5338
5339         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
5340         width to be between min/max width, and still set the width 
5341         even if autosize is turned on, so the tree view can use this 
5342         function in order to autosize.
5343         (gtk_tree_view_column_init): set initial width to 1 not 0
5344
5345         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
5346         setter function to modify column width, so we get notification
5347         (gtk_tree_view_insert_iter_height): ditto
5348         (gtk_tree_view_calc_size): ditto
5349         (gtk_tree_view_check_dirty): ditto
5350
5351         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
5352         properties to change all the interesting attributes of the tree
5353         view column.
5354         (gtk_tree_view_column_set_header_clickable): rename set_clickable
5355         (gtk_tree_view_column_get_clickable): add
5356         (gtk_tree_view_column_set_cell_renderer): don't unset the current
5357         attributes; assume a cell renderer with equivalent object
5358         properties has been swapped in. Do g_object_notify().
5359         (gtk_tree_view_column_set_visible): g_object_notify
5360         (gtk_tree_view_column_get_sizing): rename from get_col_type
5361         (gtk_tree_view_column_set_sizing): g_object_notify
5362         (gtk_tree_view_column_set_width): add g_object_notify
5363         (gtk_tree_view_column_set_min_width): ditto
5364         (gtk_tree_view_column_set_max_width): ditto
5365         (gtk_tree_view_column_set_title): ditto
5366         (gtk_tree_view_column_set_clickable): ditto
5367         (gtk_tree_view_column_set_widget): ditto
5368         (gtk_tree_view_column_set_justification): ditto
5369
5370 2001-01-09  Havoc Pennington  <hp@redhat.com>
5371
5372         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
5373         there are no rows in the model
5374
5375         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
5376         NULL, then return the start of the list
5377
5378         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
5379         if we can't get any rows from an empty model 
5380
5381         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
5382         extraneous * after function pointer typedef usage
5383
5384         * Makefile.am: don't specify full path to cp and rm
5385
5386         * gtk/gtkcellrenderertextpixbuf.c
5387         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
5388         NULL before dereferencing, fixes a segfault that happened from
5389         time to time
5390
5391         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
5392         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
5393         and reindent the function
5394         (gtk_cell_renderer_pixbuf_get_size): indentation
5395
5396         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
5397         we quit it
5398         (gtk_dialog_add_buttons_valist): add g_return_if_fail
5399         (gtk_dialog_set_default_response): New function, to set default
5400         button
5401         (gtk_dialog_set_response_sensitive): New function, to set 
5402         sensitivity of buttons
5403
5404         * gtk/gtkcellrendererpixbuf.c
5405         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
5406         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
5407
5408         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
5409         handle any G_TYPE_OBJECT subclass, not just the base class, and 
5410         also boxed types.
5411         (_gtk_tree_data_list_value_to_node): ditto
5412
5413         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
5414         --gtk-debug=tree
5415
5416         * gtk/gtkmain.c: add GTK_DEBUG_TREE
5417
5418         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
5419
5420 2001-01-09  Tor Lillqvist  <tml@iki.fi>
5421
5422         * gdk/win32/gdkevents-win32.c: Implement better mouse
5423         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
5424         (find_window_for_pointer_event): New function.
5425         (gdk_event_translate): Use it when handling mouse events.
5426
5427 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
5428
5429         * configure.in:
5430         Added --with-included-loaders option
5431
5432         * gdk-pixbuf/Makefile.am:
5433         * gdk-pixbuf/gdk-pixbuf-io.c:
5434         Add support for including selected gdk-pixbuf loaders only.
5435
5436         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
5437         gtk_window_set_has_frame):
5438         Added inline documentation.
5439
5440         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
5441         * docs/reference/gdk/tmpl/windows.sgml:
5442         Added inline documentation.
5443
5444 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
5445
5446         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
5447         realizing buttons that have already been realized.
5448
5449 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
5450
5451         * tests/testtreeview.c (main): Show menu items before adding to
5452         option menu.
5453
5454         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
5455         around if we kill them.
5456
5457         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
5458         Return if we pass in a NULL model.
5459
5460 2001-01-08  Havoc Pennington  <hp@redhat.com>
5461
5462         * tests/testtreeview.c: hack on this some
5463
5464         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
5465         gtk_tree_store_set_valist, v is for arrays, valist for varargs
5466         list
5467         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
5468
5469         * gtk/gtkliststore.h: Add varargs set() and get() convenience
5470         functions
5471
5472 2001-01-08  Alexander Larsson  <alexl@redhat.com>
5473
5474         * gtk/gtkwindow-decorate.[hc]:
5475         * gtk/Makefile.am:
5476         New files. Contains an implementation of a minimal WM for
5477         linux-fb.
5478
5479         * gtk/gtkwindow.h:
5480         Add the possibility for GtkWindows to specify a frame. This
5481         is used for the window decoration code, but could concievably
5482         be used for X programs too (xmms style windows).
5483         GtkWindow->frame is the toplevel window if the window is framed.
5484         The signal frame_event gets all events that are targeted to
5485         GtkWindow->frame.
5486         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
5487         
5488         * gtk/gtkwindow.c:
5489         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
5490         Call out to gtkwindow-decorate.c for WM support in linx-fb.
5491
5492 2001-01-08  Alexander Larsson  <alexl@redhat.com>
5493
5494         * docs/README.linux-fb:
5495         Correct filename ~/.pangoft2_aliases
5496
5497         * gdk/gdkwindow.h:
5498         Added new function gdk_window_get_decorations.
5499
5500         * gdk/linux-fb/gdkfb.h:
5501         Removed _gdk_window_get_decorations declaration.
5502         Renamed _gdk_window_set_child_handler to
5503         gdk_fb_window_set_child_handler.
5504
5505         * gdk/linux-fb/gdkwindow-fb.c:
5506         Renamed _gdk_window_set_child_handler to
5507         gdk_fb_window_set_child_handler.
5508
5509         * gdk/x11/gdkwindow-x11.c:
5510         New function gdk_window_get_mwm_hints().
5511         Implemented gdk_window_get_decorations.
5512
5513         * docs/reference/gdk/tmpl/windows.sgml:
5514         * docs/reference/gdk/gdk-sections.txt:
5515         Added gdk_window_get_decorations docs.
5516         
5517 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
5518
5519         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
5520         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
5521         gdk_fb_window_send_crossing_events):
5522         Possibly send focus events when the mouse moves from one
5523         window to another.
5524
5525 2001-01-07  Tor Lillqvist  <tml@iki.fi>
5526
5527         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
5528         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
5529         to match current API.
5530
5531         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
5532         environment variable is set, don't call g_error when on a
5533         palettized (PseudoColor) display. Some people want to use GTK+ 
5534         in 256-colour mode even though works only partially.
5535
5536         * gdk/gdk.def
5537         * gtk/gtk.def
5538         * gtk/makefile.mingw.in: Update.
5539
5540 2001-01-05  Havoc Pennington  <hp@redhat.com>
5541
5542         * tests/testtreeview.c: hack on this a bit
5543
5544         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
5545         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
5546
5547         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
5548         was spelled incorrectly
5549         (GTK_IS_TREE_MODEL_SIMPLE): ditto
5550
5551         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
5552         from gtk_tree_view_set_headers_active   
5553
5554         * gtk/gtktexttag.c:
5555         (gtk_text_tag_get_property): handle PROP_DIRECTION
5556         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
5557         properties, bug 40235
5558
5559         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
5560         forward_to_line_end
5561
5562 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
5563
5564         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
5565         modules/input/gtkimcontextxim.c: Adapt to new prototypes
5566         for unicode,locale,filename conversion functions.
5567
5568 2001-01-05  Havoc Pennington  <hp@redhat.com>
5569
5570         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
5571         broken if called on the first position in the buffer.
5572
5573         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
5574         forward_to_delimiters to be called only if we aren't already at
5575         the delimiters.
5576
5577 2001-01-05  Havoc Pennington  <hp@redhat.com>
5578
5579         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
5580
5581 2001-01-05  Alexander Larsson  <alexl@redhat.com>
5582
5583         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
5584         colormap in here. Sync from X port.
5585         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
5586         Sync from X port.
5587         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
5588         This happens now and then, and i don't think it is a bug.
5589         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
5590         != endpoint.
5591         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
5592         GDK_LINE_SOLID.
5593
5594         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
5595         some of the fields filled in at least.
5596
5597         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
5598         miLineArcD is no more, remove it from the function definition.
5599
5600 2001-01-04  Havoc Pennington  <hp@redhat.com>
5601
5602         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
5603         this
5604
5605         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
5606         user_data instead of tree_node
5607
5608         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
5609         TREE_VIEW_COLUMN_SIZE
5610
5611         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
5612         "size" field to "width" finishes bug 40061
5613
5614         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
5615         for bitfields, bug 40268
5616
5617 2001-01-04  Havoc Pennington  <hp@redhat.com>
5618
5619         Rename some stuff:
5620         
5621         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
5622
5623         s/GtkModelSimple/GtkTreeModelSimple/g;
5624         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
5625         s/gtk_model_simple/gtk_tree_model_simple/g;
5626         s/gtkmodelsimple/gtktreemodelsimple/g;
5627
5628         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
5629
5630         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
5631         s/column_set_col_type/column_set_sizing/g;
5632
5633         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
5634         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
5635
5636         s/GtkCellRendererType/GtkCellRendererState/g;
5637         
5638         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
5639         (gtk_cell_renderer_toggle_class_init): change "state" property to
5640         "active", to match GtkToggleButton
5641         (gtk_cell_renderer_toggle_get_active): new function, bug
5642         40269
5643         (gtk_cell_renderer_toggle_set_active): new function
5644         (gtk_cell_renderer_toggle_set_property): route changes to toggle
5645         state through gtk_cell_renderer_set_active
5646
5647 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
5648
5649         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
5650         temporarily until they work again.  Brought up to date with
5651         changes in the model.
5652         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
5653         model.
5654
5655 2001-01-04  Havoc Pennington  <hp@redhat.com>
5656
5657         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
5658         equal to the line length, then position iterator before paragraph 
5659         separators. Fixes crash reported by Mikael Hermansson when
5660         pressing left arrow from the start of a line.   
5661
5662         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
5663         about byte indexes off the end
5664         (iter_set_from_char_offset): add g_error about char offsets
5665         off the end
5666
5667 2001-01-03  Havoc Pennington  <hp@redhat.com>
5668
5669         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
5670
5671         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
5672         of private functions; remove inclusion of private headers.
5673
5674         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
5675         function, so we don't need private functions in gtktextdisplay.c
5676
5677         * gtk/gtktextiterprivate.h: underscore-ification
5678
5679         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
5680         to instead say "only useful to implement widgets"
5681
5682         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
5683         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
5684         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
5685
5686         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
5687         This function was completely broken
5688
5689         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
5690
5691         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
5692
5693         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
5694
5695         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
5696
5697         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
5698
5699         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
5700
5701         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
5702         gtk_paint_layout
5703
5704         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
5705         gtk_paint_layout
5706
5707         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
5708         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
5709         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
5710         which were not implemented.     
5711
5712         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
5713         insert_pixbuf signal. Rename delete_text to delete_range since it
5714         also deletes pixbufs and child anchors. This almost closes bug
5715         40245 (still need to deal with child anchors)
5716
5717         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
5718         insert_pixbuf, change signal names as appropriate, change types of
5719         signals taking marks/tags to have the specific type, not just
5720         G_TYPE_OBJECT
5721         
5722         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
5723         closes bug 40051
5724
5725         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
5726         unnecessary remove_contents() call
5727         (gtk_option_menu_class_init): add a "changed" signal, closes
5728         bug 40039
5729         (gtk_option_menu_update_contents): emit "changed" if the 
5730         active menu item changes
5731
5732         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
5733         cast to GtkObject, reported by Jonas Borgstrom
5734         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
5735         we can't do stuff with side effects in finalize. Instead, spew a
5736         warning if the loader isn't closed.
5737
5738         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
5739         colormap in here, non-X ports probably need to sync to this change
5740
5741         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
5742         assertion that colormap != NULL, you can set the colormap to NULL
5743         if you like.
5744         
5745         * Makefile.am: remove gtk-config-2.0
5746
5747         * configure.in: Use pkg-config to locate GLib. Remove
5748         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
5749         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
5750         Use pkg-config to locate Pango. Output correct Pango libs to
5751         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
5752
5753         * Makefile.am (pkgconfig_DATA): install only target-specific pc
5754         files
5755         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
5756         X11 pc files
5757
5758         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
5759         unref from here
5760
5761 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
5762
5763         * configure.in:
5764         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
5765
5766 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
5767
5768         * gtk/gtktextlayout.c
5769         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
5770         variable when moving back onto a single line.
5771
5772 2001-01-01  Havoc Pennington  <hp@redhat.com>
5773
5774         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
5775
5776         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
5777
5778         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
5779         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
5780
5781 2001-01-01  Havoc Pennington  <hp@redhat.com>
5782
5783         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
5784
5785         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
5786         GtkTextAttributes
5787
5788         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
5789         #40246
5790         (gtk_text_attributes_copy_values): rename from 
5791         gtk_text_attributes_copy
5792         (gtk_text_attributes_copy): a more standard GTK copy function, 
5793         which returns a new object
5794
5795 2001-01-01  Havoc Pennington  <hp@redhat.com>
5796
5797         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
5798         
5799         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
5800         don't fill in tree_view->priv->selection, kind of an unexpected
5801         side effect
5802
5803         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
5804         gtkintl.h
5805         
5806         * gtk/gtkcellrenderer.c: Remove definition of _ and include
5807         gtkintl.h
5808         (gtk_cell_renderer_get_property): remove calls to g_value_init
5809
5810         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
5811         gtkintl.h
5812
5813         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
5814         and include gtkintl.h
5815         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
5816         property names
5817
5818         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
5819         GtkTreeSelection
5820         (_gtk_tree_selection_new_from_with_view): rename, return
5821         GtkTreeSelection
5822         (_gtk_tree_selection_set_tree_view): rename with uscore
5823         (gtk_tree_selection_get_selected): fill in the "model" out param
5824         first, so it gets filled in even if we return at the top of the 
5825         function
5826         (gtk_tree_selection_real_select_all): add a comment and an else{}
5827         to clarify this a bit
5828         (gtk_tree_selection_real_unselect_all): add the same else{}
5829
5830         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
5831         set_tree_view to have underscore prefixes, move them to the
5832         private header, fix return type of new_with_tree_view
5833         (struct _GtkTreeSelection): mark struct
5834         fields private  
5835
5836         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
5837         GtkTreeModelFlags, not a guint
5838         (gtk_tree_path_prev): return gboolean not gint
5839         (gtk_tree_path_up): return gboolean not gint
5840
5841         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
5842         return GtkTreeModelFlags, not a guint
5843
5844         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
5845         that child model is non-null before unrefing it
5846         (g_value_int_compare_func): make this a qsort compare func, not 
5847         a boolean predicate
5848
5849         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
5850         (add -umn to the end), and mark it unimplemented
5851         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
5852         I don't see what it's for - doesn't the model always sort itself?
5853         (gtk_tree_model_sort_set_compare): this had the wrong signature
5854
5855         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
5856         Fix the docs to say that it destructively replaces existing
5857         attributes (previously said that it added attributes).
5858         (gtk_tree_view_column_set_visible): canonicalize bool before
5859         equality testing. Also, check for realization before
5860         hiding/showing the tree_column->window; if this window could exist
5861         before realization, then it's busted and needs fixing, we can't 
5862         create GDK resources pre-realization. Also, remove
5863         superfluous queue_resize(), since set_size() does that for us.
5864         (gtk_tree_view_column_set_col_type): check realization before 
5865         using tree_column->window
5866
5867         * gtk/gtktreedatalist.c: fix filename in copyright notice
5868
5869 2000-12-31  Havoc Pennington  <hp@pobox.com>
5870
5871         * gtk/gtktextview.c: Rearrange all the
5872         scroll-while-dragging-or-selecting code to be different, not
5873         necessarily better. ;-)
5874         (gtk_text_view_scroll_to_mark): Change this
5875         function to take within_margin as a fraction instead of a pixel
5876         value, and to take alignment arguments (indicating where to align 
5877         the mark inside the visible area)
5878         
5879         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
5880         to GtkObject
5881
5882         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
5883         behavior so that offsets past the end of the line are not 
5884         allowed, and an offset equal to the line length moves the iterator
5885         to the next line
5886         (gtk_text_iter_set_line_index): make parallel change
5887         (gtk_text_iter_get_bytes_in_line): add this function
5888         
5889         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
5890         of byte indexes off the end of the line; byte index at the end of
5891         the line now returns FALSE and doesn't fill in the requested
5892         values, byte index past the end of the line is an error.  Also,
5893         don't allow -1 offset anymore, since its meaning is unclear.
5894
5895         This change exposes some bug in visual cursor motion, where we
5896         end up with a huge invalid byte index; needs fixing. Symptom of 
5897         bug is a crash when you hit up arrow.
5898         
5899         (_gtk_text_line_char_locate): match the change to byte_locate
5900
5901         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
5902         from start of line properly. fixes bug reported by Mikael
5903         Hermansson where backspace would delete all text before the
5904         cursor.
5905
5906 2000-12-30  Tor Lillqvist  <tml@iki.fi>
5907
5908         * gdk/win32/gdkwindow-win32.c
5909         (gdk_window_impl_win32_get_visible_region): New function, as in
5910         the X11 backend.
5911         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
5912         instead of duplicating the same code here.
5913
5914         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
5915         GDK_COLORMAP macro.
5916
5917         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
5918         destroy function.
5919         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
5920         access that.
5921
5922         * gtk/gtk.def: Update.
5923
5924         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
5925
5926 2000-12-30  Havoc Pennington  <hp@pobox.com>
5927
5928         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
5929         colormap on input only windows, to avoid special cases all over
5930         the code for these windows.
5931
5932 2000-12-26  Tor Lillqvist  <tml@iki.fi>
5933
5934         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
5935         we are on a palettized display ("PseudoColor" in X11), as the code
5936         for that doesn't work anyway, and never has.
5937
5938 2000-12-22  Alexander Larsson  <alexl@redhat.com>
5939
5940         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
5941         Don't use isprint() for chars > 255.
5942
5943 2000-12-21  Havoc Pennington  <hp@redhat.com>
5944
5945         * tests/testtreeview.c: more work
5946
5947 2000-12-21  Alexander Larsson  <alexl@redhat.com>
5948
5949         * docs/README.linux-fb:
5950         Update the docs to the new pangoft2 way.
5951
5952 2000-12-21  Alexander Larsson  <alexl@redhat.com>
5953
5954         * configure.in:
5955         For linux-fb get the pangoft2 cflags and libs. This needs a recent
5956         pango version.
5957         Remove modules/linux-fb/Makefile.
5958
5959         * gdk/linux-fb/gdkdrawable-fb2.c:
5960         Render glyphs using freetype.
5961
5962         * gdk/linux-fb/gdkfb.h:
5963         Add new fb-specific functions needed for managing windows.
5964
5965         * gdk/linux-fb/gdkmain-fb.c:
5966         Remove gdk_font_init/fini() calls.
5967
5968         * gdk/linux-fb/gdkpango-fb.c:
5969         Remove old implementation. Use pangoft2 instead.
5970
5971         * gdk/linux-fb/gdkprivate-fb.h:
5972         Remove PangoFBFont and related stuff.
5973
5974         * gdk/linux-fb/gdkwindow-fb.c:
5975         Implement drawable->get_visible_region.
5976         Implement support for _gdk_window_set_child_handler () and
5977         _gdk_window_get_decorations().
5978
5979         * modules/Makefile.am:
5980         Remove linux-fb subdir.
5981
5982         * modules/linux-fb/*:
5983         Removed all.
5984         
5985 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
5986
5987         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
5988         calls, as they are no longer needed.
5989
5990         * gtk/gtktreemodelsort.c: Fix up the comparison code.
5991         
5992         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
5993         figure out how to emit a signal on an interface.
5994
5995 2000-12-20  Havoc Pennington  <hp@redhat.com>
5996
5997         * tests: new directory to contain tests, gtk/test* should move
5998         here sometime (with appropriate on-cvs-server hackery)
5999
6000         * tests/testtreeview.c, tests/Makefile.am: a test
6001         
6002         * configure.in (AC_OUTPUT): add tests/Makefile
6003
6004         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
6005         and "invisible_set" which were missing
6006
6007         * gtk/gtkrbtree.h: some cheesy indentation fix
6008         
6009 2000-12-20  Alexander Larsson  <alexl@redhat.com>
6010
6011         * gtk/gtkinvisible.c (gtk_invisible_realize):
6012         Attach the style to the window so that the style it is not
6013         leaked when unrealizing the window.
6014
6015 2000-12-18  Havoc Pennington  <hp@redhat.com>
6016
6017         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
6018         begin/end user action where appropriate
6019         (gtk_text_view_commit_handler): add begin/end user action
6020
6021         * gtk/gtktextbuffer.c: add begin/end user action signals, and
6022         bracket interactive operations with begin/end user action pair.
6023         
6024         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
6025         "interactive" arg from insert_text and delete_text signals.
6026         Add begin_user_action, end_user_action signals
6027         (gtk_text_buffer_begin_user_action): 
6028         (gtk_text_buffer_end_user_action): New functions to delimit 
6029         a user-visible action
6030
6031         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
6032         signals.
6033         
6034 2000-12-18  Havoc Pennington  <hp@redhat.com>
6035
6036         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
6037         was pretty non-working.
6038
6039         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
6040         by passing the length to g_utf8_validate().
6041
6042 2000-12-16  Havoc Pennington  <hp@pobox.com>
6043
6044         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
6045         Port to GObject, can go back in gdk-pixbuf after setting up 
6046         a gdk-pixbuf-marshal.h header over there.
6047
6048         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
6049         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
6050         args
6051         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
6052         set
6053         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
6054         here, do it when we create the buttons later
6055         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
6056         (gtk_tree_view_map): paranoia checks that column->button is shown 
6057         and unmapped
6058         (gtk_tree_view_size_request): only request visible children.
6059         Move header size calculation in here, for cleanliness, and 
6060         to maintain invariants for child widgets if we eventually 
6061         let users set different children inside the buttons
6062         (gtk_tree_view_map_buttons): factor out code to map buttons,
6063         since it was being called several times
6064         (gtk_tree_view_size_allocate_buttons): move_resize the drag
6065         windows instead of just moving them; their height may change 
6066         if we allow random widgets in there, or the theme changes.
6067         (gtk_tree_view_size_allocate): move button size allocation 
6068         above emitting the scroll signals, to ensure a sane state when we
6069         hit user code
6070         (gtk_tree_view_button_release): remove queue_resize after
6071         tree_view_set_size(), set_size() will handle any resize queuing
6072         that's needed
6073         (gtk_tree_view_focus_in): just queue a draw, don't fool with
6074         draw_focus goo
6075         (gtk_tree_view_focus): use gtk_get_current_event() and
6076         gdk_event_get_state()
6077         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
6078         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
6079         semicolon
6080         (gtk_tree_view_create_button): show the button here
6081         (gtk_tree_view_button_clicked): actually emit the clicked signal
6082         on the column
6083         (_gtk_tree_view_set_size): return right away if the size is
6084         unchanged, as a cheesy optimization
6085         (gtk_tree_view_setup_model): rename set_model_realized to 
6086         setup_model to match the flag that indicates whether we've 
6087         called it
6088         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
6089         exist, because set_scroll_adjustment does that and it shouldn't
6090         matter what order you call these in
6091         (gtk_tree_view_get_vadjustment): ditto
6092         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
6093         for paranoia
6094         (gtk_tree_view_set_headers_visible): call
6095         gtk_tree_view_map_buttons() instead of using cut-and-paste code
6096         (gtk_tree_view_append_column): clarify whether the return value
6097         is the count of columns before or after, and do the increment 
6098         separately from the return statement so you can tell from the code.
6099         (gtk_tree_view_remove_column): ditto
6100         (gtk_tree_view_insert_column): ditto
6101         (gtk_tree_view_get_column): remove g_return_if_fail for columns
6102         outside the existing range, the docs say that outside-range
6103         columns are allowed, so we handle them as documented. (Presumably
6104         this allows a nice loop with column != NULL as test.)
6105         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
6106         mean (left/right/center etc.).
6107         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
6108         (gtk_tree_view_expand_row): add docs
6109         (gtk_tree_view_collapse_row): add docs
6110
6111         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
6112         function to emit the clicked signal on a column
6113         
6114         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
6115         state of an event
6116         (gdk_event_get_time): don't treat GDK_SCROLL 
6117         as a button event, remove default case from switch so gcc 
6118         will whine if we don't explicitly handle all event types
6119
6120         * gtk/gtktreeselection.h: added some FIXME 
6121         
6122         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
6123         "columns" to "n_columns" and "column" to "columns" for clarity
6124
6125 2000-12-16  Havoc Pennington  <hp@pobox.com>
6126         
6127         * gtk/gtktextiter.c: General cleanup of the log attr iteration
6128         stuff. This should make e.g. the delete key work again in the
6129         text widget...
6130         (gtk_text_iter_forward_cursor_positions): handle negative count
6131         (gtk_text_iter_backward_cursor_positions): handle negative count
6132         (gtk_text_iter_forward_word_ends): handle negative count
6133         (gtk_text_iter_backward_word_starts): handle negative count
6134
6135         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
6136         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
6137         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
6138         GObject. No doubt will cause breakage.
6139
6140         * demos/gtk-demo/textview.c: remove hacks around
6141         non-GObject-ification of the text objects
6142
6143         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
6144         the text tag
6145         
6146 2000-12-14  Havoc Pennington  <hp@pobox.com>
6147
6148         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
6149         that we have Xrender
6150
6151 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
6152
6153         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
6154         Add two virtualized functions gdk_drawable_get_clip_region - to
6155         get the clip region when drawing.
6156         
6157         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
6158         use invalidate_region.
6159
6160         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
6161         region.
6162
6163         * acconfig.h configure.in: Check for Xft. For now, assume
6164         that if Xft is found, Pango was compiled with Xft support
6165         as well.
6166
6167         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
6168         gdk_colormap_query_color().
6169         
6170         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
6171         with Xft if appropriate.
6172
6173         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
6174         a pangoxft context if we have XFT and the environment
6175         variable GD_USE_XFT is set.
6176         
6177         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
6178         and also possibly an XftDraw structure.
6179
6180         * gtk/gtkfontsel.c: Handle the case where the font from the
6181         style doesn't match any of the fonts a bit better.
6182         
6183         * gtk/testgtk.c: Add tabs between directional segments for
6184         hebrew/arabic test. (Not really necessary, just a little
6185         prettier.)
6186
6187 2000-12-14  Havoc Pennington  <hp@redhat.com>
6188
6189         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
6190         reading a file
6191
6192 2000-12-14  Havoc Pennington  <hp@redhat.com>
6193
6194         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
6195         unused call to get_last_line()
6196
6197         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
6198         here until boxed is working (and maybe after that - we should
6199         really not gratuitously break old code)
6200
6201         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
6202         specific types for font_desc and tabs args, move them to
6203         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
6204         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
6205
6206         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
6207         use GTK_TYPE_POINTER for signal signatures as a hack-around
6208
6209         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
6210         PangoTabArray
6211
6212         * gtk/gtktextlayout.c (line_display_iter_to_index): 
6213         make static
6214         (line_display_index_to_iter): make static
6215
6216         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
6217         to marshal a string not a boxed
6218
6219         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
6220
6221         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
6222         since the UTF-8 isn't validated yet
6223
6224         * gtk/gtktextsegment.c (char_segment_check_func): don't require
6225         lines to end in '\n'
6226         
6227         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
6228         forward_to_delimiters, and grapheme boundaries
6229         (gtk_text_view_delete_from_cursor): properly handle non-newline
6230         delimiters, and grapheme boundaries
6231
6232         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
6233         to gtk_text_iter_forward_to_delimiters, and make it work properly
6234         if empty lines end with a character other than '\n'
6235
6236         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
6237         position
6238
6239 2000-12-15  Tor Lillqvist  <tml@iki.fi>
6240
6241         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
6242
6243         * gtk/gtk.def
6244         * gdk/gdk.def: Update.
6245
6246         * gdk/win32/gdkmain-win32.c
6247         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
6248         gdkmain-win32.c here.
6249
6250         * gdk/win32/makefile.mingw.in (all): No need to make
6251         gdk-win32res.o here, the makefile one step up will call us to make
6252         it.
6253
6254         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
6255         gdkkeys-win32.
6256
6257         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
6258
6259         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
6260         call to g_source_add().
6261
6262         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
6263         leak. Thanks to Andreas Kemnade.
6264
6265 2000-12-13  Havoc Pennington  <hp@pobox.com>
6266
6267         * gtk/gtktextbtree.h: Remove double _ in front of some functions
6268
6269         * gtk/gtktext*.[hc]: update accordingly
6270         
6271 2000-12-13  Havoc Pennington  <hp@pobox.com>
6272
6273         * gtk/gtktextbtree.h: Put _ in front of every function in this 
6274         header file
6275
6276         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
6277
6278 2000-12-13  Alex Larsson  <alexl@redhat.com>
6279
6280         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
6281         Add support for ps2 intellimouse.
6282
6283         * gdkkeyboard-fb.c:
6284         Move shift-F1 repaint handling to xlate handler only.
6285         
6286         * docs/README.linux-fb:
6287         Add imps2 to docs.
6288         Document the new refresh keys.
6289         
6290 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
6291
6292         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
6293
6294         * gtk/gtkbox.c: change property types from (u)long to (u)int for
6295         ::position and ::padding.
6296
6297         * gtk/gtkcontainer.c: make ::border_width an INT property.
6298
6299         * gtk/gtkpacker.c: make ::position an INT property.
6300
6301         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
6302         guard against NULL h/v scrollbars, since this is used at construction
6303         time.
6304
6305         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
6306         internal gtk_clist_constructor().
6307
6308         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
6309         gtk_ctree_constructor().
6310
6311         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
6312         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
6313
6314         * docs/reference/Makefile.am: fun stuff, disabled docs generation
6315         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
6316
6317         * gtk/gtkwidget.[hc]:
6318         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
6319         and gtk_widget_get().
6320         (gtk_widget_new): use g_object_new_valist().
6321         (gtk_widget_set): use g_object_set_valist().
6322
6323         * gtk/gtkobject.[hc]:
6324         removed gtk_object_arg_get_info(), gtk_object_getv(),
6325         gtk_object_query_args(), gtk_object_newv(),
6326         gtk_object_class_add_signals(),
6327         gtk_object_class_user_signal_new(),
6328         gtk_object_class_user_signal_newv(),
6329         gtk_object_arg_set(), gtk_object_arg_get(),
6330         gtk_object_args_collect(),
6331         gtk_object_default_construct(),
6332         gtk_object_constructed(),
6333         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
6334         removed nsignals, signals and n_args members from GtkObjectClass.
6335         (gtk_object_new): use g_object_new_valist().
6336         (gtk_object_set): use g_object_set_valist().
6337         (gtk_object_get): use g_object_get_valist().
6338         
6339         * gtk/gtkcompat.h: define gtk_object_default_construct().
6340         
6341         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
6342         g_object_new().
6343
6344         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
6345         fucntions, cleaned up method assignments (make sure your structures
6346         are setup properly before calling out). removed all GTK_CONSTRUCTED
6347         hacks ;)
6348
6349 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
6350
6351         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
6352         off-by-one error in checks. (Dave Lambert)
6353
6354 2000-12-12  Alexander Larsson  <alexl@redhat.com>
6355
6356         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
6357         Don't free gdk_fb_keyboard twice.
6358
6359 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
6360
6361         * gtk/testgtk.c:
6362         (create_tooltips): 
6363         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
6364         use GObject swapped_signal:: properties instead.
6365
6366         * gtk/gtkcellrenderertoggle.c: 
6367         * gtk/gtkcellrenderertextpixbuf.c: 
6368         * gtk/gtkcellrenderertext.c: 
6369         * gtk/gtkcellrendererpixbuf.c: 
6370         * gtk/gtkcellrenderer.c:
6371         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
6372         missing warnings for invalid property ids, install properties
6373         with g_object_class_install_property() now.
6374         
6375         * gtk/gtksignal.c:
6376         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
6377         
6378 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
6379         
6380         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
6381         to determine if a window is the focus widget within
6382         its toplevel.
6383
6384         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
6385         to be boolean.
6386
6387         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
6388         of the case where the container CAN_FOCUS to here instead
6389         of having it in each individual move-the-focus place.
6390
6391         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
6392         focusing to be geometric in a much more obvious sense. Arrowing
6393         around is still non-intuitive because it isn't perfect and
6394         because entries, etc, grab the arrow keys, but it at least
6395         usually will do what you expect now.
6396         
6397         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
6398         file.
6399
6400         * gtk/gtknotebook.c: Change tabs to be a single item in
6401         the focus chain. Make movement of focus on tabs with arrow
6402         keys wrap around.
6403         
6404         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
6405         CHECK_FIND_CHILD macro to give informative error messages
6406         instead of silent returns.
6407
6408         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
6409         flag since we handle GdkReturn on the tabs.
6410
6411         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
6412         windows rather than sending expose events directly.
6413
6414         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
6415         definition for GtkNotebookPage into .c file, since it is private.
6416
6417         * gtk/testgtk.c (create_notebook): Add option for 
6418         testing borderless notebook.
6419
6420         * gtk/testgtk.c (page_switch): Removed egregious poking
6421         around in GTK+ internals.
6422
6423         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
6424
6425         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
6426         properly through gtk_clist_focus. Make the title headers a
6427         single item in the tab-focus chain, and make left-right wrap
6428         around.
6429
6430         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
6431         focus method so that wrapping around works properly.
6432
6433         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
6434         that is handled for the widget now. 
6435
6436 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
6437
6438         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
6439         widgets as TOPLEVEL.
6440
6441         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
6442         TOPLEVEL widgets are containers.
6443
6444         * gtk/gtkinvisible.h: Remove useless include.
6445
6446 2000-12-11  Havoc Pennington  <hp@redhat.com>
6447
6448         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
6449         Handle chopping off \r\n and 0x2029 in addition to \n before
6450         passing to PangoLayout
6451
6452         * gtk/gtkimcontextsimple.c
6453         (gtk_im_context_simple_get_preedit_string): 
6454         return an empty string if no match is pending
6455
6456         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
6457         assertion that the returned preedit string was sane
6458
6459         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
6460         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
6461         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
6462
6463 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
6464
6465         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
6466         Fix up finalizer to chain to its parent.
6467
6468 2000-12-11  Alexander Larsson  <alexl@redhat.com>
6469
6470         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
6471         Clearified the difference between the keyboard types. Wrote a note
6472         about the magic sysrq key to get out of raw mode.
6473
6474 2000-12-09  James Henstridge  <james@daa.com.au>
6475
6476         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
6477         member to hold masks for detecting the start of a protocol packet.
6478         (mouse_devs): add packet start masks for ps2 and ms device types.
6479         Left the mask for fidmour blank, as I have no idea what it should
6480         be.
6481         (handle_mouse_io): skip bytes until we get to the start of a
6482         packet.  My Logitech mouse seems to be passing an extra NULL pad
6483         byte, and GPM does a similar thing here.
6484         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
6485         this is the ms mouse driver.
6486         (gdk_fb_mouse_ms_packet): fix up button handling, which was
6487         completely broken except for button1.  It was checking the wrong
6488         bit in the packet for the status of the right mouse button, and
6489         wrongly assuming right == button2 rather than 3.  I fixed that and
6490         also added support for middle button (button2).
6491
6492 2000-12-08  Havoc Pennington  <hp@redhat.com>
6493
6494         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
6495         that cause a segfault on text insertion
6496
6497         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
6498         warning
6499
6500         * gtk/gtktextiter.c (test_log_attrs): use
6501         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
6502
6503         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
6504         Get log attrs for a line, using a cache stored on the buffer
6505         
6506         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
6507         reported by Jeff Franks
6508
6509 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
6510
6511         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
6512         /dev/ttyS0 -> /dev/mouse
6513
6514 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
6515
6516         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
6517         Added dummy gdk_fontset_load.
6518
6519 2000-12-08  Alexander Larsson  <alexl@redhat.com>
6520
6521         * docs/README.linux-fb:
6522         * docs/Makefile.am:
6523         Initial GtkFB docs.
6524         
6525         * gdk/linux-fb/Makefile.am:
6526         Define GDK_DATA_PREFIX.
6527
6528         * gdk/linux-fb/gdkmain-fb.c:
6529         Fix typo.
6530         Change default display to /dev/fb0.
6531
6532         * gdk/linux-fb/gdkpango-fb.c:
6533         Add $(prefix)/share/fonts/ to font path.
6534         
6535 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
6536
6537         * gdk/linux-fb/gdkkeyboard-fb.c:
6538         New file containing the abstracted keyboard driver. Most code
6539         taken from gdkinput-ps2.c
6540
6541         * gdk/linux-fb/gdkinput-ps2.c:
6542         Removed file.
6543         
6544         * gdk/linux-fb/Makefile.am:
6545         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
6546
6547         * gdk/linux-fb/gdkcolor-fb.c:
6548         display->fb was renamed to display->fb_fd.
6549
6550         * gdk/linux-fb/gdkcursor-fb.c:
6551         gdk_mouse_get_info -> gdk_fb_mouse_get_info
6552
6553         * gdk/linux-fb/gdkinput.c:
6554         Moved gdk_input_init here from gdkinput-ps2.c
6555
6556         * gdk/linux-fb/gdkmain-fb.c:
6557         display->fb was renamed to display->fb_fd.
6558         Now the tty and the console is opened here instead
6559         of in the keyboard driver. Also check GDK_VT to see what
6560         tty to open.
6561         Move gdk_beep () here from gdkinput-ps2.c
6562         gdk_mouse_get_info -> gdk_fb_mouse_get_info
6563
6564         * gdk/linux-fb/gdkmouse-fb.c:
6565         Add header.
6566         gdk_mouse_get_info -> gdk_fb_mouse_get_info
6567         Return correct keyboard modifiers.
6568         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
6569
6570         * gdk/linux-fb/gdkprivate-fb.h:
6571         Add tty and vt info to display.
6572         Add orignal modeinfo storage to display
6573         Update global functions
6574
6575         * gdk/linux-fb/gdkwindow-fb.c:
6576         Added gdk_fb_window_find_focus().
6577         gdk_mouse_get_info -> gdk_fb_mouse_get_info
6578
6579 2000-12-07  Havoc Pennington  <hp@pobox.com>
6580
6581         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
6582         function, noticed by Alex
6583
6584 2000-12-06  Elliot Lee  <sopwith@redhat.com>
6585
6586         * configure.in: Detect freetype properly
6587
6588         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
6589         above.
6590
6591 2000-12-06  Alexander Larsson  <alexl@redhat.com>
6592
6593         * gdk/linux-fb/Makefile.am:
6594         Add gdkmouse-fb.c
6595         
6596         * gdk/linux-fb/gdkmouse-fb.c:
6597         New file. Abstracted the mouse drivers a bit.
6598
6599         * gdk/linux-fb/gdkcursor-fb.c:
6600         The cursor hide/show functions was moved here from gdkinput-ps2.c.
6601
6602         * gdk/linux-fb/gdkinput-ps2.c:
6603         Removed old mouse handling code. Moved cursor handling code
6604         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
6605         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
6606         gdk_mouse_get_info.
6607
6608         * gdk/linux-fb/gdkmain-fb.c:
6609         Pass NULL pointers for x,y in gdk_mouse_get_info call.
6610
6611         * gdk/linux-fb/gdkprivate-fb.h:
6612         Removed public gdk_fb_find_common_ancestor, added and renamed
6613         functions for the new mouse handling code.
6614
6615         * gdk/linux-fb/gdkwindow-fb.c:
6616         Moved gdk_fb_window_send_crossing_events here. added global
6617         variable gdk_fb_window_containing_pointer. made
6618         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
6619         renamed to gdk_mouse_get_info.
6620
6621 2000-12-06  Alexander Larsson  <alexl@redhat.com>
6622
6623         * gdk/linux-fb/gdkevents-fb.c:
6624         Update to match latest gmain/gsource changes.
6625
6626         * gdk/linux-fb/gdkinput-ps2.c:
6627         Bogus gdk_keymap_get_entries_for_keycode implementation so that
6628         it links. Will be implemented later.
6629
6630 2000-12-03  Havoc Pennington  <hp@pobox.com>
6631
6632         * gdk/Makefile.am: add gdkkeys.[hc]
6633
6634         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
6635         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
6636
6637         * acconfig.h, configure.in: add checks and command line options
6638         for XKB
6639
6640         * gdk/x11/gdkkeys-x11.c: Implement the above functions
6641         
6642         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
6643         and group in the key event
6644
6645         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
6646         field with the low-level hardware key code, and a group
6647         field with the keyboard group
6648
6649         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
6650         and declare a couple globals used for keymap handling
6651         
6652         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
6653         hold down Shift-Control and type a hex number to get a Unicode 
6654         character corresponding to the hex number
6655         (gtk_im_context_simple_get_preedit_string): Fix cursor position
6656         (return bytes not chars)
6657
6658 2000-12-05  Elliot Lee  <sopwith@redhat.com>
6659
6660         * gdk/gdkcolor.h: Make GdkColor specify element sizes
6661         to avoid waste on 64-bit platforms.
6662
6663 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
6664
6665         * INSTALL: Fix link to PNG home, remove reference
6666         to fribidi.
6667
6668         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
6669         
6670         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
6671         tested.)
6672
6673         * gtk/gtkcheckmenuitem.c: Permanently turn on
6674         always_show_toggle.
6675
6676         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
6677         be NULL. (Vladimir Klebanov, #26545)
6678
6679         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
6680         some signed/unsigned comparison problems. (#6510,
6681         David Kaelbling)
6682
6683         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
6684         return type to boolean (Oskar Liljeblad, #18648)
6685
6686 2000-12-05  Alexander Larsson  <alexl@redhat.com>
6687
6688         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
6689         Remove bogus colormap setting.
6690
6691 2000-12-05  Alexander Larsson  <alexl@redhat.com>
6692
6693         * gdk/linux-fb/gdkcolor-fb.c:
6694         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
6695
6696         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
6697         Must set colormap.
6698         
6699 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
6700
6701         * docs/tutorial/gtk-tut.sgml: DND updates
6702
6703 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
6704
6705         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
6706         Remove old debug g_warning().
6707         (gdk_fb_draw_drawable): The src argument can be either a wrapper
6708         or an implementation, just pass the implementation to draw_drawable_2.
6709         
6710         * gdk/linux-fb/gdkprivate-fb.h:
6711         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
6712
6713         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
6714         clear and invalidate area when window is destroyed.
6715         (send_map_events): Remove old commented out code.
6716
6717 2000-12-05  Alexander Larsson  <alexl@redhat.com>
6718
6719         * gdk/linux-fb/gdkpango-fb.c:
6720         Use italic instead of oblique in font aliases.
6721         
6722         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
6723         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
6724         other unsupported functions.
6725
6726 2000-12-04  Havoc Pennington  <hp@redhat.com>
6727
6728         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
6729
6730         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
6731
6732         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
6733
6734         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
6735         hack to avoid infinite loops (synthetic expose event) - 
6736         Owen has more appropriate fixes in a branch he'll check in later.
6737
6738         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
6739         separator, CR, and CRLF as line ends
6740
6741         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
6742         into lines using pango_find_paragraph_boundary(); other bits of
6743         the widget are still going to be broken if the boundary isn't '\n'
6744         though
6745
6746 2000-12-04  Alexander Larsson  <alexl@redhat.com>
6747
6748         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
6749         multiply.
6750
6751         * gdk/linux-fb/gdkpango-fb.c:
6752         Copied some 26.6 scaling macros from pango to clean up the rounding.
6753         (pango_fb_font_get_glyph_info): Correct sign on x value.
6754
6755         * gdk/linux-fb/gdkprivate-fb.h:
6756         Removed unreferenced external functions.
6757
6758         * modules/linux-fb/Makefile.am: Use ` instead of '.
6759
6760         * modules/linux-fb/basic.c:
6761         Remove dead code. In particular the dummy lang engine which broke all
6762         pango layouts in GtkFB. Don't include tables-big.i anymore.
6763
6764         * modules/linux-fb/tables-big.i:
6765         Upgrade to latest version from pango. Left for reference, basic_ranges
6766         moved to basic.c.
6767         
6768 2000-12-04  Havoc Pennington  <hp@redhat.com>
6769
6770         Fix bugs Alex found:
6771         
6772         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
6773         to "draw"
6774
6775         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
6776
6777         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
6778
6779         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
6780         implementation in here, apparently the expose() implementation was
6781         dead code.
6782
6783 2000-12-04  Alexander Larsson  <alexl@redhat.com>
6784
6785         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
6786         Return positive descent.
6787
6788 2000-12-02  Havoc Pennington  <hp@pobox.com>
6789
6790         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
6791         method and signal
6792         
6793         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
6794         calls gdk_window_process_updates() to push the exposes through
6795         (gtk_widget_class_init): No more draw signal, no
6796         gtk_widget_real_draw()  
6797         
6798         * gtk/gtkbin.c (gtk_bin_draw): remove
6799
6800         * gtk/gtkbox.c (gtk_box_draw): remove
6801
6802         * gtk/gtkbutton.c (gtk_button_draw): remove
6803
6804         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
6805
6806         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
6807
6808         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
6809
6810         * gtk/gtkclist.c (gtk_clist_draw): remove
6811
6812         * gtk/gtkentry.c (gtk_entry_draw): remove
6813
6814         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
6815
6816         * gtk/gtkfixed.c (gtk_fixed_draw): remove
6817
6818         * gtk/gtkframe.c (gtk_frame_draw): remove
6819
6820         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
6821
6822         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
6823
6824         * gtk/gtklayout.c (gtk_layout_draw): remove
6825
6826         * gtk/gtklist.c (gtk_list_draw): remove
6827
6828         * gtk/gtklistitem.c (gtk_list_item_draw): remove
6829
6830         * gtk/gtkmenu.c (gtk_menu_draw): remove
6831
6832         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
6833
6834         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
6835
6836         * gtk/gtknotebook.c (gtk_notebook_draw): remove
6837
6838         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
6839
6840         * gtk/gtkpacker.c (gtk_packer_draw): remove
6841
6842         * gtk/gtkrange.c (gtk_range_draw): remove
6843
6844         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
6845
6846         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
6847
6848         * gtk/gtktable.c (gtk_table_draw): remove
6849
6850         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
6851
6852         * gtk/gtktext.c (gtk_text_draw): remove
6853
6854         * gtk/gtktextview.c (gtk_text_view_draw): remove
6855
6856         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
6857
6858         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
6859
6860         * gtk/gtktree.c (gtk_tree_draw): remove
6861
6862         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
6863
6864         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
6865
6866         * gtk/gtkviewport.c (gtk_viewport_draw): remove
6867
6868         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
6869
6870         * gtk/gtkvscale.c (gtk_vscale_draw): remove
6871
6872         * gtk/gtkwindow.c (gtk_window_draw): remove
6873
6874 2000-20-01  Anders Carlsson  <andersca@gnu.org>
6875
6876         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
6877         a GtkToggleButton is both insensitive and active, it was being
6878         drawn by the GtkButton draw handler which doesn't check the
6879         state. Now it's calling gtk_toggle_button_paint instead.
6880         
6881 2000-12-01  Havoc Pennington  <hp@redhat.com>
6882
6883         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
6884         dangling pointers to the appearance attributes from the 
6885         line display
6886
6887         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
6888         width/height to mean "full width/height of drawable"
6889
6890         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
6891         click to select word/line
6892         
6893         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
6894         when getting log attrs. Get a slice, so that pixmaps and stuff
6895         are properly handled.
6896
6897         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
6898         paste into the selection (replaces selection now, previously
6899         crashed or added to selection). Reveals longstanding btree bug -
6900         select multiple lines, middle-click on the selection, boom. This
6901         isn't related to my changes though.
6902
6903         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
6904         PangoLogAttrs changes
6905         (gtk_entry_move_backward_word): ditto
6906
6907         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
6908         functions return bool whether the iter moved onto a
6909         dereferenceable position.
6910  
6911         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
6912         functions for motion in terms of display lines.
6913
6914         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
6915         get the buffer a mark is inside
6916         
6917 2000-12-01  Alexander Larsson  <alexl@redhat.com>
6918
6919         * gdk/linux-fb/Makefile.am:
6920         * modules/linux-fb/Makefile.am:
6921         Freetype 2 final uses freetype-config
6922
6923         * gdk/linux-fb/gdkpango-fb.c:
6924         Upgrade to use Freetype 2 final.
6925         More flexible support for font aliases, this also fixes a bug with
6926         GtkFontSelector, as the aliases must be visible in the font/family list,
6927         or GtkFontSelector reads uninitialized memory.
6928
6929 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
6930
6931         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
6932         XGetIMValues to properly terminate variable argument list, and do
6933         NULL return check for ic_values and xim_styles.
6934
6935         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
6936         Restore preedit state after XmbResetIC().
6937         
6938         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
6939         XvaCreateNestedList() should take XvaNestedList, but not
6940         XvaNestedList*.
6941
6942         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
6943         preedit_draw_callback, preedit_caret_callback): Match
6944         "preedit-changed" signal name to "preedit_changed" to be
6945         consistent to the spec.
6946
6947         * gtk/gtkimcontextsimple.c (check_table):
6948         Match "preedit-changed" to "preedit_changed" to be consistent
6949         to the spec.
6950
6951 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
6952
6953         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
6954         gc->clip_region == NULL>
6955
6956 2000-11-30  Tor Lillqvist  <tml@iki.fi>
6957
6958         Changes by Hans Breuer:
6959         
6960         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
6961         Dont't use negative width and height as max_hints. This fixes
6962         Owen's recent testgtk changes for win32.
6963
6964         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
6965         gdk_win32_hdc_release): These are exported and may be called with
6966         other drawable types than our GdkDrawableImplWin32 (?).
6967
6968         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
6969         so always #define USE_BACKING_STORE.
6970
6971         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
6972         of printf for debugging output.
6973
6974         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
6975         
6976         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
6977
6978         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
6979         declaration.
6980
6981         * gtk/gtktexttypes.h: Ditto.
6982
6983         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
6984         (GDK_VoidSymbol) also if in case of arg check failure.
6985
6986         * gtk/gtkimcontextsimple.c
6987         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
6988         position to the pointer, but to the variable it points to.
6989
6990         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
6991
6992         * gtk/gtk.def: Updates.
6993
6994 2000-11-29  Elliot Lee  <sopwith@redhat.com>
6995
6996         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
6997         GTK_TYPE_TREE_MODEL.
6998
6999 2000-11-29  Alexander Larsson  <alexl@redhat.com>
7000
7001         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
7002         Set the size of the font from the description.
7003         (gdk_text_width): Gross hack that calculates the width
7004         of text by text_length * size/2. This is necessary because
7005         GtkLabel does some ugly gtk_string_width call to calculate
7006         an good size.
7007         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
7008
7009 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
7010
7011         * docs/tutorial/gtk-tut.sgml: DND updates
7012
7013 2000-11-29  Alexander Larsson  <alexl@redhat.com>
7014
7015         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
7016         If you pass width or height == 0 to gdk_window_clear_area they
7017         should be calculated from the window size.
7018
7019 2000-11-29  Alexander Larsson  <alexl@redhat.com>
7020
7021         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
7022         a grab, but no grab-cursor, use the cursor from the grabbed
7023         window. (gdk_fb_window_send_crossing_events): Send normal
7024         enter/leave notifications if grab and owner_events == TRUE.
7025
7026 2000-11-29  Alexander Larsson  <alexl@redhat.com>
7027
7028         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
7029         Do implicit button grabs, even if the window doesn't
7030         want the event.
7031         (gdk_fb_window_send_crossing_events): If there is a
7032         grab, only the grabbed window gets normal enter/leave
7033         notifications. On ungrab go from grabbed window to current.
7034         Don't send any notification to b when propagating from c -> b.
7035         If setting a grab on window, don't set prev_window.
7036         (handle_mouse_input): Send enter/leave events to the window the
7037         mouse is over, not the grabbed one.
7038         
7039 2000-11-28  Elliot Lee  <sopwith@redhat.com>
7040
7041         * gdk/gdkregion-generic.c: Zap warning.
7042         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
7043         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
7044
7045 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
7046
7047         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
7048         The cursor should be hidden if it is part of either the
7049         source or destination region. Not only if it is in both.
7050         (gdk_window_set_transient_for): Silence warnings.
7051
7052 2000-11-28  Alexander Larsson  <alexl@redhat.com>
7053
7054         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
7055         The default mode in X is Pie Arcs, therefore that is
7056         what Gtk+ uses.
7057
7058 2000-11-28  Alexander Larsson  <alexl@redhat.com>
7059
7060         * gdk/linux-fb/gdkinput-ps2.c:
7061         Implement correct EnterNotify/LeaveNotify:
7062         (gdk_fb_window_send_crossing_events): New function that sends
7063         all GdkCrossingEvents from the last mouse-window to the specified
7064         destination.
7065         (gdk_fb_window_visibility_crossing): Removed function.
7066         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
7067         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
7068         instead of gdk_window_get_pointer() for better readability.
7069
7070         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
7071         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
7072
7073         * gdk/linux-fb/gdkprivate-fb.h:
7074         removed gdk_fb_window_visibility_crossing, added
7075         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
7076
7077         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
7078         New function that finds the least common ancestor of two windows.
7079         (gdk_window_show, gdk_window_hide):
7080         Use gdk_fb_window_send_crossing_events.
7081         (gdk_fb_window_move_resize): Send configure events to toplevel
7082         windows. Use gdk_fb_window_send_crossing_events.
7083
7084 2000-11-27  Havoc Pennington  <hp@redhat.com>
7085
7086         * gtk/gtkprivate.h (enum): Remove a trailing comma
7087
7088 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
7089
7090         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
7091         the "changed" callback of the adjustment.  We need to redraw the
7092         spin button's arrows when the adjustment's range changes.
7093         (adjustment_changed_cb): Draw the arrows.
7094         (gtk_spin_button_value_changed): Draw the arrows.
7095
7096 2000-11-23  Alexander Larsson  <alexl@redhat.com>
7097
7098         * gdk/linux-fb/gdkselection-fb.c:
7099         Initial selection implementation.
7100
7101         * gtk/gtkselection.c:
7102         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
7103         requestor in gtk_selection_request.
7104         
7105         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
7106         Added gdk_selection_property atom.
7107
7108         * gdk/linux-fb/gdkprivate-fb.h:
7109         Export _gdk_selection_window_destroyed.
7110         Removed mask_off_x/y from GdkCursorPrivateFB.
7111         Removed hbearing, added top, left to PangoFBGlyphInfo.
7112
7113         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
7114         Call _gdk_selection_window_destroyed
7115         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
7116         the root window has been created.
7117         (static_dx_hack, static_dy_hack, compare_draw_rects,
7118         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
7119         in region. They are already sorted. Instead just traverse them in
7120         reverse if draw_direction < 0.
7121         
7122         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
7123         Double-clicks must be sent after the normal button_press.
7124         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
7125         
7126         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
7127         Pass _gdk_fb_screen_gc instead of NULL.
7128
7129         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
7130         Initialize gdk_selection_property.
7131         (gdk_event_make): Remove unused code.
7132
7133         * gdk/linux-fb/gdkcursor-fb.c:
7134         Make the pixmap for the cursor the same size as the mask. Also remove
7135         the mask_off_x/y fields in GdkCursorPrivateFB and combine
7136         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
7137         Now the whole cursor is visible.
7138
7139         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
7140         Fix bug where xdest+height instead of ydest+height was used
7141         to calculate if the source and dest overlapped. This fixes the
7142         redraw bug when the main window in testgtk was scrolled when
7143         partially covered by a tall window.
7144         Copy rectangles in region in order depending on draw_direction.
7145         Also moved the draw_direction flipping of start_y and end_y into
7146         the gc functions, as this might not be what all of them want.
7147         (gdk_fb_draw_lines): Support dashed lines.
7148         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
7149         so that the text is positioned correctly (was 1 pixel high).
7150
7151         gdk/linux-fb/gdkgc-fb.c:
7152         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
7153         all lines were drawn a pixel to short. Also checked the default of
7154         the rest of the values, and they're the same as X now.
7155
7156         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
7157         Clean up pixel positioning of the glyphs. Just use bgy->top and
7158         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
7159         to all divisions to get correct rounding behaviour.
7160
7161         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
7162         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
7163         Moved start_y/end_y flip into draw_drawable implementations.
7164         Flip also x rendering when draw_direction < 0.
7165         Remove unneccesary multiply with draw_direction.
7166
7167 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
7168
7169         * docs/tutorial/gtk-tut.sgml:
7170           - get rid of gtk_toggle_button_toggled FUD
7171           - start DND section - needs work - based on:
7172                 http://wolfpack.twu.net/docs/gtkdnd/
7173
7174 2000-11-22  Alexander Larsson  <alexl@redhat.com>
7175
7176         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
7177         Correct calculation of font metrics. Now GtkEntrys have sane
7178         size.
7179
7180 2000-11-22  Alexander Larsson  <alexl@redhat.com>
7181
7182         * gdk/gdktypes.h:
7183         Add new type GdkSpan
7184         
7185         * docs/reference/gdk/gdk-sections.txt,
7186         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
7187         gdk/gdkregion.h:
7188         Implement and document gdk_region_spans_intersect_foreach.
7189
7190         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
7191         Add new file gdkrender-fb.c which contains all core
7192         rendering code.
7193         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
7194         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
7195         (optimized rectangle fillers).
7196
7197         * gdk/linux-fb/gdkdrawable-fb2.c:
7198         Move all rendering code to gdkrender-fb.c.
7199         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
7200         Use the new span intersection functions in gdk_fb_fill_spans.
7201         gdk_fb_draw_rectangle() clips filled rectangles and calls
7202         gc->fill_rectangle with the result.
7203         gdk_fb_fill_spans() gets extra argument "sorted".
7204
7205         * gdk/linux-fb/gdkevents-fb.c:
7206         Remove unused includes and defines.
7207         New function gdk_fb_get_time() to get correct time for events.
7208
7209         * gdk/linux-fb/gdkinput-ps2.c:
7210         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
7211         Make sure to set the time of all events.
7212
7213         * gdk/linux-fb/gdkmain-fb.c:
7214         Use gdk_fb_get_time ().
7215
7216         * gdk/linux-fb/gdkprivate-fb.h:
7217         New virtual GC calls: fill_span & fill_rectangle.
7218         Export gdk_fb_get_time().
7219         gdk_fb_fill_spans() gets extra argument "sorted".
7220
7221         * gdk/linux-fb/mi*.c:
7222         Use GdkSpan instead of GdkRectangle.
7223         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
7224         from XFree 4 source)
7225         
7226 2000-11-22    <jrb@redhat.com>
7227
7228         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
7229         reversing the order in an if statement will do.  Doing so managed
7230         to make the treemodelsort half work.  Other half will follow after
7231         I get the insert function fully fixed.
7232
7233 2000-11-21  Elliot Lee  <sopwith@redhat.com>
7234         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
7235         more than 2 bits. Besides, I need to implement an evil hack. :)
7236
7237 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
7238
7239         * docs/tutorial/gtk-tut.sgml: minor corrections
7240
7241 2000-11-20  Jonathan Blandford <jrb@redhat.com>
7242         * gtk/gtktreemodelsort.h: Add convertion functions to let you
7243           convert to and from relative path's and iters.
7244
7245         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
7246           testing sorting functions a bit better.  Currently broken -- will
7247           fix in morning.
7248
7249 2000-11-20  Havoc Pennington  <hp@redhat.com>
7250
7251         * gtk/gtkwidget.c: Documented a bunch of functions in here
7252         (gtk_widget_realize): Warn if you try to realize
7253         a widget with no parent that isn't a toplevel
7254         (gtk_widget_intersect): return a gboolean
7255
7256 2000-11-20  Havoc Pennington  <hp@redhat.com>
7257
7258         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
7259         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
7260         scrolling to be implemented in GDK to finish. Also, right now
7261         we just size_allocate all children on every layout change,
7262         which is pretty lame. Test commented out of testtext.c, 
7263         until it works better.
7264
7265 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
7266
7267         * gdk/linux-fb/gdkdrawable-fb2.c:
7268         Removed unused arguments from gdk_fb_drawable_get_pixel().
7269
7270         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
7271         Renamed fidur specific mouse packet data in MouseDevice to
7272         generic. Used it in ps2 mouse handling code to avoid blocking
7273         reads.
7274
7275 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
7276
7277         * demos/gtk-demo/main.c: Changed to have the list become
7278         non-italic when the demo window is destroyed through an external
7279         event (like a close button).  Doing so found three bugs in the
7280         widget.
7281
7282         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
7283
7284         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
7285         we actually set the cell.
7286
7287         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
7288
7289         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
7290         free a leaked path.  Thanks memprof.
7291
7292 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
7293
7294         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
7295         off-by-one error when destroying allocated segments
7296         on failure. (Elliot)
7297
7298 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
7299
7300         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
7301         memleaks found by Evan Martin.
7302
7303 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
7304
7305         * Released 1.3.2
7306         
7307         * NEWS: Updates for 1.3.2
7308
7309 2000-11-17  Tor Lillqvist  <tml@iki.fi>
7310
7311         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
7312         but in general for window system specific events.
7313
7314         * gtk/gtk.def
7315         * gtk/makefile.mingw.in
7316         * gtk/makefile.msc.in: Update.
7317         
7318         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
7319
7320 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
7321
7322         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
7323         distribute gtk.immodules.
7324
7325         * gtk/Makefile.am (install-data-local): Don't install the
7326         gtk.immodules file created for the uninstalled modules;
7327         instead run gtk-query-immodules after install
7328
7329 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
7330
7331         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
7332         -rpath to the right install location.
7333
7334         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
7335         -export-dynamic.
7336
7337         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
7338         properly.
7339
7340 2000-11-15  Havoc Pennington  <hp@pobox.com>
7341
7342         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
7343         patch from Mikael Hermansson to temporarily stop blinking while
7344         the user is using the keyboard to type or navigate. 
7345
7346         Also, when blinking, stay on for longer than we stay off. Also,
7347         return from start_cursor_blink if !cursor_visible, to save
7348         checking that flag all over the place before we call
7349         start_cursor_blink.
7350
7351 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
7352
7353         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
7354         only contain a "fontset" line, which is now ignored.
7355
7356         * gtk/gtkentry.c (gtk_entry_button_release): Make 
7357         double-click-to-select-word work.
7358         
7359 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
7360
7361         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
7362         Don't move back one char when we are actually at the end of the 
7363         paragraph.
7364
7365 2000-11-15  Robert Brady  <robert@suse.co.uk>
7366
7367         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
7368         'o' < 'p'.
7369         
7370         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
7371         bind_textdomain_codeset.
7372
7373         (gtk_init_check): Make the warning about translating default:LTR
7374         sterner.
7375         
7376 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
7377
7378         * **/Makefile.am : remove unecessary rules for win32-specific
7379         config-substituted targets. If you want these rules, use
7380         --enable-maintainer-mode (called automatically by autogen.sh).
7381         Stops a lot of unneccessary make-time warnings.
7382
7383         * gtk/gtktext{layout,display}.c: Factor in total width as
7384         well as screen when figuring alignment for word-wrap as well as
7385         no wrap; this is necessary to handle lines that cannot be wrapped
7386         at all.
7387
7388 2000-11-15  Havoc Pennington  <hp@redhat.com>
7389
7390         * gtk/testtext.c: Implement essential color cycling feature
7391
7392 2000-11-15  Havoc Pennington  <hp@redhat.com>
7393
7394         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
7395         when we invalidate the main window.
7396
7397         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
7398         GtkTextView will now invalidate the side windows for us when text
7399         changes.
7400
7401 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
7402
7403         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
7404         unconditionally, since we may need to update the horizontal
7405         scrollbars even if the height didn't change.
7406
7407         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
7408         the extra attrs, since some of them affect size.
7409
7410         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
7411         x_offset correctly.
7412
7413 2000-11-15  Havoc Pennington  <hp@redhat.com>
7414
7415         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
7416         don't move the first line out into the margin, instead move the
7417         whole paragraph in order to make space for the first line within 
7418         the margin
7419
7420 2000-11-15  Havoc Pennington  <hp@redhat.com>
7421
7422         * gtk/gtktextview.c (changed_handler): offset redraw rect by
7423         xoffset in addition to yoffset, so horizontal scrolling doesn't
7424         break redraws
7425
7426 2000-11-15  Havoc Pennington  <hp@redhat.com>
7427
7428         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
7429         from the cursor
7430         (render_layout_line): fix reversed test that caused weird
7431         underlines to get drawn
7432
7433 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
7434
7435         * gdk/linux-fb/gdkprivate-fb.h:
7436         Fix debug macros.
7437         
7438 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
7439
7440         * gdk/linux-fb/gdkprivate-fb.h:
7441         Added virtual functions set_pixel, get_color,
7442         fill_span and draw_drawable to the GC.
7443         Added global _gdk_fb_screen_gc to use instead of
7444         NULL when drawing to the screen.
7445         Added _gdk_fb_gc_calc_state() prototype.
7446
7447         * gdk/linux-fb/gdkgc-fb.c:
7448         Call _gdk_fb_gc_calc_state() on any gc state change.
7449
7450         * gdk/linux-fb/gdkglobals-fb.c:
7451         Add _gdk_fb_screen_gc
7452                 
7453         * gdk/linux-fb/gdkdrawable-fb2.c:
7454         _gdk_fb_gc_calc_state() calculates best functions
7455         for the GC state and depth.
7456         Moved bpp specialized code to separate functions.
7457         Added optimized 24 bpp AA draw_drawable.
7458
7459         * gdk/linux-fb/gdkevents-fb.c:
7460         Silence gcc warning.
7461
7462         * gdk/linux-fb/gdkimage-fb.c:
7463         Use _gdk_fb_screen_gc
7464
7465         * gdk/linux-fb/gdkwindow-fb.c:
7466         Init and use _gdk_fb_screen_gc
7467
7468         * gdk/linux-fb/mitypes.h:
7469         Remove unused types.
7470
7471 2000-11-14  Havoc Pennington  <hp@pobox.com>
7472
7473         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
7474         to pixels
7475
7476 2000-11-14  Havoc Pennington  <hp@pobox.com>
7477
7478         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
7479
7480         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
7481         unknown char, no real reason we were using a variable. 
7482         Remove gtk_text_unknown_char variable. Fix all the text widget
7483         files accordingly.
7484
7485         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
7486         since the Unicode spec seems to prefer that character for our
7487         purposes.
7488
7489 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
7490
7491         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
7492         value of g_getenv() isn't freeable, so g_strdup it.
7493
7494         * modules/input/inuktitut.c: Inuktitut input method.
7495
7496         * modules/input/Makefile.am: Build this.
7497         
7498 2000-11-14  Elliot Lee  <sopwith@redhat.com>
7499
7500         * gtk/Makefile.am: Install gtk.immodules, needed for operation
7501         of gtk programs.
7502
7503 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
7504
7505         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
7506         reversed > that was causing Home to go to end of previous line.
7507
7508         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
7509         modified-keypresses (leave for bindings.)
7510
7511         * modules/input/Makefile.am: Remove useless -export-dynamic
7512         from module LDFLAGS.
7513
7514 2000-11-14  Havoc Pennington  <hp@redhat.com>
7515
7516         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
7517         higher.
7518
7519         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
7520         account. Also, render rise, underline, background, etc. for
7521         pixbufs as well as text. Also, draw underlines one pixel higher.
7522
7523         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
7524         PangoAttribute for the rise, so it gets drawn properly. Also,
7525         add the GtkTextAppearance attribute for pixbuf/widget segments
7526         as well; we should go ahead and have rise, underline, background,
7527         stipple work for those
7528
7529         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
7530         Pango
7531
7532 2000-11-15  Tor Lillqvist  <tml@iki.fi>
7533
7534         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
7535
7536         * gtk/gtk.def: Update.
7537
7538         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
7539         included.
7540         (gtk_rc_get_im_module_file): Use run-time installation directory
7541         on Win32.
7542
7543         * gdk/win32/rc/gdk.rc: Remove.
7544         * gdk/win32/rc/gdk.rc.in: New file.
7545         * gdk/win32/rc/Makefile.am: New file
7546         * gdk/win32/Makefile.am: Corresponding changes.
7547
7548         * gtk/gtk.rc: Remove.
7549         * gtk/gtk-win32.rc.in: New file.
7550         * gtk/Makefile.am: Corresponding changes.
7551
7552         * configure.in: Corresponding changes.
7553
7554         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
7555         has a built gtkcompat.h. Developers using CVS code on Win32 can
7556         hand-edit it from gtkcompat.h.in.
7557
7558         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
7559         gtkcompat.h from gtkcompat.h.win32.
7560
7561 2000-11-14  Havoc Pennington  <hp@redhat.com>
7562
7563         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
7564         to default to GDK_ACTION_MOVE if the drag is within a single
7565         widget. Defaults to GDK_ACTION_COPY between widgets.
7566
7567 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
7568
7569         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
7570
7571         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
7572
7573         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
7574         srcdir != builddir
7575
7576         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
7577
7578         * configure.in (GTK_VERSION): Up to 1.3.2
7579
7580         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
7581         gtkimcontextxim.h
7582
7583         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
7584         missing doc comment.
7585
7586 2000-11-14  Alexander Larsson  <alexl@redhat.com>
7587
7588         * modules/linux-fb/basic.c:
7589         Use the glib iconv wrappers.
7590
7591 2000-11-13  Havoc Pennington  <hp@pobox.com>
7592
7593         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
7594         still more bugs.
7595
7596         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
7597         scroll the GdkWindows before realization.
7598
7599 2000-11-13  Havoc Pennington  <hp@redhat.com>
7600
7601         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
7602         where GC didn't always get updated properly
7603
7604         * demos/gtk-demo/textview.c (create_tags): Use subattributes
7605         of fonts instead of setting the entire font
7606
7607         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
7608         setting entire font
7609
7610         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
7611
7612         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
7613         a bunch of individually-settable font attributes. You can still 
7614         use the "font" and "font_desc" args, they just set all the font
7615         attributes at once.
7616
7617 2000-11-13 Elliot Lee <sopwith@redhat.com>
7618
7619         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
7620
7621 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
7622
7623         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
7624         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
7625
7626         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
7627         work better.
7628
7629 2000-11-13  Havoc Pennington  <hp@redhat.com>
7630
7631         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
7632         the module file.
7633
7634         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
7635         dest->language
7636
7637         * gtk/testtext.c: Test pixels above/below/inside paragraphs
7638         settings
7639
7640         * gtk/gtktextview.c: Implement object args and setters/getters for
7641         all the aspects of the GtkTextAttributes that are not set from
7642         GtkWidget attributes. This is spacing, justification, margins,
7643         etc.
7644
7645         (gtk_text_view_set_arg)
7646         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
7647         args
7648         (gtk_text_view_class_init): Add args for justify, left_margin,
7649         right_margin, indent, and tabs
7650         
7651
7652         * gtk/gtktextlayout.c (set_para_values): fix to display indent
7653         attribute properly
7654
7655         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
7656         replace with indent attribute
7657
7658         * gtk/gtktextlayout.c (set_para_values): multiply indent by
7659         PANGO_SCALE
7660
7661         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
7662         rearranging code to do that
7663         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
7664         i.e. don't subtract the top_margin first, just to keep
7665         all margin-futzing in one place.
7666
7667         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
7668
7669         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
7670         special case of last line, Pango now handles this itself.
7671         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
7672         Y coordinate
7673         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
7674         (find_display_line_above): wasn't moving the byte index as it
7675         iterated over lines, so always returned byte 0. Also, port to use
7676         PangoLayoutIter.
7677         (find_display_line_below): same problem as
7678         find_display_line_above. Also, port to use PangoLayoutIter.
7679
7680 2000-11-13  Alexander Larsson  <alexl@redhat.com>
7681
7682         * gdk/linux-fb/*.[ch]:
7683         Massive reindent to gtk+ standard. My hands hurt.
7684
7685         * gdk/linux-fb/gdkcolor-fb.c:
7686         Move GdkColorPrivateFB from inherited to windowing_data
7687
7688         * gdk/linux-fb/gdkcursor-fb.c:
7689         _gdk_cursor_new_from_pixmap made static
7690
7691         * gdk/linux-fb/gdkdnd-fb.c:
7692         GdkDragContextPrivate moved to windowing_data
7693
7694         * gdk/linux-fb/gdkdrawable-fb2.c:
7695         Removed endian.h, use glib endianness macros instead
7696         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
7697         and GDK_DRAWABLE_IMPL_FBDATA
7698
7699         * gdk/linux-fb/gdkfont-fb.c:
7700         Add empty gdk_font_load(). Needed for linking of Gtk+.
7701
7702         * gdk/linux-fb/gdkimage-fb.c:
7703         Removed endian.h, use glib endianness macros instead
7704         Moved GdkImagePrivateFB to windowing_data
7705         gdk_image_new_bitmap didn't always allocate enough
7706         memory.
7707
7708         * gdk/linux-fb/gdkinput-ps2.c:
7709         Added semi-working support for MS serial mice.
7710
7711         * gdk/linux-fb/gdkprivate-fb.h:
7712         s/GdkWindowPrivate/GdkWindowObject/
7713         Removed GdkWindowPrivate typedef
7714         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
7715         Removed GDK_DRAWABLE_P
7716         Move GdkColorPrivateFB from inherited to windowing_data
7717         Moved GdkImagePrivateFB to windowing_data
7718
7719         * gdk/linux-fb/gdkvisual-fb.c:
7720         Removed some unused debug code.
7721
7722         * gdk/linux-fb/gdkwindow-fb.c:
7723         Use stock cursors instead of including X headers.
7724         s/GdkWindowPrivate/GdkWindowObject/
7725
7726         * gdk/linux-fb/mitypes.h:
7727         Removed unused types.
7728
7729         * modules/linux-fb/basic.c:
7730         Use the pango fribidi wrappers.
7731
7732 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7733
7734         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
7735         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
7736         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
7737         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
7738         GEqualFunc where applicable.
7739         
7740         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
7741         pango_font_description_equal as changed in pango.
7742         
7743         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
7744
7745         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
7746
7747         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
7748
7749         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
7750
7751         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
7752
7753         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
7754
7755         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
7756         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
7757
7758         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
7759         gtk_rc_styles_compare -> gtk_rc_styles_equal.
7760
7761 2000-11-12  Havoc Pennington  <hp@pobox.com>
7762
7763         * demos/gtk-demo/Makefile.am (democodedir): change demo install
7764         dir to datadir/gtk+-2.0/demo
7765
7766         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
7767         sorts of text widget and Pango font bugs. Urgh.
7768
7769         * demos/gtk-demo/Makefile.am (demos): Add textview.c
7770
7771         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
7772         tree that you should double click to see the demo. Fix 
7773         types of variables to reflect changed return values from 
7774         GtkTreeStore and GtkTreeViewColumn constructors.
7775
7776         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
7777         newly-created buffer to prepare for GObject semantics
7778
7779         * gtk/testtext.c: don't leak the buffer with GObject semantics
7780
7781         * gtk/testtextbuffer.c: ditto
7782         
7783 2000-11-12  Havoc Pennington  <hp@pobox.com>
7784
7785         Rename this testgtk to gtk-demo to avoid confusion, and 
7786         install it so people can use it as a supplement to 
7787         the documentation.
7788         
7789         * demos/gtk-demo: Moved from demos/testgtk
7790
7791         * demos/testgtk: Removed
7792
7793         * configure.in: make Makefile in gtk-demo
7794         
7795         * demos/gtk-demo/Makefile.am: Install sample source to 
7796         datadir/gtk-demo (maybe there's a better place?), and 
7797         rename the binary to gtk-demo
7798         
7799         * demos/gtk-demo/main.c (load_file): Load installed sample
7800         source if source isn't found in pwd.
7801
7802 2000-11-09  Havoc Pennington  <hp@pobox.com>
7803
7804         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
7805         argument to set the char displayed when visibility == FALSE
7806         (gtk_entry_create_layout): If !entry->visible, replace 
7807         all chars with the "invisible char"
7808
7809         * gtk/testgtk.c: Test the invisible_char deal
7810         
7811 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
7812
7813         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
7814         can't get a native font in the right encoding.
7815
7816 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
7817
7818         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
7819         respectively.
7820
7821 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
7822
7823         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
7824         Fix warning when moving between paragraphs.
7825
7826         * gtk/gtkentry.[ch]: Change move => move_cursor, 
7827         delete => delete_from_cursor, insert => insert_at_cursor
7828
7829 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
7830
7831         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
7832
7833         * modules/input/imthai-broken.c: A Thai input method for use if
7834         Thai keys are really generating Latin1 keysyms.
7835
7836         * modules/input/Makefile.am: Build these.
7837
7838 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
7839
7840         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
7841         g_filename_{to,from}_utf8 now takes an extra parameter.
7842
7843         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
7844         strftime into UTF-8.
7845
7846         (column_from_x, gtk_calendar_paint_day_names): Support RTL
7847         calendars.
7848
7849         (gtk_calendar_paint_day_names): Draw day names in the right 
7850         place.
7851         
7852 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
7853
7854         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
7855         problem with using result of g_get_charset() backwards -
7856         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
7857
7858         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
7859         negative min_width/height and max_width/height to
7860         mean "requisition"; this allows setting a window
7861         to be user-resizable in only one direction easily.
7862
7863         * gtk/testgtk.c (create_main_window): Remove hard-coded
7864         usize - set a default size in the vertical direction.
7865
7866 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
7867
7868         * gtk/gtkrange.c: Add some missing casts. Support 
7869         2 and 3 button clicks on the arrows to mean 
7870         "move by pages" and "jump to end". (Like gtkspinbutton)
7871
7872 2000-11-12 Hans Breuer <Hans@Breuer.Org>
7873
7874         * gdk/win32/makefile.msc : reflect build module changes
7875
7876         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
7877         from GdkPixmap*, cast implementation member instead.
7878
7879         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
7880         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
7881         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
7882         more Gdi functions return value checking. 
7883         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
7884         GdkImagePrivateWin32 *.
7885
7886         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
7887         menus useable again. Add #pragma message to keep reminded on this issue.
7888         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
7889         windows. This allows to enable backing store on Win32!
7890
7891         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
7892         in drawable is of impl type. Correct specific type checks appropriate.
7893  
7894         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
7895         GDK_WINDOW_DESTROYED before allocating new resources.
7896
7897         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
7898
7899         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
7900         (gdk_window_foreign_new) initialize parent handle.
7901         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
7902
7903         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
7904         Let the GDI invalidate the window on MoveWindow call to fix scrolling
7905         problems (e.g. main buttons in testgtk). 
7906
7907 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
7908
7909         * gtk/gtkentry.c (gtk_entry_key_press): Call 
7910         gtk_widget_activate for GDK_Return.
7911
7912         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
7913         of preedit cursor position.
7914
7915 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
7916
7917         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
7918         static.
7919
7920 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
7921
7922         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
7923         out support for multiple locales; that simple doesn't
7924         work reliably with current Xlib
7925
7926         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
7927         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
7928         Add support for positioning the cursor within the preedit string.
7929
7930 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
7931
7932         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
7933         at XIM input method module.
7934
7935         * gtk/gtktextview.c: Check for bindings after passing
7936         events to im context filter.
7937
7938 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
7939
7940         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
7941         empty attribute lists properly.
7942
7943 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
7944
7945         * gtk/queryimmodules.c (main): Return non-zero exit
7946         status if errors were encountered querying any
7947         modules.
7948
7949         * modules/input/Makefile.am (moduledir): remove
7950         leftover bin program target.
7951
7952         * docs/make-todo: Fix typo in error message.
7953
7954 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
7955
7956         * configure.in: Add modules/input/Makefile
7957
7958 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
7959
7960         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
7961         don't include gtkthemes.h.
7962
7963         * gtk/testgtk.c gtk/testtext.c: Set environment variables
7964         to point
7965
7966         * gtk/Makefile.am: Add new .c and .h files, build 
7967         gtk-query-immodules and use it to create a gtk.immodules
7968         file for use of test programs.
7969
7970         * gtk/gtkpreview.c: remove extra blank line.
7971
7972 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
7973
7974         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
7975         Add the ability to add extra tables beyond the default
7976         one, and also the ability to have compose sequences 
7977         that are prefixes of other compose sequences. 
7978
7979         * gtk/gtkimcontextsimple.c: Export a preedit string which
7980         consists of possible candidates for keystrokes that have
7981         been entered but not yet committed.
7982
7983         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
7984         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
7985
7986         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
7987         Add a function to add input-method switching menu items
7988         to a menu.
7989
7990         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
7991         when switching input methods.
7992
7993         * gtk/gtkimcontextsimple.[ch]: Change the format of
7994         the compose table to allow compose tables of different
7995         lengths / sequence.
7996
7997 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
7998
7999         * gtk/gtkimmodule.[ch]: Support routines for loading
8000         GtkIMContext implementations dynamically at runtime.
8001
8002         * modules/input/imcyrillic-translit.c: A sample input
8003         method (based on GtkIMContextSimple with an extra table),
8004         which demonstrates preedit strings and the module
8005         system for input modules
8006
8007         * gtk/queryimmodules.c: Program to query the available
8008         input modules and write the results into a file.
8009          
8010         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
8011         extra config options "im_module_file" (cache file for
8012         input method modules), and "im_module_path" - path
8013         to look for modules when generating cache file.
8014
8015         This doesn't scale.
8016
8017 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
8018
8019         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
8020         generic code from gtkthemes into a new abstraction
8021         GtkModule which has the logic for implementing
8022         a loadable module which implements a number of 
8023         GObject types.
8024
8025 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
8026
8027         * gtk/gtkeditable.[ch]: Convert GtkEditable from
8028         a class into an interface  
8029         
8030         * gtk/gtkoldeditable.[ch]: Move the old editable
8031         implementation into here, so legacy widgets can
8032         still rely on the implemenation. GtkOldEditable
8033         exports GtkEditable. Make selection handling
8034         code use new text conversion functions (and
8035         handle UTF-8 as a side-effect). Use GtkClipboard
8036         for CLIPBOARD.
8037
8038         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
8039         Adopt to match above changes.
8040
8041         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
8042         avoid GtkOldEditable implementation. Restructure
8043         to reduce number of places that modify state directly.
8044         Move to GtkBindingSet. Display the preedit string.
8045         Queue recomputation of PangoLayout and scroll position
8046         to improve effiency of doing complex changes naively.
8047         Add a menu with cut/copy/paste and input method selection.
8048
8049 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
8050
8051         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
8052         to set preedit string and attributes; display preedit string by
8053         inserting string and attributes at cursor when creating the
8054         GtkTextLineDisplay.
8055
8056         * gtk/gtktextlayout.c: Move all conversions between byte
8057         positions in PangoLayout and GtkTextIter into new functions
8058         line_display_iter_to_index/index_to_iter that properly
8059         handle the preedit string.
8060
8061         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
8062         it to return const char * (eventually will end up
8063         as GCONST char *, most likely.)
8064
8065         * gtk/gtktextview.[ch]: Handle the preedit string, call
8066         gtk_im_context_reset() as necessary, add a menu to switch
8067         input methods.
8068         
8069         * gtk/gtktextlayout.[ch]: Remove useless
8070         gtk_text_layout_get_log_attrs() function.
8071
8072 2000-11-11  Tor Lillqvist  <tml@iki.fi>
8073
8074         * gdk/gdk.def
8075         * gtk/gtk.def: Update.
8076
8077         * gdk/win32/*.c: Add last argument to g_type_register_static()
8078         calls.
8079
8080         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
8081
8082         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
8083         generated by older wheel mouse drivers. Get the correct y
8084         coordinate from WM_MOUSEWHEEL messages.
8085
8086         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
8087         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
8088         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
8089         Debugging functions.
8090
8091         * gdk/win32/gdkprivate-win32.h: Declare them.
8092
8093         * gdk/win32/gdkinput-win32.h: Add declaration for
8094         gdk_input_window_destroy().
8095
8096         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
8097
8098 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
8099
8100         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
8101         function to help handle keeping things in sync.
8102
8103 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
8104
8105         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
8106         BOXED marshallers.
8107
8108         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
8109         (gtk_list_store_class_init): use the new BOXED marshallers.
8110
8111         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
8112         new_with_values to new_with_types.
8113         (gtk_tree_store_get_column_type): add this.
8114         (gtk_tree_store_class_init): use the new BOXED marshallers.
8115
8116         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
8117         mirror some POINTER marshallers.
8118
8119 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
8120
8121         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
8122         allow more interesting iterators.  Also, made the lifecycle of
8123         iterators more explicit.
8124
8125         * gtk/gtktreemodelsort.[ch]: New model for sorting.
8126
8127         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
8128         types.
8129
8130 2000-11-09  Alexander Larsson  <alexl@redhat.com>
8131
8132         * demos/testgtk/menus.c:
8133         Changes to make the new testgtk compile after
8134         gtk_menu_append was removed.
8135
8136         * gdk/linux-fb/gdkdrawable-fb2.c
8137         (gdk_fb_get_depth, gdk_fb_get_visual,
8138         gdk_drawable_impl_fb_class_init): Implement
8139         these drawable functions. Now GtkImages work again.
8140
8141         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
8142
8143         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
8144         
8145         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
8146         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
8147         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
8148         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
8149
8150 2000-11-08  Havoc Pennington  <hp@pobox.com>
8151
8152         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
8153         visible_set args, don't know where these had gone, I thought they
8154         used to be there
8155
8156         * gtk/testtext.c: Add a menu item to apply invisibility tag;
8157         now we can test the feature and see that it's totally broken.
8158
8159 2000-11-08  Havoc Pennington  <hp@pobox.com>
8160
8161         Make DND copy pixbufs and tags when source and target share a 
8162         tag table.
8163         
8164         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
8165         in-process GTK_TEXT_BUFFER_CONTENTS target
8166         (gtk_text_view_drag_data_received): Paste from
8167         GTK_TEXT_BUFFER_CONTENTS if we receive it.
8168
8169 2000-11-08  Alexander Larsson  <alexl@redhat.com>
8170
8171         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
8172         API changes.
8173
8174         * gtk/gtkmenu.c: Add support for scrolling menus.
8175         Remove gtk_menu_append/prepend/insert, these have been moved to
8176         gtkcompat.h as #defines.
8177
8178         * gtk/gtkcompat.h.in:
8179         Add compatibility #defines for gtk_menu_append/prepend/insert
8180
8181         * gtk/gtkmenu.h: Add data needed for scrolling menus.
8182         GtkMenuPositionFunc gets an extra argument push_in.
8183         gtk_menu_append/prepend/insert removed.
8184         
8185         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
8186         positioning behaviour to fit to scrolling menus.
8187
8188         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
8189         into menuitem->submeny. That is wrong, and broke torn
8190         off submenus of torn off menus, since they were unrealized
8191         when the first menu was unrealized.
8192
8193         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
8194         gtk_menu_shell_select_item() since these need to be overridden in
8195         GtkMenu.
8196
8197         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
8198         positioning behaviour to fit to scrolling menus.
8199         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
8200         the current item so that it is prelighted when the menu pops up.
8201         This is a workaround to the fact that the menu doesn't get the
8202         initial enter event (due to grabs).
8203
8204         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
8205         s/gtk_menu_append/gtk_menu_shell_append/
8206
8207         * gtk/gtknotebook.c:
8208         s/gtk_menu_insert/gtk_menu_shell_insert/
8209
8210         * gtk/testgtk.c (create_menu, create_menus):
8211         Create the first menu with 50 items so that menu scrolling
8212         can be tested.
8213         
8214         
8215         Patch from Jonathan Blandford  <jrb@redhat.com>
8216
8217         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
8218         system to handle size requests.  First, we ask what the size of
8219         the toggle is.  Then, when allocating the size, we allocate the
8220         toggle_size first.  This way we can have multiple menu-item
8221         classes w/o needing a seperate class for each.
8222
8223         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
8224         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
8225
8226         * gtk/gtkcheckmenuitem.c
8227         (gtk_check_menu_item_toggle_size_request): New function to handle
8228         the toggle size-request.
8229
8230 2000-11-07  Havoc Pennington  <hp@redhat.com>
8231
8232         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
8233         Half-ass somewhat fix this function, so that scrolling to the
8234         insertion point works. Pango hacking is in the future to really
8235         fix it.
8236
8237         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
8238         length of data, no longer used.
8239
8240         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
8241         method contents in here, get rid of destroy method
8242         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
8243         that were backward. Remove debug spew.
8244         (cut_or_copy): Make the clipboard work with insert_range to
8245         preserve tags and pixbufs, not just the primary selection.
8246
8247 2000-11-07  Havoc Pennington  <hp@redhat.com>
8248
8249         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
8250         to gtk_text_mark_get_visible
8251
8252         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
8253         bug that was generating an invalid iterator
8254
8255         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
8256         ensure_char_offsets() in front of code placing the iter in an
8257         invalid state.
8258
8259         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
8260         make override_location arg const
8261         (paste): Replace the selection if we paste into the 
8262         current selection
8263
8264         * gtk/gtkselection.h: Remove "GtkSelectioData"
8265         (struct _GtkSelectionData): move the definition here.
8266
8267         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
8268         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
8269
8270         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
8271
8272         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
8273         (gtk_text_buffer_insert_range_interactive): implement
8274         (gtk_text_buffer_get_tags): Remove, replaced by
8275         gtk_text_iter_get_tags()
8276
8277         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
8278         limit parameter, to avoid infinite linear scan.
8279         (gtk_text_iter_backward_search): Add search limit
8280         (gtk_text_iter_forward_find_char): Add search limit
8281         (gtk_text_iter_backward_find_char): Add search limit
8282
8283 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
8284
8285         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
8286         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
8287         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
8288         gdk/linux-fb/gdkwindow-fb.c:
8289         use g_object_new() instead of g_type_create_instance() which
8290         is a private function for fundamental type implementations.
8291
8292         * gdk/linux-fb/gdkinput-ps2.c:
8293         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
8294         instead just store the current modifier state. Add a (somewhat broken)
8295         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
8296         Rename exported function gdk_input_ps2_get_mouseinfo to
8297         gdk_input_get_mouseinfo.
8298
8299         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
8300         gdk/linux-fb/gdkwindow-fb.c:
8301         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
8302         
8303
8304 2000-11-02  Havoc Pennington  <hp@redhat.com>
8305
8306         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
8307         use stock buttons. Should be 100% source compatible, appropriate
8308         filesel fields now point to dialog->vbox and dialog->action_area.
8309         On the bizarre side, dialog->action_area and filesel->action_area
8310         are not the same widget.
8311         (gtk_file_selection_init): Put some padding around the selection
8312         entry, so it isn't touching the GtkDialog separator.    
8313
8314         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
8315         use stock buttons, etc. Should also be source compatible.
8316         Set the dialog default title in _init not _new().
8317         
8318         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
8319         Use stock buttons; don't put a button box inside the existing
8320         dialog button box. Don't bother with push/pop colormap anymore.
8321
8322         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
8323         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
8324         for message dialog, and necessary for the font selection and color
8325         selection with help and apply buttons.
8326         
8327         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
8328         to the created button widget. Set GTK_CAN_DEFAULT on the button.
8329         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
8330         between buttons, put less padding around the action area.
8331         (gtk_dialog_run): Exit on unmap rather than on destroy. 
8332         This will also exit the loop if the widget is hidden.
8333         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
8334         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
8335         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
8336         special-case delete event.
8337
8338         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
8339         formatting
8340         
8341 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
8342
8343         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
8344         button to temporarily disable position recording in the
8345         "saved position" test.
8346
8347 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
8348
8349         * gtk/gtkthemes.c: added compat code that temporarily implements
8350         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
8351         going to be revamped by owen's upcoming GtkModule patches, but
8352         untill then people want gtk to build, right? ;)
8353
8354 2000-11-04  Havoc Pennington  <hp@pobox.com>
8355
8356         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
8357         list
8358
8359         * docs/Changes-2.0.txt: Add note about
8360         gtk_container_get_toplevels()
8361
8362         * gtk/gtktextview.h: formatting
8363         
8364         * gtk/gtktextview.c: don't start descriptions with "Returns",
8365         confuses gtk-doc
8366
8367 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
8368
8369         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
8370         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
8371
8372 2000-11-03  Havoc Pennington  <hp@redhat.com>
8373
8374         * gtk/gtktexttagtable.c: Docs
8375         (gtk_text_tag_table_size): return a signed int
8376
8377         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
8378         (gtk_text_tag_event): make the event_object a GObject
8379
8380         * gtk/gtktextview.c: Write API docs for all functions.
8381
8382         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
8383         for gtk_text_view_get_window_type() called on one of the private
8384         windows.
8385
8386         * gtk/gtktextview.c: Instead of accessing text_view->buffer
8387         directly, call get_buffer() which demand-creates a default
8388         buffer. So gtk_text_view_new() can be used to create a view with a
8389         default buffer in it, if you just want an empty text box users can
8390         put data in. Useful for GUI builders also.
8391
8392 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
8393
8394         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
8395         the charset encodign portion MUST be in lowercase.
8396         * gtk/gtkrc.az: added file for Azeri language
8397
8398 2000-11-03  Havoc Pennington  <hp@redhat.com>
8399
8400         Get widgets working on the btree/buffer side. Display of them 
8401         still doesn't work.
8402         
8403         * gtk/gtktextview.c: start implementing child widget stuff
8404
8405         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
8406
8407         * gtk/gtktextlayout.c: handle embedded widgets
8408
8409         * gtk/gtktextdisplay.c: handle embedded widgets
8410
8411         * gtk/gtktextchild.c: Implement all the child anchor goo
8412
8413         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
8414         function
8415
8416         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
8417         (insert_pixbuf_or_widget_segment): abstract out common portions of 
8418         creating a child anchor or a pixbuf segment.
8419         (gtk_text_btree_create_child_anchor): new function
8420         (gtk_text_btree_unregister_child_anchor): new function
8421
8422         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
8423         allocate_child signal on GtkTextLayout
8424
8425         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
8426         values
8427         (gtk_text_iter_get_child_anchor): new function
8428
8429         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
8430         default handler for the changed signal, which calls
8431         gtk_text_buffer_set_modified(), instead of just always emitting
8432         changed then calling set_modified() manually. I guess this is
8433         maybe more flexible. It seems logical.
8434
8435 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
8436
8437         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
8438         now.
8439
8440         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
8441
8442 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
8443
8444         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
8445         been marked static.
8446
8447 2000-11-02  Havoc Pennington  <hp@redhat.com>
8448
8449         * gtk/testgtk.c (create_labels): had a test backward
8450
8451         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
8452         fields, so the dest GC ends up with the correct clip origin, 
8453         etc. Fixes a bug where colored labels didn't redraw 
8454         properly.
8455
8456 2000-11-02  Alexander Larsson  <alexl@redhat.com>
8457
8458         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
8459         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
8460         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
8461         Add last argument to t_type_register_static call.
8462         
8463         * gdk/linux-fb/gdkdrawable-fb2.c:
8464         Add last argument to t_type_register_static call.
8465         export the get_image drawable virtual function.
8466
8467         * gdk/linux-fb/gdkimage-fb.c:
8468         Add last argument to t_type_register_static call.
8469         rename gtk_image_get to _gdk_fb_get_image and
8470         export it for use by gdkdrawable-fb2.
8471
8472         * gdk/linux-fb/gdkprivate-fb.h:
8473         export _gdk_fb_get_image.
8474
8475         * gdk/linux-fb/gdkselection-fb.c:
8476         Add new api call stubs.
8477
8478         * gtk/Makefile.am:
8479         Missing ( in linux-fb part.
8480
8481         * modules/linux-fb/Makefile.am:
8482         Must link with gdk_pixbuf or get unresolved symbol.
8483
8484 2000-11-01  Havoc Pennington  <hp@pobox.com>
8485
8486         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
8487         GTK_TYPE_TEXT_ITER and BOXED marshallers
8488
8489         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
8490
8491         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
8492         
8493         * gtk/gtk-boxed.defs: add GtkTextIter
8494
8495         * gtk/gtkmarshal.list: Add marshallers for text widget that 
8496         properly use OBJECT and BOXED
8497
8498 2000-11-01  Havoc Pennington  <hp@redhat.com>
8499
8500         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
8501
8502         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
8503         before returning it. 
8504         
8505 2000-11-01  Havoc Pennington  <hp@redhat.com>
8506
8507         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
8508         Clip the rectangle to be rendered to the drawable, since
8509         get_from_drawable() requires a region within the drawable
8510
8511 2000-11-01  Havoc Pennington  <hp@redhat.com>
8512
8513         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
8514         from coordinates.
8515
8516 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
8517
8518         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
8519         it isn't NULL.
8520
8521 2000-11-01  Havoc Pennington  <hp@pobox.com>
8522
8523         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
8524         on a label
8525         (gtk_label_finalize): unref the attr list if any.
8526
8527         * gtk/testgtk.c (create_get_image): close test on second click
8528         (make_message_dialog): close dialog if it exists
8529
8530         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
8531
8532         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
8533         gdk-pixbuf
8534
8535         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
8536         from Pango markup format
8537         (gtk_label_set_markup_with_accel): ditto but with accelerator
8538         parsing
8539
8540         * gtk/gtkimage.c (gtk_image_expose): reformatting.
8541
8542         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
8543         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
8544         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
8545         call gdk_window_get_origin().
8546
8547         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
8548         implement GDK_PIXBUF_ALPHA_FULL
8549         
8550 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
8551
8552         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
8553         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
8554         g_signal_handlers_disconnect_matched to block/unblock and disconnect
8555         multiple handlers respectively, instead of only treating the
8556         first handler found (bug reported by owen).
8557
8558 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
8559
8560         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
8561
8562         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
8563
8564         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
8565         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
8566         gtk/gtktreeviewcolumn.h: Fixed inline docs.
8567
8568         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
8569         widget.  Needs writing someday.
8570
8571         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
8572         the docs.
8573
8574 2000-10-30  Havoc Pennington  <hp@redhat.com>
8575
8576         * gtk/gtktextview.h, gtk/gtktextview.c:
8577         Rename delete_at_cursor delete_from_cursor, and 
8578         move to move_cursor.
8579
8580 2000-10-30  Havoc Pennington  <hp@redhat.com>
8581
8582         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
8583         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
8584         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
8585         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
8586         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
8587         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
8588         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
8589         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
8590         gtktexttypes.h, gtktextview.c, gtktextview.h:
8591
8592         Massive reindentation and reformatting. Arg alignment and comments
8593         still need fixing in various places.
8594
8595 2000-10-30  Havoc Pennington  <hp@redhat.com>
8596
8597         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
8598         to be named insert_at_cursor and delete_at_cursor so C++ can
8599         handle them.
8600
8601 2000-10-28  Tor Lillqvist  <tml@iki.fi>
8602
8603         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
8604         to get a double directory separator in case the home directory
8605         ends with one. This would cause trouble especially on Windows,
8606         where the path will be confused with the syntax for an an UNC
8607         (network share) path \\server\share\path.
8608         (gtk_rc_add_initial_default_files): Ditto.
8609
8610 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
8611
8612         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
8613
8614         * gtk/gtktextview.c: Use correct marshallers.
8615
8616 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
8617
8618         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
8619         use new iter stuff, and added all the appropriate signals et al.
8620
8621         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
8622         code is internal to gtk only.
8623
8624 2000-10-28  Tor Lillqvist  <tml@iki.fi>
8625
8626         * gtk/gtk.def
8627         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
8628         glib-genmarshal etc.
8629
8630 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
8631
8632         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
8633         parallel builds.
8634
8635 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
8636
8637         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
8638
8639 2000-10-27  Robert Brady  <robert@suse.co.uk>
8640
8641         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
8642         en_GB (British), ia (Interlingua).
8643
8644 2000-10-26  Havoc Pennington  <hp@redhat.com>
8645
8646         * gtk/gtktextiter.c (my_strrstr): fix constness warning
8647
8648         Fixed output of:
8649         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
8650         
8651         * gtk/gtktextsegment.c (char_segment_new): rename
8652         (_char_segment_new_from_two_strings): rename
8653         (_toggle_segment_new): rename
8654         
8655         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
8656         (make_clipboard_widget): make it static
8657         (text_get_func): static
8658         (text_clear_func): static
8659
8660         * gtk/gtkcolorsel.c (adjustment_changed): make this function
8661         static
8662         (hex_changed): make it static
8663         (hsv_changed): make it static
8664         (opacity_entry_changed): make it static
8665
8666         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
8667         (toggle_segment_check_func): rename with _gtk
8668
8669         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
8670         (_widget_segment_new): rename
8671         (_widget_segment_add): rename
8672         (_widget_segment_remove): rename
8673         (_widget_segment_ref): rename
8674         (_widget_segment_unref): rename
8675
8676         * gtk/gtktextmark.c (_mark_segment_new): Rename
8677         _gtk_mark_segment_new   
8678
8679 2000-10-26  Havoc Pennington  <hp@redhat.com>
8680
8681         * gtk/gtkmarshal.list: add new marshallers used by the text widget
8682         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
8683         types
8684
8685         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
8686         marshaller types
8687
8688         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
8689         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
8690         license on these files.
8691
8692         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
8693         work.
8694
8695         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
8696         runtime random number different for each tree, instead of 
8697         a constant I made up.
8698
8699 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
8700
8701         * gtk/Makefile.am: buncha cleanups, kludged build sources
8702         dependencies with a Makefile: oldest-source-stamp dependancy
8703         for the moment. automake is really fighting us here, with
8704         intentionally not allowing user-defined rules or dependancies
8705         prior to it's -include $(DEP_FILES) statement. sucks rocks!
8706
8707         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
8708         to public headers. tehy have a comment stating that they are
8709         "semi-public" aren't included by gtk.h and if enums popup there,
8710         they can be /*< skip >*/-ed.
8711
8712         * gtk/gtktextlayout.h: 
8713         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
8714         added LGPL... <SIGH>
8715
8716 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
8717
8718         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
8719         GtkTreeIter.  Added iterators everywhere.
8720
8721         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
8722
8723         * gtk/gtktreeviewselection.c: Changed to use the iterators.
8724
8725         * gtk/gtktreestore.c: Changed to use the iterators.
8726
8727         * gtk/gtkliststore.c: Commented out the code.  Will convert to
8728         iterators tomorrow.
8729
8730         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
8731         iterators tomorrow.
8732
8733         * gtk/treestoretest.c: Changed to use iterators.
8734
8735         * demos/testgtk/main.c: Moved to use the new iterator system.
8736
8737 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
8738
8739         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
8740         localization misbehaviour.
8741
8742         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
8743         a useless type without copy/free.
8744
8745         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
8746         of GTK_TYPE_CTREE_NODE.
8747
8748 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
8749
8750         * gtk/gtksignal.c:
8751         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
8752         applicable.
8753
8754         * gtk/gtk-boxed.defs (GtkSelectionData): specify
8755         gtk_selection_data_copy and gtk_selection_data_free
8756         do GtkSelectionData work as params in signals.
8757
8758 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
8759
8760         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
8761         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
8762         couldn't they at least give it a non-standard name?
8763         
8764         * gtk/gtktextlayout.c: arg! yet another implementation of
8765         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
8766
8767         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
8768         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
8769         home. now i know this _is_ a conspiracy.
8770
8771         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
8772         ::state-changed.
8773
8774         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
8775         (gtk_accel_group_create_add): marshaller signature fixups.
8776
8777         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
8778         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
8779
8780         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
8781         anymore.
8782
8783 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
8784
8785         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
8786         due to the signal system changes, it wouldn't build currently. to
8787         be fixed soon.
8788
8789         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
8790
8791         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
8792         so it needs gtk_marshal_VOID__ENUM() instead of
8793         gtk_marshal_NONE__UINT().
8794
8795         * gdk/gdk*.c: adapted type registration functions.
8796
8797         * gtk/gtkbindings.c:
8798         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
8799         gone.
8800
8801         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
8802
8803         * gtk/gtkobject.c:
8804         (gtk_object_destroy):
8805         (gtk_object_shutdown): fixed recursion guards. basically we have to
8806         catch the case where any of GObject.shutdown() or gtk_object_destroy()
8807         is called during ::destroy, and avoid recursion there.
8808
8809         * gtk/gtktypeutils.c:
8810         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
8811         boxed_copy/boxed_free. this needs a more general solution based on a
8812         publically installed code-generator utility.
8813
8814         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
8815         glib's gobject has support for that now.
8816         define GtkSignalMarshaller in terms of GSignalCMarshaller.
8817
8818 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
8819
8820         * gtk/gtksignal.[hc]:
8821         * gtk/gtkmarshal.[hc]:
8822         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
8823         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
8824         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
8825         care of that.
8826
8827         * *.c: marshaller name fixups.
8828
8829         * gtk/gtkmarshal.list: added a comment briefing the format.
8830
8831 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
8832
8833         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
8834         compatibility macros here now. more specifically, most of
8835         the API is preserved (yes, _most_, nonwithstanding the
8836         following exceptions listed, the API is stil lHUGE ;)
8837         things that got removed completely:
8838         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
8839         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
8840         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
8841         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
8842         gtk_signal_remove_emission_hook().
8843         non-functional functions variants:
8844         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
8845         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
8846         not supported anymore.
8847         (gtk_signal_compat_matched): new internal function to aid
8848         implementation of the compatibility macros, it  provides
8849         functionality to block/unblock/disconnect handlers based
8850         on func/data.
8851
8852         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
8853
8854         * *.c: adaptions to new type registration API signatures.
8855
8856 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
8857
8858         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
8859
8860 2000-10-25  Robert Brady  <robert@suse.co.uk>
8861
8862         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
8863         gdk_property_delete): If window == NULL, assume the root window.
8864         (restoring the behaviour that was in 1.2).
8865         
8866         * gtk/testtext.c (save_buffer): Allow creation of new files when
8867         saving.
8868
8869         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
8870         calls to read().
8871
8872 2000-10-25  Tor Lillqvist  <tml@iki.fi>
8873
8874         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
8875
8876         * gdk/win32/gdkdrawable-win32.c
8877         * gdk/win32/gdkimage-win32.c
8878         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
8879         X11 backend.
8880
8881         * gdk/win32/gdkcc-win32.c
8882         * gdk/win32/gdkcolor-win32.c
8883         * gdk/win32/gdkfont-win32.c
8884         * gdk/win32/gdkinput-win32.c
8885         * gdk/win32/gdkmain-win32.c
8886         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
8887
8888 2000-10-24  Havoc Pennington  <hp@redhat.com>
8889
8890         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
8891         it a static function
8892
8893         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
8894         redraw text when a tag is applied to it.
8895
8896         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
8897         (gtk_text_tag_affects_nonsize_appearance): private functions to
8898         see if a tag requires various kinds of redraw/layout to be queued
8899         up.
8900
8901         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
8902
8903         * gtk/testtext.c (fill_example_buffer): Put the cursor 
8904         at the start of the buffer, so search works by default
8905
8906         * gtk/gtktextiter.c (lines_match): init match_start always
8907
8908         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
8909         function, get iter at a line + a byte index
8910
8911         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
8912         to set byte position within a line
8913         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
8914
8915 2000-10-23  Havoc Pennington  <hp@redhat.com>
8916
8917         * gtk/testtext.c: Re-enable the "find" dialog
8918
8919         * gtk/testgtk.c: Add test for gdk_drawable_get_image
8920         
8921         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
8922         the arguments to gdk_draw_drawable were in the wrong order
8923         (gdk_window_paint_init_bg): This function was ignoring the
8924         init_region, instead of clipping to it, so the entire backing
8925         pixmap was cleared on every begin_paint()
8926         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
8927         was in here again, the loop kept using the same GtkWindowPaint
8928         over and over.
8929         (gdk_window_begin_paint_region): Fix a bug where we had two
8930         x_offset instead of x_offset and y_offset
8931
8932         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
8933         before we get the image.
8934         (gdk_draw_drawable): get the composite before we draw the drawable.
8935         (gdk_drawable_real_get_composite_drawable): default
8936         get_composite_drawable implementation that returns the drawable 
8937         itself
8938
8939         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
8940         get_composite_drawable virtual function
8941
8942         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
8943         list-walking bug
8944
8945         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
8946         make this work if the source drawable is a GdkDrawableImplX11
8947         instead of a public drawable type. This is really broken; the
8948         problem is that GdkDrawable needs a virtual method get_xid(), but
8949         of course that doesn't work in practice. Enter RTTI.
8950
8951         Also, improve mismatched depth message.
8952
8953         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
8954         GdkPixmap
8955
8956         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
8957         install _gdk_x11_get_image as our implementation of get_image
8958         
8959         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
8960         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
8961
8962         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
8963         gdk_drawable_get_image
8964
8965         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
8966
8967         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
8968         get_image
8969
8970         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
8971         trailing semicolon after for loop
8972
8973 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
8974
8975         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
8976         where font_desc for widget's context lagged widget's font_desc by
8977         one step.
8978
8979 2000-10-22  Tor Lillqvist  <tml@iki.fi>
8980
8981         * gdk/win32/gdkgc-win32.c
8982         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
8983
8984         * gtk/makefile.mingw.in
8985         * gtk/gtk.def: Updates.
8986
8987         * gtk/testgtk.c: sleep() is called _sleep in MS's C
8988         library.
8989
8990         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
8991
8992         * gtk/makefile.msc: Remove
8993
8994         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
8995
8996         * gtk/Makefile.am: Add it.
8997
8998         * configure.in: Generate it.
8999
9000         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
9001         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
9002         something even if not implemented, to satisfy picky MSVC.
9003
9004         Patches by Hans Breuer:
9005         
9006         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
9007         SetBkMode() and SetTextAlign() before calling
9008         pango_win32_render().
9009
9010         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
9011         Set hcliprgn to NULL after destroying it.
9012         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
9013
9014         * gdk/win32/gdkgeometry-win32.c
9015         (_gdk_windowing_window_queue_antiexpose): More effective
9016         implementation.
9017
9018         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
9019         depth as default, not the visual's.
9020
9021         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
9022         against empty title.
9023
9024         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
9025         IMAGE_PRIVATE_DATA.
9026
9027         * gdk/win32/gdkimage-win32.c: Use it.
9028
9029 2000-10-22  Robert Brady  <robert@suse.co.uk>
9030
9031         * configure.in: Check for bind_textdomain_codeset
9032
9033         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
9034         present, make use of it.
9035
9036         Add a translatable string "default:LTR" which, if translated
9037         to "default:RTL", will cause the default direction to be
9038         Right-to-Left.
9039
9040         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
9041         direction if marked as flippable.
9042
9043         * gtk/gtkhscale.c: Mark widget as flippable.
9044         
9045 2000-10-04  Havoc Pennington  <hp@redhat.com>
9046
9047         * gtk/testgtk.c (create_buttons): create some stock buttons
9048         with the default accel group
9049         (create_image): test some new GtkImage features
9050         (make_message_dialog): test GtkMessageDialog
9051         (create_modal_window): fix someone's bizzarro indentation
9052
9053         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
9054         GTK_WIN_POS_CENTER_ON_PARENT. 
9055         Add "destroy with parent" setting, which means the window goes
9056         away with its transient parent.
9057         (gtk_window_get_default_accel_group): get the default accel group
9058         for the window.
9059         (gtk_window_set_destroy_with_parent): set/unset destroy with
9060         parent flag
9061         (gtk_window_read_rcfiles): invalidate icon set caches
9062         after reloading rcfiles 
9063
9064         * gtk/gtkenums.h (GtkWindowPosition): add
9065         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
9066         on its parent window when the dialog is mapped for the first time.
9067
9068         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
9069         a simple message dialog class
9070         
9071         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
9072         handler to emit response signal, and maybe later it would
9073         honor a hide_on_delete flag - though that isn't there yet.
9074         Set border width on the vbox to 2, so we get some padding.      
9075         Use a button box for the action area.
9076         (gtk_dialog_key_press): synthesize a delete event if Esc
9077         is pressed and the GtkWidget key press handler didn't 
9078         handle the escape key.
9079         (gtk_dialog_new_with_buttons): new function creates a dialog
9080         with some default buttons in it.
9081         (gtk_dialog_add_action_widget): add an activatable widget
9082         as a button in the dialog - you can also add a non-activatable
9083         widget by accessing the action area directly.
9084         (gtk_dialog_add_button): add a simple button - stock ID or 
9085         label - to the action area
9086         (gtk_dialog_response): emit response signal
9087         (gtk_dialog_run): block waiting for the dialog, return 
9088         the response. Override normal delete_event behavior, so that 
9089         delete_event does nothing inside gtk_dialog_run().
9090
9091         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
9092         emitted when an action widget is clicked or the dialog gets
9093         delete_event
9094
9095         * gtk/gtk.h: add gtkmessagedialog.h
9096
9097         * gtk/Makefile.am: add gtkmessagedialog.[hc]
9098
9099 2000-10-18  Havoc Pennington  <hp@redhat.com>
9100
9101         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
9102         where any number of empty lines would get skipped
9103
9104         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
9105         edge.
9106
9107         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
9108         warning about invalid iterators (explain more thoroughly)
9109         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
9110
9111         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
9112         big
9113
9114         * demos/*.c: Add error handling
9115
9116         * gtk/gtktextbuffer.c: don't modify const iterators
9117
9118         * gtk/gdk-pixbuf-loader.c: Add full error handling here
9119
9120         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
9121         on file load
9122
9123         * gtk/gtkiconfactory.c: Update to reflect addition of error
9124         handling to gdk-pixbuf loaders
9125
9126 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
9127
9128         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
9129         move to new modularized testgtk.
9130
9131 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
9132
9133         * gtk/gtktreeview.c: Draw the arrows correctly.
9134
9135         * gtk/gtktreemodel.c: Added user docs.
9136
9137         * gtk/gtk.h: remove gtktreedatalist.h.
9138
9139         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
9140         parent when generating my type.
9141
9142         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
9143         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
9144
9145 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
9146
9147         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
9148         GtkTreeModel from object to interface.
9149
9150 2000-10-16  Havoc Pennington  <hp@redhat.com>
9151
9152         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
9153         compilation
9154
9155 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
9156
9157         * gtk/gtktreeselection.c: Add API documentation to all public
9158         functions.
9159
9160         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
9161         functions.
9162
9163 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
9164
9165         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
9166         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
9167         docs to all public functions.
9168
9169         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
9170         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
9171         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
9172         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
9173         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
9174         issue.
9175
9176 2000-10-14  Robert Brady  <robert@suse.co.uk>
9177
9178         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
9179
9180 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
9181
9182         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
9183         values other then G_TYPE_STRING.
9184         * gtk/gtktreeselection.c: Minor commenting updates.
9185         * gtk/gtktreeview.c: Format updates.
9186
9187 2000-10-09  Tor Lillqvist  <tml@iki.fi>
9188
9189         * README.win32: Update.
9190
9191         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
9192         lines that had been deleted by mistake (?).
9193
9194         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
9195         also the case fg==white and bg==black (but still not randomly
9196         coloured cursors). Thanks to Wolfgang Sourdeau.
9197
9198         * gdk/win32/*.c: Silence gcc -Wall.
9199
9200         * gtk/gtk.def: Add missing entry points.
9201
9202         Fixes by Hans Breuer:
9203
9204         * gdk/makefile.msc
9205         * gdk/win32/makefile.msc: Update.
9206
9207         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
9208         some MSVC thing, presumably), cause breakpoint on failures. Add
9209         GDK_NOR case. Call g_log_set_always_fatal.
9210
9211         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
9212         should be pased by reference.
9213         
9214         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
9215         
9216         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
9217
9218         * gdk/win32/gdkevents-win32.c
9219         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
9220
9221         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
9222         implementation object.
9223
9224         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
9225         not just windows.
9226         
9227         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
9228         Use the wrapper object.
9229         
9230 2000-10-06  Havoc Pennington  <hp@redhat.com>
9231
9232         * Makefile.am (SRC_SUBDIRS): contrib subdir
9233
9234         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
9235         so it can be used in Xlib version
9236
9237         * demos/testpixbuf.c (update_timeout): error checking from 1.0
9238         tree
9239
9240         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
9241         change from 1.0 tree that returns first frame of animation
9242         if the loaded file is an animation.
9243
9244         * contrib: add new directory to hold stuff that comes with GTK+
9245         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
9246         
9247         * configure.in: add contrib/*
9248
9249 2000-10-05  Havoc Pennington  <hp@redhat.com>
9250
9251         * demos/testpixbuf-save.c: add pixbuf save test
9252
9253         * demos/Makefile.am: add testpixbuf-save.c
9254
9255 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
9256
9257         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
9258         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
9259         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
9260         * gtk/gtktreeselection.[ch]: Replaced
9261         "node_selected"/"node_unselected" signal with "selection_changed"
9262         signal.
9263
9264 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
9265
9266         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
9267         tree widget.
9268
9269 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
9270
9271         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
9272         drawing.
9273
9274 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
9275
9276         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
9277         Move list pointer forwards before removing item from
9278         list. (Crash reported by Salmaso Raffaele)
9279
9280         * gdk/gdkwindow.h: Remove spurious trailing ,
9281
9282         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
9283         dependencies on uninstalled libraries, sorry folks.
9284
9285 2000-10-04  Havoc Pennington  <hp@redhat.com>
9286
9287         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
9288         gtk/gtkiconfactory.c: Fix copyrights    
9289
9290         * demos/testpixbuf.c: add inline pixbuf test
9291         
9292 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
9293
9294         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
9295         Add gdk_window_iconify.
9296
9297         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
9298         (gdk_window_set_geometry_hints): Add win_gravity
9299         to geometry structure.
9300
9301         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
9302         Implement _NET_WM_PING.
9303
9304         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
9305         Set _NET_WM_PID on the client leader.
9306
9307         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
9308         Handle UTF-8 better.
9309
9310         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
9311         UTF-8 better, set _NET_WM_NAME as well. Only set
9312         icon name if it hasn't previously been explicitely 
9313         set.
9314
9315 2000-10-03  Havoc Pennington  <hp@redhat.com>
9316
9317         * gtk/testtextbuffer.c: clean up trailing whitespace,
9318         add extensive tests for tag toggle iteration.
9319         
9320         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
9321         distance
9322
9323         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
9324         optimize case where the tag root is on level 1
9325         (gtk_text_line_previous_could_contain_tag): attempt to implement
9326         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
9327         functionality
9328
9329         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
9330         Implement this, though not very efficiently.
9331
9332         * gtk/gtktextiterprivate.h: reformat
9333
9334         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
9335         iterator
9336
9337         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
9338         this to properly revalidate the iterators.
9339
9340         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
9341         properly at the end of the line (and therefore on empty lines)
9342
9343         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
9344         maybe we should return a value...
9345
9346 2000-10-03  Tor Lillqvist  <tml@iki.fi>
9347
9348         * config.h.win32: Guard definition of alloca(). glib.h now handles
9349         that.
9350
9351         * gdk/gdk.def
9352         * gtk/gtk.def: Add new entry points.
9353
9354         Changes just to make GTK+ build without errors on Win32. No hope
9355         of it working in its current state, though...:
9356         
9357         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
9358         some functions from the X11 backend, just to make GTK+ build.
9359
9360         * gdk/makefile.mingw.in
9361         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
9362         number. Add new object files.
9363
9364         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
9365         GetMessageTime to get timestamp (where on X11 uses
9366         gdk_x11_get_server_time()).
9367
9368 2000-10-02  Havoc Pennington  <hp@pobox.com>
9369
9370         * gtk/gtktextview.c: text_window_* weren't static and should have
9371         been.
9372         Start work on child widgets; not yet complete, syncing to 
9373         office computer.
9374
9375         * gtk/gtktextchild.h: change this to contain a public interface,
9376         starting work on child interfaces.
9377         * gtk/gtktextchildprivate.h: move private interfaces here
9378
9379         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
9380
9381         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
9382         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
9383         gtk/gtktextmark.c: copyright notices
9384
9385         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
9386         internal functions      
9387
9388         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
9389         internal function
9390
9391         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
9392         Reformatting    
9393
9394 2000-09-30  Havoc Pennington  <hp@pobox.com>
9395
9396         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
9397         NULL start/end pointers
9398
9399         * gtk/gtktextbuffer.c: Write some docs
9400         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
9401         NULL, so you can just check whether there's a selection.        
9402
9403         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
9404         cleanup_line or segments_changed ourselves, it gets done 
9405         in unlink_segment
9406
9407         * gtk/gtktextmark.h:
9408         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
9409         
9410         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
9411
9412         * gtk/gtktextmark.c: delete some more old Tk cruft
9413
9414         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
9415         mark before removing it, so we can emit MARK_DELETED with a valid
9416         pointer.
9417         (gtk_text_buffer_mark_set): hold ref across signal emission
9418
9419         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
9420         whining about attempts to delete special marks
9421
9422         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
9423         underscore, since it's internal.
9424
9425         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
9426         now implemented in terms of iterators in gtktextiter.h
9427
9428         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
9429         New function, destructively sets contents of buffer. Also 
9430         a convenient way to clear the buffer by setting text to ""
9431
9432         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
9433         multiline string literal
9434
9435         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
9436         text changes.
9437
9438         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
9439         is not dereferenceable
9440         (gtk_text_iter_forward_lines): fix return value
9441
9442 2000-09-29  Havoc Pennington  <hp@redhat.com>
9443
9444         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
9445
9446         * gtk/gtktextview.c: Implement drag thresholding; change functions 
9447         that set border window size to have nicer name
9448         (gtk_text_view_mark_set_handler):  Fix this to have the 
9449         right signature.
9450
9451         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
9452
9453         * gtk/testtext.c: Update with API changes, put line numbers on 
9454         both sides.
9455         
9456         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
9457         with this
9458
9459         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
9460         pixbuf; delete a big block of #if 0 Tk code
9461
9462         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
9463         insert_pixmap with insert_pixbuf
9464
9465 2000-09-29  Martin Baulig  <baulig@suse.de>
9466
9467         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
9468         confusion with the GdkPixbuf of the GNOME 1.x platform.
9469
9470 2000-09-29  Havoc Pennington  <hp@pobox.com>
9471
9472         * gtk/gtktextview.c: Implement the side windows.
9473
9474         * gtk/testtext.c: Implement simple line numbering in the 
9475         left side window; seems to make scrolling sloooow. Oops.
9476         Also, cursor blink is for some reason causing redraws
9477         of the line numbers. Should investigate...
9478
9479 2000-09-28  Havoc Pennington  <hp@redhat.com>
9480
9481         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
9482         scrolling child windows, and draw focus rectangle properly.
9483         
9484         (gtk_text_view_buffer_to_window_coords):
9485         Coordinate transformation to deal with all these freaking windows
9486         and offsets
9487         (gtk_text_view_window_to_buffer_coords): transform the other way
9488
9489         * gtk/testtext.c (create_buffer): Update to match Pango API change
9490
9491         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
9492         anonymous tags
9493         (foreach_unref): don't emit remove signal from finalize, just
9494         set tag's parent to NULL
9495
9496 2000-09-26  Havoc Pennington  <hp@redhat.com>
9497
9498         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
9499         Fix some warnings       
9500
9501 2000-09-26  Havoc Pennington  <hp@redhat.com>
9502
9503         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
9504         headers into the private header list
9505
9506         * Makefile.am (pkgconfig_DATA): install pkg-config files
9507
9508         * configure.in: add pkg-config files
9509
9510         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
9511
9512         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
9513         outstanding icon caches on theme change.
9514
9515         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
9516         important types:
9517
9518         (GtkIconSource): Specification for creating a pixbuf 
9519         appropriate for a direction/state/size triplet from 
9520         a source pixbuf or filename
9521
9522         (GtkIconSet): List of GtkIconSource objects that are used to
9523         create the "same" icon (e.g. an OK button icon), and cache for
9524         rendered icons
9525
9526         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
9527         up the icon set for a given stock ID.  GTK maintains a stack of
9528         GtkIconFactory to search, and applications or libraries can add
9529         additional icon factories on top of the stack
9530         
9531         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
9532         the set of GtkIconSource specified for a given stock ID into 
9533         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
9534         RcStyle, under the specified stock ID.
9535
9536         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
9537         render_icon used to derive a GdkPixbuf from a GtkIconSource.
9538         This allows people to theme how prelight, insensitive, etc. are
9539         done.
9540
9541         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
9542         icon factories for a style, and return the resulting 
9543         icon set if any.
9544
9545         (gtk_style_render_icon): Render an icon using the render_icon 
9546         method in the GtkStyleClass.
9547
9548         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
9549         Use the style for a given widget to look up a stock ID, get the
9550         icon set, and render an icon using the render_icon method 
9551         of the style
9552
9553         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
9554         (contains information about a stock item), the built-in stock item
9555         IDs, and functions to add/lookup stock items.
9556
9557         * gtk/stock-icons/*: Stock icons that come with GTK
9558
9559         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
9560         a button based on a GtkStockItem
9561         (gtk_button_new_accel): Takes a uline string and accel group, and
9562         installs the accelerator.
9563
9564         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
9565         image-display widget.
9566
9567 2000-09-25  Havoc Pennington  <hp@redhat.com>
9568
9569         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
9570
9571         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
9572         Fix a bug when removing node data, we didn't properly 
9573         re-splice the linked list after removing the data.
9574
9575         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
9576         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
9577
9578         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
9579
9580         * gtk/gtktextlayout.c (set_para_values): Set tab array 
9581         for the layout from the GtkTextTag.
9582
9583         * gtk/gtktexttypes.h: delete tab and search cruft, 
9584         remove g_convert() in favor of GLib version
9585
9586         * gtk/gtktexttypes.c: remove tab implementation from here,
9587         move to Pango
9588
9589         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
9590         tab stuff using new PangoTabArray from Pango
9591
9592         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
9593         unused border_width stuff
9594
9595 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
9596
9597         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
9598         glib) and now useless utf_to_latin1() latin1_to_utf()
9599
9600         * gtk/gtktextview.[ch]: Change ::move_insert and
9601         ::delete_text action signals to ::move and ::delete;
9602         create the signals with the right enumeration type,
9603         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
9604         C-v bindings, change Home, End to move to beginning/end
9605         of line, Add C-Home C-End to move to beginning/end
9606         of buffer. Change ::cut_text to ::cut_clipboard, etc;
9607         combine ::scroll_text into ::move; use new GtkSelectionData
9608         functions to simplify DND text handling.
9609         
9610         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
9611         deletion enumerations here, rename enumeration values to 
9612         be consistently plural.
9613
9614         * gtk/gtktextbuffer.c: Use new clipboard interfaces
9615         for cut/copy/paste and primary selection.
9616
9617         * gtk/gtktextbuffer.[ch]: Remove excess time and
9618         'interactive' arguments from cut/copy/paste;
9619         rename cut to cut_clipboard, etc; remove
9620         gtk_text_buffer_get_clipboard_contents().
9621
9622         * gtk/gtktextlayout.[ch]: Add 
9623         gtk_text_layout_move_iter_to_line_end() to move the iter to 
9624         line ends.
9625
9626         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
9627         Functions to set or get a UTF-8 string on the selection
9628         data.
9629
9630         * gtk/gtkclipboard.[ch]: New, simplified selection handling
9631         interfaces.
9632
9633         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
9634         created widgets - one of these is useless if we don't.
9635
9636         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
9637         a public function clear all targets registered for the
9638         widget.
9639
9640         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
9641         Never call gtk_widget_realize() - that was just asking
9642         for bizarre side-effects.
9643
9644         * gtk/gtkselection.c (gtk_selection_owner_set): Call
9645         gdk_selection_owner_set even if the widget is the
9646         same so that we reliably update the timestamp on
9647         the server.
9648
9649         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
9650         gdk_x11_get_server_time() function.
9651         
9652         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
9653         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
9654         Add some tricky filtering on serial numbers for
9655         selection clear events to fix up long-standard
9656         race condition FIXME's in gtkselection.c.
9657
9658         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
9659         routines to convert from utf8 to compound text or
9660         STRING and from a text property to UTF-8.
9661
9662         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
9663         a convenience function gdk_get_current_event_time().
9664
9665         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
9666         and free selection_data->data properly
9667
9668 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
9669
9670         * gtk/gtkthemes.c: Remove some unecessary includes.
9671
9672 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
9673
9674         * gtk/gtktextdisplay.c
9675         * gtk/gtktextlayout.c
9676         * gtk/gtktexttag.c
9677         * gtk/gtktexttag.h
9678         * gtk/testtext.c: Change the overstrike property to strikethrough,
9679         to closer match pango.
9680
9681 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
9682
9683         * gtk/gtktextview.c: Fix up visibility so that focus,
9684         cursor_visible and blink interact properly.  Reenable cursor blink
9685         which had been roughly disabled. Make blink and focus
9686         properly per-view.
9687
9688         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
9689         Add a flag for whether to display insertion cursor and
9690         a function to set the flag.
9691
9692         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
9693         get_line_y() to get_line_yrange(), to be a bit more generally
9694         useful.
9695
9696 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
9697
9698         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
9699           do stop_navigating_submenu, to clear last timeout properly.
9700           Also in gtk_menu_motion_notify move ignore_enter above
9701           the conditional to make it always happen as suggested by Owen
9702
9703 2000-09-07  Tor Lillqvist  <tml@iki.fi>
9704
9705         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
9706
9707         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
9708         w32api headers.
9709
9710         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
9711         declarations.
9712
9713         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
9714         (gdk_win32_get_colormap): A line had been deleted by mistake.
9715
9716         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
9717         (gdk_event_translate): Handle more virtual keycodes to be able to
9718         generate GDK events for Control-comma, Control-period, etc.
9719
9720         * gtk/gtk.def: Add some missing entry points.
9721
9722 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
9723
9724         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
9725         Doc comment fixing. (Mostly non-matching parameter names.)
9726
9727         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
9728         comments a little to avoid looking like a doc comment.
9729
9730         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
9731         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
9732         conversions be changed to GError?)
9733
9734         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
9735         Move private #defines into .c file.
9736
9737         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
9738         order of argument addition, remove duplicates.
9739
9740         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
9741         parent class is FrameClass, not BinClass.
9742
9743         * gtk/gtk.h: Add gtkinvisible, which was missing.
9744         (It's occasionalyl useful for client apps, if seldom.)
9745
9746         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
9747         #define.
9748
9749 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
9750
9751         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
9752         coordinates when creating window, instead of GDK-space
9753         coordinates. (Avoid BadValue on too large windows.)
9754
9755 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
9756
9757         * configure.in (use_mmx_asm): Remove conftest* after use along the
9758         lines of AC_TRY_COMPILE.        
9759         
9760         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
9761         of g_dirname, which is deprecated.
9762         (gtk_rc_parse_any): Removed calls to
9763         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
9764
9765         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
9766         Removed calls to g_hash_table_{freeze,thaw}, as they are
9767         deprecated now.
9768
9769         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
9770         instead of g_basename.
9771         
9772 2000-09-04 Elliot Lee <sopwith@redhat.com>
9773         
9774         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
9775         ANSI warning.
9776
9777 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
9778
9779         * gtk/gtkwidget.h:  Add some documenting comments about 
9780           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
9781           just as owen said on irc.
9782
9783         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
9784           set HAS_DEFAULT.  Only set it if there isn't another window
9785           holding it (a focus window which RECEIVES_DEFAULT) and only unset
9786           it if the widget is not the focused window with RECEIVES_DEFAULT.
9787           This fixes weird double default bugs in dialogs which has things
9788           call gtk_window_set_default at times.
9789
9790 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
9791
9792         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
9793         Nils Barth and David Santiago to improve submenu
9794         navigation. The patch does this by creating a triangular
9795         region from the point where the pointer leaves the
9796         menu to the submenu.  While the pointer is in
9797         that region and a timeout has not expired, events 
9798         that would cause the active submenu to change are
9799         ignored.
9800
9801 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
9802
9803         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
9804         moving a toplevel window immediately after sizing it would
9805         result in it being sized back to the old size since 
9806         impl->width, impl->height aren't updated until we hear
9807         back from the server. There is still a (longstanding) bug
9808         here that gdk_window_get_size() will give the wrong size
9809         until we do hear back.
9810
9811 2000-08-31  Havoc Pennington  <hp@redhat.com>
9812
9813         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
9814         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
9815         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
9816         Rename GtkTextStyleValues to GtkTextAttributes
9817
9818 2000-08-31  Havoc Pennington  <hp@pobox.com>
9819
9820         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
9821         for rapid testing whether an iterator is the end iterator
9822         (gtk_text_btree_new): init end line cache
9823         (gtk_text_line_is_last): use fast cached line to 
9824         see if we're the last line.
9825         (get_last_line): use cached line here too, should 
9826         speed up some random unrelated code.
9827         
9828 2000-08-30  Havoc Pennington  <hp@pobox.com>
9829
9830         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
9831         signals.
9832
9833         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
9834         delete_text signals. This allows the signals to be used for
9835         implementing undo.
9836
9837         * gtk/gtktextbuffer.c: Change signal handler signatures; 
9838         provide "interactive" argument when emitting insert_text or
9839         delete_text signal.
9840         
9841 2000-08-30  Havoc Pennington  <hp@pobox.com>
9842
9843         * gtk/gtktextbuffer.c: Docs
9844
9845 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
9846
9847         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
9848         from switch statements, since Tor removed the enumeration
9849         value.
9850         
9851         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
9852         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
9853
9854 2000-08-29 Elliot Lee <sopwith@redhat.com>
9855         * */*.h: Use G_GNUC_CONST.
9856
9857 2000-08-27  Havoc Pennington  <hp@pobox.com>
9858
9859         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
9860         minor indentation fixes, inserted some FIXME about stuff I
9861         realized was broken while documenting it.
9862         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
9863         GTK convention  
9864
9865 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
9866
9867         * gtk/testgtk.c (create_styles): Fix double free of
9868         font desc.
9869
9870 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9871
9872         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
9873         
9874         * gtk/testgtk.c (create_styles): Add a test for modifying
9875         the style through gtk_widget_modify_*.
9876
9877         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
9878         a function to get the current modifier style.
9879
9880         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
9881         of the passed in GtkRcStyle instead of ref'ing it.
9882
9883         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
9884
9885 2000-08-20  Tor Lillqvist  <tml@iki.fi>
9886
9887         * gdk/gdkimage.h
9888         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
9889         shared memory image+pixmap GdkImage type, or
9890         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
9891         I am dropping that.
9892
9893         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
9894         actually call gtk_init_abi_check(), passing also
9895         sizeof(GtkWindow). Ditto for gtk_init_check(). 
9896
9897         * gtk/gtk.def
9898         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
9899         New functions, used to check that the GTK+-using code has been
9900         compiled using the correct compiler and switches. In particular,
9901         with gcc one has to use the -fnative-struct switch as GTK+ is
9902         compiled with that.
9903
9904 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
9905
9906         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
9907         ->prev fields when merging lists. (Found simultaneously
9908         by Pawel Salek and Jakub Jelinek)
9909
9910 2000-08-12  Tor Lillqvist  <tml@iki.fi>
9911
9912         * gdk/gdk.def
9913         * gtk/gtk.def: Add missing entries.
9914
9915         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
9916         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
9917
9918         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
9919         function. Dummy implementation at this point.
9920
9921         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
9922         rules. Undefine GTK_COMPILATION when compiling the test programs.
9923         
9924         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
9925
9926 2000-08-11  Tor Lillqvist  <tml@iki.fi>
9927
9928         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
9929         to convert back and forth from UTF-8 and the "system" (or "current
9930         locale") charset when necessary. Indentation/spacing cleanup.
9931
9932 2000-08-10  Havoc Pennington  <hp@redhat.com>
9933
9934         * Makefile.am (snapshot): Change the format of the snapshot
9935         version to match glib
9936
9937         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
9938         from EXTRA_DIST since it doesn't seem to exist
9939
9940 2000-08-10  Tor Lillqvist  <tml@iki.fi>
9941
9942         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
9943         version of the directory name (not the UTF-8 one) when building
9944         the path name to stat().
9945
9946 2000-08-03  Elliot Lee  <sopwith@redhat.com>
9947
9948         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
9949         PANGO_ATTR_SHAPE set.
9950
9951 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
9952
9953         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
9954         Peter Osterlund to simplify the code while keeping the
9955         functionality the same.
9956
9957 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
9958
9959         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
9960         is_viewable() test further inside the function, since removing the 
9961         window from the redraw list without clearing ->update_area
9962         was also very broken.
9963
9964 2000-08-02  Tor Lillqvist  <tml@iki.fi>
9965
9966         * configure.in: Check for <unistd.h>.
9967
9968 2000-08-01  Martin Baulig  <baulig@suse.de>
9969
9970         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
9971         to display the message that this is a development version of GTK+.
9972
9973 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
9974
9975         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
9976         was depending on widget->allocation instead of the width of text_area,
9977         which was incorrect for subclasses like GtkSpinButton.
9978
9979         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
9980         with width == 1 tests that should be width == -1.
9981
9982 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
9983
9984         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
9985         (broken, Elliot, every single window blank on X) custom code with call
9986         to gdk_window_is_viewable() which a) prevents code duplicate and
9987         b) works. 
9988
9989 2000-07-31  Elliot Lee  <sopwith@redhat.com>
9990
9991         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
9992         to get the GDK_PARENT_ROOT() macro to work.
9993         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
9994         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
9995         of, windows that aren't shown.
9996         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
9997         pointer grab stuff.
9998
9999 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
10000
10001         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
10002           s/gtk_main_iteration/g_main_iteration/
10003
10004           Did this already in change:
10005                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
10006           don't know how it got reverted.
10007
10008 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
10009
10010         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
10011         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
10012
10013         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
10014         not gdk_pixbuf.
10015
10016 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
10017
10018         * configure.in,po/{sp,sr}.po: Added Serbian files
10019
10020 2000-07-30  Tor Lillqvist  <tml@iki.fi>
10021
10022         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
10023
10024         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
10025         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
10026         GIOChannel implementation.
10027
10028         * gdk/win32/gdkinput.c
10029         * gdk/win32/gdkpango-win32.c: Update license name here, too.
10030
10031         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
10032         definition to match prototype.
10033
10034         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
10035
10036 2000-07-27  Elliot Lee  <sopwith@redhat.com>
10037
10038         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
10039         function, to allow handling image formats that cannot be detected
10040         by looking at content alone.
10041
10042 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
10043
10044         * docs/tutorial/*.gif *.jpg *.eps
10045           Update these to the same look-n-feel.
10046           Why does including images in DocBook suck so badly?
10047
10048 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
10049
10050         * gtk/gtktable.c: applied patch from Phil Thompson
10051         <phil@river-bank.demon.co.uk> that enables space settings for
10052         the last row/columns as well.
10053
10054 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
10055
10056         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
10057         updates the license headers to the GNU Lesser General Public License,
10058         as well as updating the copyright year to 2000.
10059
10060 2000-07-26  Robert Brady  <rwb197@zepler.org>
10061
10062         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
10063           and po/Makefile, was installing and looking for them under gtk20
10064           and gtk2 respectively.
10065
10066 2000-07-25  Havoc Pennington  <hp@redhat.com>
10067
10068         * gtk/testtext.c: Comment out some stuff that depends on the rest
10069         of my patches.
10070
10071 2000-07-25  Havoc Pennington  <hp@redhat.com>
10072
10073         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
10074         buffer
10075
10076 2000-07-25  Havoc Pennington  <hp@redhat.com>
10077
10078         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
10079         widget changes.
10080
10081         * gtk/gtktextview.h: To be consistent with usage of "line"
10082         throughout the API to mean "newline-terminated thingy", change
10083         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
10084         to MOVEMENT_LINE.
10085
10086         (GtkTextView): Add flags for default editability, and whether to
10087         show the cursor. Add functions to get/set that. Add 
10088
10089         (gtk_text_view_get_iter_location): new function
10090
10091         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
10092         gtktextlayout.h
10093         (g_convert): Add g_convert temporarily, will go in glib in a bit
10094         
10095         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
10096         GtkTextTagTableForeach instead of brokenly using GHFunc.
10097         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
10098
10099         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
10100         moved to public header.
10101
10102         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
10103         "invisible", since "elide" was a bad name.
10104         (gtk_text_tag_get_priority): Added
10105
10106         (GtkTextStyleValues): put this in public header, along with
10107         functions to use it.
10108
10109         * gtk/gtktextmarkprivate.h: Include more headers, since we no
10110         longer include gtktextbtree.h.
10111
10112         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
10113         gtk_text_mark_deleted
10114
10115         * gtk/gtktextlayout.h: Don't include the "really private" headers,
10116         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
10117         to make this possible. Now we only need to install
10118         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
10119         (However the Makefile.am isn't changed yet because of the
10120         logistics of merging gtk-hp-patches piecemeal)
10121
10122         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
10123         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
10124         gtk_text_iter_get_line is now used in the public API for a
10125         different purpose.
10126
10127         * gtk/gtktextiter.h: Clean up function names to be more
10128         consistent. Always call char offset "offset" and byte index
10129         "index". A "line" is always a line number. 
10130
10131         (gtk_text_iter_is_last): new function, more efficient than 
10132         the existing way to check
10133         (gtk_text_iter_is_first): new function, also more efficient
10134
10135         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
10136
10137         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
10138         gtk_text_iter_forward_char, etc.
10139
10140         (gtk_text_iter_forward_to_tag_toggle): Renamed from
10141         forward_find_tag_toggle, since this isn't a linear search
10142
10143         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
10144
10145         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
10146         New functions, search for a buffer substring.
10147
10148         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
10149         interactive and default editable (since we need to store that info
10150         until we receive the selection data).
10151
10152         Remove all the _at_char and at_line etc. versions of functions;
10153         only have iterator versions.
10154
10155         Add _interactive() versions of functions, that consider the
10156         editability of text. (FIXME add interactive flag to the 
10157         insert/delete signals per Darin's suggestion)
10158
10159         (gtk_text_buffer_get_tag_table): new function, demand-creates the
10160         tag table if necessary
10161
10162         Remove declaration of gtk_text_buffer_get_iter_from_string
10163
10164         (_gtk_text_buffer_get_btree): private/internal function, added.
10165         
10166
10167         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
10168         (gtk_text_line_is_last): new function
10169
10170 2000-07-25  Havoc Pennington  <hp@redhat.com>
10171
10172         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
10173         using GtkProgressBar. See Changes-2.0.txt for details.
10174
10175         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
10176         "pulse_step" which are the equivalent of
10177         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
10178         Implement new API.
10179         
10180         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
10181         (use_text_format) to mark whether text set on the progress bar is
10182         a format string. Deprecate entire GtkProgress interface.
10183
10184         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
10185         (gtk_progress_build_string): make this a no-op if use_text_format
10186         is FALSE
10187
10188         * docs/Changes-2.0.txt: Describe progress bar changes.
10189
10190 2000-07-25  Tor Lillqvist  <tml@iki.fi>
10191
10192         * Makefile.am: Include the build directory.
10193
10194         * configure.in: Generate build/Makefile, build/win32/Makefile,
10195         gdk/, gdk/win32/, and gtk/makefile.mingw.
10196
10197         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
10198         Add GETTEXT_PACKAGE.
10199         
10200         * gdk/gdk.def
10201         * gtk/gtk.def: Updates.
10202
10203         * gdk/gdkfont.h
10204         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
10205         need them any longer.
10206
10207         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
10208
10209         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
10210         PANGOWIN32_LIBS and gdk_pixbuf.
10211
10212         * gdk/win32: Compiles, but no doubt doesn't work at all.
10213
10214         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
10215
10216         * gdk/win32/gdkinput.c: New file, temporarily.
10217         
10218         * gdk/win32/gdkinput-win32.h: New file
10219
10220         * gdk/win32/gdkinputprivate.h: Remove.
10221
10222         * gdk/win32/gdkpango-win32.c: New file.
10223
10224         * gtk/makefile.mingw.in: New file
10225
10226         * gtk/makefile.cygwin: Removed
10227         
10228         * gtk/Makefile.am: Update accordingly.
10229
10230         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
10231         made externally visible.
10232
10233         * gtk/gtkmain.c: Use it.
10234         
10235         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
10236         is enough.
10237
10238         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
10239
10240 2000-07-24 Elliot Lee <sopwith@redhat.com>
10241         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
10242         individual backends already.
10243         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
10244         again. Yes, there really is a good reason for this, if you are using the gdkregion
10245         internals, and if you're not, why do you care?
10246         * gdk/gdkwindow.c: Fix inverted condition
10247         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
10248         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
10249         * gtk/gtkrange.c: Redraw trough when moving.
10250         * gtk/gtktypeutils.c: Fix warning by adding const cast.
10251         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
10252
10253 2000-07-23  Tor Lillqvist  <tml@iki.fi>
10254
10255         * configure.in: Check for mkstemp and sigsetjmp. Output
10256         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
10257
10258         More work on GDK for Win32. Still in an intermediate state.
10259
10260         * gdk/makefile.cygwin
10261         * gdk/win32/makefile.cygwin: Removed.
10262         
10263         * gdk/makefile.mingw.in
10264         * gdk/win32/makefile.mingw.in: New files.
10265
10266         * gdk/Makefile.am
10267         * gdk/win32/Makefile.am: Generate and distribute them.
10268
10269         * gdk/win32/gdkwindow-win32.h
10270         * gdk/win32/gdkdrawable-win32.h
10271         * gdk/win32/gdkpixmap-win32.h: New files.
10272
10273         * gdk/win32/gdkcolor-win32.c
10274         * gdk/win32/gdkcursor-win32.c
10275         * gdk/win32/gdkdrawable-win32.c
10276         * gdk/win32/gdkgc-win32.c
10277         * gdk/win32/gdkimage-win32.c
10278         * gdk/win32/gdkprivate-win32.h
10279         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
10280         Rename fields and variables called xcursor, xid, etc (these names
10281         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
10282
10283 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
10284
10285         * gtk/gtkentry.[ch]: Fix some problems with vertical
10286         alignment.
10287
10288         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
10289         char/byte confusion.
10290
10291 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
10292
10293         * gtk/gtktextview.c (changed_handler): Fix bug where
10294         redraw wasn't being done properly when height of
10295         dirty region changed.
10296
10297         * demos/Makefile.am: Remove various references to
10298         -lgmodule
10299
10300 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
10301
10302         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
10303         PangoAttrShape to reserve space for pixmaps, add 
10304         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
10305         in the display functions.
10306         
10307         * gtk/testgtk.c (create_layout): Set some more exotic
10308         scrolled window options
10309
10310         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
10311         Add function to set the shadow type of a window, to allow
10312         putting a shadow around widgets such as GtkLayout or GnomeCanvas
10313         which don't draw their own frame.
10314
10315 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
10316
10317         * docs/tutorial/package-db-tutorial.sh: New file for
10318           packaging DocBook format tutorial
10319
10320 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
10321
10322         * docs/tutorial/gtk-tut.sgml: Minor updates
10323
10324         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
10325
10326 2000-07-19  Tor Lillqvist  <tml@iki.fi>
10327
10328         * gtk/gtksignal.c: Fix C++ comment.
10329
10330         * gtk/gtkimmulticontext.c
10331         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
10332         don't return value from void functions.
10333
10334         * gtk/gtk.def: Add gtk_rc_style_unref.
10335
10336 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
10337
10338         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
10339         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
10340         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
10341         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
10342         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
10343         gtk/gtktypeutils.h: Include files outside of the extern "C"
10344         block. Makes some C++ compiler happy. Reported by Denis Vakatov
10345         <vakatov@peony.nlm.nih.gov>.
10346
10347 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
10348
10349         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
10350           Completes first pass. Hurrah!
10351
10352 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
10353
10354         * docs/tutorial/gtk-tut.sgml: More clean ups.
10355
10356 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
10357
10358         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
10359         paint the background of the text area which was accidentally
10360         removed at some point.
10361
10362         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
10363           
10364          - Move most of the functionality from the theme vtable
10365            into GtkRcStyleClass and GtkStyleClass. The moved
10366            vtable functions were changed a bit in the move to
10367            work better in their new home.
10368
10369          - Get rid of the engine and engine_data fields from
10370            GtkRcStyle and GtkStyle; instead the theme
10371            engine derives theme-specific subclasses of GtkRcStyle
10372            and GtkStyle
10373
10374          - Add extra dlsym() found entry point to themes,
10375            theme_create_rc_style().
10376
10377         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
10378         in gtk_style_real_copy.
10379
10380         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
10381         to register a type associated with an engine. (The engine
10382         won't be unloaded as there is an instance of the type.)
10383
10384
10385 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
10386
10387         * docs/tutorial/gtk-tut.sgml: Clean ups.
10388
10389 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
10390
10391         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
10392           of cleaning up to do.
10393
10394 2000-07-15  Tor Lillqvist  <tml@iki.fi>
10395
10396         * gdk/testgdk.c: New file, quick hack to test backends for
10397         pixel-by-pixel correctness of the most simple graphic operations.
10398
10399 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
10400
10401         * Really release 1.3.1
10402         
10403         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
10404         include structure.
10405
10406 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
10407
10408         * Released 1.3.1
10409
10410 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
10411
10412         * gtk/gtktextlayout.c: use FALSE for size_only most
10413         of the time when calling gtk_text_layout_get_line_display()
10414         to avoid causing double reshapes when a redraw follows
10415         immediately after.
10416
10417 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
10418
10419         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
10420         appropriate region and gdk_window_process_updates() so trough
10421         updating doesn't lag behind the window being scrolled.
10422
10423         * gdk/gdkgc.c: Make parent_class pointer static.
10424          
10425 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
10426
10427         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
10428         include <string.h>.
10429          
10430         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
10431         cut-and-paste error in computing memory offset for 4 channels.
10432
10433 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
10434
10435         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
10436         gtk_rc_append_default_pixmap_path(), since it wasn't
10437         adding an interesting path and we don't have a meaningful
10438         default for this value.
10439
10440 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
10441
10442         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
10443         gtk-config to gtk-config-2.0 move gtk_.m4 to
10444         gtk-2.0.m4
10445
10446         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
10447         gdk/Makefile.am demos/Makefile.am: Change 
10448         library names to libgtk-1.3.la, etc, so that we
10449         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
10450
10451         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
10452         gdk/Makefile.am gdk/x11/Makfile.am
10453         Move include files into /usr/include/gtk-2.0, 
10454         /usr/lib/gtk-2.0/include/
10455          
10456         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
10457         gtk/gtkintl.h: Change package for gettext from 
10458         gtk+ to gtk20. Put hack in autogen.sh to modify
10459         po/Makefile.in.in after gettextize to make this
10460         possible.
10461
10462         * gtk+.spec: Some updates, not tested.
10463
10464         * gdk-pixbuf/Makefile.am: Move loaders into
10465         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
10466
10467         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
10468         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
10469         to THEMENAME/gtk-2.0/. Move engine directory  to
10470         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
10471         
10472 2000-07-12  Tor Lillqvist  <tml@iki.fi>
10473
10474         Win32 changes, still doesn't build though.
10475
10476         * gdk/makefile.cygwin
10477         * gdk/win32/makefile.cygwin
10478         * gtk/makefile.cygwin: Updates.
10479
10480         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
10481         default values for fg and bg pixel as X11 does (0 and 1), not
10482         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
10483         Use 0 for pen width by default (treated as 1 anyway later, but for
10484         apps that might check the value in the GdkGC).
10485         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
10486         interface to gdk_gc_predraw and _postdraw.
10487
10488         * gdk/win32/gdkwin32.h
10489         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
10490
10491         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
10492         extraneous semicolon.
10493
10494         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
10495
10496         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
10497         not the Win32 bitspixel value.
10498
10499         * gdk/win32/gdkcc-win32.c:
10500         * gdk/win32/gdkcolor-win32.c 
10501         * gdk/win32/gdkprivate-win32.h
10502         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
10503         GDK object structure.
10504
10505 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
10506
10507         * docs/tutorial/gtk_tut_12.es.sgml (name): 
10508         * docs/tutorial/gtk_tut_it.sgml (name): 
10509         * docs/tutorial/gtk_tut_fr.sgml (name): 
10510         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
10511         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
10512
10513 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
10514
10515         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
10516           small changes.
10517
10518 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
10519
10520         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
10521         a bug here, never been here and never fixed anything ;(
10522         (don't segfault if tree->root_tree is NULL, which happens prior
10523         to widget realization, but puke instead).
10524
10525 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
10526
10527         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
10528         add the necessary tokens.
10529
10530         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
10531         (gtk_rc_style_to_style): copy thicknesses.
10532         (gtk_rc_init_style): apply thicknesses.
10533         (gtk_rc_parse_style): parse xthickness and ythickness.
10534
10535         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
10536
10537         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
10538         (gdk_window_new): 
10539         (_gdk_windowing_window_init): 
10540         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
10541         (gdk_pixmap_create_from_data): 
10542         (gdk_bitmap_create_from_data): 
10543         (gdk_pixmap_new): 
10544         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
10545         (gdk_image_new): 
10546         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
10547         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
10548         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
10549         (gdk_colormap_get_system): 
10550         (gdk_colormap_new): 
10551         * gdk/gdkwindow.c (gdk_window_init): 
10552         * gtk/gtkstyle.c (gtk_style_new):
10553         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
10554         * gdk/gdkpixmap.c (gdk_pixmap_init): 
10555         * gtk/gtkrc.c (gtk_rc_style_new):
10556         use g_object_new() instead of g_type_create_instance() which
10557         is a private function for fundamental type implementations.
10558
10559 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
10560
10561         * configure.in: Add check for db2html
10562
10563 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
10564
10565         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
10566         hack to set glib_debug_objects based on gtk_debug_flags.
10567
10568 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
10569
10570         * INSTALL.in: Update the Prerequisites section.
10571
10572         * Makefile.am demos/Makefile.am docs/Makefile.am
10573         docs/tutorial/Makefile.am gdk/x11/Makefile.am
10574         gdk/linux-fb/Makefile.am: Dist fixes
10575
10576 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
10577
10578         * NEWS: 10,000 foot view of 1.3.1 changes.
10579
10580 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
10581
10582         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
10583         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
10584         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
10585         gdk/x11/gdkmain-x11.c: 
10586
10587         Patch from George Lebl to add a GdkGrabStatus enumeration to use
10588         as a return value of gdk_*_grab(). Previously, we just
10589         returned the X11 values directly.
10590
10591 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
10592
10593         * gdk/x11/Makefile.am: Patch from George Lebl to 
10594         install all the headers in the right place.
10595
10596 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
10597
10598         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
10599           initial conversion to DocBook.
10600
10601 2000-07-04  Tor Lillqvist  <tml@iki.fi>
10602
10603         * README.win32: Improve a bit.
10604
10605         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
10606         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
10607         Alt+0nnn on the numpad (used to enter characters by numeric code
10608         from current DOS or ANSI codepage) working correctly, as in other
10609         Windows apps.
10610
10611         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
10612         same argument validity tests as in X11 version.
10613         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
10614
10615         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
10616         definitions in case missing from headers.
10617
10618         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
10619         destroy the window-specific cursor.
10620         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
10621         calling GetModuleHandle(NULL).
10622         (gdk_window_set_cursor): Reworked to always copy the passed cursor
10623         with CopyCursor before setting it as the window-specific
10624         cursor. It is OK for the caller to destroy the GdkCursor (and thus
10625         also its Windows cursor) after calling this function. Destroy any
10626         previous window-specific cursor.
10627
10628 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
10629
10630         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
10631         font charset is iso8859-1, not iso-8859-1.
10632
10633 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
10634
10635         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
10636         Use g_get_charset() instead of g_get_codeset().
10637
10638         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
10639         Comment out some strdup'ing functions to keep timj
10640         happy until we finish fighting this out.
10641
10642 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
10643
10644         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
10645         <= width or height.
10646
10647         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
10648         from 1.2 for parent/child states.
10649
10650         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
10651         of typos.
10652
10653         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
10654         event structures, replace with a generic axes field. Replace 
10655         deviceid/sourec with GdkDevice *device.
10656
10657         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
10658         to extract particular axis use value from event. (Also
10659         can be used for normal X/Y.)
10660
10661         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
10662         allow for arbitrary number of axes, namespace everything
10663         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
10664         everywhere.
10665
10666         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
10667         Get rid of the gdk_input_vtable setup if favor of simply
10668         defining the functions in gdkinput-none/gxi/xfree.c in
10669         a similar fashion to the way that the port structure is 
10670         done.
10671
10672         * gtk/gtkdnd.c: Fix fields of synthesized button press event
10673         for new event structures. 
10674
10675         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
10676         new device interfaces.
10677
10678 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
10679
10680         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
10681         set the initial text.
10682
10683         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
10684         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
10685         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
10686         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
10687
10688         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
10689         pango_layout_set_font_description to simplify.
10690
10691 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
10692
10693         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
10694         pango_layout_set_font_description to simplify.
10695
10696 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
10697
10698         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
10699         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
10700         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
10701
10702         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
10703         PANGO_PIXELS() macro.
10704
10705 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
10706
10707         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
10708         that returns a PangoContext owned by the widget and updated to
10709         match future changes in the widget. Also, make 
10710         gtk_widget_create_pango_layout() use this context. If we ever
10711         add a ::changed signal to PangoContext, this will make things
10712         much more convenient. 
10713
10714         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
10715         in the appropriate places instead of destroying the layouts and
10716         creating new ones.
10717
10718         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
10719         in a few strategic places.
10720
10721 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
10722
10723         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
10724         gtk_widget_size_request() on reparented child, if one. Otherwise,
10725         queue_resize() on the child never results in it getting size-requested
10726         at all.
10727
10728         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
10729         in option menus, so that (with luck) people won't copy it into
10730         their apps in the future.
10731
10732         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
10733         to gtk_option_menu_calc_size. This isn't perfect, but should fix
10734         a lot of problems with changing the size of the menu's menu
10735         items after adding it to the option menu.
10736
10737         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
10738
10739         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
10740         the text direction for a widget changes.
10741
10742         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
10743         ::direction_changed to get rid of various hacks.
10744
10745 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
10746
10747         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
10748         name.
10749
10750 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
10751
10752         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
10753         flag to the structure. Do not call XFreePixmap on pixmaps created
10754         by gdk_pixmap_foreign_new().
10755
10756 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
10757
10758         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
10759         value using GdkRGB functionality given GdkColormap and GdkColor.
10760         (name not final, waiting for inspiration.)
10761         
10762         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
10763         set the foreground/background of a GC using the GC's colormap
10764         and GdkRGB. (name not final, waiting for inspiration.)
10765
10766         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
10767         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
10768
10769         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
10770         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
10771         purely a function of the corresponding colormap. Make
10772         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
10773
10774         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
10775         gdk_pixbuf_*create_from_xpm_* in terms of
10776         gdk_pixbuf_new_from_xpm_data(), move into platform independent
10777         code.
10778
10779         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
10780         advantage of the new draw_rgb_32_image_dithalign.
10781
10782         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
10783
10784         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
10785         on each created GC.
10786
10787         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
10788
10789         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
10790         which we initialize from the drawable when the GC is created,
10791         if the drawable has a colormap.
10792
10793         * gdk/x11/gdkgc-x11.c: include string.h for memset.
10794
10795         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
10796
10797         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
10798
10799 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
10800
10801         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
10802         actually returning expose events, make sure to set
10803         the count field properly.
10804
10805         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
10806         accidentally reintroced bug which always cleared
10807         the graphics_exposures value. 
10808
10809 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
10810
10811         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
10812
10813 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
10814
10815         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
10816
10817 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
10818
10819         * docs/faq/gtk-faq.sgml: Start of Section 6.
10820
10821 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
10822
10823         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
10824         
10825         (Fixes problem with drawing childless frames. Pointed out
10826         by and a first patch from Anders)
10827         
10828         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
10829         compute a child_allocation, even if we don't have a child.
10830
10831         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
10832         Always chain to the parent's impl, even if we don't have a child.
10833
10834 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
10835
10836         * gdk/gdkrgb.c: If possible, create only a single shm segment and
10837         use multiple parts of it instead of creating a bunch of separate
10838         segments, since the maximum number of segments per system is not
10839         large. (This might be worth backporting to GTK+-1.2.x if we make a
10840         new release )
10841
10842         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
10843         structure in preparation for per-colormap GdkRGB.
10844
10845         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
10846         to False when we get EINVAL from shmget so that the caller of
10847         gdk_image_new can retry with a smaller segment size.
10848
10849 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
10850
10851         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
10852
10853 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
10854
10855         * configure.in: make the current version number 1.3.1 (binary age 0,
10856         interface age 0).
10857         
10858         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
10859         gtkcompat.h is all we want.
10860
10861         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
10862         GLib primitive types. fixed g_type_register_fundamental() argument
10863         ordering.
10864
10865         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
10866         compiles.
10867
10868         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
10869         object code cleanup, comment trigraph fixes, etc...
10870
10871 2000-06-23  Havoc Pennington  <hp@redhat.com>
10872
10873         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
10874         instead of making up a bogus name for first_para_mark
10875
10876         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
10877         0 as a context ID
10878
10879 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
10880
10881         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
10882
10883 2000-06-21  Havoc Pennington  <hp@pobox.com>
10884
10885         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
10886         we didn't check window->bg_pixmap != GDK_NO_BG.
10887
10888         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
10889         gdk-pixbuf
10890
10891 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
10892
10893         * docs/faq/gtk-faq.sgm: Move file to here.
10894           TODO: Update Makfile.am 
10895
10896 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
10897
10898         * docs/gtk-faq.sgm: Add Section 2
10899
10900 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
10901
10902         * docs/gtk-faq.sgm: New file. Start of DocBook
10903           version of the FAQ.
10904
10905 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
10906
10907         * configure.in (GDK_PIXBUF_MAJOR): Define version
10908         numbers for GDK_PIXBUF_*, as they get substituted
10909         into a header file. Need to consider versioning
10910         for gdk-pixbuf more carefully later.
10911
10912 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
10913
10914         Work with srcdir != builddir.   
10915         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
10916         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
10917         * demos/testpixbuf.c: Likewise.
10918         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
10919         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
10920         <gdk/x11/gdkx.h>.
10921         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
10922         "gdk-pixbuf.h".
10923         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
10924
10925 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
10926
10927         * TODO.xml: Change 1.4 version numbers to 2.0.
10928
10929 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
10930
10931         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
10932         fixups to GTK+ standard.
10933
10934 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
10935
10936         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
10937         gdk-pixbuf.
10938
10939         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
10940         fixups for GObject.
10941
10942         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
10943         gdk-pixbuf with GDK dependencies moved into GDK.
10944         
10945         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
10946         move gdk-pixbuf-loader here until GObject has signals.
10947
10948         * demos/: New directory of demos. Move demos from
10949         gdk-pixbuf here.
10950
10951         * demos/pixbuf-init.c: Small bit of code to check for
10952         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
10953         set GDK_PIXBUF_MODULEDIR appropriately.
10954
10955         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
10956         define which no longer makes sense.
10957
10958 2000-06-21  Havoc Pennington  <hp@redhat.com>
10959
10960         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
10961         gtk_get_default_language
10962
10963         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
10964         new function to get the default language
10965
10966         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
10967         s/gtk_text_view_style_values/gtk_text_style_values/
10968
10969         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
10970         Add a "language" field to tags.
10971
10972         (gtk_text_tag_set_arg): Fix bug in setting
10973         "bg_full_height_set" tag.
10974
10975 2000-06-21  Havoc Pennington  <hp@redhat.com>
10976
10977         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
10978         in the interfaces
10979
10980         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
10981         stuff instead when possible.
10982
10983         * gtk/gtktexttypes.h: Delete some unused constants
10984
10985         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
10986         testtextbuffer.c: use glib instead of custom unicode routines
10987
10988 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
10989
10990         * docs/es/: Removed mistakenly added generated sgml
10991
10992         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
10993         Remove outdated info files.
10994
10995         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
10996         Moved tutorial files into subdir
10997
10998         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
10999         subdir.
11000
11001         * docs/man/gtk_button.pod: Remove. (contents will be
11002         integrated into gtk-reference button page.)
11003
11004         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
11005         docs/faq/Makefile.am: Adjust for new organization
11006
11007 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
11008
11009         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
11010         not $(MKINSTALLDIRS)
11011
11012 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
11013
11014         * gtk/testgtk.c (create_text): Finish the job Elliot started
11015         of removing font setting test for text widget. (Since text widget
11016         and GdkFont are not deprecated, and cause portability problems.)
11017
11018 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
11019
11020         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
11021         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
11022         Remove use of libunicode in favor of new GLib functions.
11023
11024         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
11025         nano-x, framebuffer. The X11 include is just a hack until we get
11026         the necessary functions in gdkcolor.h, so there is no reason to
11027         add other includes of platforms.
11028
11029         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
11030         window bigger than the screen change.
11031
11032         * gtk/testgtk.c: Revert some random changes from Elliot
11033         that had no particular point and were causing testgtkrc
11034         not to function correctly.
11035         
11036         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
11037         because GdkSegment and GdkRegionBox have the same fields,
11038         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
11039         results in clearer code.
11040
11041         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
11042         gdk_input_translate_coordinates): Fix missed GdkObjectification
11043
11044 2000-06-18  Elliot Lee  <sopwith@redhat.com>
11045
11046         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
11047         * gtk/gtk{plug,socket}.h: Missed commits from previous.
11048
11049 2000-06-20  Havoc Pennington  <hp@redhat.com>
11050
11051         * modules/linux-fb/Makefile.am: Make this compile
11052         without framebuffer enabled
11053
11054         * gdk/linux-fb/Makefile.am: Add conditional to not build
11055         framebuffer unless specified in configure
11056
11057         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
11058         the size of the target instead of source if -1 was passed for
11059         width/height
11060
11061         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
11062         width/height confusion.
11063
11064 2000-06-19  Havoc Pennington  <hp@redhat.com>
11065
11066         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
11067         GDK_DRAWABLE_XID. In the future, we probably want to make it
11068         faster with G_DISABLE_CHECKS turned on.
11069
11070 2000-06-14  Havoc Pennington  <hp@redhat.com>
11071
11072         * gdk/Makefile.am: add gdkpixmap.c
11073
11074         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
11075         s/gdk_image_init/_gdk_windowing_image_init
11076
11077         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
11078         ref/unref
11079
11080         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
11081
11082         * gdk/gdkcompat.h: remove GdkWindowType compat, since
11083         GdkWindowType is now non-deprecated; 
11084         change gdk_window_get_type() compat to be
11085         gdk_window_get_window_type().
11086
11087         * gdk/gdkdnd.h: make GdkDragContext a GObject.
11088
11089         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
11090         virtual GObject. Make all functions call into the vtable.
11091         Move gdk_image_put() guts in here. Remove GdkDrawableType
11092         and gdk_drawable_get_type(), these are now GdkWindow-specific.
11093         draw_image, get_depth, get_size, set_colormap, get_colormap,
11094         get_visual added to the vtable.
11095         
11096         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
11097         GObject. Virtualize everything. 
11098         (gdk_gc_new_with_values): remove check for destroyed window,
11099         because now GdkWindow::create_gc will check this.
11100         (gdk_gc_set_values): New function to set GC values, this 
11101         was already implemented but wasn't in the header
11102
11103         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
11104
11105         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
11106         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
11107         remove _gdk_window_class; add _gdk_window_impl_get_type() and
11108         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
11109         _gdk_windowing_window_init, rename gdk_image_init to
11110         _gdk_windowing_image_init.
11111         
11112         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
11113         (gdk_draw_layout): Remove check for destroyed window, 
11114         because all the drawable methods already check it.
11115         
11116         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
11117         Add gdkpixmap.c which contains implementation of GdkDrawable
11118         virtual table (by chaining to a platform-specific implementation
11119         object).
11120         
11121         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
11122         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
11123         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
11124         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
11125         GdkColormapPrivate. 
11126
11127         * gdk/gdktypes.h: #include <glib-object.h>
11128
11129         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
11130         Move most functionality to platform-specific implementation
11131         object. GdkWindow itself now handles the backing store, then
11132         chains to the platform-specific implementation.
11133         (gdk_window_get_window_type): return GdkWindowType of the window.
11134         (gdk_window_peek_children): New routine, returns the children of 
11135         a GdkWindow
11136         (gdk_window_get_children): Was in X11-specific code and did 
11137         XQueryTree. Changed to simply return a copy of window->children; 
11138         so it can go in cross-platform code.
11139         
11140         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
11141
11142         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
11143         GdkColormap; just changed to use the new private data instead
11144         of casting to GdkColormapPrivate.
11145
11146         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
11147         gdk_cursor_new().
11148
11149         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
11150         (private data member in the GObject). 
11151         (xdnd_manager_source_filter): Function had broken 
11152         error handling, fix it (use gdk_error_trap_push).
11153
11154         * gdk/x11/gdkdrawable-x11.c: This file now implements
11155         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
11156         base class is purely for the convenience of the X port,
11157         and not part of the interface to cross-platform GDK.
11158
11159         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
11160         
11161         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
11162         specific to X, and returned by the create_gc virtual method
11163         of GdkDrawableImplX11. 
11164         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
11165         rather than gchar, this was also changed in the GdkGC vtable.
11166         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
11167         mask is 0, return immediately, instead of checking every flag.
11168         This is faster, and keeps us from segfaulting if values is NULL
11169         and the mask contains some nonzero flags.
11170
11171         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
11172         GdkWindow.
11173
11174         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
11175         GdkWindowPrivate is gone.
11176
11177         * gdk/x11/gdkim-x11.c: rename things that got renamed.
11178
11179         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
11180         remove the image_put stuff that got transferred to GdkDrawable.
11181         
11182         * gdk/x11/gdkinput.c: renamings
11183
11184         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
11185
11186         * gdk/x11/gdkpixmap-x11.c: GObject conversion
11187
11188         * gdk/x11/gdkprivate-x11.h: indentation fixes
11189
11190         * gdk/x11/gdkproperty-x11.c: renamings
11191
11192         * gdk/x11/gdkselection-x11.c: renamings
11193
11194         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
11195         implements the platform-specific "impl" object.
11196         Moved gdk_window_get_children to gdk/gdkwindow.c
11197
11198         * gdk/x11/gdkx.h: Remove all the private structs and private datas
11199         that no longer exist. Add declaration of GdkGCX11 object here.
11200         Fix all the macros to still work. 
11201
11202         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
11203         GdkDragContext from the boxed types since they are now GObjects.
11204
11205         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
11206         moved xthickness/ythickness into the instance. GtkStyleClass
11207         functions are now in the standard vtable for GtkStyle, so you have
11208         to create a GObject subclass to write a theme engine.
11209         (gtk_style_copy): fixed a leaked PangoFontDescription
11210         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
11211         can be the standard GObject function.
11212         
11213         * Throughout GTK:
11214         s/style->klass->[xy]thickness/style->[xy]thickness
11215         s/pango_layout_unref/g_object_unref/
11216
11217         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
11218         
11219         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
11220         accessing GDK internals.
11221
11222         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
11223         accessing GDK internals.
11224
11225 2000-06-18  Elliot Lee  <sopwith@redhat.com>
11226
11227         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
11228
11229         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
11230         problem by calculating event position relative to the trough
11231         rather than the slider.
11232         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
11233
11234         * gdk/gdkgc.h: Add GDK_NOR.
11235
11236         * configure.in, Makefile.am: Add modules top level dir
11237         * configure.in: Only use pangox library if building x11 target.
11238         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
11239
11240 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
11241
11242         * gtk/gtkcolorsel.c: Change private class member to be named
11243         private_data throughout the file.
11244
11245         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
11246         private_data to avoid clashing with keyword.
11247
11248 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
11249
11250         * gdk/gdkdnd.h: Add comment to remove warning.
11251
11252 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
11253
11254         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
11255         Byelorussian language; changed the Makefile and file names 
11256         to reflect that.
11257
11258 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
11259
11260         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
11261         rather than gdk_window_hide; this makes things work
11262         correctly if the window is programmatically hidden while
11263         iconified.
11264
11265 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
11266
11267         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
11268         cut and paste typo where wrong pixmap was being
11269         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
11270
11271 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
11272
11273         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
11274         Add helper function to compute format / bytes 
11275         relationship. Use in a couple places to fix up
11276         errors which assume 8 * format.
11277
11278         * gtk/gtkselection.c (gtk_selection_request): Use 32
11279         rather than 8 * sizeof (GdkAtom), to work correctly
11280         on Alpha.
11281
11282 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
11283
11284         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
11285         libgtk.la
11286         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
11287         versions
11288
11289         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
11290         checking macros return NULL since the function has a return value.
11291
11292 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
11293
11294         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
11295         GTK+ from building at all.
11296
11297         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
11298
11299 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
11300
11301         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
11302         gtk/Makefile.am: make it possible to configure gtk for different
11303         targets on the same platform. The library name is now 
11304         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
11305         flag. Only the x11 target compiles right now.
11306         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
11307         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
11308         * gdk/nanox/gdk*generic*: delete generic region code.
11309         * gdk/linux-fb/gdk*generic*: delete generic region code.
11310         * README.nanox: update information.
11311         
11312 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
11313
11314         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
11315         prepend not append. (Pointed out by Brett Hall.)
11316
11317 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
11318
11319         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
11320
11321 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
11322
11323         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
11324         need this later, and this makes sure that the atexit for
11325         glib gets called after that for GDK, so atexits are
11326         properly ordered for object leak checking.
11327
11328         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
11329
11330         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
11331         pango_x_shutdown_display()
11332
11333         * gtk/simple.c (main): Close window on destroy.
11334
11335 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
11336
11337         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
11338         to treat initial creation different from setting with 
11339         regards to the graphics-exposures parameter, so add a parameter
11340         indicating whether this is initial or not.
11341
11342 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
11343
11344         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
11345         to sort of work by adding an extra return_exposes arg
11346         to gdk_event_translate() - it might be better to simply
11347         deprecate the function altogether and force people to rewrite
11348         without it. gdk_window_scroll() handles most of it, and where
11349         gdk_window_scroll() doesn't work, simply redrawing more does.
11350
11351         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
11352         assertion.
11353
11354         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
11355
11356         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
11357         bunch of pretty much useless /* Print debugging info */ comments 
11358         which had drifted away from the code they were commenting.
11359
11360 2000-06-02  Havoc Pennington  <hp@pobox.com>
11361
11362         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
11363         is in working order.
11364         
11365         * gtk/testtext.c: Change to reflect anonymous mark API
11366
11367         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
11368
11369         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
11370         field, which was unused.
11371
11372         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
11373         saves some typing.
11374
11375         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
11376
11377         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
11378         flag on the insertion point and selection bound
11379
11380         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
11381         make mark-manipulation functions take a GtkTextMark* instead of a
11382         mark name.
11383         
11384         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
11385         GtkTextMarkBody; will be used to detect attempts to delete
11386         the permanent marks (insert and selection bound)
11387
11388         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
11389
11390 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
11391
11392         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
11393         flag to on.
11394
11395         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
11396         Honor DOUBLE_BUFFRED_FLAG
11397
11398         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
11399         function to set the DOUBLE_BUFFERED flag.
11400
11401         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
11402         or not exposes done on the widget should be double-buffered.
11403
11404         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
11405         to be what would be expected. (Fixes problem with a
11406         g_return_if_fail() validating a TextDirection enumeration)
11407
11408 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
11409
11410         * gtk/gtkwidget.c: Remove all references to 
11411         offscreen flag which was no longer used.
11412
11413         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
11414
11415         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
11416         for non-null label_widget->parent.
11417
11418         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
11419         which no longer was used.
11420
11421         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
11422
11423         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
11424         for null arguments.
11425
11426         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
11427         check for destroyed windows.
11428
11429 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
11430
11431         * gtk/gtkimmulticontext.c: Add a finalize method and unref
11432         the slave context there.
11433
11434         * gtk/gtkinvisible.[ch]: Make reference counting behavior
11435         identical to GtkWindow.
11436
11437 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
11438
11439         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
11440         pangox to here, so we can write them independent of rendering
11441         system, using GDK primitives.
11442
11443         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
11444         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
11445         since we have a rendering-system independent implementation in
11446         terms of draw_glyphs().
11447         
11448         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
11449         function to render a single line.
11450
11451         * gdk/x11/gdkpango.c: Move the guts of this file mostly
11452         into ../gdkpango.c, which simplifies things, since we
11453         don't have to deal with raw X gc's.
11454
11455 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
11456
11457         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
11458         get the logical attributes for a given GtkTextLine.
11459
11460 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
11461
11462         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
11463         g_locale_get_codeset() to g_get_codeset() change.
11464
11465 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
11466
11467         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
11468         descriptions.
11469
11470         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
11471         the entry.
11472
11473         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
11474         redoing (vastly simplifying) for Pango. Still needs quite
11475         a bit of work. (Size selection is currently poor. List of 
11476         predefined sizes is not a good idea, since all of these
11477         sizes won't necessarily be distinct.)
11478
11479 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
11480
11481         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
11482         CODESET results for LANG=C.
11483
11484 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
11485
11486         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
11487         which takes a stringized pango font description;
11488         ignore the older 'font' and 'fontset' declarations.
11489
11490         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
11491         field with a GdkFont derived via gdk_font_from_description(),
11492         for compatibility. (Should we just remove it entirely?
11493         Probably too much compatibility breakage, but people
11494         should be migrating to the new Pango stuff as quickly
11495         as possible.)
11496
11497 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
11498
11499         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
11500
11501 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
11502
11503         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
11504         redoing; there are some bugs in size allocation right
11505         now, the semi-existant distinction between header / day
11506         fonts was removed, but, with Pango, could actually
11507         be made functional in a nice way.
11508         
11509         * gtk/testcalender: Move calender from examples into this
11510         directory as a test program. (We really need to restrcture
11511         testgtk into a whole directory full of tests for every
11512         widget or functionality group, separated into multiple .c
11513         files.)
11514
11515 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
11516
11517         * gtk/testgtk.c (file_exists): Fix stupid typo that
11518         was keeping RC file from being loaded.
11519
11520         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
11521         RC file font code.
11522
11523 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
11524
11525         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
11526         Add function to load a GdkFont from a PangoFontDescription.
11527
11528 2000-05-29  Tor Lillqvist  <tml@iki.fi>
11529
11530         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
11531         variable should be of type GdkEventPrivate.
11532
11533 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
11534
11535         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
11536         to have any widget for the label, use a GtkLabel widget
11537         to display the text. (Based partially on a patch from
11538         Anders Carlson.)
11539
11540         (Quite a bit of code reorganization - strip 90% of the
11541         guts out of gtkaspectframe and add a single virtual
11542         func to GtkFrameClass - compute_child_allocation.)
11543
11544 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
11545
11546         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
11547         (Removed clist->row_center_offset field because caching
11548         it wasn't saving time or code, added private function
11549         _gtk_clist_create_cell_layout()).
11550
11551 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
11552
11553         * gtk/gtkaccellabel.c: Pangoized.
11554
11555         * gtk/[hv]ruler.c: Pangoized
11556
11557 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
11558
11559         * gtk/gtkfilesel.c (gtk_file_selection_init):
11560         Use gtk_clist_set_column_auto_resize() to remove need
11561         need for manual column width computations.
11562
11563 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
11564
11565         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
11566         ensuring Pango correctness, and considerably simplifying the
11567         code.
11568         
11569         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
11570
11571         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
11572         getting of numbers of lines.
11573
11574         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
11575         to the actual requested width of the lable, not to the wrap
11576         width we set.
11577
11578         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
11579
11580         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
11581           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
11582
11583         * gtk/gtktextview.c: Fix structure inheritance.
11584
11585         * gtk/gtkprogressbar.c: Pangoize.
11586
11587 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
11588
11589         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
11590         in a function.
11591
11592         * gtk/gtktextlayout.c (find_display_line_above): Fixed
11593         bug with computing line tops.
11594
11595         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
11596
11597 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
11598
11599         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
11600         and y_offset coordinates to do what we need now. (The offset between
11601         buffer and layout coordinates has been reintroduced, but is a 
11602         bit different than before.)
11603
11604         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
11605         handle the adjustments ourselves, and scroll as necessary using
11606         the new gdk_window_scroll().
11607         
11608         The advantage of this is that when we are incrementally revalidating,
11609         we are essentially rearranging things around the visible portion
11610         of the screen. With the old setup, the visible portion of the
11611         screen was moved around in the layout, so scrolling and redrawing
11612         to track that caused jumping of the display. Since we now
11613         control the scrolling ourselves, we can suppress this and
11614         only redraw when things actually change.
11615
11616 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
11617
11618         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
11619         the region not just redisplay it after-all, since we store the
11620         cursors in the LineDisplay. (Ugly interactions here between
11621         GtkLayout and GtkTextBTree here.)
11622         
11623         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
11624
11625 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
11626
11627         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
11628         Added function to scroll contents of a window while keeping the
11629         window constant. Works by XCopyArea or guffaw-scrolling depending
11630         on the details of how the window is set up. (guffaw-scrolling
11631         still needs to be filled in.)
11632
11633 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
11634
11635         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
11636         move the debugging that was tied to a global variable
11637         to that.
11638
11639         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
11640
11641         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
11642         validated flag, in line data instead of setting height/width to
11643         -1. This allows us to perform operations with partially invalid
11644         buffer (using the old size for invalid lines) and thus to do
11645         incremental vaidation. Keep height/width aggregates up to date
11646         when deleting text and rebalancing the tree.
11647
11648         * gtk/gtktextbtree.[ch]: Add functions validate a line
11649         (gtk_text_btree_validate_line), and to validate up
11650         to a number of pixels (gtk_text_btree_validate).
11651
11652         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
11653         that indicates that something is changed and a revalidation
11654         pass is needed. Change ::need_repaint to ::changed, and
11655         make it take old and new yranges instead of a rectangle.
11656
11657         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
11658         the line_data_destroy() function from 
11659         gtk_text_btree_add_view() to a virtual function in 
11660         GtkTextLayout
11661
11662         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
11663         since we are handling partial repaints in a different fashion
11664         now.
11665
11666         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
11667         of the selection instead of queueing a repaint on the
11668         entire widget.
11669
11670         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
11671         get_selection_bounds() down to btree, make the function
11672         in buffer a wrapper around the btree function.
11673
11674         * gtk/gtktextlayout.[ch]: Add functions to check if the
11675         layout is valid and to recompute either a range of pixels
11676         aroudn a line or a certain total number of pixels.
11677
11678         * gtk/gtktextlayout.[ch]: Cache a single line display;
11679         now that we only redraw the needed portions, the hit rate
11680         for this cache is quite high.
11681         
11682         * gtk/gtktextview.[ch]: Keep track of the first paragraph
11683         on the screen so that when re-laying-out the buffer, we can
11684         keep the same place. This requires connecting to ::value_changed
11685         on the adjustments
11686
11687         * gtk/gtktextview.[ch]: Add idle functions to revalidate
11688         the buffer after we receive an ::invalidated signal.
11689         
11690 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
11691
11692         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
11693         to max of allocation and layout size, not just to the
11694         layout size.
11695
11696         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
11697         Invalidate window so it gets redrawn properly.
11698
11699         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
11700         to mean the entire window.
11701
11702         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
11703         into public header.
11704
11705 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
11706
11707         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
11708         to get the name of a mark.
11709
11710         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
11711         to find the paragraph from a y position.
11712
11713 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
11714
11715         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
11716         nodes have width/height >= 0, not > 0.
11717
11718 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
11719
11720         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
11721         Add a size_only flag, so when we only need the size, we don't create
11722         useless appearance attributes.
11723
11724         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
11725         duplicate setting of font description.
11726
11727         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
11728
11729 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
11730
11731         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
11732         EXTRA_DIST. It does not work well when the file that
11733         everything depends on is not in the tarball.
11734
11735 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
11736
11737         * gtk/testgtk.c: Some hacks and fixes so that it basically
11738         works when not sitting in the GTK+ build tree.
11739
11740 2000-05-03  Havoc Pennington  <hp@redhat.com>
11741
11742         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
11743         Properly determine the ordering of the tag root and the current
11744         line within the tree. Previous algorithm only worked if the tag
11745         root's immediate parent was the common root of both the current
11746         line and the tag root.
11747
11748 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
11749
11750         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
11751         alignment.
11752
11753         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
11754         the widget text directional dynamically.
11755
11756         * gtk/gtktextview.[ch]: Added functions to get and set default
11757         wrap mode.
11758
11759 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
11760
11761         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
11762         in cursor location computation.
11763
11764 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
11765
11766         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
11767         vadjusment values properly when layout gets smaller.
11768
11769         * gtk/gtktextview.c (need_repaint_handler): Areas being
11770         passed in are far completely inaccurate, and sometimes
11771         too small, so, for now, just queue a redraw on the
11772         whole visible region.
11773
11774 2000-04-25  Havoc Pennington  <hp@redhat.com>
11775
11776         * gtk/gtktextbtree.c (summary_destroy): new function to 
11777         destroy tag summary nodes
11778         (gtk_text_line_next_could_contain_tag): this function was 
11779         totally broken if the line passed in wasn't below the tag
11780         root. Fix it.
11781         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
11782         "wildcard" case, we have to do a linear scan. Blah.
11783         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
11784         we have to do the linear scan
11785         (tag_removed_cb): When a tag is removed from the tag table, 
11786         remove the GtkTextTagInfo node from the btree.
11787         (gtk_text_btree_spew): Implement the spew function, for 
11788         our debugging pleasure.
11789
11790 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
11791
11792         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
11793         a problem with referring to the wrong buffer.
11794
11795         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
11796
11797         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
11798         font description to gtk_style_new() - otherwise things
11799         don't work without a .gtkrc file.
11800
11801         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
11802         tags table if we create it ourself, too.
11803
11804         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
11805         it was conflicting with XKB modifiers.
11806
11807         * gtk/gtktextview.[ch]: Add simple support for 
11808         GtkIMContext.
11809
11810 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
11811
11812         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
11813         with deletion from last commit.
11814
11815 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
11816
11817         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
11818         in the context from the current locale.
11819         
11820         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
11821         context, not hardcoded value.
11822
11823         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
11824         not logical.
11825
11826 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
11827
11828         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
11829         attributes - that doesn't handle partial-glyph selection
11830         properly. Instead use new pango_layout_line_get_x_ranges()
11831         functionality to draw the selection.
11832
11833         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
11834         now properly handles out-of-range coordinates.
11835
11836         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
11837
11838         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
11839         public.
11840
11841         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
11842         for paragraphs opposite to the base direction of the widget.
11843
11844         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
11845
11846         * gtk/gtktextlayout.c: Don't split segments on marks, since that
11847         causes Arabic words to reshape as you cursor through.
11848
11849         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
11850         cursor position when moving vertically with the arrow keys and
11851         scrolling with page-up/page-down. (Arrow keys save only the X,
11852         scrolling saves both X and Y.)
11853
11854         This means you can line-up / line-down or page-up / page-down
11855         without losing your place, and also that moving vertically
11856         with the cursor keys keeps the same X position, not the same
11857         character count:
11858
11859         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
11860         arrow keys move by display lines, not paragraphs.
11861
11862 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
11863
11864         * gtk/gtklayout.c: Make sure that the bin window is at least
11865         as big as the allocation. (Should we also make sure that the
11866         bin window is big enough to completely cover widget->window?)
11867
11868         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
11869         function to get the onscreen rectangle.
11870
11871         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
11872         for offsets in window coordinates.
11873
11874 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
11875
11876         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
11877         confusion.
11878
11879         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
11880         from the widget direction.
11881
11882         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
11883         Add a "direction" attribute.
11884
11885         * gtk/gtktextview.c: global s/tkxt/text_view/.
11886
11887         * gtk/testtext.c: Added long block of text in Arabic, to test out
11888         the direction attributes. (Some problems with the shaping system
11889         for arabic become obvious - like the fact the cursor splits words
11890         into unjoined pieces.)
11891
11892 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
11893
11894         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
11895
11896         * gtk/gtktextlayout.c: Fix up alignment.
11897
11898         * gtk/testtext.c: Add some tests for centering, wrapping.
11899
11900 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
11901
11902         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
11903         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
11904         If we wrote GTK+-specific layout-render function this could just replace
11905         the draw_layout() operation in the vtable.
11906
11907         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
11908         pango_layout_get_cursor_pos() and use that function.
11909
11910         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
11911         is a non-static symbol.
11912
11913         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
11914         with gtk_text_btree_find_line_by_y()
11915
11916         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
11917         renderer that handles GtkTextAppearance attributes.
11918
11919         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
11920
11921           - Move the values in the style that don't affect geometry into a
11922             GtkTextAppearance structure.
11923           - Change underline to take a PangoUnderline and "font" a string
11924             representation of a font description
11925           - Add a "font_desc" attribute which takes a FontDescription structure.
11926
11927         * gtk/gtktextlayout.[ch]:
11928
11929           - Get rid of the display-line list per each line. Instead, we
11930             generate, on demand, a GtkTextLineDisplay structure which]
11931             contains a PangoLayout * and other necesary information
11932             (offsets, cursor locations) for displaying a paragraph.
11933           - Get rid of the code to wrap lines, create display chunks,
11934             etc. Instead, we just go through a paragraph and convert
11935             it into the necessary inputs to a PangoLayout.
11936           - Implement a new attribute type, GtkTextAttrAppearance. This
11937             holds a GtkTextAppearance, and is used to pass colors, 
11938             stipple, etc, through from the layout to the display without
11939             having to use lots and lots of individual attributes.
11940           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
11941             in terms of PangoLayout functions.
11942         
11943         * gtk/gtktextview.c: 
11944          
11945           - Handle passing the necessary PangoContext to the layout
11946           - Some fixups in painting to deal with the automatic backing store
11947             and offsetting of GTK+-1.4
11948           - Add a style_set handler so that the default style reacts
11949             properly to theme changes.
11950         
11951         * gtk/gtktext?*.[ch]: Random code-style fixes.
11952
11953         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
11954
11955 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
11956
11957         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
11958         in original form preparatory to Pango-ization and gdkimcontext-ization.
11959
11960 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
11961
11962         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
11963         so that we can derive from gtkimcontext in language bindings properly.
11964
11965 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
11966
11967         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
11968         Add a compose table including (almost) all the compose combinations
11969         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
11970         data in the XIM implementation.
11971
11972         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
11973         Moved functions to convert keyvalues from and to unicode here from
11974         the win32 port and made them public.
11975
11976 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
11977
11978         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
11979
11980 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
11981
11982         * gtk/gtkimcontext.[ch]: Base class for new input context system
11983
11984         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
11985         the real input context implementation to be loaded from modules
11986         and switched on the fly.
11987
11988         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
11989         context that just does direct keysymbol => unicode translation.
11990
11991         * gtk/gtkentry.[ch]: Start switching editing over to using
11992         GtkInputContext. (No handling of preedit yet.)
11993
11994 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
11995
11996         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
11997         many substitutions. (klass should not be subsituted.)
11998
11999 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
12000
12001         * configure.in: Add checks for Pango
12002
12003         * configure.in docs/Makefile.am: Add test for sgml2html
12004         and allow 'make dist' without building html, but print out
12005         warnings in that case. (For making snapshots)
12006
12007         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
12008         Add Pango libraries and C flags
12009
12010         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
12011         Add function (gdk_draw_layout) to draw a pango layout.
12012
12013         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
12014         for getting Pango contexts for GDK.
12015
12016         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
12017
12018         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
12019         editing.
12020
12021         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
12022         keysym => unicode translations. More languages can be added
12023         here, but real input-method support is needed.
12024
12025         * docs/Changes-1.4.txt: Added note about entry behavior.
12026         
12027         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
12028         to set the reading direction for a widget and the global direction.
12029         Add test which allows toggling the global direction. Two private
12030         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
12031
12032         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
12033           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
12034
12035         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
12036
12037         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
12038         underlining now handled by Pango.
12039
12040         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
12041         to RCStyle and Style. (Having both this and the old font name and GdkFont 
12042         is temporary.)
12043
12044         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
12045         convenience functions for creating contexts and layouts for widgets.
12046
12047         * gtk/testgtk.c: Enhance label tests with multilingual labels.
12048
12049 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
12050
12051         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
12052         titles to be active, even if they aren't visible.
12053         (gtk_clist_column_titles_passive):  Ditto.
12054
12055 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
12056
12057         * gtkmenu.c:
12058         * gtkmenu.h:
12059         * gtktypeutils.h: Spelling/grammar fixes in comments.
12060
12061 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
12062
12063         * gdk/nanox/*.h: add missing header files.
12064
12065 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
12066
12067         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
12068         send_event to TRUE.
12069         (gtk_drawing_area_size): queue a resize.
12070
12071 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
12072
12073         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
12074         the handlers, also invalidate them. bug nailed down by Karl Nelson
12075         <kenelson@ece.ucdavis.edu>.
12076
12077 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
12078
12079         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
12080         "(nil)" foundries, patch from Grigorios Magklis.
12081
12082         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
12083         on non-available fonts, based on a patch by Grigorios Magklis
12084         <maglis@cs.rochester.edu>.
12085
12086 2000-05-18  Elliot Lee  <sopwith@redhat.com>
12087
12088         * gdk/x11/gdkregion-generic.c: If a region does not have any
12089         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
12090         instead of GDK_OVERLAP_RECTANGLE_IN.
12091
12092 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
12093
12094         * gtk/gtklayout.c (gtk_layout_map): Remove references to
12095         OFFSCREEN, as it is no longer necessary.
12096
12097 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
12098
12099         * gtk/gtkcolorsel.c: Patch from David Santiago
12100         <mrcooger@cyberverse.com> to change things so that the 
12101         indicator of the active palette entry is done independently,
12102         not via the focus, since it should always be visible.
12103
12104 2000-05-17  Tor Lillqvist  <tml@iki.fi>
12105
12106         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
12107         refcount leaks as in the X11 backend.
12108
12109         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
12110         cosmetics.
12111
12112         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
12113         backend. Add _gdk_windowing_window_destroy().
12114
12115         * gtk/gtkcolorsel.c: Include correct backend-specific header.
12116         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
12117         either, but these probably do exist on nanox?)
12118         
12119         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
12120         which isn't necessarily defined by <math.h>.
12121
12122         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
12123         ancestry past GtkObject.
12124
12125         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
12126         from DLL on Win32.
12127
12128         * gtk/gtk.def: Update corresponding to recent changes.
12129
12130         * gtk/makefile.{cygwin,msc}: Updates.
12131
12132 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
12133
12134         * docs/Changes-1.4.txt: A bit of editing.
12135
12136         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
12137         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
12138         to clear the update area for the window, and clear it
12139         when hiding a window.
12140
12141         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
12142         if window destroyed.
12143
12144         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
12145
12146         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
12147         gdk_window_destroy() to the generic code, since there was a lot of 
12148         window-system-independent logic it in. Add a function:
12149         
12150          _gdk_window_destroy() 
12151
12152         to the internal API to destroy a window without unreferencing it.
12153         Add a function:
12154
12155          _gdk_windowing_window_destroy()
12156
12157         That does the windowing-system-dependent part of destroying 
12158         the window.
12159
12160 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
12161
12162         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
12163
12164 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
12165
12166         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
12167         Make gtk_widget_shape_combine_mask() keep a reference count on
12168         the pixmap since it keeps it around.
12169
12170 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
12171
12172         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
12173         leak.
12174
12175         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
12176         leak with event filters.
12177
12178 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
12179
12180         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
12181         signal handlers with the right data arguments. (Fixes
12182         some warnings when a widget was repeatedly set as a drag
12183         destination.)
12184
12185         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
12186         window so we can avoid avoid setting the DND properties on the
12187         toplevel window repeatedly.
12188
12189 2000-05-13  Tor Lillqvist  <tml@iki.fi>
12190
12191         * gdk/win32/gdkwin32.h: Define more message types missing from
12192         mingw headers.
12193
12194         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
12195         call gdk_window_destroy_notify(). It was never called. This
12196         probably meant that the GdkWindow was never freed. Thanks Owen for
12197         noticing (!).
12198
12199         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
12200         window as destroyed before calling DestroyWindow(). DestroyWindow()
12201         causes a call to the window procedure (gdk_WindowProc), which
12202         calls gdk_event_translate(), which calls
12203         gdk_window_destroy_notify(), which gets confused unless the window
12204         is set as destroyed.
12205
12206         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
12207         this function to indicate it's win32 only. Put inside #ifdef
12208         G_ENABLE_DEBUG.
12209
12210         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
12211         debugging function. (gdk_event_translate:) Add a default branch
12212         that uses the above function to print debug messages with all
12213         Windows messages symbolically.
12214
12215         * gdk/win32/gdkprivate-win32.h: Declare it, and
12216         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
12217
12218 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
12219
12220         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
12221         public header file.
12222
12223 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
12224
12225         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
12226
12227         * gtk/gtktext.c: made the adjustments no-construct args, simply
12228         provide default adjustments.
12229         (gtk_text_destroy): release adjustments.
12230
12231         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
12232         adjustment argument non-construct.
12233
12234         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
12235         instead of in finalize.
12236         (gtk_progress_get_text_from_value): 
12237         (gtk_progress_get_current_text): 
12238         (gtk_progress_set_value): 
12239         (gtk_progress_get_percentage_from_value): 
12240         (gtk_progress_get_current_percentage): 
12241         (gtk_progress_set_percentage): 
12242         (gtk_progress_configure): ensure an adjustment is present.
12243
12244 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
12245
12246         * gtk/gtkcolorsel.[hc]:
12247         * gtk/gtkcolorseldialog.[hc]:
12248         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
12249         their parent implementation, use bit fields for boolean values, don't
12250         create unused widgets, usage of glib types, braces go on their own
12251         lines, function argument alignment, #include directives etc. etc. etc..
12252
12253         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
12254
12255 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
12256
12257         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
12258
12259         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
12260         of NULL.
12261
12262         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
12263         to freed data.
12264         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
12265
12266         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
12267         to NULL when the toplevel is getting destroyed.
12268         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
12269         (gtk_menu_destroy): 
12270         (gtk_menu_init): store the information of whether we have to
12271         readd the initial child ref_count during destruction in a new
12272         GtkMenu field needs_destruction_ref_count.
12273
12274         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
12275         here, those reading: learn from my mistake! ;)
12276         in order for set_?adjustment to support a default adjustemnt if
12277         invoked with an adjustment pointer of NULL, the code read (pseudo):
12278         if (v->adjustment) unref (v->adjustment);
12279         if (!adjustment) adjustment = adjustment_new ();
12280         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
12281         now imagine the first unref to actually free the old adjustment and
12282         adjustment_new() creating a new adjustment from the very same memory
12283         portion. here, the latter comparision will unintendedly fail, and
12284         all hell breaks loose.
12285         (gtk_viewport_set_hadjustment):
12286         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
12287         after unreferencing it.
12288
12289         * gtk/gtkcontainer.[hc]: removed toplevel registration
12290         functions: gtk_container_register_toplevel(),
12291         gtk_container_unregister_toplevel() and
12292         gtk_container_get_toplevels() which had wrong semantics
12293         anyways: it didn't reference and copy the list.
12294
12295         * gtk/gtkwindow.c: we take over the container toplevel registration
12296         bussiness now. windows are registered across multiple destructions,
12297         untill they are finalized. the initial implicit reference count
12298         users are holding on windows is removed with the first destruction
12299         though.
12300         (gtk_window_init): ref & sink and set has_user_ref_count, got
12301         rid of gtk_container_register_toplevel() call. add window to
12302         toplevel_list.
12303         (gtk_window_destroy): unref the window if has_user_ref_count
12304         is still set, got rid of call to
12305         gtk_container_unregister_toplevel().
12306         (gtk_window_finalize): remove window from toplevel list.
12307         (gtk_window_list_toplevels): new function to return a newly
12308         created list with referenced toplevels.
12309         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
12310
12311         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
12312         adjustment a non-construct arg.
12313         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
12314         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
12315         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
12316
12317         * gtk/gtkrange.c: added some realized checks.
12318         (gtk_range_destroy): get rid of the h/v adjustments in the
12319         destroy handler instead of finalize. remove timer.
12320         (gtk_range_get_adjustment): demand create adjustment.
12321
12322         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
12323         we simply create them on demand now and get rid of them in
12324         the destroy handler.
12325         (gtk_viewport_destroy): get rid of the h/v adjustments in the
12326         destroy handler instead of finalize.
12327         (gtk_viewport_get_hadjustment): 
12328         (gtk_viewport_get_vadjustment): 
12329         (gtk_viewport_size_allocate): demand create h/v adjustment
12330         if required.
12331
12332         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
12333         gtk_widget_real_destroy () functionality.
12334         (gtk_widget_real_destroy): reinitialize with a new style, instead
12335         of setting widget->style to NULL.
12336
12337 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
12338
12339         * gtk/gtkcalendar.c:
12340         * gtk/gtkbutton.c: ported _get_type() implementation over to
12341         GType, either to preserve memchunks allocation facilities,
12342         or because Gtk+ 1.0 GtkTypeInfo was still being used.
12343
12344         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
12345         over. prepare for ::destroy to be emitted multiple times.
12346         removed reference tracer magic. chain into GObjectClass.shutdown()
12347         to emit ::destroy signal.
12348
12349         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
12350         fundamental.
12351
12352         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
12353         cludge.
12354
12355         * gtk/gtksocket.c:
12356         * gtk/gtkplug.c:
12357         * gtk/gtklayout.c:
12358         * gtk/gtklabel.c:
12359         * gtk/gtkargcollector.c:
12360         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
12361         not being a fundamental anymore, and to work with the new
12362         type system (nuked fundamental type varargs clutter).
12363
12364         * gtk/*.c: install finalize handlers in the GObjectClass
12365         part of the class structure.
12366         changed direct GTK_OBJECT()->klass accesses to
12367         GTK_*_GET_CLASS().
12368         changed direct object_class->type accesses to GTK_CLASS_TYPE().
12369
12370         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
12371         GType. made most of the GTK_*() type macros and Gtk* typedefs
12372         simple wrappers around macros and types provided by GType.
12373         most notably, a significant portion of the old API vanished:
12374         GTK_TYPE_MAKE(),
12375         GTK_TYPE_SEQNO(),
12376         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
12377         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
12378         GTK_TYPE_ARGS,
12379         GTK_TYPE_CALLBACK,
12380         GTK_TYPE_C_CALLBACK,
12381         GTK_TYPE_FOREIGN,
12382         GtkTypeQuery,
12383         gtk_type_query(),
12384         gtk_type_set_varargs_type(),
12385         gtk_type_get_varargs_type(),
12386         gtk_type_check_object_cast(),
12387         gtk_type_check_class_cast(),
12388         gtk_type_describe_tree(),
12389         gtk_type_describe_heritage(),
12390         gtk_type_free(),
12391         gtk_type_children_types(),
12392         gtk_type_set_chunk_alloc(),
12393         gtk_type_register_enum(),
12394         gtk_type_register_flags(),
12395         gtk_type_parent_class().
12396         replacements, where available are described in ../docs/Changes-1.4.txt.
12397         implemented compatibility functions for the remaining API.
12398
12399         * configure.in: depend on glib 1.3.1, use gobject module.
12400
12401 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
12402
12403         * TODO.xml: Various updates to current status.
12404
12405 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
12406
12407         * gtk.m4: Print out version when test succeeds.
12408
12409 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
12410
12411         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
12412         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
12413         
12414         (Original triangle color selector from Simon Budig
12415         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
12416         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
12417         Santiago <mrcooger@cyberverse.com>)
12418
12419         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
12420         out into a separate widget.
12421
12422         * gtk/testgtk.c: Add some checkbuttons for toggling palette
12423         and opacity controls.
12424
12425 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
12426
12427         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
12428         snuck in prematurely.
12429
12430 2000-05-07  Tor Lillqvist  <tml@iki.fi>
12431
12432         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
12433         had deleted a ! operator by mistake, which caused
12434         GDK_SELECTION_CLEAR events never to be generated, which caused
12435         only the first copy to the clipboard from an gtkeditable to
12436         actually cause a copy to the Windows clipboard.
12437
12438 2000-05-06  Tor Lillqvist  <tml@iki.fi>
12439
12440         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
12441         compilation, too. Current mingw gcc distributions include the
12442         necessary headers. Also the necessary IIDs are now in mingw
12443         headers/libraries, and own definitions unnecessary.
12444
12445         More hacking on OLE2 DND, still doesn't work though, and thus
12446         ifdeffed out.
12447
12448         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
12449         here, too.
12450
12451 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
12452
12453         * gdk/nanox/*: nano-X port work in progress.
12454         * gdk/simple.c: simple test for Gdk.
12455         * README.nanox: notes about the port: read this first!
12456         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
12457         with nano-X.
12458
12459 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
12460
12461         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
12462         gdk_window_clear() into common code, implement in terms of
12463         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
12464         not redirected to the backing rectangle.
12465
12466 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
12467
12468         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
12469         EXTRA_DIST. It does not work well when the file that
12470         everything depends on is not in the tarball.
12471
12472 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
12473
12474         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
12475         with recursion where process_updates() is called from
12476         an expose handler. (GtkTextView is highly broken in
12477         doing this, but it should work, so it is a nice test
12478         case.)
12479
12480 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
12481
12482         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
12483         handle the case where updates are queued during processing of
12484         updates.
12485
12486 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
12487
12488         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
12489         window is on gdk_display - use that instead of segfaulting.
12490
12491 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
12492
12493         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
12494         broken and require an empty arg, give it to them.
12495
12496 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
12497
12498         * gtk/gtklabel.h: indentation fixes.
12499
12500 2000-05-02  Tor Lillqvist  <tml@iki.fi>
12501
12502         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
12503         draw too narrow or too low arcs, they seem to fail, at least with
12504         some display drivers.
12505
12506         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
12507
12508         Large changes to the Win32 backend, partially made necessary by
12509         the changes to the backend-independent internal
12510         structures. Attempts to implement similar backing store stuff as
12511         on X11. The current (CVS) version of the Win32 backend is *not* as
12512         stable as it was before the no-flicker branch was merged. A
12513         zipfile with that version is available from
12514         http://www.gimp.org/win32/. That should be use by "production"
12515         code until this CVS version is usable. (But note, the Win32
12516         backend has never been claimed to be "production quality".)
12517
12518         * README.win32: Add the above comment about versions.
12519
12520         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
12521
12522         * gdk/gdk.def: Update.
12523
12524         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
12525         presumably be replaced by some more better mechanism as 1.4 gets
12526         closer to release shape.
12527
12528         * gdk/makefile.{cygwin,msc}: Update.
12529
12530         * gdk/win32/*.c: Correct inclusions of the backend-specific and
12531         internal headers. Change code according to changes in these. Use
12532         gdk_drawable_*, not gdk_window_* where necessary.
12533
12534         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
12535         our old DND.
12536
12537         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
12538         to interpret single characters as UTF-8. Thanks to Hans Breuer.
12539         Use correct function name in warning messages.
12540
12541         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
12542         GSourceFuncs gdk_event_prepare and gdk_event_check.
12543         (gdk_event_get_graphics_expose): Do implement, use
12544         PeekMessage. Thanks to Hans Breuer.
12545         (event_mask_string): Debugging function to print an GdkEventMask.
12546         (gdk_pointer_grab): Use it.
12547
12548         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
12549         (old) book I used claimed was Hangul actually is CJK Unified
12550         Ideographs Extension A. Also, Hangul Syllables were missing.
12551         Improve logging.
12552
12553         * gdk/win32/gdkgc-win32.c: Largish changes.
12554
12555         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
12556         g_win32_getlocale() from GLib, and not setlocale() to get current
12557         locale name.
12558
12559         * gdk/win32/gdkprivate-win32.h
12560         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
12561         gdkwin32.h, similarily as in the X11 backend.
12562
12563         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
12564         assignment was used instead of equals in if test. Thanks to Hans
12565         Breuer.
12566
12567         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
12568         the X11 version.
12569
12570         * gdk/win32/makefile.{cygwin,msc}
12571         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
12572         path to the Win32 headers that works also with the mingw compiler.
12573
12574         * gtk/gtkstyle.c: Include <string.h>.
12575
12576 2000-04-26  Havoc Pennington  <hp@redhat.com>
12577
12578         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
12579         replacing the broken gtk_label_get ()
12580
12581 2000-04-15  Havoc Pennington  <hp@pobox.com>
12582
12583         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
12584         this keeps scanner scripts from getting confused.
12585
12586         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
12587         data, rather than void
12588
12589 2000-04-15  Tor Lillqvist  <tml@iki.fi>
12590
12591         * gtk/gtkclist.c (gtk_clist_motion)
12592         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
12593         with is_hint FALSE, get x and y from the event. They used to be
12594         used uninitialised. The Win32 backend never sends motion events
12595         marked as hints. This for instance fixes the annoying file and
12596         font selector behaviour in the Win32 version.
12597
12598 2000-04-14  Tor Lillqvist  <tml@iki.fi>
12599
12600         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
12601         gtk_private_n_signals variables, they are used by some software,
12602         sigh.
12603
12604         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
12605         installation directory from the Registry, where the installer
12606         should have put it.
12607
12608 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
12609
12610         * gdk/x11/Makefile.am: Fix problem with installation directory for
12611         gdkx.h
12612
12613         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
12614         <mrcooger@cyberverse.com> so that when selecting menus with the
12615         mouse, the first item will not be selected, but when selecting
12616         with an accelerator, or navigating left-right on a menubar with
12617         the menus popped up, the first item will be selected.
12618
12619 2000-04-05  Dan Damian  <dand@dnttm.ro>
12620
12621         * configure.in: Added "ro" to ALL_LINGUAS.
12622
12623 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
12624
12625         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
12626         indentation.
12627
12628         * Makefile.am (EXTRA_DIST): Fix typo.
12629
12630         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
12631         to catch gdkconfig.h
12632
12633         * gtk/gtkitemfactory.c: Added FIXME.
12634
12635 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
12636
12637         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
12638         s/return_if_fail/return_val_if_fail/g and add a return value.
12639
12640 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
12641
12642         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
12643         merge slipup.
12644
12645         * gdk/gdkinput.h: Fix missing line from merge.
12646
12647 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
12648
12649         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
12650         instead of gdkprivate.h.
12651
12652 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
12653
12654         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
12655         parent class to correctly be GtkDialogClass.
12656
12657 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
12658
12659         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
12660         toplevel windows and their immediate children by their parents,
12661         since the size of toplevel windows is out of our immediate
12662         control and we don't get any real benefit from trying to track
12663         this size for clipping.
12664
12665         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
12666         for input_only windows.
12667
12668         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
12669         to fix some hacks and make sure that we don't try to set the
12670         background of input only windows.
12671
12672 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
12673
12674         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
12675         the _really_ internal stuff, and leave gdkprivate.h for the fake private
12676         stuff that we've traditionally exposed.
12677
12678         * gdk/**.c: Use gdkinternals.h where appropriate.
12679
12680         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
12681         not include gdkprivate-x11.h, move all stuff of conceivable public
12682         interest into gdkx.h; keep all really private stuff in
12683         uninstalled header gdkprivate-x11.h.
12684
12685         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
12686         image->image_put on windows through a new function _gdk_window_draw_image()
12687         to allow us to do backing store for images. (Sort of ugly)
12688
12689         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
12690         contexts locally so that we can offset them properly when drawing 
12691         onto backing pixmaps.
12692
12693         * gdk/gdkinput.h: Reindented
12694
12695         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
12696         pixmap or color for the window, so we can properly initialize
12697         our double-buffer pixmaps, and also so that we temporarily set
12698         a background of None while scrolling.
12699
12700         * gdk/gdkregion.h: Revise region boolean operators to have an
12701         interface that is actually convenient - switch from creating new
12702         regions on every op, to "methods" that modify existing regions
12703         (A = A OP B). 3 argument forms which allow dest == src, would also
12704         be possible, but the current interfaces seem to map nicely
12705         onto what needs to be done. (There is quite a lot of region
12706         code in GDK now.)
12707
12708         * gdk/gdkregion.h: Add constructor from rectangle and a copy
12709         operator.
12710
12711         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
12712         gdkpoly-generic.h: Copy region code from Xlib, switch it over
12713         to 32 bit coordinates, modify it to be mostly GTK+ style
12714         and to have interfaces that match gdkregion.h.
12715
12716         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
12717         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
12718         create a backing pixmap and redirect all drawing to
12719         that backing pixmap until a matching gdk_window_end_paint().
12720
12721         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
12722         Create a special drawable class for GtkWindow's that 
12723         redirects the drawing to the backing pixmap as necessary
12724         and then calls the real operations in _gdk_windowing_window_class.
12725
12726         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
12727         Store invalid region for each window. Generate expose events for invalid
12728         region in an idle. This replaces both the expose compression
12729         and the redrawing queuing in GTK+. It is both more efficient and
12730         simpler than either one individually and far more so then the
12731         combination.
12732
12733         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
12734         Emulate 32 bit coordinates for windows with 16 bit coordinates
12735         by offsetting drawing, guffaw scrolling techniques and
12736         mapping/unmapping child windows as necessary.
12737
12738         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
12739         where, when invalid regions are processed, the region is stored,
12740         and if expose events come in that are detectably duplicate
12741         the processed exposes (by comparison of event serial numbers),
12742         the stored region is subtracted out of those exposes.
12743
12744         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
12745         regions newly exposed when scrolling or resizing windows.
12746         This, combined with forcing processesing of queued invalidated
12747         regions, gives nice flicker-free scrolling.
12748
12749         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
12750         invalidated regions after every scroll.
12751
12752         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
12753         emulation in GDK. Its, for all practical purposes just a
12754         GtkViewport/GtkFixed hybrid now.
12755
12756         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
12757         (16-bit) structures as necessary instead of just casting.
12758
12759         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
12760         in terms of the structures from gdkregion-generic.c, using appropriate
12761         offsets from GDK to X11 coordinates. Cache clip mask and
12762         origin and ts origin locally and only flush to the server
12763         when drawing, to avoid constantly setting and resetting these
12764         values when offsetting GC's for scrolling and backing pixmaps.
12765
12766         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
12767
12768         * gtk/gtkcontainer.c: Call process_all_updates at end
12769         of resizing to reduce flicker. (Avoids having redraw
12770         lag arbitrarily behind resize under some circumstances)
12771
12772         * gtk/gtkentry.c: Remove old backing store code, and simply take
12773         advantage of the new backing store capabilities of GDK.
12774
12775         * gtk/gtkmain.c: Simple implementation of widget backing
12776         store - simply push a paint while handling each expose.
12777         (Should really be configurable widget for widget.)
12778         
12779         * gtk/gtkwidget.c: Remove all the old complicated redraw
12780         code, and simply invalidate the GDK windows from
12781         gdk_window_queue_clear(), etc. (Sigh, so much carefully
12782         debugged complexity ... gone to the winds.)
12783
12784         Remove all the code for suppressing expose events while
12785         resizes are pending; this isn't needed since the invalid
12786         areas won't be processed until after the resizes are
12787         processed, since they are in a lower priority idle.
12788
12789 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
12790
12791         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
12792         and height of dest rectangle for non-intersecting rectangles.
12793
12794 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
12795
12796         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
12797         for GdkRectangle.
12798
12799 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
12800
12801         * gdk/gdk{events,image,private,types,window}.h
12802          gdk/x11/gdkinputprivate.h: Change all coordinates
12803          from int16 to int. Also, Change width and height from
12804          unsigned to signed to avoid all the stupid C 
12805          signedness bugs.
12806
12807 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
12808
12809         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
12810         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
12811         Add some more detailed checking.
12812
12813         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
12814         New function to retrieve the depth of a drawable.
12815
12816         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
12817         field, reorder fields to save memory. 
12818
12819 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
12820
12821         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
12822         of the background image instead of scaling the background down to
12823         a line.
12824
12825         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
12826         which temporarily set slider to wrong size.
12827
12828         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
12829         queue_clear().
12830
12831 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
12832
12833 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
12834
12835         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
12836
12837 2000-03-17  Tor Lillqvist  <tml@iki.fi>
12838
12839         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
12840         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
12841
12842         * gdk/win32/gdkfont-win32.c
12843         * gdk/win32/gdkproperty-win32.c
12844         * gdk/win32/gdkselection-win32.c
12845         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
12846         now declared such.
12847
12848 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
12849
12850         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
12851
12852 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
12853
12854         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
12855         is called without trapping X errors.
12856
12857 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
12858
12859         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
12860         way into the fontset lists.
12861
12862 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
12863
12864         * gtk/gtkthemes.h: add extern "C" scope.
12865
12866 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
12867
12868         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
12869         to make appends to the list constant. (gtk-guy-990901-0.patch)
12870
12871 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
12872
12873         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
12874         for the typename hash table.
12875
12876 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
12877
12878         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
12879         to make sure we never divide by zero. 
12880         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
12881
12882 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
12883
12884         * gtk/gtkfontsel.c: Apply patch from
12885         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
12886         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
12887
12888         Also, some cleanups in atom handling.
12889
12890 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
12891
12892         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
12893         not GtkWidget.
12894
12895 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
12896
12897         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
12898         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
12899         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
12900         more guint wrap-around bugs before going to bed.
12901
12902 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
12903
12904         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
12905         guint wrap arounds in allocation.width.
12906
12907         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
12908         process untill we fit the allocation given.
12909
12910 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
12911
12912         * gtk/gtkwidget.c:
12913         (gtk_widget_unrealize): guard widget access with ref/unref
12914         around signal emission.
12915         (gtk_widget_hide): same here, but also check its destroyed
12916         state before queueing a resize.
12917
12918 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
12919
12920         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
12921         of gtk_default_insensitive_bg as insensitive base color.
12922
12923         * gtk/gtktext.c (gtk_text_style_set): set the background color according
12924         to the widget's state.
12925         (gtk_text_realize): same here.
12926         (gtk_text_state_changed): same here.
12927         (draw_bg_rect): compare background color against base[] from
12928         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
12929
12930 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
12931
12932         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
12933         grabs are active, unless a delete event is send to the toplevel
12934         of the currently grab holding widget.
12935
12936 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
12937
12938         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
12939         debugging g_print's.
12940
12941 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
12942
12943         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
12944         ever make the scrolled-window requisition ever depend on the 
12945         visibility state of the scrollbars for the AUTOMATIC policy. 
12946         This breaks the GTK+ requisition model, and causes loops.
12947
12948 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
12949
12950         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
12951         the default font to avoid problems with XFree86-4.0 where the
12952         default charset is iso10646-1, not iso8859-1.
12953
12954 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
12955
12956         * acinclude.m4
12957         * config.guess
12958         * config.sub
12959         * ltconfig
12960         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
12961
12962         * gtk/Makefile.am: minor cosmetic consistency tweak
12963
12964 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
12965
12966         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
12967         the activate_time to 0, so that we handle a quick
12968         press/release press/release properly and don't suppress
12969         the second release. (Red Hat bug #7545)
12970
12971 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
12972
12973         * gtk/gtkctree.c (row_delete):
12974         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
12975         bugs with destruction notifier, *always* update internal
12976         structures *before* calling user code.
12977
12978 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
12979
12980         A few more fixes for bug #5487, #2051, #2677.
12981         * gtk/gtkclist.c : 
12982         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
12983         not GDK_BUTTON_PRESS.
12984         (resync_selection): resync only if selection_mode is
12985         GTK_SELECTION_EXTENDED
12986         * gtk/gtkctree.c (resync_selection): same here
12987
12988 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
12989
12990         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
12991         gdk_drag_get_selection() and gtk_menu_detach().
12992
12993         [ From Jeroen Ruigrok/Asmodai ]
12994
12995 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
12996
12997         * gtk/gtknotebook.c (gtk_notebook_size_request): 
12998         page->tab_label can be NULL.
12999
13000 2000-01-25  Havoc Pennington  <hp@pobox.com>
13001         
13002         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
13003         arg is boolean
13004
13005         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
13006
13007         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
13008
13009         * gdk/gdkproperty.c (gdk_property_get): return boolean
13010
13011         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
13012
13013         * gdk/gdkim.c (gdk_im_ready): return boolean
13014
13015         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
13016
13017         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
13018         glib clash, should fix glib)
13019
13020         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
13021         (gdk_get_show_events): return gboolean, and canonicalize 
13022         to TRUE/FALSE
13023
13024         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
13025         colormap is private
13026         (gdk_colors_alloc): gboolean whether to be contiguous
13027         (gdk_color_equal): return gboolean since we are a predicate
13028         and not a qsort() (this looks semi-wrong due to glib breakage,
13029         IMO glib should be fixed)
13030         
13031         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
13032         (gdk_get_use_xshm): return gboolean
13033         (gdk_pointer_is_grabbed): return gboolean
13034
13035         * gdk/gdk.h: Change prototypes to match all the above changes,
13036         and re-run egtk-format-protos as required.
13037
13038 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
13039
13040         * gtk/gtkctree.c (resync_selection): 
13041         * gtk/gtkclist.c (resync_selection):
13042
13043         Return immediately if clist->drag_pos < 0. This is a workaround
13044         for the corrupt state that the clist gets into when a
13045         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
13046
13047         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
13048         
13049         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
13050         variable from recent commit.
13051
13052 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
13053
13054         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
13055
13056 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
13057
13058         * gtk/Makefile.am: prefix all autogenerated source that get build in
13059         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
13060         in builddir. since we subsequently cd into srcdir for autogeneration,
13061         the paths have to be stripped from the target file names, thusly we
13062         use $(@F) as target names now.
13063         put a comment about configure.in's --disable-rebuilds option,
13064         which can be used for non-writable source directories, for development
13065         setups though, srcdir has to be *writable*.
13066
13067 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
13068
13069         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
13070           Finish the job of allowing event to be NULL.
13071           (Fixes bug #4283, reported by Chris Blizzard)
13072
13073         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
13074           things so that the cursor appears on screen, properly
13075           take into account INNER_BORDER.
13076           (Fixes bug #4754, reported by Antonio Campos)
13077
13078 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
13079
13080         * gtk/gtknotebook.c (gtk_notebook_map): Don't
13081           show the tab_label unless it itself is visible.
13082
13083           gtk/gtknotebook.c (gtk_notebook_size_request):
13084           Do a better job of making sure that the visibility
13085           of the tab label corresponds to whether it should
13086           be mapped or not.
13087
13088 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
13089
13090         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
13091           Use the requisition, not the allocation, since the
13092           allocation has not necessarily been computed yet.
13093           (Pointed out by Eugene Osintsev)
13094
13095 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
13096
13097         * gtk/gtkstyle.c (gtk_style_new): Dont' set
13098           style/base[GTK_STATE_INSENSITIVE] both to
13099           gtk_default_insensitive_bg!
13100           (Bug #2187, reported by Jonathan Blandford)
13101
13102         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
13103           Add Alt_L, Alt_R to list of invalid accelerators.
13104           (Bug #3736, reported by Vlad Harchev)
13105
13106 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
13107
13108         * gtk/gtkfilesel.c (open_ref_dir): Fix several
13109         bugs which occured after an attempt to open 
13110         invalid home directory left cmpl_state->reference_dir == NULL.
13111
13112          - completion on files in home directory didn't work
13113          - completion on an empty string caused  segfault
13114
13115          (Bug #3678, reported by Steve Ratcliffe)
13116
13117         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
13118         cut and paste error that was causing scales to
13119         be incorrectly positioned.
13120         (Bug #2956,
13121          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
13122
13123 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
13124
13125         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
13126         when checking for dcgettext, if we've found we needed
13127         it for dgettext.
13128 +
13129 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
13130
13131         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
13132         queue_clear on NO_WINDOW widgets during a reparent,
13133         since at that point the window and widget heirarchies
13134         are out of sync. This stops crashing in some cases
13135         (the scrolled window reparent test, for instance), and
13136         _probably_ won't cause drawing errors.
13137
13138         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
13139         test do what it was supposed to do and be robust against
13140         window closings, etc. (Bug #2443)
13141
13142 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
13143
13144         * gtk/gtkentry.c: Fix return values on mouse events.
13145         (Bug #2686, Sky <seb_sky@yahoo.com>)
13146
13147         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
13148         (pointed out by George Lebl)
13149
13150         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
13151         (From Ettore Perazzoli  <ettore@helixcode.com>)
13152  
13153 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
13154
13155         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
13156         clicks between rows or outside calender area correctly.
13157         (Patch from Damon Chaplin)
13158
13159         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
13160         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
13161           Call destroy function when overwriting existing data. 
13162           (Pointed out by Damon Chaplin)
13163
13164 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
13165
13166         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
13167           which was causing problems on various systems with Xmu.
13168           This hasn't been needed for a very long time.
13169           (Fixes #1185 3167)
13170
13171 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
13172
13173         * gdk/gdki18n.h: Include <ctype.h> when defining
13174           gdk_isw* in terms of is* as a fallback.
13175           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
13176
13177 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
13178
13179         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
13180           realize the widget when it is size allocated!
13181           (old, old bug)
13182
13183         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
13184           Removed unused call to gdk_window_get_size() that
13185           showed up when the above was fixed.
13186
13187 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
13188
13189         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
13190           fix up widget->window when the widget is a
13191           NO_WINDOW container widget.
13192
13193 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
13194
13195         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
13196           to account for the fact that feof() does _not_ 
13197           return TRUE on errors, and thus avoid infinite loops
13198           when trying to use gdk_pixmap_create_from_xpm()
13199           on unreadable values.
13200
13201 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
13202
13203         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
13204
13205 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
13206
13207         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
13208           gdk_gc_set_dashes to take gint8 instead of gchar to
13209           make it clearer that it is _not_ a NULL terminated string.
13210
13211         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
13212           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
13213           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
13214           arguments.
13215
13216 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
13217
13218         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
13219         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
13220         background size relative to our allocation, guard against small
13221         allocations, we may have not yet been size allocated.
13222
13223 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
13224
13225         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
13226         not just version == 3. We implement all 3 + most of 4 - 
13227         (we don't support matching text/plain;charset=iso-8859-1
13228         to a dest that expects text/plain). We'll still advertise
13229         3 to be safe, but any client implementing version >= 3
13230         must interoperate with 3.
13231         
13232 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
13233
13234         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
13235         background and gc members, add a warning in gtk_tooltips_set_color()
13236         indicating that this function is deprecated.
13237
13238 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
13239
13240         * docs/gtkfaq.sgml: FAQ Update:
13241           - Minor cleanups (Emmanuel, me)
13242           - New questions:
13243                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
13244                 How can I retrieve the text from a GtkMenuItem? (timj)
13245                 How do I validate/limit/filter the input to a GtkEntry? (me)
13246                 Memory does not seem to be released when I free the list
13247                         nodes I've allocated (timj)
13248
13249 2000-03-07  Tor Lillqvist  <tml@iki.fi>
13250
13251         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
13252         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
13253         for which it is no use to call GetLastError onWin9x.
13254         (gdk_other_api_failed) New function, for general error
13255         reporting without calling GetLastError.
13256         (gdk_win32_api_failed) OTOH, this function always calls
13257         GetLastError. (gdk_win32_last_error_string) Remove this function,
13258         GLib has the equivalent now.
13259
13260         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
13261         call them with function name, file name and line number in the
13262         arguments.
13263
13264         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
13265         functions.
13266         
13267         * gtk/gtk.def: Add some missing entry points.
13268
13269         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
13270         gtk_paned_set_gutter_size, which don't exist any longer, as void.
13271         
13272         Fixes by Hans Breuer:
13273
13274         * gdk/makefile.msc: Update for debugging.
13275
13276         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
13277         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
13278         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
13279         in the dash_list.
13280
13281         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
13282         the x11 backend.
13283
13284         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
13285
13286         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
13287
13288 2000-03-04  Tor Lillqvist  <tml@iki.fi>
13289
13290         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
13291         just pixel value of background colour.
13292
13293         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
13294         containing code snippet previously duplicated in a couple of
13295         places.
13296         
13297         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
13298         gdk_colormap_color.
13299
13300         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
13301         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
13302         events for autorepeated Shift, Control and Alt keys. Use
13303         gdk_colormap_color.
13304
13305         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
13306         pointer is inside the window the cursor of which we are setting,
13307         call SetCursor immediately.
13308
13309         * gdk/win32/makefile.cygwin
13310         * gtk/makefile.cygwin: If we don't have the build number stamp
13311         file, use zero.
13312
13313         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
13314         gtk_paned_set_gutter_size as empty.
13315
13316         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
13317         
13318 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
13319
13320         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
13321           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
13322           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
13323           docs/gtk_tut.sgml docs/gtk.texi TODO:
13324
13325           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
13326
13327 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
13328
13329         * gtk/gtkcalendar.c: Implement num_marked_dates,
13330           and don't emit mutiple day_selected signals on
13331           month_prev.
13332
13333 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
13334
13335         * docs/make-todo (lineno): let title and logo be configurable so
13336         that GNOME can use this script too.
13337
13338         * TODO.xml: added logourl and a title
13339
13340 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
13341
13342         * TODO.xml: Added some UI items, and an explanatory
13343         comment at the top of the file.
13344
13345 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
13346
13347         * TODO.xml: some updates, added abunch of new entries.
13348         a note for those fiddeling with this file, when done
13349         with it, invoke:
13350         $ ./docs/make-todo TODO.xml >/dev/null
13351         and correct output errors before comitting changes.
13352
13353 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
13354
13355         * TODO.xml: Added XML-structured TODO file.
13356         * docs/make-todo: python script to turn TODO.xml into
13357           pretty XML output. 
13358
13359 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
13360
13361         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
13362         the function to let it draw the seven dots, instead of the old,
13363         much maligned, method.
13364         (draw_dot): New function to draw a dot.
13365
13366         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
13367         to draw the handle inside the border width as opposed to outside.
13368         Use paint function instead of gdk_draw_point.
13369
13370         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
13371         to draw the handle inside the border width as opposed to outside.
13372         Use paint function instead of gdk_draw_point.
13373
13374         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
13375         Change indenting to be more GTK like.
13376
13377 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
13378
13379         * docs/gtk_tut.sgml: New section on GtkCalendar
13380         * examples/calendar: Update example code
13381
13382 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
13383
13384         * docs/gtkfaq.sgml: FAQ Update
13385
13386 2000-02-19  Anders Carlsson  <andersca@gnu.org>
13387
13388         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
13389         to prevent the scroll event to be propagated upwards.
13390
13391 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
13392
13393         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
13394         OwnerGrabButtonMask from button entries for
13395         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
13396
13397         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
13398         to the event mask (which will result in button/press release
13399         being added to the event mask on Unix) so scrolling works
13400         for layouts in scroll windows.
13401
13402         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
13403
13404         Patch from Anders Carlsson  <andersca@gnu.org> to add
13405         a scroll event.
13406
13407         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
13408         scrolling to the "Test Scrolling" part of testgtk.
13409  
13410         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
13411  
13412         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
13413         it against GDK_SCROLL.
13414  
13415         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
13416         way of mouse wheel scrolling.
13417  
13418         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
13419  
13420         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
13421  
13422         * gtk/gtkmain.c: Removed previous mouse wheel hack.
13423  
13424         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
13425         gdk_event_mask_table.
13426  
13427         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
13428         GdkEventScroll handler.
13429  
13430         * gdk/gdkevents.h: Added GdkEventScroll structure.
13431  
13432 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
13433
13434         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
13435         and Anders Carlsson to change the Paned widgets so that they
13436         can be dragged from anywhere along the length. Also change
13437         the way that this is drawn to make this apparent.
13438
13439         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
13440         from George Lebl to check that option_menu->menu is present
13441         before getting history.
13442
13443 2000-02-14  Tor Lillqvist  <tml@iki.fi>
13444
13445         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
13446         before the assertion for non-NULL segment list.
13447
13448         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
13449         Seems that pattern brushes *must* be 8x8 pixels! At least on my
13450         machine, but it might be display driver dependent. Sigh, so make
13451         sure the stipple is that size. Does Windows suck or what?
13452
13453         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
13454         places.
13455
13456 2000-02-13  Havoc Pennington  <hp@pobox.com>
13457
13458         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
13459         refcount to 1
13460         (gdk_cursor_new): init refcount to 1
13461
13462         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
13463
13464 2000-02-13  Tor Lillqvist  <tml@iki.fi>
13465
13466         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
13467         so that we don't have to do unnecessary settings to the HDC.
13468
13469         * gdk/win32/gdkdrawable-win32.c
13470         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
13471         gdk_gc_predraw.
13472
13473         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
13474         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
13475         GDI paths, call WidenPath to get the outline of the stroken path,
13476         and then fill the outline (with the brush that was built from the
13477         stipple).
13478
13479         * gdk/win32/gdkgc-win32.c: Factor out common code from
13480         _gdk_win32_gc_new and gdk_win32_gc_set_values into
13481         gdk_win32_gc_values_to_win32values. Use correct colour for
13482         SetBkColor() (Until now the code actually used a random colour in
13483         the call to SetBkColor()... but that didn't show up as not many
13484         GDI APIs use the background colour. Pattern (opaque stippled)
13485         brushes do.)
13486
13487         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
13488         gdk_win32_api_failed): New functions for error logging.
13489
13490         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
13491         WIN32_API_FAILED to call them, passing function or file name and
13492         line number.
13493
13494         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
13495
13496         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
13497         GdkColor for foreground and background in GdkGCWin32Data.
13498
13499         * gdk/makefile.cygwin: Link in the resource object separately.
13500
13501         * gdk/win32/rc/gdk.rc
13502         * gtk/gtk.rc (New file)
13503         * gdk/win32/makefile.cygwin
13504         * gtk/makefile.cygwin: Update build number in DLLs automatically,
13505         as in GLib.
13506
13507 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
13508
13509         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
13510         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
13511         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
13512         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
13513         parameters given and cursor->ref_count. coding style fixups.
13514
13515         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
13516         not GtkWidget.
13517         
13518         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
13519         fix up widget macros and add _GET_CLASS() variant.
13520         
13521         * gtk/*.c: some GtkType fixups.
13522
13523 2000-02-09  Tor Lillqvist  <tml@iki.fi>
13524
13525         * gdk/win32/gdkproperty-win32.c
13526         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
13527         were reversed.
13528
13529 2000-02-04  Tor Lillqvist  <tml@iki.fi>
13530
13531         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
13532         g_filename_to_utf8 to convert the font names Windows gives us from
13533         whatever is the default codepage to UTF-8.
13534         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
13535         in the other direction.
13536
13537         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
13538         error in debugging output.
13539
13540 2000-02-02  Tor Lillqvist  <tml@iki.fi>
13541
13542         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
13543         and height parameters to gdk_window_clear_area(). Not minus one.
13544
13545 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
13546
13547         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
13548         checks if the widget passed to gtk_drag_get_data() was not the
13549         dest widget.
13550
13551 2000-02-01  Tor Lillqvist  <tml@iki.fi>
13552
13553         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
13554         g_filename_from_utf8 functions (which were added a moment ago to
13555         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
13556         size buffers.
13557
13558         gtk_file_selection_get_filename returns the filename in the C
13559         runtime encoding. It calls g_filename_from_utf8, but copies the
13560         returned string to a static buffer, which is returned. I think
13561         this is better than returning the result from g_filename_from_utf8
13562         directly, which would mean all apps that use it would have to free
13563         the return value. Or should this function care about this issue at
13564         all? Maybe a new function with clearly defined semantics.
13565
13566         * gtk/gtkfilesel.h: Add comment about
13567         gtk_file_selection_get_filename returning the filename in the C
13568         runtime's encoding.
13569
13570         * README.win32
13571         * gdk/gdk.def
13572         * gdk/makefile.{cygwin,msc}
13573         * gtk/gtk.def: Updates.
13574
13575         * gdk/gdkcursor-win32.c: Initialise refcount.
13576
13577 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
13578
13579         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
13580
13581 2000-01-30  Havoc Pennington  <hp@pobox.com>
13582
13583         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
13584         destroy
13585
13586         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
13587
13588         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
13589         implemented in platform-specific code
13590
13591         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
13592
13593         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
13594         underscore in front
13595
13596         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
13597         put an underscore in front
13598
13599         * gdk/gdkcursor.c: new file, implements
13600         gdk_cursor_ref/gdk_cursor_unref
13601
13602         * gdk/gdkcursor.h: Refcount GdkCursor
13603
13604         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
13605
13606 2000-01-29  Tor Lillqvist  <tml@iki.fi>
13607
13608         * gdk/gdkwindow.h
13609         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
13610
13611 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
13612
13613         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
13614         structures to properly inherit from GtkWidget not GtkBin.
13615
13616 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
13617
13618         * gtk+.spec.in: Added lib/gtk+/include/* to %files
13619         (bug #5178 - Peter Wainright)
13620         
13621         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
13622         so that it will be installed.
13623         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
13624
13625 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
13626
13627         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
13628         for the GtkStyleClass vtable const.
13629
13630         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
13631         take a const string argument like GtkTranslateFunc. This will
13632         require changes in use code.
13633
13634 2000-01-19  Tor Lillqvist  <tml@iki.fi>
13635
13636         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
13637         semantics (to mimic the X11 backend, which just calls XClearArea)
13638         is to check for zero width (and height), and in that case use the
13639         window's width minus x (height minus y). This fixes for instance
13640         some redraw problems with gtkclist, which were easily noticeable
13641         in the gtk file selection widget.
13642
13643         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
13644         windows.
13645
13646 2000-01-13  Tor Lillqvist  <tml@iki.fi>
13647
13648         * configure.in
13649         * gdk/Makefile.am
13650         * gdk/x11/Makefile.am
13651         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
13652         (bug #5177).
13653         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
13654         out later.
13655
13656 2000-01-09  Tor Lillqvist  <tml@iki.fi>
13657
13658         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
13659         WM_MOVE for iconified or invisible windows. This fixes various
13660         problems when minimising windows. Thanks to Bernd Herd.
13661
13662 2000-01-05  Tor Lillqvist  <tml@iki.fi>
13663
13664         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
13665         backend's draw_lines method, not draw_points.
13666
13667 2000-01-02  Tor Lillqvist  <tml@iki.fi>
13668
13669         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
13670         before Owen's reorganisation: Don't have queued_events and
13671         queued_tail statics in this file, but use gdk_queued_events and
13672         gdk_queued_tail. This makes exposure event compression work again.
13673
13674         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
13675         seem to be needed?
13676
13677 1999-12-30  Tor Lillqvist  <tml@iki.fi>
13678
13679         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
13680         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
13681         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
13682         doesn't do anything.
13683
13684         * gdk/gdk.def: Add gdk_xid_table_insert.
13685
13686         * gdk/win32/gdkprivate-win32.h
13687         * gdk/win32/gdkevents-win32.c
13688         * gdk/win32/gdkinput-win32.c
13689         
13690         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
13691         extension_events field in the GdkWindowWin32Data struct. Use only
13692         the extension_events field in GdkWindowPrivate. Previously one was
13693         set, and the other one tested, which broke tablet
13694         functionality. Thanks to Keishi Suenaga for pointing this out.
13695
13696 1999-12-18  Tor Lillqvist  <tml@iki.fi>
13697
13698         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
13699         When handling a single character (text length == 1), don't handle
13700         it as if it was UTF-8.
13701
13702 1999-12-11  Tor Lillqvist  <tml@iki.fi>
13703
13704         * Makefile.am: Distribute README.win32.
13705         
13706         * gdk/Makefile.am
13707         * gdk/win32/Makefile.am: Distribute Win32 files.
13708
13709         * gdk/makefile.msc: New file.
13710
13711         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
13712         after label).
13713
13714         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
13715         gdk_error_code as GDKVAR, as they are referred outside GDK.
13716
13717         * gdk/win32/makefile.msc: Update.
13718
13719         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
13720         tweaks. Check only if at least one of those Unicode subrange bits
13721         we care for is set. If no code page bits are set, guess (wildly)
13722         based on the charset.
13723
13724         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
13725
13726         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
13727         non-NULL.
13728
13729         * gtk/gtkdnd.c
13730         * gtk/gtklayout.c
13731         * gtk/gtkplug.c
13732         * gtk/gtkselection.c
13733         * gtk/gtksocket.c
13734         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
13735         appropriate. There must be a cleaner way to handle this?
13736
13737         * gtk/gtkrc.c: Must include windows.h on Win32.
13738
13739         * gtk/testgtk.c: No need to include gdkx.h.
13740
13741         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
13742
13743 1999-12-07  Tor Lillqvist  <tml@iki.fi>
13744
13745         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
13746         the rbearing is set to the same as the width, but this should be
13747         fixed.
13748
13749 1999-12-06  Tor Lillqvist  <tml@iki.fi>
13750
13751         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
13752         function. If Windows doesn't tell us what Unicode subranges a font
13753         covers, guesstimate based on the codepages it covers. This will
13754         hopefully help those Windows versions or fonts that don't give us
13755         any useful Unicode subrange information with GetTextCharsetInfo.
13756         Call this function in gdk_font_load_internal.
13757
13758         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
13759         minor changes.
13760
13761 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
13762
13763         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
13764         New function, long needed.
13765
13766 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
13767
13768         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
13769         only_if_exists argument of gdk_atom_intern to
13770         bool.
13771
13772 1999-11-25  Tor Lillqvist  <tml@iki.fi>
13773
13774         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
13775         Fix two copy&paste errors.
13776
13777         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
13778         win32 has changed.
13779
13780         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
13781         GdkWin32SingleFont struct.
13782
13783         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
13784         subranges of loaded fonts. Clear font signature first, in case
13785         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
13786         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
13787
13788         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
13789         Unoffset clip region.
13790
13791 1999-11-23  Tor Lillqvist  <tml@iki.fi>
13792
13793         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
13794         event->any.window before calling filter functions.
13795
13796 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
13797
13798         * gtk/gtkgamma.h: Adapt cast macros to standard.
13799
13800 [ Merges from 1.2 ]
13801
13802 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
13803
13804         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
13805         If translation does not include a '/', use entire
13806         translation instead of crashing.
13807
13808 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
13809
13810         * docs/gtk_tut.sgml:
13811         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
13812
13813 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
13814
13815         * gtk/gtkselection.c (gtk_target_list_remove): Use
13816         g_list_remove_link, not g_list_remove.
13817
13818         [ From Geert Bevin <gbevin@thunderstorms.org> ]
13819         
13820 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
13821
13822         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
13823         statement upon unselection (how the heck did that slip in?).
13824
13825 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
13826
13827         * gtk/gtktext.c (gtk_text_freeze): 
13828         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
13829         in frozen state (and aparently crashes). patch provided by Anders
13830         Melchiorsen <and@kampsax.dtu.dk>.
13831
13832 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
13833
13834         * fix insensitive default/focus widget activation,
13835         reported by Matt Goodall <mgg@isotek.co.uk>.
13836
13837         * gtk/gtkwindow.c (gtk_window_key_press_event): 
13838         (gtk_window_activate_default):
13839         (gtk_window_activate_focus):
13840         return handled=FALSE for actiavtion of insensitive default
13841         widgets. return handled=TRUE for activation of insensitive
13842         focus widgets. don't activate in either case.
13843
13844 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
13845
13846         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
13847         and $glib_cflags to match library order and in the
13848         theory that an old version of GLib is more likely to
13849         be in the include directory for X then vice-versa.
13850         (Bug #2776)
13851
13852 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
13853
13854         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
13855         to determine the locale for fontsets, not LC_MESSAGES;
13856         the user may want English messages with a handling
13857         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
13858         will still be broken) (Bug #2891)
13859
13860 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
13861
13862         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
13863
13864 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
13865
13866         * gtk/gtkrc.ko: Changed the Korean default fontset.
13867
13868 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
13869
13870         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
13871         where when scrolling to the left or top double exposes
13872         were done, causing major slowdowns.
13873
13874 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
13875
13876         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
13877         names to lowercase and alphanumeric, before looking
13878         them up.
13879
13880         * gtk/Makefile.am: Install codeset variant gtkrc files
13881         with normalized names.
13882
13883 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
13884
13885         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
13886         popup menus when the menu is already visible, but its parent
13887         is still hidden, (happens after tornoff window got hidden).
13888
13889 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
13890
13891         * gtk/Makefile.am (install-data-local): Fix
13892         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
13893         deleted, causing error messages on install.
13894
13895 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
13896
13897         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
13898         the handle as well, since we now sometimes ignore
13899         exposes on the handle while resizing.
13900
13901 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
13902
13903         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
13904         extra g_free introduced in one of the last one or two 
13905         commits.
13906
13907 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
13908
13909         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
13910         consistent, put each style that a gtkrc.* file creates
13911         in a unique namespace, remove old files before installing.
13912
13913 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
13914
13915         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
13916         gtk_rc_init is called multiple times. (Yes, people who
13917         do that have bugs in their code.)
13918
13919 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
13920
13921         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
13922         Remove it since it's generated by the Makefile anyway
13923
13924 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
13925
13926         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
13927         device->info.axes for core pointer.
13928
13929 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
13930
13931         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
13932         idle_id, to deal with obsolete, broken C libraries.
13933
13934 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
13935
13936         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
13937         allocation->x/y twice!
13938
13939         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
13940         consistent with gtk_vscale_pos_trough().
13941
13942 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
13943
13944         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
13945         be queueing a resize on a toplevel container between
13946         the time we show it and when we map it. So, we need
13947         to test GTK_WIDGET_VISIBLE() for toplevels, and only
13948         use GTK_WIDGET_DRAWABLE() for child windows.
13949
13950 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
13951
13952         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
13953         (fixes bug #2144)
13954
13955 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
13956
13957         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
13958         container DRAWABLE (instead of VISIBLE), so we don't queue
13959         resizes on non-toplevel containers.
13960
13961 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
13962
13963         * gtk/gtkselection.[ch]: Make the data argument
13964         const guchar *.
13965
13966 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
13967
13968         * gtk/gtkwindow.c: Try to behave sensibly if 
13969         the focus widget is the window itself. (Should
13970         we allow this at all?)
13971
13972 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
13973
13974         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
13975         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
13976         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
13977         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
13978         in prototypes and implementations consistent (Tomas Ogren).
13979
13980         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
13981         before the widget is unparented (reported by damon).
13982
13983         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
13984         since we provide unsigned data anyways.
13985
13986 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
13987
13988         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
13989         the call to gtk_tooltips_layout_text() until later.
13990
13991         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
13992         Call gtk_widget_ensure_style() before using the style.
13993
13994 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
13995
13996         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
13997         for old widgets that don't propagate draws to all
13998         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
13999
14000 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
14001
14002         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
14003         for a redraw but just the widget that requested the resize.
14004
14005 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
14006
14007         * gtk/gtkcontainer.c: added new widget level method
14008         gtk_container_set_reallocate_redraws() and a GtkContainer flag
14009         reallocate_redraws : 1 to reflect the setting, exported this through
14010         the argument system as a boolean ::reallocate_redraws.
14011
14012         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
14013         on the widget because the allocation changes, do so as well for
14014         widget->parent if the parent has reallocate_redraws set to TRUE.
14015         with that containers requesting reallocation redraws get automatically
14016         redrawn if their children changed allocation (this unfortunately
14017         affects also other children that didn't change allocation, but we
14018         cannot work around that before 1.3).
14019
14020 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
14021
14022         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
14023         _and_ height are >0 (not _or_).
14024
14025         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
14026         instead of gtk_container_queue_resize(), which is a core gtk internal
14027         function (must have been on crack when i queued that).
14028
14029         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
14030         we can check more reliably if we want to discard expose events.
14031         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
14032         flag.
14033         
14034         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
14035         we simply trust these events. for deciding whether to discard exposes,
14036         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
14037         
14038 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
14039
14040         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
14041         queues of areas that are completely off screen.
14042
14043         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
14044         logic for handleboxes.
14045
14046         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
14047         check on width/height.
14048
14049 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
14050
14051         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
14052         we are fine with using $@ the way we do (if we actually encounter
14053         brokeness with $@ in VPATH builds because of additional path prefixes,
14054         we need to use $(@F) actually).
14055
14056 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
14057
14058         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
14059         short lived bugs, that would allow language bindings to do surgeries
14060         to our guts.
14061
14062 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
14063
14064         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
14065         where comparison was being done against an uninitialized
14066         value causing intermittant results depending on
14067         compiler flags. Also make it clearer that we aren't
14068         ever initializing the child as 0x0 (though this will
14069         be caught in gtk_widget_size_allocate())
14070
14071 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
14072
14073         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
14074         gtk_window_unset_transient_for() call after we do checks
14075         involving the old transient parent.
14076         [ From Lance Capser <lmc@cyberhighway.net> ]
14077
14078 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
14079
14080         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
14081         an empty file.
14082
14083 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
14084
14085         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
14086         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
14087
14088 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
14089
14090         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
14091         `$@' is valid only in the build dir, not after we've done 
14092         `cd $srcdir'.  Also use `test -f' instead of less portable
14093         `test -e'.
14094
14095 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
14096
14097         * gtk/gtktext.c (correct_cache_insert): Rewrite
14098          for simplicity, and hopefully correctness.
14099          (Fixes bug #1322, which was a segfault when
14100           on some insertions with the properties around
14101           the insertion set up just wrong.)
14102
14103         * gtk/gtktext.c (gtk_text_adjustment): When we receive
14104          a "changed" signal, clamp the new value to the adjustment
14105          bounds to avoid segfaulting if someone tries to change
14106          the adjustment to a bogus value. (Bug #1795)
14107
14108 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
14109
14110         * gtk/gtkmain.c: Ignore unexpected destroy notifies
14111         for children, for toplevel windows handle them
14112         like delete_event.
14113
14114         * gtk/gtkplug.c: Add an unrealize handler so that
14115         we unref plug->socket_window when we are done
14116         with it.
14117
14118 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
14119
14120         * gtk/gtktext.c (clear_area): Fix stupid signedness
14121          problem that was causing background to sometimes
14122          be misaligned.
14123
14124 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
14125
14126         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
14127         
14128         * gtk/gtkmenu.c (gtk_menu_position): Make
14129          sure we never position menus with negative x, y,
14130          since gtk_widget_set_uposition() can't handle that.
14131
14132         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
14133          Modify the positioning code a bit so that we always
14134          put the top-left corner onscreen. (This is for
14135          UI reasons, gtk_menu_position() now takes care of
14136          gtk_widet_set_uposition() brokeness.)
14137
14138 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
14139
14140         * gtk/Makefile.am: fixed up things for -jx, x > 1.
14141
14142 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
14143
14144         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
14145           RC style that is passed in. The lack of the ref
14146           before was a bug. If people worked around this
14147           bug, this will introduce a slight memory leak
14148           in their code. The code should typically look like:
14149
14150             rc_style = gtk_rc_style_new ();
14151             [...]
14152             gtk_widget_modify_style (widget, rc_style);
14153             gtk_rc_style_unref (rc_style);
14154
14155         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
14156           the style if it was already set.
14157
14158         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
14159           style if it was set before.
14160
14161 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
14162
14163         * gtk/testgtk.c (main): Add a check to see if we
14164           are being run from the correct directory and
14165           to quit nicely if we are not.
14166
14167         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
14168           static.
14169
14170 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
14171
14172         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
14173
14174         * gtk/gtkwindow.c:
14175         queue resizes unconditionally (gtk_widget_queue_resize will figure
14176         what to do if the window is not realized).
14177         (gtk_window_move_resize): only recenter the window
14178         for GTK_WIN_POS_CENTER_ALWAYS.
14179         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
14180         the same way as GTK_WIN_POS_CENTER.
14181
14182 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
14183
14184         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
14185         with (!(info->last_flags & GDK_HINT_POS)) instead of
14186         (!info->last_flags & GDK_HINT_POS).
14187
14188         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
14189         new_height unconditionally, because we use these values even if
14190         !default_size_changed && !hints_changed.
14191         comented the (default_size_changed || hints_changed) case with
14192         respect to resize rejects from the window manager.
14193
14194         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
14195         in the zvt condition hack, since this includes the window hints, set
14196         the hints after the handling_resize case.
14197
14198         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
14199         window is initially shown with to the geometry.
14200
14201 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
14202
14203         * gtk/gtkwindow.c (gtk_window_move_resize):
14204         s/size_changed/default_size_changed/g so i know what's
14205         really going on (frying brain on smaller flame now).
14206
14207 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
14208
14209         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
14210         we have size_changed upon handling_resize. this is a gross
14211         workaround for the broken zvt widget and should be removed in
14212         1.3 again (search for FIXME).
14213         Owen provided an accurate comment for this:
14214
14215         /* We could be here for two reasons
14216          *  1) We coincidentally got a resize while handling
14217          *     another resize.
14218          *  2) Our computation of size_changed was completely
14219          *     screwed up, probably because one of our children
14220          *     is broken. It's probably a zvt widget.
14221          *
14222          * For 1), we could just go ahead and ask for the
14223          * new size right now, but doing that for 2)
14224          * might well be fighting the user (and can even
14225          * trigger a loop). Since we really don't want to
14226          * do that, we requeue a resize in hopes that
14227          * by the time it gets handled, the child has seen
14228          * the light and is willing to go along with the
14229          * new size. (this happens for the zvt widget, since
14230          * the size_allocate() above will have stored the
14231          * requisition corresponding to the new size in the
14232          * zvt widget)
14233          *
14234          * This doesn't buy us anything for 1), but it shouldn't
14235          * hurt us too badly, since it is what would have
14236          * happened if we had gotten the configure event before
14237          * the new size had been set.
14238          */
14239
14240 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
14241
14242         * gtk/gtkrc.c: deal properly with the fact that RC
14243           style lists may include rc styles more than once.
14244
14245         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
14246           unused static function.
14247
14248         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
14249           stack of directories of RC files currently being
14250           parsed and implicitely add them to pixmap path.
14251           
14252           This fixes a bug where the directory would get
14253           appended then overwritten by pixmap_path declarations.
14254
14255           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
14256
14257         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
14258           theme's exit function. (Patch from Peter Wainwright,
14259           bug #1454)
14260
14261         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
14262           Add a destroy() handler to take care of removing
14263           group for menu item. (Fixes bug #1197)
14264
14265         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
14266           in warning message.
14267
14268 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
14269
14270         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
14271         roundtrip to figure window's width and height, since we know that
14272         anyways from widget->allocation.
14273
14274 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
14275
14276         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
14277           the hints after we request the new size.
14278
14279 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
14280
14281         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
14282           GTK_WIDGET_REALIZED() assertion - we can compute the
14283           hints before we are realized.
14284
14285         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
14286           hint changing so that we have a value of hints_changed
14287           when we decide whether to constrain the window size.
14288
14289         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
14290
14291         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
14292         change back to G_MAXINT.
14293
14294 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
14295
14296         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
14297         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
14298         contain uncluttered values.
14299         (gtk_window_compute_hints): simply assert that window is realized
14300         and that geometry_info is valid, since we rely on this anyways.
14301         (gtk_window_constrain_size): major cleanups to the code.
14302         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
14303         for the base size, instead of the minimums. use 32767 as max width
14304         and height (like in gtkwindow.c) instead of G_MAXINT.
14305
14306 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
14307
14308         * cleaned up the GtkContainer.need_resize flag handling mess, we
14309         only need to force resize requests when we were prematurely
14310         realized, or our widget tree was modified when we were temporarily
14311         hidden. handling these cases directly upon showing the window (i.e.
14312         while the GdkWindow is still unmapped) avoids the need to wait for
14313         a configure event response and therefore makes the GUI more snappier
14314         and avoids blank windows during the roundtrip.
14315
14316         * gtk/gtkwidget.c:
14317         (gtk_widget_hide): 
14318         (gtk_widget_show): don't queue resizes on toplevels, they know how
14319         to deal with matters.
14320
14321         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
14322         flag directly for not visible resize containers and spare us unecessary
14323         signal emissions.
14324
14325         * gtk/gtkwindow.c:
14326         (gtk_window_realize): if we need to enforce premature size allocation,
14327         queue a container resize so we are correctly resized later on.
14328         (gtk_window_init):
14329         (gtk_window_size_request):
14330         don't freak around with the ->need_resize flag,
14331         gtk_container_queue_resize() will care about that.
14332         (gtk_window_show):
14333         handle initial resizing issues here, we can handle matters better in
14334         this place, especially since we know that our GdkWindow is still
14335         unmapped.
14336         (gtk_window_move_resize):
14337         don't care about ->need_resize at all.
14338         handle size changes properly that occoured while we waited for a
14339         configure event.
14340
14341 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
14342
14343         * gtk/gtkwidget.c (gtk_widget_set_uposition):
14344         * gtk/gtkwindow.[hc] (gtk_window_reposition):
14345         Move the hint setting code from gtk_widget_set_uposition
14346         to here; set the hints so that we respect any previously
14347         set geometry hints.
14348
14349         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
14350         change the window hints here or move the window here,
14351         let that happen in gtk_window_move_resize().
14352
14353 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
14354
14355         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
14356         to already queued resizes (and therefore redraws) on a widget, check
14357         its anchestry as well.
14358
14359         * gtk/gtkcontainer.c:
14360         (gtk_container_queue_resize): clear resize widgets for resize
14361         containers before aborting prematurely. this is especially important
14362         for toplevels which may need imemdiate processing or their resize
14363         handler to be queued.
14364         (gtk_container_dequeue_resize_handler): added new internal function for
14365         gtkwindow.c.
14366
14367         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
14368         configure event, take possible changes in window position into account
14369         as well.
14370         if we request a new window size, queue up a resize handler that will
14371         last until the configure event response arrives.
14372         combined the ->need_resize case (initial show) with the general size
14373         (hints) changed case and added even more comments.
14374         if !auto_shrink, only revert to the old allocation if the new size
14375         is smaller than the current allocation.
14376
14377 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
14378
14379         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
14380                            gtk_window_set_geometry_hints
14381                            gtk_window_set_default_size):
14382         When hints are set, queue a resize so that the hints will
14383         be eventually reset on the toplevel.
14384
14385         * gtk/gtkwindow.c (gtk_window_show): Use
14386         gtk_window_compute_default_size(). Clear the need_resize flag
14387         on the initail map so that we don't unnecessarily trigger the
14388         resize code.
14389
14390         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
14391         into separate functions. Compare the hints we are setting
14392         with what we set last time so that we can accurately
14393         tell when we need to reset the hints.
14394
14395         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
14396         function to figure out the size from requisition
14397         and default_size.
14398
14399         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
14400         from fvwm to constrain a size to the geometry hints.
14401
14402         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
14403         to compare two sets of geometry hints.
14404
14405         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
14406         from gtk_window_set_hints(), just compute the hints,
14407         don't set them.
14408
14409         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
14410         code from gtk_window_move_resize() to separate function,
14411         rationalize a bit.
14412
14413 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
14414
14415         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
14416         structure into a new private structure.
14417
14418         * gtkrc.c: Split GtkRcStyle into public/private.
14419         In the private part, add a list of pointers to the
14420         RcStyle lists this RcStyle participates in.
14421
14422         * gtkrc.c: When a RcStyle is free, remove all
14423         lists referencing it from the 
14424         realized_style_ht hash, and free those lists.
14425         
14426         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
14427         gtk_rc_init(), since that adds the default styles
14428         to the list of parsed RC files again.
14429
14430         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
14431         
14432 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
14433
14434         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
14435         checks that ensure that a widget's allocation is at least 1 in width
14436         and height. (GNOME note: this doesn't affect old panel code anymore,
14437         because GtkSocket will request width and height of at least 1 since
14438         Fri Jul 23).
14439
14440         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
14441         allocated yet (happens if the user realizes the window prematurely),
14442         size request and allocate it.
14443         (gtk_window_size_allocate): guard against guint underflows.
14444
14445 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
14446
14447         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
14448         in gtk_built_sources, so gtk.defs gets built prior to all other
14449         sources.
14450
14451 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
14452
14453         * gtk/Makefile.am:
14454         invoke indent on gtkmarshal.*. 
14455         rewrote source generation rules, use COPYING as oldest source tag for
14456         a piggyback rule to generate all sources from (don't touch it ;).
14457         major cleanups, strip spaces on build rules for GNU Make.
14458
14459         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
14460         source and target files from commandline arguments. don't invoke indent.
14461
14462 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
14463
14464         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
14465         notebook after switch to avoid drawing problems.
14466         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
14467         
14468         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
14469         show them instead. 
14470         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
14471
14472 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
14473
14474         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
14475         notebook after switch to avoid drawing problems.
14476         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
14477         
14478         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
14479         show them instead. 
14480         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
14481
14482 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
14483
14484         * gtk/gtkwindow.c:
14485         we use window->need_resize from configure_event now, to indicate that
14486         the gtkwindow should keep its allocation (e.g. because the user resized
14487         the window through window manager handles). resize_count is now reliably
14488         used to figure whether we got the allocation we requested from the
14489         window manager.
14490         configure events get queued as resizes now, the real stuff (size
14491         computation and allocation) now only goes on in gtk_window_move_resize().
14492         GtkWindow's requisition now contains its *real* requisition (like all
14493         other widgets), *not* taking usize into account.
14494         geometry_info->last_{width|height} is now updated from set_hints() only
14495         so it always contains the last hints we set for the window manager.
14496         made some event handlers return TRUE instead of FALSE.
14497         the overall code should be much more straight forward now, and the
14498         significant code portions are accompanied by comments now.
14499         (gtk_window_set_hints):
14500         removed requisition argument and made it
14501         fetch the requisition through gtk_widget_get_child_requisition.
14502         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
14503         does that now.
14504         (gtk_window_show):
14505         ensure that the widget is realized before calling 
14506         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
14507         ensure that we got properly size requested and allocated before
14508         realization.
14509         (gtk_window_configure_event):
14510         ignore plain window moves, or reallocate the widget tree through the
14511         resize queue otherwise.
14512         (gtk_window_move_resize):
14513         mostly rewrote this function to figure window manager hints more
14514         reliably, coalesce window moves and resizes to reduce configure events
14515         and do actuall size allocations.
14516
14517 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
14518
14519         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
14520         that have a resize pending, because a redraw is already queued for them.
14521
14522         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
14523         hack to clear resize_widgets.
14524
14525         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
14526         for resize containers prior to size allocation. (this is also a bit
14527         ugly, but avoids side effects for stopped emissions and is thus more
14528         reliable).
14529         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
14530
14531         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
14532         function from gtk_tooltips_expose, as we connect to ::expose_event
14533         *and* ::draw now.
14534
14535 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
14536
14537         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
14538         checks.
14539         (gtk_target_list_unref): Likewise.
14540
14541         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
14542
14543 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
14544
14545         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
14546         guard against division by zero. (Fixes bug #1339)
14547
14548 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
14549
14550         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
14551         Prevent the trivial leak of information of allowing
14552         word motion when the entry is not visible.
14553
14554 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
14555
14556         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
14557         modality to error dialog as well as confirmation dialogs.
14558         (Bug #1803, reported by Rosanna Wing Sze Yuen)
14559
14560 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
14561
14562         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
14563         tree->view_lines.
14564         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
14565
14566         * gtk/Makefile.am (install-data-local): Solaris apparently
14567         has various troubles with ln -f; use rm first instead.
14568         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
14569
14570 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
14571
14572         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
14573         use `cp' followed by `rm' (the `rm' was already there).
14574
14575 July 30, 1999 Elliot Lee <sopwith@redhat.com>
14576         
14577         * configure.in: Fix autoconf warnings about cross compilation by
14578         trying to provide sane defaults for AC_TRY_RUN.
14579         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
14580         put them into $(srcdir) when generated. Also add a dependency of
14581         gtksignal.h on gtkmarshal.h for -j builds. 
14582         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
14583
14584 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
14585
14586         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
14587         GDK_THREADS_{LEAVE,ENTER} pair.
14588         (From Paul Fisher <pnfisher@redhat.com>)
14589
14590 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
14591
14592         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
14593         width and height are always >0 (owen).
14594
14595 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
14596
14597         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
14598         change that assured that a widget's allocated with and height are
14599         always >1, since this breaks *buggy* panel code. unfortunately this
14600         back-breaks the gimp's color selector.
14601
14602         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
14603         allocation is always >0 in width and height, before sending the
14604         configure event; this is a *gross* hack to get the gimp back to work.
14605         
14606         * marked both cases with TODO-1.3
14607
14608 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
14609
14610         * gtk/gtktext.c: Don't display wrap indicators when
14611         text is not editable and word wrap is on.
14612
14613 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
14614
14615         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
14616         option menus here as they are not derived from menu shell, assure that
14617         the option menu has a menu we can add items to.
14618
14619 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
14620
14621         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
14622         width/height to (gint) before calculations and check against < 0 to
14623         avoid guint wraparounds.
14624
14625 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
14626
14627         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
14628         width and height is never zero. sanity check both dimensions against
14629         32767 and issue a warning if the allocation is greater than that.
14630
14631 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
14632
14633         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
14634         to g_main_pending() as well.
14635
14636 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
14637
14638         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
14639         call to g_main_iteration() - since that will regrab
14640         GTK+ lock to process events.
14641
14642 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
14643
14644         * gtk/gtkwindow.c
14645         - Regularize with the rest of GTK+ by making widget->requisition
14646           not reflect the set_usize()
14647         - Always recompute geometry hints, then check if they
14648           changed before sending them to the X server. The
14649           previous checks for changes would fail in a number
14650           of circumstances. 
14651
14652 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
14653
14654         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
14655
14656 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
14657
14658         * gtk/gtkdnd.c:
14659         - Code cleanups
14660         - Instantaneously update on modifier key presses
14661         - Allow cancellation of the drag with Escape.
14662
14663 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
14664
14665         * gtk/testgtk.c (create_handle_box): Set the policy
14666         to auto_shrink - otherwise the appearance is rather
14667         strange when flipping between horizontal and vertical.
14668
14669 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
14670
14671         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
14672         (gtk_window_set_default_size): don't change a value if it's < 0.
14673         queue a resize.
14674
14675 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
14676
14677         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
14678
14679 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
14680
14681         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
14682         add an extra "/" when concating "/" + filename.
14683         (From Matt Grossman <mattg@oz.net>)
14684
14685 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
14686
14687         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
14688         for fg_gc if we set it for drawing pixmap.
14689
14690 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
14691
14692         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
14693         
14694         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
14695         already set, call old engine's destroy function and
14696         unref the old engine.
14697
14698 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
14699
14700         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
14701
14702 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
14703
14704         * gtk/gtkaccelgroup.h: mark certain functions as internal.
14705
14706 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
14707
14708         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
14709         expand behaviour changed.
14710
14711         * gtk/gtklabel.c (gtk_label_set_pattern):
14712         (gtk_label_set_justify):
14713         (gtk_label_set_line_wrap):
14714         don't bother invoking queue_clear, the reallocation does
14715         that for us, always free_words so the upcoming resize will
14716         relayout the label's contents.
14717
14718 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
14719
14720         * applied argument implementation patches from Elena Devdariani
14721         <elena@cogent.ca>.
14722
14723         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
14724         ::space_style, ::relief
14725         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
14726         * gtk/gtkpreview.c: ::expand
14727         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
14728         * gtk/gtknotebook.c: ::homogeneous
14729         * gtk/gtklabel.c: ::wrap
14730         * gtk/gtklist.c: ::selection_mode
14731         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
14732         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
14733         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
14734         * gtk/gtkclist.c: ::sort_type
14735         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
14736         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
14737
14738 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
14739
14740         * gtk/gtkstyle.c: Removed ill-thought-out part of last
14741         comment.
14742
14743 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
14744
14745         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
14746         counting right when we have to attach a new style
14747         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
14748
14749         * gtk/gtkstyle.c: Documented the refcounting
14750         peculularities of gtk_style_attach.
14751
14752 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
14753
14754         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
14755         window types.
14756
14757         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
14758         of GTK_TOPLEVEL for creating the window.
14759
14760 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
14761
14762         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
14763         the last argument (reported by Per Winkvist).
14764         
14765 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
14766
14767         Fixes for invisible XOR lines (Frank Loemker
14768         <floemker@TechFak.Uni-Bielefeld.DE>)
14769         
14770         * gtk/gtkclist.c (gtk_clist_realize): Always use
14771         a non-zero pixel for GDK_XOR.
14772
14773         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
14774         Use GDK_INVERT instead of GDK_XOR.
14775
14776 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
14777
14778         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
14779         signals if h/voffsets differ from adjustment values.
14780         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
14781
14782 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
14783
14784         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
14785         ::selection-done emissions up to the topmost menu shell.
14786
14787 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
14788
14789         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
14790         the user data on the window before destroying it.
14791
14792         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
14793         unrealize handler to take care of destroying 
14794         notebook->panel properly. 
14795         (Bug #1198 - Morten Welinder <terra@diku.dk>)
14796
14797         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
14798         of g_new and g_realloc to stop memory leak. (Actually,
14799         we could just use g_realloc(), but I'm not 100% sure
14800         that is portable).
14801         (Bug #1196 - Morten Welinder <terra@diku.dk>)
14802
14803 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
14804
14805         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
14806
14807         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
14808         for fontsets.
14809
14810         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
14811         with bin/button confusion.
14812
14813 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
14814
14815         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
14816         and show how preselection of radio items is done.
14817
14818 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
14819
14820         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
14821         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
14822         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
14823         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
14824         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
14825         * gtk/gtktable.c (gtk_table_attach): 
14826         * gtk/gtklist.c (gtk_list_insert_items): 
14827         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
14828         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
14829         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
14830         * gtk/gtkbin.c (gtk_bin_add): 
14831         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
14832         * gtk/gtkfixed.c (gtk_fixed_put): 
14833         * gtk/gtklayout.c (gtk_layout_put):
14834         general fixups to container_add logic. always realize child if
14835         child->parent is realized, only map the child and queue a resize
14836         if child and child->parent are both visible.
14837
14838 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
14839
14840         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
14841         instead of gtk_container_foreach to walk and unrealize children, so
14842         composite children get also unrealized.
14843         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
14844         (gtk_widget_map): assert that the widget is visible (basic constrain).
14845         (gtk_widget_real_map): assert that the widget is realized (basic
14846         constrain).
14847
14848 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
14849
14850         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
14851
14852 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
14853
14854         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
14855         file for iso-8859-2 locales.
14856
14857         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
14858
14859 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
14860
14861         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
14862          (Pointed out by andy@rz.uni-karlsruhe.de and others).
14863          Remove some suspicious and useless lines. 
14864
14865 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
14866
14867         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
14868         width,height = 0, 0 to mean - here to edge of window,
14869         instead of -1, -1, since the former is all we support.
14870
14871 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
14872
14873         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
14874         when removing from quit_functions list.
14875
14876 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
14877
14878         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
14879
14880 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
14881
14882         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
14883          When redrawing characters on non-visible entry, use appropriate
14884          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
14885
14886 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
14887
14888         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
14889         from drag coordinates.
14890         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
14891         use drag_dest_cell.
14892
14893         * gtk/gtktree (drag_dest_cell)
14894         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
14895         (Bug #1129)
14896
14897 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
14898
14899         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
14900         translate_* fields.
14901         (gtk_item_factory_finalize): invoke translate_notify independant from
14902         translate_data.
14903         (gtk_item_factory_set_translate_func): likewise.
14904         (gtk_item_factory_destroy): only remove ifactory pointer from those
14905         widgets that belong to us (stupid me).
14906
14907 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
14908
14909         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
14910         rc_style list when lookup succeeeds.
14911
14912 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
14913
14914         * gtk/gtkctree.c (resync_selection): 
14915         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
14916         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
14917         bug.
14918
14919 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
14920
14921         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
14922         Add some missing GDK_THREADS_ENTER()/LEAVE around
14923         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
14924
14925 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
14926
14927         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
14928         rather than emit_by_name.
14929
14930         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
14931         on the widget across multiple signal emissions.
14932         (gtk_editable_delete_text): same here.
14933         (gtk_editable_class_init): set widget_class->activate_signal after
14934         editable_signals[ACTIVATE] has been created.
14935
14936 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
14937
14938         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
14939         position here prematurely -- we might not have the
14940         right ->min_position and ->max_position yet.
14941
14942 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
14943
14944         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
14945         Add error traps so if the other end of the connection
14946         dies, we survive.
14947
14948         * gtk/gtkselection.c (gtk_selection_notify): Clean
14949         up properly when selection property retrieval fails.
14950         
14951         * gtk/gtkselection.c (gtk_selection_request): Correctly
14952         reject SelectionRequest notifies where the handler
14953         returns no data.
14954
14955 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
14956
14957         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
14958         when we've previously highlighted.
14959
14960         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
14961         emit two "drag_leave" signals for Motif drops.
14962
14963         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
14964         back the correct status messages when dropping from
14965         Motif onto a proxy window that is rejecting the
14966         drop.
14967
14968 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
14969
14970         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
14971         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
14972         to compare two argument values. added gtk_arg_to_valueloc() to set a
14973         variable from an arg through its location (pointer).
14974
14975         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
14976         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
14977         as gfloat*, uchars are collected as guchar*, ints are collected as
14978         gint*, etc...
14979
14980 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
14981
14982         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
14983         Include <string.h> instead of <strings.h>.
14984
14985         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
14986         (actually, a lot more duplicate includes occur if
14987          you trace through the sequence of #include's)
14988         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
14989         
14990 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
14991
14992         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
14993         gtk-a-higuti-990322-[0-3]
14994
14995         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
14996         that was causing -DX_LOCALE not to work.
14997
14998         * gtk/gtkrc.c (gtk_rc_init):
14999         X_LOCALE will never have LC_MESSAGES defined
15000
15001 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
15002
15003         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
15004         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
15005
15006         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
15007         left/right as well (gtk-michael-980726-0.patch.gz).
15008
15009         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
15010         for pointer values, use gchar instead of char. fixed uline allocation
15011         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
15012         chunks instead of G_ALLOC_ONLY.
15013         (gtk_label_size_request): always alter requisition as passed and leave
15014         widget->requisition alone.
15015         (gtk_label_set_text): allow NULL strings.
15016         (gtk_label_new): likewise.
15017
15018 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
15019
15020         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
15021
15022 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
15023
15024         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
15025         *and* mapped (i.e. drawable).
15026         (gtk_bin_expose): only send exposes to drawable children.
15027
15028         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
15029         (gtk_box_expose): only send exposes to drawable children.
15030
15031         * gtk/gtkhscale.c (gtk_hscale_draw): 
15032         * gtk/gtkvscale.c (gtk_vscale_draw):
15033         hm, this is an ugly one. we first compute the size of our trough area
15034         here (window relative) and then check intersection with the draw_area
15035         which is parent relative because we're a NO_WINDOW widget, so we need
15036         to offset the trough area by allocation.x and allocation.y before the
15037         check. (this must not be done for the background area though, since
15038         that's already computed parent relative).
15039
15040 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
15041
15042         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
15043         unrealize title buttons.
15044
15045 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
15046
15047         * gtk/gtkclist.c (gtk_clist_column_title_passive)
15048         (gtk_clist_column_title_active): 
15049         only connect/disconnect to GtkWidgetClass::event to block mouse events.
15050
15051         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
15052         zero initialize event, removed superfluous gdk_window_get_pointer call
15053
15054         * gtk/gtklist.c (gtk_list_vertical_timeout)
15055         (gtk_list_horizontal_timeout): removed superfluous
15056         gdk_window_get_pointer call
15057
15058 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
15059
15060         * plugging problems reported by "Bruce Mitchener, Jr."
15061         <bruce@puremagic.com> due to a purify session.
15062
15063         * gtk/gtkstyle.c:
15064         (gtk_style_ref): 
15065         (gtk_style_unref): assert ref_count to be > 0.
15066
15067         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
15068         the requisition.
15069         (gtk_clist_set_shift): likewise.
15070
15071         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
15072         adjustments.
15073
15074         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
15075         event before sending it and set send_event to TRUE (which needs to
15076         be done for *all* synthesized events).
15077         (gtk_list_vertical_timeout): likewise.
15078
15079         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
15080         leaks.
15081
15082         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
15083         to TRUE when synthesizing events.
15084
15085 [ *** end of merges from 1.2 *** ]      
15086         
15087 1999-11-21  Tor Lillqvist  <tml@iki.fi>
15088
15089         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
15090         (or copied from gdkconfig.h.win32 on Win32, sigh).
15091
15092         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
15093
15094         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
15095
15096         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
15097
15098         * gdk/gdkconfig.h.win32: New file.
15099
15100         * gdk/win32/makefile.cygwin: Build just a static archive here.
15101
15102         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
15103         for the DLL from the static archive built above.
15104
15105         * gdk/gdk.def: Moved here from the win32 subdirectory.
15106
15107         * gdk/win32/*: Adapt for the changed private struct organisation.
15108
15109         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
15110
15111 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
15112
15113         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
15114         for wheel mice (buttons 4 and 5).
15115
15116 1999-11-18  Tor Lillqvist  <tml@iki.fi>
15117
15118         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
15119         drawables use just the pixel field in the foreground and
15120         background GdkColor of the GdkGC.
15121
15122         gdk_gc_set_{fore,back}ground() are called in the GIMP with
15123         GdkColors containing uninitialized (red,green,blue) fields, and
15124         just the pixel field filled in, and furthermore in the
15125         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
15126         It thus turns out that we really don't need to have the full
15127         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
15128         it later to have just the pixel values.
15129
15130 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
15131
15132         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
15133
15134 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
15135
15136         * docs/gtkfaq.sgml: threads example from Erik Mouw.
15137         New question on GtkLabel background colors.
15138
15139         * docs/gtk_tut.sgml:
15140           - Correct the example code callback
15141             function definitions.
15142           - Update the gtkdial example code, from Frans van Schaik.
15143           - Update setselection.c to current API.
15144
15145         * examples/Makefile examples/*/*.c: Update to code
15146         listed in tutorial.
15147
15148 1999-11-10  Tor Lillqvist  <tml@iki.fi>
15149
15150         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
15151         subrange table (from the "Developing International Software for
15152         WIndows 95 and Windows NT" book) was missing the Hangul syllable
15153         block... Get the loaded font's charset correctly.
15154
15155         (Note that this, and the other *-win32.c files, still really are
15156         the old ones, the win32 subdirectory is not ready for compilation
15157         yet after the reorg.)
15158
15159 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
15160
15161         * gtk/gtkclist.c: Fix off-by-one bug in parameter
15162         check.
15163
15164 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
15165
15166         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
15167         on results of XQueryDeviceState().
15168
15169 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
15170
15171         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
15172         we need to accesss only ->children. We need an accessor
15173         for the children.
15174
15175         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
15176         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
15177         to get rid of gdkx.h include.
15178         
15179         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
15180         and random references to 'None'.
15181
15182         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
15183         Get rid of unused #include <gdk/gdkx.h>
15184
15185         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
15186         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
15187         gdkconfig.h.
15188
15189 1999-11-08  Tor Lillqvist  <tml@iki.fi>
15190
15191         * gdk/win32/gdkdraw.c
15192         * gdk/win32/gdkfont.c
15193         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
15194         following yesterday's changes. (Unrelated to Owen's reorg.)
15195
15196 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
15197
15198         * gdk/x11/gdkinput-gxi.c: Add missing include,
15199           fix GdkWindowPrivate => GdkDrawablePrivate.
15200
15201         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
15202
15203         * gdk/x11/Makefile.am (xinput_sources): Add missing
15204         backslash to fix building with --with-xinput=none
15205
15206 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
15207
15208         Move all X specific code into the x11/ directory.
15209         Aside from shuffling things around, did the following:
15210
15211        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
15212          gdk_arg_context_* - a simple argument parsing system
15213          in the style of popt.
15214
15215        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
15216          gdk/x11/gdkprivate-x11.h:
15217          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
15218          add ->klass and ->klass_data fields. The klass_data
15219          field points to an auxilliary structure that is
15220          windowing system dependent.
15221
15222        * gdk/gdkfont.c: Make most of the measurement functions
15223          simply wrappers around gdk_text_extents().
15224
15225        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
15226          _gdk_font_strlen() function that hides the weird
15227          behavior in gtk+-1.[02] where a string is interpreted
15228          differently for 8-bit and 16-bit fonts.
15229
15230        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
15231          to store common code for synthesizing double/triple
15232          press events.
15233         
15234        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
15235          Make all the function that modify an existing GC
15236          simply wrappers around gdk_gc_set_values().
15237          
15238        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
15239          for throwing out later.
15240
15241        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
15242          GdkImagePrivate and GdkColormapPrivate to have a
15243          windowing system dependent part (GdkFontPrivateX etc.)
15244          that "derives" from the system-independent part.
15245
15246        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
15247          Got rid of the included-source-files for XInput in
15248          favor of automake conditionals. (Which didn't exist
15249          when XInput support was originally added.)
15250
15251        * gdk/gdkrgb.c: Remove the visual id from the debugging
15252          statements since that is X11 specific; print out
15253          type/depth info instead.
15254          
15255
15256 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
15257
15258         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
15259         loading duplicates of hashed fonts.
15260
15261         * gdk/gdk.c (gdk_keysym_convert_case): rename
15262         gdk_XConvertCase to gdk_keysym_convert_case, allow
15263         results to be NULL in the GTK+ style.
15264
15265         * gdk/gdkcompat.h: Started compatibility header
15266         for renames.
15267
15268 1999-11-07  Tor Lillqvist  <tml@iki.fi>
15269
15270         * gdk/win32/gdkprivate.h: New font private structures, related to
15271         fontsets.
15272
15273         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
15274         gdk_font_list_free(). On X11, will just be wrappers to
15275         XListFonts() and XFreeFontNames(). On Win32, the code previously
15276         in gtkfontsel.c is now here.
15277
15278         New function gdk_font_xlfd_create(). On X11 will get the FONT
15279         property of the font (for GDK_FONT_FONTs), or call
15280         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
15281         builds a XLFD style name from the font information in the LOGFONT
15282         struct(s).
15283
15284         New function gdk_font_xlfd_free(), which correspondingly frees the
15285         string returned by gdk_font_xlfd_create().
15286
15287         Implement fontsets on Win32. Add a function that iterates over a
15288         wide char string and calls a callback function for each substring
15289         of wide chars from the same Unicode subrange (and thus probably
15290         available in the same real font).
15291
15292         Improve the XLFD emulation a bit.
15293
15294         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
15295
15296         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
15297         Beta3, WM_IME_CHAR messages don't seem to contain the composed
15298         multi-byte char as with the Active IMM on Win9x. Oh well, handle
15299         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
15300         ImmGetCompositionStringW() to get the composed Unicode chars.
15301
15302         * gdk/win32/gdkgc.c
15303         * gdk/win32/gdkdraw.c: Changes needed because of the font private
15304         struct changes.
15305
15306         * gdk/win32/gdk.def: Add the new functions.
15307
15308 1999-11-04  Tor Lillqvist  <tml@iki.fi>
15309
15310         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
15311         get the Platform SDK to get <dimm.h>.
15312
15313         * gdk/win32/gdkevents.c: More event handling fixes and
15314         simplification. Never generate motion events with is_hint true. We
15315         used to do that on bogus grounds earlier. Windows sends
15316         WM_MOUSEMOVE messages on button events even if the mouse hasn't
15317         moved, ignore these.
15318
15319         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
15320
15321         * gdk/win32/gdkglobals.c
15322         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
15323         the TrackMouseEvent function, and use it.
15324
15325         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
15326         char before calling WideCharToMultiByte in order to get a string
15327         for the window title.
15328
15329         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
15330
15331         * gdk/win32/gdk.def: Remove obsolete functions.
15332
15333         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
15334         /nodefaultlib and /defaultlib switches.
15335
15336         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
15337
15338 1999-10-31  Tor Lillqvist  <tml@iki.fi>
15339
15340         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
15341         EuroSign).
15342
15343         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
15344         same type as GdkWChar, especially on Win32.
15345
15346         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
15347
15348         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
15349         before passing to Windows GDI for drawing etc. Convert to the
15350         system default codepage before passing to Windows as window
15351         titles.
15352
15353         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
15354         support changing input locale on the fly.
15355
15356         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
15357         on-the-fly changes. Convert incoming characters from the current
15358         codepage to Unicode (and then to a UTF-8 multi-byte string) based
15359         on the current input language. Use keysym<->Unicode mapping tables
15360         and functions borrowed from xterm sources.
15361
15362         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
15363         editions of Win9x, use the ActiveX-based Active IMM (Input Method
15364         Manager) if available. IMEs and the Active IMM are available under
15365         the disguise of Chinese, Korean and Japanese support for IE and
15366         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
15367         support is present in all editions (as long as you install it).
15368
15369         Call DispatchMessage from gdk_events_queue() (and thus
15370         gdk_WindowProc()), instead of duplicating the code in
15371         gdk_WindowProc().
15372
15373         Reworked the grab handling and propagation code, factored out
15374         duplicated code snippets into separate functions. Other cleanups,
15375         too.
15376
15377         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
15378         the <dimm.h> header describing the Active IMM.
15379
15380         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
15381         just do the same as for "single" fonts.
15382
15383         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
15384         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
15385         the new keysyms from gdkkeysyms.h.
15386
15387         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
15388         fontset, so that gtkentry uses wide characters.
15389
15390         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
15391         GTk+'s system directory "gtk+", not "gtk".
15392
15393 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
15394
15395         * docs/gtkfaq.sgml: FAQ update
15396
15397 1999-10-21  Tor Lillqvist  <tml@iki.fi>
15398
15399         * gdk/win32/gdkprivate.h: Add more font private data.
15400
15401         * gdk/win32/gdkfont.c
15402         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
15403         fonts and strings. Now works much better. You still have to
15404         have a correct font selected, though. No fontset emulation yet.
15405
15406 1999-10-19  Tor Lillqvist  <tml@iki.fi>
15407
15408         * gtk/maketypes.awk: Use G_OS_WIN32.
15409
15410         * gtk/gtk.def: Add some missing entry points. Also some non-public
15411         ones, but PyGTK porter claims to need them.
15412
15413         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
15414         built-in type generation.
15415
15416 1999-10-14  Tor Lillqvist  <tml@iki.fi>
15417
15418         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
15419         GDK_FONT_FONT fonts (which is all we have for now, we don't
15420         emulate fontsets). The X11 version uses plain XDrawString in that
15421         case, too. The string passed to gdk_draw_text_wc seems to be in
15422         fact (at least, when used by gtkentry and gtktext) either in a
15423         single-byte charset, or a DBCS. Not Unicode.
15424
15425         This fixes the problem in gtkfontsel, where even if you had
15426         selected a font with a non-Latin1 charset (windows-greek, for
15427         instance), the preview still used Latin-1 glyphs.
15428
15429         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
15430         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
15431         (gdk_font_load): Recognize the demibold etc weights, even if we
15432         don't have the corresponding constants in the headers.
15433         (gdk_font_hash_insert): Use same hash mechanism as in the X11
15434         version. Should save font resources a bit, when we don't have
15435         multiple HFONTs for the same font.
15436
15437         * gdk/win32/gdkprivate.h: Add the names field as in the X11
15438         version.
15439
15440 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
15441
15442         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
15443         X values
15444
15445 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
15446
15447         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
15448         layout support (as mentioned on
15449         http://www.jcinteractive.com/gnome-ui/software/widgets/)
15450
15451 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
15452
15453         * gtk/fnmatch.c
15454         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
15455
15456 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
15457
15458         * configure.in (ALL_LINGUAS): Added Galician (gl)
15459
15460 1999-10-05  Tor Lillqvist  <tml@iki.fi>
15461
15462         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
15463
15464         * gdk/win32/gdkcompat.c: New file, actually provide an
15465         implementation for the deprecated functions. (Just temporarily.)
15466
15467         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
15468
15469         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
15470
15471         * gdk/win32/gdk.def gtk/gtk.def: Updates.
15472
15473 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
15474
15475         * configure.in: Added "uk" to ALL_LINGUAS.
15476         
15477 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
15478
15479         * configure.in: correct checking for BeOS check
15480
15481         * gdk/gdktypes.h
15482         * gtk/fnmatch.c
15483         * gtk/gtkfilesel.c
15484         * gtk/gtkitemfactory.c
15485         * gtk/gtkmain.[ch]
15486         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
15487
15488 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
15489
15490         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
15491         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
15492         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
15493         by Bulgarian). 
15494
15495 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
15496
15497         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
15498         Fix a reference to window_private->destroyed.   
15499
15500         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
15501         (ugly) setting of an internal GdkWindow member to use
15502         a _slightly_ cleaner macro.
15503
15504         * gdk/gdkprivate.h: Split GdkWindowPrivate into
15505         GdkDrawablePrivate and GdkWindowPrivate.
15506         Add extra macros for accessing GDK_DRAWABLE_ components.
15507
15508         * *.[ch]: Massive adjustments for the above, use the
15509         new macros in a lot of places.
15510
15511 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
15512
15513         * gdk/gdktypes.h: Make GdkDrawable the base type,
15514         not GdkWindow.
15515
15516 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
15517
15518         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
15519
15520 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
15521
15522         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
15523
15524 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
15525
15526         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
15527         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
15528
15529         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
15530
15531         * docs/gtk-config.1: Now autogenerated.
15532         * docs/Changes-1.4.txt: started
15533         
15534 1999-10-03  Tor Lillqvist  <tml@iki.fi>
15535
15536         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
15537         to #ifdef also here.
15538
15539         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
15540         Owen did to the X11 backend.
15541
15542         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
15543         ScrollWindowEx when blitting inside a window, it can't be correct
15544         in the general case.
15545
15546         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
15547         WM_GETMINMAXINFO is easier.
15548
15549         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
15550         depth equal to the bitspixel value, not the visual's depth.
15551
15552         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
15553         to 24 even if the bitspixel value is 32.
15554
15555         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
15556         need to check for depth==32 when bpp==32, depth will always be 24.
15557
15558 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
15559
15560         * docs/Changes-1.4.txt: Started
15561         
15562         * gtk/Makefile.am (gdk_headers): Include all the new headers.
15563
15564         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
15565         
15566         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
15567         into C file.
15568         
15569         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
15570         header to gdkinputprivate.h.
15571
15572         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
15573         unused since before 1.2.
15574
15575 1999-09-30  Tor Lillqvist  <tml@iki.fi>
15576
15577         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
15578         expand possible hex escapes in the font family (put there by
15579         logfont_to_xlfd if the font name isn't a legal XLFD font family,
15580         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
15581         On Win32, add hex escapes here, too.
15582
15583 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
15584
15585         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
15586         to #ifdef GDK_WINDOWING_X11.
15587
15588 [ Merges from gtk-1-2 ]
15589
15590 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
15591
15592         * configure.in: fixed "GNU Make" check to pass with new make version
15593         3.77.95.
15594
15595 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
15596
15597         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
15598         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
15599         AM_PATH_GTK() macros don't get confused by the -pre1.
15600
15601 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
15602
15603         * configure.in (REBUILD): Change check for perl5
15604           to check explicitely for v >= 5.002. (5.001
15605           does not work with our scripts.)
15606
15607 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
15608
15609         * configure.in: evaluate $PERL for the perl version check. added
15610         --disable-rebuilds to give the user an option to completely disable
15611         any source autogeneration rules.
15612
15613 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
15614
15615         * configure.in: evaluate $ac_make when checking for GNU Make.
15616
15617 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
15618
15619         * docs/Makefile.am: added generation.txt.
15620
15621         * Makefile.am: require automake 1.4, build README from README.in and
15622         INSTALL from INSTALL.in in dist-hook.
15623         
15624         * README.in:
15625         * INSTALL.in: new files to autogenerate README and INSTALL from.
15626
15627         * configure.in: figure whether we have GNU Make
15628
15629         * docs/generation.txt: minor additions/corrections.
15630
15631 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
15632
15633         * docs/gtkfaq.sgml: FAQ Update
15634
15635 July 30, 1999 Elliot Lee <sopwith@redhat.com>
15636         
15637         * configure.in: Fix autoconf warnings about cross compilation by
15638         trying to provide sane defaults for AC_TRY_RUN.
15639
15640 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
15641
15642         * ltconfig
15643         * ltmain.sh: upgrade to libtool 1.3.3
15644
15645 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
15646
15647         * INSTALL: Indicate that the --with-glib= configure
15648         time flag is unsupported.
15649
15650 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
15651
15652         * docs/generation.txt: Added a file that gives
15653         documenation about the autogeneration process for
15654         various autogenerated files.
15655         
15656 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
15657
15658         * configure.in (LIBS): Look for libgmodule in the
15659         right location.
15660
15661 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
15662
15663         * docs/gtk_tut.sgml: Removed references to
15664         code examples in my directory on gtk.org as
15665         they should all be in the tutorial now.
15666
15667         * docs/gtk_tut.sgml: Added sources for dial-test
15668         and scribble-xinput programs that were previously
15669         missing.
15670
15671 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
15672
15673         * TODO: Added entry about menu keyboard navigation, removed
15674         some finished items.
15675
15676 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
15677
15678         * acinclude.m4: Standardize on func_dgettext
15679         not func_gettext, so that the checks for dgettext
15680         actually are paid attention to.
15681
15682 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
15683
15684         * configure.in (LIBS): Add $INTLLIBS into $LIBS
15685         directly, rather than repeating the checks for
15686         gettext.
15687
15688         * INSTALL: Added information about gettext and
15689         NLS support.
15690
15691         * acinclude.m4 (LIBM): Check for dgettext, not
15692         just gettext. This should hopefully fix things wrt
15693         systems with old versions of GNU gettext installed.
15694
15695 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
15696
15697         * configure.in (LIBS): Look for libgmodule in the
15698         right location.
15699
15700 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
15701
15702         * autogen.sh: add --enable-maintainer-mode
15703
15704         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
15705
15706 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
15707
15708         * docs/gtk-config.1.in:
15709           docs/Makefile.am:
15710           configure.in: gtk-config is now generated.
15711
15712         * docs/gtk-config.1: Removed, now generated.
15713
15714 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
15715
15716         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
15717         handle CreateNotify itself, still put out a debuging message for
15718         --gdk-debug=events. made the ReparentNotify debugging message more
15719         verbose.
15720         wrap xcoords translation for ConfigureEvents into an error trap,
15721         a destroy event may already be pending, and in that case, the
15722         actuall coordinate values are not at all critical.
15723
15724 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
15725
15726         * gdk/gdkcc.c: Stop leaking the color_hash all over
15727         the place. Simplify and improve the logic.
15728
15729 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
15730
15731         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
15732         for prototypes and function implementations consistent (reported
15733         by Tomas Ogren).
15734
15735 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
15736
15737         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
15738         send_event set in debugging output.
15739         (gdk_compress_exposures): default initialize the event so we don't
15740         operate on bogus values (namely send_event).
15741
15742 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
15743
15744         * gdk/gdkwindow.c: When we receive an unexpected
15745         destroy notify on one of our windows, don't just
15746         warn about it, also mark our windows as destroyed.
15747
15748 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
15749
15750         * gdk/gdkfont.c (gdk_font_hash_insert): Add
15751           name => font and name => fontset hashes. The 
15752           name => fontset hash is a _big_ win since we
15753           weren't previously caching fontsets at all and loading
15754           fontsets is expensive. The name => font hash
15755           is less of a win, but it does save us from doing
15756           repeated XQueryFont calls on the same font.
15757
15758         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
15759           list so we can remove font/fontset from hash.
15760
15761 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
15762
15763         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
15764           and slightly confusing test. [ XInternAtom (,,TRUE)
15765           will never return None ].
15766
15767 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
15768
15769         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
15770           gdk/gdkwindow.c (gdk_window_set_hints):
15771
15772         Don't omit setting the properties if flags == 0 -
15773         there may be an existing set of properties there
15774         already. (Very old bug. Would it be better to
15775         delete the property instead?)
15776
15777         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
15778           spelling error in comment.
15779
15780 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
15781
15782         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
15783           to avoid stomping over gdk_error_warnings.
15784
15785         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
15786           as (bits_per_pixel + 7) / 8. This gives the same
15787           result as before for multiples of 8, but actually
15788           a "reasonable" value for 1bit or 4bit displays.
15789
15790 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
15791
15792         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
15793         GNU Make.
15794
15795 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
15796
15797         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
15798         discarding configure events.
15799
15800 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
15801
15802         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
15803         refcount is greater than zero.
15804
15805         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
15806
15807         * gdk/gdkfont.c (gdk_font_unref): Likewise.
15808
15809         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
15810
15811         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
15812
15813 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
15814
15815         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
15816         that format 32 => sizeof(item) == 4. It really is
15817         sizeof(long).
15818
15819 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
15820
15821         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
15822         core dump at all on X IO errors, only core dump
15823         if --enable-debug for X errors.
15824
15825 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
15826
15827         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
15828         unknown window:" message. disabled ConfigureNotify discarding code,
15829         because it led to events being processed out of order.
15830
15831 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
15832
15833         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
15834
15835         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
15836         we export this function, supress error warnings and don't reset the
15837         error code in the first half of this function.
15838
15839         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
15840         code (instead of just -1) so gdk_error_trap_pop() reveals something
15841         actually informative about the error that happened.
15842
15843         * gdk/*.c:
15844         don't rely on gdk_error_code being -1 if an error occoured, but just
15845         gdk_error_code != 0.
15846
15847 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
15848
15849         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
15850         pointer *before* invoking the filter function, so we at least don't
15851         crash if a filter is removed that is currently executed. window filters
15852         *really* need to be made truely reentrant at some point.
15853
15854 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
15855
15856         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
15857         PropertyNotify debug messages.
15858
15859 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
15860         
15861         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
15862         
15863         * gdk/gdkim.c: Fix cut-and-paste errors for 
15864         x/y and PreeditAttributes/StatusAttributes.
15865
15866 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
15867
15868         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
15869         G_MAXINT to 2^16 to alleviate overflow problems in
15870         various window managers.
15871
15872 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
15873
15874         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
15875         for fontsets.
15876
15877 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
15878
15879         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
15880         Initialize size_hints.x and size_hints.y because kwm
15881         brokenly pays attention to them.
15882         (Bug #1181 -  Lars Heete <hel@admin.de>)
15883
15884 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
15885
15886         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
15887         return value of gdk_list_visuals(). 
15888         (Bug #1193 - Morten Welinder <terra@diku.dk>)
15889
15890 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
15891
15892         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
15893         XSetIMValues to (void *) when comparing to NULL, to workaround
15894         the problem of some compilers barfing since older X headers don't
15895         have the prototype for it.
15896
15897 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
15898
15899         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
15900         for pseudocolor where colormap->colors was double
15901         allocated.
15902
15903         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
15904         color value in the hash table with the pixel filled
15905         in so when we do later hash table lookups, the color
15906         value is correct.
15907         
15908 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
15909
15910         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
15911         making the call
15912
15913 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
15914
15915         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
15916         pointed out by Morten Welinder <terra@diku.dk>.
15917
15918 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
15919
15920         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
15921           default filter from the list
15922
15923 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
15924
15925         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
15926           default filter from the list
15927
15928 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
15929
15930         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
15931
15932         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
15933         g_strdup_printf instead of calcing the length separately
15934
15935 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
15936
15937         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
15938         that we don't do in many other places. (Fixing duplicate 
15939         #include of config.h)
15940
15941         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
15942         Otherwise, #ifndef XINPUT_NONE check in the latter
15943         doesn't work. (Bug #546)
15944
15945 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
15946
15947         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
15948         "None" case insensitive.
15949
15950 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
15951
15952         * gdk/gdkselection.c: 
15953         Add error traps so if the other end of the connection
15954         dies, we survive.
15955
15956 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
15957
15958         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
15959         dest_xid field into two fields - one for the window
15960         to send in messages, one to indicate the last looked
15961         up window for caching purposes. This is needed, so
15962         that Leave messages get the correct window.
15963
15964 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
15965
15966         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
15967         Fix warning created by people mucking around
15968         with the gsource API.
15969
15970         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
15971         Change mapping between GIOCondition and GdkInputCondition
15972         to match the way the Linux kernel does it. This should
15973         fix problems where closed pipes were no longer signalling
15974         GDK_INPUT_READ on systems with a native poll().
15975
15976 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
15977
15978         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
15979         explicitly for the string "None" - it is in the XPM
15980         spec and some servers treat unknown colors in odd ways
15981         (like asking the user!)
15982
15983 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
15984
15985         * gdk/gdkevents.c: made "->" into a "." of previous change so
15986         it compiles
15987
15988 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
15989
15990         * gdk/gdkevents.c (gdk_compress_exposures): Set the
15991         window field of the event structure before calling
15992         user filters.
15993
15994 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
15995
15996         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
15997         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
15998
15999 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
16000
16001         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
16002         intermediate text property - prevents major memory
16003         leak when gdk_use_mb.
16004         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
16005
16006 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
16007
16008         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
16009         gtk-a-higuti-990322-[0-3]
16010
16011         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
16012         sizeof(wchar_t) != sizeof (GdkWChar)
16013
16014         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
16015         that was causing -DX_LOCALE not to work.
16016
16017         * gtk/gtkrc.c (gtk_rc_init):
16018         X_LOCALE will never have LC_MESSAGES defined
16019
16020         * gdk/gdk.c (gdk_init_check):
16021         Remove --xim-preedit and --xim-status from argv properly.
16022
16023         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
16024         that the client window is present on the X server
16025         before we pass it to the input method.
16026
16027 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
16028
16029         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
16030         if --display is specified on the command line, than
16031         the drag window will not be created on that display.
16032         
16033 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
16034
16035         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
16036         lookups with only_if_exists == TRUE were inserting
16037         bogus values into the atom cache.
16038
16039 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
16040
16041         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
16042         then reset it to NULL.
16043
16044         * gdk/gdkcolor.c:
16045         (gdk_colors_free): 
16046         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
16047         key for g_hash_table_remove() in both functions, this prevents us
16048         from accessing possibly uninitialized portions of a GdkColor structure
16049         where we are only interested in its pixel value.
16050
16051 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
16052
16053         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
16054         font hash table, if we have a GdkFontPrivate entry for this font
16055         already, simply increment its reference count, provided by Olaf Dietsche
16056         <olaf.dietsche+list.gtk@netcologne.de>.
16057
16058 1999-09-21  Tor Lillqvist  <tml@iki.fi>
16059
16060         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
16061         just to be sure.
16062
16063         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
16064         unused variables, leftovers from the X11 version.
16065
16066         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
16067
16068         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
16069         downcase fields on X11.
16070
16071 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
16072         
16073         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
16074         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
16075
16076 1999-09-17  Tor Lillqvist  <tml@iki.fi>
16077
16078         * gdk/win32/gdk.def: Add gdk_threads_mutex.
16079
16080         * gtk/makefile.msc: Correct path to libintl.
16081
16082         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
16083         use of gint vs. int, and gint vs. gboolean in headers and
16084         definitions. Use GtkType for the *_get_type functions. Note that
16085         these changes preserve binary compatibility.
16086
16087         * gdk/gdk.c
16088         * gdk/win32/gdk.c
16089         * gdk/gdk.h: Fix inconsistencies: gint vs int.
16090
16091         * gtk/gtkmain.c
16092         * gtk/gtkclist.c
16093         * gtk/gtkmenufactory.c
16094         * gtk/gtknotebook.c
16095         * gtk/gtkwidget.c: Fix inconsistencies, also gint
16096         vs. gboolean.
16097
16098         * gtk/gtkcolorsel.[ch]
16099         * gtk/gtkcombo.[ch]
16100         * gtk/gtkdrawingarea.[ch]
16101         * gtk/gtkgamma.[ch]
16102         * gtk/gtkhandlebox.[ch]
16103         * gtk/gtkhpaned.[ch]
16104         * gtk/gtkhruler.[ch]
16105         * gtk/gtkplug.[ch]
16106         * gtk/gtkpreview.[ch]
16107         * gtk/gtkruler.[ch]
16108         * gtk/gtksocket.[ch]
16109         * gtk/gtkstatusbar.[ch]
16110         * gtk/gtktoolbar.[ch]
16111         * gtk/gtkvbbox.[ch]
16112         * gtk/gtkvpaned.[ch]
16113         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
16114         functions.
16115
16116         * gtk/gtkgamma.h: Fix bug, missing () in call of
16117         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
16118
16119 1999-09-14  Tor Lillqvist  <tml@iki.fi>
16120
16121         * gdk/gdkcolor.c (gdk_colormap_new)
16122         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
16123         colormap->colors was allocated twice.
16124
16125         * gdk/win32/gdk.c: Remove some unused stuff.
16126
16127         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
16128         colormap.
16129
16130         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
16131         * gtk/gtklabel.h (gtk_label_get_type)
16132         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
16133         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
16134         in a couple of places, not guint.
16135
16136 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
16137
16138         * configure.in,po/et.po: added Estonian language file
16139
16140 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
16141
16142         * configure.in,po/da.po: added Danish file
16143
16144 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
16145
16146         * docs/gtkfaq.sgml: Minor FAQ Update
16147
16148 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
16149
16150         * docs/gtkfaq.sgml: FAQ update
16151
16152 1999-08-27  Tor Lillqvist  <tml@iki.fi>
16153
16154         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
16155         way to get window contents continually refreshed while resizing. I
16156         didn't like the effects myself, so it's not on by default.
16157
16158         * gdk/win32/gdkprivate.h: New flag variable
16159         gdk_event_func_from_window_proc, FALSE by default.
16160
16161         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
16162         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
16163         are passed --gdk-event-func-from-window-proc.
16164
16165         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
16166         and we have am event_func, call it instead of enqueing the event.
16167
16168 1999-08-23  Tor Lillqvist  <tml@iki.fi>
16169
16170         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
16171         Kelley: Set expose_count in GdkEventExposes correctly.
16172
16173         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
16174         MULTIPLE_WINDOW_CLASSES).
16175
16176         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
16177         for bug in NT, apparently NT *does* draw the end pixel, too, in
16178         LineTo with a one-pixel pen, so we don't have to do it ourselves.
16179
16180 1999-08-21  Tor Lillqvist  <tml@iki.fi>
16181
16182         Improvements by Hans Breuer: 
16183
16184         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
16185
16186         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
16187         CS_?REDRAW flags as they cause lots of (late) redraws when "show
16188         window contents while dragging" is turned on. Allocate at least
16189         one unique class for every GdkWindowType. If support for single
16190         window-specific icons is ever needed (eg. Dialog specific), every
16191         such window should get its own class.
16192
16193 1999-08-19  Tor Lillqvist  <tml@iki.fi>
16194
16195         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
16196         error that caused crashes.
16197
16198 1999-08-17  Tor Lillqvist  <tml@iki.fi>
16199
16200         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
16201         window, use ScrollWindowEx, and call UpdateWindow. This prevents
16202         bugs when for instance part of the window was outside the
16203         display. Thanks to Philippe Colantoni for finding and fixing this.
16204
16205 1999-08-16  Tor Lillqvist  <tml@iki.fi>
16206
16207         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
16208         endpoint calculations which were totally wrong. (A little RTFMing
16209         helps a lot ;-)
16210
16211         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
16212         from a separate directory, not from gettext, because of licensing
16213         issues (we want to use the LGPL version).
16214
16215         * README.win32: Mention the intl from glibc vs from gettext issue.
16216
16217 1999-08-13  Tor Lillqvist  <tml@iki.fi>
16218
16219         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
16220         in the key event handling: Now AltGr chars work again. Also,
16221         now Alt-digits are passed up as well as Control-digits.
16222         Pass keypad plus and minus as normal plus and minus.
16223
16224 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
16225
16226         * docs/gtkfaq.sgml: FAQ Update
16227
16228 1999-07-25  Tor Lillqvist  <tml@iki.fi>
16229
16230         * README.win32
16231         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
16232         the Wintab SDK.
16233
16234         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
16235         OK, but getting closer. Guard against bogus tilt data from Wacom
16236         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
16237         enable easier building without Wintab.
16238
16239         * gdk/win32/gdkinput.h
16240         * gdk/win32/gdkevents.c 
16241         * gdk/win32/gdkwindow.c: Minor changes related related to above.
16242         
16243         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
16244         code. As we have just one visual on Win32, no sense to have it in a
16245         table, and no need for the hash table.
16246
16247         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
16248         better on white background.
16249
16250 1999-07-21  Tor Lillqvist  <tml@iki.fi>
16251
16252         * README.win32: Update gcc build instructions. Mention gettext is
16253         GPL.
16254
16255         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
16256         supported cursor size with GetSystemMetrics.
16257
16258         * gdk/win32/gdkfont.c
16259         * gtk/gtkfontsel.c: Guard against some font weight and charset
16260         symbols being undefined (in mingw32 headers).
16261
16262         * gdk/win32/makefile.cygwin
16263         * gtk/makefile.cygwin
16264         * gtk/gtkthemes.c: No longer need to have differently named
16265         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
16266
16267 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
16268
16269         * docs/gtkfaq.sgml: Long awaited FAQ update.
16270
16271 1999-07-15  Tor Lillqvist  <tml@iki.fi>
16272
16273         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
16274         it. Obscure bit manipulation needed.
16275
16276         * gdk/win32/gdkevents.c: Logging.
16277         
16278         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
16279         style (file name include compiler name) for theme engines.
16280
16281 1999-07-13  Tor Lillqvist  <tml@iki.fi>
16282
16283         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
16284
16285         * gdk/win32/gdkevents.c: Fix long-standing bug in key
16286         events. The key.string wasn't zero-terminated, still we strdup'ed
16287         it in gdk_event_copy(). Synthesize crossing events for button
16288         events before possible propagation.
16289
16290         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
16291
16292         * gdk/win32/makefile.cygwin
16293         * gtk/makefile.cygwin: Use new DLL naming style for the
16294         GCC-compiled ones.
16295
16296         * gdk/win32/makefile.msc
16297         * gtk/makefile.msc: Cosmetics mostly.
16298
16299         * gtk/gtk.def: Add missing entry points.
16300
16301         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
16302
16303 1999-07-09  Tor Lillqvist  <tml@iki.fi>
16304
16305         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
16306         or height is zero. Don't print a warning if Pie or Arc fails, they
16307         always fail (?) for very narrow ellipses.
16308
16309         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
16310         the part or the destination window corresponding to source area
16311         outside of the source drawable's boundary.
16312
16313         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
16314         anything if less than two points.
16315
16316         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
16317         return NULL. Gtk cut-and-paste inside a single program works
16318         better this way. (It always gets the clipboard contents from
16319         Windows, not from its own copy, which is cleared anyway. I can't
16320         say I fully understand what happens... Emulating the X selection
16321         and property stuff is a bit of a mess.)
16322
16323         * gdk/win32/gdkevents.c
16324         * gdk/win32/gdkproperty.c: A bit more verbose logging.
16325
16326         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
16327         that never got deleted). Revamp gdk_region_shrink.
16328
16329         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
16330         after use.
16331
16332         * gtk/gtk.def: Add some missing entry points.
16333
16334         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
16335         component.
16336
16337 1999-07-04  Tor Lillqvist  <tml@iki.fi>
16338
16339         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
16340         Control-digits specially.
16341
16342 1999-07-03  Tor Lillqvist  <tml@iki.fi>
16343
16344         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
16345
16346 1999-06-28  Tor Lillqvist  <tml@iki.fi>
16347
16348         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
16349         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
16350         finding this.)
16351
16352 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
16353
16354         * gtk+.spec.in: Corrected some typos in files section.
16355         
16356 1999-06-15  Tor Lillqvist  <tml@iki.fi>
16357
16358         * README.win32: Mention using GNU gettext.
16359         * config.h.win32: Enable NLS stuff.
16360         * gtk/makefile.msc: Use GNU gettext.
16361         * gdk/win32/gdkdnd.c: Minor header reorg.
16362         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
16363         cosmetics.
16364         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
16365         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
16366
16367 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
16368
16369         * acinclude.m4
16370         * config.guess
16371         * config.status
16372         * ltconfig
16373         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
16374
16375 1999-05-30  Tor Lillqvist  <tml@iki.fi>
16376
16377         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
16378         SafeAdjustWindowRectEx. Don't override all calls to
16379         AdjustWindowRectEx by it, but use it only in two places: When
16380         creating a new top-level window and when moving a top-level
16381         window.
16382
16383         Use screen coordinate rectangle, not client rectangle, in
16384         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
16385         when we try to place a window so that the decoration (mainly,
16386         title bar) isn't visible.
16387
16388         These changes fix the bug that showed up for instance as the
16389         GIMP's saved top-level windows moving right and down (by an amount
16390         equal to the window decoration) for each session. This bug showed
16391         up also in testgtk's "Saved Position".
16392
16393         gdk_window_resize also redone a bit.
16394
16395 1999-05-25  Tor Lillqvist  <tml@iki.fi>
16396
16397         * gtk/testgtkrc: Add (commented out) Windows-style theme
16398         include line.
16399
16400         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
16401
16402 1999-05-18  Tor Lillqvist  <tml@iki.fi>
16403
16404         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
16405         gdkx.h to a gdk subdirectory, so that applications can include
16406         these with <gdk/*.h> without trouble.
16407
16408         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
16409         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
16410         have their bitmap destroyed.
16411
16412         * gdk/win32/gdk.def: Add gdk_root_parent.
16413
16414 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
16415
16416         * configure.in
16417           gtk-config.in
16418           ltconfig
16419           ltmain.sh     
16420           gtk/Makefile.am: changes to compile nicely (with xlib) 
16421           on BeOS
16422
16423 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
16424
16425         * acinclude.m4
16426         * config.guess
16427         * config.sub
16428         * ltconfig
16429         * ltmain.sh: upgrade to libtool 1.3
16430
16431 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
16432
16433         * gtk/gtkclist.c:
16434         * gtk/gtkctree.c: merges from gtk-1-2
16435
16436 1999-04-25  Tor Lillqvist  <tml@iki.fi>
16437
16438         Support added for building using a GNU toolchain on Win32,
16439         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
16440
16441         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
16442         * config.h.win32: Changes for gcc.
16443         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
16444         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
16445         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
16446         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
16447         Protect shl stuff unavaiilable with mingw32 headers.
16448         * gdk/win32/gdkevents.c: Fix typo.
16449         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
16450         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
16451         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
16452         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
16453         the mingw32 headers.
16454         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
16455         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
16456         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
16457         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
16458         Test for NATIVE_WIN32, not _MSC_VER.
16459         * gtk/gtkmain.c: No use warning about developer version on Win32,
16460         there aren't any non-developer versions anyhow.
16461         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
16462         * gtk/makefile.msc: Use pthread from another directory. Minor other
16463         changes. 
16464
16465 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
16466
16467         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
16468           default filter from the list
16469
16470 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
16471
16472         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
16473          when gtk_widget_grab_default() is called for a widget that
16474          is not within a GtkWindow.
16475
16476 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
16477
16478         * docs/gtk_tut.sgml, examples/clist.c: use a
16479           scrolled window in the clist example. Minor
16480           tutorial fixes.
16481
16482 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
16483
16484         * docs/gtk_tut.sgml: Style check from David King
16485           <dking@youvegotmail.net>
16486
16487 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
16488
16489         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
16490         compile with unknown value of GDK_WINDOWING
16491
16492 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
16493
16494         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
16495         after the rule is fired.
16496         (install-exec-local): Install gdkconfig.h only if the contents are
16497         different from the currently installed gdkconfig.h.
16498
16499 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
16500
16501         * gdk/Makefile.am (configexecincludedir): Rename from 
16502         configincludedir so that gdkconfig.h will be installed 
16503         as part of `make install-exec'. 
16504
16505 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
16506
16507         * acinclude.m4
16508         * config.guess
16509         * config.sub
16510         * ltconfig
16511         * ltmain.sh: upgrade to libtool 1.2f
16512
16513         * autogen.sh: libtool is not required to autogen gtk+
16514
16515         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
16516         needed)
16517
16518 1999-03-18  Tor Lillqvist  <tml@iki.fi>
16519
16520         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
16521         declaring gdk variables exported/imported from the DLL. New image
16522         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
16523         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
16524         GDK_DRAG_PROTO_OLE2.
16525
16526         * gdk/gdk.h: Merge in Win32 version: Two new functions,
16527         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
16528         declared only for the Win32 version, but could be in the X11
16529         version as well. (Needed for a Xlib-less gdk_imlib.)
16530         gdk_color_hash should have only one parameter. Declare
16531         gdk_threads_mutex with GDKVAR.
16532         
16533         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
16534         just one parameter.
16535
16536         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
16537         per pixel, not bits.
16538
16539         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
16540         Fetch bpp (which means bits-per-pixel here) from another place on
16541         Win32. Accept also depth==32 (which we might get on Win32) with
16542         bpp==32.
16543
16544         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
16545         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
16546         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
16547         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
16548         in the backend-dependent directory, not in the common gdk
16549         directory.
16550
16551         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
16552         headers.
16553
16554 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
16555
16556         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
16557         want to use the Gtk+ devel version (which is true, and yes - even i am
16558         currently working with the 1.2.x branch). so everyone reading this, you
16559         probably want to issue
16560         cvs checkout -r glib-1-2 glib
16561         and
16562         cvs checkout -r gtk-1-2 gtk+
16563         as your next two comands.
16564
16565 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
16566
16567         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
16568         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
16569
16570         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
16571         file. strongly deprecated the GTK_HAVE_* macros, we provide
16572         GTK_CHECK_VERSION() for people that need to check for certain
16573         Gtk+ versions.
16574
16575         * gtk/gtkcompat.h: removed this from CVS.
16576         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
16577         idea right from the start, it just didn't seem like that back then.
16578
16579 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
16580
16581         * merges from gtk-1-2:
16582
16583 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
16584
16585         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
16586         item factory class has been created.
16587         (gtk_item_factory_parse_rc): likewise.
16588
16589         * gtk/gtkmenu.c:
16590         keep proper references for old_active_menu_item.
16591         (gtk_menu_reparent): unset the usize of the new parent,
16592         so the menu can sanely be size requested and we don't get nasty screen
16593         artefacts upon next reparentation.
16594         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
16595         enter notify. only synthesize enter notifies if the pointer really is
16596         inside the event window.
16597         (gtk_menu_popdown): use gtk_menu_shell_deselect().
16598         (gtk_menu_popup): move the background setting stuff into
16599         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
16600
16601         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
16602         gtk_menu_shell_select_item() to select the new item.
16603         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
16604         do the right thing for deselection as well.
16605
16606 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
16607
16608         * gtk/gtkwidget.[hc]:
16609         (gtk_widget_accelerators_locked): return whether a widget's accelerators
16610         are locked.
16611
16612         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
16613         existing accelerators if the widget's accelerators are locked.
16614
16615 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
16616
16617         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
16618
16619         * gtk/gtkmenu.c: truely forward key press and key release events to
16620         the menu widget from the toplevel or tearoff window. we can't simply
16621         connect to that, we need to stop further processing of the events as
16622         well.
16623
16624 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
16625
16626         * gtk/gtkmenu.c:
16627         (gtk_menu_key_press): pass event->keyval, event->state to
16628         gtk_accelerator_valid, instead of event->keyval twice.
16629         refuse to install single letter accelerators for menus that use
16630         single letter shortcuts.
16631
16632         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
16633         gtk_menu_ensure_uline_accel_group().
16634
16635         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
16636         which will always return an uline accel group, made
16637         gtk_menu_get_uline_accel_group() return NULL if the group isn't
16638         yet created.
16639
16640 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
16641
16642         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
16643
16644         * gtk/gtkclist.c (gtk_clist_column_title_passive):
16645         Leave button sensitive, trap  button_press, button_release,
16646         motion_notify, enter_notify and leave_notify events instead.
16647         (gtk_clist_column_title_active): disconnect event handler.
16648         (gtk_clist_drag_data_get): fixed memory leak. Reported by
16649         Guillaume Laurent <glaurent@worldnet.fr>
16650
16651 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
16652
16653         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
16654         width/height mixups.
16655
16656         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
16657         if needed.
16658
16659 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
16660
16661         * gtk/testgtk.c (create_item_factory): unref the item factory after
16662         window's destruction.
16663
16664         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
16665         count on the menu shell around the menu item's activation, since the
16666         signal emission may cause menu shell destruction.
16667
16668         * gtk/gtkitemfactory.c:
16669         the previous code leaked one accel group per menu. we use
16670         gtk_menu_get_uline_accel_group() now to fix that, and with that
16671         also create the underline accelerator group of the menus only if
16672         required (i.e. an underline accelerator has been specified).
16673         (gtk_item_factory_construct):
16674         (gtk_item_factory_create_item): removed code that would create an
16675         extra accel group for the menu (and leak references).
16676         (gtk_item_factory_create_item): adapted the underline accelerator
16677         installation code to properly feature gtk_menu_get_uline_accel_group().
16678
16679         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
16680         menu->accel_group, this may return NULL if the accelerator group
16681         hasn't been set yet.
16682         added gtk_menu_get_uline_accel_group() to retrive the underline
16683         accelerator group of the menu, this will be created on demand
16684         and proper care is taken about its reference count.
16685
16686         * gtk/gtkitemfactory.h:
16687         * gtk/gtkitemfactory.c:
16688         dumped the approach of keeping a widgets by action list on the
16689         factory since the factory<->widget destroy negotiation didn't work
16690         and would be hard to get going at all. instead we keep a list of
16691         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
16692         persistant throughout a program's life time).
16693         also, i removed the static const gchar *key_* variables, and made
16694         them inline strings (they weren't actually used anyways).
16695         (gtk_item_factory_add_item): update ifactory->items.
16696         (gtk_item_factory_destroy): destroy ifactory->items (and remove
16697         the item factory pointer from the remaining ifactory widgets).
16698         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
16699         list to find the widget.
16700         (gtk_item_factory_get_item): new function that works around
16701         gtk_item_factory_get_widget() limitations, this function will only
16702         return menu items, even for <Branch> entries.
16703
16704 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
16705
16706         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
16707         font hash table, if we have a GdkFontPrivate entry for this font
16708         already, simply increment its reference count, provided by Olaf Dietsche
16709         <olaf.dietsche+list.gtk@netcologne.de>.
16710
16711         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
16712         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
16713
16714 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
16715
16716         * gtk/gtkcontainer.c:
16717         (gtk_container_add_with_args):
16718         (gtk_container_addv):
16719         (gtk_container_add): before adding a child to a conatiner, make sure
16720         it is (default) constructed, this is neccessary because under certain
16721         circumstances the child will get relized and mapped immediatedly, in
16722         which case it has to be constructed already.
16723
16724 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
16725
16726         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
16727         values > 1 as TRUE also.
16728
16729 1999-03-16  Tor Lillqvist  <tml@iki.fi>
16730
16731         * README.win32: New file.
16732                 
16733         * configure.in: Check for lstat.
16734
16735         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
16736         completeness.
16737
16738         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
16739
16740         * gtk/gtk.def: Removed CRs.
16741
16742         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
16743         ..\gdk\win32).
16744
16745         * gdk/win32/makefile.msc: Correct upwards relative paths.
16746         
16747 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
16748
16749         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
16750           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
16751           it was connecting a void function to expose_event and the int
16752           returning function to the draw signal
16753
16754 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
16755
16756         * configure.in:
16757         Use correct path to libgmodule.la when ref'ing uninstalled copy
16758         of glib.  (Already in stable branch, Bug #417)
16759
16760 1999-03-15  Tor Lillqvist  <tml@iki.fi>
16761
16762         Win32 merge and general portability stuff:
16763                 
16764         * acconfig.h,configure.in: Check for <sys/time.h>.
16765
16766         * gdk/win32: New directory (actually, been there for a while).
16767         
16768         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
16769         NATIVE_WIN32, and use these. Always case fold on Win32. No
16770         backslashed escapes on native Win32.
16771
16772         * gtk/{gtk.def,makefile.msc}: New files.
16773
16774         * gtk/Makefile.am: Add above new files.
16775         
16776         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
16777         instead of <strings.h>.
16778
16779         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
16780         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
16781         <unistd.h> appropriately.
16782
16783         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
16784         Use ABS() (from <glib.h>) instead of abs().
16785         
16786         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
16787         of gtk (and thus glib) headers, so that WIN32 will be
16788         defined. With MS C, include <direct.h> for mkdir prototype.
16789
16790         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
16791         some casts, needed by MS C.
16792
16793         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
16794         implemented).
16795
16796         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
16797         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
16798         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
16799
16800         * gtk/gtkmain.h: Mark variables for export/import on Win32.
16801                 
16802         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
16803         the event is not a hint, or its window is not the slider. Needed
16804         on Win32, at least.
16805
16806         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
16807         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
16808         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
16809         a subdirectory of the Windows directory as gtk system
16810         configuration directory.
16811
16812         * gtk/gtkselection.c: No chunks on Win32.
16813
16814         * gtk/gtksocket.c: Not implemented on Win32.
16815
16816         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
16817
16818         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
16819
16820         * gtk/maketypes.awk: Declare variables with a macro that expands to
16821         necessary export/import magic in the case of Win32.
16822                 
16823         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
16824
16825 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
16826
16827         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
16828         since those were meant only for gdki18n.h.  
16829         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
16830         for widechar tests.
16831         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
16832
16833 1999-03-13  Tor Lillqvist  <tml@iki.fi>
16834
16835         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
16836         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
16837
16838         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
16839         installed) to CFLAGS.
16840
16841         * gdk/Makefile.am: Add rules for gdkconfig.h.
16842
16843         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
16844         APIs.
16845
16846         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
16847         gdkx.h anyway when compiling for X11.
16848         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
16849         general): Merge in Win32 version.
16850         
16851         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
16852         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
16853         expansion (if we don't have HAVE_PWD_H), allow for drive
16854         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
16855         included code from Craig Setera's port to Win32 (the one that uses
16856         X11, and the cygwin dll), even if it probably will be abandoned.
16857
16858         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
16859         the user entered one herself.  This way one can complete *.h and
16860         don't get matches on any .help files, for instance.
16861         
16862 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
16863
16864         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
16865         font hash table, if we have a GdkFontPrivate entry for this font
16866         already, simply increment its reference count, provided by Olaf Dietsche
16867         <olaf.dietsche+list.gtk@netcologne.de>.
16868
16869         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
16870         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
16871
16872 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
16873
16874         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
16875         the number of calls to gdk_draw_point() (and thus to X) by
16876         clipping the points by hand.
16877
16878         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
16879         the clip parameter.
16880         (gtk_handle_box_paint): Only paint the handle if the expose area
16881         intersects it.
16882
16883 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
16884
16885         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
16886
16887 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
16888
16889         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
16890         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
16891
16892 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
16893
16894         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
16895          textmode (O_TEXT) for OS/2 version.
16896
16897 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
16898
16899         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
16900         GtkSpinButton, "input" and "output", to make the output more flexible.
16901         The user has to provide a mapping between adjustment->value and the
16902         output string (and vice versa, if the spin button is editable). 
16903         See testgtk for examples.
16904
16905 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
16906
16907         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
16908         new one.
16909         
16910         * configure.in: set gtk+ version to 1.3.0.