]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-2
fixups for glib-mkenums and glib-genmarshal (not tested yet because with
[~andy/gtk] / ChangeLog.pre-2-2
1 2001-06-07  Havoc Pennington  <hp@redhat.com>
2         
3         * gtk/Makefile.am: fixups for glib-mkenums and glib-genmarshal
4         (not tested yet because with absolute path to srcdir I can't build
5         atk, but it was broken anyway so this may help) 
6
7 2001-06-07  Havoc Pennington  <hp@redhat.com>
8
9         * configure.in: output m4macros/Makefile
10         
11 Wed Jun  6 21:59:16 2001  Jonathan Blandford  <jrb@redhat.com>
12
13         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): hook up arrow
14         buttons.  Fixes #55460 reported by matthiasc@poet.de.
15
16 Wed Jun  6 21:18:54 2001  Jonathan Blandford  <jrb@redhat.com>
17
18         * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): centralize
19         expansion/collapsing so it only happens in one place.
20         (gtk_tree_view_real_expand_row): ditto.
21
22 2001-06-07  Havoc Pennington  <hp@redhat.com>
23
24         * tests/Makefile.am: add missing -I flag
25
26         * gtk/Makefile.am: use @GLIB_MKENUMS@, @GLIB_GENMARSHAL@, etc.
27
28         * configure.in: use pkg-config to see if GModule is
29         supported; fix to properly turn on included loaders 
30         when GModule isn't supported; don't use AC_CHECK_LIB 
31         when libs are not installed yet
32
33         * autogen.sh: add support for AUTOGEN_SUBDIR_MODE
34
35         * Makefile.am (SUBDIRS): add m4macros subdir
36
37         * gtk/Makefile.am: $(srcdir)/foo targets must be $(srcdir)/foo in
38         dependencies also.
39
40 Wed Jun  6 19:31:11 2001  Jonathan Blandford  <jrb@redhat.com>
41
42         * gtk/gtktreeview.c (gtk_tree_view_set_model): fix silly bug
43         reported by "Padraig O'Briain" <Padraig.Obriain@Sun.COM>.
44
45 Wed Jun  6 20:01:38 2001  Jonathan Blandford  <jrb@redhat.com>
46
47         * gtk/gtktreeview.c
48         (gtk_tree_view_real_expand_collapse_cursor_row): Handle key
49         bindings to expand and collapse rows.
50         (gtk_tree_view_real_select_cursor_parent): New key binding.
51         (gtk_tree_view_real_toggle_cursor_row): New key binding.
52
53         * gtk/gtkmarshal.list: new
54         marshaller. (VOID__BOOLEAN_BOOLEAN_BOOLEAN)
55
56 2001-06-06  Havoc Pennington  <hp@redhat.com>
57
58         * gtk/gtkrange.c (gtk_range_class_init): add "inverted" property
59
60         * gtk/gtkscale.c (gtk_scale_class_init): Change Page Up and Page
61         Down to move visually rather than logically, since it confuses 
62         people. Add -/+ and Ctrl--/+ bindings for logical movement.
63
64 Wed Jun  6 10:34:42 2001  Owen Taylor  <otaylor@redhat.com>
65
66         * gtk/gtktooltips.h: Include gtkwidget.h 
67         (#55798, Karl Nelson)
68
69         * gdk/x11/gdkwindow-x11.c (utf8_is_latin1): 0xff is
70         a valid latin-1 character. (Marc Lehmann, #35467)
71
72         * gdk/x11/gdkwindow-x11.c: Fix minor typo in comment. 
73         (Marc Lehmann, #35467)
74         
75 2001-06-05  Alex Larsson  <alexl@redhat.com>
76
77         * demos/gtk-demo/appwindow.c (do_appwindow):
78         Don't swap the order of the args to gtk_widget_destroyed.
79
80         * tests/testgtk.c (destroy_properties):
81         Don't crash when the properties window is destroyed.
82
83         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_new_from_stock):
84         Use with_mnemonics to handle the case of stock items with
85         underscores in them.
86
87 2001-06-05  Havoc Pennington  <hp@redhat.com>
88
89         * gtk/gtktextiter.c (gtk_text_iter_order): rename from 
90         gtk_text_iter_reorder
91
92 2001-06-05  Havoc Pennington  <hp@redhat.com>
93
94         * gtk/gtktoolbar.c (gtk_toolbar_remove_space): new function
95
96 2001-06-05  Havoc Pennington  <hp@redhat.com>
97
98         * gtk/gtkspinbutton.c (gtk_spin_button_set_range): clamp the value 
99         to the range that was set
100
101         * gtk/gtkrange.c: add value_changed signal, primarily 
102         intended for use with GtkScale
103         (gtk_range_set_increments): new function
104         (gtk_range_set_range): new function with weird name
105         (gtk_range_set_value): new function
106         (gtk_range_get_value): new function
107
108         * gtk/gtkspinbutton.c (gtk_spin_button_get_value): rename 
109         from gtk_spin_button_get_value_as_float(). Compat #define
110         added for get_value_as_float.
111
112         * gtk/gtkhscale.c (gtk_hscale_new_with_range): new function
113
114         * gtk/gtkvscale.c (gtk_vscale_new_with_range): new function
115
116 Tue Jun  5 14:57:18 2001  Jonathan Blandford  <jrb@redhat.com>
117
118         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_size): Fix bug #55573
119
120 Mon Jun  4 12:41:25 2001  Owen Taylor  <otaylor@redhat.com>
121
122         * gtk/gtkwidget.h: Deprecate gtk_widget_set().
123
124         * tests/testgtk.c (create_tooltips): Remove usage of
125         gtk_widget_set().
126
127 2001-06-05  Havoc Pennington  <hp@redhat.com>
128
129         * gtk/gtkcolorsel.c: Use new mnemonic convenience functions
130
131         Applying patch from Jeff Franks, with function docs added.
132         
133         * gtk/gtkcheckbutton.c (gtk_check_button_new_with_mnemonic):
134         remove call to set_mnemonic_widget, change docs a bit.  
135
136         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_new_with_mnemonic):
137         new function
138
139         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_new_with_mnemonic):
140         new function
141
142         * gtk/gtkmenuitem.c (gtk_menu_item_new_with_mnemonic): new function
143
144         * gtk/gtkradiobutton.c (gtk_radio_button_new_with_mnemonic): new
145         function
146         (gtk_radio_button_new_with_mnemonic_from_widget): new function
147
148         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_new_with_mnemonic):
149         new function
150
151         * gtk/gtktogglebutton.c (gtk_toggle_button_new_with_mnemonic): new
152         function        
153
154         * gtk/gtklabel.c (gtk_label_new_with_mnemonic): Improve docs on 
155         auto-selection of mnemonic widget.
156
157 Mon Jun  4 15:05:24 2001  Jonathan Blandford  <jrb@redhat.com>
158
159         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_max_width):
160         Fix segfault found by Vitaly Tishkov <tvv@sparc.spb.su>.
161         (gtk_tree_view_column_set_min_width): ditto.
162
163 Tue Jun  5 11:04:06 2001  Owen Taylor  <otaylor@redhat.com>
164
165         * gdk/gdkpixmap.h (GDK_PIXMAP_GET_CLASS): 
166         s/GdkPixmapClass/GdkPixmapObjectClass/. (#51890, Jeff Franks)
167
168 Mon Jun  4 12:50:11 2001  Owen Taylor  <otaylor@redhat.com>
169
170         * gtk/gtkctree.c (gtk_ctree_insert_gnode): Add a missing
171         gtk_clist_thaw().
172
173 2001-06-04  Havoc Pennington  <hp@pobox.com>
174
175         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Ignore 
176         releases for buttons 6, 7
177
178 2001-06-04  Havoc Pennington  <hp@redhat.com>
179
180         * gtk/gtkseparatormenuitem.h: Fix a search-and-replace screwup
181         (s/CHECK/SEPARATOR/ gone awry). Patch from Jeff Franks, bug
182         #55562
183
184 2001-06-04  Havoc Pennington  <hp@redhat.com>
185
186         * gtk/gtktextview.c (gtk_text_view_size_request): handle case
187         where text_view->layout == NULL by assuming its size is 0, 
188         i.e. same as if we haven't done any reflow. Reported by 
189         Hidetoshi Tajima #55448 
190
191 2001-06-04  Havoc Pennington  <hp@redhat.com>
192
193         * gdk/x11/gdkevents-x11.c (gdk_event_translate): support button 6
194         and 7 for scroll left/right, from Thomas Broyer
195
196 2001-05-10  Havoc Pennington  <hp@redhat.com>
197
198         * gtk/gtksettings.c (gtk_settings_get_property): Handle case where
199         we need to parse the xsetting as if it were an RC file string.
200
201         * gtk/gtkcolorsel.c (gtk_color_selection_class_init): load initial
202         value of palette from settings, not from static variable
203
204         * gdk/x11/gdkevents-x11.c: add color palette, toolbar mode to
205         xsettings translation table
206
207         * gtk/gtktoolbar.c (gtk_toolbar_new): Remove arguments, because 
208         hardcoding the toolbar style conflicts with new customizable 
209         toolbar style philosophy
210         (gtk_toolbar_class_init): add settings for default toolbar style;
211         these are used unless the app specifically forces a toolbar style
212
213         * gtk/gtksettings.c (settings_install_property_parser): only
214         return at the start if we warn and parser == NULL
215
216         * gtk/gtkcolorsel.c (gtk_color_selection_finalize): disconnect the
217         palette changed handler so we don't notify dead color selections
218
219         * gtk/gtkstyle.c (gtk_default_draw_shadow): handle
220         xthickness/ythickness of 0 or 1 properly 
221         (gtk_default_draw_resize_grip): clear the background behind the
222         resize grips, and align to bottom right if we square the 
223         area to be drawn.
224
225         * gtk/gtkstatusbar.c (gtk_statusbar_init): set horizontal usize on 
226         statusbar label to 1, so it doesn't make toplevels resize oddly
227         (gtk_statusbar_size_request): add grip size to request
228         (gtk_statusbar_size_allocate): hack so the hbox still works with 
229         the grip size in the request
230
231         * gtk/gtktoolbar.c (gtk_toolbar_show_all): override to fix 
232         bug where showing all on a toplevel makes the toolbar 
233         button text appear despite the toolbar mode
234
235         * gtk/gtkmenubar.c: add internal padding style property
236
237         * gtk/gtktoolbar.c: Add internal padding style property; add
238         shadow type style property
239
240         * gtk/gtkmenubar.c (gtk_menu_bar_paint): paint box with widget
241         state; and put Container::border_width outside the frame
242
243         * gtk/gtktextview.c: don't draw focus rectangle if we're in
244         interior focus mode, we just use blinking cursor
245
246 2001-06-04  Havoc Pennington  <hp@redhat.com>
247
248         * configure.in: Make gdk-pixbuf have same version number as GTK
249
250 2001-06-04  Havoc Pennington  <hp@redhat.com>
251
252         * gtk/gtkspinbutton.c: Get rid of stupid g_return_if_fail on 
253         digits greater than 6. If there actually are limits (which there
254         likely aren't), should clamp to them not warn.
255         (gtk_spin_button_new_with_range): don't take log of 0
256         (gtk_spin_button_size_request): use digits to compute size
257         request, rather than step increment.
258
259         * tests/testgtk.c (create_spins): test larger values of digits
260         
261         * gtk/gtkfontsel.c (gtk_font_selection_init): scroll to selected
262         font on map not expose, so we don't get weirdness during scrolling
263
264 2001-06-04  Havoc Pennington  <hp@redhat.com>
265
266         * gtk/gtkclist.c (vadjustment_value_changed): Apply fix from
267         Sam Solon, bug #54577, update value even if not drawable.
268
269 2001-06-04  Havoc Pennington  <hp@redhat.com>
270
271         * gtk/gtkrange.c (gtk_range_scroll_event): change SCROLL_RIGHT to
272         SCROLL_LEFT, reported by Thomas Broyer.
273
274 2001-06-04  Havoc Pennington  <hp@redhat.com>
275
276         * gtk/gtkrange.c (gtk_range_adjustment_value_changed): 
277         Process updates immediately, to prevent funny lag effect
278         when scrolling, at some mild potential efficiency cost.
279
280 2001-06-04  Havoc Pennington  <hp@redhat.com>
281
282         * gtk/gtkrange.c (gtk_range_button_press): on middle click, center
283         slider on the click.
284
285 2001-06-03  Havoc Pennington  <hp@pobox.com>
286
287         * gtk/gtkstyle.c (gtk_default_draw_slider): make this special-case
288         hscale/vscale details, so we can use it for scrollbar as well.
289
290         * tests/testgtk.c (reformat_value): honor digits from GtkScale
291
292         * gtk/gtkenums.h (GtkTroughType): Remove this enum
293         (GtkScrollType): add START and END from GtkTroughType
294
295         * gtk/gtkstyle.c (gtk_default_draw_slider): was not properly using
296         its x/y arguments
297
298         * gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkscrollbar.h,
299         gtk/gtkscrollbar.c, gtk/gtkscale.h, gtk/gtkscale.c,
300         gtk/gtkhscrollbar.h, gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.h,
301         gtk/gtkvscrollbar.c, gtk/gtkhscale.h, gtk/gtkhscale.c,
302         gtk/gtkvscale.h, gtk/gtkvscale.c: Rewrite GtkRange and subclasses.
303
304         Notable changes in the process:
305          
306         - stepper_size style property is the height for vertical 
307           ranges, width for horizontal; the other dimension matches
308           the trough size
309         - add ability to do NeXT-style steppers (and several other styles
310           that don't make any sense)
311         - added min_slider_length, fixed_slider_length properties to
312           GtkScrollbar
313         - cleaned some private (or at least useless) functions out of
314           gtkscale.h    
315         - moved bindings to GtkScale from subclasses, even arrow keys,
316           since blind users don't know scale orientation.
317         - change move_slider action signal to use new GtkScrollType,
318           remove GtkTroughType argument
319         - digits rounds the values a range will input to the given 
320           number of decimals, but will not try to force adjustment 
321           values set by other controllers. That is, we no longer
322           modify adjustment->value inside a value_changed handler.
323         - added getters for GtkScale setters
324         - middle-click begins a slider drag
325         
326 Fri Jun  1 18:54:47 2001  Jonathan Blandford  <jrb@redhat.com>
327
328         * gtk/gtktreeview.c: (gtk_tree_view_focus): Initial stab at
329         getting the focus code to work.
330         (gtk_tree_view_class_init): Add a bunch of keybindings.
331
332         * gtk/gtktreeviewcolumn.c
333         (gtk_tree_view_column_set_cell_data_func):
334         s/GtkCellDataFunc/GtkTreeCellDataFunc.
335         (_gtk_tree_view_column_set_tree_view): Use "notify::model" instead
336         of "properties_changed" to help justify the death of the latter
337         signal. (-:
338
339         * tests/testtreefocus.c (main): Let some columns be focussable to
340         test focus better.
341
342 2001-06-01  Havoc Pennington  <hp@redhat.com>
343
344         * gtk/gtkentry.c (gtk_entry_commit_cb): implement overwrite mode
345         
346         * gtk/gtktextview.c (gtk_text_view_commit_handler): don't
347         overwrite in overwrite mode if we already deleted the selection
348         and replaced it with new text.  
349
350         * gtk/gtklabel.c (gtk_label_select_region_index): if you set the
351         selection to an empty range, clear the clipboard if we owned it.
352         (gtk_label_set_selectable): give up selection if we become
353         unselectable.
354         (gtk_label_state_changed): override state changed to unselect text
355         when insensitive
356         (get_text_callback): add paranoia check that indexes aren't
357         outside of label->text
358         (gtk_label_select_region): make -1 for start_offset mean "end of
359         label," for consistency with GtkEditable
360
361         * gtk/gtkmessagedialog.c (gtk_message_dialog_new): honor
362         GTK_DIALOG_NO_SEPARATOR flag
363
364 Fri Jun  1 11:47:11 2001  Owen Taylor  <otaylor@redhat.com>
365
366         * gtk/gtkcombo.c (gtk_combo_set_use_arrows_always): Fix 
367         notifications on non-existant "enable_arrow_keys".
368         (#53753, Skip Montanaro)
369
370 Fri Jun  1 11:31:55 2001  Owen Taylor  <otaylor@redhat.com>
371
372         * gdk/gdkrectangle.c (gdk_rectangle_get_type): Add 
373         GDK_TYPE_RECTANGLE.
374
375         * gtk/gtkwidget.c (gtk_widget_class_init): Fix type
376         of allocation argument be GDK_TYPE_RECTANGLE.
377
378 Thu May 31 12:43:57 2001  Owen Taylor  <otaylor@redhat.com>
379
380         * gtk/gtkoptionmenu.c: Account for the fact that the border
381         width is _outside_ the window. (Fixes #54585, bug found
382         by Bastien Nocera.)
383
384 Wed May 30 15:56:30 2001  Owen Taylor  <otaylor@redhat.com>
385
386         * gtk/gtksettings.c (gtk_settings_get_property): Validate
387         value from GDK settings against parameter spec.
388
389         * gdk/x11/gdkevents-x11.c (gdk_setting_get): Add assignments
390         to temporary values and use g_value_transform(), since
391         thinking that GValue was going to be easy or efficient
392         to use was, of course, a mistake.
393
394         * gtk/gtksettings.c: Add cursor blink setting.
395         
396         * gdk/x11/gdkevents-x11.c: Add cursor blink X settings.
397
398         * gtk/gtkentry.c: Add cursor blinking.
399
400         * gtk/gtktextview.c (gtk_text_view_check_cursor_blink): Use
401         cursor blink global settings.
402
403         * gtk/gtkentry.c (gtk_entry_button_press): Add notification
404         for :text_position in places where it is missing.
405
406 Tue May 29 18:17:11 2001  Owen Taylor  <otaylor@redhat.com>
407
408         * autogen.sh (have_libtool): Fix GNU sedism (#55430)
409
410 Tue May 29 17:40:29 2001  Owen Taylor  <otaylor@redhat.com>
411
412         * configure.in (GTK_DEP_CFLAGS): Use $PKG_CONFIG,
413         not pkg-config. (#51032)
414
415         * gdk/gdkproperty.h: Remove inappropriate G_GNUC_CONST
416         (fixes #51952, James Henstridge)
417         
418 2001-05-27  Alexander Larsson  <alla@lysator.liu.se>
419
420         * gtk/gtkstock.h (GTK_STOCK_GO_UP):
421         Rename to the more correct gtk-go-up.
422
423         * gtk/stock-icons/stock_menu_sort_ascending.png:
424         Added new file.
425         
426         * gtk/stock-icons/stock_menu_sort_descending.png:
427         Changed to show descending instead of ascending.
428
429         * gtk/gtkiconfactory.c:
430         Added menu size icon to sort ascending.
431
432         * gtk/stock-icons/Makefile.am:
433         Added stock_menu_sort_ascending.png.
434         
435         * gtk/gtkseparatormenuitem.c:
436         Use correct typenames.
437
438 Sun May 20 20:07:35 2001  Tim Janik  <timj@gtk.org>
439
440         * gtk/gtksignal.[hc] (gtk_signal_connect_full): make hanlder id a
441         gulong as in GSignal.
442
443 Fri May 25 19:04:17 2001  Jonathan Blandford  <jrb@redhat.com>
444
445         * gtk/gtktreeview.c (gtk_tree_view_calc_size): Remove almost all
446         instances of GtkCellRenderer in code (all but dnd icon code).
447         Virtualized in GtkTreeViewColumn.  Now I need to move focus in
448         there, and I can do multiple Cells per column.
449
450         * gtk/gtktreeviewcolumn.c: Proxy all cell calls correctly
451
452         * gtk/gtktreemodel.c (gtk_tree_row_reference_new_proxy): fix bug
453         when model was unreffed prior to removing the row reference.
454
455 2001-05-25  Havoc Pennington  <hp@redhat.com>
456
457         * gtk/gtkiconfactory.c: fix so that default icons are created if 
458         you call gtk_stock_list_ids()
459
460         * demos/gtk-demo/stock_browser.c (create_model): sort stock items
461         in list
462
463 2001-05-25  Havoc Pennington  <hp@redhat.com>
464
465         * gtk/gtkiconfactory.c (gtk_icon_set_get_sizes): get sizes an icon
466         set can render without falling back to missing image icon
467
468         * gtk/gtktextview.c (gtk_text_view_size_request): request full
469         size of text, instead of random values
470
471         * gtk/gtktreeview.c (gtk_tree_view_size_request): request full
472         size of tree view, instead of random values
473
474         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): render fallback
475         image in an appropriate size
476
477         * gtk/gtkstock.h: Rename the stock items including _BUTTON_,
478         etc. not to include that. i.e. s/GTK_STOCK_BUTTON_OK/GTK_STOCK_OK/
479
480         Throughout: fix GTK_STOCK_BUTTON_ instances
481         
482         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
483         gtk/gtkiconfactory.c, gtk/stock-icons/Makefile.am:
484         Add a bunch of new stock items/icons
485
486         * gtk/gtktreeview.c (gtk_tree_view_insert_column_with_data_func):
487         new function, convenience for inserting columns with a data func
488
489         * gtk/gtkiconfactory.c: keep a list of all existing icon factories
490         (_gtk_icon_factory_list_ids): use list of all factories to
491         generate a list of all known IDs
492
493         * gtk/gtkstock.c (gtk_stock_list_ids): replace
494         gtk_stock_list_items() with a function that returns all IDs known
495         including those for GtkIconFactory.
496
497 2001-05-25  Hans Breuer  <hans@breuer.org>
498
499         * gdk/win32/gdkgc-win32.c : made fil mode GDK_STIPPLED actually
500         work -> check boxes and radio buttons are drawn now, even on win9x.
501         Improved line settings a bit, still no clue how to get really dotted
502         lines on win9x, on NT it's PS_ALTERNATE.
503
504         * gdk/win32/gdkwindow-win32.c : use SafeAdjustWindowRect for 
505         GDK_HINT_MIN_SIZE as well
506
507         * gdk/win32/makefile.am : added gdkkeys-win32.c to EXTRA_DIST
508
509         * gtk/gtk.def : updated
510
511         * gtk/gtktreeprivate.h : change column_drop_func to be a function
512         pointer not a function pointer pointer
513
514         * tests/testdnd.c : include <stdlib.h> for putenv prototype
515
516         * tests/testsocket.c : made it compile on win32 again
517
518         * tests/makefile.msc : one more test-app uses prop-editor.obj
519
520 2001-05-22  Havoc Pennington  <hp@pobox.com>
521
522         * gtk/gtkbin.c (gtk_bin_get_child): New function
523
524 Wed May 23 20:07:53 2001  Owen Taylor  <otaylor@redhat.com>
525
526         * gtk/gtkimcontextsimple.c: Add Mode_Switch to list of keys
527         to ignore when doing compose processing.
528
529 2001-05-22  Joe Shaw  <joe@ximian.com>
530
531         * gtk/gtktextiter.c (_gtk_text_btree_get_iter_at_last_toggle): 
532         Simplify as suggested by Havoc. Just get the last iter and work
533         backward to the tag instead of getting a line and working back from
534         there. Fixes passing in an invalid offset to
535         iter_init_from_byte_offset().
536
537 Tue May 22 16:25:27 2001  Jonathan Blandford  <jrb@redhat.com>
538
539         * gtk/gtktreeview*.h: 
540         * gtk/gtkcell*.h:
541         * gtk/gtk*store.h:
542         Added patch from Jeff Franks <jcf@tpg.com.au> to add GET_CLASS
543         macros to all objects.
544
545 Tue May 22 15:13:52 2001  Jonathan Blandford  <jrb@redhat.com>
546
547         * gtk/gtkcellrenderertext.c
548         (gtk_cell_renderer_text_set_fixed_size): Evil function to deal
549         with very large (TM) amounts of text.  May be moved to
550         GtkCellRenderer in the future, though I'm not sure it wants to be
551         this accessible.
552
553         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_update_button):
554         More sanity brought to this class.  I like it.
555
556         * tests/testtreecolumns.c (ViewColumnModel): Amazingly scary test
557         case.  Kids, don't try this at home.
558
559         * gtk/gtktreemodel.c (gtk_tree_model_get_iter_root): new
560         convenience function.
561
562         * gtk/gtkwindow.c (gtk_window_set_geometry_hints): Fix typo in docs.
563
564 2001-05-21  Alexander Larsson  <alexl@redhat.com>
565
566         * gtk/gtkfontsel.c:
567         Added properties. Based on patch by Lee Mallabone.
568
569         * gtk/gtkruler.c:
570         * gtk/gtkhruler.c:
571         * gtk/gtkvruler.c:
572         * gtk/gtktext.c:
573         * gtk/gtktextview.c:
574         Converted GtkArg to GParam. Based on patches by John Margaglione.
575
576         * tests/Makefile.am:
577         * tests/testtext.c:
578         Add a property editor to testtext.
579         
580 Mon May 21 11:29:21 2001  Owen Taylor  <otaylor@redhat.com>
581
582         * gtk/gtk{h,v,}paned.c: Only show the separator if 
583
584         * configure.in: Fixed reversed conditional causing all image
585         libraries to be linked in.
586
587 2001-05-21  Joe Shaw  <joe@ximian.com>
588
589         * gtk/gtklayout.c (gtk_text_layout_get_lines): Remove the assertion
590         that top_y needs to be >= 0.
591
592 2001-05-11  Havoc Pennington  <hp@pobox.com>
593         
594         * gdk/x11/gdkmain-x11.c: Improve error messages for X errors and
595         losing connection to the X server.
596
597 Sun May 20 13:59:20 2001  Owen Taylor  <otaylor@redhat.com>
598
599         * configure.in: Start checks for X from pangox/pangoxft
600         CFLAGS to avoid duplicate libraries.
601
602         * gdk/Makefile.am (LDFLAGS): Remove extra -lm.
603
604         * configure.in (GDK_PIXBUF_PACKAGES): Fix GDK_PIXBUF_PACKAGES
605         to include gobject.
606         
607 2001-05-18  Alexander Larsson  <alexl@redhat.com>
608
609         * gtk/gtkspinbutton.c:
610         Convert GtkArgs to GParams. Based on patch by John Margaglione.
611         Also do size request reasonable for MAXDOUBLE. Previously it printed
612         the limits to a buffer and overran it. Instead do it using log10() and
613         limit the width to 10 digits.
614         
615         * gtk/gtkwidget.c (gtk_widget_get_property):
616         Correctly handle setting the parent property to NULL.
617
618 Fri May 18 15:26:26 2001  Owen Taylor  <otaylor@redhat.com>
619
620         * gtk/gtktextview.c (gtk_text_view_style_set): Reset 
621         style attributes even if the widget isn't realized.
622
623         * demos/gtk-demo/main.c: Use a slightly smaller font.
624
625 Fri May 18 14:25:20 2001  Owen Taylor  <otaylor@redhat.com>
626
627         * gtk/gtkcontainer.c: Remove reallocate-redraws property.
628         This is something that only a widget writer would ever want
629         to change.
630
631         * gtk/gtksignal.c: Handle G_SIGNAL_TYPE_STATIC_SCOPE for
632         gtk_signal_emit_by_name().
633
634         * gtk/gtkviewport.c: Fix some warnings.
635
636         * gtk/gtkwidget.c gtk/gtksizegroup.c: Add "size group" facility
637         allowing the requisitions of multiple widgets to be grouped
638         together.
639
640         * tests/testgtk.c: Add GtkSizeGroup test
641
642         * demos/gtk-demo/sizegroup.c: Add GtkSizeGroup demo.
643
644         * demos/gtk-demo/main.c demos/gtk-demo/pixbufs.c: Fix some
645         warnings.
646
647         * configure.in: Switch to using AM_GLIB_GNU_GETTEXT.
648
649 2001-04-28  Martin Baulig  <baulig@suse.de>
650
651         * gtk/gtkimagemenuitem.[ch]: Renamed gtk_image_menu_item_add_icon()
652         to gtk_image_menu_item_set_icon() and made it work if there's already
653         an image.
654         (gtk_image_menu_item_new): This function doesn't take any arguments anymore.
655         (gtk_image_menu_item_new_with_label): New function.
656
657 Thu May 17 16:20:04 2001  Jonathan Blandford  <jrb@redhat.com>
658
659         * demos/gtk-demo/main.c (fontify): It's the worlds ugliest
660         highlighting code!!!!  The result is okay so long as you don't try
661         to stress it.  It also highlights a bug in the TextView so it's in
662         an unproportional font right now until it's fixed.
663
664         *demos/gtk-demo/*.c: Clean up code a bit to make it
665         ugly-parser(TM) friendly. (-:
666
667 2001-05-17  Joe Shaw  <joe@ximian.com>
668
669         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove the assertions
670         that x_offset and y_offset must be >= 0. Clip the cursor being drawn
671         if it is only partially onscreen.
672
673 Thu May 17 17:10:13 2001  Owen Taylor  <otaylor@redhat.com>
674
675         * gtk/gtkentry.c: Make logical motion and deletion by graphemes, 
676         not by characters.
677
678         * gtk/gtkentry.c: Handle "trailing" returns from Pango when they
679         are not zero or one; that is, when graphemes of multiple characters
680         are involved.
681
682         * gtk/gtktextlayout.c (line_display_index_to_iter): Remove unnecessary
683         FIXME.
684
685 2001-05-17  Alexander Larsson  <alla@lysator.liu.se>
686         
687         * gtk/gtkbbox.c:
688         Add properties, based on patch by Lee Mallabone.
689
690         * gtk/gtknotebook.c:
691         * gtk/gtktoolbar.c:
692         Convert from GtkArg to GParam, based on patch by John Margaglione.
693         
694         * gtk/gtkhscale.c:
695         * gtk/gtkvscale.c:
696         * gtk/gtkhscrollbar.c:
697         * gtk/gtkvscrollbar.c:
698         * gtk/gtkrange.c:
699         Move adjustment property to GtkRange.
700
701         * gtk/gtklabel.c:
702         Setup mnemonics on property changes
703
704         * gtk/gtkwidget.c (gtk_widget_get_property):
705         GdkExtensionMode is an enum, not a flag. Set it with
706         g_value_set_enum ().
707
708         * tests/prop-editor.c:
709         Better propery editor.
710
711         * tests/testgtk.c:
712         Add new property test. Pass zero to the property editor to
713         get properties from all derived types.
714         
715 Sun May 13 12:01:12 2001  Owen Taylor  <otaylor@redhat.com>
716
717         * autogen.sh (have_automake): Require libtool-1.4,
718         automake-1.4p1.
719
720         * acinclude.m4: Remove libtool macros.
721
722         * gdk-pixbuf/Makefile.am: Add dependencies to loade
723         modules.
724
725         * gdk/Makefile.am: Add dependency on libgdk_pixbuf.la
726         for libgdk.
727
728         * gtk/Makefile.am: Add dependency on libgdk_pixbuf.la
729         libgdk.la for libgtk.
730
731         * modules/input/Makefile.am: Make modules have full
732         dependencies.
733
734 Wed May 16 14:06:01 2001  Jonathan Blandford  <jrb@redhat.com>
735
736         * gtk/gtktreemodel.c (gtk_tree_path_new_from_string): fix bug
737         #54699 where paths weren't being checked for correctness.
738
739 Tue May 15 20:13:24 2001  Jonathan Blandford  <jrb@redhat.com>
740
741         * gtk/gtktreeviewcolumn.c: You can now set all sorts of properties
742         in any order you wan, whether or not the column is added to the
743         tree, or the tree is realized.  Yay!
744
745         * gtk/gtktreeviewcolumn.c
746         (gtk_tree_view_column_setup_sort_column_id_callback): handle
747         sorting columns a lot saner
748
749         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_reorderable):
750         new function to actually set wether or not a column is
751         reorderable.
752
753         * gtk/gtktreeview.c (gtk_tree_view_unrealize): Only destroy things
754         if we have 'em.
755
756         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_set_tree_view):
757         Fix nasty bug where we were showing the button just before
758         realizing it.  As a result, the parent window was
759         tree_view->window instead of tree_view->priv->header_window.
760
761         * gtk/gtktreeview.c (gtk_tree_view_set_reorderable): new property
762         to let you easily reorder a list or tree.
763
764 2001-05-15  Alexander Larsson  <alla@lysator.liu.se>
765
766         * gtk/gtkpacker.c: Apply patch from John Margaglione that converts
767         from args to properties.
768
769 Tue May 15 10:11:59 2001  Owen Taylor  <otaylor@redhat.com>
770
771         * gtk/gtkpreview.c: Apply patch from John Margaglione converting
772         from args to properties. (#51957)
773
774         * gtk/gtkscale.c (gtk_scale_class_init): Move install property
775         calls to after ->set_property call.
776
777 Mon May 14 14:56:21 2001  Owen Taylor  <otaylor@redhat.com>
778
779         * tests/prop-editor.c: Block against redundant changes.
780
781         * gtk/gtkpaned.c gtk/gtk[hv]paned.c: Add position, position_set
782         properties.
783
784 Sun May 13 18:40:04 2001  Owen Taylor  <otaylor@redhat.com>
785
786         * gdk/gdkpixmap.h: Remove creative formatting.
787
788 Thu May 10 19:22:28 2001  Owen Taylor  <otaylor@redhat.com>
789
790         * gtk/gtktogglebutton.c:  Patch from John Margaglione converting to
791         property API. (#51669)
792
793         * gtk/gtkscale.c: Patch from John Margaglione converting to
794         property API. (#51891)
795
796         * gtk/gtkaccellabel.c: Applied patch from Lee Mallabone, converting
797         to property API. (#50985)
798
799 Fri May 11 20:13:44 2001  Tim Janik  <timj@gtk.org>
800
801         * gtk/gtkmain.c (gtk_main_do_event): remember widget's double
802         buffering state across expose event, so we still call end_paint().
803
804 2001-05-11  Alexander Larsson  <alexl@redhat.com>
805
806         * gtk/gtkhsv.c (paint_triangle):
807         Expose the ring in the triangle at the correct place when
808         exposing just a part of the triangle.
809
810         * gtk/gtkwindow-decorate.c (gtk_decorated_window_focus_change):
811         Return FALSE, or window focusing will not work.
812
813 2001-05-11  Havoc Pennington  <hp@pobox.com>
814
815         * gtk/gtkimage.c (gtk_image_new_from_stock): docs, fixes bug
816         #54144
817
818         * gtk/gtkcolorsel.c (gtk_color_selection_new): docs, fixes
819         bug #54330
820
821 Fri May 11 02:53:57 2001  Tim Janik  <timj@gtk.org>
822
823         * gtk/gtktogglebutton.c (gtk_toggle_button_expose): don't
824         propagate exposes to NULL child.
825
826         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed): guard
827         against not having one of the scrollbars.
828
829         * gtk/gtklabel.c (gtk_label_setup_mnemonic): clean up after us,
830         we don't keep a mnemonic window if we have no mnemonic installed.
831
832 Fri May 11 01:05:00 2001  Tim Janik  <timj@gtk.org>
833
834         * gtk/gtktypeutils.h: grum, gtk_type_class() is not GNUC_CONST
835         it has the _important_ side effect of initializing a class.
836
837 2001-05-10  Alexander Larsson  <alexl@redhat.com>
838
839         * gdk/linux-fb/gdkprivate-fb.h:
840         Make sure you can compile out the implementation/wrapper assert
841         macros.
842
843         * gdk/linux-fb/gdkdrawable-fb2.c:
844         Check implementation/wrappers, initialize type for pixmap dummys.
845
846         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image):
847         Hide the cursor if reading from the screen.
848
849         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic):
850         Fix sign bug in tiling code.
851
852         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
853         Handle background pixmaps.
854
855 Wed May  9 15:27:22 2001  Jonathan Blandford  <jrb@redhat.com>
856
857         * gtk/gtktreeview.c (gtk_tree_view_set_column_drag_function): New
858         function to let user control where columns are dragged.
859
860         * gtk/gtktreeview.c (gtk_tree_view_key_press): Cancel drags if
861         Escape is pressed.
862
863 Wed May  9 09:08:44 2001  Jonathan Blandford  <jrb@redhat.com>
864
865         * gtk/gtktreeview.c (gtk_tree_view_class_init): New
866         "columns_changed" signal.
867         (gtk_tree_view_motion_draw_column_motion_arrow): Change column
868         motion code to draw arrows to the side if indicator is outside the
869         widget.
870         (gtk_tree_view_map_expanded_rows): Implement.
871
872 2001-05-07  Alexander Larsson  <alexl@redhat.com>
873
874         * demos/testpixbuf-save.c: 
875         * demos/testpixbuf-drawable.c:
876         Include gdkfb.h on linux-fb.
877
878 2001-05-07  Alexander Larsson  <alexl@redhat.com>
879
880         * gdk/linux-fb/gdkdnd-fb.c (get_toplevel_window_at):
881         New function for getting toplevel window at position.
882         (gdk_drag_find_window): Use get_toplevel_window () instead
883         of gdk_window_get_pointer(). (gdk_drag_status): Use
884         correct context for getting window.
885
886         * gdk/linux-fb/gdkproperty-fb.c (gdk_atom_name):
887         g_strdup the atom name.
888
889         * gdk/linux-fb/gdkwindow-fb.c:
890         Costmetic fix.
891
892         * gtk/gtkdnd.c (gtk_drag_source_handle_event):
893         Add code for changing cursor on linux-fb backend (same as
894         win32).
895
896 2001-05-07  Federico Mena Quintero  <federico@ximian.com>
897
898         * gtk/gtkwindow.c (gtk_window_focus): Test for bin->child being
899         present before doing anything with it.  Patch from HÃ¥vard KvÃ¥len
900         <havardk@netcom.no>.  Fixes Ximian bugzilla #2492 (OK, the bug
901         report was not for the development branch of GTK+, but it applies
902         anyways).
903
904 2001-05-04  Havoc Pennington  <hp@redhat.com>
905
906         * configure.in: fix some shell typos
907
908         * gtk/gtkcolorsel.c (gtk_color_selection_destroy): warning fix
909
910         * gtk/gtkimage.c: handle animations
911
912         * gtk/gtkcheckbutton.c (gtk_check_button_size_request): request
913         border_width * 2, not just border_width
914
915         * gtk/gtkscale.c: add "format_value" signal to allow people
916         to override the way values are drawn.
917         (gtk_scale_get_value_size): fix width/height mistake,
918         and compute size from actual displayed text, not 
919         from made-up text.
920
921         * gtk/gtktexttag.c (gtk_text_tag_class_init): fix return type in 
922         signal registration
923
924         * tests/testtext.c: Add "Remove all tags" menu item for testing
925
926         * gtk/gtktextbuffer.c (gtk_text_buffer_remove_all_tags): implement
927
928         * demos/gtk-demo/main.c (main): add hack so we can find modules
929         without installing gtk
930
931         * demos/gtk-demo/textview.c (insert_text): demo font scaling
932
933         * gtk/gtkcellrenderertext.c: Add "scale" property (font scaling
934         factor)
935         (gtk_cell_renderer_text_set_property): remove some bogus
936         g_object_notify
937
938         * gtk/gtktexttag.c: add "scale" property which is a font scaling
939         factor
940
941         * gtk/gtktextlayout.c (add_text_attrs): add font scale attribute 
942         to layout
943
944         * gtk/gtktextiter.c (gtk_text_iter_is_start): rename from
945         gtk_text_iter_is_first
946
947 2001-01-06  Hans Breuer  <hans@breuer.org>
948
949         * gdk/gdk.def : updated exports
950
951         * gdk/win32/makefile.msc : -DGDK_ENABLE_BROKEN otherwise
952         gdk won't compile anymore
953  
954         * gdk/win32/gdkevents-win32.c : initialize ret_val when
955         processing GDK_FILTER functions, initialize event.key->hardware_keycode.
956         Improved gdk_flush () to not only do pending drawing operations
957         but also process all currently pending events. This should make
958         the behaviour more similar to the X11 version.  
959
960         * gdk/win32/gdkgc-win32.c (predraw_set_background) : a background
961         option needs to be set even if there is no GDK_GC_BACKGROUND.
962         (gdk_win32_hdc_get) : use predraw_set_background () independent
963         of value_mask. This allows to draw dashed lines leaving the original
964         background intact.
965
966         * gdk/win32/gdkimage-win32.c (gdk_image_new_bitamp) : free data
967         after processing, because we can't reuse it as the X11 version does.
968
969         * gtk/gtk.def : updated exports
970
971         * gtk/makefile.msc.in : added ATK, removed all test apps. (I
972         would like to get rid of this file again, and use straight
973         makefile.msc again, as the other Gtk+ subdirs do)
974
975         * test/makefile.msc (new file) : build the test apps here
976
977 2001-05-05  ERDI Gergo  <cactus@cactus.rulez.org>
978
979         * gdk/gdkpango.c (gdk_pango_get_item_properties): Peek
980         strike-through setting
981         (gdk_draw_layout_line_with_colors): Render strike-through
982
983 Sat May  5 10:06:24 2001  Owen Taylor  <otaylor@redhat.com>
984
985         * Release 1.3.5
986
987         * configure.in (GTK_MICRO_VERSION): Up to 1.3.5
988
989         * NEWS: Updated
990
991         * demos/gtk-demo/Makefile.am (EXTRA_DIST): Fix minor
992         Makefile breakage.
993
994 Sat May  5 09:18:30 2001  Owen Taylor  <otaylor@redhat.com>
995
996         * demos/gtk-demo/images.c (progressive_timeout): Fix
997         typo in filename.
998
999         * gtk/gtktreeview.c (gtk_tree_view_row_activated): Comment
1000         out FIXME warning; just too annoying.
1001
1002 2001-05-04  Alex Larsson  <alla@lysator.liu.se>
1003
1004         * gdk/linux-fb/gdkcolor-fb.c:
1005         Better error messages.
1006
1007         * gdk/linux-fb/gdkpixmap-fb.c (gdk_pixmap_new):
1008         Initialize abs_x and abs_y.
1009         
1010         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic):
1011         Correct handling of stipple offset.
1012
1013         * gdk/linux-fb/gdkvisual-fb.c (gdk_visual_init):
1014         Treat directcolor framebuffers as truecolor.
1015         
1016 Thu May  3 14:13:49 2001  Owen Taylor  <otaylor@redhat.com>
1017
1018         * INSTALL.in HACKING gtk/gtkaccessible.[ch] gtk/gtk.c: Add
1019         dependency on Atk for accessibility support.
1020
1021         * configure.in **/Makefile.am: Major reworking of substituted
1022         variables for CFLAGS/LIBS to make a lot more sane and 
1023         keep the the compile/link lines a bit shorter.
1024
1025         * gdk/x11/gdkkeys-x11.c: Fix #endif with trailing stuff.
1026
1027 Thu May  3 08:10:54 2001  Owen Taylor  <otaylor@redhat.com>
1028
1029         * gtk/gtktexttag.c (gtk_text_tag_class_init): Fix return
1030         value to be G_TYPE_BOOLEAN, not G_TYPE_INT, also,
1031         use _gtk_boolean_handled_accumulator.
1032
1033 Thu May  3 07:00:09 2001  Owen Taylor  <otaylor@redhat.com>
1034
1035         * gtk/gtktextview.c: Patch from Juan Pablo Mendoza Mendoza
1036         to fix things so clicking inside selection leaves cursor
1037         at point where clicked. (#50324)
1038
1039         * gtk/gtksettings.c (gtk_settings_class_init): Restore
1040         sane value for default double click time.
1041
1042         * tests/testtext.c (test_init): Really path to input modules.
1043
1044 2001-05-03  Sven Neumann  <sven@convergence.de>
1045
1046         * demos/testpixbuf-save.c: include target-specific headers as
1047         done in testpixbuf-drawable.c
1048
1049 Wed May  2 20:36:38 2001  Owen Taylor  <otaylor@redhat.com>
1050
1051         * gtk/gtkentry.c (gtk_entry_real_insert_text): Reduce
1052         new_text_length appropriately when we run into the 
1053         size limit for the entry. (#53445, reported by Jeff Franks)
1054
1055         * tests/testgtk.c (create_entry): Remove most of the
1056         property toggle buttons. Replace with a "Props" button
1057         that brings up a property editor.
1058
1059         * tests/prop-editor.[ch] test/testtreeview.c tests/Makefile.am:
1060         Split the property editor code out for reuse, improve.
1061
1062 Wed May  2 17:26:22 2001  Owen Taylor  <otaylor@redhat.com>
1063
1064         * gdk/x11/gdkevents-x11.c gdk/x11/gdkwindow-x11.c: Always
1065         trap errors around calls to XSetInputFocus since we have
1066         no way of knowing reliably whether we are viewable or
1067         not. (#53947)
1068
1069 Tue May  1 09:21:23 2001  Jonathan Blandford  <jrb@redhat.com>
1070
1071         * gtk/gtktreeview.c (gtk_tree_view_button_release_drag_column):
1072         fix bug in dropping columns.  Moving columns now basically works
1073         modula some fine tuning.
1074
1075 Tue May  1 19:09:21 2001  Jonathan Blandford  <jrb@redhat.com>
1076
1077         * gtk/gtktreeview.c (gtk_tree_view_horizontal_autoscroll): Add
1078         autoscroll support.  It mostly works, but could use some fine
1079         tuning.
1080         * gtk/gtktreeview.c (gtk_tree_view_button_release_drag_column):
1081         Actually move the column.
1082
1083 Mon Apr 30 20:29:27 2001  Owen Taylor  <otaylor@redhat.com>
1084
1085         * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtkoptionmenu.c 
1086           gtk/gtkspinbutton.c gtk/gtkstyle.c gtk/gtkwidget.c:
1087           New default theme! A slighly improved version of the 2.0 Raleigh
1088           theme, with Windows-esque focus/drawing default. 
1089           (GtkWidget::interior_focus defaults to TRUE.)
1090
1091         * gtk/gtkstyle.[ch]: Add a text_aa color halfway between text and base.
1092
1093 2001-04-30  Havoc Pennington  <hp@pobox.com>
1094
1095         * tests/testtext.c (line_numbers_expose): fix to work with
1096         gtk_paint_layout change
1097
1098 Mon Apr 30 19:18:07 2001  Owen Taylor  <otaylor@redhat.com>
1099
1100         * gtk/gtkstyle.[ch] gtk/gtkaccellabel.c gtk/gtkcellrenderertext.c
1101           gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c gtk/gtkprogressbar.c
1102           gtk/gtkvruler.c gtk/gtkvscale.c: Add an extra parameter
1103           use_text to gtk_paint_label() to deal with style->bg[] vs style->text[].
1104
1105         * gtk/gtkbbox.c gtk/gtkdialog.c: Tweak padding some to deal
1106           with GtkWidget::interior_focus = TRUE better.
1107
1108         * gtk/gtkbutton.c: Switch ::default_spacing to ::default_border,
1109         ::default_outside_border for more flexibility.
1110
1111         * gtk/gtkwidget.c (gtk_widget_style_get_valist): Remove 
1112         G_VALUE_NO_COPY_CONTENTS, to correspond with the recent
1113         change that had to be made with g_object_get.
1114
1115 Sun Apr 29 20:13:40 2001  Jonathan Blandford  <jrb@redhat.com>
1116
1117         * gtk/gtktreeview.c (gtk_tree_view_get_columns): new function.
1118         (gtk_tree_view_move_column_after): Clean up interface. 
1119
1120 Sun Apr 29 03:02:02 2001  Tim Janik  <timj@gtk.org>
1121
1122         * gtk/gtkpacker.h:
1123         * gtk/gtkenums.h: moved GtkAnchorType and GtkSideType from gtkpacker.h
1124          to gtkenum.h.
1125
1126         * gtk/gtkmain.c (gtk_main_do_event): silence compiler (GDK_SETTING not
1127         handled in switch).
1128
1129         * gtk/Makefile.am:
1130         (gtk.defs): generate enum portions with  glib-mkenums.
1131         (gtktypebuiltins_evals.c): generate this with glib-mkenums.
1132         got rid of makeenums.pl and makeenums.awk in distributed tarballs.
1133         
1134         * gtk/gtkaccelgroup.c (gtk_accel_group_add): refined havocs warning
1135         addition.
1136
1137         * docs/Changes-2.0.txt: keep a note on signal handlers now
1138         not getting emitted during the emission they were connected within.
1139
1140 2001-04-28  Havoc Pennington  <hp@pobox.com>
1141
1142         * gtk/gtkcolorsel.c (palette_new): fix bug in tooltip
1143
1144 2001-04-24  Havoc Pennington  <hp@redhat.com>
1145
1146         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_previous_line): 
1147         (gtk_text_layout_move_iter_to_next_line): fix these two for
1148         invisible text, lots of other stuff still hosed.
1149
1150         * gtk/gtkcolorsel.c (gtk_color_selection_set_change_palette_hook):
1151         new function, replaces the get/set palette stuff. This function 
1152         is intended for use by libgnomeui which should set the hook to a
1153         thing which sets the palette in GConf, and we need the
1154         GConf-to-xsettings proxy which will result in the change being
1155         propagated back to the GTK app.
1156
1157         * gtk/gtkaccelgroup.c (gtk_accel_group_add): add note to warning 
1158         about unusable signals that it may be because the signal has 
1159         parameters.
1160
1161         * gtk/gtkwidget.c (gtk_widget_modify_style): always copy the
1162         style, otherwise gtkrc.c won't know to create a new GtkStyle for
1163         it.
1164         (gtk_widget_modify_color_component): call
1165         gtk_widget_modify_style() so the rc style will get copied.
1166         (gtk_widget_modify_font): ditto
1167
1168         * gtk/gtkrc.c: make a couple variables static
1169
1170         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): hide
1171         help button by default, since it does nothing
1172
1173         * gtk/gtkcolorsel.c: add tooltips, work on key navigation, fool
1174         around with UI
1175
1176         * gtk/gtkentry.c (gtk_entry_realize): request enter/leave notify
1177         so we can have tooltips
1178
1179         * gtk/gtkhsv.c (gtk_hsv_realize): request enter/leave notify so we
1180         can have tooltips
1181
1182         * gdk/gdkimage.h: mark gdk_image_new_bitmap with
1183         GDK_ENABLE_BROKEN, because its memory behavior is completely
1184         hosed.
1185
1186         * gtk/gtknotebook.c: remove key press handler, replace with
1187         binding set, add numeric keypad support
1188
1189         * gtk/gtktextview.c (gtk_text_view_class_init): accept KP_Delete
1190
1191         * gtk/gtktext.c (gtk_text_key_press): add a bunch of KP keysyms
1192
1193         * gtk/gtkentry.c (gtk_entry_class_init): accept GDK_KP_Delete in
1194         addition to plain Delete
1195
1196         * gtk/gtktextview.c (gtk_text_view_key_press_event): accept
1197         GDK_KP_Enter in addition to GDK_Return
1198
1199         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): connect to
1200         activate on entry instead of key press
1201         (gtk_font_selection_on_clist_key_press): get
1202         rid of this signal handler, not needed with new font sel.
1203
1204         * gtk/gtkfilesel.c (gtk_file_selection_key_press): remove a
1205         no-longer-needed emit_stop_by_name(), just return TRUE
1206
1207         * gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.c: remove keybindings
1208         cruft, this widget is no longer focusable.
1209
1210         * gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkvscale.c,
1211         gtk/gtkhscale.c: Get rid of trough_keys virtual function, add
1212         move_slider action signal, add binding set for vscale/hscale, in
1213         the process support numeric keypad
1214
1215         * gtk/gtkentry.c (gtk_entry_class_init): Add keypad bindings; 
1216         make GDK_Return and GDK_KP_Enter activate the entry via 
1217         binding set, instead of hardcoded.
1218
1219 Fri Apr 27 20:27:21 2001  Jonathan Blandford  <jrb@redhat.com>
1220
1221         * gtk/gtktreeview.[hc]: Massive reorder/cleanup of a lot of the
1222         code.  Some documentation added.
1223
1224 2001-04-27  Havoc Pennington  <hp@redhat.com>
1225
1226         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fix warning
1227
1228         * gtk/gtkmessagedialog.c (gtk_message_dialog_init): make messages selectable
1229
1230         * gtk/gtkentry.c (gtk_entry_real_insert_text): don't strip
1231         line/para separators
1232         (gtk_entry_create_layout): set single paragraph mode on the layout
1233
1234         * gtk/gtkbutton.c (gtk_button_new_from_stock): don't put much
1235         spacing between the image and label; instead, inside a button box 
1236         the button will get extra space that will go there, but if people 
1237         configure button box for 0 chubbiness, then there's no spacing.
1238
1239         * gtk/gtkbbox.c (gtk_button_box_class_init): Make child ipadding
1240         and min/max size style properties, so people can tune their
1241         chubbiness.
1242
1243         * tests/testgtk.c (make_toolbar): remove calls to removed toolbar
1244         functions
1245
1246         * gtk/gtktoolbar.c (gtk_toolbar_class_init): Make space_size,
1247         space_style, and button_relief into style properties, remove
1248         functions for setting them
1249         
1250         * gtk/gtkmenu.c (gtk_menu_key_press): handle menu bar accel to pop 
1251         it back down
1252
1253         * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): free boxed
1254         types from gtk_widget_style_get
1255
1256         * gtk/gtkmenubar.c (gtk_menu_bar_set_shadow_type): Remove, replace
1257         with a style property.
1258
1259         * gdk/x11/gdkevents-x11.c: namespace the settings
1260
1261         * gtk/gtkmenubar.c: Add F10 accelerator to move between menubars.
1262
1263         * gtk/gtksettings.c (gtk_settings_class_init): remove code with
1264         side effects from inside g_assert(), so that G_DISABLE_ASSERT can
1265         be used. Also, translate doc strings for settings. Also, namespace
1266         the double-click-time property. Also, remove bell properties crap.
1267
1268 2001-04-27  Sven Neumann  <sven@gimp.org>
1269
1270         * Makefile.am: before creating links, check if pkg-config files
1271         exist for the default target. Otherwise link to the pkg-config files
1272         that got installed with this build.
1273
1274 Thu Apr 26 19:11:46 2001  Jonathan Blandford  <jrb@redhat.com>
1275
1276         * gtk/gtktreeview.c (gtk_tree_view_motion): clean up column
1277         dragging code.  Revealed some (potential) GdkWindow bugs.
1278
1279         * gdk/x11/gdkwindow-x11.c (gdk_window_reparent): add
1280         _gdk_window_init_position to the end of reparent to fix the case
1281         of reparenting when new_x != old_x and new_y != old_y.
1282
1283 Thu Apr 26 10:54:50 2001  Owen Taylor  <otaylor@redhat.com>
1284
1285         * gtk/gtkentry.c (strstr_len): Fix optimization that
1286         was correct for the use here, but completely incorrect
1287         in general.
1288
1289 Thu Apr 26 10:40:41 2001  Owen Taylor  <otaylor@redhat.com>
1290
1291         * gtk/gtkwindow.h: Remove deprecation of gtk_window_set_default_size()
1292         until patch adding gtk_window_set_size() is recommitted. 
1293
1294         * **Makefile.am configure.in gdk/x11/gdkim-11.c
1295           gtk/gtkmain.c gtk/gtkimmulticontext.c gtk/gtkmain.c
1296           gtk/gtkrc.c: Remove all traces of -DX_LOCALE support.
1297           (#10784)
1298
1299 Wed Apr 25 12:16:36 2001  Owen Taylor  <otaylor@redhat.com>
1300
1301         * gdk/X11/gdkevents-x11.c (gdk_event_translate): Test for 
1302         window == NULL in a number of cases.
1303
1304         * tests/testdnd.c: Set module path for gdk-pixbuf.
1305
1306 Thu Apr 19 16:11:07 2001  Owen Taylor  <otaylor@redhat.com>
1307
1308         * gtk/Makefile.am xembed.h: File containing #defines
1309         for XEMBED protocol.
1310
1311         * gtk/gtkplug.[ch] gtk/gtksocket.[ch]: 
1312
1313         - Change protocol from old plug/socket specific protocol
1314           to XEMBED draft
1315         - Various fixes to work with GTK+-2.0
1316
1317         Still quite a bit of work to do here to handle initiation
1318         from the socket side (as specified by XEMBED), to handle
1319         the more advanced features of XEMBED, and to figure out
1320         a good way to handle same-app embedding with less overhead
1321         than using full XEMBED.
1322
1323 Wed Apr 18 16:04:28 2001  Owen Taylor  <otaylor@redhat.com>
1324
1325         * gtk/gtkwindow.[ch] (gtk_window_real_set_focus): Keep
1326         track of whether the toplevel has the focus; only send
1327         focus-in events to the focus widget when the window
1328         actually has the focus.
1329
1330 2001-04-25  Havoc Pennington  <hp@pobox.com>
1331
1332         * gtk/gtkwindow.h: set_decorations_hint and set_functions_hint
1333         were still in the header
1334
1335 2001-04-24  Alexander Larsson  <alexl@redhat.com>
1336
1337         * gtk/gtkclist.[ch]:
1338         * gtk/gtkctree.c:
1339         When there is a row highlighted for D'n'D it must alse
1340         be painted hightlighted on exposes. Otherwise exposes from
1341         the icon being dragged will mess up the hightlight.
1342
1343         * gtk/gtkfontsel.c:
1344         Don't recenter selected font when exposing the font family
1345         clist. This means you can now actually scroll the font family
1346         list.
1347
1348         * gtk/gtknotebook.c:
1349         Fix focus movement on scrolling tabs that are placed on the left
1350         and right.
1351
1352 2001-04-21  Havoc Pennington  <hp@pobox.com>
1353
1354         * gtk/gtktextdisplay.c (gtk_text_layout_draw): handle 0-height
1355         empty/invisible lines.
1356
1357         * gtk/gtktextiter.c (gtk_text_iter_set_visible_line_offset)
1358         (gtk_text_iter_set_visible_line_index): new functions to set
1359         indexes excluding invisible text
1360
1361         * gtk/gtktextlayout.c (line_display_iter_to_index): get visible 
1362         index
1363
1364         * gtk/gtktextiter.c (gtk_text_iter_get_visible_line_index)
1365         (gtk_text_iter_get_visible_line_offset): new functions to 
1366         get indexes excluding invisible text
1367
1368         * gtk/gtkmessagedialog.c (gtk_message_dialog_init): strip out a
1369         bunch of extra padding that served no purpose
1370
1371         * gtk/gtkdialog.c: Make all the spacings configurable via style
1372         properties, for chubbiness configuration in themes
1373
1374         * tests/testtext.c: fix path to the immodules.
1375         
1376 Mon Apr 23 18:57:03 2001  Jonathan Blandford  <jrb@redhat.com>
1377
1378         * gtk/gtksocket.c (gtk_socket_filter_func): add missing '}' that
1379         got munched by #endif.
1380
1381         * gtk/Makefile.am (gtk_plug_c_sources): add missing '\'
1382
1383         * gtk/gtktreeview.c: Refactored code to clean up a number of
1384         events.
1385
1386         * gtk/gtktreemodel.c (gtk_tree_path_compare): Switched return
1387         values to make consistent with other functions.  Spotted by Jeff
1388         Franks <jcf@tpg.com.au>.
1389
1390         * gtk/gtktreeview.h (struct _GtkTreeViewClass): Fixes to signal
1391         declaration spotted by Jeff Franks <jcf@tpg.com.au>.
1392
1393 2001-04-23  Sven Neumann  <sven@gimp.org>
1394
1395         * gtk/Makefile.am
1396         * gtk/gtkplug.c
1397         * gtk/gtksocket.c: on request of Owen, reverted my last change 
1398         and exclude gtkplug.c/gtksocket.c from the build for non-X11 targets
1399
1400 2001-04-23  Sven Neumann  <sven@gimp.org>
1401
1402         * gtk/gtkplug.c: put into #ifdef GDK_WINDOWING_X11 to make GTK+
1403         compile for non-X11 targets again
1404
1405 2001-04-20  Alexander Larsson  <alexl@redhat.com>
1406
1407         * gtk/gtkcolorsel.[ch]:
1408         API Change. Take GdkColor arguments instead of gdouble *.
1409         Leave the old gtk_color_selection_set_color for compatibility,
1410         but marked deprecated.
1411         Do correct rounding when converting RGB <-> HSV.
1412         
1413         * gtk/gtkcolorseldialog.c:
1414         * tests/testgtk.c:
1415         Use new GtkColorSelection API.
1416
1417         * gtk/gtkhsv.c:
1418         Fix problem selecting colors in triangle when Hue is 330.
1419         Fix some black dots around the HSB triangle.
1420         
1421         * gtk/gtkfilesel.c:
1422         return FALSE from the focus_in_event handler to fix focus problems.
1423
1424 2001-04-18  Havoc Pennington  <hp@redhat.com>
1425
1426         * gtk/gtkwindow.c (gtk_window_class_init): add signals and binding
1427         set, so keybindings are configurable    
1428         (gtk_window_activate_default): Change to activate the focus widget
1429         instead if there's a focus widget, to be consistent with the
1430         behavior that previously existed in key_press_event
1431
1432 2001-04-18  Havoc Pennington  <hp@redhat.com>
1433
1434         * gdk/gdkkeyuni.c: Handle numeric keypad keysyms; bug #50201
1435
1436 2001-04-18  Havoc Pennington  <hp@redhat.com>
1437
1438         Close bug #50615:
1439         
1440         * gtk/gtkstyle.c (gtk_default_draw_layout): Use text_gc to draw
1441         the layout
1442
1443         * gtk/gtktext.c: Use base/text instead of bg/fg throughout
1444
1445         * gtk/gtkentry.c: Use base/text instead of bg/fg throughout
1446
1447         * gtk/gtktextdisplay.c: Use base/text instead of bg/fg throughout
1448         
1449         * gtk/gtkstyle.c (gtk_style_init): make GTK_STATE_SELECTED default
1450         to blue for base, in addition to bg
1451         
1452 2001-04-18  Havoc Pennington  <hp@redhat.com>
1453
1454         * tests/testgtk.c (create_image): allow shrinking the image window
1455         to test that we clip to allocation.
1456
1457         * gtk/gtkimage.c (gtk_image_expose): clip to allocation,
1458         #9845
1459
1460         * gtk/gtkenums.h: move GtkWrapMode in here, #50472
1461
1462 Wed Apr 18 14:23:14 2001  Owen Taylor  <otaylor@redhat.com>
1463
1464         * gdk/x11/gdkimage-x11.c (gdk_image_new): Try changing
1465         mode on shm segments to 0600. We'll see who complains.
1466
1467         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Call
1468         _gdk_windowing_window_destroy() AFTER recursing through
1469         children.
1470
1471         * tests/Makefile.am (noinst_PROGRAMS): Build testsocket,
1472         testsocket_child on X.
1473
1474         * tests/testsocket[_child].c: Fix uses of
1475         gtk_window_get_default_accel_group().
1476
1477         [ Merge patch from Ramiro Estrugo  <ramiro@eazel.com> from gtk-1-2 ]
1478
1479         * gdk/gdkimage.c: (gdk_image_get):
1480         Deal with the possibility that XGetImage() might return NULL.
1481         Allocate the GdkImagePrivate structure only after XGetImage()
1482         succeeds in order not to dereference a NULL ximage pointer.  This
1483         prevents a core dump when XGetImage() fails - which is unlikely,
1484         but can happen due to race conditions accessing the geometries of
1485         drawables.  An x error will still be triggered, but the gdk image
1486         wrapper at least wont seg fault.
1487         
1488 2001-04-18  Havoc Pennington  <hp@redhat.com>
1489
1490         * gtk/gtkimage.c: fix to properly queue resizes when the image is
1491         set
1492
1493         * gtk/gtktextview.c (gtk_text_view_do_popup): desensitize Paste
1494         if the insertion point isn't editable
1495
1496         * demos/gtk-demo/images.c: Added a GtkImage demo
1497
1498         * demos/gtk-demo/drawingarea.c: drawing area demo
1499         
1500         * demos/gtk-demo/menus.c (create_menu): cleanups
1501
1502 Wed Apr 18 12:15:52 2001  Owen Taylor  <otaylor@redhat.com>
1503
1504         * gdk/x11/gdkwindow-x11.c gdk/x11/gdkwindow-x11.h 
1505           gdk/x11/gdkevents-x11.c: Introduce an extra child
1506         of toplevel windows that serves to hold the focus to
1507         avoid events being delivered to embedded windows.
1508
1509         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Introduce
1510         some extra variables to clean up code and reduce the
1511         number of casts.
1512
1513         * gdk/x11/gdkwindow-x11.h (struct _GdkXPositionInfo): Use
1514         guint for 1 bit bit fields, not gboolean.
1515
1516 Wed Apr 18 10:04:23 2001  Owen Taylor  <otaylor@redhat.com>
1517
1518         * gtk/gtktooltips.c (gtk_tooltips_paint_window): Return FALSE,
1519         not TRUE. (Fixes #52925)
1520
1521 Tue Apr 17 18:05:34 2001  Owen Taylor  <otaylor@redhat.com>
1522
1523         * Released 1.3.4
1524
1525         * NEWS: Updated
1526
1527         * gtk/gtktextview.c (gtk_text_view_class_init): Fix to not
1528         use GTK_TYPE_ENUM.
1529
1530 Tue Apr 17 13:47:12 2001  Owen Taylor  <otaylor@redhat.com>
1531
1532         * configure.in: Don't put -lgthread in GLIB_LIBS, GLIB_DEPLIBS
1533
1534         * gtk/gtktypeutils.h gtk/gtksignals.h: Restore proper parameter
1535         names to compatibility #defines so docs work.
1536
1537         * gtk/gtkenums.h: Remove GtkMenuFactoryType
1538
1539         * gtk/gtkwindow.c gtk/gtkdnd.c: Docs cleanups.
1540
1541         * configure.in: Don't include -lgthread in GLIB_LIBS, GLIB_DEPLIBS
1542
1543         * tests/testgtkrc: No magenta cursors, please.
1544
1545         * README.in INSTALL.in HACKING README.cvs-commits: Updated.
1546
1547         * gtk/gtkenums.h (enum): Remove left over GtkMenuFactoryType.
1548         
1549 Mon Apr 16 14:38:41 2001  Owen Taylor  <otaylor@redhat.com>
1550
1551         * gtk/gtklist.c gtk/gtklistitem.c: Remove explicit pointer
1552         grabs, since they are no longer necessary.
1553
1554         * gtk/gtkcombo.c (gtk_combo_popup_button_press): Fix #52926
1555         by signal_connect() and call gtk_button_pressed() rather
1556         than signal_connect_after().
1557
1558         * tests/testgtk.c: Restore radio menu items to combos 
1559         since they'll look OK with Raleigh, and it is easier
1560         than finishing the process of removing them that was
1561         started earlier.
1562
1563 2001-04-16  Hans Breuer  <hans@breuer.org>
1564
1565         * gdk/gdk.def :
1566         * gtk/gtk.def : added all exports required to link PyGtk 0.7.1
1567
1568         * gdk/gdkfont.h : #define GDK_TYPE gdk_font_get_type ()
1569         we are interested in the functions return value not the function address
1570         * gdk/gdkvisual.h : same for GDK_TYPE_VISUAL
1571
1572         * gtk/makefile.msc.in : reflect movement of GDK_TYPEs from gtk to gdk
1573
1574 2001-04-14  Hans Breuer  <hans@breuer.org>
1575
1576         * gdk/gdk.def :
1577         * gdk/makefile.msc : updated
1578
1579         * gdk/win32/gdkdrawable.win32 (gdk_win32_draw_rectangle) : if modus is 
1580         "fill with tile" do so with new helper function gdk_win32_draw_tiles 
1581         (the testgtk::text backgound pixmap is drawn again)
1582         Changed SetTextAlign before pango_win32_render to TA_BASELINE to reflect 
1583         Win32 Pango change
1584         * gdk/win32/gdkprivate-win32.h : prototype for gdk_win32_draw_tiles
1585
1586         * gdk/win32/gdkproperty-win32.c : first implementation of gdk_setting_get
1587         Not sure if the returned settings have the right unit, because I couldn't
1588         find any docs for the X version ...
1589
1590         * gtk/gtk.def :
1591         * gtk/makefile.msc.in : updated
1592
1593 Thu Apr 12 17:41:17 2001  Owen Taylor  <otaylor@redhat.com>
1594
1595         * gtk-2.0.m4: Fix up to refer to GTK+, not to GLib; fix some
1596         wording problems. (Compared to version from Johannes Stezenbach to
1597         check correctness.)
1598
1599 Thu Apr 12 21:04:26 2001  Tim Janik  <timj@gtk.org>
1600
1601         * gtk/gtktreeview.c (_gtk_tree_view_column_start_drag): get
1602         this to compile.
1603
1604 2001-04-12  Anders Carlsson  <andersca@codefactory.se>
1605
1606         * gtk/gtkcellrenderertextpixbuf.c (gtk_cell_renderer_text_pixbuf_class_init): It's pixbuf_pos,
1607         not pixbufpos.
1608
1609         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): Fix small typo.
1610
1611         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property): xpad and ypad
1612         are unsigned insts, therefore use g_value_set_uint.
1613         (gtk_cell_renderer_set_property): Likewise, use g_value_get_uint.
1614
1615 Sun Apr  8 05:36:06 2001  Jonathan Blandford  <jrb@redhat.com>
1616
1617         * gtk/gtktextview.c (gtk_text_view_class_init): fix a fixme.
1618
1619         * gtk/gtkcellrendertoggle.c: change GTK_TYPE_POINTER to
1620         GTK_TYPE_STRING.
1621
1622         * gtk/gtktreeview.c: New functions to allow initial column
1623         dragging work.
1624
1625         * gtk/gtktreeviewcolumn.c: Initial column dragging support.
1626
1627         * tests/testtreefocus.c: give dave some love.
1628
1629         * tests/testtreesort.c: Modify test to check really long samples.
1630
1631 2001-04-11  Alexander Larsson  <alexl@redhat.com>
1632
1633         * gtk-2.0.m4: Pass pkg-config options
1634         before the other args so it works even if
1635         POSIXLY_CORRECT is set.
1636
1637 Mon Apr  9 19:02:07 2001  Tim Janik  <timj@gtk.org>
1638
1639         * configure.in (GTK_MICRO_VERSION): increment version to 1.3.4 (binary
1640         0, interface 0).
1641
1642 2001-04-04  Denis Oliver Kropp  <dok@convergence.de>
1643
1644         * gtk/gtkcalendar.c (gtk_calendar_button_press):
1645         check for action_func != NULL
1646
1647 2001-04-04  Sven Neumann  <sven@gimp.org>
1648
1649         * tests/testgtk.c (test_init): corrected path to gtk.immodules
1650
1651 Wed Apr  4 09:18:18 2001  Tim Janik  <timj@gtk.org>
1652
1653         * Released Gtk+-1.3.3.
1654
1655 Wed Apr  4 07:42:23 2001  Tim Janik  <timj@gtk.org>
1656
1657         * gdk/Makefile.am (EXTRA_DIST): add makeenums.pl to EXTRA_DIST.
1658
1659 Wed Apr  4 04:13:18 2001  Tim Janik  <timj@gtk.org>
1660
1661         * gtk/stock-icons/Makefile.am: stay in builddir and read/write
1662         files to/from source dir. (if we don't stay in builddir, we
1663         can't reach make-inline-pixbuf.
1664
1665         * gdk/Makefile.am (gdkenumtypes.c): add $(srcdir) to mekeenums.pl
1666         deps.
1667
1668         * configure.in (GTK_MICRO_VERSION): up and away (1.3.3 bin/interface
1669         ages 0).
1670
1671 Tue Apr  3 15:04:45 2001  Jonathan Blandford  <jrb@redhat.com>
1672
1673         * gtk/gtktreemodelsort.h:  removed set_sort_column, as it was
1674         moved to the GtkTreeSortable interface.
1675
1676         * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
1677         Make more efficient (fixes #50262).
1678
1679 Tue Apr  3 13:55:37 2001  Owen Taylor  <otaylor@redhat.com>
1680
1681         * NEWS: Updated.
1682
1683         * configure.in: Remove support for uninstalled glib.
1684
1685         * gtk/gtkdnd.c (gtk_drag_highlight_expose): Return FALSE as
1686         so as not to stop emission.
1687
1688         * gtk-config-2.0.in: Exit with an error message that gtk-config-2.0
1689         is no longer supported.
1690
1691         * Makefile.am gtk/Makefile.am tests/*: Moved all tests
1692         into tests, change build order to build modules before
1693         gtk/.
1694
1695         * modules/input/Makefile.am: Move gtk-query-immodules-2.0 invocation
1696         to here.
1697
1698 Tue Apr  3 13:52:57 2001  Tim Janik  <timj@gtk.org>
1699
1700         * gtk/gtkitemfactory.[hc]: changed gtk_item_factory_dump_items()
1701         and gtk_item_factory_dump_rc() GtkPatternSpec argument to
1702         GPatternSpec. this is actually unlikely to cause breakage in
1703         third-party apps since except for gle, pretty much ever caller
1704         passes NULL here.
1705
1706         * gtk/gtkbindings.[hc]: removed gtk_pattern_*() API.
1707
1708         * *.c: use g_pattern_*() API.
1709
1710         * docs/Changes-2.0.txt: GtkPatternSpec->GPatternSpec updates.
1711
1712         * gtk/gtkstyle.c (gtk_default_draw_resize_grip): assert unhandled
1713         directions aren't passed in.
1714
1715         * gtk/gtksettings.[hc] (_gtk_settings_parse_convert): export conversion
1716         functionality to be usable from gtkstyle.c as well, give precedence
1717         for conversion to user-supplied parsers.
1718         s/_gtk_rc_property_parser_for_type/_gtk_rc_property_parser_from_type/;
1719
1720         * gtk/gtkstyle.c (_gtk_style_peek_property_value): use
1721         _gtk_settings_parse_convert() for rcporperty value conversion.
1722
1723 2001-04-03  Alexander Larsson  <alexl@redhat.com>
1724
1725         * gdk/linux-fb/gdkevents-fb.c:
1726         Add empty gdk_setting_get().
1727
1728 Tue Apr  3 05:09:07 2001  Tim Janik  <timj@gtk.org>
1729
1730         * gtk/gtkmain.c (_gtk_boolean_handled_accumulator): use more elaborate
1731         variable names.
1732         
1733         * gtk/makeenums.pl: touch this so enum files get remade.
1734
1735 Mon Apr  2 19:36:57 2001  Jonathan Blandford  <jrb@redhat.com>
1736
1737         * gtk/gtktreestore.c (gtk_tree_store_init):  Bug fix to make trees
1738         work again when not sorted.
1739
1740         * gtk/gtktreeview.c (gtk_tree_view_class_init): Add "collapse_row"
1741         and "expand_row" signal, closing bug 52578.
1742
1743         * gtk/gtktreeview.c (gtk_tree_view_expand_row): Add signal
1744         support.
1745
1746         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): Add signal
1747         support.
1748
1749 Mon Apr  2 18:18:07 2001  Owen Taylor  <otaylor@redhat.com>
1750
1751         * gdk/gdkevents.h: Add GdkEventSetting event for notification
1752         of changes to system settings, gdk_setting_get() to retrieve
1753         a single system setting.
1754
1755         * gdk/x11/gdkevents-x11.c: Bridge gdk_setting_get() and GdkEventSetting
1756         to the draft XSETTINGS mechanism.
1757
1758         * gdk/x11/xsettings-{common,client}.[ch]: Sample-implementation of
1759         XSETTINGS.
1760
1761         * gtk/gtkmain.c gtk/gtksettings.[ch]: Propagate notification
1762         of GDK settings changes to the GtkSettings object.
1763
1764         * gdk/gdkevents.[ch] gdk/gtk/gtksettings.c: Hook up the
1765         double-click-timeout property to GDK.
1766
1767         * gdk/gdkcolor.[ch] gdk/gdkvisual.h gdk/gdkevent.[ch] gdk/gdkfont.[ch]:
1768         Define GDK boxed types here.
1769
1770         * gdk/Makefile.am gdk/makeenums.pl: Generate source files
1771         gdk/gdkenumtypes.[ch] for enum definitions.
1772
1773         * gtk/gtkcompat.h: Add defines for GTK_TYPE_GDK_*
1774         * gtk/gtk-boxed.defs: Comment out GDK types
1775         * gtk/gtktypeutils.h: Remove GDK types
1776         * gtk/Makefile.am: No longer scan GDK headers for enumerataions
1777
1778 Mon Apr  2 16:41:08 2001  Owen Taylor  <otaylor@redhat.com>
1779
1780         * Applied patch from Ron Steinke to add signal accumulators
1781         so that signals with the convention 'TRUE return means
1782         handled' stop emission on a TRUE return.
1783
1784         * gtk/gtkmain.[ch]: Add private accumulator 
1785         _gtk_boolean_handled_accumulator, used throughout GTK+.
1786         
1787         * gtk/gtkspinbutton.c: Add accumulator for ::output.
1788
1789         * gtk/gtktipsquery.c: Add accumulator for ::widget_selected
1790         
1791         * gtk/gtkwidget.c: Add accumulators for event signals,
1792         ::drag_motion, ::drag_drop. Use _gtk_boolean_handled_accumator
1793         for ::mnemonic-activate.
1794
1795         * gtk/gtkwindow.c: Add accumulator for ::frame_event
1796
1797 Mon Apr  2 16:24:21 2001  Owen Taylor  <otaylor@redhat.com>
1798
1799         * gtk/gtkwidget.c: Add missing include.
1800
1801 Mon Apr  2 16:56:15 2001  Jonathan Blandford  <jrb@redhat.com>
1802
1803         * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new
1804         marshaller.
1805
1806         * gtk/gtktreemodel.c (gtk_tree_model_range_changed): change
1807         "changed" signal to "range_changed".
1808
1809         * gtk/gtktreeview.c (gtk_tree_view_set_model): fix small bug where
1810         removing a tree from one model would remove all trees from that
1811         model.
1812         * gtk/gtktreeview.c (gtk_tree_view_range_changed): use range
1813         changed signal instead.
1814
1815 Mon Apr  2 16:13:58 2001  Owen Taylor  <otaylor@redhat.com>
1816
1817         * gtk/gtkinvisible.c (gtk_invisible_style_set): Avoid
1818         chaining up to parent impl, since we have a INPUT_ONLY
1819         window.
1820
1821         * gtk/gtkentry.[ch]: Add a cursor_color property to set the
1822         foreground color for the cursor.
1823
1824 Mon Apr  2 15:06:13 2001  Owen Taylor  <otaylor@redhat.com>
1825
1826         * gtk/gtkstyle.c (_gtk_style_peek_property_value): Reference 
1827         param spec when caching property values, since we unref it
1828         later when we free the style.
1829
1830         * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): Dont' free
1831         values since they are retrieved with G_VALUE_NO_COPY_CONTENTS.
1832
1833 Mon Apr  2 10:47:57 2001  Owen Taylor  <otaylor@redhat.com>
1834
1835         * gtk/gtkwidget.c (gtk_widget_class_init): Fix 
1836         G_VALUE_NO_COPY_CONTENTS instead of G_SIGNAL_TYPE_STATIC_SCOPE
1837         stupidity.
1838
1839 Mon Apr  2 00:51:11 2001  Owen Taylor  <otaylor@redhat.com>
1840
1841         [ First pass at adding style properties. Still needs some definite
1842         fine-tuning. ]
1843
1844         * gtk/gtkbutton.c: Add ::default_spacing style property.
1845          
1846         * gtk/gtkcheckbutton.[ch] gtkradiobutton.c: Add ::indicator_size,
1847         ::indicator_spacing style properties.
1848
1849         * gtk/gtkoptionmenu.c: Add ::indicator_size, ::indicator_spacing
1850         style properties.
1851
1852         * gtk/gtk{,h,v}paned.[ch]: Make handle_size a style property
1853         rather than a normal property.
1854
1855         * gtk/gtkwidget.c: Add an ::interior_focus style property to
1856         draw focus inside buttons, in the Windows/Java Metal/etc. style.
1857
1858         * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtktogglenbutton.c:
1859         Honor ::interior_focus.
1860         
1861         * gtk/gtkentry.c: Don't draw focus at all when ::interior_focus is 
1862         TRUE.
1863
1864         * gtk/gtkrange.[ch] gtk/gtk{h,v}scrollbar.c gtk/gtk{h,v}scale.c:
1865         Add ::slider_width, ::trough_border, ::stepper_size,
1866         ::stepper_spacing style properties.
1867
1868         * gtk/gtkscale.[ch] Add ::slider-length style property.
1869
1870 2001-04-02 Alexander Larsson   <alexl@redhat.com>
1871
1872         * gdk/linux-fb/gdkwindow-fb.c:
1873         Add gdk_window_begin_resize_drag and gdk_window_begin_move_drag. Remove some
1874         warnings that were spewed on startup.
1875
1876         * gtk/gtkwindow-decorate.c:
1877         gtk_window_reposition -> _gtk_window_reposition
1878
1879 Sun Apr  1 21:37:22 2001  Owen Taylor  <otaylor@redhat.com>
1880
1881         * gtk/gtkwidget.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
1882         Add boxed type for GtkRequistion. Use it for ::size-request.
1883
1884         * gtk/gtkstyle.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
1885         Add a new GtkBorder structure useful for geometry properties
1886         for widgets. Add corresponding GTK_TYPE_BORDER.
1887         
1888         * gtk/gtkwidget.c (gtk_widget_class_install_style_property):
1889         Support automatic parser selection like
1890         gtk_settings_install_property_parser().
1891
1892         * gtk/gtksettings.c (_gtk_rc_property_select_parser): Export
1893         functionality for use by gtk_widget_class_install_style_property.
1894         Support GTK_TYPE_BORDER, GTK_TYPE_REQUISITION.
1895
1896 Sun Apr  1 20:48:59 2001  Owen Taylor  <otaylor@redhat.com>
1897
1898         * gtk/gtkentry.c (gtk_entry_class_init): Make invisible-char
1899         g_param_spec_unichar(). 
1900
1901 Sun Apr  1 23:41:37 2001  Tim Janik  <timj@gtk.org>
1902
1903         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): raise window for non
1904         _NET window managers.
1905
1906         * gtk/gtkmenufactory.[hc]: cvs removed those files now.
1907
1908 Sun Apr  1 08:00:13 2001  Tim Janik  <timj@gtk.org>
1909
1910         * gtk/gtkwidget.[hc]: got rid of gtk_widget_popup(), a function that
1911         bad needs to be nuked, not just deprecated.
1912
1913         * gtk/gtktooltips.c (gtk_tooltips_draw_tips): don't use 
1914         gtk_widget_popup().
1915
1916         * gtk/*.[hc]: s/activate_mnemonic/mnemonic_activate/g;
1917         
1918         * gtk/gtkmenufactory.[hc]: removed this long-standingly deprecated
1919         widget.
1920         
1921         * docs/Changes-2.0.txt: updates.
1922         
1923 Sun Apr  1 01:02:54 2001  Jonathan Blandford  <jrb@redhat.com>
1924
1925         * gtk/gtktreestore.c (gtk_tree_store_sort_iter_changed):
1926         for (i = 0; i < 100; i ++)
1927           g_print ("I will confirm it compile before committing\n");
1928
1929 Sun Apr  1 00:52:06 2001  Jonathan Blandford  <jrb@redhat.com>
1930
1931         * gtk/gtktreestore.c: Initial work on implementing the
1932         GtkTreeSortable interface.  Basicaly a big cut'n'paste job.
1933
1934 Sun Apr  1 03:28:14 2001  Tim Janik  <timj@gtk.org>
1935
1936         * gtk/gtkwidget.c: fixed a bunch of notifications, added
1937         reference counts around emissions where the widget is used afterwards.
1938         added freeze/thaws around multiple properties being notified.
1939         (_gtk_widget_get_aux_info): cleanups.
1940         
1941         * gtk/gtksettings.c (gtk_settings_install_property): provide
1942         default parsing functions for gdkcolor, enums and flags.
1943
1944         * gtk/gtkwindow.[hc]: partially reverted patch from havoc,
1945         applied by owen.
1946         backed out gtk_window_get_location(), gtk_window_set_location(),
1947         gtk_window_get_size() and gtk_window_set_size(), these
1948         have to be sorted out wrg x/y/width/height/default_with/default_height
1949         properties.
1950         kept a flag in GtkWindowGeometryInfo to handle user
1951         resetting default sizes.
1952         cleaned up ZVT comments.
1953         bunch of assorted bug fixes, notification fixes.
1954         (_gtk_window_reposition): make this a really internal function.
1955         
1956         * gtk/testgtk.c: fixups.
1957         
1958 2001-03-31  Hans Breuer  <hans@breuer.org>
1959
1960         * config.h.win32.in : disable USE_MMX for msvc build cause
1961         the assembler doesn't fit and is out of my scope. Disable
1962         USE_GMODULE for msvc build as wel. The right way to share
1963         binaries on win32 would be to use libtiff.dll etc. To reduce
1964         installation hassles IMO it's better to include all fileformats
1965         builtin to gdk-pixbuf
1966
1967         * gdk-pixbuf/makefile.msc : new file
1968
1969         * gdk/gdk.def : updated
1970
1971         * gdk/win32/gdkevents-win32.c : don't erase the background if
1972         .no_bg is set. It improves the scrolling (e.g. of testgtk main
1973         buttons
1974         * gdk/win32/gdkgeometry-win32.c : added comment about the above
1975
1976         * gdk/win32/gdkwindow-win32.c : added three new functions like
1977         the X version. Only one is implemented, because the other two
1978         "gdk_window_begin_(resize|move)_drag" got no docs and appear to
1979         be default behaviour on win32 anyway ...
1980
1981         * gtk/gtk.def : updated
1982
1983         * gtk/makefile.msc.in : update for new files, use glib-genmarshal
1984         from where it was built and add an additional rule to automagically
1985         build gtkmarshal.[hc]
1986
1987         * gtk/gtkfilesel.c (open_new_dir) : don't increase n_entries
1988         before array access for the current entry isn't finished
1989
1990         * gtk/gtktreeitem.c (gtk_tree_item_subtree_button_click) :
1991         use g_return_val_if_fail
1992
1993         * gtk/testgtk.c (window_controls) : don't use the *wrong* size
1994         for the static array, but let the compiler calculate it. It
1995         makes me wonder if gcc isn't capable to catch bugs like this ...
1996
1997 2001-03-31  James Henstridge  <james@daa.com.au>
1998
1999         * gtk/gtkwidget.c (gtk_widget_size_adjust): fix use of magic
2000         constant "-1" in the aux info structure.
2001
2002 2001-03-30  Alexander Larsson  <alexl@redhat.com>
2003
2004         * gtk/gtkbutton.c (gtk_button_get_property):
2005         * gtk/gtklabel.c:
2006         Remove leaks.
2007         
2008         * gtk/gtkcontainer.c:
2009         * gtk/gtkhscale.c:
2010         * gtk/gtkhscrollbar.c:
2011         * gtk/gtklayout.c:
2012         * gtk/gtkmisc.c:
2013         * gtk/gtkprogress.c:
2014         * gtk/gtkprogressbar.c:
2015         * gtk/gtkrange.c:
2016         * gtk/gtktable.c:
2017         * gtk/gtkviewport.c:
2018         * gtk/gtkvscale.c:
2019         * gtk/gtkvscrollbar.c:
2020         * gtk/gtkwidget.c:
2021         Property patches, based on patches from John Margaglione and Lee Mallabone.
2022
2023 Thu Mar 29 21:20:38 2001  Mike Kestner  <mkestner@ameritech.net>
2024
2025         * gtk/gtkspinbutton.c : added value_changed signal which proxies for the
2026         adjustment. Cleaned redundant preconditions (spin != NULL). Added
2027         inline API function docs.
2028         (gtk_spin_button_new_with_range): New convenience constructor.
2029         (gtk_spin_button_set_increments): New adjustment helper.
2030         (gtk_spin_button_set_range): New adjustment helper.
2031
2032         * gtk/testgtk.c : added test of the new convenince constructor and
2033         value_changed signals.
2034
2035 Thu Mar 29 20:20:38 2001  Jonathan Blandford  <jrb@redhat.com>
2036
2037         * gtk/gtktreemodel.c (gtk_tree_row_ref_reordered_callback): Now we
2038         listen to the reorder signal.
2039
2040 Wed Mar 28 20:30:26 2001  Owen Taylor  <otaylor@redhat.com>
2041
2042         * gtk/gtkwidget.[ch] (_gtk_widget_get_aux_info): Add private function
2043         to get the aux info structure fo the widget.
2044
2045         * gtk/gtklabel.c gtk/gtkscrolledwindow.c gtk/gtkwindow.c: Use
2046         above function.
2047
2048         [ Patch from  Havoc Pennington  <hp@redhat.com> ]
2049
2050         * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): function
2051         to get the size of the window manager frame, basically the same
2052         code that gdk_window_get_root_origin() had
2053         (gdk_window_get_root_origin): use gdk_window_get_frame_extents()
2054
2055         * gtk/gtkwindow.c (gtk_window_set_default_size): use
2056         gdk_window_resize() if the window is realized and resizeable
2057
2058         * gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): fix
2059         typo so that setting gravity works
2060
2061         * gtk/gtkwindow.c (gtk_window_move_resize): don't ever use
2062         allocation if auto_shrink is on, even if the default size
2063         has not changed.
2064
2065         * gtk/gtkwidget.c (gtk_widget_render_icon): remove bogus
2066         g_return_if_fail
2067
2068 Thu Mar 29 16:29:12 2001  Jonathan Blandford  <jrb@redhat.com>
2069
2070         * gtk/gtkliststore.c (gtk_list_store_iter_changed): Massive
2071         reordering/sorting work.  Now pretty much works.
2072
2073         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Lots of work to make
2074         reorder mostly work.  Still need to get the parity correct.
2075
2076         * gtk/gtktreeviewcolumn.c: Listen for "model" property changed
2077         signal, so I can listen for the sort_column_changed signal so I
2078         can change my "sort_indicator" property.  Cool.
2079
2080 Wed Mar 28 00:03:10 2001  Owen Taylor  <otaylor@redhat.com>
2081
2082         [ Patch from Havoc Pennington, hp@redhat.com ]
2083
2084         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c:
2085         Add functions gdk_window_begin_resize_drag/begin_move_drag
2086         to start resizing or moving a toplevel window. This
2087         is done either using the _NET_WM_MOVERESIZE protocol,
2088         or, if that isn't present, by emulation.
2089
2090         * gtk/gtkwindow.[ch]: Add functions gtk_begin_move/resize_drag
2091         to export the above to GTK+-land.
2092
2093         * gtk/gtkstyle.[ch]: Add ->draw_resize_grip() paint func.
2094         
2095         * gtk/gtkwindow.c gdk/gdkwindow.[ch] (gdk_window_constrain_size):
2096         Move this function into gdkwindow, since we need it
2097         when implementing fallback resizing.
2098
2099         * gdk/x11/gdkwindow-x11.c: gdk_window_set_geometry_hints.
2100         Fix typo when setting gravity.
2101
2102         * gtk/gtkstatusbar.[ch] (gtk_statusbar_set_has_resize_grip):
2103         Add an optional (but on by default) resize grip for resizing 
2104         the parent window.
2105
2106 01-03-29  Alexander Larsson  <alexl@redhat.com>
2107
2108         * gtk/gtktooltips.c (gtk_tooltips_event_handler):
2109         Don't return TRUE from the event handler, that blocks all
2110         event signals on the tooltip widget. Now you can press buttons
2111         in toolbars again.
2112
2113 Wed Mar 28 19:20:43 2001  Owen Taylor  <otaylor@redhat.com>
2114
2115         * gtk/testtext.c (create_buffer): Add missing NULL on
2116         valist.
2117
2118         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Fix
2119         c-n-p problem with INCONSISTENT property.
2120
2121         [ Patch from Havoc Pennington  <hp@redhat.com> ]
2122
2123         * gtk/gtkentry.h (struct _GtkEntryClass): add same populate_popup
2124         hook.
2125
2126         * gtk/gtktextview.h (struct _GtkTextViewClass): add populate_popup
2127         signal as a hook for extending the default popup menu
2128
2129         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
2130         use radio menu items for the input method menuitems
2131
2132         * gtk/gtkimcontextsimple.c (check_hex): do better validation of 
2133         inserted unicode from Ctrl-Shift-hex input method
2134
2135         * gtk/gtktextbtree.c (_gtk_text_btree_insert): remove utf8
2136         validatation here, already done at GtkTextBuffer level.
2137
2138         * gtk/gtkwidget.c (gtk_widget_class_init): add binding set, add
2139         popup_menu run action signal and Shift+F10 and Menu keybindings.
2140
2141         * gtk/gtkentry.c: implement a default handler for popup_menu
2142
2143         * gtk/gtktextview.c: implement a default handler for popup_menu
2144
2145         * gtk/gtkmenu.c (gtk_menu_popup): select first item if popup is
2146         from a key event
2147         
2148         * gtk/gtklabel.c: remove "trailer" cruft
2149
2150 Wed Mar 28 17:27:12 2001  Jonathan Blandford  <jrb@redhat.com>
2151
2152         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): new function to
2153         handle reordering of trees.  Seems to mostly work w/ the exception
2154         of the parity flag.
2155
2156         * gtk/gtktreeview.c (gtk_tree_view_reordered): handle "reordered"
2157         signal.
2158
2159 Wed Mar 28 21:12:37 2001  Tim Janik  <timj@gtk.org>
2160
2161         * gtk/gtkwidget.h: c++ fixes.
2162
2163 Sun Mar 25 15:51:28 2001  Owen Taylor  <otaylor@redhat.com>
2164
2165         * gtk/gtksettings.c (gtk_settings_init): Fix use of uninitialized
2166         memory.
2167
2168 Tue Mar 27 22:36:07 2001  Owen Taylor  <otaylor@redhat.com>
2169
2170         * gtk/gtkwidget.h gtk/gtkrange.h: Apply patch from 
2171         Nils Barth fixing event return values. (#51041)
2172
2173         * gtk/gtkwidget.c: Fix some return values for default
2174         functions.
2175
2176         * gtk/gtk[vh]scrollbar.c gtk/gtk[vh]range.c: Fix
2177         return values for trough_keys functions.
2178
2179         * gtk/gtkwidget.h (struct _GtkWidgetClass): Fix return
2180         value for add_accelerator (shoudl have been a void
2181         return.)
2182
2183         * gtk/gtkcellrenderer.[ch]: gtkcellrenderertoggle.h:
2184         Fix return type of EVENT.
2185
2186         * gtk/gtkmarshal.list gtk/gtktexttag.c: Make EVENT
2187         signal return a boolean.
2188
2189 Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@redhat.com>
2190
2191         * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
2192         reordered signal.
2193
2194         * tests/testtreesort.c (main): fix spelling.
2195
2196 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
2197
2198         * gtk/gtkliststore.c: More work on implementing sortable
2199         interface.
2200
2201 Mon Mar 26 15:48:45 2001  Owen Taylor  <otaylor@redhat.com>
2202
2203         * gtk/gtkwindow.c (gtk_window_list_toplevels): Don't
2204         reference the widgets in the resulting list. (#11821)
2205         This makes this consistent with gtk_container_children.
2206
2207         * gtk/gtkwindow.c gtk/gtkwidget.c: Fix up the two
2208         uses of gtk_window_list_toplevels.
2209
2210 Mon Mar 26 15:26:17 2001  Owen Taylor  <otaylor@redhat.com>
2211
2212         * gtk/gtkimcontext.c (gtk_im_context_set_use_preedit): Add
2213         a virtual function to set whether the IM context should use 
2214         the preedit string. (#51922)
2215         
2216 Mon Mar 26 14:42:59 2001  Owen Taylor  <otaylor@redhat.com>
2217
2218         * gdk/gdkpango.h: Remove stale FIXME comment.
2219
2220 2001-03-26  Alexander Larsson  <alla@lysator.liu.se>
2221
2222         * gtk/gtkfilesel.c (gtk_file_selection_get_filename):
2223         Fixed bug that returned NULL if a filename was selected.
2224
2225 2001-03-24  Havoc Pennington  <hp@pobox.com>
2226
2227         * gtk/gtkthemes.c (gtk_theme_engine_load): improve error message
2228         to contain the word "theme"
2229
2230 2001-03-24  Havoc Pennington  <hp@pobox.com>
2231
2232         * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much
2233         slower but finer-grained
2234         (gtk_hsv_focus): get initial focus on the ring or triangle 
2235         according to tab direction
2236
2237         * gtk/testgtk.c (main): get rid of weird sleep(1) on exit
2238
2239 2001-03-23  Havoc Pennington  <hp@pobox.com>
2240
2241         * gtk/gtkhsv.c: make this somewhat key-navigable
2242
2243         * gtk/gtkfontsel.c: mnemonics
2244
2245         * gtk/gtkgamma.c: mnemonics
2246
2247         * gtk/gtkcolorsel.c: add mnemonics to labels
2248
2249 2001-03-22  Havoc Pennington  <hp@pobox.com>
2250
2251         Applied big patch from Seth Lytle to fix event handler return
2252         values, slightly modified.
2253
2254         * gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
2255         handled.
2256         (gtk_calendar_key_press): return TRUE for GDK_space triggers
2257         select_day
2258
2259         * gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
2260         (gtk_clist_button_release): return TRUE if handled
2261
2262         * gtk/gtkcolorsel.c (mouse_release):
2263         (palette_activate): 
2264         (palette_press): 
2265         (palette_new): 
2266         (mouse_press): 
2267         (get_screen_color): 
2268         fixed return type (void to gboolean), return TRUE,
2269         added GTK_SIGNAL_FUNC cast
2270
2271         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type
2272         (void to gboolean), and return TRUE
2273         (gtk_combo_button_release): changed return value to TRUE after
2274         gtk_grab_add on combo->popwin
2275
2276         * gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a
2277         collapse or expand
2278
2279         * gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for
2280         button/motion
2281
2282         * gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button
2283         press/release and motion that trigger act
2284
2285         * gtk/gtkentry.c (gtk_entry_button_release): return TRUE
2286
2287         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE
2288         for GDK_Return
2289         
2290         * gtk/gtklist.c (gtk_list_button_press): return TRUE mostly
2291         (gtk_list_button_release): return TRUE if selection
2292
2293         * gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on
2294         press
2295
2296         * gtk/gtkmenushell.c (gtk_menu_shell_button_press):
2297         (gtk_menu_shell_button_release): chain parent_menu_shell retval
2298
2299         * gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if
2300         nothing triggered
2301         (gtk_notebook_button_release): return TRUE if we do anything
2302
2303         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): 
2304         (gtk_spin_button_button_release): return TRUE or chained retval
2305
2306         * gtk/gtktext.c (gtk_text_button_press): 
2307         (gtk_text_button_release): return TRUE
2308         (gtk_text_key_press): remove redundant retval code
2309         
2310         * gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button
2311         and sensitive
2312         (gtk_tree_item_subtree_button_click): changed type to gint, and return
2313         TRUE if sensitive
2314
2315         * gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies 
2316         return TRUE
2317
2318 2001-03-23  Havoc Pennington  <hp@redhat.com>
2319
2320         * gtk/testgtk.c: fix warnings
2321
2322         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): fix return value
2323
2324         * gtk/gtktextview.c: fix warnings
2325
2326         * gtk/gtktext.c (find_cursor_at_line): fix warning
2327
2328         * gtk/gtkselection.c (gtk_selection_notify): fix warning 
2329
2330         * gtk/gtkitemfactory.c (gtk_item_factory_menu_pos): fix signature
2331         of this function
2332
2333         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
2334         fix warning
2335
2336         * gtk/gtkhandlebox.c (gtk_handle_box_style_set): fix warning
2337
2338         * gtk/gtkfontsel.c: fix warning
2339
2340         * gtk/gtkcolorsel.c: fix warnings
2341
2342 2001-03-23  Havoc Pennington  <hp@redhat.com>
2343
2344         * gtk/gtkhandlebox.c: Apply property patch from Lee Mallabone
2345
2346         * gtk/gtkbox.c: Apply property patch from Lee Mallabone
2347
2348         * gtk/gtkcheckmenuitem.c: Apply property patch from Lee Mallabone,
2349         and deprecated gtk_check_menu_item_set_show_toggle().
2350         
2351         * gtk/gtkbutton.c: Apply property patch from Lee Mallabone
2352
2353         * gtk/gtkfilesel.c: Apply property patch from Lee Mallabone
2354
2355         * gtk/gtkframe.c: Apply property patch from Lee Mallabone
2356
2357 2001-03-23  Havoc Pennington  <hp@redhat.com>
2358
2359         * gtk/gtktoolbar.c, gtk/gtkimcontext.c, gtk/gtklabel.c: fix up
2360         some docs
2361
2362 Fri Mar 23 16:13:43 2001  Jonathan Blandford  <jrb@redhat.com>
2363
2364         * gtk/gtktreeviewcolumn.h (GtkCellDataFunc): Forgot to namespace
2365         this.
2366
2367         * gtk/gtktreestore.c (gtk_tree_store_set_value): change from
2368         set_cell to set_value
2369
2370         * gtk/gtkliststore.c (gtk_list_store_set_value): change from
2371         set_cell to set_value
2372
2373 Thu Mar 22 19:27:34 2001  Jonathan Blandford  <jrb@redhat.com>
2374
2375         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
2376         fix braino.
2377         * gtk/gtktreesortable.[ch]: New interface to add cleanup sortable
2378         support.
2379
2380         * gtk/gtktreeview.c: Addition of initial sortable support.
2381
2382         * gtk/gtktreestore.c: Addition of initial sortable support.
2383
2384         * gtk/gtkliststore.c: Addition of initial sortable support.
2385
2386         * gtk/gtkmarshal.list: yet another marshaller.
2387
2388         * gtk/gtktreedatallist.[ch]: shared code between the store models
2389         for handling sorting headers.
2390
2391 2001-03-22  Havoc Pennington  <hp@redhat.com>
2392
2393         * gtk/gtkcontainer.c (gtk_container_set_focus_chain): 
2394         (gtk_container_unset_focus_chain): Add ability to override the 
2395         focus chain for a container explicitly
2396
2397 Thu Mar 22 13:01:44 2001  Tim Janik  <timj@gtk.org>
2398
2399         * gtk/gtklabel.[hc]: some cleanups, fixed mnemonic_widget handling,
2400         added PROP_MNEMONIC_WIDGET.
2401
2402         * gtk/gtkwindow.c (gtk_window_activate_mnemonic): 
2403         (gtk_window_remove_mnemonic): 
2404         (gtk_window_add_mnemonic): fixed assertions.
2405         (gtk_window_activate_mnemonic): constrain modifier checks to those
2406         permitted by gtk_accelerator_get_default_mod_mask().
2407         got rid of gtk_window_get_default_accel_group().
2408
2409         * gtk/gtkwidget.c (gtk_widget_real_activate_mnemonic): handle non
2410         activatable widgets either by focussing or a warning.
2411         added a signal accumulator to ::activate_mnemonic which stops the
2412         emission once a handler returned TRUE.
2413
2414 2001-03-22  Havoc Pennington  <hp@pobox.com>
2415
2416         * gtk/gtktoolbar.c (gtk_toolbar_insert_stock): handle mnemonics in
2417         the stock item label
2418
2419         * gtk/gtklabel.c: s/@gtk_func/gtk_func()/ in docs
2420
2421         * gtk/gtkstock.c (builtin_items): add mnemonics where missing
2422
2423         * demos/gtk-demo/*.c: Add mnemonics all over the place
2424
2425         * gtk/gtklabel.h: mark parse_uline deprecated
2426
2427 2001-03-21  Alexander Larsson  <alexl@redhat.com>
2428
2429         * gtk/gtkitemfactory.[ch]:
2430         Add support for stock and normal imagemenuitems.
2431         
2432         * gtk/testgtk.c:
2433         Add some tests for mnemonics, stock toolbars, stock
2434         and image menuitems in itemfactory and gdk_window_scroll.
2435
2436 2001-03-21  Alexander Larsson  <alexl@redhat.com>
2437
2438         * gtk/gtkbutton.[ch]:
2439         * gtk/gtkdialog.c:
2440         Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
2441         removed accel_group argument. Renamed gtk_button_new_accel() to
2442         gtk_button_new_with_mnemonic() and removed accel_group argument.
2443
2444         * gtk/gtkcheckbutton.[ch]:
2445         New function gtk_check_button_new_with_mnemonic().
2446
2447         * gtk/gtkentry.c:
2448         Override activate_mnemonic and just grab focus.
2449
2450         * gtk/gtkitemfactory.c:
2451         Don't add menu uline accel group, instead use mnemonics support.
2452
2453         * gtk/gtklabel.[ch]:
2454         New support for mnemonics.
2455
2456         * gtk/gtkmarshal.list:
2457         Needed BOOLEAN:BOOLEAN for activate_mnemonic.
2458
2459         * gtk/gtkmenu.[c]:
2460         * gtkmenushell.c:
2461         Use mnemonics instead of accel groups for uline
2462         support in menu items.
2463         Removed gtk_menu_get_uline_accel_group() and
2464         gtk_menu_ensure_uline_accel_group().
2465
2466         * gtk/gtkmenuitem.c:
2467         Override activate_mnemonic to handle switching between
2468         menu items if there are collisions.
2469         
2470         * gtk/gtknotebook.c:
2471         Connect to activate_mnemonic on the tab_label, so that
2472         activating it switches to that notebook page.
2473
2474         * gtk/gtkwidget.[ch]:
2475         Add activate_mnemonic signal. New function
2476         gtk_widget_activate_mnemonic() to emit it.
2477         Default implementation does activate/grab_focus.
2478
2479         * gtk/gtkwindow.[ch]:
2480         Add support for mnemonics in windows.
2481         New functions:
2482         gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
2483         gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier
2484
2485         * gtk/testgtk.c:
2486         Update to function name changes.
2487         
2488 2001-03-21  Alexander Larsson  <alexl@redhat.com>
2489
2490         * gtk/gtkimagemenuitem.[c]:
2491         Add gtk_image_menu_item_new_from_stock()
2492
2493 Tue Mar 20 15:00:43 2001  Jonathan Blandford  <jrb@redhat.com>
2494
2495         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
2496         Fix buglet in meeting.
2497
2498 2001-03-19  Havoc Pennington  <hp@redhat.com>
2499
2500         * gtk/gtkiconfactory.c: Make GtkIconSource an opaque datatype, and
2501         add a bunch of accessor functions. This is because we have
2502         reasonable expectations of extending what fields it contains in
2503         the future.
2504
2505         * gtk/gtkstyle.c (gtk_default_render_icon): adapt to icon source
2506         changes
2507
2508         * gtk/gtkrc.c (gtk_rc_parse_icon_source): fix to use new
2509         GtkIconSource   
2510
2511 Mon Mar 19 15:53:36 2001  Owen Taylor  <otaylor@redhat.com>
2512
2513         * gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly
2514         handle __ in paths, quote " and \n in gtk_item_factory_dump_items().
2515
2516         * gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c 
2517           gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch]
2518           gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch]
2519           gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c:
2520         Change float to double everywhere with the exception of 0<->1.0 alignment
2521         and GtkCurve.
2522
2523 2001-03-19  Tor Lillqvist  <tml@iki.fi>
2524
2525         * gdk/win32/gdkdrawable-win32.c
2526         * gdk/win32/gdkimage-win32.c: Use correct casts in debugging
2527         output.
2528
2529         * demos/testpixbuf-drawable.c: If GDK_WINDOWING_WIN32, include
2530         gdkwin32.h.
2531
2532 2001-03-18  Tor Lillqvist  <tml@iki.fi>
2533
2534         * gdk/win32/gdkevents-win32.c (print_window_state): New function.
2535         print_event_state, print_event): Use preprocessor macro to make
2536         code more compact. Print also GDK_WINDOW_STATE events.
2537         (synthesize_crossing_events): Remove the old #ifdeffed-out code.
2538         
2539         * gtk/gtk.def
2540         * gtk/makefile.mingw.in: Update.
2541
2542         * gtk/gtkmain.h: Check for G_PLATFORM_WIN32, not only G_OS_WIN32,
2543         to catch also Cygwin.
2544
2545 Sun Mar 18 01:15:30 2001  Tim Janik  <timj@gtk.org>
2546
2547         * gtk/gtkspinbutton.[hc]: added rc-style argument
2548         GtkSpinButton::shadow_type.
2549         removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
2550         and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
2551         rc-style settings.
2552
2553         * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).
2554
2555         * gtk/gtkwidget.c: quark cleanups.
2556
2557         * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
2558         scanner with appropriate configuration, renamed GtkRcStyleClass.clone
2559         to create_rc_style() (we don't do cloning in standard OO sense).
2560         added per rc style properties.
2561         
2562         * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
2563         property values and for caching those. some cleanups.
2564         
2565         * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS.
2566         
2567         * gtk/gtksettings.[hc]: new file for global rc-file properties
2568         (at least currently, should get extended to support X properties
2569         and other communication mechanisms).
2570         
2571         * gtk/gtkwidget.[hc]: added style property support:
2572         (gtk_widget_class_install_style_property_parser): install style
2573         property pspec with parser function for rc-file values other
2574         than LONG, DOUBLE or STRING.
2575         (gtk_widget_class_install_style_property): same as above without
2576         parser (parsers are going to be needed quite infrequently).
2577         (gtk_widget_style_get_property): retrive style property value.
2578         (gtk_widget_style_get_valist): same as above with varargs support,
2579         has NOCOPY semantics.
2580         (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().
2581
2582 Fri Mar 16 18:24:53 2001  Jonathan Blandford  <jrb@redhat.com>
2583
2584         * demos/gtk-demo/main.c (row_activated_cb): modified to use
2585         "row_activated" signal.
2586
2587         * gtk/gtktreeview.c (gtk_tree_view_row_activated): oh, the
2588         stupidity.  Lets actually pass in the row with this signal...
2589
2590 Fri Mar 16 18:01:17 2001  Jonathan Blandford  <jrb@redhat.com>
2591
2592         * gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN
2593
2594         * gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal.
2595
2596         * gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much
2597         everything into the ::destroy function, and freed a lot more.
2598
2599 2001-03-16  Havoc Pennington  <hp@redhat.com>
2600
2601         * gtk/gtkwidget.h (struct _GtkWidgetAuxInfo): change to use gint
2602         instead of gint16, to avoid overflow issues, since sizes > 16-bit
2603         are now allowed.
2604
2605 2001-03-16  Havoc Pennington  <hp@redhat.com>
2606
2607         * Applied patch from Nils Barth (bug # 51041) to 
2608         replace "gint" with "gboolean" and 0/1 with TRUE/FALSE
2609         in various places.
2610
2611 2001-03-15  Havoc Pennington  <hp@redhat.com>
2612         
2613         * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs 
2614         for properties to set on the tag.
2615
2616         * gtk/testtext.c: fixups to reflect create_tag change
2617         
2618         * gtk/gtktexttag.c (gtk_text_tag_set_property):
2619         background/foreground stipple are objects, not boxed.
2620
2621         * demos/gtk-demo/textview.c: intellihancing
2622
2623 Fri Mar 16 11:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
2624
2625         * gtk/gtktreeview.c (gtk_tree_view_set_model): Fixed some
2626         braindeadness spotted by Jamie Strachan <frostfreek@yahoo.com>.
2627
2628 2001-03-16  Alexander Larsson  <alexl@redhat.com>
2629
2630         * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
2631         Fix sign error with queued region translations.
2632
2633 2001-03-15  HideToshi Tajima  <tajima@happy>
2634
2635         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
2636         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
2637         * gtk/gtkentry.c (update_im_cursor_location): 
2638         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
2639         * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
2640         set_cursor_pos to set_cursor_location in GtkInputContext class
2641
2642 Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>
2643
2644         * gtk/gtkcellrenderer.h: Changed prototype to allow for getting
2645         the location of the cell relative to its area.
2646         * gtk/gtkcell*: modified for above change
2647         * gtk/gtktreeview.c: modified for above change.
2648
2649 Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>
2650
2651         * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
2652          (gtk_tree_view_finalize): actually unref the model.  Thanks to
2653         Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
2654
2655 2001-03-14  Havoc Pennington  <hp@redhat.com>
2656
2657         * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
2658         
2659         * gtk/gtk.h: remove gtkdata.h
2660
2661         * gtk/Makefile.am: remove gtkdata
2662         
2663         * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
2664         not "disconnect" on the adjustments.
2665         
2666         * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not
2667         GtkData
2668
2669         * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
2670         not GtkData
2671
2672         * configure.in: handle case where X render exists, but Pango lacks
2673         Xft support.
2674
2675 2001-03-15 Alexander Larsson  <alexl@redhat.com>
2676
2677         * gtk/gtktoolbar.[ch]:
2678         New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
2679         to add stock items to toolbars.
2680
2681         * gtk/Makefile.am:
2682         Remove ../gdk/gdkim.h from gdk_headers.
2683
2684 2001-03-15  Sven Neumann  <sven@gimp.org>
2685
2686         * gdk/gdkim.h: removed
2687         
2688         * gdk/gdkprivate.h
2689         * gdk/x11/gdkim-x11.c: do not include gdkim.h 
2690
2691 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
2692
2693         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
2694         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
2695         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
2696         set_cursor_pos() virtual method
2697
2698         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
2699         (gtk_im_context_xim_set_cursor_pos): add implementation for
2700         set_cursor_pos() method
2701
2702         * gtk/gtkentry.c (recompute_idle_func): set current cursor
2703         position to input methods
2704
2705 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
2706
2707         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
2708         code a lot.
2709
2710         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
2711         g_mem_chunk.
2712         (_gtk_tree_data_list_alloc): use g_mem_chunk.
2713         (_gtk_tree_data_list_node_to_value): Fix to switch on
2714         G_TYPE_FUNDAMENTAL.
2715         (_gtk_tree_data_list_value_to_node): Fix to switch on
2716         G_TYPE_FUNDAMENTAL.
2717         (_gtk_tree_data_list_node_copy): Fix to switch on
2718         G_TYPE_FUNDAMENTAL.
2719
2720 2001-03-12  Havoc Pennington  <hp@redhat.com>
2721
2722         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
2723         to convert to new property API. Also, change default_width and
2724         default_height get_property to return 0 as the flag value for
2725         "unset"; -1 is not a valid value for these fields.
2726
2727 2001-03-12  Havoc Pennington  <hp@redhat.com>
2728
2729         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
2730         enum with registration for icon sizes, instead of strings.
2731
2732         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
2733         gtkwidget.c: Fix to reflect GtkIconSize
2734         
2735 2001-03-12  Alexander Larsson  <alexl@redhat.com>
2736
2737         Make GtkFB compile and link.
2738         
2739         * gdk/linux-fb/gdkdrawable-fb2.c:
2740         window->mapped to GDK_WINDOW_IS_MAPPED(). 
2741         
2742         * gdk/linux-fb/gdkwindow-fb.c:
2743         window->mapped to GDK_WINDOW_IS_MAPPED(). 
2744         Added gdk_window_shape_combine_region.
2745         Added assorted placeholders for unimplemented new GdkWindow API calls.
2746
2747 2001-03-12  Alexander Larsson  <alexl@redhat.com>
2748
2749         * gtk/gtkfilesel.c:
2750         Add more test when converting filenames from/to utf-8.
2751         Don't allow entering text in the filename entry which isn't allowed in
2752         a filename. Just beep instead.
2753
2754 2001-03-12  Alexander Larsson  <alexl@redhat.com>
2755
2756         * gtk/gtkclist.c:
2757         Scroll using gdk_window_scroll(). Don't wait for exposes.
2758         Move the column headers in an order that makes them flash less.
2759
2760 2001-03-10  Hans Breuer  <hans@breuer.org>
2761
2762         * gdk/gdk.def : updated
2763
2764         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
2765         to offseting the clip_mask at the right place
2766
2767         * gdk/win32/gdkwindow-win32.c : don't create background brushes
2768         for all the gdkClasses, especially not for the input_only case.
2769         Otherwise flickering wont be avoidable, because we don't get
2770         WM_ERASEBKGND message for these windows.
2771
2772         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
2773         and fixed massive redraw problems apparently triggered by Alexanders 
2774         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
2775         but it seems to work quite well :-)
2776
2777         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
2778         prototype
2779
2780 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
2781
2782         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
2783         (gtk_list_store_set_cell): Fix a stupid typo.
2784
2785 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
2786
2787         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
2788         select_all not work if you're in SINGLE mode (it doesn't make that
2789         much sense, anyway.)
2790
2791         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
2792         handle types more sanely.
2793         (_gtk_tree_data_list_value_to_node): handle types more sanely.
2794         (_gtk_tree_data_list_node_copy): handle types more sanely.
2795
2796         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
2797         GValue better. Converts the type as well.
2798
2799         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
2800         GValue better. Converts the type as well.
2801
2802 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
2803
2804         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
2805         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
2806         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
2807         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
2808
2809         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
2810         gdk_im/gdk_ic.
2811
2812 2001-03-09  Hans Breuer  <hans@breuer.org>
2813
2814         * gdk/gdk.def : updated
2815
2816         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
2817         for their palette
2818
2819         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
2820         removing
2821
2822         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
2823         removing and implemented Havoc's GdkWindow state functions; 
2824         stick/unstick only as no-op, cause I don't know how to emulate 
2825         on win32 ...
2826
2827         * gtk/gtk.def : updated
2828
2829         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
2830
2831         * gtk/gtktypeutils.c : #include <string.h>
2832
2833         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
2834
2835 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
2836
2837         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
2838         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
2839         not a boxed.
2840
2841 2001-03-09  Alexander Larsson  <alexl@redhat.com>
2842
2843         * docs/Changes-2.0.txt:
2844         Document expose event->region change and that gtk_widget_event
2845         doesn't allow passing expose events.
2846
2847         * gdk/gdkevents.h:
2848         Add region to expose event.
2849         
2850         * gdk/gdkevents.c:
2851         Handle event->region in gdk_event_copy() and gdk_event_free().
2852
2853         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
2854         Generate expose_event->region when creating expose events.
2855
2856         * gdk/x11/gdkevents-x11.c:
2857         Generate expose events with regions when translating X events.
2858
2859         * gtk/gtkcontainer.[ch]:
2860         Default expose handler that propagates expose events to NO_WINDOW
2861         children. New function gtk_container_propagate_expose()
2862
2863         * gtk/gtkwidget.[ch]:
2864         Moved gtk_widget_event implementation to gtk_widget_event_internal.
2865         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
2866         expose events. New function gtk_widget_send_expose() to send expose
2867         events. New function gtk_widget_region_intersect() to calculate
2868         window/region intersections.
2869         
2870         * gtk/gtkmain.c (gtk_main_do_event):
2871         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
2872         Use gtk_widget_send_expose() to send expose events.
2873         
2874         * gtk/gtkbin.c:
2875         * gtk/gtkbox.c:
2876         * gtk/gtkfixed.c:
2877         * gtk/gtkimagemenuitem.c:
2878         * gtk/gtklist.c:
2879         * gtk/gtkpacker.c:
2880         * gtk/gtktable.c:
2881         * gtk/gtktree.c:
2882         Remove expose handler, using the default container implementation
2883         instead.
2884         
2885         * gtk/gtkbutton.c:
2886         * gtk/gtkcheckbutton.c:
2887         * gtk/gtkeventbox.c:
2888         * gtk/gtkfixed.c:
2889         * gtk/gtkhandlebox.c:
2890         * gtk/gtklayout.c:
2891         * gtk/gtklistitem.c:
2892         * gtk/gtkmenu.c:
2893         * gtk/gtkmenubar.c:
2894         * gtk/gtkmenuitem.c:
2895         * gtk/gtknotebook.c:
2896         * gtk/gtkoptionmenu.c:
2897         * gtk/gtkpaned.c:
2898         * gtk/gtkscrolledwindow.c:
2899         * gtk/gtktogglebutton.c:
2900         * gtk/gtktoolbar.c:
2901         * gtk/gtktreeitem.c:
2902         * gtk/gtkviewport.c:
2903         Chain expose handler to parent class handler. Use
2904         gtk_container_propagate_expose() to propagate exposes.
2905
2906         * gtk/gtkclist.c (check_exposures):
2907         * gtk/gtktext.c (process_exposes):
2908         Use gtk_widget_send_expose instead of gtk_widget_event.
2909
2910 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
2911
2912         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
2913
2914 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
2915
2916         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
2917         unref the nodes.   Fixes bug #50058.
2918
2919         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
2920         "::ref_iter" to "::ref_node".
2921         (gtk_tree_model_unref_node): change "::unref_iter" to
2922         "::unref_node". Fixes bug #50064.
2923
2924 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
2925
2926         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
2927         support for invisible cells.
2928          (gtk_tree_view_bin_expose): ditto
2929
2930 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
2931
2932         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
2933         on gobjects.
2934
2935         * tests/testtreefocus.c (main): New test file.
2936
2937         * tests/testtreeview.c: update to latest glib changes.
2938
2939         * tests/testtreecolumns.c: update to latest glib changes.
2940
2941 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
2942
2943         * gtk/testgtk.c: re-enabled event watcher emission hooks.
2944
2945 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
2946
2947         * *.c: added accumulator data argument to g_signal_newc()
2948         functions.
2949
2950         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
2951         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
2952         * gtk/treestoretest.c (make_window):
2953         s/g_signal_connect/g_signal_connectc/.
2954
2955         * gtk/gtktextbuffer.c: completed signal arg fixups,
2956         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
2957
2958 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
2959
2960         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
2961         G_CONST_RETURN.
2962
2963         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
2964         ::hierarchy-changed signal when a widget changes
2965         from anchored to unanchored or vice versa.
2966         (anchored means 
2967          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
2968         Use a private flag to keep track of this efficiently.
2969
2970 2001-03-07  Havoc Pennington  <hp@redhat.com>
2971
2972         * gtk/testgtk.c (create_spins): uglify so that size request gets
2973         tested.
2974
2975         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
2976         request on values for upper/lower, completes #6152
2977
2978 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
2979
2980         * Makefile.am: Remove gtk-config-2.0 again.
2981         (Grrrr, pkg-config. And stops make loops.)
2982
2983 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
2984
2985         * gtk/gtksignal.[hc]: removed old emission hook API.
2986         
2987         * docs/Changes-2.0.txt: fixed sections.
2988         
2989         * gtk/gtktextbuffer.c: signal arg fixups.
2990
2991 2001-03-07  Havoc Pennington  <hp@redhat.com>
2992
2993         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
2994
2995         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
2996         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
2997         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
2998         validation and the redraw which is higher priority than the
2999         validation.
3000
3001 2001-03-07  Havoc Pennington  <hp@redhat.com>
3002
3003         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
3004         (gtk_entry_set_property): remove trailer
3005
3006         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
3007         (gtk_entry_get_width_chars): new functions, to set size request to 
3008         a given number of characters
3009
3010         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
3011
3012         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
3013         (gtk_dialog_get_has_separator): new function
3014         (run_delete_handler): fix to not emit "response" signal
3015         because we already did in the delete event handler installed
3016         at dialog creation time.
3017         
3018         * gtk/gtkdialog.h: add a has_separator property,
3019         add GTK_DIALOG_NO_SEPARATOR flag
3020
3021 2001-03-07  Havoc Pennington  <hp@redhat.com>
3022
3023         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
3024         off decorations for a window.
3025
3026         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
3027         changes
3028
3029         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
3030         to get location of PangoLayout inside the label, closes #51198
3031
3032         * gtk/testgtk.c (create_bbox): fix up button box usage
3033
3034         * gtk/testcalendar.c (create_calendar): fix up button box usage
3035
3036         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
3037
3038         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
3039
3040         * gtk/gtkhbbox.h: deprecations
3041
3042         * gtk/gtkvbbox.h: deprecations
3043
3044         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
3045         emulate deprecated gtk_button_box_get_spacing
3046
3047         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
3048         the "set global default" functions
3049         (struct _GtkButtonBox): remove "spacing" field, use the one from 
3050         GtkBox base class
3051
3052         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
3053
3054         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
3055         render the icon, return the missing image icon.
3056
3057         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
3058         image icon if the load fails.   
3059
3060         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
3061         when no image is found; should be the Netscape "missing image"
3062         icon eventually but for now is a random image
3063
3064         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
3065         role for the session manager
3066
3067         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
3068
3069         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
3070         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
3071
3072         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
3073
3074 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
3075
3076         * gtk/*.c: marshaller fixes.
3077         
3078         * gtk/gtkmarshal.list: extreme cleanup.
3079
3080         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
3081         param spec for now.
3082
3083         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
3084         where appliable.
3085
3086         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
3087         special cased autogenerated boxed types from gtktypebuiltins_ids.c
3088         which are not reference counted:
3089         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
3090         PangoFontDescription, GtkTreeIter and GtkTreePath.
3091
3092 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
3093
3094         * gtk/gtktreeselection.h: 
3095         * gtk/gtktreemodel.c:
3096         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
3097         file should be included directly, and gobject/gmarshal.h
3098         as well as gtk/gtkmarshal.h even can't be included directly.
3099
3100         * Makefile.am: grr, install gtk-config-2.0.
3101
3102         * gtk/testgtk.c:
3103         * gtk/simple.c:
3104         * gtk/gtkmenu.c:
3105         * gtk/gtkitemfactory.c: use g_object_connect() instead of
3106         passing "*signal*::*" args to gtk_widget_set().
3107         
3108         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
3109         
3110         * gtk/*.c: removed trailer arg from property setters and getters.
3111         macro fixups.
3112
3113 2001-03-07  Alexander Larsson  <alexl@redhat.com>
3114
3115         * gtk/gtklabel.c (set_markup): Removed warning
3116
3117 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
3118
3119         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
3120         field to allow you to hide cell renderers.
3121
3122         * gtk/gtkcellrenderer.c: Add support for invisible cells.
3123
3124         * gtk/gtktreeview.c: Add support for invisible cells.
3125
3126 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
3127
3128         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
3129         Add "clicked" signal back to columns.
3130
3131         * ChangeLog: remove conflict markers.
3132
3133 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
3134
3135         * gtk/gtkbutton.c: Add animation of activation by, on 
3136         activate, pressing the button, and adding a timeout that 
3137         releases the button after 250ms or on key release and
3138         emits ::clicked. (#51501)
3139
3140         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
3141         action area, we connect to ::clicked instead of ::activate
3142         so the dialog stays up through the animation.
3143
3144 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
3145
3146         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
3147         check the ignore_enter flag for the menu shell that
3148         the item is actually a child of, not for attached
3149         submenus. (#51536)
3150
3151 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
3152
3153         * gtk/gtkmain.c (gtk_propagate_event): Only do special
3154         special key-press grab handling for widgets within
3155         GtkWindows. Otherwise, fall through to normal case.
3156
3157         This prevents key events being sent twice to GtkInvisible
3158         widgets, which can cause all sorts of mischief.
3159
3160 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
3161
3162         * gtk/gtkmain.c (gtk_propagate_event): When a grab
3163         widget is in effect, give the grab widget a first
3164         crack at KEY_PRESS/RELEASE events. (#424)
3165
3166 2001-03-06  James Henstridge  <james@daa.com.au>
3167
3168         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
3169         offset for the window_state_event to point at window_state_event
3170         rather than no_expose_event.
3171
3172 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
3173
3174         * gtk/gtkimmodule.h: fix busted /* comment */
3175
3176 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
3177
3178         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
3179         object properties.
3180
3181 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
3182
3183         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
3184         add object properties.
3185
3186         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
3187         to add object properties.
3188
3189         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
3190         object properties.
3191
3192         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
3193         add object properties.
3194
3195         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
3196         object properties.
3197
3198 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
3199
3200         * gtk/gtktreemodel.c: renamed "child_toggled" to
3201         "has_child_toggled".
3202
3203         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
3204         handle new signal name.
3205
3206         * gtk/gtktreestore.c: Updated to handle new signal name.
3207         * gtk/gtklisttore.c: Updated to handle new signal name.
3208         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
3209
3210 2001-03-05  Alexander Larsson  <alexl@redhat.com>
3211
3212         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
3213         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
3214
3215 2001-03-05  Michael Natterer  <mitch@gimp.org>
3216
3217         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
3218         pixbuf-engine coincidentially also failed to make one of it's
3219         parent_class pointers static, causing overwriting of GtkLabel's
3220         parent_class pointer in pixbuf_style_class_init().
3221         (Will commit the fix to the pixbuf-engine too).
3222
3223 2001-03-05  Alexander Larsson  <alexl@redhat.com>
3224
3225         * gdk/gdkwindow.h:
3226         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
3227         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
3228         gdk_window_set_icon_list for net wmspec functionality.
3229
3230         * gdk/x11/gdkwindow-x11.c:
3231         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
3232         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
3233         gdk_window_set_icon_list.
3234         Added gdk_wmspec_change_state helper function and used it in the code.
3235         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
3236
3237         * gtk/gtkdialog.c (gtk_dialog_init):
3238         Set GDK_WINDOW_TYPE_HINT_DIALOG.
3239
3240         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
3241         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
3242
3243         * gtk/gtkwindow.c:
3244         new function gtk_window_set_type_hint.
3245         On realize, set type hint and modal hint.
3246
3247         * gtk/gtkwindow.h:
3248         Added type_hint field and gtk_window_set_type_hint.
3249
3250 2001-03-05  Alexander Larsson  <alexl@redhat.com>
3251
3252         * gtk/gtklabel.[ch]:
3253         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
3254         New function gtk_label_get_accel_keyval () to get the underline accelerator
3255         of the label. Setting the label pattern overrides other attributes.
3256
3257 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
3258
3259         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
3260         Added missing initializers to gtk_rc_style_init().
3261
3262 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
3263
3264         * gtk/gtktextview.c: fixed bug #51097 about setting 
3265         gtk_text_view_set_border_window_size() if the widget is 
3266         already realized.
3267
3268 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
3269
3270         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
3271
3272         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
3273         comment. Won't do to have duplicated doc comments between
3274         the platform subdirs.
3275
3276 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
3277
3278         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
3279           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
3280
3281         Detectable auto-repeat - make a repeating key generate
3282         press/press/press/release instead of press/release pairs.
3283
3284         If we have Xkb and XkbSetDectableAutoRepeat supports
3285         that, we do it that way. Otherwise, when we get
3286         a release event, we check ahead with XPending to see
3287         if the next key is a KeyPress with the same keycode
3288         and timestamp. (Not 100% reliable, but pretty close.)
3289           
3290 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
3291         
3292         * gtk/gtkmain.c (gtk_propagate_event): Only do special
3293         special key-press grab handling for widgets within
3294         GtkWindows. Otherwise, fall through to normal case.
3295  
3296         This prevents key events being sent twice to GtkInvisible
3297         widgets, which can cause all sorts of mischief.
3298  
3299 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
3300  
3301         * gtk/gtkmain.c (gtk_propagate_event): When a grab
3302         widget is in effect, give the grab widget a first
3303         crack at KEY_PRESS/RELEASE events. (#424)
3304  
3305 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
3306
3307         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
3308         to extend the selection. (Roughly based on patch
3309         from Jay Cox, #50939)
3310
3311         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
3312         to properly handle previous GDK_BUTTON_PRESS. 
3313         (Patch from Jay Cox, #50938)
3314
3315         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
3316         '\0' back along with the deleted text. (#51148)
3317
3318 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
3319
3320         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
3321         the group when extracting it from the X keyboard event.
3322
3323         * modules/input/Makefile.am modules/input/imipa.c: 
3324         Simple module for entering IPA. (Do we need a 
3325         gtk-stupid-input-tricks CVS module?)
3326
3327 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
3328
3329         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
3330         const.
3331
3332         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
3333
3334         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
3335         is no focus widget for the dialog currently, grab the focus as well
3336         as the default.
3337
3338         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
3339         the action area's children to iterate through, not the
3340         dialog's children.
3341
3342 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
3343
3344         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
3345         Add plug-socket tests. (Won't work worth a darn until I commit
3346         the rest of the plug-socket changes, but no reason these
3347         can't go into CVS now.)
3348
3349 2001-03-02  Havoc Pennington  <hp@redhat.com>
3350
3351         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
3352         _gdk_region_get_xrectangles()
3353
3354         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
3355
3356         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
3357
3358         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
3359         function, contributed by Ron Steinke    
3360
3361         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
3362         gdk_net_wm_supports
3363
3364         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
3365         New function, contributed by Ron Steinke
3366
3367         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
3368         used to line up the text in the entry when using the entry for
3369         editable sheet cell hacks
3370
3371         * gtk/testgtk.c (create_entry): test the activate_default setting
3372         on GtkEntry
3373
3374         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
3375         cause the entry to activate the default button for a dialog when 
3376         activated
3377         (gtk_entry_get_activates_default): new function
3378
3379 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
3380
3381         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
3382         Hwang to move call to sync_selection() up a few lines
3383         to before the row list is modified, to fix crash when
3384         removing rows in the undo_selection list.
3385
3386         (Test case provided by Daniel Elstner:
3387
3388         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
3389
3390 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
3391
3392         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
3393         of tree->root_tree in parent_set rather than _map(), 
3394         fixing #50892 in a bit better manner.
3395
3396 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
3397
3398         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
3399
3400 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
3401
3402         * gtk/gtkstyle.c : Remove duplicate fwd decl for
3403         gtk_default_draw_shadow.
3404
3405 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
3406
3407         * gdk/gdkimage.c (gdk_image_new): Remove excess 
3408         warning, make warnings more verbose, treat a error
3409         in shmat as permanent, and don't try again.
3410         (#51163, Ed Randall.)
3411
3412 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
3413
3414         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
3415         delay for the first click before starting to scroll.
3416         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
3417
3418         * gtk/gtktext.c: GtkText should have I-beam cursor. 
3419         (based on gtk-enf-990513-1.patch, Eric Fisher.)
3420
3421 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
3422
3423         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
3424         cleanup to remove some references to unused
3425         ->xoffset, ->yoffset.
3426
3427 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
3428
3429         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
3430         mask. (#51039, fix from Martin Maierhofer)
3431
3432 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
3433
3434         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
3435         for unshifted + and shifted = for non-us keyboards.
3436         Make <Control>+ and <Control>- work as well as 
3437         <Control>KP_Plus, <Control>KP_Minus for recursive
3438         open/close.  (#2682, René Seindal)
3439
3440 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
3441
3442         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
3443         the active menu item before deactivating the menu,
3444         so gtk_menu_popdown doesn't change the history. (#50964)
3445         
3446 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
3447
3448         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
3449         draw lines with text_gc rather than black_gc.
3450         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
3451
3452 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
3453
3454         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
3455         Move handling of buttons fully in gtktreeviewcolumn.  This code is
3456         less interrelated then it was, but it still requires the
3457         GtkTreeView to map it.
3458
3459         * test/testtreecolumn.c: Now I can add a column to one view,
3460         remove it, add it to the another view, remove it, then re-add it
3461         to the first.  Nifty.
3462
3463 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
3464
3465         * docs/tutorial/gtk-tut.sgml: Minor corrections
3466
3467 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
3468
3469         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
3470         GtkRowReference.
3471
3472 2001-02-28  Havoc Pennington  <hp@redhat.com>
3473
3474         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
3475         draw_default
3476         (gtk_widget_draw_focus): remove this function; we could instead
3477         make it just gtk_widget_draw(), but in most cases I think the
3478         result would be broken user code, so think it's better to have
3479         that code not compile and get fixed
3480         (gtk_widget_draw_default): ditto
3481
3482         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
3483         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
3484         
3485         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
3486         widgets lose/get the default, instead of calling draw_default
3487         
3488         * docs/Changes-2.0.txt: note about all this
3489
3490         Then fixed every widget in GTK, I won't list all the filenames.
3491
3492 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
3493
3494         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
3495         _gtk_tree_row_reference_deleted.
3496         (inserted_callback): Proxy out to
3497         _gtk_tree_row_reference_inserted.
3498         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
3499         get around signal emission ordering problem.
3500
3501         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
3502         fix to work with SINGLE 
3503         (_gtk_tree_selection_internal_select_node): Major sanitization on
3504         selections.  SINGLE now seems to work.
3505
3506         * tests/Makefile.am: add testtreecolumn.c:
3507
3508         * tests/testtreecolumn.c: New test.  Mostly points out selection
3509         bugs currently, but will test columns later.
3510
3511         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
3512         selection bug.  I hate touching this code -- it's scary.
3513
3514 2001-02-26  Havoc Pennington  <hp@redhat.com>
3515
3516         * gtk/testgtk.c: test the window state stuff
3517
3518         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
3519         window come to the user's attention as if it were just created
3520         (gtk_window_iconify): new function
3521         (gtk_window_deiconify): new function
3522         (gtk_window_stick): new function
3523         (gtk_window_unstick): new function
3524         (gtk_window_maximize): new function
3525         (gtk_window_unmaximize): new function
3526
3527         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
3528
3529         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
3530
3531         * gdk/x11/gdkevents-x11.c: create window state events when
3532         appropriate
3533         (gdk_wmspec_supported): new function
3534
3535         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
3536         iconification before showing the window
3537         (gdk_window_deiconify): new function
3538         (gdk_window_stick): new function
3539         (gdk_window_unstick): new function
3540         (gdk_window_maximize): new function
3541         (gdk_window_unmaximize): new function
3542
3543         * gdk/gdkwindow.c: store the window state in the window; 
3544         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
3545         window->mapped.
3546         (gdk_window_get_state): return the current window state
3547
3548         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
3549         (gdk_event_get_state): handle GDK_WINDOW_STATE
3550         (gdk_synthesize_window_state): function to create the window state
3551         events
3552
3553         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
3554         event, for changes to "window state" such as maximized, sticky, 
3555         etc.
3556         
3557         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
3558         focuses a window
3559
3560         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
3561         finds out if we support a given WM spec hint
3562
3563 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
3564
3565         * docs/faq/gtk-faq.sgml: New question re memory leaks.
3566
3567 2001-02-25  Hans Breuer  <hans@breuer.org>
3568
3569         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
3570         cause we want to loose those prototypes only in the latter case
3571
3572         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
3573         GdkPixmapImplWin32 because it itsn't derived from it. Use the
3574         impl member variable instead
3575
3576         * gtk/gtk.def : updated
3577
3578         * gtk/gtklist.c : 
3579         * gtk/gtkmenus.c : include <string.h> for memset ()
3580
3581         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
3582         for everthing built here, but for gtk-x.x.dll only. This solves
3583         problem of indifferent gtk type definitions
3584
3585 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@redhat.com>
3586
3587         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
3588
3589 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
3590
3591         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
3592         column that is exposed.
3593
3594         (_gtk_tree_view_update_size): Changed name from set_size, and
3595         changed function to do more work, and not force people calling it
3596         to figure out the size.  Simplifies a lot of code elsewhere.
3597
3598 2001-02-23  Alexander Larsson  <alexl@redhat.com>
3599
3600         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
3601         return solid masks for xpms that have no transparent color.
3602         This makes the ..._create_from_xpm... API backwards
3603         compatible.
3604
3605 2001-02-23  Tor Lillqvist  <tml@iki.fi>
3606
3607         * README.win32: Update. Mention the gtk-1-3-win32-production
3608         branch.
3609
3610         * gdk/win32/bdfcursor.c: New file. A program that generates
3611         xcursors.h. Thanks to Stefan Ondrejicka.
3612
3613         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
3614         compact format.
3615
3616         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
3617
3618         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
3619         function, uses xcursors.h.
3620         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
3621         cursor from inline data instead of using LoadCursor() to generate
3622         it from a resource.
3623
3624         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
3625         event, must check the Windows message for mouse button state, as
3626         the GDK event state might not have been built if it is
3627         undelivered. Remove one goto.
3628
3629         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
3630         SetCursor() if the current cursor as returned by GetCursor() is
3631         the window's previous cursor. The ChildWindowFromPoint() test
3632         apparently didn't work correctly.
3633
3634         * gdk/win32/rc/*.cur: Remove.
3635
3636         * gdk/win32/rc/gdk.rc.in: Remove cursors.
3637
3638         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
3639
3640         * gtk/makefile.{mingw,msc}.in: Updates.
3641
3642 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
3643
3644         * gtk/gtktreemodel.h: add functions for signal emission.
3645
3646         * gtk/gtktreestore.c: move to use above functions instead of
3647         g_signal_emit.
3648
3649         * gtk/gtkliststore.c: ditto
3650
3651 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
3652
3653         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
3654         GObject instead of GtkObject.
3655
3656         * gtk/gtkliststore.c: ditto.
3657
3658         * gtk/gtktreemodelsort.c: ditto.
3659
3660         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
3661         GtkTreeModelIface, instead of in each model.
3662
3663 2001-02-21  Havoc Pennington  <hp@redhat.com>
3664
3665         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
3666         unbreak this function
3667
3668         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
3669         properties
3670
3671         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
3672         properties
3673
3674         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
3675         properties
3676
3677         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
3678         mean unset the max length
3679
3680 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
3681
3682         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
3683         Changed name to be set_cell_data_func to make it clear what
3684         the functino does.  Close bug #51069.
3685
3686 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
3687
3688         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
3689         have memory actually freed.  Keeps box running longer.
3690
3691 2001-02-21  Alexander Larsson  <alexl@redhat.com>
3692         
3693         * gtk/gtkseparatormenuitem.[ch]:
3694         Added new menu separator item. The drawing and size handling
3695         is still done in GtkMenuItem, but the API is a bit more sane.
3696         
3697         * gtk/Makefile.am:
3698         Add gtkseparatormenuitem.[ch].
3699
3700         * gtk/gtk.h:
3701         Add gtkseparatormenuitem.h.
3702         
3703         * gtk/gtkentry.c:
3704         * gtk/gtkmenufactory.c:
3705         * gtk/gtktextview.c:
3706         Use the new API for menu separators.
3707         
3708         * demos/gtk-demo/menus.c (create_menu):
3709         Add some GtkSeparatorMenuItem demo code.
3710
3711 2001-02-20  Havoc Pennington  <hp@redhat.com>
3712
3713         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
3714         Lee Mallabone
3715
3716         * gtk/gtkarrow.c: Convert to new property API, patch from 
3717         Lee Mallabone
3718
3719 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
3720
3721         * tests/testtreeview.c (toggled_callback): fix to reflect change
3722         in GtkTreeModelStore.
3723
3724 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
3725
3726         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
3727         function to create an icon set from a pixbuf.
3728
3729 2001-02-20  Alexander Larsson  <alexl@redhat.com>
3730
3731         * gtk/gtkcellrenderertext.[ch]:
3732         Add a "markup" property.
3733
3734         * gtk/treestoretest.c:
3735         Use the markup property, remove some leftover stuff from
3736         GtkTreeModelMapping.
3737
3738 2001-02-20  Alexander Larsson  <alexl@redhat.com>
3739
3740         * gtk/gtklabel.c (gtk_label_set_selectable):
3741         Queue a redraw if the selectable setting was changed.
3742
3743 2001-02-20  Alexander Larsson  <alexl@redhat.com>
3744
3745         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
3746         Actually copy the whole gc, not just the public parts.
3747         
3748         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
3749         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
3750         labels.
3751
3752 2001-02-19  Havoc Pennington  <hp@pobox.com>
3753
3754         * gdk/gdkwindow.c: docs
3755
3756         * gdk/gdkrgb.c: docs
3757
3758         * gdk/gdkregion-generic.c: docs
3759
3760         * gdk/gdkgc.c (gdk_gc_set_values): docs
3761
3762         * gdk/gdkdraw.c: docs
3763
3764         * gdk/gdkdrawable.h: deprecate drawable get/set data
3765
3766 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
3767
3768         * demos/gtk-demo/dialog.c: Add simple new demo.
3769
3770 2001-02-19  Havoc Pennington  <hp@redhat.com>
3771
3772         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
3773         insert_child_anchor signal, bug #50245
3774
3775         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
3776         from create_child_anchor, so the anchor is passed in
3777
3778         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
3779         (_gtk_widget_segment_new): have the child anchor object passed in, 
3780         instead of creating it.
3781
3782         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
3783         to gtk_text_buffer_get_modified
3784
3785 2001-02-19  Havoc Pennington  <hp@redhat.com>
3786
3787         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
3788         changed GLib without fixing GTK
3789
3790         * gtk/gtkrange.h: Rename all the stupid implementation detail 
3791         functions to have an underscore in front. Most of them should 
3792         probably just go away, but for starters don't export them.
3793         Bug #50482
3794
3795 2001-02-19  Havoc Pennington  <hp@redhat.com>
3796
3797         * gdk/gdkcolor.h: test was backward, so deprecated functions were
3798         excluded by default
3799
3800         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
3801         clean up the old code a bit
3802
3803         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
3804         inconsistent state
3805
3806         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
3807         draw inconsistent state
3808
3809         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
3810         (create_menu): add inconsistent test
3811
3812         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
3813         new function
3814         (gtk_check_menu_item_get_inconsistent): new function
3815         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
3816         state (using etched in for now)
3817
3818         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
3819         draw inconsistent state
3820
3821         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
3822         function, used when the user has selected a range of stuff in
3823         different states
3824         (gtk_toggle_button_get_inconsistent): accessor for that
3825         (gtk_toggle_button_paint): draw inconsistent state (etched in?
3826         don't know what else to do)
3827
3828 2001-02-19  Hans Breuer <hans@breuer.org>
3829
3830         * gtk/gtk.def : updated exported symbols
3831
3832         * gtk/makefile.msc.in : updated
3833
3834         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
3835         a colormap, when invoked from testgtk::entry. I'm not sure where
3836         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
3837         avoids immediate crashing ...
3838
3839         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
3840         any objections ?
3841
3842         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
3843         0 parameter. At least msvc doesn't like macros with var args. 
3844         I simply removed the extra 0, was it a feature or a typo ?
3845
3846         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
3847         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
3848         because the value assignment to the internal struct wasn't working.
3849         I'm not absolutely sure. The problem could have been resolved by
3850         changing the "func" declartion in the struct, but was the pointer
3851         to the function pointer intended ?
3852
3853         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
3854
3855         * gdk/gdk.def : updated exported symbols
3856
3857         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
3858         only use SetDIBitsToDevice if there is a palette at the drawable
3859         and the image is GDK_VISUAL_PSEUDO_COLOR
3860
3861         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
3862
3863         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
3864
3865         * gdk/*/makefile.msc : updated
3866
3867 2001-02-19  Havoc Pennington  <hp@redhat.com>
3868
3869         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
3870         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
3871
3872         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
3873         (gdk_key_repeat_restore): nuke
3874
3875         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
3876         (gdk_init_check): no atexit func
3877
3878         * gdk/gdkrgb.h: mark some stuff deprecated
3879
3880         * gdk/gdkcolor.h: mark some stuff deprecated
3881         
3882         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
3883
3884         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
3885
3886 2001-02-16  Havoc Pennington  <hp@redhat.com>
3887
3888         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
3889         scroll steps.
3890
3891         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
3892         steps, and add Ctrl-arrow shortcuts for paging visually as with
3893         HScale, since Page Up and Page Down move logically.
3894
3895         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
3896         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
3897         
3898         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
3899         steps
3900         (gtk_range_scroll): handle the visual steps
3901
3902         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
3903         scroll steps
3904
3905         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
3906         steps, not the logical ones.
3907
3908         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
3909         (scroll_vertical): handle up/down steps
3910
3911 2001-02-19 Alexander Larsson  <alexl@redhat.com>
3912
3913         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
3914         Copy data and free data with free().
3915
3916         * gdk-pixbuf/gdk-pixbuf.c:
3917         * gdk-pixbuf/io-jpeg.c:
3918         * gdk-pixbuf/io-png.c:
3919         Use g_try_malloc/g_free instead malloc/free.
3920         
3921         * gdk-pixbuf/test-gdk-pixbuf.c:
3922         Must... initialize... gobject...
3923         
3924         * gdk-pixbuf/pixops/timescale.c:
3925         * gtk/gtkcalendar.c:
3926         Use g_malloc instead of malloc.
3927         
3928 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
3929
3930         * gtk/testgtkrc:
3931         Comment out property assignments, these don't work yet.
3932
3933 2001-02-17  Havoc Pennington  <hp@pobox.com>
3934
3935         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
3936         bit.
3937
3938 2001-02-17  Havoc Pennington  <hp@pobox.com>
3939
3940         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
3941         shadowed variables that had broken size request in some cases,
3942         leading to bogus tooltips (#50996)
3943
3944 2001-02-06  Jon K Hellan  <hellan@acm.org>
3945
3946         Implement fast browsing of tooltips, bug #50619
3947         
3948         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
3949         and last_popdown
3950         
3951         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
3952         use_sticky_delay and last_popdown.
3953         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
3954         time of popdown.
3955         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
3956         is NULL.
3957         (gtk_tooltips_recently_shown): New static function.  Return true
3958         if < sticky_delay has elapsed since last popdown.
3959         (gtk_tooltips_event_handler): Display window after sticky_delay
3960         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
3961         since last popdown.
3962         
3963 2001-02-17  Havoc Pennington  <hp@pobox.com>
3964
3965         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
3966         instead of (). #6394
3967
3968         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
3969         G_CONST_RETURN, make it return by reference, #50473
3970         
3971 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
3972
3973         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
3974         generated ENTER_NOTIFY event with 0, otherwise not explicitely
3975         setup fields contain garbage (e.g. subwindow, breaking
3976         gdk_drawable_ref() upon event copy).
3977         (gtk_menu_stop_navigating_submenu_cb): same here.
3978
3979         * gtk/gtklist.c (gtk_list_vertical_timeout): 
3980         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
3981         * gtk/gtkclist.c (vertical_timeout): 
3982         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
3983         default-zero-intialization for unions to memset(,0,), as unions are
3984         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
3985         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
3986
3987         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
3988         g_closure_sink() warning.
3989
3990         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
3991         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
3992         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
3993         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
3994         
3995 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
3996
3997         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
3998         gtk_*_store_get, and moved to GtkTreeModel.
3999
4000         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
4001
4002         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
4003
4004         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
4005
4006         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
4007         set the func.
4008
4009         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
4010         freeze/thaw notify between setting all the properties for a cell.
4011
4012         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
4013
4014 2001-02-15  Havoc Pennington  <hp@redhat.com>
4015
4016         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
4017         the X coordinates so they're with respect to the line, rather than 
4018         with respect to the layout.
4019
4020         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
4021         Mallabone
4022
4023         * gtk/testgtk.c (create_range_controls): add vscale tests, 
4024         and inverted test
4025
4026         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
4027         #50806
4028
4029         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
4030
4031         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
4032         gtk_text_iter_is_end
4033
4034         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
4035         rename gtk_text_buffer_get_end_iter
4036
4037         * gtk/testgtk.c (create_labels): Add test for selectable
4038
4039         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
4040         the selection stuff. This code is kind of broken since it doesn't 
4041         use the theme engine.
4042
4043         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
4044         fix infinite loop and y offset problem
4045         (gdk_draw_layout_line_with_colors): fix foreground color handling
4046
4047         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
4048         that makes the label selectable.
4049         
4050         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
4051         layout when the style is set, since fonts etc. could have changed.      
4052
4053 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
4054
4055         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
4056
4057         * gtk/gtktreemodelsimple.[ch]: removed.
4058
4059 2001-02-16  Alexander Larsson  <alexl@redhat.com>
4060
4061         * gtk/gtktreemodelmapping.[ch]:
4062         New files. Implement GtkTreeModelMapping.
4063         
4064         * gtk/Makefile.am:
4065         Add gtktreemodelmapping.[ch].
4066         
4067         * gtk/gtk.h:
4068         Add gtktreemodelmapping.h
4069
4070         * gtk/treestoretest.c:
4071         Test the GtkTreeModelMapping
4072
4073 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
4074
4075         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
4076         have a demo, we might as well pass in real values.  Thanks to
4077         clahey for pointing this out.
4078
4079 2001-02-14  Havoc Pennington  <hp@pobox.com>
4080
4081         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
4082         "static" to a private function
4083         (gtk_image_menu_item_class_init): remove destroy handler,
4084         add "image" object property
4085
4086 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
4087
4088         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
4089         Add a shortcut if the window and the current clip_region doesn't
4090         overlap. This is needed when there are a lot of windows in a
4091         window. The layout test in testgtk is a good test.
4092
4093         * gdk/linux-fb/gdkwindow-fb.c:
4094         Whitespace fix.
4095
4096 2001-02-13  Sven Neumann  <sven@convergence.de>
4097
4098         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
4099
4100 2001-02-13  Alexander Larsson  <alexl@redhat.com>
4101
4102         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
4103         Don't reference last_cursor if it is null. Fixes crash when rotating
4104         the screen before having moved the mouse.
4105
4106         * gdk/linux-fb/gdkcc-fb.c: Zapp!
4107
4108         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
4109
4110         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
4111         when using 90 or 270 degrees rotation.
4112
4113 2001-02-12  Havoc Pennington  <hp@pobox.com>
4114
4115         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
4116         it always set the foreground, even if we were only using
4117         a stipple.
4118         (gdk_draw_layout_line_with_colors): new function, allow
4119         override colors
4120         (gdk_draw_layout_with_colors): new function, allow override
4121         colors
4122         (gdk_pango_layout_line_get_clip_region): function to get the clip
4123         region for a logical text range
4124         (gdk_pango_layout_get_clip_region): get the clip region for a
4125         logical text range
4126
4127         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
4128         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
4129         the right number of arguments.
4130
4131         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
4132         enhance the function to check that node data corresponds to a 
4133         view still belonging to the tree.
4134
4135         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
4136         GtkTreePath
4137         (gtk_tree_view_inserted): ditto
4138         (gtk_tree_view_child_toggled): ditto
4139
4140         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
4141         simplify this code.
4142
4143         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
4144         a PangoAttrList
4145
4146         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
4147
4148         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
4149
4150         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
4151         size in the size request 
4152         (gtk_menu_bar_size_allocate): consider toggle size here
4153
4154         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
4155         that displays a widget in the toggle slot
4156
4157         * gtk/testgtk.c: test GtkImageMenuItem
4158
4159         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
4160         
4161         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
4162         request and allocation
4163
4164         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
4165
4166         * gtk/gtkcheckmenuitem.c
4167         (gtk_check_menu_item_toggle_size_request): ditto
4168         
4169 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
4170
4171         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
4172         reference.
4173
4174         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
4175         and refuse to initialize GTK+ if they fail.
4176
4177 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
4178
4179         * configure.in: Add check for gtk-doc version.
4180
4181 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
4182
4183         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
4184         where the xpad/ypad was only being used on one side!
4185
4186 2001-02-11  Tor Lillqvist  <tml@iki.fi>
4187
4188         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
4189         function, copied from X11 version.
4190
4191         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
4192         DestroyCursor failures. The reason for the problem (despite the
4193         inconsistent messages from GetLastError()) was that
4194         DestroyCursor() cannot be called while a cursor is set in a
4195         window. Set the new cursor first and then destroy the old one.
4196         Thanks to jpe@archaeopteryx.com.
4197
4198         * gdk/win32/gdkcc-win32.c: Remove.
4199
4200         * gdk/win32/Makefile.am: Remove from here, too.
4201         
4202         * gdk/gdk.def
4203         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
4204
4205         * gtk/gtk.def
4206         * gtk/makefile.mingw.in: Updates.
4207
4208 2001-02-08  Havoc Pennington  <hp@redhat.com>
4209
4210         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
4211         add a widget to a bin that already has a child.
4212
4213         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
4214
4215         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
4216         
4217         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
4218
4219         * gdk/gdk.h: remove gdkcc.h
4220
4221         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
4222
4223         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
4224         GdkPixbuf, since the previous implementation was GdkColorContext
4225         dependent.
4226
4227         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
4228         
4229 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
4230
4231         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
4232         a sane value!
4233
4234 2001-02-08  Havoc Pennington  <hp@redhat.com>
4235
4236         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
4237         lighten them.
4238
4239 2001-02-08  Havoc Pennington  <hp@redhat.com>
4240
4241         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
4242         validation idle
4243
4244         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
4245         cell renderer
4246
4247         * demos/pixbuf-demo.c (timeout): remove deprecated
4248         gtk_widget_draw
4249
4250         * demos/testpixbuf-save.c (main): remove deprecated
4251         gtk_drawing_area_size
4252
4253         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
4254         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
4255         at the start of the allocation.
4256         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
4257         unsetup or NULL model.
4258
4259         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
4260         even/odd/sorted cells in the tree view.
4261
4262         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
4263         bugfixes
4264
4265         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
4266         backgrounds with draw_flat_box using different detail for even/odd
4267         rows.
4268
4269         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
4270         row, so we can draw the alternating colors thing
4271
4272         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
4273         property from a synonym property, notify for the synonym.
4274         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
4275         (gtk_text_tag_get_property): Always return the font, even if
4276         all its fields aren't set
4277
4278         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
4279         store the attr list; it leaves us with no way to change attributes
4280         in _render according to the render flags, and no way to implement
4281         get_property. Instead store all the specific text attributes. 
4282         Separate whether an attribute is enabled from its value. Sync all
4283         properties with GtkTextTag, make them all consistent, etc.
4284
4285         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
4286         renderers can highlight the sort row/column     
4287
4288         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
4289         accessor functions to get values; this has the side effect of
4290         showing up which accessor functions were missing. Added those.
4291
4292         * gtk/gtktreeviewcolumn.h: Replace set_justification with
4293         set_alignment, to be consistent with GtkLabel, GtkMisc
4294
4295         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
4296         arrow.
4297
4298         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
4299
4300         * gtk/gtktreesortable.h: updates in here
4301
4302 2001-02-07  Sven Neumann  <sven@convergence.de>
4303
4304         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
4305         pango dimensions after painting the background. We used to draw
4306         gigantic flat boxes here.
4307
4308 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
4309
4310         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
4311         error introduced with earlier commit) (pointed out by
4312         Ollie Lho)
4313
4314 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
4315
4316         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
4317         which are no longer necessary.
4318
4319 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
4320
4321         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
4322
4323 2001-02-04  Tor Lillqvist  <tml@iki.fi>
4324
4325         * gdk/gdk.def
4326         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
4327         Provide dummy implementations.
4328
4329 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
4330
4331         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
4332
4333         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
4334         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
4335         deprecated this function.
4336
4337         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
4338         argument.
4339
4340 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
4341
4342         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
4343
4344 2001-02-03  Havoc Pennington  <hp@pobox.com>
4345
4346         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
4347         Mikael Hermansson with patch from Mikael (if there was a toggle
4348         start one after the first character in the range, this function
4349         was broken). Bug #50380
4350
4351 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
4352
4353         * configure.in: Remove confusing comment about X11.
4354
4355 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
4356
4357         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
4358         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
4359         
4360 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
4361
4362         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
4363         it breaks things on BSD. If you want to compile GTK+ with
4364         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
4365         when configuring, since GTK+ simply can't be "pure ANSI" 
4366         in the header files it uses. (#8170, Greg Hudson)
4367
4368 2001-02-02  Havoc Pennington  <hp@redhat.com>
4369
4370         * gtk/gtkwindow.c: docs
4371
4372         * gtk/gtkwidget.c: docs
4373         (gtk_widget_set_colormap): add a reference to the colormap
4374         (gtk_widget_get_default_colormap): add a reference to the colormap
4375
4376         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
4377
4378         * gtk/gtktextiter.c: docs
4379
4380         * gtk/gtkmain.c (gtk_propagate_event): docs
4381
4382         * gtk/gtkpaned.c (gtk_paned_get_position): docs
4383         (gtk_paned_set_position): docs
4384
4385         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
4386         sort interface, no implementation yet.
4387
4388         * demos/testpixbuf.c (new_testrgb_window): replace
4389         gtk_drawing_area_size() with gtk_widget_set_usize()
4390
4391         * demos/testpixbuf-drawable.c (main): ditto
4392         
4393         * gtk/testgtk.c: remove use of GtkStatusbarMsg
4394
4395         * gtk/gtktextbuffer.c: docs
4396
4397         * gtk/gtkstock.c: docs
4398
4399         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
4400
4401         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
4402
4403         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
4404         
4405         * gtk/gtkimage.c: add some docs in here
4406         (gtk_image_size_request): change name of
4407         gtk_widget_render_stock_icon
4408         (gtk_image_get_icon_set): don't dup returned string
4409         (gtk_image_get_icon_set): don't dup returned string
4410
4411         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
4412         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
4413         and gtkiconfactory.h functions
4414
4415         * gtk/gtkiconfactory.c: add some docs in here
4416
4417         * gtk/gtkmain.c (gtk_get_default_language): document
4418         (gtk_get_current_event): document
4419         (gtk_get_current_event_state): document
4420         (gtk_get_event_widget): document
4421
4422         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
4423
4424         * gtk/gtkcontainer.c: Add some documentation
4425         (gtk_container_add): give a more explanatory warning on adding an
4426         already-parented widget, this is kind of a FAQ and also a common
4427         typo that's easier to debug with a nice warning 
4428
4429         * gtk/gtkcellrenderertoggle.c
4430         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
4431         adding this, it's useless
4432         (gtk_cell_renderer_toggle_set_active): remove
4433         (gtk_cell_renderer_toggle_get_radio): add
4434
4435         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
4436         the NULL cell renderer, that doesn't make any sense to me. 
4437
4438         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
4439         demo code should never use deprecated features.
4440
4441         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
4442         code should never use deprecated features.
4443
4444         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
4445         gtk_widget_queue_clear_area deprecated
4446
4447         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
4448         deprecated
4449
4450         * gtk/gtklabel.h: mark gtk_label_get() deprecated
4451
4452         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
4453         a GdkImage deprecated, replaced by new consistently-named
4454         functions       
4455
4456         * gtk/gtkmain.h: Mark gtk_exit() deprecated
4457
4458         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
4459
4460         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
4461         deprecated
4462
4463         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
4464         so it won't appear in docs and confuse people.
4465
4466         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
4467
4468         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
4469         macros deprecated. (can't mark the type itself deprecated, since
4470         GtkProgressBar is not deprecated and we need the type decl to use
4471         GtkProgressBar)
4472
4473         * gtk/gtkpixmap.h: Mark deprecated
4474
4475         * gtk/gtkoldeditable.h: Mark deprecated
4476
4477         * gtk/gtklist.h: Mark deprecated
4478
4479         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
4480         for anything anymore.
4481
4482         * gtk/gtkctree.h: Mark deprecated
4483
4484         * gtk/gtkclist.h: Mark deprecated
4485
4486         * gtk/gtkpreview.h: Mark deprecated
4487
4488         * gtk/gtkpacker.h: Mark deprecated
4489
4490         * gtk/gtktipsquery.h: Mark deprecated
4491
4492         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
4493
4494         * gtk/gtkvruler.h: Add comment that it will move out of GTK
4495
4496         * gtk/gtkhruler.h: Add comment that it will move out of GTK
4497
4498         * gtk/gtkruler.h: Add comment that it will move out of GTK
4499
4500         * gtk/gtkgamma.h: Add comment that it will move out of GTK
4501
4502         * gtk/gtkcurve.h: Add comment that it will move out of GTK
4503
4504 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
4505
4506         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
4507         gdk_colormap_sync private since it was never exported
4508         in a header file.
4509
4510         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
4511         colormap->colors[] for StaticGray, StaticColor colormaps.
4512
4513         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
4514         was being used as if it was image->bits_per_pixel.
4515
4516         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
4517         for the image in the GdkImage structure since it isn't
4518         reconstructable, and we need it to handle packed types
4519
4520         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
4521         the assumption that on Win32 image->bits_per_pixel == image->depth,
4522         always.
4523
4524         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
4525
4526         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
4527         warning message if no converter can be found. 
4528
4529 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
4530
4531         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
4532         chars to isupper() / tolower(). (#567)
4533
4534         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
4535         to clear up 64-bit warnings. (#567)
4536
4537 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
4538
4539         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
4540         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
4541
4542         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
4543         since some people set $(libdir) separately. (#1290, David Kaelbling)
4544
4545 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
4546
4547         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
4548         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
4549         MAXPATHLEN, but the code here depends on a fixed value.)
4550         (#4524)
4551
4552 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
4553
4554         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
4555         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
4556
4557 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
4558
4559         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
4560         viewable there is no way that moving the node will cause the 
4561         focus row to become not viewable, so omit check on the visibility
4562         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
4563
4564 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
4565
4566         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
4567         selection before inserting new text.
4568
4569 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
4570
4571         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
4572         Make the sensitivity of the reparented child track that of
4573         the original parent menu item. (#34218, David Hodson)
4574
4575         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
4576         the case where the current item is destroyed properly.
4577
4578         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
4579         some edge cases with child-less menuitems.
4580         
4581 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
4582
4583         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
4584         key pop down window. (#12074, Jon K Hellan)
4585
4586 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
4587
4588         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
4589         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
4590         The solution here isn't perfect - you get an extraneous
4591         emission of "toggle", which could conceivably confuse an app,
4592         but better than the current situation. LXR search seems to
4593         indicate that no apps in GNOME CVS connect to "toggle".
4594
4595 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
4596
4597         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
4598         gtk_public_h_sources to directly here to avoid warning when
4599         building srcdir != builddir. (#9656)
4600
4601 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
4602
4603         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
4604         handlers in gtkrange.c return the proper values (TRUE == handled)
4605         (#10316).
4606
4607         This is just the tip of the iceberg, but gtkrange.c is the
4608         most common place where the propagation is problematical,
4609         and also a place where it is almost certainly safe to change
4610         this in the stable branch.
4611
4612         (You don't want right click popups on a range control or anything...)
4613
4614 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
4615
4616         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
4617         area on focus out, even if a background pixmap isn't set.
4618         (#13941)
4619         
4620 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
4621
4622         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
4623         to deal with setting the shape properly when scrolling arrows are
4624         turned on, but not visible because there is sufficient space.
4625         (#13432)
4626
4627 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
4628
4629         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
4630         items with submenus, destroy the item along with the submenu.
4631         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
4632         properly.
4633
4634         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
4635         later.
4636
4637 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
4638
4639         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
4640         the focus widget sometimes wasn't drawn with the default if there
4641         was no default widget.
4642
4643         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
4644         unreference pixmaps. 
4645
4646         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
4647         for some extra safety.
4648
4649 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
4650
4651         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
4652         the text of a cell to the old pointer value better, by
4653         copying the new text before freeing the old text. Some code
4654         cleanup. (#8079, Karl Nelson)
4655
4656 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
4657
4658         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
4659         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
4660
4661 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
4662
4663         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
4664         item from a menu, check to see if it matches 
4665         menu->old_active_menu_item, and if so, unref and clear
4666         old_active_menu_item (Patch from Pavel Cisler)
4667
4668         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
4669         menu_shell->active_menu_item, if it is the child being
4670         removed. (Patch based on that of Gene Ragan, #50337)
4671
4672 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
4673
4674         * gdk/linux-fb/gdkselection-fb.c: 
4675         * gdk/linux-fb/gdkcolor-fb.c: 
4676         * gdk/linux-fb/gdkdrawable-fb2.c: 
4677         * gdk/linux-fb/gdkfont-fb.c: 
4678         * gdk/linux-fb/gdkim-fb.c: 
4679         * gdk/linux-fb/gdkinput.c: 
4680         * gdk/linux-fb/gdkkeyboard-fb.c: 
4681         * gdk/linux-fb/gdkmain-fb.c: 
4682         * gdk/linux-fb/gdkrender-fb.c: 
4683         A bunch of whitespace cleanup.
4684         
4685 2001-01-30  Havoc Pennington  <hp@pobox.com>
4686
4687         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
4688         #ifdef GTK_ENABLE_BROKEN.
4689
4690         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
4691         GTK_ENABLE_BROKEN just before including the broken headers.
4692         
4693         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
4694         deprecated types registered.
4695
4696         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
4697         we have to test the broken stuff.
4698
4699         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
4700         
4701 2001-01-30  Havoc Pennington  <hp@redhat.com>
4702
4703         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
4704         here where prev pointer was set to the wrong thing
4705
4706         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
4707         (gtk_tree_path_is_descendant): new function
4708
4709         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
4710         cached length
4711         (gtk_list_store_get_iter): don't modify iter if we can't get the
4712         path.
4713
4714         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
4715         
4716         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
4717         GtkTreeDragDest
4718
4719         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
4720         was causing segfault
4721
4722         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
4723         pointer to NULL
4724
4725         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
4726
4727         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
4728         on returning FALSE
4729         (gtk_list_store_iter_children): ditto
4730         (gtk_list_store_iter_nth_child): ditto
4731         (gtk_list_store_iter_nth_child): ditto
4732         (gtk_list_store_iter_parent): ditto
4733
4734         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
4735         on iter->user_data != NULL instead of silently accepting it.
4736         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
4737         we are returning TRUE.
4738         (gtk_tree_store_iter_children): ditto
4739         (gtk_tree_store_iter_nth_child): ditto
4740         (gtk_tree_store_iter_parent): ditto
4741         (gtk_tree_store_insert): remove handling of parent->user_data ==
4742         NULL, replace with parent == NULL       
4743
4744         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
4745         and a comment explaining things
4746
4747         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
4748         interface support to GtkTreeStore.
4749
4750         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
4751         FALSE if no prev, fix
4752
4753         * gtk/gtktreeview.c (set_source_row): use a row reference
4754         (set_dest_row): use a row reference
4755
4756 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
4757
4758         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
4759         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
4760         (gtk_tree_selection_select_iter): The same as above.
4761
4762 2001-01-26  Havoc Pennington  <hp@redhat.com>
4763
4764         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
4765         which holds a handle to a specific row (particular set of values
4766         in the model, i.e. pointer-identity row).
4767
4768         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
4769         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
4770         Still need to use it for the src/dest row saved on the drag context.
4771
4772 2001-01-26  Havoc Pennington  <hp@redhat.com>
4773
4774         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
4775
4776         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
4777         not offset by TREE_VIEW_HEADER_HEIGHT
4778         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
4779         TREE_VIEW_HEADER_HEIGHT
4780
4781         * configure.in (included_loaders): for me, --with-included-loaders
4782         generates the error "the specified loader yes does not exist",
4783         i.e. the arg defaults to "yes", so change test for value ""
4784         to test for value "yes", and include all loaders in that case.
4785
4786         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
4787
4788         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
4789         handle TREE_VIEW_VERTICAL_SEPARATOR
4790         (gtk_tree_view_bin_expose): fix to consider the row offset as
4791         pointing halfway into vertical separator.       
4792         (gtk_tree_view_draw_node_focus_rect): ditto
4793
4794         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
4795         --gtk-debug=updates, which causes gdk_window_set_debug_updates
4796         (TRUE) to be called.
4797
4798         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
4799         debug mode where the invalid region is colored in on invalidate,
4800         so you can see the flicker and know whether your redraw code is 
4801         doing a good job.
4802
4803         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
4804         tree window coordinates (clip rect is in tree window coords)
4805
4806         * gtk/Makefile.am: add gtktreednd.[hc]
4807
4808         * gtk/gtkliststore.c: implement gtktreednd interfaces.
4809
4810         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
4811         drag-and-drop data operations on a model (so we can set up tree
4812         drag-and-drop automatically)
4813
4814         * gtk/testgtk.c: Add a window to change sensitivity in the
4815         GtkLabel test; add a way to change the entry frame in GtkEntry
4816         test
4817
4818         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
4819         (gtk_entry_get_has_frame): new functions to remove the frame
4820         around an entry
4821         (gtk_entry_size_request): shrink requisition if no frame
4822         (gtk_entry_draw_focus): don't draw frame if no frame
4823
4824         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
4825         checks inside a cell renderer
4826         (gtk_default_draw_option): ditto for options
4827
4828         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
4829         children from the alignment, not the button
4830         (gtk_tree_view_column_init): ref/sink the column, to emulate
4831         GObject refcounting.
4832
4833         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
4834         
4835         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
4836         Use theme functions to draw the toggles 
4837
4838         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
4839
4840         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
4841         GdkPangoAttrEmbossed to use in rendering insensitive text
4842
4843         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
4844
4845         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
4846         using new GDK features
4847         
4848 2001-01-24  Alexander Larsson  <alexl@redhat.com>
4849
4850         * gtk/gtkimage.c:
4851         Splitted gtk_image_clear into gtk_image_clear() and
4852         gtk_image_reset(). Call gtk_image_clear() in ::destroy
4853         to avoid leaks.
4854
4855         * gtk/gtklabel.c (set_markup):
4856         Don't leak text.
4857
4858         * gtk/gtktextlayout.c:
4859         Always free display->shaped_objects.
4860
4861         * gtk/testgtk.c (create_clist):
4862         Don't leak custom style.
4863
4864 2001-01-23  Alexander Larsson  <alexl@redhat.com>
4865
4866         * gtk/gtkcolorsel.c (grab_color_at_mouse):
4867         Don't leak image. Simplify using gdk_colormap_query_color().
4868         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
4869
4870         * linux-fb/gdkcolor-fb.c:
4871         Implemented gdk_colormap_query_color.
4872
4873 2001-01-23  Alexander Larsson  <alexl@redhat.com>
4874
4875         * linux-fb/gdkcursor-fb.c:
4876         Don't leak built-in cursors.
4877
4878         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
4879         Don't leak tmp_points.
4880
4881         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
4882         Don't modify desc. Don't leak font if the PangoFont
4883         isn't found.
4884         
4885         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
4886         Free dash_list.
4887
4888         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
4889         Don't leak string.
4890         
4891 2001-01-20  Havoc Pennington  <hp@pobox.com>
4892
4893         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
4894         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
4895         me, matches Pango
4896
4897 2001-01-22  Havoc Pennington  <hp@redhat.com>
4898
4899         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
4900
4901         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
4902
4903         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
4904         Remove, move back to gdk-pixbuf
4905
4906         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
4907         to all the word functions
4908
4909         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
4910         before doing anything on NULL layout or if we don't have the focus
4911
4912         * gtk/testtext.c (fill_example_buffer): "justification"
4913
4914         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
4915         to be called "justification" not "justify"
4916
4917         * demos/gtk-demo/textview.c (create_tags): "justification"
4918         
4919         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
4920
4921 2001-01-22  Alexander Larsson  <alexl@redhat.com>
4922
4923         * gdk/gdkwindow.c (gdk_window_invalidate_region):
4924         Don't leak visible_region. Use visible_region instead of region.
4925         
4926         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
4927         Don't do extra gdk_drawable_ref(). This is not X.
4928         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
4929         gdk_fb_focused_window is ref:ed.
4930         (gdk_fb_window_send_crossing_events): Watch out for destroyed
4931         windows.
4932
4933 2001-01-22  Alexander Larsson  <alexl@redhat.com>
4934
4935         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
4936         Don't leak the PangoFontDescriptor.
4937
4938 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
4939
4940         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
4941         when not realized.
4942         (gtk_tree_view_scroll_to_cell): Make work when not realized.
4943         (gtk_tree_view_realize): add scroll_to support
4944         (gtk_tree_view_finalize): add a finalize method.  Populate.
4945         (gtk_tree_view_insert_column): ref and sink the column.
4946         (gtk_tree_view_append_column): ref and sink the column.
4947         (gtk_tree_view_queue_draw_node): New function to handle redrawing
4948         individual nodes.  Should make the code much more efficient, if
4949         actually used.
4950
4951 2001-01-19  Havoc Pennington  <hp@redhat.com>
4952
4953         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
4954         byte_offset variable was being used to mean both "offset into
4955         layout" and "offset into buffer line" which was no longer true
4956         with addition of preedit string; fix
4957
4958 2001-01-19  Havoc Pennington  <hp@redhat.com>
4959
4960         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
4961
4962         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
4963         function
4964
4965         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
4966         implement
4967
4968         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
4969         scroll_to_cell, matches TextView scroll functions better
4970         (gtk_tree_view_tree_to_widget_coords): new function
4971         (gtk_tree_view_widget_to_tree_coords): new function
4972         (gtk_tree_view_get_visible_rect): new function
4973         (gtk_tree_view_get_path_at_pos): accept negative coordinates
4974         (gtk_tree_view_draw_node_focus_rect): new function moved from
4975         draw_focus, also, use width of bin_window as width of the focus
4976         rect
4977         (gtk_tree_view_expand_row): fix bug where it didn't recognize
4978         already-expanded rows
4979         (gtk_tree_view_get_cell_rect): new function
4980         (gtk_tree_view_get_path_at_pos): return the click position
4981         relative to the passed-in cell
4982         (gtk_tree_view_set_expander_column): new function
4983
4984         * configure.in: remove gtk-config-2.0 chmod
4985
4986         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
4987         and properly handle drags with targets we don't understand
4988         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
4989         scrolling anyway
4990         (gtk_text_view_drag_drop): stop scrolling here though, and set the
4991         mark invisible
4992
4993         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
4994         function
4995         (gtk_drag_dest_get_target_list): new function
4996         (gtk_drag_dest_set_target_list): new function
4997         
4998         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
4999
5000         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
5001         related to drag-and-drop
5002
5003 2001-01-19  Alexander Larsson  <alexl@redhat.com>
5004
5005         * gdk/linux-fb/gdkprivate-fb.h:
5006         Define EMULATE_GDKFONT.
5007         Add extra pango_font stuff to GfkFontPrivate.
5008         
5009         * gdk/linux-fb/gdkdrawable-fb2.c:
5010         * gdk/linux-fb/gdkfont-fb.c:
5011         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
5012         emulation using PangoFont.
5013
5014 2001-01-17  Havoc Pennington  <hp@pobox.com>
5015
5016         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
5017         all the non-deprecated set_foo functions. Added missing object
5018         properties, and added g_object_notify() to setters. 
5019         Wrote docs.
5020         
5021 2001-01-18  Tor Lillqvist  <tml@iki.fi>
5022
5023         * gtk/gtkmain.c
5024         * gtk/gtkrc.c: (Win32) Use the new
5025         g_win32_get_package_installation_(sub)directory() functions.
5026
5027         * config.h.win32.in: New file.
5028         
5029         * config.h.win32: Removed.
5030
5031         * configure.in: Output config.h.win32.
5032
5033         * Makefile.am: Add it to EXTRA_DIST.
5034
5035         * gtk/gtk.def: Update.
5036
5037 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
5038
5039         * gtk/gtklabel.c (gtk_label_size_request): Set the
5040         attributes onto the PangoLayout even if they are newly
5041         created from label->pattern.
5042
5043 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
5044
5045         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
5046
5047         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
5048         structures in functions. Fixes bug where gtk_dataset_*
5049         was accidentally still being used in one place, causing
5050         every dest side event to be treated independently.
5051
5052         * gtk/gtkdnd.c: Remove last vestages of handling
5053         ::draw (fixes warning)
5054         
5055         * gtk/gtkentry.[ch]: Add drag and drop support.
5056
5057         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
5058         new function gtk_check_drag_threshhold() for checking
5059         to check if (dx,dy) has exceeded the threshhold for starting
5060         a drag and use it everywhere.
5061
5062 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
5063
5064         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
5065         add -I{includedir}/gtk-2.0.
5066
5067         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
5068         gdk/gdk-pixbuf.h: Doc fixups.
5069         
5070         * gtk/gtkobject.h: Remove trailing , from enum
5071
5072 2001-01-17 Alexander Larsson <alexl@redhat.com> 
5073
5074         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
5075         Doh! Mixed up x and y.
5076
5077         * gdk/linux-fb/gdkglobals-fb.c:
5078         Removed gdk_fb_pointer_grab_window_events,
5079         added _gdk_fb_pointer_grab_owner_events and
5080         _gdk_fb_keyboard_grab_owner_events.
5081
5082         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
5083         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
5084         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
5085         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
5086         Send crossing events after ungrab finished.
5087         (gdk_keyboard_grab): Set ..._owner_events
5088         (type_masks): Move out of function.
5089         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
5090         gdk_fb_keyboard_event_window): New functions, return the
5091         window an event should be targeted at. Handles grabs and
5092         event propagation. Can return NULL.
5093         (gdk_event_make): Remove event_mask checking. Now always
5094         returns an event.
5095                 
5096         * gdk/linux-fb/gdkkeyboard-fb.c:
5097         * gdk/linux-fb/gdkproperty-fb.c:
5098         * gdk/linux-fb/gdkselection-fb.c:
5099         Use new event_window/gdk_event_make() behaviour.
5100         
5101         * gdk/linux-fb/gdkmouse-fb.c:
5102         Use new event_window/gdk_event_make() behaviour.
5103         Only send motion events if in the same window.
5104         If grabbed, use cursor from window if sibling of grabbed
5105         window, and cursor from grabbed window otherwise.
5106
5107         * gdk/linux-fb/gdkprivate-fb.h:
5108         Update gdk_fb_window_send_crossing_events, gdk_event_make
5109         and grab varaible declarations. Add gdk_fb_*_event_window().
5110
5111         * gdk/linux-fb/gdkwindow-fb.c:
5112         Use new event_window/gdk_event_make() behaviour.
5113         Keep correct track of focus window.
5114         (gdk_window_set_events): Set all specific button motion masks
5115         if GDK_BUTTON_MOTION_MASK set.
5116
5117         * gtk/gtkdnd.c (gtk_drag_update):
5118         Free info->last_event if gdk_drag_motion returned FALSE.
5119
5120 2001-01-16  Tor Lillqvist  <tml@iki.fi>
5121
5122         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
5123         Eliminate redraws when input-only windows are shown or
5124         hidden. Thanks to jpe@archaeopteryx.com.
5125
5126 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
5127
5128         * docs/faq/gtk-faq.sgml: FAQ update:
5129           - Update to bugzilla
5130           - Add GTK+ and security/SUID/SGID
5131           - Add DnD question
5132
5133 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
5134
5135         * gdk/linux-fb/gdkdnd-fb.c:
5136         Some cleanups.
5137         
5138 2001-01-15  Havoc Pennington  <hp@pobox.com>
5139
5140         * tests/testtreeview.c: add test stuff for CellRendererToggle
5141
5142         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
5143         accessor
5144
5145         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
5146         only toggle on button press (would do release like GtkButton, but
5147         we'd need implicit grab code for treeview cells)
5148
5149 2001-01-16  Tor Lillqvist  <tml@iki.fi>
5150
5151         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
5152
5153         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
5154         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
5155
5156         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
5157         to g_{locale,filename}_{to,from}_utf8 to match current API.
5158
5159         * gtk/makefile.msc.in (gtk_OBJECTS)
5160         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
5161
5162         * gtk/gtk.def: Update.
5163
5164 2001-01-15  Tor Lillqvist  <tml@iki.fi>
5165
5166         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
5167         implementaion that more closely mimics the events that an X server
5168         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
5169         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
5170         with nested preview widgets, for instance, more responsive when
5171         you move the mouse quickly into them.
5172         (find_window_for_pointer_event): Make it actually compile.
5173         (gdk_event_translate): Set send_event to the value of
5174         InSendMessage (). This doesn't really mean the same as X11's
5175         send_event flag, but is close enough, says jpe@archaeopteryx.com
5176
5177 2001-01-15  Alexander Larsson  <alexl@redhat.com>
5178
5179         * gdk/linux-fb/gdkdnd-fb.c:
5180         Implemented drag and drop.
5181         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
5182         when it tries to free and then copy the same event (info->last_event).
5183         I am not sure about why this happens, but will continue looking.
5184
5185 2001-01-15  Alexander Larsson  <alexl@redhat.com>
5186
5187         * gdk/linux-fb/gdkwindow-fb.c:
5188         Use gdk_window_invalidate_rect instead of
5189         gdk_window_invalidate_rect_clear to minimise flashing.
5190         When hiding windows you need to clear the root window though.
5191
5192 2001-01-15  Alexander Larsson  <alexl@redhat.com>
5193
5194         * gdk/linux-fb/gdkdrawable-fb2.c:
5195         For optization, add an full_shapes argument to gdk_fb_clip_region.
5196         If this is false, only the cliprects of the shapes are used.
5197
5198         * gdk/linux-fb/gdkprivate-fb.h:
5199         Export gdk_fb_window_peek_shape.
5200         Add full_shapes to gdk_fb_clip_region.
5201
5202         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
5203         When moving a window, don't clear everything under the it, just the
5204         root window. Makes stuff faster and flash less.
5205         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
5206         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
5207         offset of the shape.
5208         
5209
5210 2001-01-12  Havoc Pennington  <hp@redhat.com>
5211
5212         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
5213         current invalid region, fixes redraw bug while scrolling the 
5214         text widget
5215
5216         * gtk/gtktextview.c, gtk/gtktextview.h:
5217         Rearrange the scrolling/validation/etc. code in a major way, 
5218         so it seems to make sense to me. Probably isn't genuinely that
5219         much better, but...
5220
5221         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
5222         notifies
5223
5224         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
5225
5226 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
5227
5228         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
5229         Hide mouse pointer while rotation. Show it afterwards.
5230
5231 2001-01-12  Alexander Larsson  <alexl@redhat.com>
5232
5233         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
5234         windows in consideration when generating clip region.
5235
5236         * gdk/linux-fb/gdkfb.h:
5237         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
5238
5239         * gdk/linux-fb/gdkprivate-fb.h:
5240         Add shape to GdkWindowFBDatat.
5241         exported gdk_fb_window_get_abs_shape().
5242         removed gdk_fb_draw_lines declaration.
5243
5244         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
5245         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
5246         send focus changes when there is a grabbed window.
5247         (gdk_window_get_pointer): Handle shaped windows.
5248         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
5249         (gdk_fb_window_peek_shape): Returns the shape for a window,
5250         handles GDK_FB_USE_CHILD_SHAPE.
5251         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
5252         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
5253         (gdk_window_shape_combine_mask): Implement.
5254
5255         * gtk/gtkwindow-decorate.c:
5256         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
5257         setting the shape of a window makes the window transparent.
5258
5259 2001-01-11  Havoc Pennington  <hp@redhat.com>
5260
5261         * gtk/gtktreemodelsimple.h: Oops, broke some macros
5262
5263 2001-01-10  Havoc Pennington  <hp@redhat.com>
5264
5265         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
5266         add this function, bug 40251
5267
5268         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
5269         of type macro   
5270
5271 2001-01-11  Alexander Larsson  <alexl@redhat.com>
5272
5273         * acconfig.h:
5274         Added ENABLE_SHADOW_FB
5275
5276         * configure.in:
5277         Added --disable-shadowfb
5278
5279         * gdk/linux-fb/gdkcursor-fb.c:
5280         Update shadowfb when updating cursor
5281
5282         * gdk/linux-fb/gdkdrawable-fb2.c:
5283         Added wrappers for shadowfb that calls  the normal drawable
5284         methods, but calls gdk_shadow_fb_update(bounding box) when
5285         GdkWindows are drawed to.
5286         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
5287         which also returns the bounding box.
5288
5289         * gdk/linux-fb/gdkfb.h:
5290         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
5291
5292         * gdk/linux-fb/gdkgeometry-fb.c:
5293         Update shadowfb when scrolling window.
5294
5295         * gdk/linux-fb/gdkglobals-fb.c:
5296         Add _gdk_fb_screen_angle.
5297         
5298         * gdk/linux-fb/gdkkeyboard-fb.c:
5299         Test code for screen rotation. Shift-F2 in the xlate driver
5300         rotates the screen.
5301
5302         * gdk/linux-fb/gdkmain-fb.c:
5303         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
5304
5305         * gdk/linux-fb/gdkmouse-fb.c:
5306         Use fb_width/height instead of modeinfo.xres/yres.
5307
5308         * gdk/linux-fb/gdkprivate-fb.h:
5309         Added fb_men, fb_width, fb_height & fb_stride. When using
5310         shadow fb these can differ from the framebuffer stuff.
5311         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
5312         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
5313         _gdk_fb_screen_angle. Removed CM, RP.
5314
5315         * gdk/linux-fb/gdkrender-fb.c:
5316         Added code for shadowfb handling and screen rotation using
5317         shadowfb.
5318
5319         * gdk/linux-fb/gdkwindow-fb.c:
5320         Use fb_mem, fb_stride, fb_width, fb_height.
5321         Added recompute_rowstride to reset the rowstride of all windows.
5322         Added gdk_fb_recompute_all() which recomputes rootwindow size,
5323         window abs positions and window rowstrides. Usefull when the
5324         rotation has changed.
5325
5326 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
5327
5328         * docs/faq/gtk-faq.sgml: update to make web site updating easier
5329
5330 2001-01-10  Havoc Pennington  <hp@redhat.com>
5331
5332         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
5333         where sibling == iter
5334         (gtk_tree_store_insert_after): handle sibling == iter
5335         (gtk_tree_store_prepend): remove stamp checks
5336         (gtk_tree_store_insert_before): ditto
5337         (gtk_tree_store_append): ditto
5338         (gtk_tree_store_get_path): ditto
5339         (gtk_tree_store_get_value): ditto
5340         (gtk_tree_store_iter_has_child): ditto
5341         (gtk_tree_store_iter_n_children): ditto
5342         (gtk_tree_store_iter_nth_child): ditto
5343         (gtk_tree_store_insert_after): ditto
5344         (gtk_tree_store_is_ancestor): ditto
5345         (gtk_tree_store_iter_depth): ditto
5346         (gtk_tree_store_insert_before): assert that sibling's parent is
5347         the same as the passed-in parent
5348         (gtk_tree_store_insert_after): assert that sibling's parent is
5349         the same as the passed-in parent
5350
5351         
5352         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
5353         function to get the first iterator in a model
5354         
5355         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
5356         conventionally the "root" in this sense is just NULL afaict.
5357
5358         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
5359         where sibling == iter
5360         (gtk_list_store_insert_after): handle case where sibling == iter
5361
5362         * tests/testtreeview.c (run_automated_tests): fairly lame basic
5363         automated tests for ListStore, TreeStore
5364
5365         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
5366         (gtk_list_store_insert): update tail pointer, and fix it to work
5367         (gtk_list_store_insert_before): update tail pointer, and fix it to work
5368         (gtk_list_store_append): use tail to be faster
5369         (gtk_list_store_prepend): fix it, update tail pointer
5370         (gtk_list_store_insert_after): fix it, update tail pointer
5371
5372         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
5373         the list
5374
5375 2001-01-09  Havoc Pennington  <hp@redhat.com>
5376
5377         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
5378         is NULL due to a pending resize
5379
5380         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
5381         column width to values less than 1
5382
5383         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
5384         width to be between min/max width, and still set the width 
5385         even if autosize is turned on, so the tree view can use this 
5386         function in order to autosize.
5387         (gtk_tree_view_column_init): set initial width to 1 not 0
5388
5389         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
5390         setter function to modify column width, so we get notification
5391         (gtk_tree_view_insert_iter_height): ditto
5392         (gtk_tree_view_calc_size): ditto
5393         (gtk_tree_view_check_dirty): ditto
5394
5395         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
5396         properties to change all the interesting attributes of the tree
5397         view column.
5398         (gtk_tree_view_column_set_header_clickable): rename set_clickable
5399         (gtk_tree_view_column_get_clickable): add
5400         (gtk_tree_view_column_set_cell_renderer): don't unset the current
5401         attributes; assume a cell renderer with equivalent object
5402         properties has been swapped in. Do g_object_notify().
5403         (gtk_tree_view_column_set_visible): g_object_notify
5404         (gtk_tree_view_column_get_sizing): rename from get_col_type
5405         (gtk_tree_view_column_set_sizing): g_object_notify
5406         (gtk_tree_view_column_set_width): add g_object_notify
5407         (gtk_tree_view_column_set_min_width): ditto
5408         (gtk_tree_view_column_set_max_width): ditto
5409         (gtk_tree_view_column_set_title): ditto
5410         (gtk_tree_view_column_set_clickable): ditto
5411         (gtk_tree_view_column_set_widget): ditto
5412         (gtk_tree_view_column_set_justification): ditto
5413
5414 2001-01-09  Havoc Pennington  <hp@redhat.com>
5415
5416         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
5417         there are no rows in the model
5418
5419         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
5420         NULL, then return the start of the list
5421
5422         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
5423         if we can't get any rows from an empty model 
5424
5425         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
5426         extraneous * after function pointer typedef usage
5427
5428         * Makefile.am: don't specify full path to cp and rm
5429
5430         * gtk/gtkcellrenderertextpixbuf.c
5431         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
5432         NULL before dereferencing, fixes a segfault that happened from
5433         time to time
5434
5435         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
5436         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
5437         and reindent the function
5438         (gtk_cell_renderer_pixbuf_get_size): indentation
5439
5440         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
5441         we quit it
5442         (gtk_dialog_add_buttons_valist): add g_return_if_fail
5443         (gtk_dialog_set_default_response): New function, to set default
5444         button
5445         (gtk_dialog_set_response_sensitive): New function, to set 
5446         sensitivity of buttons
5447
5448         * gtk/gtkcellrendererpixbuf.c
5449         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
5450         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
5451
5452         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
5453         handle any G_TYPE_OBJECT subclass, not just the base class, and 
5454         also boxed types.
5455         (_gtk_tree_data_list_value_to_node): ditto
5456
5457         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
5458         --gtk-debug=tree
5459
5460         * gtk/gtkmain.c: add GTK_DEBUG_TREE
5461
5462         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
5463
5464 2001-01-09  Tor Lillqvist  <tml@iki.fi>
5465
5466         * gdk/win32/gdkevents-win32.c: Implement better mouse
5467         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
5468         (find_window_for_pointer_event): New function.
5469         (gdk_event_translate): Use it when handling mouse events.
5470
5471 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
5472
5473         * configure.in:
5474         Added --with-included-loaders option
5475
5476         * gdk-pixbuf/Makefile.am:
5477         * gdk-pixbuf/gdk-pixbuf-io.c:
5478         Add support for including selected gdk-pixbuf loaders only.
5479
5480         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
5481         gtk_window_set_has_frame):
5482         Added inline documentation.
5483
5484         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
5485         * docs/reference/gdk/tmpl/windows.sgml:
5486         Added inline documentation.
5487
5488 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
5489
5490         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
5491         realizing buttons that have already been realized.
5492
5493 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
5494
5495         * tests/testtreeview.c (main): Show menu items before adding to
5496         option menu.
5497
5498         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
5499         around if we kill them.
5500
5501         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
5502         Return if we pass in a NULL model.
5503
5504 2001-01-08  Havoc Pennington  <hp@redhat.com>
5505
5506         * tests/testtreeview.c: hack on this some
5507
5508         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
5509         gtk_tree_store_set_valist, v is for arrays, valist for varargs
5510         list
5511         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
5512
5513         * gtk/gtkliststore.h: Add varargs set() and get() convenience
5514         functions
5515
5516 2001-01-08  Alexander Larsson  <alexl@redhat.com>
5517
5518         * gtk/gtkwindow-decorate.[hc]:
5519         * gtk/Makefile.am:
5520         New files. Contains an implementation of a minimal WM for
5521         linux-fb.
5522
5523         * gtk/gtkwindow.h:
5524         Add the possibility for GtkWindows to specify a frame. This
5525         is used for the window decoration code, but could concievably
5526         be used for X programs too (xmms style windows).
5527         GtkWindow->frame is the toplevel window if the window is framed.
5528         The signal frame_event gets all events that are targeted to
5529         GtkWindow->frame.
5530         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
5531         
5532         * gtk/gtkwindow.c:
5533         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
5534         Call out to gtkwindow-decorate.c for WM support in linx-fb.
5535
5536 2001-01-08  Alexander Larsson  <alexl@redhat.com>
5537
5538         * docs/README.linux-fb:
5539         Correct filename ~/.pangoft2_aliases
5540
5541         * gdk/gdkwindow.h:
5542         Added new function gdk_window_get_decorations.
5543
5544         * gdk/linux-fb/gdkfb.h:
5545         Removed _gdk_window_get_decorations declaration.
5546         Renamed _gdk_window_set_child_handler to
5547         gdk_fb_window_set_child_handler.
5548
5549         * gdk/linux-fb/gdkwindow-fb.c:
5550         Renamed _gdk_window_set_child_handler to
5551         gdk_fb_window_set_child_handler.
5552
5553         * gdk/x11/gdkwindow-x11.c:
5554         New function gdk_window_get_mwm_hints().
5555         Implemented gdk_window_get_decorations.
5556
5557         * docs/reference/gdk/tmpl/windows.sgml:
5558         * docs/reference/gdk/gdk-sections.txt:
5559         Added gdk_window_get_decorations docs.
5560         
5561 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
5562
5563         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
5564         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
5565         gdk_fb_window_send_crossing_events):
5566         Possibly send focus events when the mouse moves from one
5567         window to another.
5568
5569 2001-01-07  Tor Lillqvist  <tml@iki.fi>
5570
5571         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
5572         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
5573         to match current API.
5574
5575         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
5576         environment variable is set, don't call g_error when on a
5577         palettized (PseudoColor) display. Some people want to use GTK+ 
5578         in 256-colour mode even though works only partially.
5579
5580         * gdk/gdk.def
5581         * gtk/gtk.def
5582         * gtk/makefile.mingw.in: Update.
5583
5584 2001-01-05  Havoc Pennington  <hp@redhat.com>
5585
5586         * tests/testtreeview.c: hack on this a bit
5587
5588         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
5589         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
5590
5591         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
5592         was spelled incorrectly
5593         (GTK_IS_TREE_MODEL_SIMPLE): ditto
5594
5595         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
5596         from gtk_tree_view_set_headers_active   
5597
5598         * gtk/gtktexttag.c:
5599         (gtk_text_tag_get_property): handle PROP_DIRECTION
5600         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
5601         properties, bug 40235
5602
5603         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
5604         forward_to_line_end
5605
5606 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
5607
5608         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
5609         modules/input/gtkimcontextxim.c: Adapt to new prototypes
5610         for unicode,locale,filename conversion functions.
5611
5612 2001-01-05  Havoc Pennington  <hp@redhat.com>
5613
5614         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
5615         broken if called on the first position in the buffer.
5616
5617         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
5618         forward_to_delimiters to be called only if we aren't already at
5619         the delimiters.
5620
5621 2001-01-05  Havoc Pennington  <hp@redhat.com>
5622
5623         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
5624
5625 2001-01-05  Alexander Larsson  <alexl@redhat.com>
5626
5627         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
5628         colormap in here. Sync from X port.
5629         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
5630         Sync from X port.
5631         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
5632         This happens now and then, and i don't think it is a bug.
5633         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
5634         != endpoint.
5635         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
5636         GDK_LINE_SOLID.
5637
5638         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
5639         some of the fields filled in at least.
5640
5641         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
5642         miLineArcD is no more, remove it from the function definition.
5643
5644 2001-01-04  Havoc Pennington  <hp@redhat.com>
5645
5646         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
5647         this
5648
5649         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
5650         user_data instead of tree_node
5651
5652         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
5653         TREE_VIEW_COLUMN_SIZE
5654
5655         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
5656         "size" field to "width" finishes bug 40061
5657
5658         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
5659         for bitfields, bug 40268
5660
5661 2001-01-04  Havoc Pennington  <hp@redhat.com>
5662
5663         Rename some stuff:
5664         
5665         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
5666
5667         s/GtkModelSimple/GtkTreeModelSimple/g;
5668         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
5669         s/gtk_model_simple/gtk_tree_model_simple/g;
5670         s/gtkmodelsimple/gtktreemodelsimple/g;
5671
5672         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
5673
5674         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
5675         s/column_set_col_type/column_set_sizing/g;
5676
5677         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
5678         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
5679
5680         s/GtkCellRendererType/GtkCellRendererState/g;
5681         
5682         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
5683         (gtk_cell_renderer_toggle_class_init): change "state" property to
5684         "active", to match GtkToggleButton
5685         (gtk_cell_renderer_toggle_get_active): new function, bug
5686         40269
5687         (gtk_cell_renderer_toggle_set_active): new function
5688         (gtk_cell_renderer_toggle_set_property): route changes to toggle
5689         state through gtk_cell_renderer_set_active
5690
5691 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
5692
5693         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
5694         temporarily until they work again.  Brought up to date with
5695         changes in the model.
5696         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
5697         model.
5698
5699 2001-01-04  Havoc Pennington  <hp@redhat.com>
5700
5701         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
5702         equal to the line length, then position iterator before paragraph 
5703         separators. Fixes crash reported by Mikael Hermansson when
5704         pressing left arrow from the start of a line.   
5705
5706         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
5707         about byte indexes off the end
5708         (iter_set_from_char_offset): add g_error about char offsets
5709         off the end
5710
5711 2001-01-03  Havoc Pennington  <hp@redhat.com>
5712
5713         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
5714
5715         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
5716         of private functions; remove inclusion of private headers.
5717
5718         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
5719         function, so we don't need private functions in gtktextdisplay.c
5720
5721         * gtk/gtktextiterprivate.h: underscore-ification
5722
5723         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
5724         to instead say "only useful to implement widgets"
5725
5726         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
5727         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
5728         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
5729
5730         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
5731         This function was completely broken
5732
5733         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
5734
5735         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
5736
5737         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
5738
5739         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
5740
5741         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
5742
5743         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
5744
5745         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
5746         gtk_paint_layout
5747
5748         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
5749         gtk_paint_layout
5750
5751         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
5752         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
5753         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
5754         which were not implemented.     
5755
5756         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
5757         insert_pixbuf signal. Rename delete_text to delete_range since it
5758         also deletes pixbufs and child anchors. This almost closes bug
5759         40245 (still need to deal with child anchors)
5760
5761         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
5762         insert_pixbuf, change signal names as appropriate, change types of
5763         signals taking marks/tags to have the specific type, not just
5764         G_TYPE_OBJECT
5765         
5766         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
5767         closes bug 40051
5768
5769         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
5770         unnecessary remove_contents() call
5771         (gtk_option_menu_class_init): add a "changed" signal, closes
5772         bug 40039
5773         (gtk_option_menu_update_contents): emit "changed" if the 
5774         active menu item changes
5775
5776         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
5777         cast to GtkObject, reported by Jonas Borgstrom
5778         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
5779         we can't do stuff with side effects in finalize. Instead, spew a
5780         warning if the loader isn't closed.
5781
5782         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
5783         colormap in here, non-X ports probably need to sync to this change
5784
5785         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
5786         assertion that colormap != NULL, you can set the colormap to NULL
5787         if you like.
5788         
5789         * Makefile.am: remove gtk-config-2.0
5790
5791         * configure.in: Use pkg-config to locate GLib. Remove
5792         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
5793         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
5794         Use pkg-config to locate Pango. Output correct Pango libs to
5795         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
5796
5797         * Makefile.am (pkgconfig_DATA): install only target-specific pc
5798         files
5799         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
5800         X11 pc files
5801
5802         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
5803         unref from here
5804
5805 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
5806
5807         * configure.in:
5808         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
5809
5810 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
5811
5812         * gtk/gtktextlayout.c
5813         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
5814         variable when moving back onto a single line.
5815
5816 2001-01-01  Havoc Pennington  <hp@redhat.com>
5817
5818         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
5819
5820         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
5821
5822         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
5823         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
5824
5825 2001-01-01  Havoc Pennington  <hp@redhat.com>
5826
5827         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
5828
5829         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
5830         GtkTextAttributes
5831
5832         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
5833         #40246
5834         (gtk_text_attributes_copy_values): rename from 
5835         gtk_text_attributes_copy
5836         (gtk_text_attributes_copy): a more standard GTK copy function, 
5837         which returns a new object
5838
5839 2001-01-01  Havoc Pennington  <hp@redhat.com>
5840
5841         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
5842         
5843         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
5844         don't fill in tree_view->priv->selection, kind of an unexpected
5845         side effect
5846
5847         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
5848         gtkintl.h
5849         
5850         * gtk/gtkcellrenderer.c: Remove definition of _ and include
5851         gtkintl.h
5852         (gtk_cell_renderer_get_property): remove calls to g_value_init
5853
5854         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
5855         gtkintl.h
5856
5857         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
5858         and include gtkintl.h
5859         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
5860         property names
5861
5862         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
5863         GtkTreeSelection
5864         (_gtk_tree_selection_new_from_with_view): rename, return
5865         GtkTreeSelection
5866         (_gtk_tree_selection_set_tree_view): rename with uscore
5867         (gtk_tree_selection_get_selected): fill in the "model" out param
5868         first, so it gets filled in even if we return at the top of the 
5869         function
5870         (gtk_tree_selection_real_select_all): add a comment and an else{}
5871         to clarify this a bit
5872         (gtk_tree_selection_real_unselect_all): add the same else{}
5873
5874         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
5875         set_tree_view to have underscore prefixes, move them to the
5876         private header, fix return type of new_with_tree_view
5877         (struct _GtkTreeSelection): mark struct
5878         fields private  
5879
5880         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
5881         GtkTreeModelFlags, not a guint
5882         (gtk_tree_path_prev): return gboolean not gint
5883         (gtk_tree_path_up): return gboolean not gint
5884
5885         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
5886         return GtkTreeModelFlags, not a guint
5887
5888         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
5889         that child model is non-null before unrefing it
5890         (g_value_int_compare_func): make this a qsort compare func, not 
5891         a boolean predicate
5892
5893         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
5894         (add -umn to the end), and mark it unimplemented
5895         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
5896         I don't see what it's for - doesn't the model always sort itself?
5897         (gtk_tree_model_sort_set_compare): this had the wrong signature
5898
5899         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
5900         Fix the docs to say that it destructively replaces existing
5901         attributes (previously said that it added attributes).
5902         (gtk_tree_view_column_set_visible): canonicalize bool before
5903         equality testing. Also, check for realization before
5904         hiding/showing the tree_column->window; if this window could exist
5905         before realization, then it's busted and needs fixing, we can't 
5906         create GDK resources pre-realization. Also, remove
5907         superfluous queue_resize(), since set_size() does that for us.
5908         (gtk_tree_view_column_set_col_type): check realization before 
5909         using tree_column->window
5910
5911         * gtk/gtktreedatalist.c: fix filename in copyright notice
5912
5913 2000-12-31  Havoc Pennington  <hp@pobox.com>
5914
5915         * gtk/gtktextview.c: Rearrange all the
5916         scroll-while-dragging-or-selecting code to be different, not
5917         necessarily better. ;-)
5918         (gtk_text_view_scroll_to_mark): Change this
5919         function to take within_margin as a fraction instead of a pixel
5920         value, and to take alignment arguments (indicating where to align 
5921         the mark inside the visible area)
5922         
5923         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
5924         to GtkObject
5925
5926         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
5927         behavior so that offsets past the end of the line are not 
5928         allowed, and an offset equal to the line length moves the iterator
5929         to the next line
5930         (gtk_text_iter_set_line_index): make parallel change
5931         (gtk_text_iter_get_bytes_in_line): add this function
5932         
5933         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
5934         of byte indexes off the end of the line; byte index at the end of
5935         the line now returns FALSE and doesn't fill in the requested
5936         values, byte index past the end of the line is an error.  Also,
5937         don't allow -1 offset anymore, since its meaning is unclear.
5938
5939         This change exposes some bug in visual cursor motion, where we
5940         end up with a huge invalid byte index; needs fixing. Symptom of 
5941         bug is a crash when you hit up arrow.
5942         
5943         (_gtk_text_line_char_locate): match the change to byte_locate
5944
5945         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
5946         from start of line properly. fixes bug reported by Mikael
5947         Hermansson where backspace would delete all text before the
5948         cursor.
5949
5950 2000-12-30  Tor Lillqvist  <tml@iki.fi>
5951
5952         * gdk/win32/gdkwindow-win32.c
5953         (gdk_window_impl_win32_get_visible_region): New function, as in
5954         the X11 backend.
5955         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
5956         instead of duplicating the same code here.
5957
5958         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
5959         GDK_COLORMAP macro.
5960
5961         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
5962         destroy function.
5963         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
5964         access that.
5965
5966         * gtk/gtk.def: Update.
5967
5968         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
5969
5970 2000-12-30  Havoc Pennington  <hp@pobox.com>
5971
5972         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
5973         colormap on input only windows, to avoid special cases all over
5974         the code for these windows.
5975
5976 2000-12-26  Tor Lillqvist  <tml@iki.fi>
5977
5978         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
5979         we are on a palettized display ("PseudoColor" in X11), as the code
5980         for that doesn't work anyway, and never has.
5981
5982 2000-12-22  Alexander Larsson  <alexl@redhat.com>
5983
5984         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
5985         Don't use isprint() for chars > 255.
5986
5987 2000-12-21  Havoc Pennington  <hp@redhat.com>
5988
5989         * tests/testtreeview.c: more work
5990
5991 2000-12-21  Alexander Larsson  <alexl@redhat.com>
5992
5993         * docs/README.linux-fb:
5994         Update the docs to the new pangoft2 way.
5995
5996 2000-12-21  Alexander Larsson  <alexl@redhat.com>
5997
5998         * configure.in:
5999         For linux-fb get the pangoft2 cflags and libs. This needs a recent
6000         pango version.
6001         Remove modules/linux-fb/Makefile.
6002
6003         * gdk/linux-fb/gdkdrawable-fb2.c:
6004         Render glyphs using freetype.
6005
6006         * gdk/linux-fb/gdkfb.h:
6007         Add new fb-specific functions needed for managing windows.
6008
6009         * gdk/linux-fb/gdkmain-fb.c:
6010         Remove gdk_font_init/fini() calls.
6011
6012         * gdk/linux-fb/gdkpango-fb.c:
6013         Remove old implementation. Use pangoft2 instead.
6014
6015         * gdk/linux-fb/gdkprivate-fb.h:
6016         Remove PangoFBFont and related stuff.
6017
6018         * gdk/linux-fb/gdkwindow-fb.c:
6019         Implement drawable->get_visible_region.
6020         Implement support for _gdk_window_set_child_handler () and
6021         _gdk_window_get_decorations().
6022
6023         * modules/Makefile.am:
6024         Remove linux-fb subdir.
6025
6026         * modules/linux-fb/*:
6027         Removed all.
6028         
6029 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
6030
6031         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
6032         calls, as they are no longer needed.
6033
6034         * gtk/gtktreemodelsort.c: Fix up the comparison code.
6035         
6036         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
6037         figure out how to emit a signal on an interface.
6038
6039 2000-12-20  Havoc Pennington  <hp@redhat.com>
6040
6041         * tests: new directory to contain tests, gtk/test* should move
6042         here sometime (with appropriate on-cvs-server hackery)
6043
6044         * tests/testtreeview.c, tests/Makefile.am: a test
6045         
6046         * configure.in (AC_OUTPUT): add tests/Makefile
6047
6048         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
6049         and "invisible_set" which were missing
6050
6051         * gtk/gtkrbtree.h: some cheesy indentation fix
6052         
6053 2000-12-20  Alexander Larsson  <alexl@redhat.com>
6054
6055         * gtk/gtkinvisible.c (gtk_invisible_realize):
6056         Attach the style to the window so that the style it is not
6057         leaked when unrealizing the window.
6058
6059 2000-12-18  Havoc Pennington  <hp@redhat.com>
6060
6061         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
6062         begin/end user action where appropriate
6063         (gtk_text_view_commit_handler): add begin/end user action
6064
6065         * gtk/gtktextbuffer.c: add begin/end user action signals, and
6066         bracket interactive operations with begin/end user action pair.
6067         
6068         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
6069         "interactive" arg from insert_text and delete_text signals.
6070         Add begin_user_action, end_user_action signals
6071         (gtk_text_buffer_begin_user_action): 
6072         (gtk_text_buffer_end_user_action): New functions to delimit 
6073         a user-visible action
6074
6075         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
6076         signals.
6077         
6078 2000-12-18  Havoc Pennington  <hp@redhat.com>
6079
6080         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
6081         was pretty non-working.
6082
6083         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
6084         by passing the length to g_utf8_validate().
6085
6086 2000-12-16  Havoc Pennington  <hp@pobox.com>
6087
6088         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
6089         Port to GObject, can go back in gdk-pixbuf after setting up 
6090         a gdk-pixbuf-marshal.h header over there.
6091
6092         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
6093         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
6094         args
6095         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
6096         set
6097         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
6098         here, do it when we create the buttons later
6099         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
6100         (gtk_tree_view_map): paranoia checks that column->button is shown 
6101         and unmapped
6102         (gtk_tree_view_size_request): only request visible children.
6103         Move header size calculation in here, for cleanliness, and 
6104         to maintain invariants for child widgets if we eventually 
6105         let users set different children inside the buttons
6106         (gtk_tree_view_map_buttons): factor out code to map buttons,
6107         since it was being called several times
6108         (gtk_tree_view_size_allocate_buttons): move_resize the drag
6109         windows instead of just moving them; their height may change 
6110         if we allow random widgets in there, or the theme changes.
6111         (gtk_tree_view_size_allocate): move button size allocation 
6112         above emitting the scroll signals, to ensure a sane state when we
6113         hit user code
6114         (gtk_tree_view_button_release): remove queue_resize after
6115         tree_view_set_size(), set_size() will handle any resize queuing
6116         that's needed
6117         (gtk_tree_view_focus_in): just queue a draw, don't fool with
6118         draw_focus goo
6119         (gtk_tree_view_focus): use gtk_get_current_event() and
6120         gdk_event_get_state()
6121         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
6122         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
6123         semicolon
6124         (gtk_tree_view_create_button): show the button here
6125         (gtk_tree_view_button_clicked): actually emit the clicked signal
6126         on the column
6127         (_gtk_tree_view_set_size): return right away if the size is
6128         unchanged, as a cheesy optimization
6129         (gtk_tree_view_setup_model): rename set_model_realized to 
6130         setup_model to match the flag that indicates whether we've 
6131         called it
6132         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
6133         exist, because set_scroll_adjustment does that and it shouldn't
6134         matter what order you call these in
6135         (gtk_tree_view_get_vadjustment): ditto
6136         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
6137         for paranoia
6138         (gtk_tree_view_set_headers_visible): call
6139         gtk_tree_view_map_buttons() instead of using cut-and-paste code
6140         (gtk_tree_view_append_column): clarify whether the return value
6141         is the count of columns before or after, and do the increment 
6142         separately from the return statement so you can tell from the code.
6143         (gtk_tree_view_remove_column): ditto
6144         (gtk_tree_view_insert_column): ditto
6145         (gtk_tree_view_get_column): remove g_return_if_fail for columns
6146         outside the existing range, the docs say that outside-range
6147         columns are allowed, so we handle them as documented. (Presumably
6148         this allows a nice loop with column != NULL as test.)
6149         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
6150         mean (left/right/center etc.).
6151         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
6152         (gtk_tree_view_expand_row): add docs
6153         (gtk_tree_view_collapse_row): add docs
6154
6155         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
6156         function to emit the clicked signal on a column
6157         
6158         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
6159         state of an event
6160         (gdk_event_get_time): don't treat GDK_SCROLL 
6161         as a button event, remove default case from switch so gcc 
6162         will whine if we don't explicitly handle all event types
6163
6164         * gtk/gtktreeselection.h: added some FIXME 
6165         
6166         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
6167         "columns" to "n_columns" and "column" to "columns" for clarity
6168
6169 2000-12-16  Havoc Pennington  <hp@pobox.com>
6170         
6171         * gtk/gtktextiter.c: General cleanup of the log attr iteration
6172         stuff. This should make e.g. the delete key work again in the
6173         text widget...
6174         (gtk_text_iter_forward_cursor_positions): handle negative count
6175         (gtk_text_iter_backward_cursor_positions): handle negative count
6176         (gtk_text_iter_forward_word_ends): handle negative count
6177         (gtk_text_iter_backward_word_starts): handle negative count
6178
6179         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
6180         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
6181         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
6182         GObject. No doubt will cause breakage.
6183
6184         * demos/gtk-demo/textview.c: remove hacks around
6185         non-GObject-ification of the text objects
6186
6187         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
6188         the text tag
6189         
6190 2000-12-14  Havoc Pennington  <hp@pobox.com>
6191
6192         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
6193         that we have Xrender
6194
6195 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
6196
6197         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
6198         Add two virtualized functions gdk_drawable_get_clip_region - to
6199         get the clip region when drawing.
6200         
6201         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
6202         use invalidate_region.
6203
6204         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
6205         region.
6206
6207         * acconfig.h configure.in: Check for Xft. For now, assume
6208         that if Xft is found, Pango was compiled with Xft support
6209         as well.
6210
6211         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
6212         gdk_colormap_query_color().
6213         
6214         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
6215         with Xft if appropriate.
6216
6217         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
6218         a pangoxft context if we have XFT and the environment
6219         variable GD_USE_XFT is set.
6220         
6221         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
6222         and also possibly an XftDraw structure.
6223
6224         * gtk/gtkfontsel.c: Handle the case where the font from the
6225         style doesn't match any of the fonts a bit better.
6226         
6227         * gtk/testgtk.c: Add tabs between directional segments for
6228         hebrew/arabic test. (Not really necessary, just a little
6229         prettier.)
6230
6231 2000-12-14  Havoc Pennington  <hp@redhat.com>
6232
6233         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
6234         reading a file
6235
6236 2000-12-14  Havoc Pennington  <hp@redhat.com>
6237
6238         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
6239         unused call to get_last_line()
6240
6241         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
6242         here until boxed is working (and maybe after that - we should
6243         really not gratuitously break old code)
6244
6245         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
6246         specific types for font_desc and tabs args, move them to
6247         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
6248         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
6249
6250         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
6251         use GTK_TYPE_POINTER for signal signatures as a hack-around
6252
6253         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
6254         PangoTabArray
6255
6256         * gtk/gtktextlayout.c (line_display_iter_to_index): 
6257         make static
6258         (line_display_index_to_iter): make static
6259
6260         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
6261         to marshal a string not a boxed
6262
6263         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
6264
6265         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
6266         since the UTF-8 isn't validated yet
6267
6268         * gtk/gtktextsegment.c (char_segment_check_func): don't require
6269         lines to end in '\n'
6270         
6271         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
6272         forward_to_delimiters, and grapheme boundaries
6273         (gtk_text_view_delete_from_cursor): properly handle non-newline
6274         delimiters, and grapheme boundaries
6275
6276         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
6277         to gtk_text_iter_forward_to_delimiters, and make it work properly
6278         if empty lines end with a character other than '\n'
6279
6280         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
6281         position
6282
6283 2000-12-15  Tor Lillqvist  <tml@iki.fi>
6284
6285         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
6286
6287         * gtk/gtk.def
6288         * gdk/gdk.def: Update.
6289
6290         * gdk/win32/gdkmain-win32.c
6291         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
6292         gdkmain-win32.c here.
6293
6294         * gdk/win32/makefile.mingw.in (all): No need to make
6295         gdk-win32res.o here, the makefile one step up will call us to make
6296         it.
6297
6298         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
6299         gdkkeys-win32.
6300
6301         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
6302
6303         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
6304         call to g_source_add().
6305
6306         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
6307         leak. Thanks to Andreas Kemnade.
6308
6309 2000-12-13  Havoc Pennington  <hp@pobox.com>
6310
6311         * gtk/gtktextbtree.h: Remove double _ in front of some functions
6312
6313         * gtk/gtktext*.[hc]: update accordingly
6314         
6315 2000-12-13  Havoc Pennington  <hp@pobox.com>
6316
6317         * gtk/gtktextbtree.h: Put _ in front of every function in this 
6318         header file
6319
6320         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
6321
6322 2000-12-13  Alex Larsson  <alexl@redhat.com>
6323
6324         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
6325         Add support for ps2 intellimouse.
6326
6327         * gdkkeyboard-fb.c:
6328         Move shift-F1 repaint handling to xlate handler only.
6329         
6330         * docs/README.linux-fb:
6331         Add imps2 to docs.
6332         Document the new refresh keys.
6333         
6334 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
6335
6336         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
6337
6338         * gtk/gtkbox.c: change property types from (u)long to (u)int for
6339         ::position and ::padding.
6340
6341         * gtk/gtkcontainer.c: make ::border_width an INT property.
6342
6343         * gtk/gtkpacker.c: make ::position an INT property.
6344
6345         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
6346         guard against NULL h/v scrollbars, since this is used at construction
6347         time.
6348
6349         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
6350         internal gtk_clist_constructor().
6351
6352         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
6353         gtk_ctree_constructor().
6354
6355         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
6356         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
6357
6358         * docs/reference/Makefile.am: fun stuff, disabled docs generation
6359         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
6360
6361         * gtk/gtkwidget.[hc]:
6362         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
6363         and gtk_widget_get().
6364         (gtk_widget_new): use g_object_new_valist().
6365         (gtk_widget_set): use g_object_set_valist().
6366
6367         * gtk/gtkobject.[hc]:
6368         removed gtk_object_arg_get_info(), gtk_object_getv(),
6369         gtk_object_query_args(), gtk_object_newv(),
6370         gtk_object_class_add_signals(),
6371         gtk_object_class_user_signal_new(),
6372         gtk_object_class_user_signal_newv(),
6373         gtk_object_arg_set(), gtk_object_arg_get(),
6374         gtk_object_args_collect(),
6375         gtk_object_default_construct(),
6376         gtk_object_constructed(),
6377         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
6378         removed nsignals, signals and n_args members from GtkObjectClass.
6379         (gtk_object_new): use g_object_new_valist().
6380         (gtk_object_set): use g_object_set_valist().
6381         (gtk_object_get): use g_object_get_valist().
6382         
6383         * gtk/gtkcompat.h: define gtk_object_default_construct().
6384         
6385         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
6386         g_object_new().
6387
6388         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
6389         fucntions, cleaned up method assignments (make sure your structures
6390         are setup properly before calling out). removed all GTK_CONSTRUCTED
6391         hacks ;)
6392
6393 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
6394
6395         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
6396         off-by-one error in checks. (Dave Lambert)
6397
6398 2000-12-12  Alexander Larsson  <alexl@redhat.com>
6399
6400         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
6401         Don't free gdk_fb_keyboard twice.
6402
6403 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
6404
6405         * gtk/testgtk.c:
6406         (create_tooltips): 
6407         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
6408         use GObject swapped_signal:: properties instead.
6409
6410         * gtk/gtkcellrenderertoggle.c: 
6411         * gtk/gtkcellrenderertextpixbuf.c: 
6412         * gtk/gtkcellrenderertext.c: 
6413         * gtk/gtkcellrendererpixbuf.c: 
6414         * gtk/gtkcellrenderer.c:
6415         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
6416         missing warnings for invalid property ids, install properties
6417         with g_object_class_install_property() now.
6418         
6419         * gtk/gtksignal.c:
6420         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
6421         
6422 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
6423         
6424         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
6425         to determine if a window is the focus widget within
6426         its toplevel.
6427
6428         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
6429         to be boolean.
6430
6431         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
6432         of the case where the container CAN_FOCUS to here instead
6433         of having it in each individual move-the-focus place.
6434
6435         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
6436         focusing to be geometric in a much more obvious sense. Arrowing
6437         around is still non-intuitive because it isn't perfect and
6438         because entries, etc, grab the arrow keys, but it at least
6439         usually will do what you expect now.
6440         
6441         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
6442         file.
6443
6444         * gtk/gtknotebook.c: Change tabs to be a single item in
6445         the focus chain. Make movement of focus on tabs with arrow
6446         keys wrap around.
6447         
6448         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
6449         CHECK_FIND_CHILD macro to give informative error messages
6450         instead of silent returns.
6451
6452         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
6453         flag since we handle GdkReturn on the tabs.
6454
6455         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
6456         windows rather than sending expose events directly.
6457
6458         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
6459         definition for GtkNotebookPage into .c file, since it is private.
6460
6461         * gtk/testgtk.c (create_notebook): Add option for 
6462         testing borderless notebook.
6463
6464         * gtk/testgtk.c (page_switch): Removed egregious poking
6465         around in GTK+ internals.
6466
6467         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
6468
6469         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
6470         properly through gtk_clist_focus. Make the title headers a
6471         single item in the tab-focus chain, and make left-right wrap
6472         around.
6473
6474         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
6475         focus method so that wrapping around works properly.
6476
6477         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
6478         that is handled for the widget now. 
6479
6480 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
6481
6482         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
6483         widgets as TOPLEVEL.
6484
6485         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
6486         TOPLEVEL widgets are containers.
6487
6488         * gtk/gtkinvisible.h: Remove useless include.
6489
6490 2000-12-11  Havoc Pennington  <hp@redhat.com>
6491
6492         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
6493         Handle chopping off \r\n and 0x2029 in addition to \n before
6494         passing to PangoLayout
6495
6496         * gtk/gtkimcontextsimple.c
6497         (gtk_im_context_simple_get_preedit_string): 
6498         return an empty string if no match is pending
6499
6500         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
6501         assertion that the returned preedit string was sane
6502
6503         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
6504         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
6505         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
6506
6507 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
6508
6509         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
6510         Fix up finalizer to chain to its parent.
6511
6512 2000-12-11  Alexander Larsson  <alexl@redhat.com>
6513
6514         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
6515         Clearified the difference between the keyboard types. Wrote a note
6516         about the magic sysrq key to get out of raw mode.
6517
6518 2000-12-09  James Henstridge  <james@daa.com.au>
6519
6520         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
6521         member to hold masks for detecting the start of a protocol packet.
6522         (mouse_devs): add packet start masks for ps2 and ms device types.
6523         Left the mask for fidmour blank, as I have no idea what it should
6524         be.
6525         (handle_mouse_io): skip bytes until we get to the start of a
6526         packet.  My Logitech mouse seems to be passing an extra NULL pad
6527         byte, and GPM does a similar thing here.
6528         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
6529         this is the ms mouse driver.
6530         (gdk_fb_mouse_ms_packet): fix up button handling, which was
6531         completely broken except for button1.  It was checking the wrong
6532         bit in the packet for the status of the right mouse button, and
6533         wrongly assuming right == button2 rather than 3.  I fixed that and
6534         also added support for middle button (button2).
6535
6536 2000-12-08  Havoc Pennington  <hp@redhat.com>
6537
6538         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
6539         that cause a segfault on text insertion
6540
6541         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
6542         warning
6543
6544         * gtk/gtktextiter.c (test_log_attrs): use
6545         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
6546
6547         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
6548         Get log attrs for a line, using a cache stored on the buffer
6549         
6550         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
6551         reported by Jeff Franks
6552
6553 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
6554
6555         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
6556         /dev/ttyS0 -> /dev/mouse
6557
6558 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
6559
6560         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
6561         Added dummy gdk_fontset_load.
6562
6563 2000-12-08  Alexander Larsson  <alexl@redhat.com>
6564
6565         * docs/README.linux-fb:
6566         * docs/Makefile.am:
6567         Initial GtkFB docs.
6568         
6569         * gdk/linux-fb/Makefile.am:
6570         Define GDK_DATA_PREFIX.
6571
6572         * gdk/linux-fb/gdkmain-fb.c:
6573         Fix typo.
6574         Change default display to /dev/fb0.
6575
6576         * gdk/linux-fb/gdkpango-fb.c:
6577         Add $(prefix)/share/fonts/ to font path.
6578         
6579 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
6580
6581         * gdk/linux-fb/gdkkeyboard-fb.c:
6582         New file containing the abstracted keyboard driver. Most code
6583         taken from gdkinput-ps2.c
6584
6585         * gdk/linux-fb/gdkinput-ps2.c:
6586         Removed file.
6587         
6588         * gdk/linux-fb/Makefile.am:
6589         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
6590
6591         * gdk/linux-fb/gdkcolor-fb.c:
6592         display->fb was renamed to display->fb_fd.
6593
6594         * gdk/linux-fb/gdkcursor-fb.c:
6595         gdk_mouse_get_info -> gdk_fb_mouse_get_info
6596
6597         * gdk/linux-fb/gdkinput.c:
6598         Moved gdk_input_init here from gdkinput-ps2.c
6599
6600         * gdk/linux-fb/gdkmain-fb.c:
6601         display->fb was renamed to display->fb_fd.
6602         Now the tty and the console is opened here instead
6603         of in the keyboard driver. Also check GDK_VT to see what
6604         tty to open.
6605         Move gdk_beep () here from gdkinput-ps2.c
6606         gdk_mouse_get_info -> gdk_fb_mouse_get_info
6607
6608         * gdk/linux-fb/gdkmouse-fb.c:
6609         Add header.
6610         gdk_mouse_get_info -> gdk_fb_mouse_get_info
6611         Return correct keyboard modifiers.
6612         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
6613
6614         * gdk/linux-fb/gdkprivate-fb.h:
6615         Add tty and vt info to display.
6616         Add orignal modeinfo storage to display
6617         Update global functions
6618
6619         * gdk/linux-fb/gdkwindow-fb.c:
6620         Added gdk_fb_window_find_focus().
6621         gdk_mouse_get_info -> gdk_fb_mouse_get_info
6622
6623 2000-12-07  Havoc Pennington  <hp@pobox.com>
6624
6625         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
6626         function, noticed by Alex
6627
6628 2000-12-06  Elliot Lee  <sopwith@redhat.com>
6629
6630         * configure.in: Detect freetype properly
6631
6632         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
6633         above.
6634
6635 2000-12-06  Alexander Larsson  <alexl@redhat.com>
6636
6637         * gdk/linux-fb/Makefile.am:
6638         Add gdkmouse-fb.c
6639         
6640         * gdk/linux-fb/gdkmouse-fb.c:
6641         New file. Abstracted the mouse drivers a bit.
6642
6643         * gdk/linux-fb/gdkcursor-fb.c:
6644         The cursor hide/show functions was moved here from gdkinput-ps2.c.
6645
6646         * gdk/linux-fb/gdkinput-ps2.c:
6647         Removed old mouse handling code. Moved cursor handling code
6648         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
6649         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
6650         gdk_mouse_get_info.
6651
6652         * gdk/linux-fb/gdkmain-fb.c:
6653         Pass NULL pointers for x,y in gdk_mouse_get_info call.
6654
6655         * gdk/linux-fb/gdkprivate-fb.h:
6656         Removed public gdk_fb_find_common_ancestor, added and renamed
6657         functions for the new mouse handling code.
6658
6659         * gdk/linux-fb/gdkwindow-fb.c:
6660         Moved gdk_fb_window_send_crossing_events here. added global
6661         variable gdk_fb_window_containing_pointer. made
6662         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
6663         renamed to gdk_mouse_get_info.
6664
6665 2000-12-06  Alexander Larsson  <alexl@redhat.com>
6666
6667         * gdk/linux-fb/gdkevents-fb.c:
6668         Update to match latest gmain/gsource changes.
6669
6670         * gdk/linux-fb/gdkinput-ps2.c:
6671         Bogus gdk_keymap_get_entries_for_keycode implementation so that
6672         it links. Will be implemented later.
6673
6674 2000-12-03  Havoc Pennington  <hp@pobox.com>
6675
6676         * gdk/Makefile.am: add gdkkeys.[hc]
6677
6678         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
6679         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
6680
6681         * acconfig.h, configure.in: add checks and command line options
6682         for XKB
6683
6684         * gdk/x11/gdkkeys-x11.c: Implement the above functions
6685         
6686         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
6687         and group in the key event
6688
6689         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
6690         field with the low-level hardware key code, and a group
6691         field with the keyboard group
6692
6693         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
6694         and declare a couple globals used for keymap handling
6695         
6696         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
6697         hold down Shift-Control and type a hex number to get a Unicode 
6698         character corresponding to the hex number
6699         (gtk_im_context_simple_get_preedit_string): Fix cursor position
6700         (return bytes not chars)
6701
6702 2000-12-05  Elliot Lee  <sopwith@redhat.com>
6703
6704         * gdk/gdkcolor.h: Make GdkColor specify element sizes
6705         to avoid waste on 64-bit platforms.
6706
6707 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
6708
6709         * INSTALL: Fix link to PNG home, remove reference
6710         to fribidi.
6711
6712         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
6713         
6714         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
6715         tested.)
6716
6717         * gtk/gtkcheckmenuitem.c: Permanently turn on
6718         always_show_toggle.
6719
6720         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
6721         be NULL. (Vladimir Klebanov, #26545)
6722
6723         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
6724         some signed/unsigned comparison problems. (#6510,
6725         David Kaelbling)
6726
6727         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
6728         return type to boolean (Oskar Liljeblad, #18648)
6729
6730 2000-12-05  Alexander Larsson  <alexl@redhat.com>
6731
6732         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
6733         Remove bogus colormap setting.
6734
6735 2000-12-05  Alexander Larsson  <alexl@redhat.com>
6736
6737         * gdk/linux-fb/gdkcolor-fb.c:
6738         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
6739
6740         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
6741         Must set colormap.
6742         
6743 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
6744
6745         * docs/tutorial/gtk-tut.sgml: DND updates
6746
6747 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
6748
6749         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
6750         Remove old debug g_warning().
6751         (gdk_fb_draw_drawable): The src argument can be either a wrapper
6752         or an implementation, just pass the implementation to draw_drawable_2.
6753         
6754         * gdk/linux-fb/gdkprivate-fb.h:
6755         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
6756
6757         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
6758         clear and invalidate area when window is destroyed.
6759         (send_map_events): Remove old commented out code.
6760
6761 2000-12-05  Alexander Larsson  <alexl@redhat.com>
6762
6763         * gdk/linux-fb/gdkpango-fb.c:
6764         Use italic instead of oblique in font aliases.
6765         
6766         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
6767         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
6768         other unsupported functions.
6769
6770 2000-12-04  Havoc Pennington  <hp@redhat.com>
6771
6772         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
6773
6774         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
6775
6776         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
6777
6778         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
6779         hack to avoid infinite loops (synthetic expose event) - 
6780         Owen has more appropriate fixes in a branch he'll check in later.
6781
6782         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
6783         separator, CR, and CRLF as line ends
6784
6785         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
6786         into lines using pango_find_paragraph_boundary(); other bits of
6787         the widget are still going to be broken if the boundary isn't '\n'
6788         though
6789
6790 2000-12-04  Alexander Larsson  <alexl@redhat.com>
6791
6792         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
6793         multiply.
6794
6795         * gdk/linux-fb/gdkpango-fb.c:
6796         Copied some 26.6 scaling macros from pango to clean up the rounding.
6797         (pango_fb_font_get_glyph_info): Correct sign on x value.
6798
6799         * gdk/linux-fb/gdkprivate-fb.h:
6800         Removed unreferenced external functions.
6801
6802         * modules/linux-fb/Makefile.am: Use ` instead of '.
6803
6804         * modules/linux-fb/basic.c:
6805         Remove dead code. In particular the dummy lang engine which broke all
6806         pango layouts in GtkFB. Don't include tables-big.i anymore.
6807
6808         * modules/linux-fb/tables-big.i:
6809         Upgrade to latest version from pango. Left for reference, basic_ranges
6810         moved to basic.c.
6811         
6812 2000-12-04  Havoc Pennington  <hp@redhat.com>
6813
6814         Fix bugs Alex found:
6815         
6816         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
6817         to "draw"
6818
6819         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
6820
6821         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
6822
6823         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
6824         implementation in here, apparently the expose() implementation was
6825         dead code.
6826
6827 2000-12-04  Alexander Larsson  <alexl@redhat.com>
6828
6829         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
6830         Return positive descent.
6831
6832 2000-12-02  Havoc Pennington  <hp@pobox.com>
6833
6834         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
6835         method and signal
6836         
6837         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
6838         calls gdk_window_process_updates() to push the exposes through
6839         (gtk_widget_class_init): No more draw signal, no
6840         gtk_widget_real_draw()  
6841         
6842         * gtk/gtkbin.c (gtk_bin_draw): remove
6843
6844         * gtk/gtkbox.c (gtk_box_draw): remove
6845
6846         * gtk/gtkbutton.c (gtk_button_draw): remove
6847
6848         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
6849
6850         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
6851
6852         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
6853
6854         * gtk/gtkclist.c (gtk_clist_draw): remove
6855
6856         * gtk/gtkentry.c (gtk_entry_draw): remove
6857
6858         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
6859
6860         * gtk/gtkfixed.c (gtk_fixed_draw): remove
6861
6862         * gtk/gtkframe.c (gtk_frame_draw): remove
6863
6864         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
6865
6866         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
6867
6868         * gtk/gtklayout.c (gtk_layout_draw): remove
6869
6870         * gtk/gtklist.c (gtk_list_draw): remove
6871
6872         * gtk/gtklistitem.c (gtk_list_item_draw): remove
6873
6874         * gtk/gtkmenu.c (gtk_menu_draw): remove
6875
6876         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
6877
6878         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
6879
6880         * gtk/gtknotebook.c (gtk_notebook_draw): remove
6881
6882         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
6883
6884         * gtk/gtkpacker.c (gtk_packer_draw): remove
6885
6886         * gtk/gtkrange.c (gtk_range_draw): remove
6887
6888         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
6889
6890         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
6891
6892         * gtk/gtktable.c (gtk_table_draw): remove
6893
6894         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
6895
6896         * gtk/gtktext.c (gtk_text_draw): remove
6897
6898         * gtk/gtktextview.c (gtk_text_view_draw): remove
6899
6900         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
6901
6902         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
6903
6904         * gtk/gtktree.c (gtk_tree_draw): remove
6905
6906         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
6907
6908         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
6909
6910         * gtk/gtkviewport.c (gtk_viewport_draw): remove
6911
6912         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
6913
6914         * gtk/gtkvscale.c (gtk_vscale_draw): remove
6915
6916         * gtk/gtkwindow.c (gtk_window_draw): remove
6917
6918 2000-20-01  Anders Carlsson  <andersca@gnu.org>
6919
6920         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
6921         a GtkToggleButton is both insensitive and active, it was being
6922         drawn by the GtkButton draw handler which doesn't check the
6923         state. Now it's calling gtk_toggle_button_paint instead.
6924         
6925 2000-12-01  Havoc Pennington  <hp@redhat.com>
6926
6927         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
6928         dangling pointers to the appearance attributes from the 
6929         line display
6930
6931         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
6932         width/height to mean "full width/height of drawable"
6933
6934         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
6935         click to select word/line
6936         
6937         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
6938         when getting log attrs. Get a slice, so that pixmaps and stuff
6939         are properly handled.
6940
6941         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
6942         paste into the selection (replaces selection now, previously
6943         crashed or added to selection). Reveals longstanding btree bug -
6944         select multiple lines, middle-click on the selection, boom. This
6945         isn't related to my changes though.
6946
6947         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
6948         PangoLogAttrs changes
6949         (gtk_entry_move_backward_word): ditto
6950
6951         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
6952         functions return bool whether the iter moved onto a
6953         dereferenceable position.
6954  
6955         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
6956         functions for motion in terms of display lines.
6957
6958         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
6959         get the buffer a mark is inside
6960         
6961 2000-12-01  Alexander Larsson  <alexl@redhat.com>
6962
6963         * gdk/linux-fb/Makefile.am:
6964         * modules/linux-fb/Makefile.am:
6965         Freetype 2 final uses freetype-config
6966
6967         * gdk/linux-fb/gdkpango-fb.c:
6968         Upgrade to use Freetype 2 final.
6969         More flexible support for font aliases, this also fixes a bug with
6970         GtkFontSelector, as the aliases must be visible in the font/family list,
6971         or GtkFontSelector reads uninitialized memory.
6972
6973 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
6974
6975         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
6976         XGetIMValues to properly terminate variable argument list, and do
6977         NULL return check for ic_values and xim_styles.
6978
6979         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
6980         Restore preedit state after XmbResetIC().
6981         
6982         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
6983         XvaCreateNestedList() should take XvaNestedList, but not
6984         XvaNestedList*.
6985
6986         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
6987         preedit_draw_callback, preedit_caret_callback): Match
6988         "preedit-changed" signal name to "preedit_changed" to be
6989         consistent to the spec.
6990
6991         * gtk/gtkimcontextsimple.c (check_table):
6992         Match "preedit-changed" to "preedit_changed" to be consistent
6993         to the spec.
6994
6995 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
6996
6997         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
6998         gc->clip_region == NULL>
6999
7000 2000-11-30  Tor Lillqvist  <tml@iki.fi>
7001
7002         Changes by Hans Breuer:
7003         
7004         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
7005         Dont't use negative width and height as max_hints. This fixes
7006         Owen's recent testgtk changes for win32.
7007
7008         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
7009         gdk_win32_hdc_release): These are exported and may be called with
7010         other drawable types than our GdkDrawableImplWin32 (?).
7011
7012         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
7013         so always #define USE_BACKING_STORE.
7014
7015         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
7016         of printf for debugging output.
7017
7018         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
7019         
7020         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
7021
7022         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
7023         declaration.
7024
7025         * gtk/gtktexttypes.h: Ditto.
7026
7027         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
7028         (GDK_VoidSymbol) also if in case of arg check failure.
7029
7030         * gtk/gtkimcontextsimple.c
7031         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
7032         position to the pointer, but to the variable it points to.
7033
7034         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
7035
7036         * gtk/gtk.def: Updates.
7037
7038 2000-11-29  Elliot Lee  <sopwith@redhat.com>
7039
7040         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
7041         GTK_TYPE_TREE_MODEL.
7042
7043 2000-11-29  Alexander Larsson  <alexl@redhat.com>
7044
7045         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
7046         Set the size of the font from the description.
7047         (gdk_text_width): Gross hack that calculates the width
7048         of text by text_length * size/2. This is necessary because
7049         GtkLabel does some ugly gtk_string_width call to calculate
7050         an good size.
7051         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
7052
7053 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
7054
7055         * docs/tutorial/gtk-tut.sgml: DND updates
7056
7057 2000-11-29  Alexander Larsson  <alexl@redhat.com>
7058
7059         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
7060         If you pass width or height == 0 to gdk_window_clear_area they
7061         should be calculated from the window size.
7062
7063 2000-11-29  Alexander Larsson  <alexl@redhat.com>
7064
7065         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
7066         a grab, but no grab-cursor, use the cursor from the grabbed
7067         window. (gdk_fb_window_send_crossing_events): Send normal
7068         enter/leave notifications if grab and owner_events == TRUE.
7069
7070 2000-11-29  Alexander Larsson  <alexl@redhat.com>
7071
7072         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
7073         Do implicit button grabs, even if the window doesn't
7074         want the event.
7075         (gdk_fb_window_send_crossing_events): If there is a
7076         grab, only the grabbed window gets normal enter/leave
7077         notifications. On ungrab go from grabbed window to current.
7078         Don't send any notification to b when propagating from c -> b.
7079         If setting a grab on window, don't set prev_window.
7080         (handle_mouse_input): Send enter/leave events to the window the
7081         mouse is over, not the grabbed one.
7082         
7083 2000-11-28  Elliot Lee  <sopwith@redhat.com>
7084
7085         * gdk/gdkregion-generic.c: Zap warning.
7086         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
7087         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
7088
7089 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
7090
7091         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
7092         The cursor should be hidden if it is part of either the
7093         source or destination region. Not only if it is in both.
7094         (gdk_window_set_transient_for): Silence warnings.
7095
7096 2000-11-28  Alexander Larsson  <alexl@redhat.com>
7097
7098         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
7099         The default mode in X is Pie Arcs, therefore that is
7100         what Gtk+ uses.
7101
7102 2000-11-28  Alexander Larsson  <alexl@redhat.com>
7103
7104         * gdk/linux-fb/gdkinput-ps2.c:
7105         Implement correct EnterNotify/LeaveNotify:
7106         (gdk_fb_window_send_crossing_events): New function that sends
7107         all GdkCrossingEvents from the last mouse-window to the specified
7108         destination.
7109         (gdk_fb_window_visibility_crossing): Removed function.
7110         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
7111         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
7112         instead of gdk_window_get_pointer() for better readability.
7113
7114         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
7115         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
7116
7117         * gdk/linux-fb/gdkprivate-fb.h:
7118         removed gdk_fb_window_visibility_crossing, added
7119         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
7120
7121         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
7122         New function that finds the least common ancestor of two windows.
7123         (gdk_window_show, gdk_window_hide):
7124         Use gdk_fb_window_send_crossing_events.
7125         (gdk_fb_window_move_resize): Send configure events to toplevel
7126         windows. Use gdk_fb_window_send_crossing_events.
7127
7128 2000-11-27  Havoc Pennington  <hp@redhat.com>
7129
7130         * gtk/gtkprivate.h (enum): Remove a trailing comma
7131
7132 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
7133
7134         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
7135         the "changed" callback of the adjustment.  We need to redraw the
7136         spin button's arrows when the adjustment's range changes.
7137         (adjustment_changed_cb): Draw the arrows.
7138         (gtk_spin_button_value_changed): Draw the arrows.
7139
7140 2000-11-23  Alexander Larsson  <alexl@redhat.com>
7141
7142         * gdk/linux-fb/gdkselection-fb.c:
7143         Initial selection implementation.
7144
7145         * gtk/gtkselection.c:
7146         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
7147         requestor in gtk_selection_request.
7148         
7149         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
7150         Added gdk_selection_property atom.
7151
7152         * gdk/linux-fb/gdkprivate-fb.h:
7153         Export _gdk_selection_window_destroyed.
7154         Removed mask_off_x/y from GdkCursorPrivateFB.
7155         Removed hbearing, added top, left to PangoFBGlyphInfo.
7156
7157         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
7158         Call _gdk_selection_window_destroyed
7159         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
7160         the root window has been created.
7161         (static_dx_hack, static_dy_hack, compare_draw_rects,
7162         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
7163         in region. They are already sorted. Instead just traverse them in
7164         reverse if draw_direction < 0.
7165         
7166         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
7167         Double-clicks must be sent after the normal button_press.
7168         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
7169         
7170         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
7171         Pass _gdk_fb_screen_gc instead of NULL.
7172
7173         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
7174         Initialize gdk_selection_property.
7175         (gdk_event_make): Remove unused code.
7176
7177         * gdk/linux-fb/gdkcursor-fb.c:
7178         Make the pixmap for the cursor the same size as the mask. Also remove
7179         the mask_off_x/y fields in GdkCursorPrivateFB and combine
7180         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
7181         Now the whole cursor is visible.
7182
7183         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
7184         Fix bug where xdest+height instead of ydest+height was used
7185         to calculate if the source and dest overlapped. This fixes the
7186         redraw bug when the main window in testgtk was scrolled when
7187         partially covered by a tall window.
7188         Copy rectangles in region in order depending on draw_direction.
7189         Also moved the draw_direction flipping of start_y and end_y into
7190         the gc functions, as this might not be what all of them want.
7191         (gdk_fb_draw_lines): Support dashed lines.
7192         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
7193         so that the text is positioned correctly (was 1 pixel high).
7194
7195         gdk/linux-fb/gdkgc-fb.c:
7196         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
7197         all lines were drawn a pixel to short. Also checked the default of
7198         the rest of the values, and they're the same as X now.
7199
7200         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
7201         Clean up pixel positioning of the glyphs. Just use bgy->top and
7202         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
7203         to all divisions to get correct rounding behaviour.
7204
7205         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
7206         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
7207         Moved start_y/end_y flip into draw_drawable implementations.
7208         Flip also x rendering when draw_direction < 0.
7209         Remove unneccesary multiply with draw_direction.
7210
7211 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
7212
7213         * docs/tutorial/gtk-tut.sgml:
7214           - get rid of gtk_toggle_button_toggled FUD
7215           - start DND section - needs work - based on:
7216                 http://wolfpack.twu.net/docs/gtkdnd/
7217
7218 2000-11-22  Alexander Larsson  <alexl@redhat.com>
7219
7220         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
7221         Correct calculation of font metrics. Now GtkEntrys have sane
7222         size.
7223
7224 2000-11-22  Alexander Larsson  <alexl@redhat.com>
7225
7226         * gdk/gdktypes.h:
7227         Add new type GdkSpan
7228         
7229         * docs/reference/gdk/gdk-sections.txt,
7230         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
7231         gdk/gdkregion.h:
7232         Implement and document gdk_region_spans_intersect_foreach.
7233
7234         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
7235         Add new file gdkrender-fb.c which contains all core
7236         rendering code.
7237         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
7238         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
7239         (optimized rectangle fillers).
7240
7241         * gdk/linux-fb/gdkdrawable-fb2.c:
7242         Move all rendering code to gdkrender-fb.c.
7243         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
7244         Use the new span intersection functions in gdk_fb_fill_spans.
7245         gdk_fb_draw_rectangle() clips filled rectangles and calls
7246         gc->fill_rectangle with the result.
7247         gdk_fb_fill_spans() gets extra argument "sorted".
7248
7249         * gdk/linux-fb/gdkevents-fb.c:
7250         Remove unused includes and defines.
7251         New function gdk_fb_get_time() to get correct time for events.
7252
7253         * gdk/linux-fb/gdkinput-ps2.c:
7254         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
7255         Make sure to set the time of all events.
7256
7257         * gdk/linux-fb/gdkmain-fb.c:
7258         Use gdk_fb_get_time ().
7259
7260         * gdk/linux-fb/gdkprivate-fb.h:
7261         New virtual GC calls: fill_span & fill_rectangle.
7262         Export gdk_fb_get_time().
7263         gdk_fb_fill_spans() gets extra argument "sorted".
7264
7265         * gdk/linux-fb/mi*.c:
7266         Use GdkSpan instead of GdkRectangle.
7267         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
7268         from XFree 4 source)
7269         
7270 2000-11-22    <jrb@redhat.com>
7271
7272         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
7273         reversing the order in an if statement will do.  Doing so managed
7274         to make the treemodelsort half work.  Other half will follow after
7275         I get the insert function fully fixed.
7276
7277 2000-11-21  Elliot Lee  <sopwith@redhat.com>
7278         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
7279         more than 2 bits. Besides, I need to implement an evil hack. :)
7280
7281 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
7282
7283         * docs/tutorial/gtk-tut.sgml: minor corrections
7284
7285 2000-11-20  Jonathan Blandford <jrb@redhat.com>
7286         * gtk/gtktreemodelsort.h: Add convertion functions to let you
7287           convert to and from relative path's and iters.
7288
7289         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
7290           testing sorting functions a bit better.  Currently broken -- will
7291           fix in morning.
7292
7293 2000-11-20  Havoc Pennington  <hp@redhat.com>
7294
7295         * gtk/gtkwidget.c: Documented a bunch of functions in here
7296         (gtk_widget_realize): Warn if you try to realize
7297         a widget with no parent that isn't a toplevel
7298         (gtk_widget_intersect): return a gboolean
7299
7300 2000-11-20  Havoc Pennington  <hp@redhat.com>
7301
7302         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
7303         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
7304         scrolling to be implemented in GDK to finish. Also, right now
7305         we just size_allocate all children on every layout change,
7306         which is pretty lame. Test commented out of testtext.c, 
7307         until it works better.
7308
7309 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
7310
7311         * gdk/linux-fb/gdkdrawable-fb2.c:
7312         Removed unused arguments from gdk_fb_drawable_get_pixel().
7313
7314         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
7315         Renamed fidur specific mouse packet data in MouseDevice to
7316         generic. Used it in ps2 mouse handling code to avoid blocking
7317         reads.
7318
7319 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
7320
7321         * demos/gtk-demo/main.c: Changed to have the list become
7322         non-italic when the demo window is destroyed through an external
7323         event (like a close button).  Doing so found three bugs in the
7324         widget.
7325
7326         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
7327
7328         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
7329         we actually set the cell.
7330
7331         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
7332
7333         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
7334         free a leaked path.  Thanks memprof.
7335
7336 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
7337
7338         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
7339         off-by-one error when destroying allocated segments
7340         on failure. (Elliot)
7341
7342 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
7343
7344         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
7345         memleaks found by Evan Martin.
7346
7347 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
7348
7349         * Released 1.3.2
7350         
7351         * NEWS: Updates for 1.3.2
7352
7353 2000-11-17  Tor Lillqvist  <tml@iki.fi>
7354
7355         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
7356         but in general for window system specific events.
7357
7358         * gtk/gtk.def
7359         * gtk/makefile.mingw.in
7360         * gtk/makefile.msc.in: Update.
7361         
7362         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
7363
7364 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
7365
7366         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
7367         distribute gtk.immodules.
7368
7369         * gtk/Makefile.am (install-data-local): Don't install the
7370         gtk.immodules file created for the uninstalled modules;
7371         instead run gtk-query-immodules after install
7372
7373 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
7374
7375         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
7376         -rpath to the right install location.
7377
7378         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
7379         -export-dynamic.
7380
7381         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
7382         properly.
7383
7384 2000-11-15  Havoc Pennington  <hp@pobox.com>
7385
7386         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
7387         patch from Mikael Hermansson to temporarily stop blinking while
7388         the user is using the keyboard to type or navigate. 
7389
7390         Also, when blinking, stay on for longer than we stay off. Also,
7391         return from start_cursor_blink if !cursor_visible, to save
7392         checking that flag all over the place before we call
7393         start_cursor_blink.
7394
7395 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
7396
7397         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
7398         only contain a "fontset" line, which is now ignored.
7399
7400         * gtk/gtkentry.c (gtk_entry_button_release): Make 
7401         double-click-to-select-word work.
7402         
7403 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
7404
7405         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
7406         Don't move back one char when we are actually at the end of the 
7407         paragraph.
7408
7409 2000-11-15  Robert Brady  <robert@suse.co.uk>
7410
7411         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
7412         'o' < 'p'.
7413         
7414         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
7415         bind_textdomain_codeset.
7416
7417         (gtk_init_check): Make the warning about translating default:LTR
7418         sterner.
7419         
7420 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
7421
7422         * **/Makefile.am : remove unecessary rules for win32-specific
7423         config-substituted targets. If you want these rules, use
7424         --enable-maintainer-mode (called automatically by autogen.sh).
7425         Stops a lot of unneccessary make-time warnings.
7426
7427         * gtk/gtktext{layout,display}.c: Factor in total width as
7428         well as screen when figuring alignment for word-wrap as well as
7429         no wrap; this is necessary to handle lines that cannot be wrapped
7430         at all.
7431
7432 2000-11-15  Havoc Pennington  <hp@redhat.com>
7433
7434         * gtk/testtext.c: Implement essential color cycling feature
7435
7436 2000-11-15  Havoc Pennington  <hp@redhat.com>
7437
7438         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
7439         when we invalidate the main window.
7440
7441         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
7442         GtkTextView will now invalidate the side windows for us when text
7443         changes.
7444
7445 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
7446
7447         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
7448         unconditionally, since we may need to update the horizontal
7449         scrollbars even if the height didn't change.
7450
7451         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
7452         the extra attrs, since some of them affect size.
7453
7454         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
7455         x_offset correctly.
7456
7457 2000-11-15  Havoc Pennington  <hp@redhat.com>
7458
7459         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
7460         don't move the first line out into the margin, instead move the
7461         whole paragraph in order to make space for the first line within 
7462         the margin
7463
7464 2000-11-15  Havoc Pennington  <hp@redhat.com>
7465
7466         * gtk/gtktextview.c (changed_handler): offset redraw rect by
7467         xoffset in addition to yoffset, so horizontal scrolling doesn't
7468         break redraws
7469
7470 2000-11-15  Havoc Pennington  <hp@redhat.com>
7471
7472         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
7473         from the cursor
7474         (render_layout_line): fix reversed test that caused weird
7475         underlines to get drawn
7476
7477 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
7478
7479         * gdk/linux-fb/gdkprivate-fb.h:
7480         Fix debug macros.
7481         
7482 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
7483
7484         * gdk/linux-fb/gdkprivate-fb.h:
7485         Added virtual functions set_pixel, get_color,
7486         fill_span and draw_drawable to the GC.
7487         Added global _gdk_fb_screen_gc to use instead of
7488         NULL when drawing to the screen.
7489         Added _gdk_fb_gc_calc_state() prototype.
7490
7491         * gdk/linux-fb/gdkgc-fb.c:
7492         Call _gdk_fb_gc_calc_state() on any gc state change.
7493
7494         * gdk/linux-fb/gdkglobals-fb.c:
7495         Add _gdk_fb_screen_gc
7496                 
7497         * gdk/linux-fb/gdkdrawable-fb2.c:
7498         _gdk_fb_gc_calc_state() calculates best functions
7499         for the GC state and depth.
7500         Moved bpp specialized code to separate functions.
7501         Added optimized 24 bpp AA draw_drawable.
7502
7503         * gdk/linux-fb/gdkevents-fb.c:
7504         Silence gcc warning.
7505
7506         * gdk/linux-fb/gdkimage-fb.c:
7507         Use _gdk_fb_screen_gc
7508
7509         * gdk/linux-fb/gdkwindow-fb.c:
7510         Init and use _gdk_fb_screen_gc
7511
7512         * gdk/linux-fb/mitypes.h:
7513         Remove unused types.
7514
7515 2000-11-14  Havoc Pennington  <hp@pobox.com>
7516
7517         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
7518         to pixels
7519
7520 2000-11-14  Havoc Pennington  <hp@pobox.com>
7521
7522         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
7523
7524         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
7525         unknown char, no real reason we were using a variable. 
7526         Remove gtk_text_unknown_char variable. Fix all the text widget
7527         files accordingly.
7528
7529         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
7530         since the Unicode spec seems to prefer that character for our
7531         purposes.
7532
7533 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
7534
7535         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
7536         value of g_getenv() isn't freeable, so g_strdup it.
7537
7538         * modules/input/inuktitut.c: Inuktitut input method.
7539
7540         * modules/input/Makefile.am: Build this.
7541         
7542 2000-11-14  Elliot Lee  <sopwith@redhat.com>
7543
7544         * gtk/Makefile.am: Install gtk.immodules, needed for operation
7545         of gtk programs.
7546
7547 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
7548
7549         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
7550         reversed > that was causing Home to go to end of previous line.
7551
7552         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
7553         modified-keypresses (leave for bindings.)
7554
7555         * modules/input/Makefile.am: Remove useless -export-dynamic
7556         from module LDFLAGS.
7557
7558 2000-11-14  Havoc Pennington  <hp@redhat.com>
7559
7560         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
7561         higher.
7562
7563         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
7564         account. Also, render rise, underline, background, etc. for
7565         pixbufs as well as text. Also, draw underlines one pixel higher.
7566
7567         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
7568         PangoAttribute for the rise, so it gets drawn properly. Also,
7569         add the GtkTextAppearance attribute for pixbuf/widget segments
7570         as well; we should go ahead and have rise, underline, background,
7571         stipple work for those
7572
7573         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
7574         Pango
7575
7576 2000-11-15  Tor Lillqvist  <tml@iki.fi>
7577
7578         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
7579
7580         * gtk/gtk.def: Update.
7581
7582         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
7583         included.
7584         (gtk_rc_get_im_module_file): Use run-time installation directory
7585         on Win32.
7586
7587         * gdk/win32/rc/gdk.rc: Remove.
7588         * gdk/win32/rc/gdk.rc.in: New file.
7589         * gdk/win32/rc/Makefile.am: New file
7590         * gdk/win32/Makefile.am: Corresponding changes.
7591
7592         * gtk/gtk.rc: Remove.
7593         * gtk/gtk-win32.rc.in: New file.
7594         * gtk/Makefile.am: Corresponding changes.
7595
7596         * configure.in: Corresponding changes.
7597
7598         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
7599         has a built gtkcompat.h. Developers using CVS code on Win32 can
7600         hand-edit it from gtkcompat.h.in.
7601
7602         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
7603         gtkcompat.h from gtkcompat.h.win32.
7604
7605 2000-11-14  Havoc Pennington  <hp@redhat.com>
7606
7607         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
7608         to default to GDK_ACTION_MOVE if the drag is within a single
7609         widget. Defaults to GDK_ACTION_COPY between widgets.
7610
7611 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
7612
7613         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
7614
7615         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
7616
7617         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
7618         srcdir != builddir
7619
7620         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
7621
7622         * configure.in (GTK_VERSION): Up to 1.3.2
7623
7624         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
7625         gtkimcontextxim.h
7626
7627         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
7628         missing doc comment.
7629
7630 2000-11-14  Alexander Larsson  <alexl@redhat.com>
7631
7632         * modules/linux-fb/basic.c:
7633         Use the glib iconv wrappers.
7634
7635 2000-11-13  Havoc Pennington  <hp@pobox.com>
7636
7637         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
7638         still more bugs.
7639
7640         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
7641         scroll the GdkWindows before realization.
7642
7643 2000-11-13  Havoc Pennington  <hp@redhat.com>
7644
7645         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
7646         where GC didn't always get updated properly
7647
7648         * demos/gtk-demo/textview.c (create_tags): Use subattributes
7649         of fonts instead of setting the entire font
7650
7651         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
7652         setting entire font
7653
7654         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
7655
7656         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
7657         a bunch of individually-settable font attributes. You can still 
7658         use the "font" and "font_desc" args, they just set all the font
7659         attributes at once.
7660
7661 2000-11-13 Elliot Lee <sopwith@redhat.com>
7662
7663         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
7664
7665 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
7666
7667         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
7668         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
7669
7670         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
7671         work better.
7672
7673 2000-11-13  Havoc Pennington  <hp@redhat.com>
7674
7675         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
7676         the module file.
7677
7678         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
7679         dest->language
7680
7681         * gtk/testtext.c: Test pixels above/below/inside paragraphs
7682         settings
7683
7684         * gtk/gtktextview.c: Implement object args and setters/getters for
7685         all the aspects of the GtkTextAttributes that are not set from
7686         GtkWidget attributes. This is spacing, justification, margins,
7687         etc.
7688
7689         (gtk_text_view_set_arg)
7690         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
7691         args
7692         (gtk_text_view_class_init): Add args for justify, left_margin,
7693         right_margin, indent, and tabs
7694         
7695
7696         * gtk/gtktextlayout.c (set_para_values): fix to display indent
7697         attribute properly
7698
7699         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
7700         replace with indent attribute
7701
7702         * gtk/gtktextlayout.c (set_para_values): multiply indent by
7703         PANGO_SCALE
7704
7705         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
7706         rearranging code to do that
7707         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
7708         i.e. don't subtract the top_margin first, just to keep
7709         all margin-futzing in one place.
7710
7711         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
7712
7713         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
7714         special case of last line, Pango now handles this itself.
7715         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
7716         Y coordinate
7717         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
7718         (find_display_line_above): wasn't moving the byte index as it
7719         iterated over lines, so always returned byte 0. Also, port to use
7720         PangoLayoutIter.
7721         (find_display_line_below): same problem as
7722         find_display_line_above. Also, port to use PangoLayoutIter.
7723
7724 2000-11-13  Alexander Larsson  <alexl@redhat.com>
7725
7726         * gdk/linux-fb/*.[ch]:
7727         Massive reindent to gtk+ standard. My hands hurt.
7728
7729         * gdk/linux-fb/gdkcolor-fb.c:
7730         Move GdkColorPrivateFB from inherited to windowing_data
7731
7732         * gdk/linux-fb/gdkcursor-fb.c:
7733         _gdk_cursor_new_from_pixmap made static
7734
7735         * gdk/linux-fb/gdkdnd-fb.c:
7736         GdkDragContextPrivate moved to windowing_data
7737
7738         * gdk/linux-fb/gdkdrawable-fb2.c:
7739         Removed endian.h, use glib endianness macros instead
7740         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
7741         and GDK_DRAWABLE_IMPL_FBDATA
7742
7743         * gdk/linux-fb/gdkfont-fb.c:
7744         Add empty gdk_font_load(). Needed for linking of Gtk+.
7745
7746         * gdk/linux-fb/gdkimage-fb.c:
7747         Removed endian.h, use glib endianness macros instead
7748         Moved GdkImagePrivateFB to windowing_data
7749         gdk_image_new_bitmap didn't always allocate enough
7750         memory.
7751
7752         * gdk/linux-fb/gdkinput-ps2.c:
7753         Added semi-working support for MS serial mice.
7754
7755         * gdk/linux-fb/gdkprivate-fb.h:
7756         s/GdkWindowPrivate/GdkWindowObject/
7757         Removed GdkWindowPrivate typedef
7758         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
7759         Removed GDK_DRAWABLE_P
7760         Move GdkColorPrivateFB from inherited to windowing_data
7761         Moved GdkImagePrivateFB to windowing_data
7762
7763         * gdk/linux-fb/gdkvisual-fb.c:
7764         Removed some unused debug code.
7765
7766         * gdk/linux-fb/gdkwindow-fb.c:
7767         Use stock cursors instead of including X headers.
7768         s/GdkWindowPrivate/GdkWindowObject/
7769
7770         * gdk/linux-fb/mitypes.h:
7771         Removed unused types.
7772
7773         * modules/linux-fb/basic.c:
7774         Use the pango fribidi wrappers.
7775
7776 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7777
7778         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
7779         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
7780         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
7781         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
7782         GEqualFunc where applicable.
7783         
7784         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
7785         pango_font_description_equal as changed in pango.
7786         
7787         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
7788
7789         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
7790
7791         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
7792
7793         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
7794
7795         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
7796
7797         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
7798
7799         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
7800         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
7801
7802         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
7803         gtk_rc_styles_compare -> gtk_rc_styles_equal.
7804
7805 2000-11-12  Havoc Pennington  <hp@pobox.com>
7806
7807         * demos/gtk-demo/Makefile.am (democodedir): change demo install
7808         dir to datadir/gtk+-2.0/demo
7809
7810         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
7811         sorts of text widget and Pango font bugs. Urgh.
7812
7813         * demos/gtk-demo/Makefile.am (demos): Add textview.c
7814
7815         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
7816         tree that you should double click to see the demo. Fix 
7817         types of variables to reflect changed return values from 
7818         GtkTreeStore and GtkTreeViewColumn constructors.
7819
7820         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
7821         newly-created buffer to prepare for GObject semantics
7822
7823         * gtk/testtext.c: don't leak the buffer with GObject semantics
7824
7825         * gtk/testtextbuffer.c: ditto
7826         
7827 2000-11-12  Havoc Pennington  <hp@pobox.com>
7828
7829         Rename this testgtk to gtk-demo to avoid confusion, and 
7830         install it so people can use it as a supplement to 
7831         the documentation.
7832         
7833         * demos/gtk-demo: Moved from demos/testgtk
7834
7835         * demos/testgtk: Removed
7836
7837         * configure.in: make Makefile in gtk-demo
7838         
7839         * demos/gtk-demo/Makefile.am: Install sample source to 
7840         datadir/gtk-demo (maybe there's a better place?), and 
7841         rename the binary to gtk-demo
7842         
7843         * demos/gtk-demo/main.c (load_file): Load installed sample
7844         source if source isn't found in pwd.
7845
7846 2000-11-09  Havoc Pennington  <hp@pobox.com>
7847
7848         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
7849         argument to set the char displayed when visibility == FALSE
7850         (gtk_entry_create_layout): If !entry->visible, replace 
7851         all chars with the "invisible char"
7852
7853         * gtk/testgtk.c: Test the invisible_char deal
7854         
7855 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
7856
7857         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
7858         can't get a native font in the right encoding.
7859
7860 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
7861
7862         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
7863         respectively.
7864
7865 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
7866
7867         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
7868         Fix warning when moving between paragraphs.
7869
7870         * gtk/gtkentry.[ch]: Change move => move_cursor, 
7871         delete => delete_from_cursor, insert => insert_at_cursor
7872
7873 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
7874
7875         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
7876
7877         * modules/input/imthai-broken.c: A Thai input method for use if
7878         Thai keys are really generating Latin1 keysyms.
7879
7880         * modules/input/Makefile.am: Build these.
7881
7882 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
7883
7884         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
7885         g_filename_{to,from}_utf8 now takes an extra parameter.
7886
7887         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
7888         strftime into UTF-8.
7889
7890         (column_from_x, gtk_calendar_paint_day_names): Support RTL
7891         calendars.
7892
7893         (gtk_calendar_paint_day_names): Draw day names in the right 
7894         place.
7895         
7896 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
7897
7898         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
7899         problem with using result of g_get_charset() backwards -
7900         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
7901
7902         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
7903         negative min_width/height and max_width/height to
7904         mean "requisition"; this allows setting a window
7905         to be user-resizable in only one direction easily.
7906
7907         * gtk/testgtk.c (create_main_window): Remove hard-coded
7908         usize - set a default size in the vertical direction.
7909
7910 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
7911
7912         * gtk/gtkrange.c: Add some missing casts. Support 
7913         2 and 3 button clicks on the arrows to mean 
7914         "move by pages" and "jump to end". (Like gtkspinbutton)
7915
7916 2000-11-12 Hans Breuer <Hans@Breuer.Org>
7917
7918         * gdk/win32/makefile.msc : reflect build module changes
7919
7920         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
7921         from GdkPixmap*, cast implementation member instead.
7922
7923         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
7924         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
7925         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
7926         more Gdi functions return value checking. 
7927         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
7928         GdkImagePrivateWin32 *.
7929
7930         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
7931         menus useable again. Add #pragma message to keep reminded on this issue.
7932         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
7933         windows. This allows to enable backing store on Win32!
7934
7935         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
7936         in drawable is of impl type. Correct specific type checks appropriate.
7937  
7938         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
7939         GDK_WINDOW_DESTROYED before allocating new resources.
7940
7941         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
7942
7943         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
7944         (gdk_window_foreign_new) initialize parent handle.
7945         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
7946
7947         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
7948         Let the GDI invalidate the window on MoveWindow call to fix scrolling
7949         problems (e.g. main buttons in testgtk). 
7950
7951 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
7952
7953         * gtk/gtkentry.c (gtk_entry_key_press): Call 
7954         gtk_widget_activate for GDK_Return.
7955
7956         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
7957         of preedit cursor position.
7958
7959 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
7960
7961         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
7962         static.
7963
7964 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
7965
7966         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
7967         out support for multiple locales; that simple doesn't
7968         work reliably with current Xlib
7969
7970         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
7971         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
7972         Add support for positioning the cursor within the preedit string.
7973
7974 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
7975
7976         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
7977         at XIM input method module.
7978
7979         * gtk/gtktextview.c: Check for bindings after passing
7980         events to im context filter.
7981
7982 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
7983
7984         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
7985         empty attribute lists properly.
7986
7987 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
7988
7989         * gtk/queryimmodules.c (main): Return non-zero exit
7990         status if errors were encountered querying any
7991         modules.
7992
7993         * modules/input/Makefile.am (moduledir): remove
7994         leftover bin program target.
7995
7996         * docs/make-todo: Fix typo in error message.
7997
7998 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
7999
8000         * configure.in: Add modules/input/Makefile
8001
8002 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
8003
8004         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
8005         don't include gtkthemes.h.
8006
8007         * gtk/testgtk.c gtk/testtext.c: Set environment variables
8008         to point
8009
8010         * gtk/Makefile.am: Add new .c and .h files, build 
8011         gtk-query-immodules and use it to create a gtk.immodules
8012         file for use of test programs.
8013
8014         * gtk/gtkpreview.c: remove extra blank line.
8015
8016 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
8017
8018         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
8019         Add the ability to add extra tables beyond the default
8020         one, and also the ability to have compose sequences 
8021         that are prefixes of other compose sequences. 
8022
8023         * gtk/gtkimcontextsimple.c: Export a preedit string which
8024         consists of possible candidates for keystrokes that have
8025         been entered but not yet committed.
8026
8027         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
8028         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
8029
8030         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
8031         Add a function to add input-method switching menu items
8032         to a menu.
8033
8034         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
8035         when switching input methods.
8036
8037         * gtk/gtkimcontextsimple.[ch]: Change the format of
8038         the compose table to allow compose tables of different
8039         lengths / sequence.
8040
8041 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
8042
8043         * gtk/gtkimmodule.[ch]: Support routines for loading
8044         GtkIMContext implementations dynamically at runtime.
8045
8046         * modules/input/imcyrillic-translit.c: A sample input
8047         method (based on GtkIMContextSimple with an extra table),
8048         which demonstrates preedit strings and the module
8049         system for input modules
8050
8051         * gtk/queryimmodules.c: Program to query the available
8052         input modules and write the results into a file.
8053          
8054         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
8055         extra config options "im_module_file" (cache file for
8056         input method modules), and "im_module_path" - path
8057         to look for modules when generating cache file.
8058
8059         This doesn't scale.
8060
8061 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
8062
8063         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
8064         generic code from gtkthemes into a new abstraction
8065         GtkModule which has the logic for implementing
8066         a loadable module which implements a number of 
8067         GObject types.
8068
8069 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
8070
8071         * gtk/gtkeditable.[ch]: Convert GtkEditable from
8072         a class into an interface  
8073         
8074         * gtk/gtkoldeditable.[ch]: Move the old editable
8075         implementation into here, so legacy widgets can
8076         still rely on the implemenation. GtkOldEditable
8077         exports GtkEditable. Make selection handling
8078         code use new text conversion functions (and
8079         handle UTF-8 as a side-effect). Use GtkClipboard
8080         for CLIPBOARD.
8081
8082         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
8083         Adopt to match above changes.
8084
8085         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
8086         avoid GtkOldEditable implementation. Restructure
8087         to reduce number of places that modify state directly.
8088         Move to GtkBindingSet. Display the preedit string.
8089         Queue recomputation of PangoLayout and scroll position
8090         to improve effiency of doing complex changes naively.
8091         Add a menu with cut/copy/paste and input method selection.
8092
8093 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
8094
8095         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
8096         to set preedit string and attributes; display preedit string by
8097         inserting string and attributes at cursor when creating the
8098         GtkTextLineDisplay.
8099
8100         * gtk/gtktextlayout.c: Move all conversions between byte
8101         positions in PangoLayout and GtkTextIter into new functions
8102         line_display_iter_to_index/index_to_iter that properly
8103         handle the preedit string.
8104
8105         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
8106         it to return const char * (eventually will end up
8107         as GCONST char *, most likely.)
8108
8109         * gtk/gtktextview.[ch]: Handle the preedit string, call
8110         gtk_im_context_reset() as necessary, add a menu to switch
8111         input methods.
8112         
8113         * gtk/gtktextlayout.[ch]: Remove useless
8114         gtk_text_layout_get_log_attrs() function.
8115
8116 2000-11-11  Tor Lillqvist  <tml@iki.fi>
8117
8118         * gdk/gdk.def
8119         * gtk/gtk.def: Update.
8120
8121         * gdk/win32/*.c: Add last argument to g_type_register_static()
8122         calls.
8123
8124         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
8125
8126         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
8127         generated by older wheel mouse drivers. Get the correct y
8128         coordinate from WM_MOUSEWHEEL messages.
8129
8130         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
8131         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
8132         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
8133         Debugging functions.
8134
8135         * gdk/win32/gdkprivate-win32.h: Declare them.
8136
8137         * gdk/win32/gdkinput-win32.h: Add declaration for
8138         gdk_input_window_destroy().
8139
8140         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
8141
8142 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
8143
8144         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
8145         function to help handle keeping things in sync.
8146
8147 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
8148
8149         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
8150         BOXED marshallers.
8151
8152         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
8153         (gtk_list_store_class_init): use the new BOXED marshallers.
8154
8155         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
8156         new_with_values to new_with_types.
8157         (gtk_tree_store_get_column_type): add this.
8158         (gtk_tree_store_class_init): use the new BOXED marshallers.
8159
8160         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
8161         mirror some POINTER marshallers.
8162
8163 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
8164
8165         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
8166         allow more interesting iterators.  Also, made the lifecycle of
8167         iterators more explicit.
8168
8169         * gtk/gtktreemodelsort.[ch]: New model for sorting.
8170
8171         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
8172         types.
8173
8174 2000-11-09  Alexander Larsson  <alexl@redhat.com>
8175
8176         * demos/testgtk/menus.c:
8177         Changes to make the new testgtk compile after
8178         gtk_menu_append was removed.
8179
8180         * gdk/linux-fb/gdkdrawable-fb2.c
8181         (gdk_fb_get_depth, gdk_fb_get_visual,
8182         gdk_drawable_impl_fb_class_init): Implement
8183         these drawable functions. Now GtkImages work again.
8184
8185         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
8186
8187         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
8188         
8189         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
8190         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
8191         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
8192         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
8193
8194 2000-11-08  Havoc Pennington  <hp@pobox.com>
8195
8196         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
8197         visible_set args, don't know where these had gone, I thought they
8198         used to be there
8199
8200         * gtk/testtext.c: Add a menu item to apply invisibility tag;
8201         now we can test the feature and see that it's totally broken.
8202
8203 2000-11-08  Havoc Pennington  <hp@pobox.com>
8204
8205         Make DND copy pixbufs and tags when source and target share a 
8206         tag table.
8207         
8208         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
8209         in-process GTK_TEXT_BUFFER_CONTENTS target
8210         (gtk_text_view_drag_data_received): Paste from
8211         GTK_TEXT_BUFFER_CONTENTS if we receive it.
8212
8213 2000-11-08  Alexander Larsson  <alexl@redhat.com>
8214
8215         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
8216         API changes.
8217
8218         * gtk/gtkmenu.c: Add support for scrolling menus.
8219         Remove gtk_menu_append/prepend/insert, these have been moved to
8220         gtkcompat.h as #defines.
8221
8222         * gtk/gtkcompat.h.in:
8223         Add compatibility #defines for gtk_menu_append/prepend/insert
8224
8225         * gtk/gtkmenu.h: Add data needed for scrolling menus.
8226         GtkMenuPositionFunc gets an extra argument push_in.
8227         gtk_menu_append/prepend/insert removed.
8228         
8229         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
8230         positioning behaviour to fit to scrolling menus.
8231
8232         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
8233         into menuitem->submeny. That is wrong, and broke torn
8234         off submenus of torn off menus, since they were unrealized
8235         when the first menu was unrealized.
8236
8237         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
8238         gtk_menu_shell_select_item() since these need to be overridden in
8239         GtkMenu.
8240
8241         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
8242         positioning behaviour to fit to scrolling menus.
8243         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
8244         the current item so that it is prelighted when the menu pops up.
8245         This is a workaround to the fact that the menu doesn't get the
8246         initial enter event (due to grabs).
8247
8248         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
8249         s/gtk_menu_append/gtk_menu_shell_append/
8250
8251         * gtk/gtknotebook.c:
8252         s/gtk_menu_insert/gtk_menu_shell_insert/
8253
8254         * gtk/testgtk.c (create_menu, create_menus):
8255         Create the first menu with 50 items so that menu scrolling
8256         can be tested.
8257         
8258         
8259         Patch from Jonathan Blandford  <jrb@redhat.com>
8260
8261         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
8262         system to handle size requests.  First, we ask what the size of
8263         the toggle is.  Then, when allocating the size, we allocate the
8264         toggle_size first.  This way we can have multiple menu-item
8265         classes w/o needing a seperate class for each.
8266
8267         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
8268         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
8269
8270         * gtk/gtkcheckmenuitem.c
8271         (gtk_check_menu_item_toggle_size_request): New function to handle
8272         the toggle size-request.
8273
8274 2000-11-07  Havoc Pennington  <hp@redhat.com>
8275
8276         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
8277         Half-ass somewhat fix this function, so that scrolling to the
8278         insertion point works. Pango hacking is in the future to really
8279         fix it.
8280
8281         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
8282         length of data, no longer used.
8283
8284         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
8285         method contents in here, get rid of destroy method
8286         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
8287         that were backward. Remove debug spew.
8288         (cut_or_copy): Make the clipboard work with insert_range to
8289         preserve tags and pixbufs, not just the primary selection.
8290
8291 2000-11-07  Havoc Pennington  <hp@redhat.com>
8292
8293         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
8294         to gtk_text_mark_get_visible
8295
8296         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
8297         bug that was generating an invalid iterator
8298
8299         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
8300         ensure_char_offsets() in front of code placing the iter in an
8301         invalid state.
8302
8303         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
8304         make override_location arg const
8305         (paste): Replace the selection if we paste into the 
8306         current selection
8307
8308         * gtk/gtkselection.h: Remove "GtkSelectioData"
8309         (struct _GtkSelectionData): move the definition here.
8310
8311         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
8312         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
8313
8314         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
8315
8316         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
8317         (gtk_text_buffer_insert_range_interactive): implement
8318         (gtk_text_buffer_get_tags): Remove, replaced by
8319         gtk_text_iter_get_tags()
8320
8321         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
8322         limit parameter, to avoid infinite linear scan.
8323         (gtk_text_iter_backward_search): Add search limit
8324         (gtk_text_iter_forward_find_char): Add search limit
8325         (gtk_text_iter_backward_find_char): Add search limit
8326
8327 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
8328
8329         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
8330         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
8331         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
8332         gdk/linux-fb/gdkwindow-fb.c:
8333         use g_object_new() instead of g_type_create_instance() which
8334         is a private function for fundamental type implementations.
8335
8336         * gdk/linux-fb/gdkinput-ps2.c:
8337         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
8338         instead just store the current modifier state. Add a (somewhat broken)
8339         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
8340         Rename exported function gdk_input_ps2_get_mouseinfo to
8341         gdk_input_get_mouseinfo.
8342
8343         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
8344         gdk/linux-fb/gdkwindow-fb.c:
8345         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
8346         
8347
8348 2000-11-02  Havoc Pennington  <hp@redhat.com>
8349
8350         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
8351         use stock buttons. Should be 100% source compatible, appropriate
8352         filesel fields now point to dialog->vbox and dialog->action_area.
8353         On the bizarre side, dialog->action_area and filesel->action_area
8354         are not the same widget.
8355         (gtk_file_selection_init): Put some padding around the selection
8356         entry, so it isn't touching the GtkDialog separator.    
8357
8358         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
8359         use stock buttons, etc. Should also be source compatible.
8360         Set the dialog default title in _init not _new().
8361         
8362         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
8363         Use stock buttons; don't put a button box inside the existing
8364         dialog button box. Don't bother with push/pop colormap anymore.
8365
8366         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
8367         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
8368         for message dialog, and necessary for the font selection and color
8369         selection with help and apply buttons.
8370         
8371         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
8372         to the created button widget. Set GTK_CAN_DEFAULT on the button.
8373         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
8374         between buttons, put less padding around the action area.
8375         (gtk_dialog_run): Exit on unmap rather than on destroy. 
8376         This will also exit the loop if the widget is hidden.
8377         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
8378         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
8379         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
8380         special-case delete event.
8381
8382         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
8383         formatting
8384         
8385 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
8386
8387         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
8388         button to temporarily disable position recording in the
8389         "saved position" test.
8390
8391 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
8392
8393         * gtk/gtkthemes.c: added compat code that temporarily implements
8394         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
8395         going to be revamped by owen's upcoming GtkModule patches, but
8396         untill then people want gtk to build, right? ;)
8397
8398 2000-11-04  Havoc Pennington  <hp@pobox.com>
8399
8400         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
8401         list
8402
8403         * docs/Changes-2.0.txt: Add note about
8404         gtk_container_get_toplevels()
8405
8406         * gtk/gtktextview.h: formatting
8407         
8408         * gtk/gtktextview.c: don't start descriptions with "Returns",
8409         confuses gtk-doc
8410
8411 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
8412
8413         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
8414         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
8415
8416 2000-11-03  Havoc Pennington  <hp@redhat.com>
8417
8418         * gtk/gtktexttagtable.c: Docs
8419         (gtk_text_tag_table_size): return a signed int
8420
8421         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
8422         (gtk_text_tag_event): make the event_object a GObject
8423
8424         * gtk/gtktextview.c: Write API docs for all functions.
8425
8426         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
8427         for gtk_text_view_get_window_type() called on one of the private
8428         windows.
8429
8430         * gtk/gtktextview.c: Instead of accessing text_view->buffer
8431         directly, call get_buffer() which demand-creates a default
8432         buffer. So gtk_text_view_new() can be used to create a view with a
8433         default buffer in it, if you just want an empty text box users can
8434         put data in. Useful for GUI builders also.
8435
8436 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
8437
8438         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
8439         the charset encodign portion MUST be in lowercase.
8440         * gtk/gtkrc.az: added file for Azeri language
8441
8442 2000-11-03  Havoc Pennington  <hp@redhat.com>
8443
8444         Get widgets working on the btree/buffer side. Display of them 
8445         still doesn't work.
8446         
8447         * gtk/gtktextview.c: start implementing child widget stuff
8448
8449         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
8450
8451         * gtk/gtktextlayout.c: handle embedded widgets
8452
8453         * gtk/gtktextdisplay.c: handle embedded widgets
8454
8455         * gtk/gtktextchild.c: Implement all the child anchor goo
8456
8457         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
8458         function
8459
8460         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
8461         (insert_pixbuf_or_widget_segment): abstract out common portions of 
8462         creating a child anchor or a pixbuf segment.
8463         (gtk_text_btree_create_child_anchor): new function
8464         (gtk_text_btree_unregister_child_anchor): new function
8465
8466         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
8467         allocate_child signal on GtkTextLayout
8468
8469         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
8470         values
8471         (gtk_text_iter_get_child_anchor): new function
8472
8473         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
8474         default handler for the changed signal, which calls
8475         gtk_text_buffer_set_modified(), instead of just always emitting
8476         changed then calling set_modified() manually. I guess this is
8477         maybe more flexible. It seems logical.
8478
8479 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
8480
8481         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
8482         now.
8483
8484         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
8485
8486 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
8487
8488         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
8489         been marked static.
8490
8491 2000-11-02  Havoc Pennington  <hp@redhat.com>
8492
8493         * gtk/testgtk.c (create_labels): had a test backward
8494
8495         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
8496         fields, so the dest GC ends up with the correct clip origin, 
8497         etc. Fixes a bug where colored labels didn't redraw 
8498         properly.
8499
8500 2000-11-02  Alexander Larsson  <alexl@redhat.com>
8501
8502         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
8503         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
8504         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
8505         Add last argument to t_type_register_static call.
8506         
8507         * gdk/linux-fb/gdkdrawable-fb2.c:
8508         Add last argument to t_type_register_static call.
8509         export the get_image drawable virtual function.
8510
8511         * gdk/linux-fb/gdkimage-fb.c:
8512         Add last argument to t_type_register_static call.
8513         rename gtk_image_get to _gdk_fb_get_image and
8514         export it for use by gdkdrawable-fb2.
8515
8516         * gdk/linux-fb/gdkprivate-fb.h:
8517         export _gdk_fb_get_image.
8518
8519         * gdk/linux-fb/gdkselection-fb.c:
8520         Add new api call stubs.
8521
8522         * gtk/Makefile.am:
8523         Missing ( in linux-fb part.
8524
8525         * modules/linux-fb/Makefile.am:
8526         Must link with gdk_pixbuf or get unresolved symbol.
8527
8528 2000-11-01  Havoc Pennington  <hp@pobox.com>
8529
8530         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
8531         GTK_TYPE_TEXT_ITER and BOXED marshallers
8532
8533         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
8534
8535         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
8536         
8537         * gtk/gtk-boxed.defs: add GtkTextIter
8538
8539         * gtk/gtkmarshal.list: Add marshallers for text widget that 
8540         properly use OBJECT and BOXED
8541
8542 2000-11-01  Havoc Pennington  <hp@redhat.com>
8543
8544         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
8545
8546         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
8547         before returning it. 
8548         
8549 2000-11-01  Havoc Pennington  <hp@redhat.com>
8550
8551         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
8552         Clip the rectangle to be rendered to the drawable, since
8553         get_from_drawable() requires a region within the drawable
8554
8555 2000-11-01  Havoc Pennington  <hp@redhat.com>
8556
8557         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
8558         from coordinates.
8559
8560 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
8561
8562         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
8563         it isn't NULL.
8564
8565 2000-11-01  Havoc Pennington  <hp@pobox.com>
8566
8567         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
8568         on a label
8569         (gtk_label_finalize): unref the attr list if any.
8570
8571         * gtk/testgtk.c (create_get_image): close test on second click
8572         (make_message_dialog): close dialog if it exists
8573
8574         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
8575
8576         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
8577         gdk-pixbuf
8578
8579         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
8580         from Pango markup format
8581         (gtk_label_set_markup_with_accel): ditto but with accelerator
8582         parsing
8583
8584         * gtk/gtkimage.c (gtk_image_expose): reformatting.
8585
8586         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
8587         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
8588         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
8589         call gdk_window_get_origin().
8590
8591         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
8592         implement GDK_PIXBUF_ALPHA_FULL
8593         
8594 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
8595
8596         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
8597         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
8598         g_signal_handlers_disconnect_matched to block/unblock and disconnect
8599         multiple handlers respectively, instead of only treating the
8600         first handler found (bug reported by owen).
8601
8602 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
8603
8604         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
8605
8606         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
8607
8608         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
8609         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
8610         gtk/gtktreeviewcolumn.h: Fixed inline docs.
8611
8612         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
8613         widget.  Needs writing someday.
8614
8615         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
8616         the docs.
8617
8618 2000-10-30  Havoc Pennington  <hp@redhat.com>
8619
8620         * gtk/gtktextview.h, gtk/gtktextview.c:
8621         Rename delete_at_cursor delete_from_cursor, and 
8622         move to move_cursor.
8623
8624 2000-10-30  Havoc Pennington  <hp@redhat.com>
8625
8626         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
8627         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
8628         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
8629         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
8630         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
8631         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
8632         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
8633         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
8634         gtktexttypes.h, gtktextview.c, gtktextview.h:
8635
8636         Massive reindentation and reformatting. Arg alignment and comments
8637         still need fixing in various places.
8638
8639 2000-10-30  Havoc Pennington  <hp@redhat.com>
8640
8641         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
8642         to be named insert_at_cursor and delete_at_cursor so C++ can
8643         handle them.
8644
8645 2000-10-28  Tor Lillqvist  <tml@iki.fi>
8646
8647         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
8648         to get a double directory separator in case the home directory
8649         ends with one. This would cause trouble especially on Windows,
8650         where the path will be confused with the syntax for an an UNC
8651         (network share) path \\server\share\path.
8652         (gtk_rc_add_initial_default_files): Ditto.
8653
8654 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
8655
8656         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
8657
8658         * gtk/gtktextview.c: Use correct marshallers.
8659
8660 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
8661
8662         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
8663         use new iter stuff, and added all the appropriate signals et al.
8664
8665         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
8666         code is internal to gtk only.
8667
8668 2000-10-28  Tor Lillqvist  <tml@iki.fi>
8669
8670         * gtk/gtk.def
8671         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
8672         glib-genmarshal etc.
8673
8674 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
8675
8676         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
8677         parallel builds.
8678
8679 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
8680
8681         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
8682
8683 2000-10-27  Robert Brady  <robert@suse.co.uk>
8684
8685         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
8686         en_GB (British), ia (Interlingua).
8687
8688 2000-10-26  Havoc Pennington  <hp@redhat.com>
8689
8690         * gtk/gtktextiter.c (my_strrstr): fix constness warning
8691
8692         Fixed output of:
8693         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
8694         
8695         * gtk/gtktextsegment.c (char_segment_new): rename
8696         (_char_segment_new_from_two_strings): rename
8697         (_toggle_segment_new): rename
8698         
8699         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
8700         (make_clipboard_widget): make it static
8701         (text_get_func): static
8702         (text_clear_func): static
8703
8704         * gtk/gtkcolorsel.c (adjustment_changed): make this function
8705         static
8706         (hex_changed): make it static
8707         (hsv_changed): make it static
8708         (opacity_entry_changed): make it static
8709
8710         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
8711         (toggle_segment_check_func): rename with _gtk
8712
8713         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
8714         (_widget_segment_new): rename
8715         (_widget_segment_add): rename
8716         (_widget_segment_remove): rename
8717         (_widget_segment_ref): rename
8718         (_widget_segment_unref): rename
8719
8720         * gtk/gtktextmark.c (_mark_segment_new): Rename
8721         _gtk_mark_segment_new   
8722
8723 2000-10-26  Havoc Pennington  <hp@redhat.com>
8724
8725         * gtk/gtkmarshal.list: add new marshallers used by the text widget
8726         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
8727         types
8728
8729         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
8730         marshaller types
8731
8732         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
8733         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
8734         license on these files.
8735
8736         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
8737         work.
8738
8739         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
8740         runtime random number different for each tree, instead of 
8741         a constant I made up.
8742
8743 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
8744
8745         * gtk/Makefile.am: buncha cleanups, kludged build sources
8746         dependencies with a Makefile: oldest-source-stamp dependancy
8747         for the moment. automake is really fighting us here, with
8748         intentionally not allowing user-defined rules or dependancies
8749         prior to it's -include $(DEP_FILES) statement. sucks rocks!
8750
8751         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
8752         to public headers. tehy have a comment stating that they are
8753         "semi-public" aren't included by gtk.h and if enums popup there,
8754         they can be /*< skip >*/-ed.
8755
8756         * gtk/gtktextlayout.h: 
8757         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
8758         added LGPL... <SIGH>
8759
8760 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
8761
8762         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
8763         GtkTreeIter.  Added iterators everywhere.
8764
8765         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
8766
8767         * gtk/gtktreeviewselection.c: Changed to use the iterators.
8768
8769         * gtk/gtktreestore.c: Changed to use the iterators.
8770
8771         * gtk/gtkliststore.c: Commented out the code.  Will convert to
8772         iterators tomorrow.
8773
8774         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
8775         iterators tomorrow.
8776
8777         * gtk/treestoretest.c: Changed to use iterators.
8778
8779         * demos/testgtk/main.c: Moved to use the new iterator system.
8780
8781 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
8782
8783         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
8784         localization misbehaviour.
8785
8786         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
8787         a useless type without copy/free.
8788
8789         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
8790         of GTK_TYPE_CTREE_NODE.
8791
8792 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
8793
8794         * gtk/gtksignal.c:
8795         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
8796         applicable.
8797
8798         * gtk/gtk-boxed.defs (GtkSelectionData): specify
8799         gtk_selection_data_copy and gtk_selection_data_free
8800         do GtkSelectionData work as params in signals.
8801
8802 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
8803
8804         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
8805         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
8806         couldn't they at least give it a non-standard name?
8807         
8808         * gtk/gtktextlayout.c: arg! yet another implementation of
8809         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
8810
8811         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
8812         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
8813         home. now i know this _is_ a conspiracy.
8814
8815         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
8816         ::state-changed.
8817
8818         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
8819         (gtk_accel_group_create_add): marshaller signature fixups.
8820
8821         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
8822         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
8823
8824         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
8825         anymore.
8826
8827 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
8828
8829         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
8830         due to the signal system changes, it wouldn't build currently. to
8831         be fixed soon.
8832
8833         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
8834
8835         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
8836         so it needs gtk_marshal_VOID__ENUM() instead of
8837         gtk_marshal_NONE__UINT().
8838
8839         * gdk/gdk*.c: adapted type registration functions.
8840
8841         * gtk/gtkbindings.c:
8842         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
8843         gone.
8844
8845         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
8846
8847         * gtk/gtkobject.c:
8848         (gtk_object_destroy):
8849         (gtk_object_shutdown): fixed recursion guards. basically we have to
8850         catch the case where any of GObject.shutdown() or gtk_object_destroy()
8851         is called during ::destroy, and avoid recursion there.
8852
8853         * gtk/gtktypeutils.c:
8854         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
8855         boxed_copy/boxed_free. this needs a more general solution based on a
8856         publically installed code-generator utility.
8857
8858         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
8859         glib's gobject has support for that now.
8860         define GtkSignalMarshaller in terms of GSignalCMarshaller.
8861
8862 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
8863
8864         * gtk/gtksignal.[hc]:
8865         * gtk/gtkmarshal.[hc]:
8866         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
8867         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
8868         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
8869         care of that.
8870
8871         * *.c: marshaller name fixups.
8872
8873         * gtk/gtkmarshal.list: added a comment briefing the format.
8874
8875 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
8876
8877         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
8878         compatibility macros here now. more specifically, most of
8879         the API is preserved (yes, _most_, nonwithstanding the
8880         following exceptions listed, the API is stil lHUGE ;)
8881         things that got removed completely:
8882         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
8883         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
8884         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
8885         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
8886         gtk_signal_remove_emission_hook().
8887         non-functional functions variants:
8888         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
8889         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
8890         not supported anymore.
8891         (gtk_signal_compat_matched): new internal function to aid
8892         implementation of the compatibility macros, it  provides
8893         functionality to block/unblock/disconnect handlers based
8894         on func/data.
8895
8896         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
8897
8898         * *.c: adaptions to new type registration API signatures.
8899
8900 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
8901
8902         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
8903
8904 2000-10-25  Robert Brady  <robert@suse.co.uk>
8905
8906         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
8907         gdk_property_delete): If window == NULL, assume the root window.
8908         (restoring the behaviour that was in 1.2).
8909         
8910         * gtk/testtext.c (save_buffer): Allow creation of new files when
8911         saving.
8912
8913         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
8914         calls to read().
8915
8916 2000-10-25  Tor Lillqvist  <tml@iki.fi>
8917
8918         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
8919
8920         * gdk/win32/gdkdrawable-win32.c
8921         * gdk/win32/gdkimage-win32.c
8922         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
8923         X11 backend.
8924
8925         * gdk/win32/gdkcc-win32.c
8926         * gdk/win32/gdkcolor-win32.c
8927         * gdk/win32/gdkfont-win32.c
8928         * gdk/win32/gdkinput-win32.c
8929         * gdk/win32/gdkmain-win32.c
8930         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
8931
8932 2000-10-24  Havoc Pennington  <hp@redhat.com>
8933
8934         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
8935         it a static function
8936
8937         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
8938         redraw text when a tag is applied to it.
8939
8940         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
8941         (gtk_text_tag_affects_nonsize_appearance): private functions to
8942         see if a tag requires various kinds of redraw/layout to be queued
8943         up.
8944
8945         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
8946
8947         * gtk/testtext.c (fill_example_buffer): Put the cursor 
8948         at the start of the buffer, so search works by default
8949
8950         * gtk/gtktextiter.c (lines_match): init match_start always
8951
8952         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
8953         function, get iter at a line + a byte index
8954
8955         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
8956         to set byte position within a line
8957         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
8958
8959 2000-10-23  Havoc Pennington  <hp@redhat.com>
8960
8961         * gtk/testtext.c: Re-enable the "find" dialog
8962
8963         * gtk/testgtk.c: Add test for gdk_drawable_get_image
8964         
8965         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
8966         the arguments to gdk_draw_drawable were in the wrong order
8967         (gdk_window_paint_init_bg): This function was ignoring the
8968         init_region, instead of clipping to it, so the entire backing
8969         pixmap was cleared on every begin_paint()
8970         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
8971         was in here again, the loop kept using the same GtkWindowPaint
8972         over and over.
8973         (gdk_window_begin_paint_region): Fix a bug where we had two
8974         x_offset instead of x_offset and y_offset
8975
8976         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
8977         before we get the image.
8978         (gdk_draw_drawable): get the composite before we draw the drawable.
8979         (gdk_drawable_real_get_composite_drawable): default
8980         get_composite_drawable implementation that returns the drawable 
8981         itself
8982
8983         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
8984         get_composite_drawable virtual function
8985
8986         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
8987         list-walking bug
8988
8989         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
8990         make this work if the source drawable is a GdkDrawableImplX11
8991         instead of a public drawable type. This is really broken; the
8992         problem is that GdkDrawable needs a virtual method get_xid(), but
8993         of course that doesn't work in practice. Enter RTTI.
8994
8995         Also, improve mismatched depth message.
8996
8997         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
8998         GdkPixmap
8999
9000         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
9001         install _gdk_x11_get_image as our implementation of get_image
9002         
9003         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
9004         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
9005
9006         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
9007         gdk_drawable_get_image
9008
9009         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
9010
9011         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
9012         get_image
9013
9014         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
9015         trailing semicolon after for loop
9016
9017 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
9018
9019         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
9020         where font_desc for widget's context lagged widget's font_desc by
9021         one step.
9022
9023 2000-10-22  Tor Lillqvist  <tml@iki.fi>
9024
9025         * gdk/win32/gdkgc-win32.c
9026         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
9027
9028         * gtk/makefile.mingw.in
9029         * gtk/gtk.def: Updates.
9030
9031         * gtk/testgtk.c: sleep() is called _sleep in MS's C
9032         library.
9033
9034         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
9035
9036         * gtk/makefile.msc: Remove
9037
9038         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
9039
9040         * gtk/Makefile.am: Add it.
9041
9042         * configure.in: Generate it.
9043
9044         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
9045         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
9046         something even if not implemented, to satisfy picky MSVC.
9047
9048         Patches by Hans Breuer:
9049         
9050         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
9051         SetBkMode() and SetTextAlign() before calling
9052         pango_win32_render().
9053
9054         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
9055         Set hcliprgn to NULL after destroying it.
9056         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
9057
9058         * gdk/win32/gdkgeometry-win32.c
9059         (_gdk_windowing_window_queue_antiexpose): More effective
9060         implementation.
9061
9062         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
9063         depth as default, not the visual's.
9064
9065         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
9066         against empty title.
9067
9068         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
9069         IMAGE_PRIVATE_DATA.
9070
9071         * gdk/win32/gdkimage-win32.c: Use it.
9072
9073 2000-10-22  Robert Brady  <robert@suse.co.uk>
9074
9075         * configure.in: Check for bind_textdomain_codeset
9076
9077         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
9078         present, make use of it.
9079
9080         Add a translatable string "default:LTR" which, if translated
9081         to "default:RTL", will cause the default direction to be
9082         Right-to-Left.
9083
9084         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
9085         direction if marked as flippable.
9086
9087         * gtk/gtkhscale.c: Mark widget as flippable.
9088         
9089 2000-10-04  Havoc Pennington  <hp@redhat.com>
9090
9091         * gtk/testgtk.c (create_buttons): create some stock buttons
9092         with the default accel group
9093         (create_image): test some new GtkImage features
9094         (make_message_dialog): test GtkMessageDialog
9095         (create_modal_window): fix someone's bizzarro indentation
9096
9097         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
9098         GTK_WIN_POS_CENTER_ON_PARENT. 
9099         Add "destroy with parent" setting, which means the window goes
9100         away with its transient parent.
9101         (gtk_window_get_default_accel_group): get the default accel group
9102         for the window.
9103         (gtk_window_set_destroy_with_parent): set/unset destroy with
9104         parent flag
9105         (gtk_window_read_rcfiles): invalidate icon set caches
9106         after reloading rcfiles 
9107
9108         * gtk/gtkenums.h (GtkWindowPosition): add
9109         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
9110         on its parent window when the dialog is mapped for the first time.
9111
9112         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
9113         a simple message dialog class
9114         
9115         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
9116         handler to emit response signal, and maybe later it would
9117         honor a hide_on_delete flag - though that isn't there yet.
9118         Set border width on the vbox to 2, so we get some padding.      
9119         Use a button box for the action area.
9120         (gtk_dialog_key_press): synthesize a delete event if Esc
9121         is pressed and the GtkWidget key press handler didn't 
9122         handle the escape key.
9123         (gtk_dialog_new_with_buttons): new function creates a dialog
9124         with some default buttons in it.
9125         (gtk_dialog_add_action_widget): add an activatable widget
9126         as a button in the dialog - you can also add a non-activatable
9127         widget by accessing the action area directly.
9128         (gtk_dialog_add_button): add a simple button - stock ID or 
9129         label - to the action area
9130         (gtk_dialog_response): emit response signal
9131         (gtk_dialog_run): block waiting for the dialog, return 
9132         the response. Override normal delete_event behavior, so that 
9133         delete_event does nothing inside gtk_dialog_run().
9134
9135         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
9136         emitted when an action widget is clicked or the dialog gets
9137         delete_event
9138
9139         * gtk/gtk.h: add gtkmessagedialog.h
9140
9141         * gtk/Makefile.am: add gtkmessagedialog.[hc]
9142
9143 2000-10-18  Havoc Pennington  <hp@redhat.com>
9144
9145         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
9146         where any number of empty lines would get skipped
9147
9148         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
9149         edge.
9150
9151         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
9152         warning about invalid iterators (explain more thoroughly)
9153         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
9154
9155         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
9156         big
9157
9158         * demos/*.c: Add error handling
9159
9160         * gtk/gtktextbuffer.c: don't modify const iterators
9161
9162         * gtk/gdk-pixbuf-loader.c: Add full error handling here
9163
9164         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
9165         on file load
9166
9167         * gtk/gtkiconfactory.c: Update to reflect addition of error
9168         handling to gdk-pixbuf loaders
9169
9170 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
9171
9172         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
9173         move to new modularized testgtk.
9174
9175 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
9176
9177         * gtk/gtktreeview.c: Draw the arrows correctly.
9178
9179         * gtk/gtktreemodel.c: Added user docs.
9180
9181         * gtk/gtk.h: remove gtktreedatalist.h.
9182
9183         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
9184         parent when generating my type.
9185
9186         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
9187         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
9188
9189 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
9190
9191         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
9192         GtkTreeModel from object to interface.
9193
9194 2000-10-16  Havoc Pennington  <hp@redhat.com>
9195
9196         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
9197         compilation
9198
9199 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
9200
9201         * gtk/gtktreeselection.c: Add API documentation to all public
9202         functions.
9203
9204         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
9205         functions.
9206
9207 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
9208
9209         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
9210         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
9211         docs to all public functions.
9212
9213         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
9214         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
9215         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
9216         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
9217         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
9218         issue.
9219
9220 2000-10-14  Robert Brady  <robert@suse.co.uk>
9221
9222         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
9223
9224 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
9225
9226         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
9227         values other then G_TYPE_STRING.
9228         * gtk/gtktreeselection.c: Minor commenting updates.
9229         * gtk/gtktreeview.c: Format updates.
9230
9231 2000-10-09  Tor Lillqvist  <tml@iki.fi>
9232
9233         * README.win32: Update.
9234
9235         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
9236         lines that had been deleted by mistake (?).
9237
9238         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
9239         also the case fg==white and bg==black (but still not randomly
9240         coloured cursors). Thanks to Wolfgang Sourdeau.
9241
9242         * gdk/win32/*.c: Silence gcc -Wall.
9243
9244         * gtk/gtk.def: Add missing entry points.
9245
9246         Fixes by Hans Breuer:
9247
9248         * gdk/makefile.msc
9249         * gdk/win32/makefile.msc: Update.
9250
9251         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
9252         some MSVC thing, presumably), cause breakpoint on failures. Add
9253         GDK_NOR case. Call g_log_set_always_fatal.
9254
9255         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
9256         should be pased by reference.
9257         
9258         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
9259         
9260         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
9261
9262         * gdk/win32/gdkevents-win32.c
9263         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
9264
9265         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
9266         implementation object.
9267
9268         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
9269         not just windows.
9270         
9271         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
9272         Use the wrapper object.
9273         
9274 2000-10-06  Havoc Pennington  <hp@redhat.com>
9275
9276         * Makefile.am (SRC_SUBDIRS): contrib subdir
9277
9278         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
9279         so it can be used in Xlib version
9280
9281         * demos/testpixbuf.c (update_timeout): error checking from 1.0
9282         tree
9283
9284         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
9285         change from 1.0 tree that returns first frame of animation
9286         if the loaded file is an animation.
9287
9288         * contrib: add new directory to hold stuff that comes with GTK+
9289         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
9290         
9291         * configure.in: add contrib/*
9292
9293 2000-10-05  Havoc Pennington  <hp@redhat.com>
9294
9295         * demos/testpixbuf-save.c: add pixbuf save test
9296
9297         * demos/Makefile.am: add testpixbuf-save.c
9298
9299 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
9300
9301         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
9302         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
9303         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
9304         * gtk/gtktreeselection.[ch]: Replaced
9305         "node_selected"/"node_unselected" signal with "selection_changed"
9306         signal.
9307
9308 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
9309
9310         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
9311         tree widget.
9312
9313 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
9314
9315         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
9316         drawing.
9317
9318 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
9319
9320         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
9321         Move list pointer forwards before removing item from
9322         list. (Crash reported by Salmaso Raffaele)
9323
9324         * gdk/gdkwindow.h: Remove spurious trailing ,
9325
9326         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
9327         dependencies on uninstalled libraries, sorry folks.
9328
9329 2000-10-04  Havoc Pennington  <hp@redhat.com>
9330
9331         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
9332         gtk/gtkiconfactory.c: Fix copyrights    
9333
9334         * demos/testpixbuf.c: add inline pixbuf test
9335         
9336 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
9337
9338         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
9339         Add gdk_window_iconify.
9340
9341         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
9342         (gdk_window_set_geometry_hints): Add win_gravity
9343         to geometry structure.
9344
9345         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
9346         Implement _NET_WM_PING.
9347
9348         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
9349         Set _NET_WM_PID on the client leader.
9350
9351         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
9352         Handle UTF-8 better.
9353
9354         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
9355         UTF-8 better, set _NET_WM_NAME as well. Only set
9356         icon name if it hasn't previously been explicitely 
9357         set.
9358
9359 2000-10-03  Havoc Pennington  <hp@redhat.com>
9360
9361         * gtk/testtextbuffer.c: clean up trailing whitespace,
9362         add extensive tests for tag toggle iteration.
9363         
9364         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
9365         distance
9366
9367         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
9368         optimize case where the tag root is on level 1
9369         (gtk_text_line_previous_could_contain_tag): attempt to implement
9370         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
9371         functionality
9372
9373         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
9374         Implement this, though not very efficiently.
9375
9376         * gtk/gtktextiterprivate.h: reformat
9377
9378         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
9379         iterator
9380
9381         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
9382         this to properly revalidate the iterators.
9383
9384         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
9385         properly at the end of the line (and therefore on empty lines)
9386
9387         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
9388         maybe we should return a value...
9389
9390 2000-10-03  Tor Lillqvist  <tml@iki.fi>
9391
9392         * config.h.win32: Guard definition of alloca(). glib.h now handles
9393         that.
9394
9395         * gdk/gdk.def
9396         * gtk/gtk.def: Add new entry points.
9397
9398         Changes just to make GTK+ build without errors on Win32. No hope
9399         of it working in its current state, though...:
9400         
9401         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
9402         some functions from the X11 backend, just to make GTK+ build.
9403
9404         * gdk/makefile.mingw.in
9405         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
9406         number. Add new object files.
9407
9408         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
9409         GetMessageTime to get timestamp (where on X11 uses
9410         gdk_x11_get_server_time()).
9411
9412 2000-10-02  Havoc Pennington  <hp@pobox.com>
9413
9414         * gtk/gtktextview.c: text_window_* weren't static and should have
9415         been.
9416         Start work on child widgets; not yet complete, syncing to 
9417         office computer.
9418
9419         * gtk/gtktextchild.h: change this to contain a public interface,
9420         starting work on child interfaces.
9421         * gtk/gtktextchildprivate.h: move private interfaces here
9422
9423         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
9424
9425         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
9426         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
9427         gtk/gtktextmark.c: copyright notices
9428
9429         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
9430         internal functions      
9431
9432         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
9433         internal function
9434
9435         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
9436         Reformatting    
9437
9438 2000-09-30  Havoc Pennington  <hp@pobox.com>
9439
9440         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
9441         NULL start/end pointers
9442
9443         * gtk/gtktextbuffer.c: Write some docs
9444         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
9445         NULL, so you can just check whether there's a selection.        
9446
9447         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
9448         cleanup_line or segments_changed ourselves, it gets done 
9449         in unlink_segment
9450
9451         * gtk/gtktextmark.h:
9452         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
9453         
9454         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
9455
9456         * gtk/gtktextmark.c: delete some more old Tk cruft
9457
9458         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
9459         mark before removing it, so we can emit MARK_DELETED with a valid
9460         pointer.
9461         (gtk_text_buffer_mark_set): hold ref across signal emission
9462
9463         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
9464         whining about attempts to delete special marks
9465
9466         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
9467         underscore, since it's internal.
9468
9469         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
9470         now implemented in terms of iterators in gtktextiter.h
9471
9472         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
9473         New function, destructively sets contents of buffer. Also 
9474         a convenient way to clear the buffer by setting text to ""
9475
9476         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
9477         multiline string literal
9478
9479         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
9480         text changes.
9481
9482         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
9483         is not dereferenceable
9484         (gtk_text_iter_forward_lines): fix return value
9485
9486 2000-09-29  Havoc Pennington  <hp@redhat.com>
9487
9488         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
9489
9490         * gtk/gtktextview.c: Implement drag thresholding; change functions 
9491         that set border window size to have nicer name
9492         (gtk_text_view_mark_set_handler):  Fix this to have the 
9493         right signature.
9494
9495         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
9496
9497         * gtk/testtext.c: Update with API changes, put line numbers on 
9498         both sides.
9499         
9500         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
9501         with this
9502
9503         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
9504         pixbuf; delete a big block of #if 0 Tk code
9505
9506         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
9507         insert_pixmap with insert_pixbuf
9508
9509 2000-09-29  Martin Baulig  <baulig@suse.de>
9510
9511         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
9512         confusion with the GdkPixbuf of the GNOME 1.x platform.
9513
9514 2000-09-29  Havoc Pennington  <hp@pobox.com>
9515
9516         * gtk/gtktextview.c: Implement the side windows.
9517
9518         * gtk/testtext.c: Implement simple line numbering in the 
9519         left side window; seems to make scrolling sloooow. Oops.
9520         Also, cursor blink is for some reason causing redraws
9521         of the line numbers. Should investigate...
9522
9523 2000-09-28  Havoc Pennington  <hp@redhat.com>
9524
9525         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
9526         scrolling child windows, and draw focus rectangle properly.
9527         
9528         (gtk_text_view_buffer_to_window_coords):
9529         Coordinate transformation to deal with all these freaking windows
9530         and offsets
9531         (gtk_text_view_window_to_buffer_coords): transform the other way
9532
9533         * gtk/testtext.c (create_buffer): Update to match Pango API change
9534
9535         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
9536         anonymous tags
9537         (foreach_unref): don't emit remove signal from finalize, just
9538         set tag's parent to NULL
9539
9540 2000-09-26  Havoc Pennington  <hp@redhat.com>
9541
9542         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
9543         Fix some warnings       
9544
9545 2000-09-26  Havoc Pennington  <hp@redhat.com>
9546
9547         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
9548         headers into the private header list
9549
9550         * Makefile.am (pkgconfig_DATA): install pkg-config files
9551
9552         * configure.in: add pkg-config files
9553
9554         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
9555
9556         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
9557         outstanding icon caches on theme change.
9558
9559         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
9560         important types:
9561
9562         (GtkIconSource): Specification for creating a pixbuf 
9563         appropriate for a direction/state/size triplet from 
9564         a source pixbuf or filename
9565
9566         (GtkIconSet): List of GtkIconSource objects that are used to
9567         create the "same" icon (e.g. an OK button icon), and cache for
9568         rendered icons
9569
9570         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
9571         up the icon set for a given stock ID.  GTK maintains a stack of
9572         GtkIconFactory to search, and applications or libraries can add
9573         additional icon factories on top of the stack
9574         
9575         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
9576         the set of GtkIconSource specified for a given stock ID into 
9577         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
9578         RcStyle, under the specified stock ID.
9579
9580         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
9581         render_icon used to derive a GdkPixbuf from a GtkIconSource.
9582         This allows people to theme how prelight, insensitive, etc. are
9583         done.
9584
9585         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
9586         icon factories for a style, and return the resulting 
9587         icon set if any.
9588
9589         (gtk_style_render_icon): Render an icon using the render_icon 
9590         method in the GtkStyleClass.
9591
9592         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
9593         Use the style for a given widget to look up a stock ID, get the
9594         icon set, and render an icon using the render_icon method 
9595         of the style
9596
9597         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
9598         (contains information about a stock item), the built-in stock item
9599         IDs, and functions to add/lookup stock items.
9600
9601         * gtk/stock-icons/*: Stock icons that come with GTK
9602
9603         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
9604         a button based on a GtkStockItem
9605         (gtk_button_new_accel): Takes a uline string and accel group, and
9606         installs the accelerator.
9607
9608         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
9609         image-display widget.
9610
9611 2000-09-25  Havoc Pennington  <hp@redhat.com>
9612
9613         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
9614
9615         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
9616         Fix a bug when removing node data, we didn't properly 
9617         re-splice the linked list after removing the data.
9618
9619         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
9620         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
9621
9622         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
9623
9624         * gtk/gtktextlayout.c (set_para_values): Set tab array 
9625         for the layout from the GtkTextTag.
9626
9627         * gtk/gtktexttypes.h: delete tab and search cruft, 
9628         remove g_convert() in favor of GLib version
9629
9630         * gtk/gtktexttypes.c: remove tab implementation from here,
9631         move to Pango
9632
9633         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
9634         tab stuff using new PangoTabArray from Pango
9635
9636         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
9637         unused border_width stuff
9638
9639 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
9640
9641         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
9642         glib) and now useless utf_to_latin1() latin1_to_utf()
9643
9644         * gtk/gtktextview.[ch]: Change ::move_insert and
9645         ::delete_text action signals to ::move and ::delete;
9646         create the signals with the right enumeration type,
9647         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
9648         C-v bindings, change Home, End to move to beginning/end
9649         of line, Add C-Home C-End to move to beginning/end
9650         of buffer. Change ::cut_text to ::cut_clipboard, etc;
9651         combine ::scroll_text into ::move; use new GtkSelectionData
9652         functions to simplify DND text handling.
9653         
9654         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
9655         deletion enumerations here, rename enumeration values to 
9656         be consistently plural.
9657
9658         * gtk/gtktextbuffer.c: Use new clipboard interfaces
9659         for cut/copy/paste and primary selection.
9660
9661         * gtk/gtktextbuffer.[ch]: Remove excess time and
9662         'interactive' arguments from cut/copy/paste;
9663         rename cut to cut_clipboard, etc; remove
9664         gtk_text_buffer_get_clipboard_contents().
9665
9666         * gtk/gtktextlayout.[ch]: Add 
9667         gtk_text_layout_move_iter_to_line_end() to move the iter to 
9668         line ends.
9669
9670         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
9671         Functions to set or get a UTF-8 string on the selection
9672         data.
9673
9674         * gtk/gtkclipboard.[ch]: New, simplified selection handling
9675         interfaces.
9676
9677         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
9678         created widgets - one of these is useless if we don't.
9679
9680         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
9681         a public function clear all targets registered for the
9682         widget.
9683
9684         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
9685         Never call gtk_widget_realize() - that was just asking
9686         for bizarre side-effects.
9687
9688         * gtk/gtkselection.c (gtk_selection_owner_set): Call
9689         gdk_selection_owner_set even if the widget is the
9690         same so that we reliably update the timestamp on
9691         the server.
9692
9693         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
9694         gdk_x11_get_server_time() function.
9695         
9696         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
9697         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
9698         Add some tricky filtering on serial numbers for
9699         selection clear events to fix up long-standard
9700         race condition FIXME's in gtkselection.c.
9701
9702         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
9703         routines to convert from utf8 to compound text or
9704         STRING and from a text property to UTF-8.
9705
9706         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
9707         a convenience function gdk_get_current_event_time().
9708
9709         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
9710         and free selection_data->data properly
9711
9712 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
9713
9714         * gtk/gtkthemes.c: Remove some unecessary includes.
9715
9716 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
9717
9718         * gtk/gtktextdisplay.c
9719         * gtk/gtktextlayout.c
9720         * gtk/gtktexttag.c
9721         * gtk/gtktexttag.h
9722         * gtk/testtext.c: Change the overstrike property to strikethrough,
9723         to closer match pango.
9724
9725 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
9726
9727         * gtk/gtktextview.c: Fix up visibility so that focus,
9728         cursor_visible and blink interact properly.  Reenable cursor blink
9729         which had been roughly disabled. Make blink and focus
9730         properly per-view.
9731
9732         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
9733         Add a flag for whether to display insertion cursor and
9734         a function to set the flag.
9735
9736         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
9737         get_line_y() to get_line_yrange(), to be a bit more generally
9738         useful.
9739
9740 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
9741
9742         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
9743           do stop_navigating_submenu, to clear last timeout properly.
9744           Also in gtk_menu_motion_notify move ignore_enter above
9745           the conditional to make it always happen as suggested by Owen
9746
9747 2000-09-07  Tor Lillqvist  <tml@iki.fi>
9748
9749         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
9750
9751         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
9752         w32api headers.
9753
9754         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
9755         declarations.
9756
9757         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
9758         (gdk_win32_get_colormap): A line had been deleted by mistake.
9759
9760         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
9761         (gdk_event_translate): Handle more virtual keycodes to be able to
9762         generate GDK events for Control-comma, Control-period, etc.
9763
9764         * gtk/gtk.def: Add some missing entry points.
9765
9766 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
9767
9768         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
9769         Doc comment fixing. (Mostly non-matching parameter names.)
9770
9771         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
9772         comments a little to avoid looking like a doc comment.
9773
9774         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
9775         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
9776         conversions be changed to GError?)
9777
9778         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
9779         Move private #defines into .c file.
9780
9781         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
9782         order of argument addition, remove duplicates.
9783
9784         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
9785         parent class is FrameClass, not BinClass.
9786
9787         * gtk/gtk.h: Add gtkinvisible, which was missing.
9788         (It's occasionalyl useful for client apps, if seldom.)
9789
9790         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
9791         #define.
9792
9793 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
9794
9795         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
9796         coordinates when creating window, instead of GDK-space
9797         coordinates. (Avoid BadValue on too large windows.)
9798
9799 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
9800
9801         * configure.in (use_mmx_asm): Remove conftest* after use along the
9802         lines of AC_TRY_COMPILE.        
9803         
9804         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
9805         of g_dirname, which is deprecated.
9806         (gtk_rc_parse_any): Removed calls to
9807         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
9808
9809         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
9810         Removed calls to g_hash_table_{freeze,thaw}, as they are
9811         deprecated now.
9812
9813         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
9814         instead of g_basename.
9815         
9816 2000-09-04 Elliot Lee <sopwith@redhat.com>
9817         
9818         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
9819         ANSI warning.
9820
9821 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
9822
9823         * gtk/gtkwidget.h:  Add some documenting comments about 
9824           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
9825           just as owen said on irc.
9826
9827         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
9828           set HAS_DEFAULT.  Only set it if there isn't another window
9829           holding it (a focus window which RECEIVES_DEFAULT) and only unset
9830           it if the widget is not the focused window with RECEIVES_DEFAULT.
9831           This fixes weird double default bugs in dialogs which has things
9832           call gtk_window_set_default at times.
9833
9834 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
9835
9836         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
9837         Nils Barth and David Santiago to improve submenu
9838         navigation. The patch does this by creating a triangular
9839         region from the point where the pointer leaves the
9840         menu to the submenu.  While the pointer is in
9841         that region and a timeout has not expired, events 
9842         that would cause the active submenu to change are
9843         ignored.
9844
9845 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
9846
9847         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
9848         moving a toplevel window immediately after sizing it would
9849         result in it being sized back to the old size since 
9850         impl->width, impl->height aren't updated until we hear
9851         back from the server. There is still a (longstanding) bug
9852         here that gdk_window_get_size() will give the wrong size
9853         until we do hear back.
9854
9855 2000-08-31  Havoc Pennington  <hp@redhat.com>
9856
9857         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
9858         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
9859         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
9860         Rename GtkTextStyleValues to GtkTextAttributes
9861
9862 2000-08-31  Havoc Pennington  <hp@pobox.com>
9863
9864         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
9865         for rapid testing whether an iterator is the end iterator
9866         (gtk_text_btree_new): init end line cache
9867         (gtk_text_line_is_last): use fast cached line to 
9868         see if we're the last line.
9869         (get_last_line): use cached line here too, should 
9870         speed up some random unrelated code.
9871         
9872 2000-08-30  Havoc Pennington  <hp@pobox.com>
9873
9874         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
9875         signals.
9876
9877         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
9878         delete_text signals. This allows the signals to be used for
9879         implementing undo.
9880
9881         * gtk/gtktextbuffer.c: Change signal handler signatures; 
9882         provide "interactive" argument when emitting insert_text or
9883         delete_text signal.
9884         
9885 2000-08-30  Havoc Pennington  <hp@pobox.com>
9886
9887         * gtk/gtktextbuffer.c: Docs
9888
9889 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
9890
9891         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
9892         from switch statements, since Tor removed the enumeration
9893         value.
9894         
9895         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
9896         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
9897
9898 2000-08-29 Elliot Lee <sopwith@redhat.com>
9899         * */*.h: Use G_GNUC_CONST.
9900
9901 2000-08-27  Havoc Pennington  <hp@pobox.com>
9902
9903         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
9904         minor indentation fixes, inserted some FIXME about stuff I
9905         realized was broken while documenting it.
9906         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
9907         GTK convention  
9908
9909 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
9910
9911         * gtk/testgtk.c (create_styles): Fix double free of
9912         font desc.
9913
9914 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9915
9916         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
9917         
9918         * gtk/testgtk.c (create_styles): Add a test for modifying
9919         the style through gtk_widget_modify_*.
9920
9921         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
9922         a function to get the current modifier style.
9923
9924         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
9925         of the passed in GtkRcStyle instead of ref'ing it.
9926
9927         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
9928
9929 2000-08-20  Tor Lillqvist  <tml@iki.fi>
9930
9931         * gdk/gdkimage.h
9932         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
9933         shared memory image+pixmap GdkImage type, or
9934         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
9935         I am dropping that.
9936
9937         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
9938         actually call gtk_init_abi_check(), passing also
9939         sizeof(GtkWindow). Ditto for gtk_init_check(). 
9940
9941         * gtk/gtk.def
9942         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
9943         New functions, used to check that the GTK+-using code has been
9944         compiled using the correct compiler and switches. In particular,
9945         with gcc one has to use the -fnative-struct switch as GTK+ is
9946         compiled with that.
9947
9948 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
9949
9950         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
9951         ->prev fields when merging lists. (Found simultaneously
9952         by Pawel Salek and Jakub Jelinek)
9953
9954 2000-08-12  Tor Lillqvist  <tml@iki.fi>
9955
9956         * gdk/gdk.def
9957         * gtk/gtk.def: Add missing entries.
9958
9959         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
9960         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
9961
9962         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
9963         function. Dummy implementation at this point.
9964
9965         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
9966         rules. Undefine GTK_COMPILATION when compiling the test programs.
9967         
9968         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
9969
9970 2000-08-11  Tor Lillqvist  <tml@iki.fi>
9971
9972         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
9973         to convert back and forth from UTF-8 and the "system" (or "current
9974         locale") charset when necessary. Indentation/spacing cleanup.
9975
9976 2000-08-10  Havoc Pennington  <hp@redhat.com>
9977
9978         * Makefile.am (snapshot): Change the format of the snapshot
9979         version to match glib
9980
9981         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
9982         from EXTRA_DIST since it doesn't seem to exist
9983
9984 2000-08-10  Tor Lillqvist  <tml@iki.fi>
9985
9986         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
9987         version of the directory name (not the UTF-8 one) when building
9988         the path name to stat().
9989
9990 2000-08-03  Elliot Lee  <sopwith@redhat.com>
9991
9992         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
9993         PANGO_ATTR_SHAPE set.
9994
9995 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
9996
9997         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
9998         Peter Osterlund to simplify the code while keeping the
9999         functionality the same.
10000
10001 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
10002
10003         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
10004         is_viewable() test further inside the function, since removing the 
10005         window from the redraw list without clearing ->update_area
10006         was also very broken.
10007
10008 2000-08-02  Tor Lillqvist  <tml@iki.fi>
10009
10010         * configure.in: Check for <unistd.h>.
10011
10012 2000-08-01  Martin Baulig  <baulig@suse.de>
10013
10014         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
10015         to display the message that this is a development version of GTK+.
10016
10017 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
10018
10019         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
10020         was depending on widget->allocation instead of the width of text_area,
10021         which was incorrect for subclasses like GtkSpinButton.
10022
10023         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
10024         with width == 1 tests that should be width == -1.
10025
10026 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
10027
10028         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
10029         (broken, Elliot, every single window blank on X) custom code with call
10030         to gdk_window_is_viewable() which a) prevents code duplicate and
10031         b) works. 
10032
10033 2000-07-31  Elliot Lee  <sopwith@redhat.com>
10034
10035         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
10036         to get the GDK_PARENT_ROOT() macro to work.
10037         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
10038         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
10039         of, windows that aren't shown.
10040         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
10041         pointer grab stuff.
10042
10043 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
10044
10045         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
10046           s/gtk_main_iteration/g_main_iteration/
10047
10048           Did this already in change:
10049                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
10050           don't know how it got reverted.
10051
10052 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
10053
10054         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
10055         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
10056
10057         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
10058         not gdk_pixbuf.
10059
10060 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
10061
10062         * configure.in,po/{sp,sr}.po: Added Serbian files
10063
10064 2000-07-30  Tor Lillqvist  <tml@iki.fi>
10065
10066         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
10067
10068         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
10069         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
10070         GIOChannel implementation.
10071
10072         * gdk/win32/gdkinput.c
10073         * gdk/win32/gdkpango-win32.c: Update license name here, too.
10074
10075         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
10076         definition to match prototype.
10077
10078         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
10079
10080 2000-07-27  Elliot Lee  <sopwith@redhat.com>
10081
10082         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
10083         function, to allow handling image formats that cannot be detected
10084         by looking at content alone.
10085
10086 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
10087
10088         * docs/tutorial/*.gif *.jpg *.eps
10089           Update these to the same look-n-feel.
10090           Why does including images in DocBook suck so badly?
10091
10092 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
10093
10094         * gtk/gtktable.c: applied patch from Phil Thompson
10095         <phil@river-bank.demon.co.uk> that enables space settings for
10096         the last row/columns as well.
10097
10098 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
10099
10100         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
10101         updates the license headers to the GNU Lesser General Public License,
10102         as well as updating the copyright year to 2000.
10103
10104 2000-07-26  Robert Brady  <rwb197@zepler.org>
10105
10106         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
10107           and po/Makefile, was installing and looking for them under gtk20
10108           and gtk2 respectively.
10109
10110 2000-07-25  Havoc Pennington  <hp@redhat.com>
10111
10112         * gtk/testtext.c: Comment out some stuff that depends on the rest
10113         of my patches.
10114
10115 2000-07-25  Havoc Pennington  <hp@redhat.com>
10116
10117         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
10118         buffer
10119
10120 2000-07-25  Havoc Pennington  <hp@redhat.com>
10121
10122         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
10123         widget changes.
10124
10125         * gtk/gtktextview.h: To be consistent with usage of "line"
10126         throughout the API to mean "newline-terminated thingy", change
10127         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
10128         to MOVEMENT_LINE.
10129
10130         (GtkTextView): Add flags for default editability, and whether to
10131         show the cursor. Add functions to get/set that. Add 
10132
10133         (gtk_text_view_get_iter_location): new function
10134
10135         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
10136         gtktextlayout.h
10137         (g_convert): Add g_convert temporarily, will go in glib in a bit
10138         
10139         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
10140         GtkTextTagTableForeach instead of brokenly using GHFunc.
10141         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
10142
10143         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
10144         moved to public header.
10145
10146         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
10147         "invisible", since "elide" was a bad name.
10148         (gtk_text_tag_get_priority): Added
10149
10150         (GtkTextStyleValues): put this in public header, along with
10151         functions to use it.
10152
10153         * gtk/gtktextmarkprivate.h: Include more headers, since we no
10154         longer include gtktextbtree.h.
10155
10156         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
10157         gtk_text_mark_deleted
10158
10159         * gtk/gtktextlayout.h: Don't include the "really private" headers,
10160         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
10161         to make this possible. Now we only need to install
10162         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
10163         (However the Makefile.am isn't changed yet because of the
10164         logistics of merging gtk-hp-patches piecemeal)
10165
10166         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
10167         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
10168         gtk_text_iter_get_line is now used in the public API for a
10169         different purpose.
10170
10171         * gtk/gtktextiter.h: Clean up function names to be more
10172         consistent. Always call char offset "offset" and byte index
10173         "index". A "line" is always a line number. 
10174
10175         (gtk_text_iter_is_last): new function, more efficient than 
10176         the existing way to check
10177         (gtk_text_iter_is_first): new function, also more efficient
10178
10179         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
10180
10181         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
10182         gtk_text_iter_forward_char, etc.
10183
10184         (gtk_text_iter_forward_to_tag_toggle): Renamed from
10185         forward_find_tag_toggle, since this isn't a linear search
10186
10187         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
10188
10189         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
10190         New functions, search for a buffer substring.
10191
10192         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
10193         interactive and default editable (since we need to store that info
10194         until we receive the selection data).
10195
10196         Remove all the _at_char and at_line etc. versions of functions;
10197         only have iterator versions.
10198
10199         Add _interactive() versions of functions, that consider the
10200         editability of text. (FIXME add interactive flag to the 
10201         insert/delete signals per Darin's suggestion)
10202
10203         (gtk_text_buffer_get_tag_table): new function, demand-creates the
10204         tag table if necessary
10205
10206         Remove declaration of gtk_text_buffer_get_iter_from_string
10207
10208         (_gtk_text_buffer_get_btree): private/internal function, added.
10209         
10210
10211         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
10212         (gtk_text_line_is_last): new function
10213
10214 2000-07-25  Havoc Pennington  <hp@redhat.com>
10215
10216         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
10217         using GtkProgressBar. See Changes-2.0.txt for details.
10218
10219         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
10220         "pulse_step" which are the equivalent of
10221         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
10222         Implement new API.
10223         
10224         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
10225         (use_text_format) to mark whether text set on the progress bar is
10226         a format string. Deprecate entire GtkProgress interface.
10227
10228         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
10229         (gtk_progress_build_string): make this a no-op if use_text_format
10230         is FALSE
10231
10232         * docs/Changes-2.0.txt: Describe progress bar changes.
10233
10234 2000-07-25  Tor Lillqvist  <tml@iki.fi>
10235
10236         * Makefile.am: Include the build directory.
10237
10238         * configure.in: Generate build/Makefile, build/win32/Makefile,
10239         gdk/, gdk/win32/, and gtk/makefile.mingw.
10240
10241         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
10242         Add GETTEXT_PACKAGE.
10243         
10244         * gdk/gdk.def
10245         * gtk/gtk.def: Updates.
10246
10247         * gdk/gdkfont.h
10248         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
10249         need them any longer.
10250
10251         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
10252
10253         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
10254         PANGOWIN32_LIBS and gdk_pixbuf.
10255
10256         * gdk/win32: Compiles, but no doubt doesn't work at all.
10257
10258         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
10259
10260         * gdk/win32/gdkinput.c: New file, temporarily.
10261         
10262         * gdk/win32/gdkinput-win32.h: New file
10263
10264         * gdk/win32/gdkinputprivate.h: Remove.
10265
10266         * gdk/win32/gdkpango-win32.c: New file.
10267
10268         * gtk/makefile.mingw.in: New file
10269
10270         * gtk/makefile.cygwin: Removed
10271         
10272         * gtk/Makefile.am: Update accordingly.
10273
10274         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
10275         made externally visible.
10276
10277         * gtk/gtkmain.c: Use it.
10278         
10279         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
10280         is enough.
10281
10282         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
10283
10284 2000-07-24 Elliot Lee <sopwith@redhat.com>
10285         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
10286         individual backends already.
10287         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
10288         again. Yes, there really is a good reason for this, if you are using the gdkregion
10289         internals, and if you're not, why do you care?
10290         * gdk/gdkwindow.c: Fix inverted condition
10291         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
10292         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
10293         * gtk/gtkrange.c: Redraw trough when moving.
10294         * gtk/gtktypeutils.c: Fix warning by adding const cast.
10295         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
10296
10297 2000-07-23  Tor Lillqvist  <tml@iki.fi>
10298
10299         * configure.in: Check for mkstemp and sigsetjmp. Output
10300         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
10301
10302         More work on GDK for Win32. Still in an intermediate state.
10303
10304         * gdk/makefile.cygwin
10305         * gdk/win32/makefile.cygwin: Removed.
10306         
10307         * gdk/makefile.mingw.in
10308         * gdk/win32/makefile.mingw.in: New files.
10309
10310         * gdk/Makefile.am
10311         * gdk/win32/Makefile.am: Generate and distribute them.
10312
10313         * gdk/win32/gdkwindow-win32.h
10314         * gdk/win32/gdkdrawable-win32.h
10315         * gdk/win32/gdkpixmap-win32.h: New files.
10316
10317         * gdk/win32/gdkcolor-win32.c
10318         * gdk/win32/gdkcursor-win32.c
10319         * gdk/win32/gdkdrawable-win32.c
10320         * gdk/win32/gdkgc-win32.c
10321         * gdk/win32/gdkimage-win32.c
10322         * gdk/win32/gdkprivate-win32.h
10323         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
10324         Rename fields and variables called xcursor, xid, etc (these names
10325         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
10326
10327 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
10328
10329         * gtk/gtkentry.[ch]: Fix some problems with vertical
10330         alignment.
10331
10332         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
10333         char/byte confusion.
10334
10335 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
10336
10337         * gtk/gtktextview.c (changed_handler): Fix bug where
10338         redraw wasn't being done properly when height of
10339         dirty region changed.
10340
10341         * demos/Makefile.am: Remove various references to
10342         -lgmodule
10343
10344 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
10345
10346         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
10347         PangoAttrShape to reserve space for pixmaps, add 
10348         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
10349         in the display functions.
10350         
10351         * gtk/testgtk.c (create_layout): Set some more exotic
10352         scrolled window options
10353
10354         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
10355         Add function to set the shadow type of a window, to allow
10356         putting a shadow around widgets such as GtkLayout or GnomeCanvas
10357         which don't draw their own frame.
10358
10359 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
10360
10361         * docs/tutorial/package-db-tutorial.sh: New file for
10362           packaging DocBook format tutorial
10363
10364 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
10365
10366         * docs/tutorial/gtk-tut.sgml: Minor updates
10367
10368         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
10369
10370 2000-07-19  Tor Lillqvist  <tml@iki.fi>
10371
10372         * gtk/gtksignal.c: Fix C++ comment.
10373
10374         * gtk/gtkimmulticontext.c
10375         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
10376         don't return value from void functions.
10377
10378         * gtk/gtk.def: Add gtk_rc_style_unref.
10379
10380 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
10381
10382         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
10383         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
10384         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
10385         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
10386         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
10387         gtk/gtktypeutils.h: Include files outside of the extern "C"
10388         block. Makes some C++ compiler happy. Reported by Denis Vakatov
10389         <vakatov@peony.nlm.nih.gov>.
10390
10391 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
10392
10393         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
10394           Completes first pass. Hurrah!
10395
10396 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
10397
10398         * docs/tutorial/gtk-tut.sgml: More clean ups.
10399
10400 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
10401
10402         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
10403         paint the background of the text area which was accidentally
10404         removed at some point.
10405
10406         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
10407           
10408          - Move most of the functionality from the theme vtable
10409            into GtkRcStyleClass and GtkStyleClass. The moved
10410            vtable functions were changed a bit in the move to
10411            work better in their new home.
10412
10413          - Get rid of the engine and engine_data fields from
10414            GtkRcStyle and GtkStyle; instead the theme
10415            engine derives theme-specific subclasses of GtkRcStyle
10416            and GtkStyle
10417
10418          - Add extra dlsym() found entry point to themes,
10419            theme_create_rc_style().
10420
10421         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
10422         in gtk_style_real_copy.
10423
10424         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
10425         to register a type associated with an engine. (The engine
10426         won't be unloaded as there is an instance of the type.)
10427
10428
10429 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
10430
10431         * docs/tutorial/gtk-tut.sgml: Clean ups.
10432
10433 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
10434
10435         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
10436           of cleaning up to do.
10437
10438 2000-07-15  Tor Lillqvist  <tml@iki.fi>
10439
10440         * gdk/testgdk.c: New file, quick hack to test backends for
10441         pixel-by-pixel correctness of the most simple graphic operations.
10442
10443 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
10444
10445         * Really release 1.3.1
10446         
10447         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
10448         include structure.
10449
10450 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
10451
10452         * Released 1.3.1
10453
10454 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
10455
10456         * gtk/gtktextlayout.c: use FALSE for size_only most
10457         of the time when calling gtk_text_layout_get_line_display()
10458         to avoid causing double reshapes when a redraw follows
10459         immediately after.
10460
10461 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
10462
10463         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
10464         appropriate region and gdk_window_process_updates() so trough
10465         updating doesn't lag behind the window being scrolled.
10466
10467         * gdk/gdkgc.c: Make parent_class pointer static.
10468          
10469 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
10470
10471         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
10472         include <string.h>.
10473          
10474         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
10475         cut-and-paste error in computing memory offset for 4 channels.
10476
10477 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
10478
10479         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
10480         gtk_rc_append_default_pixmap_path(), since it wasn't
10481         adding an interesting path and we don't have a meaningful
10482         default for this value.
10483
10484 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
10485
10486         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
10487         gtk-config to gtk-config-2.0 move gtk_.m4 to
10488         gtk-2.0.m4
10489
10490         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
10491         gdk/Makefile.am demos/Makefile.am: Change 
10492         library names to libgtk-1.3.la, etc, so that we
10493         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
10494
10495         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
10496         gdk/Makefile.am gdk/x11/Makfile.am
10497         Move include files into /usr/include/gtk-2.0, 
10498         /usr/lib/gtk-2.0/include/
10499          
10500         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
10501         gtk/gtkintl.h: Change package for gettext from 
10502         gtk+ to gtk20. Put hack in autogen.sh to modify
10503         po/Makefile.in.in after gettextize to make this
10504         possible.
10505
10506         * gtk+.spec: Some updates, not tested.
10507
10508         * gdk-pixbuf/Makefile.am: Move loaders into
10509         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
10510
10511         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
10512         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
10513         to THEMENAME/gtk-2.0/. Move engine directory  to
10514         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
10515         
10516 2000-07-12  Tor Lillqvist  <tml@iki.fi>
10517
10518         Win32 changes, still doesn't build though.
10519
10520         * gdk/makefile.cygwin
10521         * gdk/win32/makefile.cygwin
10522         * gtk/makefile.cygwin: Updates.
10523
10524         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
10525         default values for fg and bg pixel as X11 does (0 and 1), not
10526         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
10527         Use 0 for pen width by default (treated as 1 anyway later, but for
10528         apps that might check the value in the GdkGC).
10529         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
10530         interface to gdk_gc_predraw and _postdraw.
10531
10532         * gdk/win32/gdkwin32.h
10533         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
10534
10535         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
10536         extraneous semicolon.
10537
10538         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
10539
10540         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
10541         not the Win32 bitspixel value.
10542
10543         * gdk/win32/gdkcc-win32.c:
10544         * gdk/win32/gdkcolor-win32.c 
10545         * gdk/win32/gdkprivate-win32.h
10546         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
10547         GDK object structure.
10548
10549 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
10550
10551         * docs/tutorial/gtk_tut_12.es.sgml (name): 
10552         * docs/tutorial/gtk_tut_it.sgml (name): 
10553         * docs/tutorial/gtk_tut_fr.sgml (name): 
10554         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
10555         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
10556
10557 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
10558
10559         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
10560           small changes.
10561
10562 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
10563
10564         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
10565         a bug here, never been here and never fixed anything ;(
10566         (don't segfault if tree->root_tree is NULL, which happens prior
10567         to widget realization, but puke instead).
10568
10569 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
10570
10571         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
10572         add the necessary tokens.
10573
10574         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
10575         (gtk_rc_style_to_style): copy thicknesses.
10576         (gtk_rc_init_style): apply thicknesses.
10577         (gtk_rc_parse_style): parse xthickness and ythickness.
10578
10579         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
10580
10581         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
10582         (gdk_window_new): 
10583         (_gdk_windowing_window_init): 
10584         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
10585         (gdk_pixmap_create_from_data): 
10586         (gdk_bitmap_create_from_data): 
10587         (gdk_pixmap_new): 
10588         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
10589         (gdk_image_new): 
10590         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
10591         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
10592         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
10593         (gdk_colormap_get_system): 
10594         (gdk_colormap_new): 
10595         * gdk/gdkwindow.c (gdk_window_init): 
10596         * gtk/gtkstyle.c (gtk_style_new):
10597         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
10598         * gdk/gdkpixmap.c (gdk_pixmap_init): 
10599         * gtk/gtkrc.c (gtk_rc_style_new):
10600         use g_object_new() instead of g_type_create_instance() which
10601         is a private function for fundamental type implementations.
10602
10603 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
10604
10605         * configure.in: Add check for db2html
10606
10607 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
10608
10609         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
10610         hack to set glib_debug_objects based on gtk_debug_flags.
10611
10612 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
10613
10614         * INSTALL.in: Update the Prerequisites section.
10615
10616         * Makefile.am demos/Makefile.am docs/Makefile.am
10617         docs/tutorial/Makefile.am gdk/x11/Makefile.am
10618         gdk/linux-fb/Makefile.am: Dist fixes
10619
10620 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
10621
10622         * NEWS: 10,000 foot view of 1.3.1 changes.
10623
10624 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
10625
10626         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
10627         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
10628         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
10629         gdk/x11/gdkmain-x11.c: 
10630
10631         Patch from George Lebl to add a GdkGrabStatus enumeration to use
10632         as a return value of gdk_*_grab(). Previously, we just
10633         returned the X11 values directly.
10634
10635 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
10636
10637         * gdk/x11/Makefile.am: Patch from George Lebl to 
10638         install all the headers in the right place.
10639
10640 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
10641
10642         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
10643           initial conversion to DocBook.
10644
10645 2000-07-04  Tor Lillqvist  <tml@iki.fi>
10646
10647         * README.win32: Improve a bit.
10648
10649         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
10650         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
10651         Alt+0nnn on the numpad (used to enter characters by numeric code
10652         from current DOS or ANSI codepage) working correctly, as in other
10653         Windows apps.
10654
10655         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
10656         same argument validity tests as in X11 version.
10657         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
10658
10659         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
10660         definitions in case missing from headers.
10661
10662         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
10663         destroy the window-specific cursor.
10664         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
10665         calling GetModuleHandle(NULL).
10666         (gdk_window_set_cursor): Reworked to always copy the passed cursor
10667         with CopyCursor before setting it as the window-specific
10668         cursor. It is OK for the caller to destroy the GdkCursor (and thus
10669         also its Windows cursor) after calling this function. Destroy any
10670         previous window-specific cursor.
10671
10672 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
10673
10674         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
10675         font charset is iso8859-1, not iso-8859-1.
10676
10677 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
10678
10679         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
10680         Use g_get_charset() instead of g_get_codeset().
10681
10682         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
10683         Comment out some strdup'ing functions to keep timj
10684         happy until we finish fighting this out.
10685
10686 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
10687
10688         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
10689         <= width or height.
10690
10691         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
10692         from 1.2 for parent/child states.
10693
10694         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
10695         of typos.
10696
10697         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
10698         event structures, replace with a generic axes field. Replace 
10699         deviceid/sourec with GdkDevice *device.
10700
10701         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
10702         to extract particular axis use value from event. (Also
10703         can be used for normal X/Y.)
10704
10705         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
10706         allow for arbitrary number of axes, namespace everything
10707         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
10708         everywhere.
10709
10710         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
10711         Get rid of the gdk_input_vtable setup if favor of simply
10712         defining the functions in gdkinput-none/gxi/xfree.c in
10713         a similar fashion to the way that the port structure is 
10714         done.
10715
10716         * gtk/gtkdnd.c: Fix fields of synthesized button press event
10717         for new event structures. 
10718
10719         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
10720         new device interfaces.
10721
10722 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
10723
10724         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
10725         set the initial text.
10726
10727         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
10728         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
10729         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
10730         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
10731
10732         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
10733         pango_layout_set_font_description to simplify.
10734
10735 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
10736
10737         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
10738         pango_layout_set_font_description to simplify.
10739
10740 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
10741
10742         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
10743         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
10744         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
10745
10746         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
10747         PANGO_PIXELS() macro.
10748
10749 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
10750
10751         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
10752         that returns a PangoContext owned by the widget and updated to
10753         match future changes in the widget. Also, make 
10754         gtk_widget_create_pango_layout() use this context. If we ever
10755         add a ::changed signal to PangoContext, this will make things
10756         much more convenient. 
10757
10758         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
10759         in the appropriate places instead of destroying the layouts and
10760         creating new ones.
10761
10762         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
10763         in a few strategic places.
10764
10765 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
10766
10767         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
10768         gtk_widget_size_request() on reparented child, if one. Otherwise,
10769         queue_resize() on the child never results in it getting size-requested
10770         at all.
10771
10772         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
10773         in option menus, so that (with luck) people won't copy it into
10774         their apps in the future.
10775
10776         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
10777         to gtk_option_menu_calc_size. This isn't perfect, but should fix
10778         a lot of problems with changing the size of the menu's menu
10779         items after adding it to the option menu.
10780
10781         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
10782
10783         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
10784         the text direction for a widget changes.
10785
10786         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
10787         ::direction_changed to get rid of various hacks.
10788
10789 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
10790
10791         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
10792         name.
10793
10794 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
10795
10796         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
10797         flag to the structure. Do not call XFreePixmap on pixmaps created
10798         by gdk_pixmap_foreign_new().
10799
10800 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
10801
10802         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
10803         value using GdkRGB functionality given GdkColormap and GdkColor.
10804         (name not final, waiting for inspiration.)
10805         
10806         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
10807         set the foreground/background of a GC using the GC's colormap
10808         and GdkRGB. (name not final, waiting for inspiration.)
10809
10810         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
10811         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
10812
10813         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
10814         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
10815         purely a function of the corresponding colormap. Make
10816         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
10817
10818         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
10819         gdk_pixbuf_*create_from_xpm_* in terms of
10820         gdk_pixbuf_new_from_xpm_data(), move into platform independent
10821         code.
10822
10823         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
10824         advantage of the new draw_rgb_32_image_dithalign.
10825
10826         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
10827
10828         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
10829         on each created GC.
10830
10831         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
10832
10833         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
10834         which we initialize from the drawable when the GC is created,
10835         if the drawable has a colormap.
10836
10837         * gdk/x11/gdkgc-x11.c: include string.h for memset.
10838
10839         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
10840
10841         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
10842
10843 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
10844
10845         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
10846         actually returning expose events, make sure to set
10847         the count field properly.
10848
10849         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
10850         accidentally reintroced bug which always cleared
10851         the graphics_exposures value. 
10852
10853 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
10854
10855         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
10856
10857 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
10858
10859         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
10860
10861 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
10862
10863         * docs/faq/gtk-faq.sgml: Start of Section 6.
10864
10865 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
10866
10867         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
10868         
10869         (Fixes problem with drawing childless frames. Pointed out
10870         by and a first patch from Anders)
10871         
10872         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
10873         compute a child_allocation, even if we don't have a child.
10874
10875         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
10876         Always chain to the parent's impl, even if we don't have a child.
10877
10878 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
10879
10880         * gdk/gdkrgb.c: If possible, create only a single shm segment and
10881         use multiple parts of it instead of creating a bunch of separate
10882         segments, since the maximum number of segments per system is not
10883         large. (This might be worth backporting to GTK+-1.2.x if we make a
10884         new release )
10885
10886         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
10887         structure in preparation for per-colormap GdkRGB.
10888
10889         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
10890         to False when we get EINVAL from shmget so that the caller of
10891         gdk_image_new can retry with a smaller segment size.
10892
10893 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
10894
10895         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
10896
10897 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
10898
10899         * configure.in: make the current version number 1.3.1 (binary age 0,
10900         interface age 0).
10901         
10902         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
10903         gtkcompat.h is all we want.
10904
10905         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
10906         GLib primitive types. fixed g_type_register_fundamental() argument
10907         ordering.
10908
10909         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
10910         compiles.
10911
10912         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
10913         object code cleanup, comment trigraph fixes, etc...
10914
10915 2000-06-23  Havoc Pennington  <hp@redhat.com>
10916
10917         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
10918         instead of making up a bogus name for first_para_mark
10919
10920         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
10921         0 as a context ID
10922
10923 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
10924
10925         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
10926
10927 2000-06-21  Havoc Pennington  <hp@pobox.com>
10928
10929         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
10930         we didn't check window->bg_pixmap != GDK_NO_BG.
10931
10932         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
10933         gdk-pixbuf
10934
10935 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
10936
10937         * docs/faq/gtk-faq.sgm: Move file to here.
10938           TODO: Update Makfile.am 
10939
10940 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
10941
10942         * docs/gtk-faq.sgm: Add Section 2
10943
10944 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
10945
10946         * docs/gtk-faq.sgm: New file. Start of DocBook
10947           version of the FAQ.
10948
10949 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
10950
10951         * configure.in (GDK_PIXBUF_MAJOR): Define version
10952         numbers for GDK_PIXBUF_*, as they get substituted
10953         into a header file. Need to consider versioning
10954         for gdk-pixbuf more carefully later.
10955
10956 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
10957
10958         Work with srcdir != builddir.   
10959         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
10960         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
10961         * demos/testpixbuf.c: Likewise.
10962         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
10963         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
10964         <gdk/x11/gdkx.h>.
10965         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
10966         "gdk-pixbuf.h".
10967         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
10968
10969 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
10970
10971         * TODO.xml: Change 1.4 version numbers to 2.0.
10972
10973 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
10974
10975         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
10976         fixups to GTK+ standard.
10977
10978 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
10979
10980         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
10981         gdk-pixbuf.
10982
10983         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
10984         fixups for GObject.
10985
10986         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
10987         gdk-pixbuf with GDK dependencies moved into GDK.
10988         
10989         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
10990         move gdk-pixbuf-loader here until GObject has signals.
10991
10992         * demos/: New directory of demos. Move demos from
10993         gdk-pixbuf here.
10994
10995         * demos/pixbuf-init.c: Small bit of code to check for
10996         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
10997         set GDK_PIXBUF_MODULEDIR appropriately.
10998
10999         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
11000         define which no longer makes sense.
11001
11002 2000-06-21  Havoc Pennington  <hp@redhat.com>
11003
11004         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
11005         gtk_get_default_language
11006
11007         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
11008         new function to get the default language
11009
11010         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
11011         s/gtk_text_view_style_values/gtk_text_style_values/
11012
11013         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
11014         Add a "language" field to tags.
11015
11016         (gtk_text_tag_set_arg): Fix bug in setting
11017         "bg_full_height_set" tag.
11018
11019 2000-06-21  Havoc Pennington  <hp@redhat.com>
11020
11021         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
11022         in the interfaces
11023
11024         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
11025         stuff instead when possible.
11026
11027         * gtk/gtktexttypes.h: Delete some unused constants
11028
11029         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
11030         testtextbuffer.c: use glib instead of custom unicode routines
11031
11032 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
11033
11034         * docs/es/: Removed mistakenly added generated sgml
11035
11036         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
11037         Remove outdated info files.
11038
11039         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
11040         Moved tutorial files into subdir
11041
11042         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
11043         subdir.
11044
11045         * docs/man/gtk_button.pod: Remove. (contents will be
11046         integrated into gtk-reference button page.)
11047
11048         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
11049         docs/faq/Makefile.am: Adjust for new organization
11050
11051 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
11052
11053         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
11054         not $(MKINSTALLDIRS)
11055
11056 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
11057
11058         * gtk/testgtk.c (create_text): Finish the job Elliot started
11059         of removing font setting test for text widget. (Since text widget
11060         and GdkFont are not deprecated, and cause portability problems.)
11061
11062 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
11063
11064         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
11065         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
11066         Remove use of libunicode in favor of new GLib functions.
11067
11068         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
11069         nano-x, framebuffer. The X11 include is just a hack until we get
11070         the necessary functions in gdkcolor.h, so there is no reason to
11071         add other includes of platforms.
11072
11073         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
11074         window bigger than the screen change.
11075
11076         * gtk/testgtk.c: Revert some random changes from Elliot
11077         that had no particular point and were causing testgtkrc
11078         not to function correctly.
11079         
11080         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
11081         because GdkSegment and GdkRegionBox have the same fields,
11082         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
11083         results in clearer code.
11084
11085         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
11086         gdk_input_translate_coordinates): Fix missed GdkObjectification
11087
11088 2000-06-18  Elliot Lee  <sopwith@redhat.com>
11089
11090         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
11091         * gtk/gtk{plug,socket}.h: Missed commits from previous.
11092
11093 2000-06-20  Havoc Pennington  <hp@redhat.com>
11094
11095         * modules/linux-fb/Makefile.am: Make this compile
11096         without framebuffer enabled
11097
11098         * gdk/linux-fb/Makefile.am: Add conditional to not build
11099         framebuffer unless specified in configure
11100
11101         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
11102         the size of the target instead of source if -1 was passed for
11103         width/height
11104
11105         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
11106         width/height confusion.
11107
11108 2000-06-19  Havoc Pennington  <hp@redhat.com>
11109
11110         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
11111         GDK_DRAWABLE_XID. In the future, we probably want to make it
11112         faster with G_DISABLE_CHECKS turned on.
11113
11114 2000-06-14  Havoc Pennington  <hp@redhat.com>
11115
11116         * gdk/Makefile.am: add gdkpixmap.c
11117
11118         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
11119         s/gdk_image_init/_gdk_windowing_image_init
11120
11121         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
11122         ref/unref
11123
11124         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
11125
11126         * gdk/gdkcompat.h: remove GdkWindowType compat, since
11127         GdkWindowType is now non-deprecated; 
11128         change gdk_window_get_type() compat to be
11129         gdk_window_get_window_type().
11130
11131         * gdk/gdkdnd.h: make GdkDragContext a GObject.
11132
11133         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
11134         virtual GObject. Make all functions call into the vtable.
11135         Move gdk_image_put() guts in here. Remove GdkDrawableType
11136         and gdk_drawable_get_type(), these are now GdkWindow-specific.
11137         draw_image, get_depth, get_size, set_colormap, get_colormap,
11138         get_visual added to the vtable.
11139         
11140         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
11141         GObject. Virtualize everything. 
11142         (gdk_gc_new_with_values): remove check for destroyed window,
11143         because now GdkWindow::create_gc will check this.
11144         (gdk_gc_set_values): New function to set GC values, this 
11145         was already implemented but wasn't in the header
11146
11147         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
11148
11149         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
11150         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
11151         remove _gdk_window_class; add _gdk_window_impl_get_type() and
11152         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
11153         _gdk_windowing_window_init, rename gdk_image_init to
11154         _gdk_windowing_image_init.
11155         
11156         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
11157         (gdk_draw_layout): Remove check for destroyed window, 
11158         because all the drawable methods already check it.
11159         
11160         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
11161         Add gdkpixmap.c which contains implementation of GdkDrawable
11162         virtual table (by chaining to a platform-specific implementation
11163         object).
11164         
11165         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
11166         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
11167         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
11168         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
11169         GdkColormapPrivate. 
11170
11171         * gdk/gdktypes.h: #include <glib-object.h>
11172
11173         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
11174         Move most functionality to platform-specific implementation
11175         object. GdkWindow itself now handles the backing store, then
11176         chains to the platform-specific implementation.
11177         (gdk_window_get_window_type): return GdkWindowType of the window.
11178         (gdk_window_peek_children): New routine, returns the children of 
11179         a GdkWindow
11180         (gdk_window_get_children): Was in X11-specific code and did 
11181         XQueryTree. Changed to simply return a copy of window->children; 
11182         so it can go in cross-platform code.
11183         
11184         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
11185
11186         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
11187         GdkColormap; just changed to use the new private data instead
11188         of casting to GdkColormapPrivate.
11189
11190         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
11191         gdk_cursor_new().
11192
11193         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
11194         (private data member in the GObject). 
11195         (xdnd_manager_source_filter): Function had broken 
11196         error handling, fix it (use gdk_error_trap_push).
11197
11198         * gdk/x11/gdkdrawable-x11.c: This file now implements
11199         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
11200         base class is purely for the convenience of the X port,
11201         and not part of the interface to cross-platform GDK.
11202
11203         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
11204         
11205         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
11206         specific to X, and returned by the create_gc virtual method
11207         of GdkDrawableImplX11. 
11208         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
11209         rather than gchar, this was also changed in the GdkGC vtable.
11210         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
11211         mask is 0, return immediately, instead of checking every flag.
11212         This is faster, and keeps us from segfaulting if values is NULL
11213         and the mask contains some nonzero flags.
11214
11215         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
11216         GdkWindow.
11217
11218         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
11219         GdkWindowPrivate is gone.
11220
11221         * gdk/x11/gdkim-x11.c: rename things that got renamed.
11222
11223         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
11224         remove the image_put stuff that got transferred to GdkDrawable.
11225         
11226         * gdk/x11/gdkinput.c: renamings
11227
11228         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
11229
11230         * gdk/x11/gdkpixmap-x11.c: GObject conversion
11231
11232         * gdk/x11/gdkprivate-x11.h: indentation fixes
11233
11234         * gdk/x11/gdkproperty-x11.c: renamings
11235
11236         * gdk/x11/gdkselection-x11.c: renamings
11237
11238         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
11239         implements the platform-specific "impl" object.
11240         Moved gdk_window_get_children to gdk/gdkwindow.c
11241
11242         * gdk/x11/gdkx.h: Remove all the private structs and private datas
11243         that no longer exist. Add declaration of GdkGCX11 object here.
11244         Fix all the macros to still work. 
11245
11246         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
11247         GdkDragContext from the boxed types since they are now GObjects.
11248
11249         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
11250         moved xthickness/ythickness into the instance. GtkStyleClass
11251         functions are now in the standard vtable for GtkStyle, so you have
11252         to create a GObject subclass to write a theme engine.
11253         (gtk_style_copy): fixed a leaked PangoFontDescription
11254         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
11255         can be the standard GObject function.
11256         
11257         * Throughout GTK:
11258         s/style->klass->[xy]thickness/style->[xy]thickness
11259         s/pango_layout_unref/g_object_unref/
11260
11261         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
11262         
11263         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
11264         accessing GDK internals.
11265
11266         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
11267         accessing GDK internals.
11268
11269 2000-06-18  Elliot Lee  <sopwith@redhat.com>
11270
11271         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
11272
11273         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
11274         problem by calculating event position relative to the trough
11275         rather than the slider.
11276         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
11277
11278         * gdk/gdkgc.h: Add GDK_NOR.
11279
11280         * configure.in, Makefile.am: Add modules top level dir
11281         * configure.in: Only use pangox library if building x11 target.
11282         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
11283
11284 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
11285
11286         * gtk/gtkcolorsel.c: Change private class member to be named
11287         private_data throughout the file.
11288
11289         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
11290         private_data to avoid clashing with keyword.
11291
11292 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
11293
11294         * gdk/gdkdnd.h: Add comment to remove warning.
11295
11296 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
11297
11298         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
11299         Byelorussian language; changed the Makefile and file names 
11300         to reflect that.
11301
11302 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
11303
11304         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
11305         rather than gdk_window_hide; this makes things work
11306         correctly if the window is programmatically hidden while
11307         iconified.
11308
11309 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
11310
11311         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
11312         cut and paste typo where wrong pixmap was being
11313         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
11314
11315 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
11316
11317         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
11318         Add helper function to compute format / bytes 
11319         relationship. Use in a couple places to fix up
11320         errors which assume 8 * format.
11321
11322         * gtk/gtkselection.c (gtk_selection_request): Use 32
11323         rather than 8 * sizeof (GdkAtom), to work correctly
11324         on Alpha.
11325
11326 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
11327
11328         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
11329         libgtk.la
11330         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
11331         versions
11332
11333         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
11334         checking macros return NULL since the function has a return value.
11335
11336 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
11337
11338         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
11339         GTK+ from building at all.
11340
11341         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
11342
11343 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
11344
11345         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
11346         gtk/Makefile.am: make it possible to configure gtk for different
11347         targets on the same platform. The library name is now 
11348         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
11349         flag. Only the x11 target compiles right now.
11350         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
11351         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
11352         * gdk/nanox/gdk*generic*: delete generic region code.
11353         * gdk/linux-fb/gdk*generic*: delete generic region code.
11354         * README.nanox: update information.
11355         
11356 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
11357
11358         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
11359         prepend not append. (Pointed out by Brett Hall.)
11360
11361 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
11362
11363         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
11364
11365 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
11366
11367         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
11368         need this later, and this makes sure that the atexit for
11369         glib gets called after that for GDK, so atexits are
11370         properly ordered for object leak checking.
11371
11372         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
11373
11374         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
11375         pango_x_shutdown_display()
11376
11377         * gtk/simple.c (main): Close window on destroy.
11378
11379 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
11380
11381         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
11382         to treat initial creation different from setting with 
11383         regards to the graphics-exposures parameter, so add a parameter
11384         indicating whether this is initial or not.
11385
11386 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
11387
11388         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
11389         to sort of work by adding an extra return_exposes arg
11390         to gdk_event_translate() - it might be better to simply
11391         deprecate the function altogether and force people to rewrite
11392         without it. gdk_window_scroll() handles most of it, and where
11393         gdk_window_scroll() doesn't work, simply redrawing more does.
11394
11395         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
11396         assertion.
11397
11398         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
11399
11400         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
11401         bunch of pretty much useless /* Print debugging info */ comments 
11402         which had drifted away from the code they were commenting.
11403
11404 2000-06-02  Havoc Pennington  <hp@pobox.com>
11405
11406         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
11407         is in working order.
11408         
11409         * gtk/testtext.c: Change to reflect anonymous mark API
11410
11411         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
11412
11413         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
11414         field, which was unused.
11415
11416         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
11417         saves some typing.
11418
11419         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
11420
11421         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
11422         flag on the insertion point and selection bound
11423
11424         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
11425         make mark-manipulation functions take a GtkTextMark* instead of a
11426         mark name.
11427         
11428         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
11429         GtkTextMarkBody; will be used to detect attempts to delete
11430         the permanent marks (insert and selection bound)
11431
11432         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
11433
11434 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
11435
11436         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
11437         flag to on.
11438
11439         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
11440         Honor DOUBLE_BUFFRED_FLAG
11441
11442         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
11443         function to set the DOUBLE_BUFFERED flag.
11444
11445         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
11446         or not exposes done on the widget should be double-buffered.
11447
11448         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
11449         to be what would be expected. (Fixes problem with a
11450         g_return_if_fail() validating a TextDirection enumeration)
11451
11452 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
11453
11454         * gtk/gtkwidget.c: Remove all references to 
11455         offscreen flag which was no longer used.
11456
11457         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
11458
11459         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
11460         for non-null label_widget->parent.
11461
11462         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
11463         which no longer was used.
11464
11465         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
11466
11467         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
11468         for null arguments.
11469
11470         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
11471         check for destroyed windows.
11472
11473 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
11474
11475         * gtk/gtkimmulticontext.c: Add a finalize method and unref
11476         the slave context there.
11477
11478         * gtk/gtkinvisible.[ch]: Make reference counting behavior
11479         identical to GtkWindow.
11480
11481 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
11482
11483         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
11484         pangox to here, so we can write them independent of rendering
11485         system, using GDK primitives.
11486
11487         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
11488         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
11489         since we have a rendering-system independent implementation in
11490         terms of draw_glyphs().
11491         
11492         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
11493         function to render a single line.
11494
11495         * gdk/x11/gdkpango.c: Move the guts of this file mostly
11496         into ../gdkpango.c, which simplifies things, since we
11497         don't have to deal with raw X gc's.
11498
11499 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
11500
11501         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
11502         get the logical attributes for a given GtkTextLine.
11503
11504 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
11505
11506         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
11507         g_locale_get_codeset() to g_get_codeset() change.
11508
11509 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
11510
11511         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
11512         descriptions.
11513
11514         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
11515         the entry.
11516
11517         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
11518         redoing (vastly simplifying) for Pango. Still needs quite
11519         a bit of work. (Size selection is currently poor. List of 
11520         predefined sizes is not a good idea, since all of these
11521         sizes won't necessarily be distinct.)
11522
11523 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
11524
11525         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
11526         CODESET results for LANG=C.
11527
11528 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
11529
11530         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
11531         which takes a stringized pango font description;
11532         ignore the older 'font' and 'fontset' declarations.
11533
11534         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
11535         field with a GdkFont derived via gdk_font_from_description(),
11536         for compatibility. (Should we just remove it entirely?
11537         Probably too much compatibility breakage, but people
11538         should be migrating to the new Pango stuff as quickly
11539         as possible.)
11540
11541 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
11542
11543         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
11544
11545 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
11546
11547         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
11548         redoing; there are some bugs in size allocation right
11549         now, the semi-existant distinction between header / day
11550         fonts was removed, but, with Pango, could actually
11551         be made functional in a nice way.
11552         
11553         * gtk/testcalender: Move calender from examples into this
11554         directory as a test program. (We really need to restrcture
11555         testgtk into a whole directory full of tests for every
11556         widget or functionality group, separated into multiple .c
11557         files.)
11558
11559 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
11560
11561         * gtk/testgtk.c (file_exists): Fix stupid typo that
11562         was keeping RC file from being loaded.
11563
11564         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
11565         RC file font code.
11566
11567 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
11568
11569         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
11570         Add function to load a GdkFont from a PangoFontDescription.
11571
11572 2000-05-29  Tor Lillqvist  <tml@iki.fi>
11573
11574         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
11575         variable should be of type GdkEventPrivate.
11576
11577 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
11578
11579         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
11580         to have any widget for the label, use a GtkLabel widget
11581         to display the text. (Based partially on a patch from
11582         Anders Carlson.)
11583
11584         (Quite a bit of code reorganization - strip 90% of the
11585         guts out of gtkaspectframe and add a single virtual
11586         func to GtkFrameClass - compute_child_allocation.)
11587
11588 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
11589
11590         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
11591         (Removed clist->row_center_offset field because caching
11592         it wasn't saving time or code, added private function
11593         _gtk_clist_create_cell_layout()).
11594
11595 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
11596
11597         * gtk/gtkaccellabel.c: Pangoized.
11598
11599         * gtk/[hv]ruler.c: Pangoized
11600
11601 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
11602
11603         * gtk/gtkfilesel.c (gtk_file_selection_init):
11604         Use gtk_clist_set_column_auto_resize() to remove need
11605         need for manual column width computations.
11606
11607 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
11608
11609         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
11610         ensuring Pango correctness, and considerably simplifying the
11611         code.
11612         
11613         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
11614
11615         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
11616         getting of numbers of lines.
11617
11618         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
11619         to the actual requested width of the lable, not to the wrap
11620         width we set.
11621
11622         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
11623
11624         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
11625           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
11626
11627         * gtk/gtktextview.c: Fix structure inheritance.
11628
11629         * gtk/gtkprogressbar.c: Pangoize.
11630
11631 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
11632
11633         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
11634         in a function.
11635
11636         * gtk/gtktextlayout.c (find_display_line_above): Fixed
11637         bug with computing line tops.
11638
11639         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
11640
11641 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
11642
11643         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
11644         and y_offset coordinates to do what we need now. (The offset between
11645         buffer and layout coordinates has been reintroduced, but is a 
11646         bit different than before.)
11647
11648         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
11649         handle the adjustments ourselves, and scroll as necessary using
11650         the new gdk_window_scroll().
11651         
11652         The advantage of this is that when we are incrementally revalidating,
11653         we are essentially rearranging things around the visible portion
11654         of the screen. With the old setup, the visible portion of the
11655         screen was moved around in the layout, so scrolling and redrawing
11656         to track that caused jumping of the display. Since we now
11657         control the scrolling ourselves, we can suppress this and
11658         only redraw when things actually change.
11659
11660 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
11661
11662         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
11663         the region not just redisplay it after-all, since we store the
11664         cursors in the LineDisplay. (Ugly interactions here between
11665         GtkLayout and GtkTextBTree here.)
11666         
11667         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
11668
11669 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
11670
11671         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
11672         Added function to scroll contents of a window while keeping the
11673         window constant. Works by XCopyArea or guffaw-scrolling depending
11674         on the details of how the window is set up. (guffaw-scrolling
11675         still needs to be filled in.)
11676
11677 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
11678
11679         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
11680         move the debugging that was tied to a global variable
11681         to that.
11682
11683         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
11684
11685         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
11686         validated flag, in line data instead of setting height/width to
11687         -1. This allows us to perform operations with partially invalid
11688         buffer (using the old size for invalid lines) and thus to do
11689         incremental vaidation. Keep height/width aggregates up to date
11690         when deleting text and rebalancing the tree.
11691
11692         * gtk/gtktextbtree.[ch]: Add functions validate a line
11693         (gtk_text_btree_validate_line), and to validate up
11694         to a number of pixels (gtk_text_btree_validate).
11695
11696         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
11697         that indicates that something is changed and a revalidation
11698         pass is needed. Change ::need_repaint to ::changed, and
11699         make it take old and new yranges instead of a rectangle.
11700
11701         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
11702         the line_data_destroy() function from 
11703         gtk_text_btree_add_view() to a virtual function in 
11704         GtkTextLayout
11705
11706         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
11707         since we are handling partial repaints in a different fashion
11708         now.
11709
11710         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
11711         of the selection instead of queueing a repaint on the
11712         entire widget.
11713
11714         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
11715         get_selection_bounds() down to btree, make the function
11716         in buffer a wrapper around the btree function.
11717
11718         * gtk/gtktextlayout.[ch]: Add functions to check if the
11719         layout is valid and to recompute either a range of pixels
11720         aroudn a line or a certain total number of pixels.
11721
11722         * gtk/gtktextlayout.[ch]: Cache a single line display;
11723         now that we only redraw the needed portions, the hit rate
11724         for this cache is quite high.
11725         
11726         * gtk/gtktextview.[ch]: Keep track of the first paragraph
11727         on the screen so that when re-laying-out the buffer, we can
11728         keep the same place. This requires connecting to ::value_changed
11729         on the adjustments
11730
11731         * gtk/gtktextview.[ch]: Add idle functions to revalidate
11732         the buffer after we receive an ::invalidated signal.
11733         
11734 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
11735
11736         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
11737         to max of allocation and layout size, not just to the
11738         layout size.
11739
11740         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
11741         Invalidate window so it gets redrawn properly.
11742
11743         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
11744         to mean the entire window.
11745
11746         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
11747         into public header.
11748
11749 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
11750
11751         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
11752         to get the name of a mark.
11753
11754         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
11755         to find the paragraph from a y position.
11756
11757 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
11758
11759         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
11760         nodes have width/height >= 0, not > 0.
11761
11762 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
11763
11764         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
11765         Add a size_only flag, so when we only need the size, we don't create
11766         useless appearance attributes.
11767
11768         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
11769         duplicate setting of font description.
11770
11771         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
11772
11773 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
11774
11775         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
11776         EXTRA_DIST. It does not work well when the file that
11777         everything depends on is not in the tarball.
11778
11779 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
11780
11781         * gtk/testgtk.c: Some hacks and fixes so that it basically
11782         works when not sitting in the GTK+ build tree.
11783
11784 2000-05-03  Havoc Pennington  <hp@redhat.com>
11785
11786         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
11787         Properly determine the ordering of the tag root and the current
11788         line within the tree. Previous algorithm only worked if the tag
11789         root's immediate parent was the common root of both the current
11790         line and the tag root.
11791
11792 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
11793
11794         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
11795         alignment.
11796
11797         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
11798         the widget text directional dynamically.
11799
11800         * gtk/gtktextview.[ch]: Added functions to get and set default
11801         wrap mode.
11802
11803 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
11804
11805         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
11806         in cursor location computation.
11807
11808 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
11809
11810         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
11811         vadjusment values properly when layout gets smaller.
11812
11813         * gtk/gtktextview.c (need_repaint_handler): Areas being
11814         passed in are far completely inaccurate, and sometimes
11815         too small, so, for now, just queue a redraw on the
11816         whole visible region.
11817
11818 2000-04-25  Havoc Pennington  <hp@redhat.com>
11819
11820         * gtk/gtktextbtree.c (summary_destroy): new function to 
11821         destroy tag summary nodes
11822         (gtk_text_line_next_could_contain_tag): this function was 
11823         totally broken if the line passed in wasn't below the tag
11824         root. Fix it.
11825         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
11826         "wildcard" case, we have to do a linear scan. Blah.
11827         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
11828         we have to do the linear scan
11829         (tag_removed_cb): When a tag is removed from the tag table, 
11830         remove the GtkTextTagInfo node from the btree.
11831         (gtk_text_btree_spew): Implement the spew function, for 
11832         our debugging pleasure.
11833
11834 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
11835
11836         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
11837         a problem with referring to the wrong buffer.
11838
11839         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
11840
11841         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
11842         font description to gtk_style_new() - otherwise things
11843         don't work without a .gtkrc file.
11844
11845         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
11846         tags table if we create it ourself, too.
11847
11848         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
11849         it was conflicting with XKB modifiers.
11850
11851         * gtk/gtktextview.[ch]: Add simple support for 
11852         GtkIMContext.
11853
11854 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
11855
11856         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
11857         with deletion from last commit.
11858
11859 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
11860
11861         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
11862         in the context from the current locale.
11863         
11864         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
11865         context, not hardcoded value.
11866
11867         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
11868         not logical.
11869
11870 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
11871
11872         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
11873         attributes - that doesn't handle partial-glyph selection
11874         properly. Instead use new pango_layout_line_get_x_ranges()
11875         functionality to draw the selection.
11876
11877         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
11878         now properly handles out-of-range coordinates.
11879
11880         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
11881
11882         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
11883         public.
11884
11885         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
11886         for paragraphs opposite to the base direction of the widget.
11887
11888         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
11889
11890         * gtk/gtktextlayout.c: Don't split segments on marks, since that
11891         causes Arabic words to reshape as you cursor through.
11892
11893         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
11894         cursor position when moving vertically with the arrow keys and
11895         scrolling with page-up/page-down. (Arrow keys save only the X,
11896         scrolling saves both X and Y.)
11897
11898         This means you can line-up / line-down or page-up / page-down
11899         without losing your place, and also that moving vertically
11900         with the cursor keys keeps the same X position, not the same
11901         character count:
11902
11903         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
11904         arrow keys move by display lines, not paragraphs.
11905
11906 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
11907
11908         * gtk/gtklayout.c: Make sure that the bin window is at least
11909         as big as the allocation. (Should we also make sure that the
11910         bin window is big enough to completely cover widget->window?)
11911
11912         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
11913         function to get the onscreen rectangle.
11914
11915         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
11916         for offsets in window coordinates.
11917
11918 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
11919
11920         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
11921         confusion.
11922
11923         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
11924         from the widget direction.
11925
11926         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
11927         Add a "direction" attribute.
11928
11929         * gtk/gtktextview.c: global s/tkxt/text_view/.
11930
11931         * gtk/testtext.c: Added long block of text in Arabic, to test out
11932         the direction attributes. (Some problems with the shaping system
11933         for arabic become obvious - like the fact the cursor splits words
11934         into unjoined pieces.)
11935
11936 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
11937
11938         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
11939
11940         * gtk/gtktextlayout.c: Fix up alignment.
11941
11942         * gtk/testtext.c: Add some tests for centering, wrapping.
11943
11944 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
11945
11946         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
11947         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
11948         If we wrote GTK+-specific layout-render function this could just replace
11949         the draw_layout() operation in the vtable.
11950
11951         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
11952         pango_layout_get_cursor_pos() and use that function.
11953
11954         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
11955         is a non-static symbol.
11956
11957         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
11958         with gtk_text_btree_find_line_by_y()
11959
11960         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
11961         renderer that handles GtkTextAppearance attributes.
11962
11963         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
11964
11965           - Move the values in the style that don't affect geometry into a
11966             GtkTextAppearance structure.
11967           - Change underline to take a PangoUnderline and "font" a string
11968             representation of a font description
11969           - Add a "font_desc" attribute which takes a FontDescription structure.
11970
11971         * gtk/gtktextlayout.[ch]:
11972
11973           - Get rid of the display-line list per each line. Instead, we
11974             generate, on demand, a GtkTextLineDisplay structure which]
11975             contains a PangoLayout * and other necesary information
11976             (offsets, cursor locations) for displaying a paragraph.
11977           - Get rid of the code to wrap lines, create display chunks,
11978             etc. Instead, we just go through a paragraph and convert
11979             it into the necessary inputs to a PangoLayout.
11980           - Implement a new attribute type, GtkTextAttrAppearance. This
11981             holds a GtkTextAppearance, and is used to pass colors, 
11982             stipple, etc, through from the layout to the display without
11983             having to use lots and lots of individual attributes.
11984           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
11985             in terms of PangoLayout functions.
11986         
11987         * gtk/gtktextview.c: 
11988          
11989           - Handle passing the necessary PangoContext to the layout
11990           - Some fixups in painting to deal with the automatic backing store
11991             and offsetting of GTK+-1.4
11992           - Add a style_set handler so that the default style reacts
11993             properly to theme changes.
11994         
11995         * gtk/gtktext?*.[ch]: Random code-style fixes.
11996
11997         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
11998
11999 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
12000
12001         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
12002         in original form preparatory to Pango-ization and gdkimcontext-ization.
12003
12004 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
12005
12006         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
12007         so that we can derive from gtkimcontext in language bindings properly.
12008
12009 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
12010
12011         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
12012         Add a compose table including (almost) all the compose combinations
12013         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
12014         data in the XIM implementation.
12015
12016         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
12017         Moved functions to convert keyvalues from and to unicode here from
12018         the win32 port and made them public.
12019
12020 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
12021
12022         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
12023
12024 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
12025
12026         * gtk/gtkimcontext.[ch]: Base class for new input context system
12027
12028         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
12029         the real input context implementation to be loaded from modules
12030         and switched on the fly.
12031
12032         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
12033         context that just does direct keysymbol => unicode translation.
12034
12035         * gtk/gtkentry.[ch]: Start switching editing over to using
12036         GtkInputContext. (No handling of preedit yet.)
12037
12038 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
12039
12040         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
12041         many substitutions. (klass should not be subsituted.)
12042
12043 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
12044
12045         * configure.in: Add checks for Pango
12046
12047         * configure.in docs/Makefile.am: Add test for sgml2html
12048         and allow 'make dist' without building html, but print out
12049         warnings in that case. (For making snapshots)
12050
12051         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
12052         Add Pango libraries and C flags
12053
12054         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
12055         Add function (gdk_draw_layout) to draw a pango layout.
12056
12057         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
12058         for getting Pango contexts for GDK.
12059
12060         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
12061
12062         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
12063         editing.
12064
12065         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
12066         keysym => unicode translations. More languages can be added
12067         here, but real input-method support is needed.
12068
12069         * docs/Changes-1.4.txt: Added note about entry behavior.
12070         
12071         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
12072         to set the reading direction for a widget and the global direction.
12073         Add test which allows toggling the global direction. Two private
12074         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
12075
12076         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
12077           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
12078
12079         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
12080
12081         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
12082         underlining now handled by Pango.
12083
12084         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
12085         to RCStyle and Style. (Having both this and the old font name and GdkFont 
12086         is temporary.)
12087
12088         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
12089         convenience functions for creating contexts and layouts for widgets.
12090
12091         * gtk/testgtk.c: Enhance label tests with multilingual labels.
12092
12093 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
12094
12095         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
12096         titles to be active, even if they aren't visible.
12097         (gtk_clist_column_titles_passive):  Ditto.
12098
12099 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
12100
12101         * gtkmenu.c:
12102         * gtkmenu.h:
12103         * gtktypeutils.h: Spelling/grammar fixes in comments.
12104
12105 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
12106
12107         * gdk/nanox/*.h: add missing header files.
12108
12109 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
12110
12111         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
12112         send_event to TRUE.
12113         (gtk_drawing_area_size): queue a resize.
12114
12115 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
12116
12117         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
12118         the handlers, also invalidate them. bug nailed down by Karl Nelson
12119         <kenelson@ece.ucdavis.edu>.
12120
12121 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
12122
12123         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
12124         "(nil)" foundries, patch from Grigorios Magklis.
12125
12126         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
12127         on non-available fonts, based on a patch by Grigorios Magklis
12128         <maglis@cs.rochester.edu>.
12129
12130 2000-05-18  Elliot Lee  <sopwith@redhat.com>
12131
12132         * gdk/x11/gdkregion-generic.c: If a region does not have any
12133         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
12134         instead of GDK_OVERLAP_RECTANGLE_IN.
12135
12136 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
12137
12138         * gtk/gtklayout.c (gtk_layout_map): Remove references to
12139         OFFSCREEN, as it is no longer necessary.
12140
12141 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
12142
12143         * gtk/gtkcolorsel.c: Patch from David Santiago
12144         <mrcooger@cyberverse.com> to change things so that the 
12145         indicator of the active palette entry is done independently,
12146         not via the focus, since it should always be visible.
12147
12148 2000-05-17  Tor Lillqvist  <tml@iki.fi>
12149
12150         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
12151         refcount leaks as in the X11 backend.
12152
12153         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
12154         cosmetics.
12155
12156         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
12157         backend. Add _gdk_windowing_window_destroy().
12158
12159         * gtk/gtkcolorsel.c: Include correct backend-specific header.
12160         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
12161         either, but these probably do exist on nanox?)
12162         
12163         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
12164         which isn't necessarily defined by <math.h>.
12165
12166         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
12167         ancestry past GtkObject.
12168
12169         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
12170         from DLL on Win32.
12171
12172         * gtk/gtk.def: Update corresponding to recent changes.
12173
12174         * gtk/makefile.{cygwin,msc}: Updates.
12175
12176 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
12177
12178         * docs/Changes-1.4.txt: A bit of editing.
12179
12180         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
12181         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
12182         to clear the update area for the window, and clear it
12183         when hiding a window.
12184
12185         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
12186         if window destroyed.
12187
12188         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
12189
12190         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
12191         gdk_window_destroy() to the generic code, since there was a lot of 
12192         window-system-independent logic it in. Add a function:
12193         
12194          _gdk_window_destroy() 
12195
12196         to the internal API to destroy a window without unreferencing it.
12197         Add a function:
12198
12199          _gdk_windowing_window_destroy()
12200
12201         That does the windowing-system-dependent part of destroying 
12202         the window.
12203
12204 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
12205
12206         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
12207
12208 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
12209
12210         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
12211         Make gtk_widget_shape_combine_mask() keep a reference count on
12212         the pixmap since it keeps it around.
12213
12214 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
12215
12216         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
12217         leak.
12218
12219         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
12220         leak with event filters.
12221
12222 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
12223
12224         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
12225         signal handlers with the right data arguments. (Fixes
12226         some warnings when a widget was repeatedly set as a drag
12227         destination.)
12228
12229         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
12230         window so we can avoid avoid setting the DND properties on the
12231         toplevel window repeatedly.
12232
12233 2000-05-13  Tor Lillqvist  <tml@iki.fi>
12234
12235         * gdk/win32/gdkwin32.h: Define more message types missing from
12236         mingw headers.
12237
12238         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
12239         call gdk_window_destroy_notify(). It was never called. This
12240         probably meant that the GdkWindow was never freed. Thanks Owen for
12241         noticing (!).
12242
12243         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
12244         window as destroyed before calling DestroyWindow(). DestroyWindow()
12245         causes a call to the window procedure (gdk_WindowProc), which
12246         calls gdk_event_translate(), which calls
12247         gdk_window_destroy_notify(), which gets confused unless the window
12248         is set as destroyed.
12249
12250         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
12251         this function to indicate it's win32 only. Put inside #ifdef
12252         G_ENABLE_DEBUG.
12253
12254         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
12255         debugging function. (gdk_event_translate:) Add a default branch
12256         that uses the above function to print debug messages with all
12257         Windows messages symbolically.
12258
12259         * gdk/win32/gdkprivate-win32.h: Declare it, and
12260         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
12261
12262 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
12263
12264         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
12265         public header file.
12266
12267 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
12268
12269         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
12270
12271         * gtk/gtktext.c: made the adjustments no-construct args, simply
12272         provide default adjustments.
12273         (gtk_text_destroy): release adjustments.
12274
12275         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
12276         adjustment argument non-construct.
12277
12278         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
12279         instead of in finalize.
12280         (gtk_progress_get_text_from_value): 
12281         (gtk_progress_get_current_text): 
12282         (gtk_progress_set_value): 
12283         (gtk_progress_get_percentage_from_value): 
12284         (gtk_progress_get_current_percentage): 
12285         (gtk_progress_set_percentage): 
12286         (gtk_progress_configure): ensure an adjustment is present.
12287
12288 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
12289
12290         * gtk/gtkcolorsel.[hc]:
12291         * gtk/gtkcolorseldialog.[hc]:
12292         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
12293         their parent implementation, use bit fields for boolean values, don't
12294         create unused widgets, usage of glib types, braces go on their own
12295         lines, function argument alignment, #include directives etc. etc. etc..
12296
12297         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
12298
12299 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
12300
12301         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
12302
12303         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
12304         of NULL.
12305
12306         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
12307         to freed data.
12308         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
12309
12310         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
12311         to NULL when the toplevel is getting destroyed.
12312         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
12313         (gtk_menu_destroy): 
12314         (gtk_menu_init): store the information of whether we have to
12315         readd the initial child ref_count during destruction in a new
12316         GtkMenu field needs_destruction_ref_count.
12317
12318         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
12319         here, those reading: learn from my mistake! ;)
12320         in order for set_?adjustment to support a default adjustemnt if
12321         invoked with an adjustment pointer of NULL, the code read (pseudo):
12322         if (v->adjustment) unref (v->adjustment);
12323         if (!adjustment) adjustment = adjustment_new ();
12324         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
12325         now imagine the first unref to actually free the old adjustment and
12326         adjustment_new() creating a new adjustment from the very same memory
12327         portion. here, the latter comparision will unintendedly fail, and
12328         all hell breaks loose.
12329         (gtk_viewport_set_hadjustment):
12330         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
12331         after unreferencing it.
12332
12333         * gtk/gtkcontainer.[hc]: removed toplevel registration
12334         functions: gtk_container_register_toplevel(),
12335         gtk_container_unregister_toplevel() and
12336         gtk_container_get_toplevels() which had wrong semantics
12337         anyways: it didn't reference and copy the list.
12338
12339         * gtk/gtkwindow.c: we take over the container toplevel registration
12340         bussiness now. windows are registered across multiple destructions,
12341         untill they are finalized. the initial implicit reference count
12342         users are holding on windows is removed with the first destruction
12343         though.
12344         (gtk_window_init): ref & sink and set has_user_ref_count, got
12345         rid of gtk_container_register_toplevel() call. add window to
12346         toplevel_list.
12347         (gtk_window_destroy): unref the window if has_user_ref_count
12348         is still set, got rid of call to
12349         gtk_container_unregister_toplevel().
12350         (gtk_window_finalize): remove window from toplevel list.
12351         (gtk_window_list_toplevels): new function to return a newly
12352         created list with referenced toplevels.
12353         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
12354
12355         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
12356         adjustment a non-construct arg.
12357         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
12358         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
12359         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
12360
12361         * gtk/gtkrange.c: added some realized checks.
12362         (gtk_range_destroy): get rid of the h/v adjustments in the
12363         destroy handler instead of finalize. remove timer.
12364         (gtk_range_get_adjustment): demand create adjustment.
12365
12366         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
12367         we simply create them on demand now and get rid of them in
12368         the destroy handler.
12369         (gtk_viewport_destroy): get rid of the h/v adjustments in the
12370         destroy handler instead of finalize.
12371         (gtk_viewport_get_hadjustment): 
12372         (gtk_viewport_get_vadjustment): 
12373         (gtk_viewport_size_allocate): demand create h/v adjustment
12374         if required.
12375
12376         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
12377         gtk_widget_real_destroy () functionality.
12378         (gtk_widget_real_destroy): reinitialize with a new style, instead
12379         of setting widget->style to NULL.
12380
12381 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
12382
12383         * gtk/gtkcalendar.c:
12384         * gtk/gtkbutton.c: ported _get_type() implementation over to
12385         GType, either to preserve memchunks allocation facilities,
12386         or because Gtk+ 1.0 GtkTypeInfo was still being used.
12387
12388         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
12389         over. prepare for ::destroy to be emitted multiple times.
12390         removed reference tracer magic. chain into GObjectClass.shutdown()
12391         to emit ::destroy signal.
12392
12393         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
12394         fundamental.
12395
12396         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
12397         cludge.
12398
12399         * gtk/gtksocket.c:
12400         * gtk/gtkplug.c:
12401         * gtk/gtklayout.c:
12402         * gtk/gtklabel.c:
12403         * gtk/gtkargcollector.c:
12404         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
12405         not being a fundamental anymore, and to work with the new
12406         type system (nuked fundamental type varargs clutter).
12407
12408         * gtk/*.c: install finalize handlers in the GObjectClass
12409         part of the class structure.
12410         changed direct GTK_OBJECT()->klass accesses to
12411         GTK_*_GET_CLASS().
12412         changed direct object_class->type accesses to GTK_CLASS_TYPE().
12413
12414         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
12415         GType. made most of the GTK_*() type macros and Gtk* typedefs
12416         simple wrappers around macros and types provided by GType.
12417         most notably, a significant portion of the old API vanished:
12418         GTK_TYPE_MAKE(),
12419         GTK_TYPE_SEQNO(),
12420         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
12421         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
12422         GTK_TYPE_ARGS,
12423         GTK_TYPE_CALLBACK,
12424         GTK_TYPE_C_CALLBACK,
12425         GTK_TYPE_FOREIGN,
12426         GtkTypeQuery,
12427         gtk_type_query(),
12428         gtk_type_set_varargs_type(),
12429         gtk_type_get_varargs_type(),
12430         gtk_type_check_object_cast(),
12431         gtk_type_check_class_cast(),
12432         gtk_type_describe_tree(),
12433         gtk_type_describe_heritage(),
12434         gtk_type_free(),
12435         gtk_type_children_types(),
12436         gtk_type_set_chunk_alloc(),
12437         gtk_type_register_enum(),
12438         gtk_type_register_flags(),
12439         gtk_type_parent_class().
12440         replacements, where available are described in ../docs/Changes-1.4.txt.
12441         implemented compatibility functions for the remaining API.
12442
12443         * configure.in: depend on glib 1.3.1, use gobject module.
12444
12445 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
12446
12447         * TODO.xml: Various updates to current status.
12448
12449 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
12450
12451         * gtk.m4: Print out version when test succeeds.
12452
12453 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
12454
12455         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
12456         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
12457         
12458         (Original triangle color selector from Simon Budig
12459         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
12460         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
12461         Santiago <mrcooger@cyberverse.com>)
12462
12463         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
12464         out into a separate widget.
12465
12466         * gtk/testgtk.c: Add some checkbuttons for toggling palette
12467         and opacity controls.
12468
12469 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
12470
12471         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
12472         snuck in prematurely.
12473
12474 2000-05-07  Tor Lillqvist  <tml@iki.fi>
12475
12476         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
12477         had deleted a ! operator by mistake, which caused
12478         GDK_SELECTION_CLEAR events never to be generated, which caused
12479         only the first copy to the clipboard from an gtkeditable to
12480         actually cause a copy to the Windows clipboard.
12481
12482 2000-05-06  Tor Lillqvist  <tml@iki.fi>
12483
12484         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
12485         compilation, too. Current mingw gcc distributions include the
12486         necessary headers. Also the necessary IIDs are now in mingw
12487         headers/libraries, and own definitions unnecessary.
12488
12489         More hacking on OLE2 DND, still doesn't work though, and thus
12490         ifdeffed out.
12491
12492         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
12493         here, too.
12494
12495 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
12496
12497         * gdk/nanox/*: nano-X port work in progress.
12498         * gdk/simple.c: simple test for Gdk.
12499         * README.nanox: notes about the port: read this first!
12500         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
12501         with nano-X.
12502
12503 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
12504
12505         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
12506         gdk_window_clear() into common code, implement in terms of
12507         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
12508         not redirected to the backing rectangle.
12509
12510 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
12511
12512         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
12513         EXTRA_DIST. It does not work well when the file that
12514         everything depends on is not in the tarball.
12515
12516 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
12517
12518         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
12519         with recursion where process_updates() is called from
12520         an expose handler. (GtkTextView is highly broken in
12521         doing this, but it should work, so it is a nice test
12522         case.)
12523
12524 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
12525
12526         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
12527         handle the case where updates are queued during processing of
12528         updates.
12529
12530 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
12531
12532         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
12533         window is on gdk_display - use that instead of segfaulting.
12534
12535 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
12536
12537         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
12538         broken and require an empty arg, give it to them.
12539
12540 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
12541
12542         * gtk/gtklabel.h: indentation fixes.
12543
12544 2000-05-02  Tor Lillqvist  <tml@iki.fi>
12545
12546         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
12547         draw too narrow or too low arcs, they seem to fail, at least with
12548         some display drivers.
12549
12550         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
12551
12552         Large changes to the Win32 backend, partially made necessary by
12553         the changes to the backend-independent internal
12554         structures. Attempts to implement similar backing store stuff as
12555         on X11. The current (CVS) version of the Win32 backend is *not* as
12556         stable as it was before the no-flicker branch was merged. A
12557         zipfile with that version is available from
12558         http://www.gimp.org/win32/. That should be use by "production"
12559         code until this CVS version is usable. (But note, the Win32
12560         backend has never been claimed to be "production quality".)
12561
12562         * README.win32: Add the above comment about versions.
12563
12564         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
12565
12566         * gdk/gdk.def: Update.
12567
12568         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
12569         presumably be replaced by some more better mechanism as 1.4 gets
12570         closer to release shape.
12571
12572         * gdk/makefile.{cygwin,msc}: Update.
12573
12574         * gdk/win32/*.c: Correct inclusions of the backend-specific and
12575         internal headers. Change code according to changes in these. Use
12576         gdk_drawable_*, not gdk_window_* where necessary.
12577
12578         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
12579         our old DND.
12580
12581         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
12582         to interpret single characters as UTF-8. Thanks to Hans Breuer.
12583         Use correct function name in warning messages.
12584
12585         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
12586         GSourceFuncs gdk_event_prepare and gdk_event_check.
12587         (gdk_event_get_graphics_expose): Do implement, use
12588         PeekMessage. Thanks to Hans Breuer.
12589         (event_mask_string): Debugging function to print an GdkEventMask.
12590         (gdk_pointer_grab): Use it.
12591
12592         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
12593         (old) book I used claimed was Hangul actually is CJK Unified
12594         Ideographs Extension A. Also, Hangul Syllables were missing.
12595         Improve logging.
12596
12597         * gdk/win32/gdkgc-win32.c: Largish changes.
12598
12599         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
12600         g_win32_getlocale() from GLib, and not setlocale() to get current
12601         locale name.
12602
12603         * gdk/win32/gdkprivate-win32.h
12604         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
12605         gdkwin32.h, similarily as in the X11 backend.
12606
12607         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
12608         assignment was used instead of equals in if test. Thanks to Hans
12609         Breuer.
12610
12611         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
12612         the X11 version.
12613
12614         * gdk/win32/makefile.{cygwin,msc}
12615         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
12616         path to the Win32 headers that works also with the mingw compiler.
12617
12618         * gtk/gtkstyle.c: Include <string.h>.
12619
12620 2000-04-26  Havoc Pennington  <hp@redhat.com>
12621
12622         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
12623         replacing the broken gtk_label_get ()
12624
12625 2000-04-15  Havoc Pennington  <hp@pobox.com>
12626
12627         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
12628         this keeps scanner scripts from getting confused.
12629
12630         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
12631         data, rather than void
12632
12633 2000-04-15  Tor Lillqvist  <tml@iki.fi>
12634
12635         * gtk/gtkclist.c (gtk_clist_motion)
12636         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
12637         with is_hint FALSE, get x and y from the event. They used to be
12638         used uninitialised. The Win32 backend never sends motion events
12639         marked as hints. This for instance fixes the annoying file and
12640         font selector behaviour in the Win32 version.
12641
12642 2000-04-14  Tor Lillqvist  <tml@iki.fi>
12643
12644         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
12645         gtk_private_n_signals variables, they are used by some software,
12646         sigh.
12647
12648         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
12649         installation directory from the Registry, where the installer
12650         should have put it.
12651
12652 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
12653
12654         * gdk/x11/Makefile.am: Fix problem with installation directory for
12655         gdkx.h
12656
12657         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
12658         <mrcooger@cyberverse.com> so that when selecting menus with the
12659         mouse, the first item will not be selected, but when selecting
12660         with an accelerator, or navigating left-right on a menubar with
12661         the menus popped up, the first item will be selected.
12662
12663 2000-04-05  Dan Damian  <dand@dnttm.ro>
12664
12665         * configure.in: Added "ro" to ALL_LINGUAS.
12666
12667 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
12668
12669         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
12670         indentation.
12671
12672         * Makefile.am (EXTRA_DIST): Fix typo.
12673
12674         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
12675         to catch gdkconfig.h
12676
12677         * gtk/gtkitemfactory.c: Added FIXME.
12678
12679 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
12680
12681         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
12682         s/return_if_fail/return_val_if_fail/g and add a return value.
12683
12684 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
12685
12686         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
12687         merge slipup.
12688
12689         * gdk/gdkinput.h: Fix missing line from merge.
12690
12691 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
12692
12693         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
12694         instead of gdkprivate.h.
12695
12696 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
12697
12698         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
12699         parent class to correctly be GtkDialogClass.
12700
12701 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
12702
12703         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
12704         toplevel windows and their immediate children by their parents,
12705         since the size of toplevel windows is out of our immediate
12706         control and we don't get any real benefit from trying to track
12707         this size for clipping.
12708
12709         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
12710         for input_only windows.
12711
12712         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
12713         to fix some hacks and make sure that we don't try to set the
12714         background of input only windows.
12715
12716 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
12717
12718         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
12719         the _really_ internal stuff, and leave gdkprivate.h for the fake private
12720         stuff that we've traditionally exposed.
12721
12722         * gdk/**.c: Use gdkinternals.h where appropriate.
12723
12724         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
12725         not include gdkprivate-x11.h, move all stuff of conceivable public
12726         interest into gdkx.h; keep all really private stuff in
12727         uninstalled header gdkprivate-x11.h.
12728
12729         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
12730         image->image_put on windows through a new function _gdk_window_draw_image()
12731         to allow us to do backing store for images. (Sort of ugly)
12732
12733         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
12734         contexts locally so that we can offset them properly when drawing 
12735         onto backing pixmaps.
12736
12737         * gdk/gdkinput.h: Reindented
12738
12739         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
12740         pixmap or color for the window, so we can properly initialize
12741         our double-buffer pixmaps, and also so that we temporarily set
12742         a background of None while scrolling.
12743
12744         * gdk/gdkregion.h: Revise region boolean operators to have an
12745         interface that is actually convenient - switch from creating new
12746         regions on every op, to "methods" that modify existing regions
12747         (A = A OP B). 3 argument forms which allow dest == src, would also
12748         be possible, but the current interfaces seem to map nicely
12749         onto what needs to be done. (There is quite a lot of region
12750         code in GDK now.)
12751
12752         * gdk/gdkregion.h: Add constructor from rectangle and a copy
12753         operator.
12754
12755         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
12756         gdkpoly-generic.h: Copy region code from Xlib, switch it over
12757         to 32 bit coordinates, modify it to be mostly GTK+ style
12758         and to have interfaces that match gdkregion.h.
12759
12760         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
12761         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
12762         create a backing pixmap and redirect all drawing to
12763         that backing pixmap until a matching gdk_window_end_paint().
12764
12765         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
12766         Create a special drawable class for GtkWindow's that 
12767         redirects the drawing to the backing pixmap as necessary
12768         and then calls the real operations in _gdk_windowing_window_class.
12769
12770         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
12771         Store invalid region for each window. Generate expose events for invalid
12772         region in an idle. This replaces both the expose compression
12773         and the redrawing queuing in GTK+. It is both more efficient and
12774         simpler than either one individually and far more so then the
12775         combination.
12776
12777         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
12778         Emulate 32 bit coordinates for windows with 16 bit coordinates
12779         by offsetting drawing, guffaw scrolling techniques and
12780         mapping/unmapping child windows as necessary.
12781
12782         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
12783         where, when invalid regions are processed, the region is stored,
12784         and if expose events come in that are detectably duplicate
12785         the processed exposes (by comparison of event serial numbers),
12786         the stored region is subtracted out of those exposes.
12787
12788         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
12789         regions newly exposed when scrolling or resizing windows.
12790         This, combined with forcing processesing of queued invalidated
12791         regions, gives nice flicker-free scrolling.
12792
12793         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
12794         invalidated regions after every scroll.
12795
12796         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
12797         emulation in GDK. Its, for all practical purposes just a
12798         GtkViewport/GtkFixed hybrid now.
12799
12800         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
12801         (16-bit) structures as necessary instead of just casting.
12802
12803         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
12804         in terms of the structures from gdkregion-generic.c, using appropriate
12805         offsets from GDK to X11 coordinates. Cache clip mask and
12806         origin and ts origin locally and only flush to the server
12807         when drawing, to avoid constantly setting and resetting these
12808         values when offsetting GC's for scrolling and backing pixmaps.
12809
12810         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
12811
12812         * gtk/gtkcontainer.c: Call process_all_updates at end
12813         of resizing to reduce flicker. (Avoids having redraw
12814         lag arbitrarily behind resize under some circumstances)
12815
12816         * gtk/gtkentry.c: Remove old backing store code, and simply take
12817         advantage of the new backing store capabilities of GDK.
12818
12819         * gtk/gtkmain.c: Simple implementation of widget backing
12820         store - simply push a paint while handling each expose.
12821         (Should really be configurable widget for widget.)
12822         
12823         * gtk/gtkwidget.c: Remove all the old complicated redraw
12824         code, and simply invalidate the GDK windows from
12825         gdk_window_queue_clear(), etc. (Sigh, so much carefully
12826         debugged complexity ... gone to the winds.)
12827
12828         Remove all the code for suppressing expose events while
12829         resizes are pending; this isn't needed since the invalid
12830         areas won't be processed until after the resizes are
12831         processed, since they are in a lower priority idle.
12832
12833 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
12834
12835         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
12836         and height of dest rectangle for non-intersecting rectangles.
12837
12838 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
12839
12840         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
12841         for GdkRectangle.
12842
12843 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
12844
12845         * gdk/gdk{events,image,private,types,window}.h
12846          gdk/x11/gdkinputprivate.h: Change all coordinates
12847          from int16 to int. Also, Change width and height from
12848          unsigned to signed to avoid all the stupid C 
12849          signedness bugs.
12850
12851 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
12852
12853         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
12854         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
12855         Add some more detailed checking.
12856
12857         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
12858         New function to retrieve the depth of a drawable.
12859
12860         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
12861         field, reorder fields to save memory. 
12862
12863 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
12864
12865         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
12866         of the background image instead of scaling the background down to
12867         a line.
12868
12869         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
12870         which temporarily set slider to wrong size.
12871
12872         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
12873         queue_clear().
12874
12875 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
12876
12877 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
12878
12879         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
12880
12881 2000-03-17  Tor Lillqvist  <tml@iki.fi>
12882
12883         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
12884         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
12885
12886         * gdk/win32/gdkfont-win32.c
12887         * gdk/win32/gdkproperty-win32.c
12888         * gdk/win32/gdkselection-win32.c
12889         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
12890         now declared such.
12891
12892 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
12893
12894         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
12895
12896 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
12897
12898         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
12899         is called without trapping X errors.
12900
12901 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
12902
12903         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
12904         way into the fontset lists.
12905
12906 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
12907
12908         * gtk/gtkthemes.h: add extern "C" scope.
12909
12910 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
12911
12912         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
12913         to make appends to the list constant. (gtk-guy-990901-0.patch)
12914
12915 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
12916
12917         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
12918         for the typename hash table.
12919
12920 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
12921
12922         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
12923         to make sure we never divide by zero. 
12924         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
12925
12926 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
12927
12928         * gtk/gtkfontsel.c: Apply patch from
12929         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
12930         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
12931
12932         Also, some cleanups in atom handling.
12933
12934 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
12935
12936         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
12937         not GtkWidget.
12938
12939 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
12940
12941         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
12942         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
12943         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
12944         more guint wrap-around bugs before going to bed.
12945
12946 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
12947
12948         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
12949         guint wrap arounds in allocation.width.
12950
12951         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
12952         process untill we fit the allocation given.
12953
12954 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
12955
12956         * gtk/gtkwidget.c:
12957         (gtk_widget_unrealize): guard widget access with ref/unref
12958         around signal emission.
12959         (gtk_widget_hide): same here, but also check its destroyed
12960         state before queueing a resize.
12961
12962 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
12963
12964         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
12965         of gtk_default_insensitive_bg as insensitive base color.
12966
12967         * gtk/gtktext.c (gtk_text_style_set): set the background color according
12968         to the widget's state.
12969         (gtk_text_realize): same here.
12970         (gtk_text_state_changed): same here.
12971         (draw_bg_rect): compare background color against base[] from
12972         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
12973
12974 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
12975
12976         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
12977         grabs are active, unless a delete event is send to the toplevel
12978         of the currently grab holding widget.
12979
12980 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
12981
12982         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
12983         debugging g_print's.
12984
12985 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
12986
12987         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
12988         ever make the scrolled-window requisition ever depend on the 
12989         visibility state of the scrollbars for the AUTOMATIC policy. 
12990         This breaks the GTK+ requisition model, and causes loops.
12991
12992 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
12993
12994         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
12995         the default font to avoid problems with XFree86-4.0 where the
12996         default charset is iso10646-1, not iso8859-1.
12997
12998 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
12999
13000         * acinclude.m4
13001         * config.guess
13002         * config.sub
13003         * ltconfig
13004         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
13005
13006         * gtk/Makefile.am: minor cosmetic consistency tweak
13007
13008 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
13009
13010         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
13011         the activate_time to 0, so that we handle a quick
13012         press/release press/release properly and don't suppress
13013         the second release. (Red Hat bug #7545)
13014
13015 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
13016
13017         * gtk/gtkctree.c (row_delete):
13018         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
13019         bugs with destruction notifier, *always* update internal
13020         structures *before* calling user code.
13021
13022 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
13023
13024         A few more fixes for bug #5487, #2051, #2677.
13025         * gtk/gtkclist.c : 
13026         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
13027         not GDK_BUTTON_PRESS.
13028         (resync_selection): resync only if selection_mode is
13029         GTK_SELECTION_EXTENDED
13030         * gtk/gtkctree.c (resync_selection): same here
13031
13032 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
13033
13034         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
13035         gdk_drag_get_selection() and gtk_menu_detach().
13036
13037         [ From Jeroen Ruigrok/Asmodai ]
13038
13039 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
13040
13041         * gtk/gtknotebook.c (gtk_notebook_size_request): 
13042         page->tab_label can be NULL.
13043
13044 2000-01-25  Havoc Pennington  <hp@pobox.com>
13045         
13046         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
13047         arg is boolean
13048
13049         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
13050
13051         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
13052
13053         * gdk/gdkproperty.c (gdk_property_get): return boolean
13054
13055         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
13056
13057         * gdk/gdkim.c (gdk_im_ready): return boolean
13058
13059         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
13060
13061         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
13062         glib clash, should fix glib)
13063
13064         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
13065         (gdk_get_show_events): return gboolean, and canonicalize 
13066         to TRUE/FALSE
13067
13068         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
13069         colormap is private
13070         (gdk_colors_alloc): gboolean whether to be contiguous
13071         (gdk_color_equal): return gboolean since we are a predicate
13072         and not a qsort() (this looks semi-wrong due to glib breakage,
13073         IMO glib should be fixed)
13074         
13075         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
13076         (gdk_get_use_xshm): return gboolean
13077         (gdk_pointer_is_grabbed): return gboolean
13078
13079         * gdk/gdk.h: Change prototypes to match all the above changes,
13080         and re-run egtk-format-protos as required.
13081
13082 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
13083
13084         * gtk/gtkctree.c (resync_selection): 
13085         * gtk/gtkclist.c (resync_selection):
13086
13087         Return immediately if clist->drag_pos < 0. This is a workaround
13088         for the corrupt state that the clist gets into when a
13089         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
13090
13091         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
13092         
13093         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
13094         variable from recent commit.
13095
13096 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
13097
13098         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
13099
13100 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
13101
13102         * gtk/Makefile.am: prefix all autogenerated source that get build in
13103         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
13104         in builddir. since we subsequently cd into srcdir for autogeneration,
13105         the paths have to be stripped from the target file names, thusly we
13106         use $(@F) as target names now.
13107         put a comment about configure.in's --disable-rebuilds option,
13108         which can be used for non-writable source directories, for development
13109         setups though, srcdir has to be *writable*.
13110
13111 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
13112
13113         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
13114           Finish the job of allowing event to be NULL.
13115           (Fixes bug #4283, reported by Chris Blizzard)
13116
13117         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
13118           things so that the cursor appears on screen, properly
13119           take into account INNER_BORDER.
13120           (Fixes bug #4754, reported by Antonio Campos)
13121
13122 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
13123
13124         * gtk/gtknotebook.c (gtk_notebook_map): Don't
13125           show the tab_label unless it itself is visible.
13126
13127           gtk/gtknotebook.c (gtk_notebook_size_request):
13128           Do a better job of making sure that the visibility
13129           of the tab label corresponds to whether it should
13130           be mapped or not.
13131
13132 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
13133
13134         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
13135           Use the requisition, not the allocation, since the
13136           allocation has not necessarily been computed yet.
13137           (Pointed out by Eugene Osintsev)
13138
13139 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
13140
13141         * gtk/gtkstyle.c (gtk_style_new): Dont' set
13142           style/base[GTK_STATE_INSENSITIVE] both to
13143           gtk_default_insensitive_bg!
13144           (Bug #2187, reported by Jonathan Blandford)
13145
13146         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
13147           Add Alt_L, Alt_R to list of invalid accelerators.
13148           (Bug #3736, reported by Vlad Harchev)
13149
13150 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
13151
13152         * gtk/gtkfilesel.c (open_ref_dir): Fix several
13153         bugs which occured after an attempt to open 
13154         invalid home directory left cmpl_state->reference_dir == NULL.
13155
13156          - completion on files in home directory didn't work
13157          - completion on an empty string caused  segfault
13158
13159          (Bug #3678, reported by Steve Ratcliffe)
13160
13161         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
13162         cut and paste error that was causing scales to
13163         be incorrectly positioned.
13164         (Bug #2956,
13165          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
13166
13167 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
13168
13169         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
13170         when checking for dcgettext, if we've found we needed
13171         it for dgettext.
13172 +
13173 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
13174
13175         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
13176         queue_clear on NO_WINDOW widgets during a reparent,
13177         since at that point the window and widget heirarchies
13178         are out of sync. This stops crashing in some cases
13179         (the scrolled window reparent test, for instance), and
13180         _probably_ won't cause drawing errors.
13181
13182         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
13183         test do what it was supposed to do and be robust against
13184         window closings, etc. (Bug #2443)
13185
13186 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
13187
13188         * gtk/gtkentry.c: Fix return values on mouse events.
13189         (Bug #2686, Sky <seb_sky@yahoo.com>)
13190
13191         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
13192         (pointed out by George Lebl)
13193
13194         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
13195         (From Ettore Perazzoli  <ettore@helixcode.com>)
13196  
13197 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
13198
13199         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
13200         clicks between rows or outside calender area correctly.
13201         (Patch from Damon Chaplin)
13202
13203         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
13204         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
13205           Call destroy function when overwriting existing data. 
13206           (Pointed out by Damon Chaplin)
13207
13208 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
13209
13210         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
13211           which was causing problems on various systems with Xmu.
13212           This hasn't been needed for a very long time.
13213           (Fixes #1185 3167)
13214
13215 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
13216
13217         * gdk/gdki18n.h: Include <ctype.h> when defining
13218           gdk_isw* in terms of is* as a fallback.
13219           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
13220
13221 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
13222
13223         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
13224           realize the widget when it is size allocated!
13225           (old, old bug)
13226
13227         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
13228           Removed unused call to gdk_window_get_size() that
13229           showed up when the above was fixed.
13230
13231 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
13232
13233         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
13234           fix up widget->window when the widget is a
13235           NO_WINDOW container widget.
13236
13237 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
13238
13239         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
13240           to account for the fact that feof() does _not_ 
13241           return TRUE on errors, and thus avoid infinite loops
13242           when trying to use gdk_pixmap_create_from_xpm()
13243           on unreadable values.
13244
13245 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
13246
13247         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
13248
13249 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
13250
13251         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
13252           gdk_gc_set_dashes to take gint8 instead of gchar to
13253           make it clearer that it is _not_ a NULL terminated string.
13254
13255         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
13256           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
13257           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
13258           arguments.
13259
13260 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
13261
13262         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
13263         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
13264         background size relative to our allocation, guard against small
13265         allocations, we may have not yet been size allocated.
13266
13267 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
13268
13269         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
13270         not just version == 3. We implement all 3 + most of 4 - 
13271         (we don't support matching text/plain;charset=iso-8859-1
13272         to a dest that expects text/plain). We'll still advertise
13273         3 to be safe, but any client implementing version >= 3
13274         must interoperate with 3.
13275         
13276 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
13277
13278         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
13279         background and gc members, add a warning in gtk_tooltips_set_color()
13280         indicating that this function is deprecated.
13281
13282 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
13283
13284         * docs/gtkfaq.sgml: FAQ Update:
13285           - Minor cleanups (Emmanuel, me)
13286           - New questions:
13287                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
13288                 How can I retrieve the text from a GtkMenuItem? (timj)
13289                 How do I validate/limit/filter the input to a GtkEntry? (me)
13290                 Memory does not seem to be released when I free the list
13291                         nodes I've allocated (timj)
13292
13293 2000-03-07  Tor Lillqvist  <tml@iki.fi>
13294
13295         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
13296         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
13297         for which it is no use to call GetLastError onWin9x.
13298         (gdk_other_api_failed) New function, for general error
13299         reporting without calling GetLastError.
13300         (gdk_win32_api_failed) OTOH, this function always calls
13301         GetLastError. (gdk_win32_last_error_string) Remove this function,
13302         GLib has the equivalent now.
13303
13304         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
13305         call them with function name, file name and line number in the
13306         arguments.
13307
13308         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
13309         functions.
13310         
13311         * gtk/gtk.def: Add some missing entry points.
13312
13313         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
13314         gtk_paned_set_gutter_size, which don't exist any longer, as void.
13315         
13316         Fixes by Hans Breuer:
13317
13318         * gdk/makefile.msc: Update for debugging.
13319
13320         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
13321         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
13322         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
13323         in the dash_list.
13324
13325         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
13326         the x11 backend.
13327
13328         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
13329
13330         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
13331
13332 2000-03-04  Tor Lillqvist  <tml@iki.fi>
13333
13334         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
13335         just pixel value of background colour.
13336
13337         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
13338         containing code snippet previously duplicated in a couple of
13339         places.
13340         
13341         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
13342         gdk_colormap_color.
13343
13344         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
13345         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
13346         events for autorepeated Shift, Control and Alt keys. Use
13347         gdk_colormap_color.
13348
13349         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
13350         pointer is inside the window the cursor of which we are setting,
13351         call SetCursor immediately.
13352
13353         * gdk/win32/makefile.cygwin
13354         * gtk/makefile.cygwin: If we don't have the build number stamp
13355         file, use zero.
13356
13357         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
13358         gtk_paned_set_gutter_size as empty.
13359
13360         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
13361         
13362 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
13363
13364         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
13365           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
13366           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
13367           docs/gtk_tut.sgml docs/gtk.texi TODO:
13368
13369           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
13370
13371 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
13372
13373         * gtk/gtkcalendar.c: Implement num_marked_dates,
13374           and don't emit mutiple day_selected signals on
13375           month_prev.
13376
13377 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
13378
13379         * docs/make-todo (lineno): let title and logo be configurable so
13380         that GNOME can use this script too.
13381
13382         * TODO.xml: added logourl and a title
13383
13384 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
13385
13386         * TODO.xml: Added some UI items, and an explanatory
13387         comment at the top of the file.
13388
13389 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
13390
13391         * TODO.xml: some updates, added abunch of new entries.
13392         a note for those fiddeling with this file, when done
13393         with it, invoke:
13394         $ ./docs/make-todo TODO.xml >/dev/null
13395         and correct output errors before comitting changes.
13396
13397 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
13398
13399         * TODO.xml: Added XML-structured TODO file.
13400         * docs/make-todo: python script to turn TODO.xml into
13401           pretty XML output. 
13402
13403 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
13404
13405         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
13406         the function to let it draw the seven dots, instead of the old,
13407         much maligned, method.
13408         (draw_dot): New function to draw a dot.
13409
13410         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
13411         to draw the handle inside the border width as opposed to outside.
13412         Use paint function instead of gdk_draw_point.
13413
13414         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
13415         to draw the handle inside the border width as opposed to outside.
13416         Use paint function instead of gdk_draw_point.
13417
13418         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
13419         Change indenting to be more GTK like.
13420
13421 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
13422
13423         * docs/gtk_tut.sgml: New section on GtkCalendar
13424         * examples/calendar: Update example code
13425
13426 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
13427
13428         * docs/gtkfaq.sgml: FAQ Update
13429
13430 2000-02-19  Anders Carlsson  <andersca@gnu.org>
13431
13432         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
13433         to prevent the scroll event to be propagated upwards.
13434
13435 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
13436
13437         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
13438         OwnerGrabButtonMask from button entries for
13439         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
13440
13441         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
13442         to the event mask (which will result in button/press release
13443         being added to the event mask on Unix) so scrolling works
13444         for layouts in scroll windows.
13445
13446         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
13447
13448         Patch from Anders Carlsson  <andersca@gnu.org> to add
13449         a scroll event.
13450
13451         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
13452         scrolling to the "Test Scrolling" part of testgtk.
13453  
13454         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
13455  
13456         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
13457         it against GDK_SCROLL.
13458  
13459         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
13460         way of mouse wheel scrolling.
13461  
13462         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
13463  
13464         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
13465  
13466         * gtk/gtkmain.c: Removed previous mouse wheel hack.
13467  
13468         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
13469         gdk_event_mask_table.
13470  
13471         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
13472         GdkEventScroll handler.
13473  
13474         * gdk/gdkevents.h: Added GdkEventScroll structure.
13475  
13476 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
13477
13478         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
13479         and Anders Carlsson to change the Paned widgets so that they
13480         can be dragged from anywhere along the length. Also change
13481         the way that this is drawn to make this apparent.
13482
13483         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
13484         from George Lebl to check that option_menu->menu is present
13485         before getting history.
13486
13487 2000-02-14  Tor Lillqvist  <tml@iki.fi>
13488
13489         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
13490         before the assertion for non-NULL segment list.
13491
13492         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
13493         Seems that pattern brushes *must* be 8x8 pixels! At least on my
13494         machine, but it might be display driver dependent. Sigh, so make
13495         sure the stipple is that size. Does Windows suck or what?
13496
13497         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
13498         places.
13499
13500 2000-02-13  Havoc Pennington  <hp@pobox.com>
13501
13502         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
13503         refcount to 1
13504         (gdk_cursor_new): init refcount to 1
13505
13506         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
13507
13508 2000-02-13  Tor Lillqvist  <tml@iki.fi>
13509
13510         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
13511         so that we don't have to do unnecessary settings to the HDC.
13512
13513         * gdk/win32/gdkdrawable-win32.c
13514         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
13515         gdk_gc_predraw.
13516
13517         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
13518         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
13519         GDI paths, call WidenPath to get the outline of the stroken path,
13520         and then fill the outline (with the brush that was built from the
13521         stipple).
13522
13523         * gdk/win32/gdkgc-win32.c: Factor out common code from
13524         _gdk_win32_gc_new and gdk_win32_gc_set_values into
13525         gdk_win32_gc_values_to_win32values. Use correct colour for
13526         SetBkColor() (Until now the code actually used a random colour in
13527         the call to SetBkColor()... but that didn't show up as not many
13528         GDI APIs use the background colour. Pattern (opaque stippled)
13529         brushes do.)
13530
13531         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
13532         gdk_win32_api_failed): New functions for error logging.
13533
13534         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
13535         WIN32_API_FAILED to call them, passing function or file name and
13536         line number.
13537
13538         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
13539
13540         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
13541         GdkColor for foreground and background in GdkGCWin32Data.
13542
13543         * gdk/makefile.cygwin: Link in the resource object separately.
13544
13545         * gdk/win32/rc/gdk.rc
13546         * gtk/gtk.rc (New file)
13547         * gdk/win32/makefile.cygwin
13548         * gtk/makefile.cygwin: Update build number in DLLs automatically,
13549         as in GLib.
13550
13551 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
13552
13553         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
13554         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
13555         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
13556         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
13557         parameters given and cursor->ref_count. coding style fixups.
13558
13559         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
13560         not GtkWidget.
13561         
13562         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
13563         fix up widget macros and add _GET_CLASS() variant.
13564         
13565         * gtk/*.c: some GtkType fixups.
13566
13567 2000-02-09  Tor Lillqvist  <tml@iki.fi>
13568
13569         * gdk/win32/gdkproperty-win32.c
13570         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
13571         were reversed.
13572
13573 2000-02-04  Tor Lillqvist  <tml@iki.fi>
13574
13575         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
13576         g_filename_to_utf8 to convert the font names Windows gives us from
13577         whatever is the default codepage to UTF-8.
13578         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
13579         in the other direction.
13580
13581         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
13582         error in debugging output.
13583
13584 2000-02-02  Tor Lillqvist  <tml@iki.fi>
13585
13586         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
13587         and height parameters to gdk_window_clear_area(). Not minus one.
13588
13589 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
13590
13591         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
13592         checks if the widget passed to gtk_drag_get_data() was not the
13593         dest widget.
13594
13595 2000-02-01  Tor Lillqvist  <tml@iki.fi>
13596
13597         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
13598         g_filename_from_utf8 functions (which were added a moment ago to
13599         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
13600         size buffers.
13601
13602         gtk_file_selection_get_filename returns the filename in the C
13603         runtime encoding. It calls g_filename_from_utf8, but copies the
13604         returned string to a static buffer, which is returned. I think
13605         this is better than returning the result from g_filename_from_utf8
13606         directly, which would mean all apps that use it would have to free
13607         the return value. Or should this function care about this issue at
13608         all? Maybe a new function with clearly defined semantics.
13609
13610         * gtk/gtkfilesel.h: Add comment about
13611         gtk_file_selection_get_filename returning the filename in the C
13612         runtime's encoding.
13613
13614         * README.win32
13615         * gdk/gdk.def
13616         * gdk/makefile.{cygwin,msc}
13617         * gtk/gtk.def: Updates.
13618
13619         * gdk/gdkcursor-win32.c: Initialise refcount.
13620
13621 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
13622
13623         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
13624
13625 2000-01-30  Havoc Pennington  <hp@pobox.com>
13626
13627         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
13628         destroy
13629
13630         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
13631
13632         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
13633         implemented in platform-specific code
13634
13635         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
13636
13637         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
13638         underscore in front
13639
13640         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
13641         put an underscore in front
13642
13643         * gdk/gdkcursor.c: new file, implements
13644         gdk_cursor_ref/gdk_cursor_unref
13645
13646         * gdk/gdkcursor.h: Refcount GdkCursor
13647
13648         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
13649
13650 2000-01-29  Tor Lillqvist  <tml@iki.fi>
13651
13652         * gdk/gdkwindow.h
13653         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
13654
13655 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
13656
13657         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
13658         structures to properly inherit from GtkWidget not GtkBin.
13659
13660 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
13661
13662         * gtk+.spec.in: Added lib/gtk+/include/* to %files
13663         (bug #5178 - Peter Wainright)
13664         
13665         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
13666         so that it will be installed.
13667         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
13668
13669 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
13670
13671         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
13672         for the GtkStyleClass vtable const.
13673
13674         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
13675         take a const string argument like GtkTranslateFunc. This will
13676         require changes in use code.
13677
13678 2000-01-19  Tor Lillqvist  <tml@iki.fi>
13679
13680         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
13681         semantics (to mimic the X11 backend, which just calls XClearArea)
13682         is to check for zero width (and height), and in that case use the
13683         window's width minus x (height minus y). This fixes for instance
13684         some redraw problems with gtkclist, which were easily noticeable
13685         in the gtk file selection widget.
13686
13687         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
13688         windows.
13689
13690 2000-01-13  Tor Lillqvist  <tml@iki.fi>
13691
13692         * configure.in
13693         * gdk/Makefile.am
13694         * gdk/x11/Makefile.am
13695         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
13696         (bug #5177).
13697         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
13698         out later.
13699
13700 2000-01-09  Tor Lillqvist  <tml@iki.fi>
13701
13702         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
13703         WM_MOVE for iconified or invisible windows. This fixes various
13704         problems when minimising windows. Thanks to Bernd Herd.
13705
13706 2000-01-05  Tor Lillqvist  <tml@iki.fi>
13707
13708         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
13709         backend's draw_lines method, not draw_points.
13710
13711 2000-01-02  Tor Lillqvist  <tml@iki.fi>
13712
13713         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
13714         before Owen's reorganisation: Don't have queued_events and
13715         queued_tail statics in this file, but use gdk_queued_events and
13716         gdk_queued_tail. This makes exposure event compression work again.
13717
13718         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
13719         seem to be needed?
13720
13721 1999-12-30  Tor Lillqvist  <tml@iki.fi>
13722
13723         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
13724         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
13725         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
13726         doesn't do anything.
13727
13728         * gdk/gdk.def: Add gdk_xid_table_insert.
13729
13730         * gdk/win32/gdkprivate-win32.h
13731         * gdk/win32/gdkevents-win32.c
13732         * gdk/win32/gdkinput-win32.c
13733         
13734         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
13735         extension_events field in the GdkWindowWin32Data struct. Use only
13736         the extension_events field in GdkWindowPrivate. Previously one was
13737         set, and the other one tested, which broke tablet
13738         functionality. Thanks to Keishi Suenaga for pointing this out.
13739
13740 1999-12-18  Tor Lillqvist  <tml@iki.fi>
13741
13742         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
13743         When handling a single character (text length == 1), don't handle
13744         it as if it was UTF-8.
13745
13746 1999-12-11  Tor Lillqvist  <tml@iki.fi>
13747
13748         * Makefile.am: Distribute README.win32.
13749         
13750         * gdk/Makefile.am
13751         * gdk/win32/Makefile.am: Distribute Win32 files.
13752
13753         * gdk/makefile.msc: New file.
13754
13755         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
13756         after label).
13757
13758         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
13759         gdk_error_code as GDKVAR, as they are referred outside GDK.
13760
13761         * gdk/win32/makefile.msc: Update.
13762
13763         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
13764         tweaks. Check only if at least one of those Unicode subrange bits
13765         we care for is set. If no code page bits are set, guess (wildly)
13766         based on the charset.
13767
13768         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
13769
13770         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
13771         non-NULL.
13772
13773         * gtk/gtkdnd.c
13774         * gtk/gtklayout.c
13775         * gtk/gtkplug.c
13776         * gtk/gtkselection.c
13777         * gtk/gtksocket.c
13778         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
13779         appropriate. There must be a cleaner way to handle this?
13780
13781         * gtk/gtkrc.c: Must include windows.h on Win32.
13782
13783         * gtk/testgtk.c: No need to include gdkx.h.
13784
13785         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
13786
13787 1999-12-07  Tor Lillqvist  <tml@iki.fi>
13788
13789         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
13790         the rbearing is set to the same as the width, but this should be
13791         fixed.
13792
13793 1999-12-06  Tor Lillqvist  <tml@iki.fi>
13794
13795         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
13796         function. If Windows doesn't tell us what Unicode subranges a font
13797         covers, guesstimate based on the codepages it covers. This will
13798         hopefully help those Windows versions or fonts that don't give us
13799         any useful Unicode subrange information with GetTextCharsetInfo.
13800         Call this function in gdk_font_load_internal.
13801
13802         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
13803         minor changes.
13804
13805 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
13806
13807         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
13808         New function, long needed.
13809
13810 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
13811
13812         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
13813         only_if_exists argument of gdk_atom_intern to
13814         bool.
13815
13816 1999-11-25  Tor Lillqvist  <tml@iki.fi>
13817
13818         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
13819         Fix two copy&paste errors.
13820
13821         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
13822         win32 has changed.
13823
13824         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
13825         GdkWin32SingleFont struct.
13826
13827         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
13828         subranges of loaded fonts. Clear font signature first, in case
13829         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
13830         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
13831
13832         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
13833         Unoffset clip region.
13834
13835 1999-11-23  Tor Lillqvist  <tml@iki.fi>
13836
13837         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
13838         event->any.window before calling filter functions.
13839
13840 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
13841
13842         * gtk/gtkgamma.h: Adapt cast macros to standard.
13843
13844 [ Merges from 1.2 ]
13845
13846 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
13847
13848         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
13849         If translation does not include a '/', use entire
13850         translation instead of crashing.
13851
13852 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
13853
13854         * docs/gtk_tut.sgml:
13855         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
13856
13857 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
13858
13859         * gtk/gtkselection.c (gtk_target_list_remove): Use
13860         g_list_remove_link, not g_list_remove.
13861
13862         [ From Geert Bevin <gbevin@thunderstorms.org> ]
13863         
13864 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
13865
13866         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
13867         statement upon unselection (how the heck did that slip in?).
13868
13869 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
13870
13871         * gtk/gtktext.c (gtk_text_freeze): 
13872         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
13873         in frozen state (and aparently crashes). patch provided by Anders
13874         Melchiorsen <and@kampsax.dtu.dk>.
13875
13876 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
13877
13878         * fix insensitive default/focus widget activation,
13879         reported by Matt Goodall <mgg@isotek.co.uk>.
13880
13881         * gtk/gtkwindow.c (gtk_window_key_press_event): 
13882         (gtk_window_activate_default):
13883         (gtk_window_activate_focus):
13884         return handled=FALSE for actiavtion of insensitive default
13885         widgets. return handled=TRUE for activation of insensitive
13886         focus widgets. don't activate in either case.
13887
13888 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
13889
13890         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
13891         and $glib_cflags to match library order and in the
13892         theory that an old version of GLib is more likely to
13893         be in the include directory for X then vice-versa.
13894         (Bug #2776)
13895
13896 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
13897
13898         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
13899         to determine the locale for fontsets, not LC_MESSAGES;
13900         the user may want English messages with a handling
13901         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
13902         will still be broken) (Bug #2891)
13903
13904 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
13905
13906         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
13907
13908 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
13909
13910         * gtk/gtkrc.ko: Changed the Korean default fontset.
13911
13912 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
13913
13914         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
13915         where when scrolling to the left or top double exposes
13916         were done, causing major slowdowns.
13917
13918 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
13919
13920         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
13921         names to lowercase and alphanumeric, before looking
13922         them up.
13923
13924         * gtk/Makefile.am: Install codeset variant gtkrc files
13925         with normalized names.
13926
13927 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
13928
13929         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
13930         popup menus when the menu is already visible, but its parent
13931         is still hidden, (happens after tornoff window got hidden).
13932
13933 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
13934
13935         * gtk/Makefile.am (install-data-local): Fix
13936         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
13937         deleted, causing error messages on install.
13938
13939 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
13940
13941         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
13942         the handle as well, since we now sometimes ignore
13943         exposes on the handle while resizing.
13944
13945 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
13946
13947         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
13948         extra g_free introduced in one of the last one or two 
13949         commits.
13950
13951 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
13952
13953         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
13954         consistent, put each style that a gtkrc.* file creates
13955         in a unique namespace, remove old files before installing.
13956
13957 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
13958
13959         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
13960         gtk_rc_init is called multiple times. (Yes, people who
13961         do that have bugs in their code.)
13962
13963 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
13964
13965         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
13966         Remove it since it's generated by the Makefile anyway
13967
13968 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
13969
13970         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
13971         device->info.axes for core pointer.
13972
13973 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
13974
13975         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
13976         idle_id, to deal with obsolete, broken C libraries.
13977
13978 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
13979
13980         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
13981         allocation->x/y twice!
13982
13983         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
13984         consistent with gtk_vscale_pos_trough().
13985
13986 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
13987
13988         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
13989         be queueing a resize on a toplevel container between
13990         the time we show it and when we map it. So, we need
13991         to test GTK_WIDGET_VISIBLE() for toplevels, and only
13992         use GTK_WIDGET_DRAWABLE() for child windows.
13993
13994 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
13995
13996         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
13997         (fixes bug #2144)
13998
13999 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
14000
14001         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
14002         container DRAWABLE (instead of VISIBLE), so we don't queue
14003         resizes on non-toplevel containers.
14004
14005 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
14006
14007         * gtk/gtkselection.[ch]: Make the data argument
14008         const guchar *.
14009
14010 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
14011
14012         * gtk/gtkwindow.c: Try to behave sensibly if 
14013         the focus widget is the window itself. (Should
14014         we allow this at all?)
14015
14016 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
14017
14018         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
14019         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
14020         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
14021         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
14022         in prototypes and implementations consistent (Tomas Ogren).
14023
14024         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
14025         before the widget is unparented (reported by damon).
14026
14027         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
14028         since we provide unsigned data anyways.
14029
14030 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
14031
14032         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
14033         the call to gtk_tooltips_layout_text() until later.
14034
14035         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
14036         Call gtk_widget_ensure_style() before using the style.
14037
14038 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
14039
14040         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
14041         for old widgets that don't propagate draws to all
14042         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
14043
14044 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
14045
14046         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
14047         for a redraw but just the widget that requested the resize.
14048
14049 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
14050
14051         * gtk/gtkcontainer.c: added new widget level method
14052         gtk_container_set_reallocate_redraws() and a GtkContainer flag
14053         reallocate_redraws : 1 to reflect the setting, exported this through
14054         the argument system as a boolean ::reallocate_redraws.
14055
14056         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
14057         on the widget because the allocation changes, do so as well for
14058         widget->parent if the parent has reallocate_redraws set to TRUE.
14059         with that containers requesting reallocation redraws get automatically
14060         redrawn if their children changed allocation (this unfortunately
14061         affects also other children that didn't change allocation, but we
14062         cannot work around that before 1.3).
14063
14064 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
14065
14066         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
14067         _and_ height are >0 (not _or_).
14068
14069         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
14070         instead of gtk_container_queue_resize(), which is a core gtk internal
14071         function (must have been on crack when i queued that).
14072
14073         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
14074         we can check more reliably if we want to discard expose events.
14075         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
14076         flag.
14077         
14078         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
14079         we simply trust these events. for deciding whether to discard exposes,
14080         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
14081         
14082 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
14083
14084         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
14085         queues of areas that are completely off screen.
14086
14087         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
14088         logic for handleboxes.
14089
14090         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
14091         check on width/height.
14092
14093 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
14094
14095         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
14096         we are fine with using $@ the way we do (if we actually encounter
14097         brokeness with $@ in VPATH builds because of additional path prefixes,
14098         we need to use $(@F) actually).
14099
14100 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
14101
14102         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
14103         short lived bugs, that would allow language bindings to do surgeries
14104         to our guts.
14105
14106 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
14107
14108         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
14109         where comparison was being done against an uninitialized
14110         value causing intermittant results depending on
14111         compiler flags. Also make it clearer that we aren't
14112         ever initializing the child as 0x0 (though this will
14113         be caught in gtk_widget_size_allocate())
14114
14115 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
14116
14117         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
14118         gtk_window_unset_transient_for() call after we do checks
14119         involving the old transient parent.
14120         [ From Lance Capser <lmc@cyberhighway.net> ]
14121
14122 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
14123
14124         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
14125         an empty file.
14126
14127 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
14128
14129         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
14130         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
14131
14132 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
14133
14134         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
14135         `$@' is valid only in the build dir, not after we've done 
14136         `cd $srcdir'.  Also use `test -f' instead of less portable
14137         `test -e'.
14138
14139 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
14140
14141         * gtk/gtktext.c (correct_cache_insert): Rewrite
14142          for simplicity, and hopefully correctness.
14143          (Fixes bug #1322, which was a segfault when
14144           on some insertions with the properties around
14145           the insertion set up just wrong.)
14146
14147         * gtk/gtktext.c (gtk_text_adjustment): When we receive
14148          a "changed" signal, clamp the new value to the adjustment
14149          bounds to avoid segfaulting if someone tries to change
14150          the adjustment to a bogus value. (Bug #1795)
14151
14152 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
14153
14154         * gtk/gtkmain.c: Ignore unexpected destroy notifies
14155         for children, for toplevel windows handle them
14156         like delete_event.
14157
14158         * gtk/gtkplug.c: Add an unrealize handler so that
14159         we unref plug->socket_window when we are done
14160         with it.
14161
14162 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
14163
14164         * gtk/gtktext.c (clear_area): Fix stupid signedness
14165          problem that was causing background to sometimes
14166          be misaligned.
14167
14168 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
14169
14170         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
14171         
14172         * gtk/gtkmenu.c (gtk_menu_position): Make
14173          sure we never position menus with negative x, y,
14174          since gtk_widget_set_uposition() can't handle that.
14175
14176         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
14177          Modify the positioning code a bit so that we always
14178          put the top-left corner onscreen. (This is for
14179          UI reasons, gtk_menu_position() now takes care of
14180          gtk_widet_set_uposition() brokeness.)
14181
14182 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
14183
14184         * gtk/Makefile.am: fixed up things for -jx, x > 1.
14185
14186 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
14187
14188         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
14189           RC style that is passed in. The lack of the ref
14190           before was a bug. If people worked around this
14191           bug, this will introduce a slight memory leak
14192           in their code. The code should typically look like:
14193
14194             rc_style = gtk_rc_style_new ();
14195             [...]
14196             gtk_widget_modify_style (widget, rc_style);
14197             gtk_rc_style_unref (rc_style);
14198
14199         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
14200           the style if it was already set.
14201
14202         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
14203           style if it was set before.
14204
14205 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
14206
14207         * gtk/testgtk.c (main): Add a check to see if we
14208           are being run from the correct directory and
14209           to quit nicely if we are not.
14210
14211         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
14212           static.
14213
14214 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
14215
14216         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
14217
14218         * gtk/gtkwindow.c:
14219         queue resizes unconditionally (gtk_widget_queue_resize will figure
14220         what to do if the window is not realized).
14221         (gtk_window_move_resize): only recenter the window
14222         for GTK_WIN_POS_CENTER_ALWAYS.
14223         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
14224         the same way as GTK_WIN_POS_CENTER.
14225
14226 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
14227
14228         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
14229         with (!(info->last_flags & GDK_HINT_POS)) instead of
14230         (!info->last_flags & GDK_HINT_POS).
14231
14232         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
14233         new_height unconditionally, because we use these values even if
14234         !default_size_changed && !hints_changed.
14235         comented the (default_size_changed || hints_changed) case with
14236         respect to resize rejects from the window manager.
14237
14238         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
14239         in the zvt condition hack, since this includes the window hints, set
14240         the hints after the handling_resize case.
14241
14242         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
14243         window is initially shown with to the geometry.
14244
14245 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
14246
14247         * gtk/gtkwindow.c (gtk_window_move_resize):
14248         s/size_changed/default_size_changed/g so i know what's
14249         really going on (frying brain on smaller flame now).
14250
14251 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
14252
14253         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
14254         we have size_changed upon handling_resize. this is a gross
14255         workaround for the broken zvt widget and should be removed in
14256         1.3 again (search for FIXME).
14257         Owen provided an accurate comment for this:
14258
14259         /* We could be here for two reasons
14260          *  1) We coincidentally got a resize while handling
14261          *     another resize.
14262          *  2) Our computation of size_changed was completely
14263          *     screwed up, probably because one of our children
14264          *     is broken. It's probably a zvt widget.
14265          *
14266          * For 1), we could just go ahead and ask for the
14267          * new size right now, but doing that for 2)
14268          * might well be fighting the user (and can even
14269          * trigger a loop). Since we really don't want to
14270          * do that, we requeue a resize in hopes that
14271          * by the time it gets handled, the child has seen
14272          * the light and is willing to go along with the
14273          * new size. (this happens for the zvt widget, since
14274          * the size_allocate() above will have stored the
14275          * requisition corresponding to the new size in the
14276          * zvt widget)
14277          *
14278          * This doesn't buy us anything for 1), but it shouldn't
14279          * hurt us too badly, since it is what would have
14280          * happened if we had gotten the configure event before
14281          * the new size had been set.
14282          */
14283
14284 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
14285
14286         * gtk/gtkrc.c: deal properly with the fact that RC
14287           style lists may include rc styles more than once.
14288
14289         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
14290           unused static function.
14291
14292         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
14293           stack of directories of RC files currently being
14294           parsed and implicitely add them to pixmap path.
14295           
14296           This fixes a bug where the directory would get
14297           appended then overwritten by pixmap_path declarations.
14298
14299           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
14300
14301         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
14302           theme's exit function. (Patch from Peter Wainwright,
14303           bug #1454)
14304
14305         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
14306           Add a destroy() handler to take care of removing
14307           group for menu item. (Fixes bug #1197)
14308
14309         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
14310           in warning message.
14311
14312 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
14313
14314         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
14315         roundtrip to figure window's width and height, since we know that
14316         anyways from widget->allocation.
14317
14318 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
14319
14320         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
14321           the hints after we request the new size.
14322
14323 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
14324
14325         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
14326           GTK_WIDGET_REALIZED() assertion - we can compute the
14327           hints before we are realized.
14328
14329         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
14330           hint changing so that we have a value of hints_changed
14331           when we decide whether to constrain the window size.
14332
14333         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
14334
14335         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
14336         change back to G_MAXINT.
14337
14338 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
14339
14340         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
14341         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
14342         contain uncluttered values.
14343         (gtk_window_compute_hints): simply assert that window is realized
14344         and that geometry_info is valid, since we rely on this anyways.
14345         (gtk_window_constrain_size): major cleanups to the code.
14346         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
14347         for the base size, instead of the minimums. use 32767 as max width
14348         and height (like in gtkwindow.c) instead of G_MAXINT.
14349
14350 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
14351
14352         * cleaned up the GtkContainer.need_resize flag handling mess, we
14353         only need to force resize requests when we were prematurely
14354         realized, or our widget tree was modified when we were temporarily
14355         hidden. handling these cases directly upon showing the window (i.e.
14356         while the GdkWindow is still unmapped) avoids the need to wait for
14357         a configure event response and therefore makes the GUI more snappier
14358         and avoids blank windows during the roundtrip.
14359
14360         * gtk/gtkwidget.c:
14361         (gtk_widget_hide): 
14362         (gtk_widget_show): don't queue resizes on toplevels, they know how
14363         to deal with matters.
14364
14365         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
14366         flag directly for not visible resize containers and spare us unecessary
14367         signal emissions.
14368
14369         * gtk/gtkwindow.c:
14370         (gtk_window_realize): if we need to enforce premature size allocation,
14371         queue a container resize so we are correctly resized later on.
14372         (gtk_window_init):
14373         (gtk_window_size_request):
14374         don't freak around with the ->need_resize flag,
14375         gtk_container_queue_resize() will care about that.
14376         (gtk_window_show):
14377         handle initial resizing issues here, we can handle matters better in
14378         this place, especially since we know that our GdkWindow is still
14379         unmapped.
14380         (gtk_window_move_resize):
14381         don't care about ->need_resize at all.
14382         handle size changes properly that occoured while we waited for a
14383         configure event.
14384
14385 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
14386
14387         * gtk/gtkwidget.c (gtk_widget_set_uposition):
14388         * gtk/gtkwindow.[hc] (gtk_window_reposition):
14389         Move the hint setting code from gtk_widget_set_uposition
14390         to here; set the hints so that we respect any previously
14391         set geometry hints.
14392
14393         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
14394         change the window hints here or move the window here,
14395         let that happen in gtk_window_move_resize().
14396
14397 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
14398
14399         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
14400         to already queued resizes (and therefore redraws) on a widget, check
14401         its anchestry as well.
14402
14403         * gtk/gtkcontainer.c:
14404         (gtk_container_queue_resize): clear resize widgets for resize
14405         containers before aborting prematurely. this is especially important
14406         for toplevels which may need imemdiate processing or their resize
14407         handler to be queued.
14408         (gtk_container_dequeue_resize_handler): added new internal function for
14409         gtkwindow.c.
14410
14411         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
14412         configure event, take possible changes in window position into account
14413         as well.
14414         if we request a new window size, queue up a resize handler that will
14415         last until the configure event response arrives.
14416         combined the ->need_resize case (initial show) with the general size
14417         (hints) changed case and added even more comments.
14418         if !auto_shrink, only revert to the old allocation if the new size
14419         is smaller than the current allocation.
14420
14421 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
14422
14423         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
14424                            gtk_window_set_geometry_hints
14425                            gtk_window_set_default_size):
14426         When hints are set, queue a resize so that the hints will
14427         be eventually reset on the toplevel.
14428
14429         * gtk/gtkwindow.c (gtk_window_show): Use
14430         gtk_window_compute_default_size(). Clear the need_resize flag
14431         on the initail map so that we don't unnecessarily trigger the
14432         resize code.
14433
14434         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
14435         into separate functions. Compare the hints we are setting
14436         with what we set last time so that we can accurately
14437         tell when we need to reset the hints.
14438
14439         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
14440         function to figure out the size from requisition
14441         and default_size.
14442
14443         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
14444         from fvwm to constrain a size to the geometry hints.
14445
14446         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
14447         to compare two sets of geometry hints.
14448
14449         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
14450         from gtk_window_set_hints(), just compute the hints,
14451         don't set them.
14452
14453         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
14454         code from gtk_window_move_resize() to separate function,
14455         rationalize a bit.
14456
14457 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
14458
14459         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
14460         structure into a new private structure.
14461
14462         * gtkrc.c: Split GtkRcStyle into public/private.
14463         In the private part, add a list of pointers to the
14464         RcStyle lists this RcStyle participates in.
14465
14466         * gtkrc.c: When a RcStyle is free, remove all
14467         lists referencing it from the 
14468         realized_style_ht hash, and free those lists.
14469         
14470         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
14471         gtk_rc_init(), since that adds the default styles
14472         to the list of parsed RC files again.
14473
14474         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
14475         
14476 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
14477
14478         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
14479         checks that ensure that a widget's allocation is at least 1 in width
14480         and height. (GNOME note: this doesn't affect old panel code anymore,
14481         because GtkSocket will request width and height of at least 1 since
14482         Fri Jul 23).
14483
14484         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
14485         allocated yet (happens if the user realizes the window prematurely),
14486         size request and allocate it.
14487         (gtk_window_size_allocate): guard against guint underflows.
14488
14489 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
14490
14491         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
14492         in gtk_built_sources, so gtk.defs gets built prior to all other
14493         sources.
14494
14495 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
14496
14497         * gtk/Makefile.am:
14498         invoke indent on gtkmarshal.*. 
14499         rewrote source generation rules, use COPYING as oldest source tag for
14500         a piggyback rule to generate all sources from (don't touch it ;).
14501         major cleanups, strip spaces on build rules for GNU Make.
14502
14503         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
14504         source and target files from commandline arguments. don't invoke indent.
14505
14506 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
14507
14508         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
14509         notebook after switch to avoid drawing problems.
14510         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
14511         
14512         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
14513         show them instead. 
14514         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
14515
14516 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
14517
14518         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
14519         notebook after switch to avoid drawing problems.
14520         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
14521         
14522         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
14523         show them instead. 
14524         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
14525
14526 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
14527
14528         * gtk/gtkwindow.c:
14529         we use window->need_resize from configure_event now, to indicate that
14530         the gtkwindow should keep its allocation (e.g. because the user resized
14531         the window through window manager handles). resize_count is now reliably
14532         used to figure whether we got the allocation we requested from the
14533         window manager.
14534         configure events get queued as resizes now, the real stuff (size
14535         computation and allocation) now only goes on in gtk_window_move_resize().
14536         GtkWindow's requisition now contains its *real* requisition (like all
14537         other widgets), *not* taking usize into account.
14538         geometry_info->last_{width|height} is now updated from set_hints() only
14539         so it always contains the last hints we set for the window manager.
14540         made some event handlers return TRUE instead of FALSE.
14541         the overall code should be much more straight forward now, and the
14542         significant code portions are accompanied by comments now.
14543         (gtk_window_set_hints):
14544         removed requisition argument and made it
14545         fetch the requisition through gtk_widget_get_child_requisition.
14546         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
14547         does that now.
14548         (gtk_window_show):
14549         ensure that the widget is realized before calling 
14550         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
14551         ensure that we got properly size requested and allocated before
14552         realization.
14553         (gtk_window_configure_event):
14554         ignore plain window moves, or reallocate the widget tree through the
14555         resize queue otherwise.
14556         (gtk_window_move_resize):
14557         mostly rewrote this function to figure window manager hints more
14558         reliably, coalesce window moves and resizes to reduce configure events
14559         and do actuall size allocations.
14560
14561 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
14562
14563         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
14564         that have a resize pending, because a redraw is already queued for them.
14565
14566         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
14567         hack to clear resize_widgets.
14568
14569         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
14570         for resize containers prior to size allocation. (this is also a bit
14571         ugly, but avoids side effects for stopped emissions and is thus more
14572         reliable).
14573         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
14574
14575         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
14576         function from gtk_tooltips_expose, as we connect to ::expose_event
14577         *and* ::draw now.
14578
14579 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
14580
14581         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
14582         checks.
14583         (gtk_target_list_unref): Likewise.
14584
14585         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
14586
14587 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
14588
14589         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
14590         guard against division by zero. (Fixes bug #1339)
14591
14592 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
14593
14594         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
14595         Prevent the trivial leak of information of allowing
14596         word motion when the entry is not visible.
14597
14598 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
14599
14600         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
14601         modality to error dialog as well as confirmation dialogs.
14602         (Bug #1803, reported by Rosanna Wing Sze Yuen)
14603
14604 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
14605
14606         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
14607         tree->view_lines.
14608         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
14609
14610         * gtk/Makefile.am (install-data-local): Solaris apparently
14611         has various troubles with ln -f; use rm first instead.
14612         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
14613
14614 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
14615
14616         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
14617         use `cp' followed by `rm' (the `rm' was already there).
14618
14619 July 30, 1999 Elliot Lee <sopwith@redhat.com>
14620         
14621         * configure.in: Fix autoconf warnings about cross compilation by
14622         trying to provide sane defaults for AC_TRY_RUN.
14623         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
14624         put them into $(srcdir) when generated. Also add a dependency of
14625         gtksignal.h on gtkmarshal.h for -j builds. 
14626         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
14627
14628 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
14629
14630         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
14631         GDK_THREADS_{LEAVE,ENTER} pair.
14632         (From Paul Fisher <pnfisher@redhat.com>)
14633
14634 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
14635
14636         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
14637         width and height are always >0 (owen).
14638
14639 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
14640
14641         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
14642         change that assured that a widget's allocated with and height are
14643         always >1, since this breaks *buggy* panel code. unfortunately this
14644         back-breaks the gimp's color selector.
14645
14646         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
14647         allocation is always >0 in width and height, before sending the
14648         configure event; this is a *gross* hack to get the gimp back to work.
14649         
14650         * marked both cases with TODO-1.3
14651
14652 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
14653
14654         * gtk/gtktext.c: Don't display wrap indicators when
14655         text is not editable and word wrap is on.
14656
14657 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
14658
14659         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
14660         option menus here as they are not derived from menu shell, assure that
14661         the option menu has a menu we can add items to.
14662
14663 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
14664
14665         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
14666         width/height to (gint) before calculations and check against < 0 to
14667         avoid guint wraparounds.
14668
14669 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
14670
14671         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
14672         width and height is never zero. sanity check both dimensions against
14673         32767 and issue a warning if the allocation is greater than that.
14674
14675 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
14676
14677         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
14678         to g_main_pending() as well.
14679
14680 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
14681
14682         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
14683         call to g_main_iteration() - since that will regrab
14684         GTK+ lock to process events.
14685
14686 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
14687
14688         * gtk/gtkwindow.c
14689         - Regularize with the rest of GTK+ by making widget->requisition
14690           not reflect the set_usize()
14691         - Always recompute geometry hints, then check if they
14692           changed before sending them to the X server. The
14693           previous checks for changes would fail in a number
14694           of circumstances. 
14695
14696 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
14697
14698         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
14699
14700 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
14701
14702         * gtk/gtkdnd.c:
14703         - Code cleanups
14704         - Instantaneously update on modifier key presses
14705         - Allow cancellation of the drag with Escape.
14706
14707 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
14708
14709         * gtk/testgtk.c (create_handle_box): Set the policy
14710         to auto_shrink - otherwise the appearance is rather
14711         strange when flipping between horizontal and vertical.
14712
14713 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
14714
14715         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
14716         (gtk_window_set_default_size): don't change a value if it's < 0.
14717         queue a resize.
14718
14719 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
14720
14721         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
14722
14723 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
14724
14725         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
14726         add an extra "/" when concating "/" + filename.
14727         (From Matt Grossman <mattg@oz.net>)
14728
14729 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
14730
14731         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
14732         for fg_gc if we set it for drawing pixmap.
14733
14734 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
14735
14736         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
14737         
14738         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
14739         already set, call old engine's destroy function and
14740         unref the old engine.
14741
14742 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
14743
14744         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
14745
14746 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
14747
14748         * gtk/gtkaccelgroup.h: mark certain functions as internal.
14749
14750 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
14751
14752         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
14753         expand behaviour changed.
14754
14755         * gtk/gtklabel.c (gtk_label_set_pattern):
14756         (gtk_label_set_justify):
14757         (gtk_label_set_line_wrap):
14758         don't bother invoking queue_clear, the reallocation does
14759         that for us, always free_words so the upcoming resize will
14760         relayout the label's contents.
14761
14762 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
14763
14764         * applied argument implementation patches from Elena Devdariani
14765         <elena@cogent.ca>.
14766
14767         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
14768         ::space_style, ::relief
14769         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
14770         * gtk/gtkpreview.c: ::expand
14771         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
14772         * gtk/gtknotebook.c: ::homogeneous
14773         * gtk/gtklabel.c: ::wrap
14774         * gtk/gtklist.c: ::selection_mode
14775         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
14776         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
14777         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
14778         * gtk/gtkclist.c: ::sort_type
14779         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
14780         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
14781
14782 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
14783
14784         * gtk/gtkstyle.c: Removed ill-thought-out part of last
14785         comment.
14786
14787 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
14788
14789         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
14790         counting right when we have to attach a new style
14791         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
14792
14793         * gtk/gtkstyle.c: Documented the refcounting
14794         peculularities of gtk_style_attach.
14795
14796 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
14797
14798         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
14799         window types.
14800
14801         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
14802         of GTK_TOPLEVEL for creating the window.
14803
14804 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
14805
14806         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
14807         the last argument (reported by Per Winkvist).
14808         
14809 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
14810
14811         Fixes for invisible XOR lines (Frank Loemker
14812         <floemker@TechFak.Uni-Bielefeld.DE>)
14813         
14814         * gtk/gtkclist.c (gtk_clist_realize): Always use
14815         a non-zero pixel for GDK_XOR.
14816
14817         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
14818         Use GDK_INVERT instead of GDK_XOR.
14819
14820 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
14821
14822         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
14823         signals if h/voffsets differ from adjustment values.
14824         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
14825
14826 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
14827
14828         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
14829         ::selection-done emissions up to the topmost menu shell.
14830
14831 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
14832
14833         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
14834         the user data on the window before destroying it.
14835
14836         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
14837         unrealize handler to take care of destroying 
14838         notebook->panel properly. 
14839         (Bug #1198 - Morten Welinder <terra@diku.dk>)
14840
14841         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
14842         of g_new and g_realloc to stop memory leak. (Actually,
14843         we could just use g_realloc(), but I'm not 100% sure
14844         that is portable).
14845         (Bug #1196 - Morten Welinder <terra@diku.dk>)
14846
14847 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
14848
14849         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
14850
14851         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
14852         for fontsets.
14853
14854         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
14855         with bin/button confusion.
14856
14857 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
14858
14859         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
14860         and show how preselection of radio items is done.
14861
14862 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
14863
14864         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
14865         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
14866         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
14867         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
14868         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
14869         * gtk/gtktable.c (gtk_table_attach): 
14870         * gtk/gtklist.c (gtk_list_insert_items): 
14871         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
14872         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
14873         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
14874         * gtk/gtkbin.c (gtk_bin_add): 
14875         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
14876         * gtk/gtkfixed.c (gtk_fixed_put): 
14877         * gtk/gtklayout.c (gtk_layout_put):
14878         general fixups to container_add logic. always realize child if
14879         child->parent is realized, only map the child and queue a resize
14880         if child and child->parent are both visible.
14881
14882 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
14883
14884         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
14885         instead of gtk_container_foreach to walk and unrealize children, so
14886         composite children get also unrealized.
14887         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
14888         (gtk_widget_map): assert that the widget is visible (basic constrain).
14889         (gtk_widget_real_map): assert that the widget is realized (basic
14890         constrain).
14891
14892 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
14893
14894         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
14895
14896 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
14897
14898         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
14899         file for iso-8859-2 locales.
14900
14901         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
14902
14903 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
14904
14905         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
14906          (Pointed out by andy@rz.uni-karlsruhe.de and others).
14907          Remove some suspicious and useless lines. 
14908
14909 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
14910
14911         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
14912         width,height = 0, 0 to mean - here to edge of window,
14913         instead of -1, -1, since the former is all we support.
14914
14915 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
14916
14917         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
14918         when removing from quit_functions list.
14919
14920 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
14921
14922         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
14923
14924 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
14925
14926         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
14927          When redrawing characters on non-visible entry, use appropriate
14928          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
14929
14930 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
14931
14932         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
14933         from drag coordinates.
14934         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
14935         use drag_dest_cell.
14936
14937         * gtk/gtktree (drag_dest_cell)
14938         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
14939         (Bug #1129)
14940
14941 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
14942
14943         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
14944         translate_* fields.
14945         (gtk_item_factory_finalize): invoke translate_notify independant from
14946         translate_data.
14947         (gtk_item_factory_set_translate_func): likewise.
14948         (gtk_item_factory_destroy): only remove ifactory pointer from those
14949         widgets that belong to us (stupid me).
14950
14951 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
14952
14953         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
14954         rc_style list when lookup succeeeds.
14955
14956 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
14957
14958         * gtk/gtkctree.c (resync_selection): 
14959         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
14960         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
14961         bug.
14962
14963 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
14964
14965         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
14966         Add some missing GDK_THREADS_ENTER()/LEAVE around
14967         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
14968
14969 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
14970
14971         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
14972         rather than emit_by_name.
14973
14974         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
14975         on the widget across multiple signal emissions.
14976         (gtk_editable_delete_text): same here.
14977         (gtk_editable_class_init): set widget_class->activate_signal after
14978         editable_signals[ACTIVATE] has been created.
14979
14980 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
14981
14982         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
14983         position here prematurely -- we might not have the
14984         right ->min_position and ->max_position yet.
14985
14986 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
14987
14988         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
14989         Add error traps so if the other end of the connection
14990         dies, we survive.
14991
14992         * gtk/gtkselection.c (gtk_selection_notify): Clean
14993         up properly when selection property retrieval fails.
14994         
14995         * gtk/gtkselection.c (gtk_selection_request): Correctly
14996         reject SelectionRequest notifies where the handler
14997         returns no data.
14998
14999 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
15000
15001         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
15002         when we've previously highlighted.
15003
15004         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
15005         emit two "drag_leave" signals for Motif drops.
15006
15007         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
15008         back the correct status messages when dropping from
15009         Motif onto a proxy window that is rejecting the
15010         drop.
15011
15012 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
15013
15014         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
15015         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
15016         to compare two argument values. added gtk_arg_to_valueloc() to set a
15017         variable from an arg through its location (pointer).
15018
15019         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
15020         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
15021         as gfloat*, uchars are collected as guchar*, ints are collected as
15022         gint*, etc...
15023
15024 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
15025
15026         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
15027         Include <string.h> instead of <strings.h>.
15028
15029         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
15030         (actually, a lot more duplicate includes occur if
15031          you trace through the sequence of #include's)
15032         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
15033         
15034 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
15035
15036         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
15037         gtk-a-higuti-990322-[0-3]
15038
15039         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
15040         that was causing -DX_LOCALE not to work.
15041
15042         * gtk/gtkrc.c (gtk_rc_init):
15043         X_LOCALE will never have LC_MESSAGES defined
15044
15045 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
15046
15047         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
15048         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
15049
15050         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
15051         left/right as well (gtk-michael-980726-0.patch.gz).
15052
15053         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
15054         for pointer values, use gchar instead of char. fixed uline allocation
15055         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
15056         chunks instead of G_ALLOC_ONLY.
15057         (gtk_label_size_request): always alter requisition as passed and leave
15058         widget->requisition alone.
15059         (gtk_label_set_text): allow NULL strings.
15060         (gtk_label_new): likewise.
15061
15062 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
15063
15064         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
15065
15066 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
15067
15068         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
15069         *and* mapped (i.e. drawable).
15070         (gtk_bin_expose): only send exposes to drawable children.
15071
15072         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
15073         (gtk_box_expose): only send exposes to drawable children.
15074
15075         * gtk/gtkhscale.c (gtk_hscale_draw): 
15076         * gtk/gtkvscale.c (gtk_vscale_draw):
15077         hm, this is an ugly one. we first compute the size of our trough area
15078         here (window relative) and then check intersection with the draw_area
15079         which is parent relative because we're a NO_WINDOW widget, so we need
15080         to offset the trough area by allocation.x and allocation.y before the
15081         check. (this must not be done for the background area though, since
15082         that's already computed parent relative).
15083
15084 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
15085
15086         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
15087         unrealize title buttons.
15088
15089 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
15090
15091         * gtk/gtkclist.c (gtk_clist_column_title_passive)
15092         (gtk_clist_column_title_active): 
15093         only connect/disconnect to GtkWidgetClass::event to block mouse events.
15094
15095         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
15096         zero initialize event, removed superfluous gdk_window_get_pointer call
15097
15098         * gtk/gtklist.c (gtk_list_vertical_timeout)
15099         (gtk_list_horizontal_timeout): removed superfluous
15100         gdk_window_get_pointer call
15101
15102 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
15103
15104         * plugging problems reported by "Bruce Mitchener, Jr."
15105         <bruce@puremagic.com> due to a purify session.
15106
15107         * gtk/gtkstyle.c:
15108         (gtk_style_ref): 
15109         (gtk_style_unref): assert ref_count to be > 0.
15110
15111         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
15112         the requisition.
15113         (gtk_clist_set_shift): likewise.
15114
15115         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
15116         adjustments.
15117
15118         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
15119         event before sending it and set send_event to TRUE (which needs to
15120         be done for *all* synthesized events).
15121         (gtk_list_vertical_timeout): likewise.
15122
15123         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
15124         leaks.
15125
15126         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
15127         to TRUE when synthesizing events.
15128
15129 [ *** end of merges from 1.2 *** ]      
15130         
15131 1999-11-21  Tor Lillqvist  <tml@iki.fi>
15132
15133         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
15134         (or copied from gdkconfig.h.win32 on Win32, sigh).
15135
15136         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
15137
15138         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
15139
15140         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
15141
15142         * gdk/gdkconfig.h.win32: New file.
15143
15144         * gdk/win32/makefile.cygwin: Build just a static archive here.
15145
15146         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
15147         for the DLL from the static archive built above.
15148
15149         * gdk/gdk.def: Moved here from the win32 subdirectory.
15150
15151         * gdk/win32/*: Adapt for the changed private struct organisation.
15152
15153         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
15154
15155 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
15156
15157         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
15158         for wheel mice (buttons 4 and 5).
15159
15160 1999-11-18  Tor Lillqvist  <tml@iki.fi>
15161
15162         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
15163         drawables use just the pixel field in the foreground and
15164         background GdkColor of the GdkGC.
15165
15166         gdk_gc_set_{fore,back}ground() are called in the GIMP with
15167         GdkColors containing uninitialized (red,green,blue) fields, and
15168         just the pixel field filled in, and furthermore in the
15169         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
15170         It thus turns out that we really don't need to have the full
15171         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
15172         it later to have just the pixel values.
15173
15174 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
15175
15176         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
15177
15178 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
15179
15180         * docs/gtkfaq.sgml: threads example from Erik Mouw.
15181         New question on GtkLabel background colors.
15182
15183         * docs/gtk_tut.sgml:
15184           - Correct the example code callback
15185             function definitions.
15186           - Update the gtkdial example code, from Frans van Schaik.
15187           - Update setselection.c to current API.
15188
15189         * examples/Makefile examples/*/*.c: Update to code
15190         listed in tutorial.
15191
15192 1999-11-10  Tor Lillqvist  <tml@iki.fi>
15193
15194         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
15195         subrange table (from the "Developing International Software for
15196         WIndows 95 and Windows NT" book) was missing the Hangul syllable
15197         block... Get the loaded font's charset correctly.
15198
15199         (Note that this, and the other *-win32.c files, still really are
15200         the old ones, the win32 subdirectory is not ready for compilation
15201         yet after the reorg.)
15202
15203 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
15204
15205         * gtk/gtkclist.c: Fix off-by-one bug in parameter
15206         check.
15207
15208 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
15209
15210         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
15211         on results of XQueryDeviceState().
15212
15213 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
15214
15215         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
15216         we need to accesss only ->children. We need an accessor
15217         for the children.
15218
15219         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
15220         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
15221         to get rid of gdkx.h include.
15222         
15223         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
15224         and random references to 'None'.
15225
15226         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
15227         Get rid of unused #include <gdk/gdkx.h>
15228
15229         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
15230         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
15231         gdkconfig.h.
15232
15233 1999-11-08  Tor Lillqvist  <tml@iki.fi>
15234
15235         * gdk/win32/gdkdraw.c
15236         * gdk/win32/gdkfont.c
15237         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
15238         following yesterday's changes. (Unrelated to Owen's reorg.)
15239
15240 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
15241
15242         * gdk/x11/gdkinput-gxi.c: Add missing include,
15243           fix GdkWindowPrivate => GdkDrawablePrivate.
15244
15245         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
15246
15247         * gdk/x11/Makefile.am (xinput_sources): Add missing
15248         backslash to fix building with --with-xinput=none
15249
15250 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
15251
15252         Move all X specific code into the x11/ directory.
15253         Aside from shuffling things around, did the following:
15254
15255        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
15256          gdk_arg_context_* - a simple argument parsing system
15257          in the style of popt.
15258
15259        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
15260          gdk/x11/gdkprivate-x11.h:
15261          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
15262          add ->klass and ->klass_data fields. The klass_data
15263          field points to an auxilliary structure that is
15264          windowing system dependent.
15265
15266        * gdk/gdkfont.c: Make most of the measurement functions
15267          simply wrappers around gdk_text_extents().
15268
15269        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
15270          _gdk_font_strlen() function that hides the weird
15271          behavior in gtk+-1.[02] where a string is interpreted
15272          differently for 8-bit and 16-bit fonts.
15273
15274        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
15275          to store common code for synthesizing double/triple
15276          press events.
15277         
15278        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
15279          Make all the function that modify an existing GC
15280          simply wrappers around gdk_gc_set_values().
15281          
15282        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
15283          for throwing out later.
15284
15285        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
15286          GdkImagePrivate and GdkColormapPrivate to have a
15287          windowing system dependent part (GdkFontPrivateX etc.)
15288          that "derives" from the system-independent part.
15289
15290        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
15291          Got rid of the included-source-files for XInput in
15292          favor of automake conditionals. (Which didn't exist
15293          when XInput support was originally added.)
15294
15295        * gdk/gdkrgb.c: Remove the visual id from the debugging
15296          statements since that is X11 specific; print out
15297          type/depth info instead.
15298          
15299
15300 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
15301
15302         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
15303         loading duplicates of hashed fonts.
15304
15305         * gdk/gdk.c (gdk_keysym_convert_case): rename
15306         gdk_XConvertCase to gdk_keysym_convert_case, allow
15307         results to be NULL in the GTK+ style.
15308
15309         * gdk/gdkcompat.h: Started compatibility header
15310         for renames.
15311
15312 1999-11-07  Tor Lillqvist  <tml@iki.fi>
15313
15314         * gdk/win32/gdkprivate.h: New font private structures, related to
15315         fontsets.
15316
15317         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
15318         gdk_font_list_free(). On X11, will just be wrappers to
15319         XListFonts() and XFreeFontNames(). On Win32, the code previously
15320         in gtkfontsel.c is now here.
15321
15322         New function gdk_font_xlfd_create(). On X11 will get the FONT
15323         property of the font (for GDK_FONT_FONTs), or call
15324         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
15325         builds a XLFD style name from the font information in the LOGFONT
15326         struct(s).
15327
15328         New function gdk_font_xlfd_free(), which correspondingly frees the
15329         string returned by gdk_font_xlfd_create().
15330
15331         Implement fontsets on Win32. Add a function that iterates over a
15332         wide char string and calls a callback function for each substring
15333         of wide chars from the same Unicode subrange (and thus probably
15334         available in the same real font).
15335
15336         Improve the XLFD emulation a bit.
15337
15338         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
15339
15340         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
15341         Beta3, WM_IME_CHAR messages don't seem to contain the composed
15342         multi-byte char as with the Active IMM on Win9x. Oh well, handle
15343         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
15344         ImmGetCompositionStringW() to get the composed Unicode chars.
15345
15346         * gdk/win32/gdkgc.c
15347         * gdk/win32/gdkdraw.c: Changes needed because of the font private
15348         struct changes.
15349
15350         * gdk/win32/gdk.def: Add the new functions.
15351
15352 1999-11-04  Tor Lillqvist  <tml@iki.fi>
15353
15354         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
15355         get the Platform SDK to get <dimm.h>.
15356
15357         * gdk/win32/gdkevents.c: More event handling fixes and
15358         simplification. Never generate motion events with is_hint true. We
15359         used to do that on bogus grounds earlier. Windows sends
15360         WM_MOUSEMOVE messages on button events even if the mouse hasn't
15361         moved, ignore these.
15362
15363         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
15364
15365         * gdk/win32/gdkglobals.c
15366         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
15367         the TrackMouseEvent function, and use it.
15368
15369         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
15370         char before calling WideCharToMultiByte in order to get a string
15371         for the window title.
15372
15373         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
15374
15375         * gdk/win32/gdk.def: Remove obsolete functions.
15376
15377         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
15378         /nodefaultlib and /defaultlib switches.
15379
15380         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
15381
15382 1999-10-31  Tor Lillqvist  <tml@iki.fi>
15383
15384         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
15385         EuroSign).
15386
15387         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
15388         same type as GdkWChar, especially on Win32.
15389
15390         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
15391
15392         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
15393         before passing to Windows GDI for drawing etc. Convert to the
15394         system default codepage before passing to Windows as window
15395         titles.
15396
15397         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
15398         support changing input locale on the fly.
15399
15400         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
15401         on-the-fly changes. Convert incoming characters from the current
15402         codepage to Unicode (and then to a UTF-8 multi-byte string) based
15403         on the current input language. Use keysym<->Unicode mapping tables
15404         and functions borrowed from xterm sources.
15405
15406         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
15407         editions of Win9x, use the ActiveX-based Active IMM (Input Method
15408         Manager) if available. IMEs and the Active IMM are available under
15409         the disguise of Chinese, Korean and Japanese support for IE and
15410         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
15411         support is present in all editions (as long as you install it).
15412
15413         Call DispatchMessage from gdk_events_queue() (and thus
15414         gdk_WindowProc()), instead of duplicating the code in
15415         gdk_WindowProc().
15416
15417         Reworked the grab handling and propagation code, factored out
15418         duplicated code snippets into separate functions. Other cleanups,
15419         too.
15420
15421         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
15422         the <dimm.h> header describing the Active IMM.
15423
15424         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
15425         just do the same as for "single" fonts.
15426
15427         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
15428         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
15429         the new keysyms from gdkkeysyms.h.
15430
15431         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
15432         fontset, so that gtkentry uses wide characters.
15433
15434         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
15435         GTk+'s system directory "gtk+", not "gtk".
15436
15437 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
15438
15439         * docs/gtkfaq.sgml: FAQ update
15440
15441 1999-10-21  Tor Lillqvist  <tml@iki.fi>
15442
15443         * gdk/win32/gdkprivate.h: Add more font private data.
15444
15445         * gdk/win32/gdkfont.c
15446         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
15447         fonts and strings. Now works much better. You still have to
15448         have a correct font selected, though. No fontset emulation yet.
15449
15450 1999-10-19  Tor Lillqvist  <tml@iki.fi>
15451
15452         * gtk/maketypes.awk: Use G_OS_WIN32.
15453
15454         * gtk/gtk.def: Add some missing entry points. Also some non-public
15455         ones, but PyGTK porter claims to need them.
15456
15457         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
15458         built-in type generation.
15459
15460 1999-10-14  Tor Lillqvist  <tml@iki.fi>
15461
15462         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
15463         GDK_FONT_FONT fonts (which is all we have for now, we don't
15464         emulate fontsets). The X11 version uses plain XDrawString in that
15465         case, too. The string passed to gdk_draw_text_wc seems to be in
15466         fact (at least, when used by gtkentry and gtktext) either in a
15467         single-byte charset, or a DBCS. Not Unicode.
15468
15469         This fixes the problem in gtkfontsel, where even if you had
15470         selected a font with a non-Latin1 charset (windows-greek, for
15471         instance), the preview still used Latin-1 glyphs.
15472
15473         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
15474         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
15475         (gdk_font_load): Recognize the demibold etc weights, even if we
15476         don't have the corresponding constants in the headers.
15477         (gdk_font_hash_insert): Use same hash mechanism as in the X11
15478         version. Should save font resources a bit, when we don't have
15479         multiple HFONTs for the same font.
15480
15481         * gdk/win32/gdkprivate.h: Add the names field as in the X11
15482         version.
15483
15484 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
15485
15486         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
15487         X values
15488
15489 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
15490
15491         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
15492         layout support (as mentioned on
15493         http://www.jcinteractive.com/gnome-ui/software/widgets/)
15494
15495 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
15496
15497         * gtk/fnmatch.c
15498         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
15499
15500 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
15501
15502         * configure.in (ALL_LINGUAS): Added Galician (gl)
15503
15504 1999-10-05  Tor Lillqvist  <tml@iki.fi>
15505
15506         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
15507
15508         * gdk/win32/gdkcompat.c: New file, actually provide an
15509         implementation for the deprecated functions. (Just temporarily.)
15510
15511         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
15512
15513         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
15514
15515         * gdk/win32/gdk.def gtk/gtk.def: Updates.
15516
15517 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
15518
15519         * configure.in: Added "uk" to ALL_LINGUAS.
15520         
15521 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
15522
15523         * configure.in: correct checking for BeOS check
15524
15525         * gdk/gdktypes.h
15526         * gtk/fnmatch.c
15527         * gtk/gtkfilesel.c
15528         * gtk/gtkitemfactory.c
15529         * gtk/gtkmain.[ch]
15530         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
15531
15532 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
15533
15534         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
15535         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
15536         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
15537         by Bulgarian). 
15538
15539 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
15540
15541         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
15542         Fix a reference to window_private->destroyed.   
15543
15544         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
15545         (ugly) setting of an internal GdkWindow member to use
15546         a _slightly_ cleaner macro.
15547
15548         * gdk/gdkprivate.h: Split GdkWindowPrivate into
15549         GdkDrawablePrivate and GdkWindowPrivate.
15550         Add extra macros for accessing GDK_DRAWABLE_ components.
15551
15552         * *.[ch]: Massive adjustments for the above, use the
15553         new macros in a lot of places.
15554
15555 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
15556
15557         * gdk/gdktypes.h: Make GdkDrawable the base type,
15558         not GdkWindow.
15559
15560 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
15561
15562         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
15563
15564 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
15565
15566         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
15567
15568 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
15569
15570         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
15571         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
15572
15573         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
15574
15575         * docs/gtk-config.1: Now autogenerated.
15576         * docs/Changes-1.4.txt: started
15577         
15578 1999-10-03  Tor Lillqvist  <tml@iki.fi>
15579
15580         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
15581         to #ifdef also here.
15582
15583         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
15584         Owen did to the X11 backend.
15585
15586         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
15587         ScrollWindowEx when blitting inside a window, it can't be correct
15588         in the general case.
15589
15590         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
15591         WM_GETMINMAXINFO is easier.
15592
15593         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
15594         depth equal to the bitspixel value, not the visual's depth.
15595
15596         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
15597         to 24 even if the bitspixel value is 32.
15598
15599         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
15600         need to check for depth==32 when bpp==32, depth will always be 24.
15601
15602 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
15603
15604         * docs/Changes-1.4.txt: Started
15605         
15606         * gtk/Makefile.am (gdk_headers): Include all the new headers.
15607
15608         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
15609         
15610         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
15611         into C file.
15612         
15613         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
15614         header to gdkinputprivate.h.
15615
15616         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
15617         unused since before 1.2.
15618
15619 1999-09-30  Tor Lillqvist  <tml@iki.fi>
15620
15621         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
15622         expand possible hex escapes in the font family (put there by
15623         logfont_to_xlfd if the font name isn't a legal XLFD font family,
15624         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
15625         On Win32, add hex escapes here, too.
15626
15627 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
15628
15629         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
15630         to #ifdef GDK_WINDOWING_X11.
15631
15632 [ Merges from gtk-1-2 ]
15633
15634 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
15635
15636         * configure.in: fixed "GNU Make" check to pass with new make version
15637         3.77.95.
15638
15639 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
15640
15641         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
15642         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
15643         AM_PATH_GTK() macros don't get confused by the -pre1.
15644
15645 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
15646
15647         * configure.in (REBUILD): Change check for perl5
15648           to check explicitely for v >= 5.002. (5.001
15649           does not work with our scripts.)
15650
15651 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
15652
15653         * configure.in: evaluate $PERL for the perl version check. added
15654         --disable-rebuilds to give the user an option to completely disable
15655         any source autogeneration rules.
15656
15657 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
15658
15659         * configure.in: evaluate $ac_make when checking for GNU Make.
15660
15661 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
15662
15663         * docs/Makefile.am: added generation.txt.
15664
15665         * Makefile.am: require automake 1.4, build README from README.in and
15666         INSTALL from INSTALL.in in dist-hook.
15667         
15668         * README.in:
15669         * INSTALL.in: new files to autogenerate README and INSTALL from.
15670
15671         * configure.in: figure whether we have GNU Make
15672
15673         * docs/generation.txt: minor additions/corrections.
15674
15675 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
15676
15677         * docs/gtkfaq.sgml: FAQ Update
15678
15679 July 30, 1999 Elliot Lee <sopwith@redhat.com>
15680         
15681         * configure.in: Fix autoconf warnings about cross compilation by
15682         trying to provide sane defaults for AC_TRY_RUN.
15683
15684 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
15685
15686         * ltconfig
15687         * ltmain.sh: upgrade to libtool 1.3.3
15688
15689 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
15690
15691         * INSTALL: Indicate that the --with-glib= configure
15692         time flag is unsupported.
15693
15694 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
15695
15696         * docs/generation.txt: Added a file that gives
15697         documenation about the autogeneration process for
15698         various autogenerated files.
15699         
15700 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
15701
15702         * configure.in (LIBS): Look for libgmodule in the
15703         right location.
15704
15705 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
15706
15707         * docs/gtk_tut.sgml: Removed references to
15708         code examples in my directory on gtk.org as
15709         they should all be in the tutorial now.
15710
15711         * docs/gtk_tut.sgml: Added sources for dial-test
15712         and scribble-xinput programs that were previously
15713         missing.
15714
15715 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
15716
15717         * TODO: Added entry about menu keyboard navigation, removed
15718         some finished items.
15719
15720 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
15721
15722         * acinclude.m4: Standardize on func_dgettext
15723         not func_gettext, so that the checks for dgettext
15724         actually are paid attention to.
15725
15726 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
15727
15728         * configure.in (LIBS): Add $INTLLIBS into $LIBS
15729         directly, rather than repeating the checks for
15730         gettext.
15731
15732         * INSTALL: Added information about gettext and
15733         NLS support.
15734
15735         * acinclude.m4 (LIBM): Check for dgettext, not
15736         just gettext. This should hopefully fix things wrt
15737         systems with old versions of GNU gettext installed.
15738
15739 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
15740
15741         * configure.in (LIBS): Look for libgmodule in the
15742         right location.
15743
15744 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
15745
15746         * autogen.sh: add --enable-maintainer-mode
15747
15748         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
15749
15750 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
15751
15752         * docs/gtk-config.1.in:
15753           docs/Makefile.am:
15754           configure.in: gtk-config is now generated.
15755
15756         * docs/gtk-config.1: Removed, now generated.
15757
15758 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
15759
15760         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
15761         handle CreateNotify itself, still put out a debuging message for
15762         --gdk-debug=events. made the ReparentNotify debugging message more
15763         verbose.
15764         wrap xcoords translation for ConfigureEvents into an error trap,
15765         a destroy event may already be pending, and in that case, the
15766         actuall coordinate values are not at all critical.
15767
15768 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
15769
15770         * gdk/gdkcc.c: Stop leaking the color_hash all over
15771         the place. Simplify and improve the logic.
15772
15773 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
15774
15775         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
15776         for prototypes and function implementations consistent (reported
15777         by Tomas Ogren).
15778
15779 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
15780
15781         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
15782         send_event set in debugging output.
15783         (gdk_compress_exposures): default initialize the event so we don't
15784         operate on bogus values (namely send_event).
15785
15786 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
15787
15788         * gdk/gdkwindow.c: When we receive an unexpected
15789         destroy notify on one of our windows, don't just
15790         warn about it, also mark our windows as destroyed.
15791
15792 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
15793
15794         * gdk/gdkfont.c (gdk_font_hash_insert): Add
15795           name => font and name => fontset hashes. The 
15796           name => fontset hash is a _big_ win since we
15797           weren't previously caching fontsets at all and loading
15798           fontsets is expensive. The name => font hash
15799           is less of a win, but it does save us from doing
15800           repeated XQueryFont calls on the same font.
15801
15802         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
15803           list so we can remove font/fontset from hash.
15804
15805 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
15806
15807         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
15808           and slightly confusing test. [ XInternAtom (,,TRUE)
15809           will never return None ].
15810
15811 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
15812
15813         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
15814           gdk/gdkwindow.c (gdk_window_set_hints):
15815
15816         Don't omit setting the properties if flags == 0 -
15817         there may be an existing set of properties there
15818         already. (Very old bug. Would it be better to
15819         delete the property instead?)
15820
15821         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
15822           spelling error in comment.
15823
15824 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
15825
15826         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
15827           to avoid stomping over gdk_error_warnings.
15828
15829         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
15830           as (bits_per_pixel + 7) / 8. This gives the same
15831           result as before for multiples of 8, but actually
15832           a "reasonable" value for 1bit or 4bit displays.
15833
15834 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
15835
15836         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
15837         GNU Make.
15838
15839 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
15840
15841         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
15842         discarding configure events.
15843
15844 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
15845
15846         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
15847         refcount is greater than zero.
15848
15849         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
15850
15851         * gdk/gdkfont.c (gdk_font_unref): Likewise.
15852
15853         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
15854
15855         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
15856
15857 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
15858
15859         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
15860         that format 32 => sizeof(item) == 4. It really is
15861         sizeof(long).
15862
15863 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
15864
15865         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
15866         core dump at all on X IO errors, only core dump
15867         if --enable-debug for X errors.
15868
15869 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
15870
15871         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
15872         unknown window:" message. disabled ConfigureNotify discarding code,
15873         because it led to events being processed out of order.
15874
15875 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
15876
15877         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
15878
15879         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
15880         we export this function, supress error warnings and don't reset the
15881         error code in the first half of this function.
15882
15883         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
15884         code (instead of just -1) so gdk_error_trap_pop() reveals something
15885         actually informative about the error that happened.
15886
15887         * gdk/*.c:
15888         don't rely on gdk_error_code being -1 if an error occoured, but just
15889         gdk_error_code != 0.
15890
15891 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
15892
15893         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
15894         pointer *before* invoking the filter function, so we at least don't
15895         crash if a filter is removed that is currently executed. window filters
15896         *really* need to be made truely reentrant at some point.
15897
15898 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
15899
15900         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
15901         PropertyNotify debug messages.
15902
15903 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
15904         
15905         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
15906         
15907         * gdk/gdkim.c: Fix cut-and-paste errors for 
15908         x/y and PreeditAttributes/StatusAttributes.
15909
15910 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
15911
15912         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
15913         G_MAXINT to 2^16 to alleviate overflow problems in
15914         various window managers.
15915
15916 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
15917
15918         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
15919         for fontsets.
15920
15921 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
15922
15923         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
15924         Initialize size_hints.x and size_hints.y because kwm
15925         brokenly pays attention to them.
15926         (Bug #1181 -  Lars Heete <hel@admin.de>)
15927
15928 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
15929
15930         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
15931         return value of gdk_list_visuals(). 
15932         (Bug #1193 - Morten Welinder <terra@diku.dk>)
15933
15934 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
15935
15936         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
15937         XSetIMValues to (void *) when comparing to NULL, to workaround
15938         the problem of some compilers barfing since older X headers don't
15939         have the prototype for it.
15940
15941 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
15942
15943         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
15944         for pseudocolor where colormap->colors was double
15945         allocated.
15946
15947         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
15948         color value in the hash table with the pixel filled
15949         in so when we do later hash table lookups, the color
15950         value is correct.
15951         
15952 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
15953
15954         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
15955         making the call
15956
15957 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
15958
15959         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
15960         pointed out by Morten Welinder <terra@diku.dk>.
15961
15962 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
15963
15964         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
15965           default filter from the list
15966
15967 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
15968
15969         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
15970           default filter from the list
15971
15972 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
15973
15974         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
15975
15976         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
15977         g_strdup_printf instead of calcing the length separately
15978
15979 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
15980
15981         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
15982         that we don't do in many other places. (Fixing duplicate 
15983         #include of config.h)
15984
15985         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
15986         Otherwise, #ifndef XINPUT_NONE check in the latter
15987         doesn't work. (Bug #546)
15988
15989 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
15990
15991         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
15992         "None" case insensitive.
15993
15994 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
15995
15996         * gdk/gdkselection.c: 
15997         Add error traps so if the other end of the connection
15998         dies, we survive.
15999
16000 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
16001
16002         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
16003         dest_xid field into two fields - one for the window
16004         to send in messages, one to indicate the last looked
16005         up window for caching purposes. This is needed, so
16006         that Leave messages get the correct window.
16007
16008 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
16009
16010         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
16011         Fix warning created by people mucking around
16012         with the gsource API.
16013
16014         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
16015         Change mapping between GIOCondition and GdkInputCondition
16016         to match the way the Linux kernel does it. This should
16017         fix problems where closed pipes were no longer signalling
16018         GDK_INPUT_READ on systems with a native poll().
16019
16020 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
16021
16022         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
16023         explicitly for the string "None" - it is in the XPM
16024         spec and some servers treat unknown colors in odd ways
16025         (like asking the user!)
16026
16027 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
16028
16029         * gdk/gdkevents.c: made "->" into a "." of previous change so
16030         it compiles
16031
16032 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
16033
16034         * gdk/gdkevents.c (gdk_compress_exposures): Set the
16035         window field of the event structure before calling
16036         user filters.
16037
16038 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
16039
16040         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
16041         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
16042
16043 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
16044
16045         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
16046         intermediate text property - prevents major memory
16047         leak when gdk_use_mb.
16048         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
16049
16050 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
16051
16052         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
16053         gtk-a-higuti-990322-[0-3]
16054
16055         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
16056         sizeof(wchar_t) != sizeof (GdkWChar)
16057
16058         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
16059         that was causing -DX_LOCALE not to work.
16060
16061         * gtk/gtkrc.c (gtk_rc_init):
16062         X_LOCALE will never have LC_MESSAGES defined
16063
16064         * gdk/gdk.c (gdk_init_check):
16065         Remove --xim-preedit and --xim-status from argv properly.
16066
16067         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
16068         that the client window is present on the X server
16069         before we pass it to the input method.
16070
16071 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
16072
16073         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
16074         if --display is specified on the command line, than
16075         the drag window will not be created on that display.
16076         
16077 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
16078
16079         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
16080         lookups with only_if_exists == TRUE were inserting
16081         bogus values into the atom cache.
16082
16083 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
16084
16085         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
16086         then reset it to NULL.
16087
16088         * gdk/gdkcolor.c:
16089         (gdk_colors_free): 
16090         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
16091         key for g_hash_table_remove() in both functions, this prevents us
16092         from accessing possibly uninitialized portions of a GdkColor structure
16093         where we are only interested in its pixel value.
16094
16095 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
16096
16097         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
16098         font hash table, if we have a GdkFontPrivate entry for this font
16099         already, simply increment its reference count, provided by Olaf Dietsche
16100         <olaf.dietsche+list.gtk@netcologne.de>.
16101
16102 1999-09-21  Tor Lillqvist  <tml@iki.fi>
16103
16104         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
16105         just to be sure.
16106
16107         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
16108         unused variables, leftovers from the X11 version.
16109
16110         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
16111
16112         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
16113         downcase fields on X11.
16114
16115 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
16116         
16117         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
16118         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
16119
16120 1999-09-17  Tor Lillqvist  <tml@iki.fi>
16121
16122         * gdk/win32/gdk.def: Add gdk_threads_mutex.
16123
16124         * gtk/makefile.msc: Correct path to libintl.
16125
16126         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
16127         use of gint vs. int, and gint vs. gboolean in headers and
16128         definitions. Use GtkType for the *_get_type functions. Note that
16129         these changes preserve binary compatibility.
16130
16131         * gdk/gdk.c
16132         * gdk/win32/gdk.c
16133         * gdk/gdk.h: Fix inconsistencies: gint vs int.
16134
16135         * gtk/gtkmain.c
16136         * gtk/gtkclist.c
16137         * gtk/gtkmenufactory.c
16138         * gtk/gtknotebook.c
16139         * gtk/gtkwidget.c: Fix inconsistencies, also gint
16140         vs. gboolean.
16141
16142         * gtk/gtkcolorsel.[ch]
16143         * gtk/gtkcombo.[ch]
16144         * gtk/gtkdrawingarea.[ch]
16145         * gtk/gtkgamma.[ch]
16146         * gtk/gtkhandlebox.[ch]
16147         * gtk/gtkhpaned.[ch]
16148         * gtk/gtkhruler.[ch]
16149         * gtk/gtkplug.[ch]
16150         * gtk/gtkpreview.[ch]
16151         * gtk/gtkruler.[ch]
16152         * gtk/gtksocket.[ch]
16153         * gtk/gtkstatusbar.[ch]
16154         * gtk/gtktoolbar.[ch]
16155         * gtk/gtkvbbox.[ch]
16156         * gtk/gtkvpaned.[ch]
16157         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
16158         functions.
16159
16160         * gtk/gtkgamma.h: Fix bug, missing () in call of
16161         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
16162
16163 1999-09-14  Tor Lillqvist  <tml@iki.fi>
16164
16165         * gdk/gdkcolor.c (gdk_colormap_new)
16166         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
16167         colormap->colors was allocated twice.
16168
16169         * gdk/win32/gdk.c: Remove some unused stuff.
16170
16171         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
16172         colormap.
16173
16174         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
16175         * gtk/gtklabel.h (gtk_label_get_type)
16176         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
16177         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
16178         in a couple of places, not guint.
16179
16180 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
16181
16182         * configure.in,po/et.po: added Estonian language file
16183
16184 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
16185
16186         * configure.in,po/da.po: added Danish file
16187
16188 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
16189
16190         * docs/gtkfaq.sgml: Minor FAQ Update
16191
16192 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
16193
16194         * docs/gtkfaq.sgml: FAQ update
16195
16196 1999-08-27  Tor Lillqvist  <tml@iki.fi>
16197
16198         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
16199         way to get window contents continually refreshed while resizing. I
16200         didn't like the effects myself, so it's not on by default.
16201
16202         * gdk/win32/gdkprivate.h: New flag variable
16203         gdk_event_func_from_window_proc, FALSE by default.
16204
16205         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
16206         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
16207         are passed --gdk-event-func-from-window-proc.
16208
16209         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
16210         and we have am event_func, call it instead of enqueing the event.
16211
16212 1999-08-23  Tor Lillqvist  <tml@iki.fi>
16213
16214         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
16215         Kelley: Set expose_count in GdkEventExposes correctly.
16216
16217         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
16218         MULTIPLE_WINDOW_CLASSES).
16219
16220         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
16221         for bug in NT, apparently NT *does* draw the end pixel, too, in
16222         LineTo with a one-pixel pen, so we don't have to do it ourselves.
16223
16224 1999-08-21  Tor Lillqvist  <tml@iki.fi>
16225
16226         Improvements by Hans Breuer: 
16227
16228         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
16229
16230         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
16231         CS_?REDRAW flags as they cause lots of (late) redraws when "show
16232         window contents while dragging" is turned on. Allocate at least
16233         one unique class for every GdkWindowType. If support for single
16234         window-specific icons is ever needed (eg. Dialog specific), every
16235         such window should get its own class.
16236
16237 1999-08-19  Tor Lillqvist  <tml@iki.fi>
16238
16239         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
16240         error that caused crashes.
16241
16242 1999-08-17  Tor Lillqvist  <tml@iki.fi>
16243
16244         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
16245         window, use ScrollWindowEx, and call UpdateWindow. This prevents
16246         bugs when for instance part of the window was outside the
16247         display. Thanks to Philippe Colantoni for finding and fixing this.
16248
16249 1999-08-16  Tor Lillqvist  <tml@iki.fi>
16250
16251         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
16252         endpoint calculations which were totally wrong. (A little RTFMing
16253         helps a lot ;-)
16254
16255         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
16256         from a separate directory, not from gettext, because of licensing
16257         issues (we want to use the LGPL version).
16258
16259         * README.win32: Mention the intl from glibc vs from gettext issue.
16260
16261 1999-08-13  Tor Lillqvist  <tml@iki.fi>
16262
16263         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
16264         in the key event handling: Now AltGr chars work again. Also,
16265         now Alt-digits are passed up as well as Control-digits.
16266         Pass keypad plus and minus as normal plus and minus.
16267
16268 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
16269
16270         * docs/gtkfaq.sgml: FAQ Update
16271
16272 1999-07-25  Tor Lillqvist  <tml@iki.fi>
16273
16274         * README.win32
16275         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
16276         the Wintab SDK.
16277
16278         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
16279         OK, but getting closer. Guard against bogus tilt data from Wacom
16280         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
16281         enable easier building without Wintab.
16282
16283         * gdk/win32/gdkinput.h
16284         * gdk/win32/gdkevents.c 
16285         * gdk/win32/gdkwindow.c: Minor changes related related to above.
16286         
16287         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
16288         code. As we have just one visual on Win32, no sense to have it in a
16289         table, and no need for the hash table.
16290
16291         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
16292         better on white background.
16293
16294 1999-07-21  Tor Lillqvist  <tml@iki.fi>
16295
16296         * README.win32: Update gcc build instructions. Mention gettext is
16297         GPL.
16298
16299         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
16300         supported cursor size with GetSystemMetrics.
16301
16302         * gdk/win32/gdkfont.c
16303         * gtk/gtkfontsel.c: Guard against some font weight and charset
16304         symbols being undefined (in mingw32 headers).
16305
16306         * gdk/win32/makefile.cygwin
16307         * gtk/makefile.cygwin
16308         * gtk/gtkthemes.c: No longer need to have differently named
16309         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
16310
16311 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
16312
16313         * docs/gtkfaq.sgml: Long awaited FAQ update.
16314
16315 1999-07-15  Tor Lillqvist  <tml@iki.fi>
16316
16317         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
16318         it. Obscure bit manipulation needed.
16319
16320         * gdk/win32/gdkevents.c: Logging.
16321         
16322         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
16323         style (file name include compiler name) for theme engines.
16324
16325 1999-07-13  Tor Lillqvist  <tml@iki.fi>
16326
16327         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
16328
16329         * gdk/win32/gdkevents.c: Fix long-standing bug in key
16330         events. The key.string wasn't zero-terminated, still we strdup'ed
16331         it in gdk_event_copy(). Synthesize crossing events for button
16332         events before possible propagation.
16333
16334         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
16335
16336         * gdk/win32/makefile.cygwin
16337         * gtk/makefile.cygwin: Use new DLL naming style for the
16338         GCC-compiled ones.
16339
16340         * gdk/win32/makefile.msc
16341         * gtk/makefile.msc: Cosmetics mostly.
16342
16343         * gtk/gtk.def: Add missing entry points.
16344
16345         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
16346
16347 1999-07-09  Tor Lillqvist  <tml@iki.fi>
16348
16349         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
16350         or height is zero. Don't print a warning if Pie or Arc fails, they
16351         always fail (?) for very narrow ellipses.
16352
16353         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
16354         the part or the destination window corresponding to source area
16355         outside of the source drawable's boundary.
16356
16357         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
16358         anything if less than two points.
16359
16360         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
16361         return NULL. Gtk cut-and-paste inside a single program works
16362         better this way. (It always gets the clipboard contents from
16363         Windows, not from its own copy, which is cleared anyway. I can't
16364         say I fully understand what happens... Emulating the X selection
16365         and property stuff is a bit of a mess.)
16366
16367         * gdk/win32/gdkevents.c
16368         * gdk/win32/gdkproperty.c: A bit more verbose logging.
16369
16370         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
16371         that never got deleted). Revamp gdk_region_shrink.
16372
16373         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
16374         after use.
16375
16376         * gtk/gtk.def: Add some missing entry points.
16377
16378         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
16379         component.
16380
16381 1999-07-04  Tor Lillqvist  <tml@iki.fi>
16382
16383         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
16384         Control-digits specially.
16385
16386 1999-07-03  Tor Lillqvist  <tml@iki.fi>
16387
16388         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
16389
16390 1999-06-28  Tor Lillqvist  <tml@iki.fi>
16391
16392         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
16393         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
16394         finding this.)
16395
16396 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
16397
16398         * gtk+.spec.in: Corrected some typos in files section.
16399         
16400 1999-06-15  Tor Lillqvist  <tml@iki.fi>
16401
16402         * README.win32: Mention using GNU gettext.
16403         * config.h.win32: Enable NLS stuff.
16404         * gtk/makefile.msc: Use GNU gettext.
16405         * gdk/win32/gdkdnd.c: Minor header reorg.
16406         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
16407         cosmetics.
16408         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
16409         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
16410
16411 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
16412
16413         * acinclude.m4
16414         * config.guess
16415         * config.status
16416         * ltconfig
16417         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
16418
16419 1999-05-30  Tor Lillqvist  <tml@iki.fi>
16420
16421         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
16422         SafeAdjustWindowRectEx. Don't override all calls to
16423         AdjustWindowRectEx by it, but use it only in two places: When
16424         creating a new top-level window and when moving a top-level
16425         window.
16426
16427         Use screen coordinate rectangle, not client rectangle, in
16428         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
16429         when we try to place a window so that the decoration (mainly,
16430         title bar) isn't visible.
16431
16432         These changes fix the bug that showed up for instance as the
16433         GIMP's saved top-level windows moving right and down (by an amount
16434         equal to the window decoration) for each session. This bug showed
16435         up also in testgtk's "Saved Position".
16436
16437         gdk_window_resize also redone a bit.
16438
16439 1999-05-25  Tor Lillqvist  <tml@iki.fi>
16440
16441         * gtk/testgtkrc: Add (commented out) Windows-style theme
16442         include line.
16443
16444         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
16445
16446 1999-05-18  Tor Lillqvist  <tml@iki.fi>
16447
16448         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
16449         gdkx.h to a gdk subdirectory, so that applications can include
16450         these with <gdk/*.h> without trouble.
16451
16452         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
16453         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
16454         have their bitmap destroyed.
16455
16456         * gdk/win32/gdk.def: Add gdk_root_parent.
16457
16458 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
16459
16460         * configure.in
16461           gtk-config.in
16462           ltconfig
16463           ltmain.sh     
16464           gtk/Makefile.am: changes to compile nicely (with xlib) 
16465           on BeOS
16466
16467 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
16468
16469         * acinclude.m4
16470         * config.guess
16471         * config.sub
16472         * ltconfig
16473         * ltmain.sh: upgrade to libtool 1.3
16474
16475 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
16476
16477         * gtk/gtkclist.c:
16478         * gtk/gtkctree.c: merges from gtk-1-2
16479
16480 1999-04-25  Tor Lillqvist  <tml@iki.fi>
16481
16482         Support added for building using a GNU toolchain on Win32,
16483         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
16484
16485         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
16486         * config.h.win32: Changes for gcc.
16487         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
16488         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
16489         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
16490         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
16491         Protect shl stuff unavaiilable with mingw32 headers.
16492         * gdk/win32/gdkevents.c: Fix typo.
16493         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
16494         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
16495         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
16496         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
16497         the mingw32 headers.
16498         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
16499         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
16500         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
16501         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
16502         Test for NATIVE_WIN32, not _MSC_VER.
16503         * gtk/gtkmain.c: No use warning about developer version on Win32,
16504         there aren't any non-developer versions anyhow.
16505         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
16506         * gtk/makefile.msc: Use pthread from another directory. Minor other
16507         changes. 
16508
16509 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
16510
16511         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
16512           default filter from the list
16513
16514 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
16515
16516         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
16517          when gtk_widget_grab_default() is called for a widget that
16518          is not within a GtkWindow.
16519
16520 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
16521
16522         * docs/gtk_tut.sgml, examples/clist.c: use a
16523           scrolled window in the clist example. Minor
16524           tutorial fixes.
16525
16526 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
16527
16528         * docs/gtk_tut.sgml: Style check from David King
16529           <dking@youvegotmail.net>
16530
16531 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
16532
16533         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
16534         compile with unknown value of GDK_WINDOWING
16535
16536 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
16537
16538         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
16539         after the rule is fired.
16540         (install-exec-local): Install gdkconfig.h only if the contents are
16541         different from the currently installed gdkconfig.h.
16542
16543 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
16544
16545         * gdk/Makefile.am (configexecincludedir): Rename from 
16546         configincludedir so that gdkconfig.h will be installed 
16547         as part of `make install-exec'. 
16548
16549 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
16550
16551         * acinclude.m4
16552         * config.guess
16553         * config.sub
16554         * ltconfig
16555         * ltmain.sh: upgrade to libtool 1.2f
16556
16557         * autogen.sh: libtool is not required to autogen gtk+
16558
16559         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
16560         needed)
16561
16562 1999-03-18  Tor Lillqvist  <tml@iki.fi>
16563
16564         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
16565         declaring gdk variables exported/imported from the DLL. New image
16566         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
16567         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
16568         GDK_DRAG_PROTO_OLE2.
16569
16570         * gdk/gdk.h: Merge in Win32 version: Two new functions,
16571         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
16572         declared only for the Win32 version, but could be in the X11
16573         version as well. (Needed for a Xlib-less gdk_imlib.)
16574         gdk_color_hash should have only one parameter. Declare
16575         gdk_threads_mutex with GDKVAR.
16576         
16577         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
16578         just one parameter.
16579
16580         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
16581         per pixel, not bits.
16582
16583         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
16584         Fetch bpp (which means bits-per-pixel here) from another place on
16585         Win32. Accept also depth==32 (which we might get on Win32) with
16586         bpp==32.
16587
16588         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
16589         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
16590         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
16591         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
16592         in the backend-dependent directory, not in the common gdk
16593         directory.
16594
16595         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
16596         headers.
16597
16598 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
16599
16600         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
16601         want to use the Gtk+ devel version (which is true, and yes - even i am
16602         currently working with the 1.2.x branch). so everyone reading this, you
16603         probably want to issue
16604         cvs checkout -r glib-1-2 glib
16605         and
16606         cvs checkout -r gtk-1-2 gtk+
16607         as your next two comands.
16608
16609 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
16610
16611         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
16612         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
16613
16614         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
16615         file. strongly deprecated the GTK_HAVE_* macros, we provide
16616         GTK_CHECK_VERSION() for people that need to check for certain
16617         Gtk+ versions.
16618
16619         * gtk/gtkcompat.h: removed this from CVS.
16620         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
16621         idea right from the start, it just didn't seem like that back then.
16622
16623 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
16624
16625         * merges from gtk-1-2:
16626
16627 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
16628
16629         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
16630         item factory class has been created.
16631         (gtk_item_factory_parse_rc): likewise.
16632
16633         * gtk/gtkmenu.c:
16634         keep proper references for old_active_menu_item.
16635         (gtk_menu_reparent): unset the usize of the new parent,
16636         so the menu can sanely be size requested and we don't get nasty screen
16637         artefacts upon next reparentation.
16638         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
16639         enter notify. only synthesize enter notifies if the pointer really is
16640         inside the event window.
16641         (gtk_menu_popdown): use gtk_menu_shell_deselect().
16642         (gtk_menu_popup): move the background setting stuff into
16643         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
16644
16645         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
16646         gtk_menu_shell_select_item() to select the new item.
16647         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
16648         do the right thing for deselection as well.
16649
16650 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
16651
16652         * gtk/gtkwidget.[hc]:
16653         (gtk_widget_accelerators_locked): return whether a widget's accelerators
16654         are locked.
16655
16656         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
16657         existing accelerators if the widget's accelerators are locked.
16658
16659 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
16660
16661         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
16662
16663         * gtk/gtkmenu.c: truely forward key press and key release events to
16664         the menu widget from the toplevel or tearoff window. we can't simply
16665         connect to that, we need to stop further processing of the events as
16666         well.
16667
16668 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
16669
16670         * gtk/gtkmenu.c:
16671         (gtk_menu_key_press): pass event->keyval, event->state to
16672         gtk_accelerator_valid, instead of event->keyval twice.
16673         refuse to install single letter accelerators for menus that use
16674         single letter shortcuts.
16675
16676         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
16677         gtk_menu_ensure_uline_accel_group().
16678
16679         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
16680         which will always return an uline accel group, made
16681         gtk_menu_get_uline_accel_group() return NULL if the group isn't
16682         yet created.
16683
16684 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
16685
16686         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
16687
16688         * gtk/gtkclist.c (gtk_clist_column_title_passive):
16689         Leave button sensitive, trap  button_press, button_release,
16690         motion_notify, enter_notify and leave_notify events instead.
16691         (gtk_clist_column_title_active): disconnect event handler.
16692         (gtk_clist_drag_data_get): fixed memory leak. Reported by
16693         Guillaume Laurent <glaurent@worldnet.fr>
16694
16695 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
16696
16697         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
16698         width/height mixups.
16699
16700         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
16701         if needed.
16702
16703 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
16704
16705         * gtk/testgtk.c (create_item_factory): unref the item factory after
16706         window's destruction.
16707
16708         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
16709         count on the menu shell around the menu item's activation, since the
16710         signal emission may cause menu shell destruction.
16711
16712         * gtk/gtkitemfactory.c:
16713         the previous code leaked one accel group per menu. we use
16714         gtk_menu_get_uline_accel_group() now to fix that, and with that
16715         also create the underline accelerator group of the menus only if
16716         required (i.e. an underline accelerator has been specified).
16717         (gtk_item_factory_construct):
16718         (gtk_item_factory_create_item): removed code that would create an
16719         extra accel group for the menu (and leak references).
16720         (gtk_item_factory_create_item): adapted the underline accelerator
16721         installation code to properly feature gtk_menu_get_uline_accel_group().
16722
16723         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
16724         menu->accel_group, this may return NULL if the accelerator group
16725         hasn't been set yet.
16726         added gtk_menu_get_uline_accel_group() to retrive the underline
16727         accelerator group of the menu, this will be created on demand
16728         and proper care is taken about its reference count.
16729
16730         * gtk/gtkitemfactory.h:
16731         * gtk/gtkitemfactory.c:
16732         dumped the approach of keeping a widgets by action list on the
16733         factory since the factory<->widget destroy negotiation didn't work
16734         and would be hard to get going at all. instead we keep a list of
16735         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
16736         persistant throughout a program's life time).
16737         also, i removed the static const gchar *key_* variables, and made
16738         them inline strings (they weren't actually used anyways).
16739         (gtk_item_factory_add_item): update ifactory->items.
16740         (gtk_item_factory_destroy): destroy ifactory->items (and remove
16741         the item factory pointer from the remaining ifactory widgets).
16742         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
16743         list to find the widget.
16744         (gtk_item_factory_get_item): new function that works around
16745         gtk_item_factory_get_widget() limitations, this function will only
16746         return menu items, even for <Branch> entries.
16747
16748 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
16749
16750         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
16751         font hash table, if we have a GdkFontPrivate entry for this font
16752         already, simply increment its reference count, provided by Olaf Dietsche
16753         <olaf.dietsche+list.gtk@netcologne.de>.
16754
16755         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
16756         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
16757
16758 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
16759
16760         * gtk/gtkcontainer.c:
16761         (gtk_container_add_with_args):
16762         (gtk_container_addv):
16763         (gtk_container_add): before adding a child to a conatiner, make sure
16764         it is (default) constructed, this is neccessary because under certain
16765         circumstances the child will get relized and mapped immediatedly, in
16766         which case it has to be constructed already.
16767
16768 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
16769
16770         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
16771         values > 1 as TRUE also.
16772
16773 1999-03-16  Tor Lillqvist  <tml@iki.fi>
16774
16775         * README.win32: New file.
16776                 
16777         * configure.in: Check for lstat.
16778
16779         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
16780         completeness.
16781
16782         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
16783
16784         * gtk/gtk.def: Removed CRs.
16785
16786         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
16787         ..\gdk\win32).
16788
16789         * gdk/win32/makefile.msc: Correct upwards relative paths.
16790         
16791 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
16792
16793         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
16794           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
16795           it was connecting a void function to expose_event and the int
16796           returning function to the draw signal
16797
16798 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
16799
16800         * configure.in:
16801         Use correct path to libgmodule.la when ref'ing uninstalled copy
16802         of glib.  (Already in stable branch, Bug #417)
16803
16804 1999-03-15  Tor Lillqvist  <tml@iki.fi>
16805
16806         Win32 merge and general portability stuff:
16807                 
16808         * acconfig.h,configure.in: Check for <sys/time.h>.
16809
16810         * gdk/win32: New directory (actually, been there for a while).
16811         
16812         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
16813         NATIVE_WIN32, and use these. Always case fold on Win32. No
16814         backslashed escapes on native Win32.
16815
16816         * gtk/{gtk.def,makefile.msc}: New files.
16817
16818         * gtk/Makefile.am: Add above new files.
16819         
16820         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
16821         instead of <strings.h>.
16822
16823         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
16824         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
16825         <unistd.h> appropriately.
16826
16827         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
16828         Use ABS() (from <glib.h>) instead of abs().
16829         
16830         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
16831         of gtk (and thus glib) headers, so that WIN32 will be
16832         defined. With MS C, include <direct.h> for mkdir prototype.
16833
16834         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
16835         some casts, needed by MS C.
16836
16837         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
16838         implemented).
16839
16840         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
16841         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
16842         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
16843
16844         * gtk/gtkmain.h: Mark variables for export/import on Win32.
16845                 
16846         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
16847         the event is not a hint, or its window is not the slider. Needed
16848         on Win32, at least.
16849
16850         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
16851         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
16852         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
16853         a subdirectory of the Windows directory as gtk system
16854         configuration directory.
16855
16856         * gtk/gtkselection.c: No chunks on Win32.
16857
16858         * gtk/gtksocket.c: Not implemented on Win32.
16859
16860         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
16861
16862         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
16863
16864         * gtk/maketypes.awk: Declare variables with a macro that expands to
16865         necessary export/import magic in the case of Win32.
16866                 
16867         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
16868
16869 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
16870
16871         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
16872         since those were meant only for gdki18n.h.  
16873         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
16874         for widechar tests.
16875         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
16876
16877 1999-03-13  Tor Lillqvist  <tml@iki.fi>
16878
16879         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
16880         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
16881
16882         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
16883         installed) to CFLAGS.
16884
16885         * gdk/Makefile.am: Add rules for gdkconfig.h.
16886
16887         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
16888         APIs.
16889
16890         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
16891         gdkx.h anyway when compiling for X11.
16892         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
16893         general): Merge in Win32 version.
16894         
16895         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
16896         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
16897         expansion (if we don't have HAVE_PWD_H), allow for drive
16898         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
16899         included code from Craig Setera's port to Win32 (the one that uses
16900         X11, and the cygwin dll), even if it probably will be abandoned.
16901
16902         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
16903         the user entered one herself.  This way one can complete *.h and
16904         don't get matches on any .help files, for instance.
16905         
16906 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
16907
16908         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
16909         font hash table, if we have a GdkFontPrivate entry for this font
16910         already, simply increment its reference count, provided by Olaf Dietsche
16911         <olaf.dietsche+list.gtk@netcologne.de>.
16912
16913         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
16914         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
16915
16916 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
16917
16918         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
16919         the number of calls to gdk_draw_point() (and thus to X) by
16920         clipping the points by hand.
16921
16922         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
16923         the clip parameter.
16924         (gtk_handle_box_paint): Only paint the handle if the expose area
16925         intersects it.
16926
16927 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
16928
16929         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
16930
16931 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
16932
16933         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
16934         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
16935
16936 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
16937
16938         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
16939          textmode (O_TEXT) for OS/2 version.
16940
16941 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
16942
16943         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
16944         GtkSpinButton, "input" and "output", to make the output more flexible.
16945         The user has to provide a mapping between adjustment->value and the
16946         output string (and vice versa, if the spin button is editable). 
16947         See testgtk for examples.
16948
16949 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
16950
16951         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
16952         new one.
16953         
16954         * configure.in: set gtk+ version to 1.3.0.