]> Pileus Git - ~andy/gtk/blob - ChangeLog
Fix bug where collapsing a selected row would result in the cursor/anchor
[~andy/gtk] / ChangeLog
1 Mon Jun 18 19:41:38 2001  Jonathan Blandford  <jrb@redhat.com>
2
3         * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Fix bug
4         where collapsing a selected row would result in the cursor/anchor
5         getting screwed up.
6
7 Fri Jun 15 18:53:48 2001  Jonathan Blandford  <jrb@redhat.com>
8
9         * gtk/gtktreesortable.c (gtk_tree_sortable_set_sort_func): Rename
10         gtk_tree_sortable_sort_column_id_set_func.  It's much shorter now.
11         * gtk/gtktreeview.c (gtk_tree_view_sort_iter_changed): WOOO!!!
12         Now I can really reorder/sort all Store widgets.  treesorttest
13         seems to just work now.
14         * gtk/gtklistview.c (gtk_list_store_iter_changed): Whoops.
15         testtreesort worked through a big coincidence all this time.
16         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Nasty bug fix in nasty
17         code.
18         * tests/testtreecolumns.c: Big 'ol warning at the top letting
19         people know that this code should never ever ever be copied.
20
21 2001-06-15  Jonas Borgström  <jonas@codefactory.se>
22
23         * gtk/gtkwindow.h: Fixed a small typo, it should be
24         GTK_WINDOW_GROUP_GET_CLASS and not GTK_WINDOW_GET_CLASS
25         on line 134.
26
27 2001-06-14  Havoc Pennington  <hp@redhat.com>
28
29         Docs fixups, and:
30         
31         * gtk/gtkcompat.h: remove GTK_DISABLE_COMPAT_H, replace with
32         GTK_DISABLE_DEPRECATED
33
34 Thu Jun 14 19:21:27 2001  Jonathan Blandford  <jrb@redhat.com>
35
36         * gtk/gtktreestore.c (gtk_tree_store_sort_helper): Whoops.  Forgot
37         this a couple months ago.  Now GtkTreeStore sort of sorts.  I'll
38         finish it off tonight, though it basically works now when it's a
39         list.  Also, I have a sinking feeling neither GtkTreeStore or
40         GtkListStore actually resort when adding a new item.  I'll look
41         into it.
42
43 2001-06-14  Havoc Pennington  <hp@redhat.com>
44
45         * demos/gtk-demo/main.c (load_file): fix bug identified by
46         warnings I just added to gtktextbuffer
47
48 2001-06-14  Havoc Pennington  <hp@redhat.com>
49
50         * gtk/gtkwindow.c (window_group_cleanup_grabs): fix other typo
51
52         * gtk/gtkwidget.c (gtk_widget_propagate_state): fix typo
53
54         * gtk/gtktextbtree.c: don't leak node data all over the place.
55
56         * demos/gtk-demo/main.c (main): create fontify tags for the right
57         buffer
58
59         * gtk/gtktextbuffer.c, gtk/gtktexttagtable.c: enhance docs
60         to mention tags in the same table can't have the same name,
61         suggested by Skip Montanaro
62
63 2001-06-11  Havoc Pennington  <hp@redhat.com>
64
65         * gtk/gtktexttagtable.c (gtk_text_tag_table_add): improve warning 
66         for trying to add two tags with same name to the tag table
67
68         * demos/gtk-demo/main.c (main): fix colors ;-)
69
70 Fri Jun  8 17:56:52 2001  Owen Taylor  <otaylor@redhat.com>
71
72         * gtk/gtkwindow.[ch] gtk/gtkmain.c: Add a GtkWindowGroup struct
73         that allows grouping together multiple windows so that grabs
74         within that set of windows only affect those windows.
75
76         * gtk/gtkmain.c gtk/gtkwidget.[ch]: Add a "grab_notify"
77         signal for notification when a widget becomes shadowed
78         by a grab or is no longer shadowed by a grab.
79
80         * gtk/gtkwidget.c (gtk_widget_propagate_state)
81           gtk/gtkmain.c: (gtk_widget_grab_add): Don't allow
82         insenstive widgets to maintain a grab.
83
84 2001-06-14  Alexander Larsson  <alexl@redhat.com>
85
86         * docs/README.linux-fb:
87         Add some example config files that can be used with the URW fonts.
88         
89         * gdk/linux-fb/gdkvisual-fb.c (gdk_visual_init): 
90         Set up the color ramps for DirectColor mode.
91
92 2001-06-11  Havoc Pennington  <hp@redhat.com>
93
94         * Release 1.3.6
95          
96 2001-06-13  Alexander Larsson  <alla@lysator.liu.se>
97
98         * gdk/linux-fb/gdkwindow-fb.c:
99         Unify shaped window code and make it repaint the area that used
100         to be part of the shape, but isn't anymore.
101
102 2001-06-11  Havoc Pennington  <hp@redhat.com>
103
104         * NEWS: Updates
105
106         * configure.in (GTK_MINOR_VERSION): bump version to 1.3.6
107
108         * gtk/Makefile.am: glib_genmarshal already contains top_builddir
109         
110 2001-06-13  Alexander Larsson  <alla@lysator.liu.se>
111
112         * gdk/linux-fb/gdkdnd-fb.c (gdk_drag_status):
113         Don't pass on GDK_ACTION_DEFAULT. The Xdnd code
114         passes zero instead, so do we.
115         
116 2001-06-13  Alexander Larsson  <alla@lysator.liu.se>
117
118         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
119         Deep copy dash_list too.
120         (_gdk_fb_gc_new): Set default cap_style before
121         setting values.
122
123 2001-06-12  Alexander Larsson  <alla@lysator.liu.se>
124
125         * gdk/linux-fb/gdkkeyboard-fb.c (gdk_keymap_get_default,
126         gdk_keymap_get_direction): New functions.
127
128 Tue Jun 12 12:41:27 2001  Jonathan Blandford  <jrb@redhat.com>
129
130         * gtk/gtktreemodel.h (GTK_TREE_MODEL_LIST_ONLY): further justify
131         gtk_tree_model_get_flags by adding a second flag for atk.
132
133         * gtk/gtktreemodel.c: make cursor behavior interact better with
134         mouse presses.
135
136 Mon Jun 11 12:43:08 2001  Jonathan Blandford  <jrb@redhat.com>
137
138         * gtk/gtktreeview.c (gtk_tree_view_class_init): changed
139         expand_row/collapse_row to be 2 signals each -- test_expand_row
140         and row_expanded as well as test_collapse_row and row_collapsed.
141
142 2001-06-10  Anders Carlsson  <andersca@codefactory.se>
143
144         * demos/gtk-demo/stock_browser.c (do_stock_browser): Update
145         signal name to be changed instead of selection_changed.
146
147 2001-06-08  Havoc Pennington  <hp@redhat.com>
148
149         * gtk/gtkentry.c (gtk_entry_class_init): add read-only
150         "scroll_offset" property for notification when the layout offsets
151         may have changed
152         (gtk_entry_adjust_scroll): add notify for scroll_offset
153         (gtk_entry_layout_index_to_text_index): function to compensate for
154         preedit string when doing coordinate stuff on the entry's layout
155         (gtk_entry_text_index_to_layout_index): inverse function
156         (gtk_entry_get_layout_offsets): hook to get current position of
157         the layout      
158         (gtk_entry_get_layout): hook to get the layout itself.
159
160         * gtk/gtklabel.c (gtk_label_get_layout): new function
161
162 Fri Jun  8 19:49:29 2001  Jonathan Blandford  <jrb@redhat.com>
163
164         * gtk/gtktreeview.c (gtk_tree_view_real_select_cursor_row): New
165         keybinding.
166         (gtk_tree_view_focus): Fix merge conflict.
167
168 Fri Jun  8 18:41:30 2001  Jonathan Blandford  <jrb@redhat.com>
169
170         * gtk/gtktreeview.c (gtk_tree_view_set_cursor): new function to
171         clean up cursor handling.
172
173 2001-06-08  Havoc Pennington  <hp@redhat.com>
174
175         * gtk/gtktextbuffer.c (gtk_text_buffer_get_start_iter): added this
176         function
177
178         * gtk/gtktextview.c (gtk_text_view_get_default_attributes): added
179         this function
180
181 2001-06-08  Alex Larsson  <alexl@redhat.com>
182
183         * gtk/gtkcompat.h.in:
184         Added compat macros for all old GTK_TYPE_GDK_xxx types.
185         Fixes bug #52892
186
187 2001-06-08  Havoc Pennington  <hp@redhat.com>
188         
189         * gtk/gtkhsv.h (struct _GtkHSVClass): had GtkContainerClass as
190         parent still
191
192 2001-06-08  Havoc Pennington  <hp@redhat.com>
193
194         * gtk/gtktextbuffer.c (gtk_text_buffer_remove_all_tags): geez,
195         don't call g_list funcs on GSList
196
197         * gtk/gtkwidget.c (gtk_widget_child_focus): replaces
198         gtk_container_focus(), since some widgets have focusable locations
199         which are not other widgets. These widgets should not have to be 
200         containers just to manage the focus. For example, GtkHSV is
201         currently a container for no good reason. Also, this cleans
202         up the "if (is_container && is_sensitive && is_drawable)
203         container_focus ()" mess in widget implementations.
204
205         * gtk/gtkcontainer.c (gtk_container_focus): deprecate this
206         function, and have it just call gtk_widget_child_focus().
207
208         * gtk/gtkhsv.c: derive from widget not container
209         
210         Throughout: fix to reflect GtkContainer::focus change
211         
212 Fri Jun  8 12:38:49 2001  Jonathan Blandford  <jrb@redhat.com>
213
214         * gtk/gtktable.c (gtk_table_resize): warn if row/cols are out of
215         range.  Fix bug #55921
216
217         * gtk/gtkliststore.c (gtk_list_store_new_with_types): fix doc bug
218         (#55920).
219
220 Fri Jun  8 12:03:07 2001  Owen Taylor  <otaylor@redhat.com>
221
222         * gdk/gdkkeys.[ch]: Add a direction-changed signal,
223         and gdk_keymap_get_current_direction().
224
225         * gdk/x11/gdkevents-x11.c gdk/x11/gdkkeys-x11.c
226           gdk/x11/gdkmain-x11.c gdk/x11/gdkprivate-x11.h: Track
227         the current locked group, use it to set the keymap
228         direction.
229
230         * gtk/gtksettings.c: Add a new gtk-split-cursor setting
231         to determine whether we draw a split cursor or use
232         a jumping cursor based on the current direction.
233
234         * gtk/gtkentry.c gtk/gtktextview.c gtk/gtktextlayout.[ch]:
235         Obey the split cursor setting. 
236
237 Fri Jun  8 11:57:50 2001  Owen Taylor  <otaylor@redhat.com>
238
239         * gtk/gtkimmulticontext.c (activate_cb): Only activate
240         when toggling on, not when toggling off... (#55906)
241
242 Wed Jun  6 10:37:07 2001  Owen Taylor  <otaylor@redhat.com>
243
244         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): 
245         s/gdk_window_begin_paint/gdk_window_begin_paint_region/
246         in docs. (#55812, Vitaly Tishkov)
247
248 2001-06-08  Anders Carlsson  <andersca@codefactory.se>
249
250         * demos/gtk-demo/main.c (create_tree): Changed signal name from
251         selection_changed to changed in signal connection to GtkTreeSelection,
252         also used g_signal_connectc since GtkTreeSelection is now a GObject.
253
254 Thu Jun  7 18:25:42 2001  Jonathan Blandford  <jrb@redhat.com>
255
256         * gtk/gtktreeselection.c: Now it's a GObject instead of a
257         GtkObject.  The GtkTreeSelection::selection_changed signal is now
258         the GtkTreeSelection::changed signal.
259
260         * gtk/gtktreeview.c: Modified to deal with new GtkTreeSelection
261         object.
262
263         * tests/gtktree*.c: Modified to deal with new GtkTreeSelection
264         object.
265
266 2001-06-07  Havoc Pennington  <hp@redhat.com>
267
268         * gtk/Makefile.am: fix glib-mkenums and glib-genmarshal again
269
270 2001-06-07  Havoc Pennington  <hp@redhat.com>
271         
272         * gtk/Makefile.am: fixups for glib-mkenums and glib-genmarshal
273         (not tested yet because with absolute path to srcdir I can't build
274         atk, but it was broken anyway so this may help) 
275
276 2001-06-07  Havoc Pennington  <hp@redhat.com>
277
278         * configure.in: output m4macros/Makefile
279         
280 Wed Jun  6 21:59:16 2001  Jonathan Blandford  <jrb@redhat.com>
281
282         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): hook up arrow
283         buttons.  Fixes #55460 reported by matthiasc@poet.de.
284
285 Wed Jun  6 21:18:54 2001  Jonathan Blandford  <jrb@redhat.com>
286
287         * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): centralize
288         expansion/collapsing so it only happens in one place.
289         (gtk_tree_view_real_expand_row): ditto.
290
291 2001-06-07  Havoc Pennington  <hp@redhat.com>
292
293         * tests/Makefile.am: add missing -I flag
294
295         * gtk/Makefile.am: use @GLIB_MKENUMS@, @GLIB_GENMARSHAL@, etc.
296
297         * configure.in: use pkg-config to see if GModule is
298         supported; fix to properly turn on included loaders 
299         when GModule isn't supported; don't use AC_CHECK_LIB 
300         when libs are not installed yet
301
302         * autogen.sh: add support for AUTOGEN_SUBDIR_MODE
303
304         * Makefile.am (SUBDIRS): add m4macros subdir
305
306         * gtk/Makefile.am: $(srcdir)/foo targets must be $(srcdir)/foo in
307         dependencies also.
308
309 Wed Jun  6 19:31:11 2001  Jonathan Blandford  <jrb@redhat.com>
310
311         * gtk/gtktreeview.c (gtk_tree_view_set_model): fix silly bug
312         reported by "Padraig O'Briain" <Padraig.Obriain@Sun.COM>.
313
314 Wed Jun  6 20:01:38 2001  Jonathan Blandford  <jrb@redhat.com>
315
316         * gtk/gtktreeview.c
317         (gtk_tree_view_real_expand_collapse_cursor_row): Handle key
318         bindings to expand and collapse rows.
319         (gtk_tree_view_real_select_cursor_parent): New key binding.
320         (gtk_tree_view_real_toggle_cursor_row): New key binding.
321
322         * gtk/gtkmarshal.list: new
323         marshaller. (VOID__BOOLEAN_BOOLEAN_BOOLEAN)
324
325 2001-06-06  Havoc Pennington  <hp@redhat.com>
326
327         * gtk/gtkrange.c (gtk_range_class_init): add "inverted" property
328
329         * gtk/gtkscale.c (gtk_scale_class_init): Change Page Up and Page
330         Down to move visually rather than logically, since it confuses 
331         people. Add -/+ and Ctrl--/+ bindings for logical movement.
332
333 2001-06-06  Alex Larsson  <alexl@redhat.com>
334
335         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
336         Fix up error messages.
337
338 Wed Jun  6 10:34:42 2001  Owen Taylor  <otaylor@redhat.com>
339
340         * gtk/gtktooltips.h: Include gtkwidget.h 
341         (#55798, Karl Nelson)
342
343         * gdk/x11/gdkwindow-x11.c (utf8_is_latin1): 0xff is
344         a valid latin-1 character. (Marc Lehmann, #35467)
345
346         * gdk/x11/gdkwindow-x11.c: Fix minor typo in comment. 
347         (Marc Lehmann, #35467)
348         
349 2001-06-05  Alex Larsson  <alexl@redhat.com>
350
351         * demos/gtk-demo/appwindow.c (do_appwindow):
352         Don't swap the order of the args to gtk_widget_destroyed.
353
354         * tests/testgtk.c (destroy_properties):
355         Don't crash when the properties window is destroyed.
356
357         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_new_from_stock):
358         Use with_mnemonics to handle the case of stock items with
359         underscores in them.
360
361 2001-06-05  Havoc Pennington  <hp@redhat.com>
362
363         * gtk/gtktextiter.c (gtk_text_iter_order): rename from 
364         gtk_text_iter_reorder
365
366 2001-06-05  Havoc Pennington  <hp@redhat.com>
367
368         * gtk/gtktoolbar.c (gtk_toolbar_remove_space): new function
369
370 2001-06-05  Havoc Pennington  <hp@redhat.com>
371
372         * gtk/gtkspinbutton.c (gtk_spin_button_set_range): clamp the value 
373         to the range that was set
374
375         * gtk/gtkrange.c: add value_changed signal, primarily 
376         intended for use with GtkScale
377         (gtk_range_set_increments): new function
378         (gtk_range_set_range): new function with weird name
379         (gtk_range_set_value): new function
380         (gtk_range_get_value): new function
381
382         * gtk/gtkspinbutton.c (gtk_spin_button_get_value): rename 
383         from gtk_spin_button_get_value_as_float(). Compat #define
384         added for get_value_as_float.
385
386         * gtk/gtkhscale.c (gtk_hscale_new_with_range): new function
387
388         * gtk/gtkvscale.c (gtk_vscale_new_with_range): new function
389
390 Tue Jun  5 14:57:18 2001  Jonathan Blandford  <jrb@redhat.com>
391
392         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_size): Fix bug #55573
393
394 Mon Jun  4 12:41:25 2001  Owen Taylor  <otaylor@redhat.com>
395
396         * gtk/gtkwidget.h: Deprecate gtk_widget_set().
397
398         * tests/testgtk.c (create_tooltips): Remove usage of
399         gtk_widget_set().
400
401 2001-06-05  Havoc Pennington  <hp@redhat.com>
402
403         * gtk/gtkcolorsel.c: Use new mnemonic convenience functions
404
405         Applying patch from Jeff Franks, with function docs added.
406         
407         * gtk/gtkcheckbutton.c (gtk_check_button_new_with_mnemonic):
408         remove call to set_mnemonic_widget, change docs a bit.  
409
410         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_new_with_mnemonic):
411         new function
412
413         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_new_with_mnemonic):
414         new function
415
416         * gtk/gtkmenuitem.c (gtk_menu_item_new_with_mnemonic): new function
417
418         * gtk/gtkradiobutton.c (gtk_radio_button_new_with_mnemonic): new
419         function
420         (gtk_radio_button_new_with_mnemonic_from_widget): new function
421
422         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_new_with_mnemonic):
423         new function
424
425         * gtk/gtktogglebutton.c (gtk_toggle_button_new_with_mnemonic): new
426         function        
427
428         * gtk/gtklabel.c (gtk_label_new_with_mnemonic): Improve docs on 
429         auto-selection of mnemonic widget.
430
431 Mon Jun  4 15:05:24 2001  Jonathan Blandford  <jrb@redhat.com>
432
433         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_max_width):
434         Fix segfault found by Vitaly Tishkov <tvv@sparc.spb.su>.
435         (gtk_tree_view_column_set_min_width): ditto.
436
437 Tue Jun  5 11:04:06 2001  Owen Taylor  <otaylor@redhat.com>
438
439         * gdk/gdkpixmap.h (GDK_PIXMAP_GET_CLASS): 
440         s/GdkPixmapClass/GdkPixmapObjectClass/. (#51890, Jeff Franks)
441
442 Mon Jun  4 12:50:11 2001  Owen Taylor  <otaylor@redhat.com>
443
444         * gtk/gtkctree.c (gtk_ctree_insert_gnode): Add a missing
445         gtk_clist_thaw().
446
447 2001-06-04  Havoc Pennington  <hp@pobox.com>
448
449         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Ignore 
450         releases for buttons 6, 7
451
452 2001-06-04  Havoc Pennington  <hp@redhat.com>
453
454         * gtk/gtkseparatormenuitem.h: Fix a search-and-replace screwup
455         (s/CHECK/SEPARATOR/ gone awry). Patch from Jeff Franks, bug
456         #55562
457
458 2001-06-04  Havoc Pennington  <hp@redhat.com>
459
460         * gtk/gtktextview.c (gtk_text_view_size_request): handle case
461         where text_view->layout == NULL by assuming its size is 0, 
462         i.e. same as if we haven't done any reflow. Reported by 
463         Hidetoshi Tajima #55448 
464
465 2001-06-04  Havoc Pennington  <hp@redhat.com>
466
467         * gdk/x11/gdkevents-x11.c (gdk_event_translate): support button 6
468         and 7 for scroll left/right, from Thomas Broyer
469
470 2001-05-10  Havoc Pennington  <hp@redhat.com>
471
472         * gtk/gtksettings.c (gtk_settings_get_property): Handle case where
473         we need to parse the xsetting as if it were an RC file string.
474
475         * gtk/gtkcolorsel.c (gtk_color_selection_class_init): load initial
476         value of palette from settings, not from static variable
477
478         * gdk/x11/gdkevents-x11.c: add color palette, toolbar mode to
479         xsettings translation table
480
481         * gtk/gtktoolbar.c (gtk_toolbar_new): Remove arguments, because 
482         hardcoding the toolbar style conflicts with new customizable 
483         toolbar style philosophy
484         (gtk_toolbar_class_init): add settings for default toolbar style;
485         these are used unless the app specifically forces a toolbar style
486
487         * gtk/gtksettings.c (settings_install_property_parser): only
488         return at the start if we warn and parser == NULL
489
490         * gtk/gtkcolorsel.c (gtk_color_selection_finalize): disconnect the
491         palette changed handler so we don't notify dead color selections
492
493         * gtk/gtkstyle.c (gtk_default_draw_shadow): handle
494         xthickness/ythickness of 0 or 1 properly 
495         (gtk_default_draw_resize_grip): clear the background behind the
496         resize grips, and align to bottom right if we square the 
497         area to be drawn.
498
499         * gtk/gtkstatusbar.c (gtk_statusbar_init): set horizontal usize on 
500         statusbar label to 1, so it doesn't make toplevels resize oddly
501         (gtk_statusbar_size_request): add grip size to request
502         (gtk_statusbar_size_allocate): hack so the hbox still works with 
503         the grip size in the request
504
505         * gtk/gtktoolbar.c (gtk_toolbar_show_all): override to fix 
506         bug where showing all on a toplevel makes the toolbar 
507         button text appear despite the toolbar mode
508
509         * gtk/gtkmenubar.c: add internal padding style property
510
511         * gtk/gtktoolbar.c: Add internal padding style property; add
512         shadow type style property
513
514         * gtk/gtkmenubar.c (gtk_menu_bar_paint): paint box with widget
515         state; and put Container::border_width outside the frame
516
517         * gtk/gtktextview.c: don't draw focus rectangle if we're in
518         interior focus mode, we just use blinking cursor
519
520 2001-06-04  Havoc Pennington  <hp@redhat.com>
521
522         * configure.in: Make gdk-pixbuf have same version number as GTK
523
524 2001-06-04  Havoc Pennington  <hp@redhat.com>
525
526         * gtk/gtkspinbutton.c: Get rid of stupid g_return_if_fail on 
527         digits greater than 6. If there actually are limits (which there
528         likely aren't), should clamp to them not warn.
529         (gtk_spin_button_new_with_range): don't take log of 0
530         (gtk_spin_button_size_request): use digits to compute size
531         request, rather than step increment.
532
533         * tests/testgtk.c (create_spins): test larger values of digits
534         
535         * gtk/gtkfontsel.c (gtk_font_selection_init): scroll to selected
536         font on map not expose, so we don't get weirdness during scrolling
537
538 2001-06-04  Havoc Pennington  <hp@redhat.com>
539
540         * gtk/gtkclist.c (vadjustment_value_changed): Apply fix from
541         Sam Solon, bug #54577, update value even if not drawable.
542
543 2001-06-04  Havoc Pennington  <hp@redhat.com>
544
545         * gtk/gtkrange.c (gtk_range_scroll_event): change SCROLL_RIGHT to
546         SCROLL_LEFT, reported by Thomas Broyer.
547
548 2001-06-04  Havoc Pennington  <hp@redhat.com>
549
550         * gtk/gtkrange.c (gtk_range_adjustment_value_changed): 
551         Process updates immediately, to prevent funny lag effect
552         when scrolling, at some mild potential efficiency cost.
553
554 2001-06-04  Havoc Pennington  <hp@redhat.com>
555
556         * gtk/gtkrange.c (gtk_range_button_press): on middle click, center
557         slider on the click.
558
559 2001-06-03  Havoc Pennington  <hp@pobox.com>
560
561         * gtk/gtkstyle.c (gtk_default_draw_slider): make this special-case
562         hscale/vscale details, so we can use it for scrollbar as well.
563
564         * tests/testgtk.c (reformat_value): honor digits from GtkScale
565
566         * gtk/gtkenums.h (GtkTroughType): Remove this enum
567         (GtkScrollType): add START and END from GtkTroughType
568
569         * gtk/gtkstyle.c (gtk_default_draw_slider): was not properly using
570         its x/y arguments
571
572         * gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkscrollbar.h,
573         gtk/gtkscrollbar.c, gtk/gtkscale.h, gtk/gtkscale.c,
574         gtk/gtkhscrollbar.h, gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.h,
575         gtk/gtkvscrollbar.c, gtk/gtkhscale.h, gtk/gtkhscale.c,
576         gtk/gtkvscale.h, gtk/gtkvscale.c: Rewrite GtkRange and subclasses.
577
578         Notable changes in the process:
579          
580         - stepper_size style property is the height for vertical 
581           ranges, width for horizontal; the other dimension matches
582           the trough size
583         - add ability to do NeXT-style steppers (and several other styles
584           that don't make any sense)
585         - added min_slider_length, fixed_slider_length properties to
586           GtkScrollbar
587         - cleaned some private (or at least useless) functions out of
588           gtkscale.h    
589         - moved bindings to GtkScale from subclasses, even arrow keys,
590           since blind users don't know scale orientation.
591         - change move_slider action signal to use new GtkScrollType,
592           remove GtkTroughType argument
593         - digits rounds the values a range will input to the given 
594           number of decimals, but will not try to force adjustment 
595           values set by other controllers. That is, we no longer
596           modify adjustment->value inside a value_changed handler.
597         - added getters for GtkScale setters
598         - middle-click begins a slider drag
599         
600 Fri Jun  1 18:54:47 2001  Jonathan Blandford  <jrb@redhat.com>
601
602         * gtk/gtktreeview.c: (gtk_tree_view_focus): Initial stab at
603         getting the focus code to work.
604         (gtk_tree_view_class_init): Add a bunch of keybindings.
605
606         * gtk/gtktreeviewcolumn.c
607         (gtk_tree_view_column_set_cell_data_func):
608         s/GtkCellDataFunc/GtkTreeCellDataFunc.
609         (_gtk_tree_view_column_set_tree_view): Use "notify::model" instead
610         of "properties_changed" to help justify the death of the latter
611         signal. (-:
612
613         * tests/testtreefocus.c (main): Let some columns be focussable to
614         test focus better.
615
616 2001-06-01  Havoc Pennington  <hp@redhat.com>
617
618         * gtk/gtkentry.c (gtk_entry_commit_cb): implement overwrite mode
619         
620         * gtk/gtktextview.c (gtk_text_view_commit_handler): don't
621         overwrite in overwrite mode if we already deleted the selection
622         and replaced it with new text.  
623
624         * gtk/gtklabel.c (gtk_label_select_region_index): if you set the
625         selection to an empty range, clear the clipboard if we owned it.
626         (gtk_label_set_selectable): give up selection if we become
627         unselectable.
628         (gtk_label_state_changed): override state changed to unselect text
629         when insensitive
630         (get_text_callback): add paranoia check that indexes aren't
631         outside of label->text
632         (gtk_label_select_region): make -1 for start_offset mean "end of
633         label," for consistency with GtkEditable
634
635         * gtk/gtkmessagedialog.c (gtk_message_dialog_new): honor
636         GTK_DIALOG_NO_SEPARATOR flag
637
638 Fri Jun  1 11:47:11 2001  Owen Taylor  <otaylor@redhat.com>
639
640         * gtk/gtkcombo.c (gtk_combo_set_use_arrows_always): Fix 
641         notifications on non-existant "enable_arrow_keys".
642         (#53753, Skip Montanaro)
643
644 Fri Jun  1 11:31:55 2001  Owen Taylor  <otaylor@redhat.com>
645
646         * gdk/gdkrectangle.c (gdk_rectangle_get_type): Add 
647         GDK_TYPE_RECTANGLE.
648
649         * gtk/gtkwidget.c (gtk_widget_class_init): Fix type
650         of allocation argument be GDK_TYPE_RECTANGLE.
651
652 Thu May 31 12:43:57 2001  Owen Taylor  <otaylor@redhat.com>
653
654         * gtk/gtkoptionmenu.c: Account for the fact that the border
655         width is _outside_ the window. (Fixes #54585, bug found
656         by Bastien Nocera.)
657
658 Wed May 30 15:56:30 2001  Owen Taylor  <otaylor@redhat.com>
659
660         * gtk/gtksettings.c (gtk_settings_get_property): Validate
661         value from GDK settings against parameter spec.
662
663         * gdk/x11/gdkevents-x11.c (gdk_setting_get): Add assignments
664         to temporary values and use g_value_transform(), since
665         thinking that GValue was going to be easy or efficient
666         to use was, of course, a mistake.
667
668         * gtk/gtksettings.c: Add cursor blink setting.
669         
670         * gdk/x11/gdkevents-x11.c: Add cursor blink X settings.
671
672         * gtk/gtkentry.c: Add cursor blinking.
673
674         * gtk/gtktextview.c (gtk_text_view_check_cursor_blink): Use
675         cursor blink global settings.
676
677         * gtk/gtkentry.c (gtk_entry_button_press): Add notification
678         for :text_position in places where it is missing.
679
680 Tue May 29 18:17:11 2001  Owen Taylor  <otaylor@redhat.com>
681
682         * autogen.sh (have_libtool): Fix GNU sedism (#55430)
683
684 Tue May 29 17:40:29 2001  Owen Taylor  <otaylor@redhat.com>
685
686         * configure.in (GTK_DEP_CFLAGS): Use $PKG_CONFIG,
687         not pkg-config. (#51032)
688
689         * gdk/gdkproperty.h: Remove inappropriate G_GNUC_CONST
690         (fixes #51952, James Henstridge)
691         
692 2001-05-27  Alexander Larsson  <alla@lysator.liu.se>
693
694         * gtk/gtkstock.h (GTK_STOCK_GO_UP):
695         Rename to the more correct gtk-go-up.
696
697         * gtk/stock-icons/stock_menu_sort_ascending.png:
698         Added new file.
699         
700         * gtk/stock-icons/stock_menu_sort_descending.png:
701         Changed to show descending instead of ascending.
702
703         * gtk/gtkiconfactory.c:
704         Added menu size icon to sort ascending.
705
706         * gtk/stock-icons/Makefile.am:
707         Added stock_menu_sort_ascending.png.
708         
709         * gtk/gtkseparatormenuitem.c:
710         Use correct typenames.
711
712 Sun May 20 20:07:35 2001  Tim Janik  <timj@gtk.org>
713
714         * gtk/gtksignal.[hc] (gtk_signal_connect_full): make hanlder id a
715         gulong as in GSignal.
716
717 Fri May 25 19:04:17 2001  Jonathan Blandford  <jrb@redhat.com>
718
719         * gtk/gtktreeview.c (gtk_tree_view_calc_size): Remove almost all
720         instances of GtkCellRenderer in code (all but dnd icon code).
721         Virtualized in GtkTreeViewColumn.  Now I need to move focus in
722         there, and I can do multiple Cells per column.
723
724         * gtk/gtktreeviewcolumn.c: Proxy all cell calls correctly
725
726         * gtk/gtktreemodel.c (gtk_tree_row_reference_new_proxy): fix bug
727         when model was unreffed prior to removing the row reference.
728
729 2001-05-25  Havoc Pennington  <hp@redhat.com>
730
731         * gtk/gtkiconfactory.c: fix so that default icons are created if 
732         you call gtk_stock_list_ids()
733
734         * demos/gtk-demo/stock_browser.c (create_model): sort stock items
735         in list
736
737 2001-05-25  Havoc Pennington  <hp@redhat.com>
738
739         * gtk/gtkiconfactory.c (gtk_icon_set_get_sizes): get sizes an icon
740         set can render without falling back to missing image icon
741
742         * gtk/gtktextview.c (gtk_text_view_size_request): request full
743         size of text, instead of random values
744
745         * gtk/gtktreeview.c (gtk_tree_view_size_request): request full
746         size of tree view, instead of random values
747
748         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): render fallback
749         image in an appropriate size
750
751         * gtk/gtkstock.h: Rename the stock items including _BUTTON_,
752         etc. not to include that. i.e. s/GTK_STOCK_BUTTON_OK/GTK_STOCK_OK/
753
754         Throughout: fix GTK_STOCK_BUTTON_ instances
755         
756         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
757         gtk/gtkiconfactory.c, gtk/stock-icons/Makefile.am:
758         Add a bunch of new stock items/icons
759
760         * gtk/gtktreeview.c (gtk_tree_view_insert_column_with_data_func):
761         new function, convenience for inserting columns with a data func
762
763         * gtk/gtkiconfactory.c: keep a list of all existing icon factories
764         (_gtk_icon_factory_list_ids): use list of all factories to
765         generate a list of all known IDs
766
767         * gtk/gtkstock.c (gtk_stock_list_ids): replace
768         gtk_stock_list_items() with a function that returns all IDs known
769         including those for GtkIconFactory.
770
771 2001-05-25  Hans Breuer  <hans@breuer.org>
772
773         * gdk/win32/gdkgc-win32.c : made fil mode GDK_STIPPLED actually
774         work -> check boxes and radio buttons are drawn now, even on win9x.
775         Improved line settings a bit, still no clue how to get really dotted
776         lines on win9x, on NT it's PS_ALTERNATE.
777
778         * gdk/win32/gdkwindow-win32.c : use SafeAdjustWindowRect for 
779         GDK_HINT_MIN_SIZE as well
780
781         * gdk/win32/makefile.am : added gdkkeys-win32.c to EXTRA_DIST
782
783         * gtk/gtk.def : updated
784
785         * gtk/gtktreeprivate.h : change column_drop_func to be a function
786         pointer not a function pointer pointer
787
788         * tests/testdnd.c : include <stdlib.h> for putenv prototype
789
790         * tests/testsocket.c : made it compile on win32 again
791
792         * tests/makefile.msc : one more test-app uses prop-editor.obj
793
794 2001-05-22  Havoc Pennington  <hp@pobox.com>
795
796         * gtk/gtkbin.c (gtk_bin_get_child): New function
797
798 Wed May 23 20:07:53 2001  Owen Taylor  <otaylor@redhat.com>
799
800         * gtk/gtkimcontextsimple.c: Add Mode_Switch to list of keys
801         to ignore when doing compose processing.
802
803 2001-05-22  Joe Shaw  <joe@ximian.com>
804
805         * gtk/gtktextiter.c (_gtk_text_btree_get_iter_at_last_toggle): 
806         Simplify as suggested by Havoc. Just get the last iter and work
807         backward to the tag instead of getting a line and working back from
808         there. Fixes passing in an invalid offset to
809         iter_init_from_byte_offset().
810
811 Tue May 22 16:25:27 2001  Jonathan Blandford  <jrb@redhat.com>
812
813         * gtk/gtktreeview*.h: 
814         * gtk/gtkcell*.h:
815         * gtk/gtk*store.h:
816         Added patch from Jeff Franks <jcf@tpg.com.au> to add GET_CLASS
817         macros to all objects.
818
819 Tue May 22 15:13:52 2001  Jonathan Blandford  <jrb@redhat.com>
820
821         * gtk/gtkcellrenderertext.c
822         (gtk_cell_renderer_text_set_fixed_size): Evil function to deal
823         with very large (TM) amounts of text.  May be moved to
824         GtkCellRenderer in the future, though I'm not sure it wants to be
825         this accessible.
826
827         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_update_button):
828         More sanity brought to this class.  I like it.
829
830         * tests/testtreecolumns.c (ViewColumnModel): Amazingly scary test
831         case.  Kids, don't try this at home.
832
833         * gtk/gtktreemodel.c (gtk_tree_model_get_iter_root): new
834         convenience function.
835
836         * gtk/gtkwindow.c (gtk_window_set_geometry_hints): Fix typo in docs.
837
838 2001-05-21  Alexander Larsson  <alexl@redhat.com>
839
840         * gtk/gtkfontsel.c:
841         Added properties. Based on patch by Lee Mallabone.
842
843         * gtk/gtkruler.c:
844         * gtk/gtkhruler.c:
845         * gtk/gtkvruler.c:
846         * gtk/gtktext.c:
847         * gtk/gtktextview.c:
848         Converted GtkArg to GParam. Based on patches by John Margaglione.
849
850         * tests/Makefile.am:
851         * tests/testtext.c:
852         Add a property editor to testtext.
853         
854 Mon May 21 11:29:21 2001  Owen Taylor  <otaylor@redhat.com>
855
856         * gtk/gtk{h,v,}paned.c: Only show the separator if 
857
858         * configure.in: Fixed reversed conditional causing all image
859         libraries to be linked in.
860
861 2001-05-21  Joe Shaw  <joe@ximian.com>
862
863         * gtk/gtklayout.c (gtk_text_layout_get_lines): Remove the assertion
864         that top_y needs to be >= 0.
865
866 2001-05-11  Havoc Pennington  <hp@pobox.com>
867         
868         * gdk/x11/gdkmain-x11.c: Improve error messages for X errors and
869         losing connection to the X server.
870
871 Sun May 20 13:59:20 2001  Owen Taylor  <otaylor@redhat.com>
872
873         * configure.in: Start checks for X from pangox/pangoxft
874         CFLAGS to avoid duplicate libraries.
875
876         * gdk/Makefile.am (LDFLAGS): Remove extra -lm.
877
878         * configure.in (GDK_PIXBUF_PACKAGES): Fix GDK_PIXBUF_PACKAGES
879         to include gobject.
880         
881 2001-05-18  Alexander Larsson  <alexl@redhat.com>
882
883         * gtk/gtkspinbutton.c:
884         Convert GtkArgs to GParams. Based on patch by John Margaglione.
885         Also do size request reasonable for MAXDOUBLE. Previously it printed
886         the limits to a buffer and overran it. Instead do it using log10() and
887         limit the width to 10 digits.
888         
889         * gtk/gtkwidget.c (gtk_widget_get_property):
890         Correctly handle setting the parent property to NULL.
891
892 Fri May 18 15:26:26 2001  Owen Taylor  <otaylor@redhat.com>
893
894         * gtk/gtktextview.c (gtk_text_view_style_set): Reset 
895         style attributes even if the widget isn't realized.
896
897         * demos/gtk-demo/main.c: Use a slightly smaller font.
898
899 Fri May 18 14:25:20 2001  Owen Taylor  <otaylor@redhat.com>
900
901         * gtk/gtkcontainer.c: Remove reallocate-redraws property.
902         This is something that only a widget writer would ever want
903         to change.
904
905         * gtk/gtksignal.c: Handle G_SIGNAL_TYPE_STATIC_SCOPE for
906         gtk_signal_emit_by_name().
907
908         * gtk/gtkviewport.c: Fix some warnings.
909
910         * gtk/gtkwidget.c gtk/gtksizegroup.c: Add "size group" facility
911         allowing the requisitions of multiple widgets to be grouped
912         together.
913
914         * tests/testgtk.c: Add GtkSizeGroup test
915
916         * demos/gtk-demo/sizegroup.c: Add GtkSizeGroup demo.
917
918         * demos/gtk-demo/main.c demos/gtk-demo/pixbufs.c: Fix some
919         warnings.
920
921         * configure.in: Switch to using AM_GLIB_GNU_GETTEXT.
922
923 2001-04-28  Martin Baulig  <baulig@suse.de>
924
925         * gtk/gtkimagemenuitem.[ch]: Renamed gtk_image_menu_item_add_icon()
926         to gtk_image_menu_item_set_icon() and made it work if there's already
927         an image.
928         (gtk_image_menu_item_new): This function doesn't take any arguments anymore.
929         (gtk_image_menu_item_new_with_label): New function.
930
931 Thu May 17 16:20:04 2001  Jonathan Blandford  <jrb@redhat.com>
932
933         * demos/gtk-demo/main.c (fontify): It's the worlds ugliest
934         highlighting code!!!!  The result is okay so long as you don't try
935         to stress it.  It also highlights a bug in the TextView so it's in
936         an unproportional font right now until it's fixed.
937
938         *demos/gtk-demo/*.c: Clean up code a bit to make it
939         ugly-parser(TM) friendly. (-:
940
941 2001-05-17  Joe Shaw  <joe@ximian.com>
942
943         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove the assertions
944         that x_offset and y_offset must be >= 0. Clip the cursor being drawn
945         if it is only partially onscreen.
946
947 Thu May 17 17:10:13 2001  Owen Taylor  <otaylor@redhat.com>
948
949         * gtk/gtkentry.c: Make logical motion and deletion by graphemes, 
950         not by characters.
951
952         * gtk/gtkentry.c: Handle "trailing" returns from Pango when they
953         are not zero or one; that is, when graphemes of multiple characters
954         are involved.
955
956         * gtk/gtktextlayout.c (line_display_index_to_iter): Remove unnecessary
957         FIXME.
958
959 2001-05-17  Alexander Larsson  <alla@lysator.liu.se>
960         
961         * gtk/gtkbbox.c:
962         Add properties, based on patch by Lee Mallabone.
963
964         * gtk/gtknotebook.c:
965         * gtk/gtktoolbar.c:
966         Convert from GtkArg to GParam, based on patch by John Margaglione.
967         
968         * gtk/gtkhscale.c:
969         * gtk/gtkvscale.c:
970         * gtk/gtkhscrollbar.c:
971         * gtk/gtkvscrollbar.c:
972         * gtk/gtkrange.c:
973         Move adjustment property to GtkRange.
974
975         * gtk/gtklabel.c:
976         Setup mnemonics on property changes
977
978         * gtk/gtkwidget.c (gtk_widget_get_property):
979         GdkExtensionMode is an enum, not a flag. Set it with
980         g_value_set_enum ().
981
982         * tests/prop-editor.c:
983         Better propery editor.
984
985         * tests/testgtk.c:
986         Add new property test. Pass zero to the property editor to
987         get properties from all derived types.
988         
989 Sun May 13 12:01:12 2001  Owen Taylor  <otaylor@redhat.com>
990
991         * autogen.sh (have_automake): Require libtool-1.4,
992         automake-1.4p1.
993
994         * acinclude.m4: Remove libtool macros.
995
996         * gdk-pixbuf/Makefile.am: Add dependencies to loade
997         modules.
998
999         * gdk/Makefile.am: Add dependency on libgdk_pixbuf.la
1000         for libgdk.
1001
1002         * gtk/Makefile.am: Add dependency on libgdk_pixbuf.la
1003         libgdk.la for libgtk.
1004
1005         * modules/input/Makefile.am: Make modules have full
1006         dependencies.
1007
1008 Wed May 16 14:06:01 2001  Jonathan Blandford  <jrb@redhat.com>
1009
1010         * gtk/gtktreemodel.c (gtk_tree_path_new_from_string): fix bug
1011         #54699 where paths weren't being checked for correctness.
1012
1013 Tue May 15 20:13:24 2001  Jonathan Blandford  <jrb@redhat.com>
1014
1015         * gtk/gtktreeviewcolumn.c: You can now set all sorts of properties
1016         in any order you wan, whether or not the column is added to the
1017         tree, or the tree is realized.  Yay!
1018
1019         * gtk/gtktreeviewcolumn.c
1020         (gtk_tree_view_column_setup_sort_column_id_callback): handle
1021         sorting columns a lot saner
1022
1023         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_reorderable):
1024         new function to actually set wether or not a column is
1025         reorderable.
1026
1027         * gtk/gtktreeview.c (gtk_tree_view_unrealize): Only destroy things
1028         if we have 'em.
1029
1030         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_set_tree_view):
1031         Fix nasty bug where we were showing the button just before
1032         realizing it.  As a result, the parent window was
1033         tree_view->window instead of tree_view->priv->header_window.
1034
1035         * gtk/gtktreeview.c (gtk_tree_view_set_reorderable): new property
1036         to let you easily reorder a list or tree.
1037
1038 2001-05-15  Alexander Larsson  <alla@lysator.liu.se>
1039
1040         * gtk/gtkpacker.c: Apply patch from John Margaglione that converts
1041         from args to properties.
1042
1043 Tue May 15 10:11:59 2001  Owen Taylor  <otaylor@redhat.com>
1044
1045         * gtk/gtkpreview.c: Apply patch from John Margaglione converting
1046         from args to properties. (#51957)
1047
1048         * gtk/gtkscale.c (gtk_scale_class_init): Move install property
1049         calls to after ->set_property call.
1050
1051 Mon May 14 14:56:21 2001  Owen Taylor  <otaylor@redhat.com>
1052
1053         * tests/prop-editor.c: Block against redundant changes.
1054
1055         * gtk/gtkpaned.c gtk/gtk[hv]paned.c: Add position, position_set
1056         properties.
1057
1058 Sun May 13 18:40:04 2001  Owen Taylor  <otaylor@redhat.com>
1059
1060         * gdk/gdkpixmap.h: Remove creative formatting.
1061
1062 Thu May 10 19:22:28 2001  Owen Taylor  <otaylor@redhat.com>
1063
1064         * gtk/gtktogglebutton.c:  Patch from John Margaglione converting to
1065         property API. (#51669)
1066
1067         * gtk/gtkscale.c: Patch from John Margaglione converting to
1068         property API. (#51891)
1069
1070         * gtk/gtkaccellabel.c: Applied patch from Lee Mallabone, converting
1071         to property API. (#50985)
1072
1073 Fri May 11 20:13:44 2001  Tim Janik  <timj@gtk.org>
1074
1075         * gtk/gtkmain.c (gtk_main_do_event): remember widget's double
1076         buffering state across expose event, so we still call end_paint().
1077
1078 2001-05-11  Alexander Larsson  <alexl@redhat.com>
1079
1080         * gtk/gtkhsv.c (paint_triangle):
1081         Expose the ring in the triangle at the correct place when
1082         exposing just a part of the triangle.
1083
1084         * gtk/gtkwindow-decorate.c (gtk_decorated_window_focus_change):
1085         Return FALSE, or window focusing will not work.
1086
1087 2001-05-11  Havoc Pennington  <hp@pobox.com>
1088
1089         * gtk/gtkimage.c (gtk_image_new_from_stock): docs, fixes bug
1090         #54144
1091
1092         * gtk/gtkcolorsel.c (gtk_color_selection_new): docs, fixes
1093         bug #54330
1094
1095 Fri May 11 02:53:57 2001  Tim Janik  <timj@gtk.org>
1096
1097         * gtk/gtktogglebutton.c (gtk_toggle_button_expose): don't
1098         propagate exposes to NULL child.
1099
1100         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed): guard
1101         against not having one of the scrollbars.
1102
1103         * gtk/gtklabel.c (gtk_label_setup_mnemonic): clean up after us,
1104         we don't keep a mnemonic window if we have no mnemonic installed.
1105
1106 Fri May 11 01:05:00 2001  Tim Janik  <timj@gtk.org>
1107
1108         * gtk/gtktypeutils.h: grum, gtk_type_class() is not GNUC_CONST
1109         it has the _important_ side effect of initializing a class.
1110
1111 2001-05-10  Alexander Larsson  <alexl@redhat.com>
1112
1113         * gdk/linux-fb/gdkprivate-fb.h:
1114         Make sure you can compile out the implementation/wrapper assert
1115         macros.
1116
1117         * gdk/linux-fb/gdkdrawable-fb2.c:
1118         Check implementation/wrappers, initialize type for pixmap dummys.
1119
1120         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image):
1121         Hide the cursor if reading from the screen.
1122
1123         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic):
1124         Fix sign bug in tiling code.
1125
1126         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
1127         Handle background pixmaps.
1128
1129 Wed May  9 15:27:22 2001  Jonathan Blandford  <jrb@redhat.com>
1130
1131         * gtk/gtktreeview.c (gtk_tree_view_set_column_drag_function): New
1132         function to let user control where columns are dragged.
1133
1134         * gtk/gtktreeview.c (gtk_tree_view_key_press): Cancel drags if
1135         Escape is pressed.
1136
1137 Wed May  9 09:08:44 2001  Jonathan Blandford  <jrb@redhat.com>
1138
1139         * gtk/gtktreeview.c (gtk_tree_view_class_init): New
1140         "columns_changed" signal.
1141         (gtk_tree_view_motion_draw_column_motion_arrow): Change column
1142         motion code to draw arrows to the side if indicator is outside the
1143         widget.
1144         (gtk_tree_view_map_expanded_rows): Implement.
1145
1146 2001-05-07  Alexander Larsson  <alexl@redhat.com>
1147
1148         * demos/testpixbuf-save.c: 
1149         * demos/testpixbuf-drawable.c:
1150         Include gdkfb.h on linux-fb.
1151
1152 2001-05-07  Alexander Larsson  <alexl@redhat.com>
1153
1154         * gdk/linux-fb/gdkdnd-fb.c (get_toplevel_window_at):
1155         New function for getting toplevel window at position.
1156         (gdk_drag_find_window): Use get_toplevel_window () instead
1157         of gdk_window_get_pointer(). (gdk_drag_status): Use
1158         correct context for getting window.
1159
1160         * gdk/linux-fb/gdkproperty-fb.c (gdk_atom_name):
1161         g_strdup the atom name.
1162
1163         * gdk/linux-fb/gdkwindow-fb.c:
1164         Costmetic fix.
1165
1166         * gtk/gtkdnd.c (gtk_drag_source_handle_event):
1167         Add code for changing cursor on linux-fb backend (same as
1168         win32).
1169
1170 2001-05-07  Federico Mena Quintero  <federico@ximian.com>
1171
1172         * gtk/gtkwindow.c (gtk_window_focus): Test for bin->child being
1173         present before doing anything with it.  Patch from HÃ¥vard KvÃ¥len
1174         <havardk@netcom.no>.  Fixes Ximian bugzilla #2492 (OK, the bug
1175         report was not for the development branch of GTK+, but it applies
1176         anyways).
1177
1178 2001-05-04  Havoc Pennington  <hp@redhat.com>
1179
1180         * configure.in: fix some shell typos
1181
1182         * gtk/gtkcolorsel.c (gtk_color_selection_destroy): warning fix
1183
1184         * gtk/gtkimage.c: handle animations
1185
1186         * gtk/gtkcheckbutton.c (gtk_check_button_size_request): request
1187         border_width * 2, not just border_width
1188
1189         * gtk/gtkscale.c: add "format_value" signal to allow people
1190         to override the way values are drawn.
1191         (gtk_scale_get_value_size): fix width/height mistake,
1192         and compute size from actual displayed text, not 
1193         from made-up text.
1194
1195         * gtk/gtktexttag.c (gtk_text_tag_class_init): fix return type in 
1196         signal registration
1197
1198         * tests/testtext.c: Add "Remove all tags" menu item for testing
1199
1200         * gtk/gtktextbuffer.c (gtk_text_buffer_remove_all_tags): implement
1201
1202         * demos/gtk-demo/main.c (main): add hack so we can find modules
1203         without installing gtk
1204
1205         * demos/gtk-demo/textview.c (insert_text): demo font scaling
1206
1207         * gtk/gtkcellrenderertext.c: Add "scale" property (font scaling
1208         factor)
1209         (gtk_cell_renderer_text_set_property): remove some bogus
1210         g_object_notify
1211
1212         * gtk/gtktexttag.c: add "scale" property which is a font scaling
1213         factor
1214
1215         * gtk/gtktextlayout.c (add_text_attrs): add font scale attribute 
1216         to layout
1217
1218         * gtk/gtktextiter.c (gtk_text_iter_is_start): rename from
1219         gtk_text_iter_is_first
1220
1221 2001-01-06  Hans Breuer  <hans@breuer.org>
1222
1223         * gdk/gdk.def : updated exports
1224
1225         * gdk/win32/makefile.msc : -DGDK_ENABLE_BROKEN otherwise
1226         gdk won't compile anymore
1227  
1228         * gdk/win32/gdkevents-win32.c : initialize ret_val when
1229         processing GDK_FILTER functions, initialize event.key->hardware_keycode.
1230         Improved gdk_flush () to not only do pending drawing operations
1231         but also process all currently pending events. This should make
1232         the behaviour more similar to the X11 version.  
1233
1234         * gdk/win32/gdkgc-win32.c (predraw_set_background) : a background
1235         option needs to be set even if there is no GDK_GC_BACKGROUND.
1236         (gdk_win32_hdc_get) : use predraw_set_background () independent
1237         of value_mask. This allows to draw dashed lines leaving the original
1238         background intact.
1239
1240         * gdk/win32/gdkimage-win32.c (gdk_image_new_bitamp) : free data
1241         after processing, because we can't reuse it as the X11 version does.
1242
1243         * gtk/gtk.def : updated exports
1244
1245         * gtk/makefile.msc.in : added ATK, removed all test apps. (I
1246         would like to get rid of this file again, and use straight
1247         makefile.msc again, as the other Gtk+ subdirs do)
1248
1249         * test/makefile.msc (new file) : build the test apps here
1250
1251 2001-05-05  ERDI Gergo  <cactus@cactus.rulez.org>
1252
1253         * gdk/gdkpango.c (gdk_pango_get_item_properties): Peek
1254         strike-through setting
1255         (gdk_draw_layout_line_with_colors): Render strike-through
1256
1257 Sat May  5 10:06:24 2001  Owen Taylor  <otaylor@redhat.com>
1258
1259         * Release 1.3.5
1260
1261         * configure.in (GTK_MICRO_VERSION): Up to 1.3.5
1262
1263         * NEWS: Updated
1264
1265         * demos/gtk-demo/Makefile.am (EXTRA_DIST): Fix minor
1266         Makefile breakage.
1267
1268 Sat May  5 09:18:30 2001  Owen Taylor  <otaylor@redhat.com>
1269
1270         * demos/gtk-demo/images.c (progressive_timeout): Fix
1271         typo in filename.
1272
1273         * gtk/gtktreeview.c (gtk_tree_view_row_activated): Comment
1274         out FIXME warning; just too annoying.
1275
1276 2001-05-04  Alex Larsson  <alla@lysator.liu.se>
1277
1278         * gdk/linux-fb/gdkcolor-fb.c:
1279         Better error messages.
1280
1281         * gdk/linux-fb/gdkpixmap-fb.c (gdk_pixmap_new):
1282         Initialize abs_x and abs_y.
1283         
1284         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic):
1285         Correct handling of stipple offset.
1286
1287         * gdk/linux-fb/gdkvisual-fb.c (gdk_visual_init):
1288         Treat directcolor framebuffers as truecolor.
1289         
1290 Thu May  3 14:13:49 2001  Owen Taylor  <otaylor@redhat.com>
1291
1292         * INSTALL.in HACKING gtk/gtkaccessible.[ch] gtk/gtk.c: Add
1293         dependency on Atk for accessibility support.
1294
1295         * configure.in **/Makefile.am: Major reworking of substituted
1296         variables for CFLAGS/LIBS to make a lot more sane and 
1297         keep the the compile/link lines a bit shorter.
1298
1299         * gdk/x11/gdkkeys-x11.c: Fix #endif with trailing stuff.
1300
1301 Thu May  3 08:10:54 2001  Owen Taylor  <otaylor@redhat.com>
1302
1303         * gtk/gtktexttag.c (gtk_text_tag_class_init): Fix return
1304         value to be G_TYPE_BOOLEAN, not G_TYPE_INT, also,
1305         use _gtk_boolean_handled_accumulator.
1306
1307 Thu May  3 07:00:09 2001  Owen Taylor  <otaylor@redhat.com>
1308
1309         * gtk/gtktextview.c: Patch from Juan Pablo Mendoza Mendoza
1310         to fix things so clicking inside selection leaves cursor
1311         at point where clicked. (#50324)
1312
1313         * gtk/gtksettings.c (gtk_settings_class_init): Restore
1314         sane value for default double click time.
1315
1316         * tests/testtext.c (test_init): Really path to input modules.
1317
1318 2001-05-03  Sven Neumann  <sven@convergence.de>
1319
1320         * demos/testpixbuf-save.c: include target-specific headers as
1321         done in testpixbuf-drawable.c
1322
1323 Wed May  2 20:36:38 2001  Owen Taylor  <otaylor@redhat.com>
1324
1325         * gtk/gtkentry.c (gtk_entry_real_insert_text): Reduce
1326         new_text_length appropriately when we run into the 
1327         size limit for the entry. (#53445, reported by Jeff Franks)
1328
1329         * tests/testgtk.c (create_entry): Remove most of the
1330         property toggle buttons. Replace with a "Props" button
1331         that brings up a property editor.
1332
1333         * tests/prop-editor.[ch] test/testtreeview.c tests/Makefile.am:
1334         Split the property editor code out for reuse, improve.
1335
1336 Wed May  2 17:26:22 2001  Owen Taylor  <otaylor@redhat.com>
1337
1338         * gdk/x11/gdkevents-x11.c gdk/x11/gdkwindow-x11.c: Always
1339         trap errors around calls to XSetInputFocus since we have
1340         no way of knowing reliably whether we are viewable or
1341         not. (#53947)
1342
1343 Tue May  1 09:21:23 2001  Jonathan Blandford  <jrb@redhat.com>
1344
1345         * gtk/gtktreeview.c (gtk_tree_view_button_release_drag_column):
1346         fix bug in dropping columns.  Moving columns now basically works
1347         modula some fine tuning.
1348
1349 Tue May  1 19:09:21 2001  Jonathan Blandford  <jrb@redhat.com>
1350
1351         * gtk/gtktreeview.c (gtk_tree_view_horizontal_autoscroll): Add
1352         autoscroll support.  It mostly works, but could use some fine
1353         tuning.
1354         * gtk/gtktreeview.c (gtk_tree_view_button_release_drag_column):
1355         Actually move the column.
1356
1357 Mon Apr 30 20:29:27 2001  Owen Taylor  <otaylor@redhat.com>
1358
1359         * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtkoptionmenu.c 
1360           gtk/gtkspinbutton.c gtk/gtkstyle.c gtk/gtkwidget.c:
1361           New default theme! A slighly improved version of the 2.0 Raleigh
1362           theme, with Windows-esque focus/drawing default. 
1363           (GtkWidget::interior_focus defaults to TRUE.)
1364
1365         * gtk/gtkstyle.[ch]: Add a text_aa color halfway between text and base.
1366
1367 2001-04-30  Havoc Pennington  <hp@pobox.com>
1368
1369         * tests/testtext.c (line_numbers_expose): fix to work with
1370         gtk_paint_layout change
1371
1372 Mon Apr 30 19:18:07 2001  Owen Taylor  <otaylor@redhat.com>
1373
1374         * gtk/gtkstyle.[ch] gtk/gtkaccellabel.c gtk/gtkcellrenderertext.c
1375           gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c gtk/gtkprogressbar.c
1376           gtk/gtkvruler.c gtk/gtkvscale.c: Add an extra parameter
1377           use_text to gtk_paint_label() to deal with style->bg[] vs style->text[].
1378
1379         * gtk/gtkbbox.c gtk/gtkdialog.c: Tweak padding some to deal
1380           with GtkWidget::interior_focus = TRUE better.
1381
1382         * gtk/gtkbutton.c: Switch ::default_spacing to ::default_border,
1383         ::default_outside_border for more flexibility.
1384
1385         * gtk/gtkwidget.c (gtk_widget_style_get_valist): Remove 
1386         G_VALUE_NO_COPY_CONTENTS, to correspond with the recent
1387         change that had to be made with g_object_get.
1388
1389 Sun Apr 29 20:13:40 2001  Jonathan Blandford  <jrb@redhat.com>
1390
1391         * gtk/gtktreeview.c (gtk_tree_view_get_columns): new function.
1392         (gtk_tree_view_move_column_after): Clean up interface. 
1393
1394 Sun Apr 29 03:02:02 2001  Tim Janik  <timj@gtk.org>
1395
1396         * gtk/gtkpacker.h:
1397         * gtk/gtkenums.h: moved GtkAnchorType and GtkSideType from gtkpacker.h
1398          to gtkenum.h.
1399
1400         * gtk/gtkmain.c (gtk_main_do_event): silence compiler (GDK_SETTING not
1401         handled in switch).
1402
1403         * gtk/Makefile.am:
1404         (gtk.defs): generate enum portions with  glib-mkenums.
1405         (gtktypebuiltins_evals.c): generate this with glib-mkenums.
1406         got rid of makeenums.pl and makeenums.awk in distributed tarballs.
1407         
1408         * gtk/gtkaccelgroup.c (gtk_accel_group_add): refined havocs warning
1409         addition.
1410
1411         * docs/Changes-2.0.txt: keep a note on signal handlers now
1412         not getting emitted during the emission they were connected within.
1413
1414 2001-04-28  Havoc Pennington  <hp@pobox.com>
1415
1416         * gtk/gtkcolorsel.c (palette_new): fix bug in tooltip
1417
1418 2001-04-24  Havoc Pennington  <hp@redhat.com>
1419
1420         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_previous_line): 
1421         (gtk_text_layout_move_iter_to_next_line): fix these two for
1422         invisible text, lots of other stuff still hosed.
1423
1424         * gtk/gtkcolorsel.c (gtk_color_selection_set_change_palette_hook):
1425         new function, replaces the get/set palette stuff. This function 
1426         is intended for use by libgnomeui which should set the hook to a
1427         thing which sets the palette in GConf, and we need the
1428         GConf-to-xsettings proxy which will result in the change being
1429         propagated back to the GTK app.
1430
1431         * gtk/gtkaccelgroup.c (gtk_accel_group_add): add note to warning 
1432         about unusable signals that it may be because the signal has 
1433         parameters.
1434
1435         * gtk/gtkwidget.c (gtk_widget_modify_style): always copy the
1436         style, otherwise gtkrc.c won't know to create a new GtkStyle for
1437         it.
1438         (gtk_widget_modify_color_component): call
1439         gtk_widget_modify_style() so the rc style will get copied.
1440         (gtk_widget_modify_font): ditto
1441
1442         * gtk/gtkrc.c: make a couple variables static
1443
1444         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): hide
1445         help button by default, since it does nothing
1446
1447         * gtk/gtkcolorsel.c: add tooltips, work on key navigation, fool
1448         around with UI
1449
1450         * gtk/gtkentry.c (gtk_entry_realize): request enter/leave notify
1451         so we can have tooltips
1452
1453         * gtk/gtkhsv.c (gtk_hsv_realize): request enter/leave notify so we
1454         can have tooltips
1455
1456         * gdk/gdkimage.h: mark gdk_image_new_bitmap with
1457         GDK_ENABLE_BROKEN, because its memory behavior is completely
1458         hosed.
1459
1460         * gtk/gtknotebook.c: remove key press handler, replace with
1461         binding set, add numeric keypad support
1462
1463         * gtk/gtktextview.c (gtk_text_view_class_init): accept KP_Delete
1464
1465         * gtk/gtktext.c (gtk_text_key_press): add a bunch of KP keysyms
1466
1467         * gtk/gtkentry.c (gtk_entry_class_init): accept GDK_KP_Delete in
1468         addition to plain Delete
1469
1470         * gtk/gtktextview.c (gtk_text_view_key_press_event): accept
1471         GDK_KP_Enter in addition to GDK_Return
1472
1473         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): connect to
1474         activate on entry instead of key press
1475         (gtk_font_selection_on_clist_key_press): get
1476         rid of this signal handler, not needed with new font sel.
1477
1478         * gtk/gtkfilesel.c (gtk_file_selection_key_press): remove a
1479         no-longer-needed emit_stop_by_name(), just return TRUE
1480
1481         * gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.c: remove keybindings
1482         cruft, this widget is no longer focusable.
1483
1484         * gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkvscale.c,
1485         gtk/gtkhscale.c: Get rid of trough_keys virtual function, add
1486         move_slider action signal, add binding set for vscale/hscale, in
1487         the process support numeric keypad
1488
1489         * gtk/gtkentry.c (gtk_entry_class_init): Add keypad bindings; 
1490         make GDK_Return and GDK_KP_Enter activate the entry via 
1491         binding set, instead of hardcoded.
1492
1493 Fri Apr 27 20:27:21 2001  Jonathan Blandford  <jrb@redhat.com>
1494
1495         * gtk/gtktreeview.[hc]: Massive reorder/cleanup of a lot of the
1496         code.  Some documentation added.
1497
1498 2001-04-27  Havoc Pennington  <hp@redhat.com>
1499
1500         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fix warning
1501
1502         * gtk/gtkmessagedialog.c (gtk_message_dialog_init): make messages selectable
1503
1504         * gtk/gtkentry.c (gtk_entry_real_insert_text): don't strip
1505         line/para separators
1506         (gtk_entry_create_layout): set single paragraph mode on the layout
1507
1508         * gtk/gtkbutton.c (gtk_button_new_from_stock): don't put much
1509         spacing between the image and label; instead, inside a button box 
1510         the button will get extra space that will go there, but if people 
1511         configure button box for 0 chubbiness, then there's no spacing.
1512
1513         * gtk/gtkbbox.c (gtk_button_box_class_init): Make child ipadding
1514         and min/max size style properties, so people can tune their
1515         chubbiness.
1516
1517         * tests/testgtk.c (make_toolbar): remove calls to removed toolbar
1518         functions
1519
1520         * gtk/gtktoolbar.c (gtk_toolbar_class_init): Make space_size,
1521         space_style, and button_relief into style properties, remove
1522         functions for setting them
1523         
1524         * gtk/gtkmenu.c (gtk_menu_key_press): handle menu bar accel to pop 
1525         it back down
1526
1527         * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): free boxed
1528         types from gtk_widget_style_get
1529
1530         * gtk/gtkmenubar.c (gtk_menu_bar_set_shadow_type): Remove, replace
1531         with a style property.
1532
1533         * gdk/x11/gdkevents-x11.c: namespace the settings
1534
1535         * gtk/gtkmenubar.c: Add F10 accelerator to move between menubars.
1536
1537         * gtk/gtksettings.c (gtk_settings_class_init): remove code with
1538         side effects from inside g_assert(), so that G_DISABLE_ASSERT can
1539         be used. Also, translate doc strings for settings. Also, namespace
1540         the double-click-time property. Also, remove bell properties crap.
1541
1542 2001-04-27  Sven Neumann  <sven@gimp.org>
1543
1544         * Makefile.am: before creating links, check if pkg-config files
1545         exist for the default target. Otherwise link to the pkg-config files
1546         that got installed with this build.
1547
1548 Thu Apr 26 19:11:46 2001  Jonathan Blandford  <jrb@redhat.com>
1549
1550         * gtk/gtktreeview.c (gtk_tree_view_motion): clean up column
1551         dragging code.  Revealed some (potential) GdkWindow bugs.
1552
1553         * gdk/x11/gdkwindow-x11.c (gdk_window_reparent): add
1554         _gdk_window_init_position to the end of reparent to fix the case
1555         of reparenting when new_x != old_x and new_y != old_y.
1556
1557 Thu Apr 26 10:54:50 2001  Owen Taylor  <otaylor@redhat.com>
1558
1559         * gtk/gtkentry.c (strstr_len): Fix optimization that
1560         was correct for the use here, but completely incorrect
1561         in general.
1562
1563 Thu Apr 26 10:40:41 2001  Owen Taylor  <otaylor@redhat.com>
1564
1565         * gtk/gtkwindow.h: Remove deprecation of gtk_window_set_default_size()
1566         until patch adding gtk_window_set_size() is recommitted. 
1567
1568         * **Makefile.am configure.in gdk/x11/gdkim-11.c
1569           gtk/gtkmain.c gtk/gtkimmulticontext.c gtk/gtkmain.c
1570           gtk/gtkrc.c: Remove all traces of -DX_LOCALE support.
1571           (#10784)
1572
1573 Wed Apr 25 12:16:36 2001  Owen Taylor  <otaylor@redhat.com>
1574
1575         * gdk/X11/gdkevents-x11.c (gdk_event_translate): Test for 
1576         window == NULL in a number of cases.
1577
1578         * tests/testdnd.c: Set module path for gdk-pixbuf.
1579
1580 Thu Apr 19 16:11:07 2001  Owen Taylor  <otaylor@redhat.com>
1581
1582         * gtk/Makefile.am xembed.h: File containing #defines
1583         for XEMBED protocol.
1584
1585         * gtk/gtkplug.[ch] gtk/gtksocket.[ch]: 
1586
1587         - Change protocol from old plug/socket specific protocol
1588           to XEMBED draft
1589         - Various fixes to work with GTK+-2.0
1590
1591         Still quite a bit of work to do here to handle initiation
1592         from the socket side (as specified by XEMBED), to handle
1593         the more advanced features of XEMBED, and to figure out
1594         a good way to handle same-app embedding with less overhead
1595         than using full XEMBED.
1596
1597 Wed Apr 18 16:04:28 2001  Owen Taylor  <otaylor@redhat.com>
1598
1599         * gtk/gtkwindow.[ch] (gtk_window_real_set_focus): Keep
1600         track of whether the toplevel has the focus; only send
1601         focus-in events to the focus widget when the window
1602         actually has the focus.
1603
1604 2001-04-25  Havoc Pennington  <hp@pobox.com>
1605
1606         * gtk/gtkwindow.h: set_decorations_hint and set_functions_hint
1607         were still in the header
1608
1609 2001-04-24  Alexander Larsson  <alexl@redhat.com>
1610
1611         * gtk/gtkclist.[ch]:
1612         * gtk/gtkctree.c:
1613         When there is a row highlighted for D'n'D it must alse
1614         be painted hightlighted on exposes. Otherwise exposes from
1615         the icon being dragged will mess up the hightlight.
1616
1617         * gtk/gtkfontsel.c:
1618         Don't recenter selected font when exposing the font family
1619         clist. This means you can now actually scroll the font family
1620         list.
1621
1622         * gtk/gtknotebook.c:
1623         Fix focus movement on scrolling tabs that are placed on the left
1624         and right.
1625
1626 2001-04-21  Havoc Pennington  <hp@pobox.com>
1627
1628         * gtk/gtktextdisplay.c (gtk_text_layout_draw): handle 0-height
1629         empty/invisible lines.
1630
1631         * gtk/gtktextiter.c (gtk_text_iter_set_visible_line_offset)
1632         (gtk_text_iter_set_visible_line_index): new functions to set
1633         indexes excluding invisible text
1634
1635         * gtk/gtktextlayout.c (line_display_iter_to_index): get visible 
1636         index
1637
1638         * gtk/gtktextiter.c (gtk_text_iter_get_visible_line_index)
1639         (gtk_text_iter_get_visible_line_offset): new functions to 
1640         get indexes excluding invisible text
1641
1642         * gtk/gtkmessagedialog.c (gtk_message_dialog_init): strip out a
1643         bunch of extra padding that served no purpose
1644
1645         * gtk/gtkdialog.c: Make all the spacings configurable via style
1646         properties, for chubbiness configuration in themes
1647
1648         * tests/testtext.c: fix path to the immodules.
1649         
1650 Mon Apr 23 18:57:03 2001  Jonathan Blandford  <jrb@redhat.com>
1651
1652         * gtk/gtksocket.c (gtk_socket_filter_func): add missing '}' that
1653         got munched by #endif.
1654
1655         * gtk/Makefile.am (gtk_plug_c_sources): add missing '\'
1656
1657         * gtk/gtktreeview.c: Refactored code to clean up a number of
1658         events.
1659
1660         * gtk/gtktreemodel.c (gtk_tree_path_compare): Switched return
1661         values to make consistent with other functions.  Spotted by Jeff
1662         Franks <jcf@tpg.com.au>.
1663
1664         * gtk/gtktreeview.h (struct _GtkTreeViewClass): Fixes to signal
1665         declaration spotted by Jeff Franks <jcf@tpg.com.au>.
1666
1667 2001-04-23  Sven Neumann  <sven@gimp.org>
1668
1669         * gtk/Makefile.am
1670         * gtk/gtkplug.c
1671         * gtk/gtksocket.c: on request of Owen, reverted my last change 
1672         and exclude gtkplug.c/gtksocket.c from the build for non-X11 targets
1673
1674 2001-04-23  Sven Neumann  <sven@gimp.org>
1675
1676         * gtk/gtkplug.c: put into #ifdef GDK_WINDOWING_X11 to make GTK+
1677         compile for non-X11 targets again
1678
1679 2001-04-20  Alexander Larsson  <alexl@redhat.com>
1680
1681         * gtk/gtkcolorsel.[ch]:
1682         API Change. Take GdkColor arguments instead of gdouble *.
1683         Leave the old gtk_color_selection_set_color for compatibility,
1684         but marked deprecated.
1685         Do correct rounding when converting RGB <-> HSV.
1686         
1687         * gtk/gtkcolorseldialog.c:
1688         * tests/testgtk.c:
1689         Use new GtkColorSelection API.
1690
1691         * gtk/gtkhsv.c:
1692         Fix problem selecting colors in triangle when Hue is 330.
1693         Fix some black dots around the HSB triangle.
1694         
1695         * gtk/gtkfilesel.c:
1696         return FALSE from the focus_in_event handler to fix focus problems.
1697
1698 2001-04-18  Havoc Pennington  <hp@redhat.com>
1699
1700         * gtk/gtkwindow.c (gtk_window_class_init): add signals and binding
1701         set, so keybindings are configurable    
1702         (gtk_window_activate_default): Change to activate the focus widget
1703         instead if there's a focus widget, to be consistent with the
1704         behavior that previously existed in key_press_event
1705
1706 2001-04-18  Havoc Pennington  <hp@redhat.com>
1707
1708         * gdk/gdkkeyuni.c: Handle numeric keypad keysyms; bug #50201
1709
1710 2001-04-18  Havoc Pennington  <hp@redhat.com>
1711
1712         Close bug #50615:
1713         
1714         * gtk/gtkstyle.c (gtk_default_draw_layout): Use text_gc to draw
1715         the layout
1716
1717         * gtk/gtktext.c: Use base/text instead of bg/fg throughout
1718
1719         * gtk/gtkentry.c: Use base/text instead of bg/fg throughout
1720
1721         * gtk/gtktextdisplay.c: Use base/text instead of bg/fg throughout
1722         
1723         * gtk/gtkstyle.c (gtk_style_init): make GTK_STATE_SELECTED default
1724         to blue for base, in addition to bg
1725         
1726 2001-04-18  Havoc Pennington  <hp@redhat.com>
1727
1728         * tests/testgtk.c (create_image): allow shrinking the image window
1729         to test that we clip to allocation.
1730
1731         * gtk/gtkimage.c (gtk_image_expose): clip to allocation,
1732         #9845
1733
1734         * gtk/gtkenums.h: move GtkWrapMode in here, #50472
1735
1736 Wed Apr 18 14:23:14 2001  Owen Taylor  <otaylor@redhat.com>
1737
1738         * gdk/x11/gdkimage-x11.c (gdk_image_new): Try changing
1739         mode on shm segments to 0600. We'll see who complains.
1740
1741         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Call
1742         _gdk_windowing_window_destroy() AFTER recursing through
1743         children.
1744
1745         * tests/Makefile.am (noinst_PROGRAMS): Build testsocket,
1746         testsocket_child on X.
1747
1748         * tests/testsocket[_child].c: Fix uses of
1749         gtk_window_get_default_accel_group().
1750
1751         [ Merge patch from Ramiro Estrugo  <ramiro@eazel.com> from gtk-1-2 ]
1752
1753         * gdk/gdkimage.c: (gdk_image_get):
1754         Deal with the possibility that XGetImage() might return NULL.
1755         Allocate the GdkImagePrivate structure only after XGetImage()
1756         succeeds in order not to dereference a NULL ximage pointer.  This
1757         prevents a core dump when XGetImage() fails - which is unlikely,
1758         but can happen due to race conditions accessing the geometries of
1759         drawables.  An x error will still be triggered, but the gdk image
1760         wrapper at least wont seg fault.
1761         
1762 2001-04-18  Havoc Pennington  <hp@redhat.com>
1763
1764         * gtk/gtkimage.c: fix to properly queue resizes when the image is
1765         set
1766
1767         * gtk/gtktextview.c (gtk_text_view_do_popup): desensitize Paste
1768         if the insertion point isn't editable
1769
1770         * demos/gtk-demo/images.c: Added a GtkImage demo
1771
1772         * demos/gtk-demo/drawingarea.c: drawing area demo
1773         
1774         * demos/gtk-demo/menus.c (create_menu): cleanups
1775
1776 Wed Apr 18 12:15:52 2001  Owen Taylor  <otaylor@redhat.com>
1777
1778         * gdk/x11/gdkwindow-x11.c gdk/x11/gdkwindow-x11.h 
1779           gdk/x11/gdkevents-x11.c: Introduce an extra child
1780         of toplevel windows that serves to hold the focus to
1781         avoid events being delivered to embedded windows.
1782
1783         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Introduce
1784         some extra variables to clean up code and reduce the
1785         number of casts.
1786
1787         * gdk/x11/gdkwindow-x11.h (struct _GdkXPositionInfo): Use
1788         guint for 1 bit bit fields, not gboolean.
1789
1790 Wed Apr 18 10:04:23 2001  Owen Taylor  <otaylor@redhat.com>
1791
1792         * gtk/gtktooltips.c (gtk_tooltips_paint_window): Return FALSE,
1793         not TRUE. (Fixes #52925)
1794
1795 Tue Apr 17 18:05:34 2001  Owen Taylor  <otaylor@redhat.com>
1796
1797         * Released 1.3.4
1798
1799         * NEWS: Updated
1800
1801         * gtk/gtktextview.c (gtk_text_view_class_init): Fix to not
1802         use GTK_TYPE_ENUM.
1803
1804 Tue Apr 17 13:47:12 2001  Owen Taylor  <otaylor@redhat.com>
1805
1806         * configure.in: Don't put -lgthread in GLIB_LIBS, GLIB_DEPLIBS
1807
1808         * gtk/gtktypeutils.h gtk/gtksignals.h: Restore proper parameter
1809         names to compatibility #defines so docs work.
1810
1811         * gtk/gtkenums.h: Remove GtkMenuFactoryType
1812
1813         * gtk/gtkwindow.c gtk/gtkdnd.c: Docs cleanups.
1814
1815         * configure.in: Don't include -lgthread in GLIB_LIBS, GLIB_DEPLIBS
1816
1817         * tests/testgtkrc: No magenta cursors, please.
1818
1819         * README.in INSTALL.in HACKING README.cvs-commits: Updated.
1820
1821         * gtk/gtkenums.h (enum): Remove left over GtkMenuFactoryType.
1822         
1823 Mon Apr 16 14:38:41 2001  Owen Taylor  <otaylor@redhat.com>
1824
1825         * gtk/gtklist.c gtk/gtklistitem.c: Remove explicit pointer
1826         grabs, since they are no longer necessary.
1827
1828         * gtk/gtkcombo.c (gtk_combo_popup_button_press): Fix #52926
1829         by signal_connect() and call gtk_button_pressed() rather
1830         than signal_connect_after().
1831
1832         * tests/testgtk.c: Restore radio menu items to combos 
1833         since they'll look OK with Raleigh, and it is easier
1834         than finishing the process of removing them that was
1835         started earlier.
1836
1837 2001-04-16  Hans Breuer  <hans@breuer.org>
1838
1839         * gdk/gdk.def :
1840         * gtk/gtk.def : added all exports required to link PyGtk 0.7.1
1841
1842         * gdk/gdkfont.h : #define GDK_TYPE gdk_font_get_type ()
1843         we are interested in the functions return value not the function address
1844         * gdk/gdkvisual.h : same for GDK_TYPE_VISUAL
1845
1846         * gtk/makefile.msc.in : reflect movement of GDK_TYPEs from gtk to gdk
1847
1848 2001-04-14  Hans Breuer  <hans@breuer.org>
1849
1850         * gdk/gdk.def :
1851         * gdk/makefile.msc : updated
1852
1853         * gdk/win32/gdkdrawable.win32 (gdk_win32_draw_rectangle) : if modus is 
1854         "fill with tile" do so with new helper function gdk_win32_draw_tiles 
1855         (the testgtk::text backgound pixmap is drawn again)
1856         Changed SetTextAlign before pango_win32_render to TA_BASELINE to reflect 
1857         Win32 Pango change
1858         * gdk/win32/gdkprivate-win32.h : prototype for gdk_win32_draw_tiles
1859
1860         * gdk/win32/gdkproperty-win32.c : first implementation of gdk_setting_get
1861         Not sure if the returned settings have the right unit, because I couldn't
1862         find any docs for the X version ...
1863
1864         * gtk/gtk.def :
1865         * gtk/makefile.msc.in : updated
1866
1867 Thu Apr 12 17:41:17 2001  Owen Taylor  <otaylor@redhat.com>
1868
1869         * gtk-2.0.m4: Fix up to refer to GTK+, not to GLib; fix some
1870         wording problems. (Compared to version from Johannes Stezenbach to
1871         check correctness.)
1872
1873 Thu Apr 12 21:04:26 2001  Tim Janik  <timj@gtk.org>
1874
1875         * gtk/gtktreeview.c (_gtk_tree_view_column_start_drag): get
1876         this to compile.
1877
1878 2001-04-12  Anders Carlsson  <andersca@codefactory.se>
1879
1880         * gtk/gtkcellrenderertextpixbuf.c (gtk_cell_renderer_text_pixbuf_class_init): It's pixbuf_pos,
1881         not pixbufpos.
1882
1883         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): Fix small typo.
1884
1885         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property): xpad and ypad
1886         are unsigned insts, therefore use g_value_set_uint.
1887         (gtk_cell_renderer_set_property): Likewise, use g_value_get_uint.
1888
1889 Sun Apr  8 05:36:06 2001  Jonathan Blandford  <jrb@redhat.com>
1890
1891         * gtk/gtktextview.c (gtk_text_view_class_init): fix a fixme.
1892
1893         * gtk/gtkcellrendertoggle.c: change GTK_TYPE_POINTER to
1894         GTK_TYPE_STRING.
1895
1896         * gtk/gtktreeview.c: New functions to allow initial column
1897         dragging work.
1898
1899         * gtk/gtktreeviewcolumn.c: Initial column dragging support.
1900
1901         * tests/testtreefocus.c: give dave some love.
1902
1903         * tests/testtreesort.c: Modify test to check really long samples.
1904
1905 2001-04-11  Alexander Larsson  <alexl@redhat.com>
1906
1907         * gtk-2.0.m4: Pass pkg-config options
1908         before the other args so it works even if
1909         POSIXLY_CORRECT is set.
1910
1911 Mon Apr  9 19:02:07 2001  Tim Janik  <timj@gtk.org>
1912
1913         * configure.in (GTK_MICRO_VERSION): increment version to 1.3.4 (binary
1914         0, interface 0).
1915
1916 2001-04-04  Denis Oliver Kropp  <dok@convergence.de>
1917
1918         * gtk/gtkcalendar.c (gtk_calendar_button_press):
1919         check for action_func != NULL
1920
1921 2001-04-04  Sven Neumann  <sven@gimp.org>
1922
1923         * tests/testgtk.c (test_init): corrected path to gtk.immodules
1924
1925 Wed Apr  4 09:18:18 2001  Tim Janik  <timj@gtk.org>
1926
1927         * Released Gtk+-1.3.3.
1928
1929 Wed Apr  4 07:42:23 2001  Tim Janik  <timj@gtk.org>
1930
1931         * gdk/Makefile.am (EXTRA_DIST): add makeenums.pl to EXTRA_DIST.
1932
1933 Wed Apr  4 04:13:18 2001  Tim Janik  <timj@gtk.org>
1934
1935         * gtk/stock-icons/Makefile.am: stay in builddir and read/write
1936         files to/from source dir. (if we don't stay in builddir, we
1937         can't reach make-inline-pixbuf.
1938
1939         * gdk/Makefile.am (gdkenumtypes.c): add $(srcdir) to mekeenums.pl
1940         deps.
1941
1942         * configure.in (GTK_MICRO_VERSION): up and away (1.3.3 bin/interface
1943         ages 0).
1944
1945 Tue Apr  3 15:04:45 2001  Jonathan Blandford  <jrb@redhat.com>
1946
1947         * gtk/gtktreemodelsort.h:  removed set_sort_column, as it was
1948         moved to the GtkTreeSortable interface.
1949
1950         * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
1951         Make more efficient (fixes #50262).
1952
1953 Tue Apr  3 13:55:37 2001  Owen Taylor  <otaylor@redhat.com>
1954
1955         * NEWS: Updated.
1956
1957         * configure.in: Remove support for uninstalled glib.
1958
1959         * gtk/gtkdnd.c (gtk_drag_highlight_expose): Return FALSE as
1960         so as not to stop emission.
1961
1962         * gtk-config-2.0.in: Exit with an error message that gtk-config-2.0
1963         is no longer supported.
1964
1965         * Makefile.am gtk/Makefile.am tests/*: Moved all tests
1966         into tests, change build order to build modules before
1967         gtk/.
1968
1969         * modules/input/Makefile.am: Move gtk-query-immodules-2.0 invocation
1970         to here.
1971
1972 Tue Apr  3 13:52:57 2001  Tim Janik  <timj@gtk.org>
1973
1974         * gtk/gtkitemfactory.[hc]: changed gtk_item_factory_dump_items()
1975         and gtk_item_factory_dump_rc() GtkPatternSpec argument to
1976         GPatternSpec. this is actually unlikely to cause breakage in
1977         third-party apps since except for gle, pretty much ever caller
1978         passes NULL here.
1979
1980         * gtk/gtkbindings.[hc]: removed gtk_pattern_*() API.
1981
1982         * *.c: use g_pattern_*() API.
1983
1984         * docs/Changes-2.0.txt: GtkPatternSpec->GPatternSpec updates.
1985
1986         * gtk/gtkstyle.c (gtk_default_draw_resize_grip): assert unhandled
1987         directions aren't passed in.
1988
1989         * gtk/gtksettings.[hc] (_gtk_settings_parse_convert): export conversion
1990         functionality to be usable from gtkstyle.c as well, give precedence
1991         for conversion to user-supplied parsers.
1992         s/_gtk_rc_property_parser_for_type/_gtk_rc_property_parser_from_type/;
1993
1994         * gtk/gtkstyle.c (_gtk_style_peek_property_value): use
1995         _gtk_settings_parse_convert() for rcporperty value conversion.
1996
1997 2001-04-03  Alexander Larsson  <alexl@redhat.com>
1998
1999         * gdk/linux-fb/gdkevents-fb.c:
2000         Add empty gdk_setting_get().
2001
2002 Tue Apr  3 05:09:07 2001  Tim Janik  <timj@gtk.org>
2003
2004         * gtk/gtkmain.c (_gtk_boolean_handled_accumulator): use more elaborate
2005         variable names.
2006         
2007         * gtk/makeenums.pl: touch this so enum files get remade.
2008
2009 Mon Apr  2 19:36:57 2001  Jonathan Blandford  <jrb@redhat.com>
2010
2011         * gtk/gtktreestore.c (gtk_tree_store_init):  Bug fix to make trees
2012         work again when not sorted.
2013
2014         * gtk/gtktreeview.c (gtk_tree_view_class_init): Add "collapse_row"
2015         and "expand_row" signal, closing bug 52578.
2016
2017         * gtk/gtktreeview.c (gtk_tree_view_expand_row): Add signal
2018         support.
2019
2020         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): Add signal
2021         support.
2022
2023 Mon Apr  2 18:18:07 2001  Owen Taylor  <otaylor@redhat.com>
2024
2025         * gdk/gdkevents.h: Add GdkEventSetting event for notification
2026         of changes to system settings, gdk_setting_get() to retrieve
2027         a single system setting.
2028
2029         * gdk/x11/gdkevents-x11.c: Bridge gdk_setting_get() and GdkEventSetting
2030         to the draft XSETTINGS mechanism.
2031
2032         * gdk/x11/xsettings-{common,client}.[ch]: Sample-implementation of
2033         XSETTINGS.
2034
2035         * gtk/gtkmain.c gtk/gtksettings.[ch]: Propagate notification
2036         of GDK settings changes to the GtkSettings object.
2037
2038         * gdk/gdkevents.[ch] gdk/gtk/gtksettings.c: Hook up the
2039         double-click-timeout property to GDK.
2040
2041         * gdk/gdkcolor.[ch] gdk/gdkvisual.h gdk/gdkevent.[ch] gdk/gdkfont.[ch]:
2042         Define GDK boxed types here.
2043
2044         * gdk/Makefile.am gdk/makeenums.pl: Generate source files
2045         gdk/gdkenumtypes.[ch] for enum definitions.
2046
2047         * gtk/gtkcompat.h: Add defines for GTK_TYPE_GDK_*
2048         * gtk/gtk-boxed.defs: Comment out GDK types
2049         * gtk/gtktypeutils.h: Remove GDK types
2050         * gtk/Makefile.am: No longer scan GDK headers for enumerataions
2051
2052 Mon Apr  2 16:41:08 2001  Owen Taylor  <otaylor@redhat.com>
2053
2054         * Applied patch from Ron Steinke to add signal accumulators
2055         so that signals with the convention 'TRUE return means
2056         handled' stop emission on a TRUE return.
2057
2058         * gtk/gtkmain.[ch]: Add private accumulator 
2059         _gtk_boolean_handled_accumulator, used throughout GTK+.
2060         
2061         * gtk/gtkspinbutton.c: Add accumulator for ::output.
2062
2063         * gtk/gtktipsquery.c: Add accumulator for ::widget_selected
2064         
2065         * gtk/gtkwidget.c: Add accumulators for event signals,
2066         ::drag_motion, ::drag_drop. Use _gtk_boolean_handled_accumator
2067         for ::mnemonic-activate.
2068
2069         * gtk/gtkwindow.c: Add accumulator for ::frame_event
2070
2071 Mon Apr  2 16:24:21 2001  Owen Taylor  <otaylor@redhat.com>
2072
2073         * gtk/gtkwidget.c: Add missing include.
2074
2075 Mon Apr  2 16:56:15 2001  Jonathan Blandford  <jrb@redhat.com>
2076
2077         * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new
2078         marshaller.
2079
2080         * gtk/gtktreemodel.c (gtk_tree_model_range_changed): change
2081         "changed" signal to "range_changed".
2082
2083         * gtk/gtktreeview.c (gtk_tree_view_set_model): fix small bug where
2084         removing a tree from one model would remove all trees from that
2085         model.
2086         * gtk/gtktreeview.c (gtk_tree_view_range_changed): use range
2087         changed signal instead.
2088
2089 Mon Apr  2 16:13:58 2001  Owen Taylor  <otaylor@redhat.com>
2090
2091         * gtk/gtkinvisible.c (gtk_invisible_style_set): Avoid
2092         chaining up to parent impl, since we have a INPUT_ONLY
2093         window.
2094
2095         * gtk/gtkentry.[ch]: Add a cursor_color property to set the
2096         foreground color for the cursor.
2097
2098 Mon Apr  2 15:06:13 2001  Owen Taylor  <otaylor@redhat.com>
2099
2100         * gtk/gtkstyle.c (_gtk_style_peek_property_value): Reference 
2101         param spec when caching property values, since we unref it
2102         later when we free the style.
2103
2104         * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): Dont' free
2105         values since they are retrieved with G_VALUE_NO_COPY_CONTENTS.
2106
2107 Mon Apr  2 10:47:57 2001  Owen Taylor  <otaylor@redhat.com>
2108
2109         * gtk/gtkwidget.c (gtk_widget_class_init): Fix 
2110         G_VALUE_NO_COPY_CONTENTS instead of G_SIGNAL_TYPE_STATIC_SCOPE
2111         stupidity.
2112
2113 Mon Apr  2 00:51:11 2001  Owen Taylor  <otaylor@redhat.com>
2114
2115         [ First pass at adding style properties. Still needs some definite
2116         fine-tuning. ]
2117
2118         * gtk/gtkbutton.c: Add ::default_spacing style property.
2119          
2120         * gtk/gtkcheckbutton.[ch] gtkradiobutton.c: Add ::indicator_size,
2121         ::indicator_spacing style properties.
2122
2123         * gtk/gtkoptionmenu.c: Add ::indicator_size, ::indicator_spacing
2124         style properties.
2125
2126         * gtk/gtk{,h,v}paned.[ch]: Make handle_size a style property
2127         rather than a normal property.
2128
2129         * gtk/gtkwidget.c: Add an ::interior_focus style property to
2130         draw focus inside buttons, in the Windows/Java Metal/etc. style.
2131
2132         * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtktogglenbutton.c:
2133         Honor ::interior_focus.
2134         
2135         * gtk/gtkentry.c: Don't draw focus at all when ::interior_focus is 
2136         TRUE.
2137
2138         * gtk/gtkrange.[ch] gtk/gtk{h,v}scrollbar.c gtk/gtk{h,v}scale.c:
2139         Add ::slider_width, ::trough_border, ::stepper_size,
2140         ::stepper_spacing style properties.
2141
2142         * gtk/gtkscale.[ch] Add ::slider-length style property.
2143
2144 2001-04-02 Alexander Larsson   <alexl@redhat.com>
2145
2146         * gdk/linux-fb/gdkwindow-fb.c:
2147         Add gdk_window_begin_resize_drag and gdk_window_begin_move_drag. Remove some
2148         warnings that were spewed on startup.
2149
2150         * gtk/gtkwindow-decorate.c:
2151         gtk_window_reposition -> _gtk_window_reposition
2152
2153 Sun Apr  1 21:37:22 2001  Owen Taylor  <otaylor@redhat.com>
2154
2155         * gtk/gtkwidget.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
2156         Add boxed type for GtkRequistion. Use it for ::size-request.
2157
2158         * gtk/gtkstyle.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
2159         Add a new GtkBorder structure useful for geometry properties
2160         for widgets. Add corresponding GTK_TYPE_BORDER.
2161         
2162         * gtk/gtkwidget.c (gtk_widget_class_install_style_property):
2163         Support automatic parser selection like
2164         gtk_settings_install_property_parser().
2165
2166         * gtk/gtksettings.c (_gtk_rc_property_select_parser): Export
2167         functionality for use by gtk_widget_class_install_style_property.
2168         Support GTK_TYPE_BORDER, GTK_TYPE_REQUISITION.
2169
2170 Sun Apr  1 20:48:59 2001  Owen Taylor  <otaylor@redhat.com>
2171
2172         * gtk/gtkentry.c (gtk_entry_class_init): Make invisible-char
2173         g_param_spec_unichar(). 
2174
2175 Sun Apr  1 23:41:37 2001  Tim Janik  <timj@gtk.org>
2176
2177         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): raise window for non
2178         _NET window managers.
2179
2180         * gtk/gtkmenufactory.[hc]: cvs removed those files now.
2181
2182 Sun Apr  1 08:00:13 2001  Tim Janik  <timj@gtk.org>
2183
2184         * gtk/gtkwidget.[hc]: got rid of gtk_widget_popup(), a function that
2185         bad needs to be nuked, not just deprecated.
2186
2187         * gtk/gtktooltips.c (gtk_tooltips_draw_tips): don't use 
2188         gtk_widget_popup().
2189
2190         * gtk/*.[hc]: s/activate_mnemonic/mnemonic_activate/g;
2191         
2192         * gtk/gtkmenufactory.[hc]: removed this long-standingly deprecated
2193         widget.
2194         
2195         * docs/Changes-2.0.txt: updates.
2196         
2197 Sun Apr  1 01:02:54 2001  Jonathan Blandford  <jrb@redhat.com>
2198
2199         * gtk/gtktreestore.c (gtk_tree_store_sort_iter_changed):
2200         for (i = 0; i < 100; i ++)
2201           g_print ("I will confirm it compile before committing\n");
2202
2203 Sun Apr  1 00:52:06 2001  Jonathan Blandford  <jrb@redhat.com>
2204
2205         * gtk/gtktreestore.c: Initial work on implementing the
2206         GtkTreeSortable interface.  Basicaly a big cut'n'paste job.
2207
2208 Sun Apr  1 03:28:14 2001  Tim Janik  <timj@gtk.org>
2209
2210         * gtk/gtkwidget.c: fixed a bunch of notifications, added
2211         reference counts around emissions where the widget is used afterwards.
2212         added freeze/thaws around multiple properties being notified.
2213         (_gtk_widget_get_aux_info): cleanups.
2214         
2215         * gtk/gtksettings.c (gtk_settings_install_property): provide
2216         default parsing functions for gdkcolor, enums and flags.
2217
2218         * gtk/gtkwindow.[hc]: partially reverted patch from havoc,
2219         applied by owen.
2220         backed out gtk_window_get_location(), gtk_window_set_location(),
2221         gtk_window_get_size() and gtk_window_set_size(), these
2222         have to be sorted out wrg x/y/width/height/default_with/default_height
2223         properties.
2224         kept a flag in GtkWindowGeometryInfo to handle user
2225         resetting default sizes.
2226         cleaned up ZVT comments.
2227         bunch of assorted bug fixes, notification fixes.
2228         (_gtk_window_reposition): make this a really internal function.
2229         
2230         * gtk/testgtk.c: fixups.
2231         
2232 2001-03-31  Hans Breuer  <hans@breuer.org>
2233
2234         * config.h.win32.in : disable USE_MMX for msvc build cause
2235         the assembler doesn't fit and is out of my scope. Disable
2236         USE_GMODULE for msvc build as wel. The right way to share
2237         binaries on win32 would be to use libtiff.dll etc. To reduce
2238         installation hassles IMO it's better to include all fileformats
2239         builtin to gdk-pixbuf
2240
2241         * gdk-pixbuf/makefile.msc : new file
2242
2243         * gdk/gdk.def : updated
2244
2245         * gdk/win32/gdkevents-win32.c : don't erase the background if
2246         .no_bg is set. It improves the scrolling (e.g. of testgtk main
2247         buttons
2248         * gdk/win32/gdkgeometry-win32.c : added comment about the above
2249
2250         * gdk/win32/gdkwindow-win32.c : added three new functions like
2251         the X version. Only one is implemented, because the other two
2252         "gdk_window_begin_(resize|move)_drag" got no docs and appear to
2253         be default behaviour on win32 anyway ...
2254
2255         * gtk/gtk.def : updated
2256
2257         * gtk/makefile.msc.in : update for new files, use glib-genmarshal
2258         from where it was built and add an additional rule to automagically
2259         build gtkmarshal.[hc]
2260
2261         * gtk/gtkfilesel.c (open_new_dir) : don't increase n_entries
2262         before array access for the current entry isn't finished
2263
2264         * gtk/gtktreeitem.c (gtk_tree_item_subtree_button_click) :
2265         use g_return_val_if_fail
2266
2267         * gtk/testgtk.c (window_controls) : don't use the *wrong* size
2268         for the static array, but let the compiler calculate it. It
2269         makes me wonder if gcc isn't capable to catch bugs like this ...
2270
2271 2001-03-31  James Henstridge  <james@daa.com.au>
2272
2273         * gtk/gtkwidget.c (gtk_widget_size_adjust): fix use of magic
2274         constant "-1" in the aux info structure.
2275
2276 2001-03-30  Alexander Larsson  <alexl@redhat.com>
2277
2278         * gtk/gtkbutton.c (gtk_button_get_property):
2279         * gtk/gtklabel.c:
2280         Remove leaks.
2281         
2282         * gtk/gtkcontainer.c:
2283         * gtk/gtkhscale.c:
2284         * gtk/gtkhscrollbar.c:
2285         * gtk/gtklayout.c:
2286         * gtk/gtkmisc.c:
2287         * gtk/gtkprogress.c:
2288         * gtk/gtkprogressbar.c:
2289         * gtk/gtkrange.c:
2290         * gtk/gtktable.c:
2291         * gtk/gtkviewport.c:
2292         * gtk/gtkvscale.c:
2293         * gtk/gtkvscrollbar.c:
2294         * gtk/gtkwidget.c:
2295         Property patches, based on patches from John Margaglione and Lee Mallabone.
2296
2297 Thu Mar 29 21:20:38 2001  Mike Kestner  <mkestner@ameritech.net>
2298
2299         * gtk/gtkspinbutton.c : added value_changed signal which proxies for the
2300         adjustment. Cleaned redundant preconditions (spin != NULL). Added
2301         inline API function docs.
2302         (gtk_spin_button_new_with_range): New convenience constructor.
2303         (gtk_spin_button_set_increments): New adjustment helper.
2304         (gtk_spin_button_set_range): New adjustment helper.
2305
2306         * gtk/testgtk.c : added test of the new convenince constructor and
2307         value_changed signals.
2308
2309 Thu Mar 29 20:20:38 2001  Jonathan Blandford  <jrb@redhat.com>
2310
2311         * gtk/gtktreemodel.c (gtk_tree_row_ref_reordered_callback): Now we
2312         listen to the reorder signal.
2313
2314 Wed Mar 28 20:30:26 2001  Owen Taylor  <otaylor@redhat.com>
2315
2316         * gtk/gtkwidget.[ch] (_gtk_widget_get_aux_info): Add private function
2317         to get the aux info structure fo the widget.
2318
2319         * gtk/gtklabel.c gtk/gtkscrolledwindow.c gtk/gtkwindow.c: Use
2320         above function.
2321
2322         [ Patch from  Havoc Pennington  <hp@redhat.com> ]
2323
2324         * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): function
2325         to get the size of the window manager frame, basically the same
2326         code that gdk_window_get_root_origin() had
2327         (gdk_window_get_root_origin): use gdk_window_get_frame_extents()
2328
2329         * gtk/gtkwindow.c (gtk_window_set_default_size): use
2330         gdk_window_resize() if the window is realized and resizeable
2331
2332         * gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): fix
2333         typo so that setting gravity works
2334
2335         * gtk/gtkwindow.c (gtk_window_move_resize): don't ever use
2336         allocation if auto_shrink is on, even if the default size
2337         has not changed.
2338
2339         * gtk/gtkwidget.c (gtk_widget_render_icon): remove bogus
2340         g_return_if_fail
2341
2342 Thu Mar 29 16:29:12 2001  Jonathan Blandford  <jrb@redhat.com>
2343
2344         * gtk/gtkliststore.c (gtk_list_store_iter_changed): Massive
2345         reordering/sorting work.  Now pretty much works.
2346
2347         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Lots of work to make
2348         reorder mostly work.  Still need to get the parity correct.
2349
2350         * gtk/gtktreeviewcolumn.c: Listen for "model" property changed
2351         signal, so I can listen for the sort_column_changed signal so I
2352         can change my "sort_indicator" property.  Cool.
2353
2354 Wed Mar 28 00:03:10 2001  Owen Taylor  <otaylor@redhat.com>
2355
2356         [ Patch from Havoc Pennington, hp@redhat.com ]
2357
2358         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c:
2359         Add functions gdk_window_begin_resize_drag/begin_move_drag
2360         to start resizing or moving a toplevel window. This
2361         is done either using the _NET_WM_MOVERESIZE protocol,
2362         or, if that isn't present, by emulation.
2363
2364         * gtk/gtkwindow.[ch]: Add functions gtk_begin_move/resize_drag
2365         to export the above to GTK+-land.
2366
2367         * gtk/gtkstyle.[ch]: Add ->draw_resize_grip() paint func.
2368         
2369         * gtk/gtkwindow.c gdk/gdkwindow.[ch] (gdk_window_constrain_size):
2370         Move this function into gdkwindow, since we need it
2371         when implementing fallback resizing.
2372
2373         * gdk/x11/gdkwindow-x11.c: gdk_window_set_geometry_hints.
2374         Fix typo when setting gravity.
2375
2376         * gtk/gtkstatusbar.[ch] (gtk_statusbar_set_has_resize_grip):
2377         Add an optional (but on by default) resize grip for resizing 
2378         the parent window.
2379
2380 01-03-29  Alexander Larsson  <alexl@redhat.com>
2381
2382         * gtk/gtktooltips.c (gtk_tooltips_event_handler):
2383         Don't return TRUE from the event handler, that blocks all
2384         event signals on the tooltip widget. Now you can press buttons
2385         in toolbars again.
2386
2387 Wed Mar 28 19:20:43 2001  Owen Taylor  <otaylor@redhat.com>
2388
2389         * gtk/testtext.c (create_buffer): Add missing NULL on
2390         valist.
2391
2392         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Fix
2393         c-n-p problem with INCONSISTENT property.
2394
2395         [ Patch from Havoc Pennington  <hp@redhat.com> ]
2396
2397         * gtk/gtkentry.h (struct _GtkEntryClass): add same populate_popup
2398         hook.
2399
2400         * gtk/gtktextview.h (struct _GtkTextViewClass): add populate_popup
2401         signal as a hook for extending the default popup menu
2402
2403         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
2404         use radio menu items for the input method menuitems
2405
2406         * gtk/gtkimcontextsimple.c (check_hex): do better validation of 
2407         inserted unicode from Ctrl-Shift-hex input method
2408
2409         * gtk/gtktextbtree.c (_gtk_text_btree_insert): remove utf8
2410         validatation here, already done at GtkTextBuffer level.
2411
2412         * gtk/gtkwidget.c (gtk_widget_class_init): add binding set, add
2413         popup_menu run action signal and Shift+F10 and Menu keybindings.
2414
2415         * gtk/gtkentry.c: implement a default handler for popup_menu
2416
2417         * gtk/gtktextview.c: implement a default handler for popup_menu
2418
2419         * gtk/gtkmenu.c (gtk_menu_popup): select first item if popup is
2420         from a key event
2421         
2422         * gtk/gtklabel.c: remove "trailer" cruft
2423
2424 Wed Mar 28 17:27:12 2001  Jonathan Blandford  <jrb@redhat.com>
2425
2426         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): new function to
2427         handle reordering of trees.  Seems to mostly work w/ the exception
2428         of the parity flag.
2429
2430         * gtk/gtktreeview.c (gtk_tree_view_reordered): handle "reordered"
2431         signal.
2432
2433 Wed Mar 28 21:12:37 2001  Tim Janik  <timj@gtk.org>
2434
2435         * gtk/gtkwidget.h: c++ fixes.
2436
2437 Sun Mar 25 15:51:28 2001  Owen Taylor  <otaylor@redhat.com>
2438
2439         * gtk/gtksettings.c (gtk_settings_init): Fix use of uninitialized
2440         memory.
2441
2442 Tue Mar 27 22:36:07 2001  Owen Taylor  <otaylor@redhat.com>
2443
2444         * gtk/gtkwidget.h gtk/gtkrange.h: Apply patch from 
2445         Nils Barth fixing event return values. (#51041)
2446
2447         * gtk/gtkwidget.c: Fix some return values for default
2448         functions.
2449
2450         * gtk/gtk[vh]scrollbar.c gtk/gtk[vh]range.c: Fix
2451         return values for trough_keys functions.
2452
2453         * gtk/gtkwidget.h (struct _GtkWidgetClass): Fix return
2454         value for add_accelerator (shoudl have been a void
2455         return.)
2456
2457         * gtk/gtkcellrenderer.[ch]: gtkcellrenderertoggle.h:
2458         Fix return type of EVENT.
2459
2460         * gtk/gtkmarshal.list gtk/gtktexttag.c: Make EVENT
2461         signal return a boolean.
2462
2463 Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@redhat.com>
2464
2465         * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
2466         reordered signal.
2467
2468         * tests/testtreesort.c (main): fix spelling.
2469
2470 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
2471
2472         * gtk/gtkliststore.c: More work on implementing sortable
2473         interface.
2474
2475 Mon Mar 26 15:48:45 2001  Owen Taylor  <otaylor@redhat.com>
2476
2477         * gtk/gtkwindow.c (gtk_window_list_toplevels): Don't
2478         reference the widgets in the resulting list. (#11821)
2479         This makes this consistent with gtk_container_children.
2480
2481         * gtk/gtkwindow.c gtk/gtkwidget.c: Fix up the two
2482         uses of gtk_window_list_toplevels.
2483
2484 Mon Mar 26 15:26:17 2001  Owen Taylor  <otaylor@redhat.com>
2485
2486         * gtk/gtkimcontext.c (gtk_im_context_set_use_preedit): Add
2487         a virtual function to set whether the IM context should use 
2488         the preedit string. (#51922)
2489         
2490 Mon Mar 26 14:42:59 2001  Owen Taylor  <otaylor@redhat.com>
2491
2492         * gdk/gdkpango.h: Remove stale FIXME comment.
2493
2494 2001-03-26  Alexander Larsson  <alla@lysator.liu.se>
2495
2496         * gtk/gtkfilesel.c (gtk_file_selection_get_filename):
2497         Fixed bug that returned NULL if a filename was selected.
2498
2499 2001-03-24  Havoc Pennington  <hp@pobox.com>
2500
2501         * gtk/gtkthemes.c (gtk_theme_engine_load): improve error message
2502         to contain the word "theme"
2503
2504 2001-03-24  Havoc Pennington  <hp@pobox.com>
2505
2506         * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much
2507         slower but finer-grained
2508         (gtk_hsv_focus): get initial focus on the ring or triangle 
2509         according to tab direction
2510
2511         * gtk/testgtk.c (main): get rid of weird sleep(1) on exit
2512
2513 2001-03-23  Havoc Pennington  <hp@pobox.com>
2514
2515         * gtk/gtkhsv.c: make this somewhat key-navigable
2516
2517         * gtk/gtkfontsel.c: mnemonics
2518
2519         * gtk/gtkgamma.c: mnemonics
2520
2521         * gtk/gtkcolorsel.c: add mnemonics to labels
2522
2523 2001-03-22  Havoc Pennington  <hp@pobox.com>
2524
2525         Applied big patch from Seth Lytle to fix event handler return
2526         values, slightly modified.
2527
2528         * gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
2529         handled.
2530         (gtk_calendar_key_press): return TRUE for GDK_space triggers
2531         select_day
2532
2533         * gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
2534         (gtk_clist_button_release): return TRUE if handled
2535
2536         * gtk/gtkcolorsel.c (mouse_release):
2537         (palette_activate): 
2538         (palette_press): 
2539         (palette_new): 
2540         (mouse_press): 
2541         (get_screen_color): 
2542         fixed return type (void to gboolean), return TRUE,
2543         added GTK_SIGNAL_FUNC cast
2544
2545         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type
2546         (void to gboolean), and return TRUE
2547         (gtk_combo_button_release): changed return value to TRUE after
2548         gtk_grab_add on combo->popwin
2549
2550         * gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a
2551         collapse or expand
2552
2553         * gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for
2554         button/motion
2555
2556         * gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button
2557         press/release and motion that trigger act
2558
2559         * gtk/gtkentry.c (gtk_entry_button_release): return TRUE
2560
2561         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE
2562         for GDK_Return
2563         
2564         * gtk/gtklist.c (gtk_list_button_press): return TRUE mostly
2565         (gtk_list_button_release): return TRUE if selection
2566
2567         * gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on
2568         press
2569
2570         * gtk/gtkmenushell.c (gtk_menu_shell_button_press):
2571         (gtk_menu_shell_button_release): chain parent_menu_shell retval
2572
2573         * gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if
2574         nothing triggered
2575         (gtk_notebook_button_release): return TRUE if we do anything
2576
2577         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): 
2578         (gtk_spin_button_button_release): return TRUE or chained retval
2579
2580         * gtk/gtktext.c (gtk_text_button_press): 
2581         (gtk_text_button_release): return TRUE
2582         (gtk_text_key_press): remove redundant retval code
2583         
2584         * gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button
2585         and sensitive
2586         (gtk_tree_item_subtree_button_click): changed type to gint, and return
2587         TRUE if sensitive
2588
2589         * gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies 
2590         return TRUE
2591
2592 2001-03-23  Havoc Pennington  <hp@redhat.com>
2593
2594         * gtk/testgtk.c: fix warnings
2595
2596         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): fix return value
2597
2598         * gtk/gtktextview.c: fix warnings
2599
2600         * gtk/gtktext.c (find_cursor_at_line): fix warning
2601
2602         * gtk/gtkselection.c (gtk_selection_notify): fix warning 
2603
2604         * gtk/gtkitemfactory.c (gtk_item_factory_menu_pos): fix signature
2605         of this function
2606
2607         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
2608         fix warning
2609
2610         * gtk/gtkhandlebox.c (gtk_handle_box_style_set): fix warning
2611
2612         * gtk/gtkfontsel.c: fix warning
2613
2614         * gtk/gtkcolorsel.c: fix warnings
2615
2616 2001-03-23  Havoc Pennington  <hp@redhat.com>
2617
2618         * gtk/gtkhandlebox.c: Apply property patch from Lee Mallabone
2619
2620         * gtk/gtkbox.c: Apply property patch from Lee Mallabone
2621
2622         * gtk/gtkcheckmenuitem.c: Apply property patch from Lee Mallabone,
2623         and deprecated gtk_check_menu_item_set_show_toggle().
2624         
2625         * gtk/gtkbutton.c: Apply property patch from Lee Mallabone
2626
2627         * gtk/gtkfilesel.c: Apply property patch from Lee Mallabone
2628
2629         * gtk/gtkframe.c: Apply property patch from Lee Mallabone
2630
2631 2001-03-23  Havoc Pennington  <hp@redhat.com>
2632
2633         * gtk/gtktoolbar.c, gtk/gtkimcontext.c, gtk/gtklabel.c: fix up
2634         some docs
2635
2636 Fri Mar 23 16:13:43 2001  Jonathan Blandford  <jrb@redhat.com>
2637
2638         * gtk/gtktreeviewcolumn.h (GtkCellDataFunc): Forgot to namespace
2639         this.
2640
2641         * gtk/gtktreestore.c (gtk_tree_store_set_value): change from
2642         set_cell to set_value
2643
2644         * gtk/gtkliststore.c (gtk_list_store_set_value): change from
2645         set_cell to set_value
2646
2647 Thu Mar 22 19:27:34 2001  Jonathan Blandford  <jrb@redhat.com>
2648
2649         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
2650         fix braino.
2651         * gtk/gtktreesortable.[ch]: New interface to add cleanup sortable
2652         support.
2653
2654         * gtk/gtktreeview.c: Addition of initial sortable support.
2655
2656         * gtk/gtktreestore.c: Addition of initial sortable support.
2657
2658         * gtk/gtkliststore.c: Addition of initial sortable support.
2659
2660         * gtk/gtkmarshal.list: yet another marshaller.
2661
2662         * gtk/gtktreedatallist.[ch]: shared code between the store models
2663         for handling sorting headers.
2664
2665 2001-03-22  Havoc Pennington  <hp@redhat.com>
2666
2667         * gtk/gtkcontainer.c (gtk_container_set_focus_chain): 
2668         (gtk_container_unset_focus_chain): Add ability to override the 
2669         focus chain for a container explicitly
2670
2671 Thu Mar 22 13:01:44 2001  Tim Janik  <timj@gtk.org>
2672
2673         * gtk/gtklabel.[hc]: some cleanups, fixed mnemonic_widget handling,
2674         added PROP_MNEMONIC_WIDGET.
2675
2676         * gtk/gtkwindow.c (gtk_window_activate_mnemonic): 
2677         (gtk_window_remove_mnemonic): 
2678         (gtk_window_add_mnemonic): fixed assertions.
2679         (gtk_window_activate_mnemonic): constrain modifier checks to those
2680         permitted by gtk_accelerator_get_default_mod_mask().
2681         got rid of gtk_window_get_default_accel_group().
2682
2683         * gtk/gtkwidget.c (gtk_widget_real_activate_mnemonic): handle non
2684         activatable widgets either by focussing or a warning.
2685         added a signal accumulator to ::activate_mnemonic which stops the
2686         emission once a handler returned TRUE.
2687
2688 2001-03-22  Havoc Pennington  <hp@pobox.com>
2689
2690         * gtk/gtktoolbar.c (gtk_toolbar_insert_stock): handle mnemonics in
2691         the stock item label
2692
2693         * gtk/gtklabel.c: s/@gtk_func/gtk_func()/ in docs
2694
2695         * gtk/gtkstock.c (builtin_items): add mnemonics where missing
2696
2697         * demos/gtk-demo/*.c: Add mnemonics all over the place
2698
2699         * gtk/gtklabel.h: mark parse_uline deprecated
2700
2701 2001-03-21  Alexander Larsson  <alexl@redhat.com>
2702
2703         * gtk/gtkitemfactory.[ch]:
2704         Add support for stock and normal imagemenuitems.
2705         
2706         * gtk/testgtk.c:
2707         Add some tests for mnemonics, stock toolbars, stock
2708         and image menuitems in itemfactory and gdk_window_scroll.
2709
2710 2001-03-21  Alexander Larsson  <alexl@redhat.com>
2711
2712         * gtk/gtkbutton.[ch]:
2713         * gtk/gtkdialog.c:
2714         Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
2715         removed accel_group argument. Renamed gtk_button_new_accel() to
2716         gtk_button_new_with_mnemonic() and removed accel_group argument.
2717
2718         * gtk/gtkcheckbutton.[ch]:
2719         New function gtk_check_button_new_with_mnemonic().
2720
2721         * gtk/gtkentry.c:
2722         Override activate_mnemonic and just grab focus.
2723
2724         * gtk/gtkitemfactory.c:
2725         Don't add menu uline accel group, instead use mnemonics support.
2726
2727         * gtk/gtklabel.[ch]:
2728         New support for mnemonics.
2729
2730         * gtk/gtkmarshal.list:
2731         Needed BOOLEAN:BOOLEAN for activate_mnemonic.
2732
2733         * gtk/gtkmenu.[c]:
2734         * gtkmenushell.c:
2735         Use mnemonics instead of accel groups for uline
2736         support in menu items.
2737         Removed gtk_menu_get_uline_accel_group() and
2738         gtk_menu_ensure_uline_accel_group().
2739
2740         * gtk/gtkmenuitem.c:
2741         Override activate_mnemonic to handle switching between
2742         menu items if there are collisions.
2743         
2744         * gtk/gtknotebook.c:
2745         Connect to activate_mnemonic on the tab_label, so that
2746         activating it switches to that notebook page.
2747
2748         * gtk/gtkwidget.[ch]:
2749         Add activate_mnemonic signal. New function
2750         gtk_widget_activate_mnemonic() to emit it.
2751         Default implementation does activate/grab_focus.
2752
2753         * gtk/gtkwindow.[ch]:
2754         Add support for mnemonics in windows.
2755         New functions:
2756         gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
2757         gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier
2758
2759         * gtk/testgtk.c:
2760         Update to function name changes.
2761         
2762 2001-03-21  Alexander Larsson  <alexl@redhat.com>
2763
2764         * gtk/gtkimagemenuitem.[c]:
2765         Add gtk_image_menu_item_new_from_stock()
2766
2767 Tue Mar 20 15:00:43 2001  Jonathan Blandford  <jrb@redhat.com>
2768
2769         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
2770         Fix buglet in meeting.
2771
2772 2001-03-19  Havoc Pennington  <hp@redhat.com>
2773
2774         * gtk/gtkiconfactory.c: Make GtkIconSource an opaque datatype, and
2775         add a bunch of accessor functions. This is because we have
2776         reasonable expectations of extending what fields it contains in
2777         the future.
2778
2779         * gtk/gtkstyle.c (gtk_default_render_icon): adapt to icon source
2780         changes
2781
2782         * gtk/gtkrc.c (gtk_rc_parse_icon_source): fix to use new
2783         GtkIconSource   
2784
2785 Mon Mar 19 15:53:36 2001  Owen Taylor  <otaylor@redhat.com>
2786
2787         * gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly
2788         handle __ in paths, quote " and \n in gtk_item_factory_dump_items().
2789
2790         * gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c 
2791           gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch]
2792           gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch]
2793           gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c:
2794         Change float to double everywhere with the exception of 0<->1.0 alignment
2795         and GtkCurve.
2796
2797 2001-03-19  Tor Lillqvist  <tml@iki.fi>
2798
2799         * gdk/win32/gdkdrawable-win32.c
2800         * gdk/win32/gdkimage-win32.c: Use correct casts in debugging
2801         output.
2802
2803         * demos/testpixbuf-drawable.c: If GDK_WINDOWING_WIN32, include
2804         gdkwin32.h.
2805
2806 2001-03-18  Tor Lillqvist  <tml@iki.fi>
2807
2808         * gdk/win32/gdkevents-win32.c (print_window_state): New function.
2809         print_event_state, print_event): Use preprocessor macro to make
2810         code more compact. Print also GDK_WINDOW_STATE events.
2811         (synthesize_crossing_events): Remove the old #ifdeffed-out code.
2812         
2813         * gtk/gtk.def
2814         * gtk/makefile.mingw.in: Update.
2815
2816         * gtk/gtkmain.h: Check for G_PLATFORM_WIN32, not only G_OS_WIN32,
2817         to catch also Cygwin.
2818
2819 Sun Mar 18 01:15:30 2001  Tim Janik  <timj@gtk.org>
2820
2821         * gtk/gtkspinbutton.[hc]: added rc-style argument
2822         GtkSpinButton::shadow_type.
2823         removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
2824         and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
2825         rc-style settings.
2826
2827         * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).
2828
2829         * gtk/gtkwidget.c: quark cleanups.
2830
2831         * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
2832         scanner with appropriate configuration, renamed GtkRcStyleClass.clone
2833         to create_rc_style() (we don't do cloning in standard OO sense).
2834         added per rc style properties.
2835         
2836         * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
2837         property values and for caching those. some cleanups.
2838         
2839         * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS.
2840         
2841         * gtk/gtksettings.[hc]: new file for global rc-file properties
2842         (at least currently, should get extended to support X properties
2843         and other communication mechanisms).
2844         
2845         * gtk/gtkwidget.[hc]: added style property support:
2846         (gtk_widget_class_install_style_property_parser): install style
2847         property pspec with parser function for rc-file values other
2848         than LONG, DOUBLE or STRING.
2849         (gtk_widget_class_install_style_property): same as above without
2850         parser (parsers are going to be needed quite infrequently).
2851         (gtk_widget_style_get_property): retrive style property value.
2852         (gtk_widget_style_get_valist): same as above with varargs support,
2853         has NOCOPY semantics.
2854         (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().
2855
2856 Fri Mar 16 18:24:53 2001  Jonathan Blandford  <jrb@redhat.com>
2857
2858         * demos/gtk-demo/main.c (row_activated_cb): modified to use
2859         "row_activated" signal.
2860
2861         * gtk/gtktreeview.c (gtk_tree_view_row_activated): oh, the
2862         stupidity.  Lets actually pass in the row with this signal...
2863
2864 Fri Mar 16 18:01:17 2001  Jonathan Blandford  <jrb@redhat.com>
2865
2866         * gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN
2867
2868         * gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal.
2869
2870         * gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much
2871         everything into the ::destroy function, and freed a lot more.
2872
2873 2001-03-16  Havoc Pennington  <hp@redhat.com>
2874
2875         * gtk/gtkwidget.h (struct _GtkWidgetAuxInfo): change to use gint
2876         instead of gint16, to avoid overflow issues, since sizes > 16-bit
2877         are now allowed.
2878
2879 2001-03-16  Havoc Pennington  <hp@redhat.com>
2880
2881         * Applied patch from Nils Barth (bug # 51041) to 
2882         replace "gint" with "gboolean" and 0/1 with TRUE/FALSE
2883         in various places.
2884
2885 2001-03-15  Havoc Pennington  <hp@redhat.com>
2886         
2887         * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs 
2888         for properties to set on the tag.
2889
2890         * gtk/testtext.c: fixups to reflect create_tag change
2891         
2892         * gtk/gtktexttag.c (gtk_text_tag_set_property):
2893         background/foreground stipple are objects, not boxed.
2894
2895         * demos/gtk-demo/textview.c: intellihancing
2896
2897 Fri Mar 16 11:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
2898
2899         * gtk/gtktreeview.c (gtk_tree_view_set_model): Fixed some
2900         braindeadness spotted by Jamie Strachan <frostfreek@yahoo.com>.
2901
2902 2001-03-16  Alexander Larsson  <alexl@redhat.com>
2903
2904         * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
2905         Fix sign error with queued region translations.
2906
2907 2001-03-15  HideToshi Tajima  <tajima@happy>
2908
2909         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
2910         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
2911         * gtk/gtkentry.c (update_im_cursor_location): 
2912         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
2913         * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
2914         set_cursor_pos to set_cursor_location in GtkInputContext class
2915
2916 Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>
2917
2918         * gtk/gtkcellrenderer.h: Changed prototype to allow for getting
2919         the location of the cell relative to its area.
2920         * gtk/gtkcell*: modified for above change
2921         * gtk/gtktreeview.c: modified for above change.
2922
2923 Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>
2924
2925         * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
2926          (gtk_tree_view_finalize): actually unref the model.  Thanks to
2927         Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
2928
2929 2001-03-14  Havoc Pennington  <hp@redhat.com>
2930
2931         * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
2932         
2933         * gtk/gtk.h: remove gtkdata.h
2934
2935         * gtk/Makefile.am: remove gtkdata
2936         
2937         * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
2938         not "disconnect" on the adjustments.
2939         
2940         * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not
2941         GtkData
2942
2943         * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
2944         not GtkData
2945
2946         * configure.in: handle case where X render exists, but Pango lacks
2947         Xft support.
2948
2949 2001-03-15 Alexander Larsson  <alexl@redhat.com>
2950
2951         * gtk/gtktoolbar.[ch]:
2952         New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
2953         to add stock items to toolbars.
2954
2955         * gtk/Makefile.am:
2956         Remove ../gdk/gdkim.h from gdk_headers.
2957
2958 2001-03-15  Sven Neumann  <sven@gimp.org>
2959
2960         * gdk/gdkim.h: removed
2961         
2962         * gdk/gdkprivate.h
2963         * gdk/x11/gdkim-x11.c: do not include gdkim.h 
2964
2965 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
2966
2967         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
2968         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
2969         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
2970         set_cursor_pos() virtual method
2971
2972         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
2973         (gtk_im_context_xim_set_cursor_pos): add implementation for
2974         set_cursor_pos() method
2975
2976         * gtk/gtkentry.c (recompute_idle_func): set current cursor
2977         position to input methods
2978
2979 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
2980
2981         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
2982         code a lot.
2983
2984         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
2985         g_mem_chunk.
2986         (_gtk_tree_data_list_alloc): use g_mem_chunk.
2987         (_gtk_tree_data_list_node_to_value): Fix to switch on
2988         G_TYPE_FUNDAMENTAL.
2989         (_gtk_tree_data_list_value_to_node): Fix to switch on
2990         G_TYPE_FUNDAMENTAL.
2991         (_gtk_tree_data_list_node_copy): Fix to switch on
2992         G_TYPE_FUNDAMENTAL.
2993
2994 2001-03-12  Havoc Pennington  <hp@redhat.com>
2995
2996         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
2997         to convert to new property API. Also, change default_width and
2998         default_height get_property to return 0 as the flag value for
2999         "unset"; -1 is not a valid value for these fields.
3000
3001 2001-03-12  Havoc Pennington  <hp@redhat.com>
3002
3003         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
3004         enum with registration for icon sizes, instead of strings.
3005
3006         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
3007         gtkwidget.c: Fix to reflect GtkIconSize
3008         
3009 2001-03-12  Alexander Larsson  <alexl@redhat.com>
3010
3011         Make GtkFB compile and link.
3012         
3013         * gdk/linux-fb/gdkdrawable-fb2.c:
3014         window->mapped to GDK_WINDOW_IS_MAPPED(). 
3015         
3016         * gdk/linux-fb/gdkwindow-fb.c:
3017         window->mapped to GDK_WINDOW_IS_MAPPED(). 
3018         Added gdk_window_shape_combine_region.
3019         Added assorted placeholders for unimplemented new GdkWindow API calls.
3020
3021 2001-03-12  Alexander Larsson  <alexl@redhat.com>
3022
3023         * gtk/gtkfilesel.c:
3024         Add more test when converting filenames from/to utf-8.
3025         Don't allow entering text in the filename entry which isn't allowed in
3026         a filename. Just beep instead.
3027
3028 2001-03-12  Alexander Larsson  <alexl@redhat.com>
3029
3030         * gtk/gtkclist.c:
3031         Scroll using gdk_window_scroll(). Don't wait for exposes.
3032         Move the column headers in an order that makes them flash less.
3033
3034 2001-03-10  Hans Breuer  <hans@breuer.org>
3035
3036         * gdk/gdk.def : updated
3037
3038         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
3039         to offseting the clip_mask at the right place
3040
3041         * gdk/win32/gdkwindow-win32.c : don't create background brushes
3042         for all the gdkClasses, especially not for the input_only case.
3043         Otherwise flickering wont be avoidable, because we don't get
3044         WM_ERASEBKGND message for these windows.
3045
3046         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
3047         and fixed massive redraw problems apparently triggered by Alexanders 
3048         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
3049         but it seems to work quite well :-)
3050
3051         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
3052         prototype
3053
3054 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
3055
3056         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
3057         (gtk_list_store_set_cell): Fix a stupid typo.
3058
3059 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
3060
3061         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
3062         select_all not work if you're in SINGLE mode (it doesn't make that
3063         much sense, anyway.)
3064
3065         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
3066         handle types more sanely.
3067         (_gtk_tree_data_list_value_to_node): handle types more sanely.
3068         (_gtk_tree_data_list_node_copy): handle types more sanely.
3069
3070         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
3071         GValue better. Converts the type as well.
3072
3073         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
3074         GValue better. Converts the type as well.
3075
3076 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
3077
3078         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
3079         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
3080         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
3081         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
3082
3083         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
3084         gdk_im/gdk_ic.
3085
3086 2001-03-09  Hans Breuer  <hans@breuer.org>
3087
3088         * gdk/gdk.def : updated
3089
3090         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
3091         for their palette
3092
3093         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
3094         removing
3095
3096         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
3097         removing and implemented Havoc's GdkWindow state functions; 
3098         stick/unstick only as no-op, cause I don't know how to emulate 
3099         on win32 ...
3100
3101         * gtk/gtk.def : updated
3102
3103         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
3104
3105         * gtk/gtktypeutils.c : #include <string.h>
3106
3107         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
3108
3109 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
3110
3111         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
3112         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
3113         not a boxed.
3114
3115 2001-03-09  Alexander Larsson  <alexl@redhat.com>
3116
3117         * docs/Changes-2.0.txt:
3118         Document expose event->region change and that gtk_widget_event
3119         doesn't allow passing expose events.
3120
3121         * gdk/gdkevents.h:
3122         Add region to expose event.
3123         
3124         * gdk/gdkevents.c:
3125         Handle event->region in gdk_event_copy() and gdk_event_free().
3126
3127         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
3128         Generate expose_event->region when creating expose events.
3129
3130         * gdk/x11/gdkevents-x11.c:
3131         Generate expose events with regions when translating X events.
3132
3133         * gtk/gtkcontainer.[ch]:
3134         Default expose handler that propagates expose events to NO_WINDOW
3135         children. New function gtk_container_propagate_expose()
3136
3137         * gtk/gtkwidget.[ch]:
3138         Moved gtk_widget_event implementation to gtk_widget_event_internal.
3139         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
3140         expose events. New function gtk_widget_send_expose() to send expose
3141         events. New function gtk_widget_region_intersect() to calculate
3142         window/region intersections.
3143         
3144         * gtk/gtkmain.c (gtk_main_do_event):
3145         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
3146         Use gtk_widget_send_expose() to send expose events.
3147         
3148         * gtk/gtkbin.c:
3149         * gtk/gtkbox.c:
3150         * gtk/gtkfixed.c:
3151         * gtk/gtkimagemenuitem.c:
3152         * gtk/gtklist.c:
3153         * gtk/gtkpacker.c:
3154         * gtk/gtktable.c:
3155         * gtk/gtktree.c:
3156         Remove expose handler, using the default container implementation
3157         instead.
3158         
3159         * gtk/gtkbutton.c:
3160         * gtk/gtkcheckbutton.c:
3161         * gtk/gtkeventbox.c:
3162         * gtk/gtkfixed.c:
3163         * gtk/gtkhandlebox.c:
3164         * gtk/gtklayout.c:
3165         * gtk/gtklistitem.c:
3166         * gtk/gtkmenu.c:
3167         * gtk/gtkmenubar.c:
3168         * gtk/gtkmenuitem.c:
3169         * gtk/gtknotebook.c:
3170         * gtk/gtkoptionmenu.c:
3171         * gtk/gtkpaned.c:
3172         * gtk/gtkscrolledwindow.c:
3173         * gtk/gtktogglebutton.c:
3174         * gtk/gtktoolbar.c:
3175         * gtk/gtktreeitem.c:
3176         * gtk/gtkviewport.c:
3177         Chain expose handler to parent class handler. Use
3178         gtk_container_propagate_expose() to propagate exposes.
3179
3180         * gtk/gtkclist.c (check_exposures):
3181         * gtk/gtktext.c (process_exposes):
3182         Use gtk_widget_send_expose instead of gtk_widget_event.
3183
3184 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
3185
3186         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
3187
3188 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
3189
3190         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
3191         unref the nodes.   Fixes bug #50058.
3192
3193         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
3194         "::ref_iter" to "::ref_node".
3195         (gtk_tree_model_unref_node): change "::unref_iter" to
3196         "::unref_node". Fixes bug #50064.
3197
3198 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
3199
3200         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
3201         support for invisible cells.
3202          (gtk_tree_view_bin_expose): ditto
3203
3204 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
3205
3206         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
3207         on gobjects.
3208
3209         * tests/testtreefocus.c (main): New test file.
3210
3211         * tests/testtreeview.c: update to latest glib changes.
3212
3213         * tests/testtreecolumns.c: update to latest glib changes.
3214
3215 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
3216
3217         * gtk/testgtk.c: re-enabled event watcher emission hooks.
3218
3219 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
3220
3221         * *.c: added accumulator data argument to g_signal_newc()
3222         functions.
3223
3224         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
3225         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
3226         * gtk/treestoretest.c (make_window):
3227         s/g_signal_connect/g_signal_connectc/.
3228
3229         * gtk/gtktextbuffer.c: completed signal arg fixups,
3230         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
3231
3232 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
3233
3234         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
3235         G_CONST_RETURN.
3236
3237         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
3238         ::hierarchy-changed signal when a widget changes
3239         from anchored to unanchored or vice versa.
3240         (anchored means 
3241          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
3242         Use a private flag to keep track of this efficiently.
3243
3244 2001-03-07  Havoc Pennington  <hp@redhat.com>
3245
3246         * gtk/testgtk.c (create_spins): uglify so that size request gets
3247         tested.
3248
3249         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
3250         request on values for upper/lower, completes #6152
3251
3252 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
3253
3254         * Makefile.am: Remove gtk-config-2.0 again.
3255         (Grrrr, pkg-config. And stops make loops.)
3256
3257 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
3258
3259         * gtk/gtksignal.[hc]: removed old emission hook API.
3260         
3261         * docs/Changes-2.0.txt: fixed sections.
3262         
3263         * gtk/gtktextbuffer.c: signal arg fixups.
3264
3265 2001-03-07  Havoc Pennington  <hp@redhat.com>
3266
3267         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
3268
3269         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
3270         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
3271         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
3272         validation and the redraw which is higher priority than the
3273         validation.
3274
3275 2001-03-07  Havoc Pennington  <hp@redhat.com>
3276
3277         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
3278         (gtk_entry_set_property): remove trailer
3279
3280         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
3281         (gtk_entry_get_width_chars): new functions, to set size request to 
3282         a given number of characters
3283
3284         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
3285
3286         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
3287         (gtk_dialog_get_has_separator): new function
3288         (run_delete_handler): fix to not emit "response" signal
3289         because we already did in the delete event handler installed
3290         at dialog creation time.
3291         
3292         * gtk/gtkdialog.h: add a has_separator property,
3293         add GTK_DIALOG_NO_SEPARATOR flag
3294
3295 2001-03-07  Havoc Pennington  <hp@redhat.com>
3296
3297         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
3298         off decorations for a window.
3299
3300         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
3301         changes
3302
3303         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
3304         to get location of PangoLayout inside the label, closes #51198
3305
3306         * gtk/testgtk.c (create_bbox): fix up button box usage
3307
3308         * gtk/testcalendar.c (create_calendar): fix up button box usage
3309
3310         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
3311
3312         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
3313
3314         * gtk/gtkhbbox.h: deprecations
3315
3316         * gtk/gtkvbbox.h: deprecations
3317
3318         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
3319         emulate deprecated gtk_button_box_get_spacing
3320
3321         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
3322         the "set global default" functions
3323         (struct _GtkButtonBox): remove "spacing" field, use the one from 
3324         GtkBox base class
3325
3326         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
3327
3328         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
3329         render the icon, return the missing image icon.
3330
3331         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
3332         image icon if the load fails.   
3333
3334         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
3335         when no image is found; should be the Netscape "missing image"
3336         icon eventually but for now is a random image
3337
3338         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
3339         role for the session manager
3340
3341         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
3342
3343         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
3344         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
3345
3346         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
3347
3348 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
3349
3350         * gtk/*.c: marshaller fixes.
3351         
3352         * gtk/gtkmarshal.list: extreme cleanup.
3353
3354         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
3355         param spec for now.
3356
3357         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
3358         where appliable.
3359
3360         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
3361         special cased autogenerated boxed types from gtktypebuiltins_ids.c
3362         which are not reference counted:
3363         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
3364         PangoFontDescription, GtkTreeIter and GtkTreePath.
3365
3366 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
3367
3368         * gtk/gtktreeselection.h: 
3369         * gtk/gtktreemodel.c:
3370         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
3371         file should be included directly, and gobject/gmarshal.h
3372         as well as gtk/gtkmarshal.h even can't be included directly.
3373
3374         * Makefile.am: grr, install gtk-config-2.0.
3375
3376         * gtk/testgtk.c:
3377         * gtk/simple.c:
3378         * gtk/gtkmenu.c:
3379         * gtk/gtkitemfactory.c: use g_object_connect() instead of
3380         passing "*signal*::*" args to gtk_widget_set().
3381         
3382         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
3383         
3384         * gtk/*.c: removed trailer arg from property setters and getters.
3385         macro fixups.
3386
3387 2001-03-07  Alexander Larsson  <alexl@redhat.com>
3388
3389         * gtk/gtklabel.c (set_markup): Removed warning
3390
3391 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
3392
3393         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
3394         field to allow you to hide cell renderers.
3395
3396         * gtk/gtkcellrenderer.c: Add support for invisible cells.
3397
3398         * gtk/gtktreeview.c: Add support for invisible cells.
3399
3400 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
3401
3402         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
3403         Add "clicked" signal back to columns.
3404
3405         * ChangeLog: remove conflict markers.
3406
3407 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
3408
3409         * gtk/gtkbutton.c: Add animation of activation by, on 
3410         activate, pressing the button, and adding a timeout that 
3411         releases the button after 250ms or on key release and
3412         emits ::clicked. (#51501)
3413
3414         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
3415         action area, we connect to ::clicked instead of ::activate
3416         so the dialog stays up through the animation.
3417
3418 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
3419
3420         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
3421         check the ignore_enter flag for the menu shell that
3422         the item is actually a child of, not for attached
3423         submenus. (#51536)
3424
3425 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
3426
3427         * gtk/gtkmain.c (gtk_propagate_event): Only do special
3428         special key-press grab handling for widgets within
3429         GtkWindows. Otherwise, fall through to normal case.
3430
3431         This prevents key events being sent twice to GtkInvisible
3432         widgets, which can cause all sorts of mischief.
3433
3434 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
3435
3436         * gtk/gtkmain.c (gtk_propagate_event): When a grab
3437         widget is in effect, give the grab widget a first
3438         crack at KEY_PRESS/RELEASE events. (#424)
3439
3440 2001-03-06  James Henstridge  <james@daa.com.au>
3441
3442         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
3443         offset for the window_state_event to point at window_state_event
3444         rather than no_expose_event.
3445
3446 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
3447
3448         * gtk/gtkimmodule.h: fix busted /* comment */
3449
3450 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
3451
3452         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
3453         object properties.
3454
3455 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
3456
3457         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
3458         add object properties.
3459
3460         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
3461         to add object properties.
3462
3463         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
3464         object properties.
3465
3466         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
3467         add object properties.
3468
3469         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
3470         object properties.
3471
3472 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
3473
3474         * gtk/gtktreemodel.c: renamed "child_toggled" to
3475         "has_child_toggled".
3476
3477         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
3478         handle new signal name.
3479
3480         * gtk/gtktreestore.c: Updated to handle new signal name.
3481         * gtk/gtklisttore.c: Updated to handle new signal name.
3482         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
3483
3484 2001-03-05  Alexander Larsson  <alexl@redhat.com>
3485
3486         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
3487         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
3488
3489 2001-03-05  Michael Natterer  <mitch@gimp.org>
3490
3491         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
3492         pixbuf-engine coincidentially also failed to make one of it's
3493         parent_class pointers static, causing overwriting of GtkLabel's
3494         parent_class pointer in pixbuf_style_class_init().
3495         (Will commit the fix to the pixbuf-engine too).
3496
3497 2001-03-05  Alexander Larsson  <alexl@redhat.com>
3498
3499         * gdk/gdkwindow.h:
3500         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
3501         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
3502         gdk_window_set_icon_list for net wmspec functionality.
3503
3504         * gdk/x11/gdkwindow-x11.c:
3505         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
3506         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
3507         gdk_window_set_icon_list.
3508         Added gdk_wmspec_change_state helper function and used it in the code.
3509         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
3510
3511         * gtk/gtkdialog.c (gtk_dialog_init):
3512         Set GDK_WINDOW_TYPE_HINT_DIALOG.
3513
3514         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
3515         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
3516
3517         * gtk/gtkwindow.c:
3518         new function gtk_window_set_type_hint.
3519         On realize, set type hint and modal hint.
3520
3521         * gtk/gtkwindow.h:
3522         Added type_hint field and gtk_window_set_type_hint.
3523
3524 2001-03-05  Alexander Larsson  <alexl@redhat.com>
3525
3526         * gtk/gtklabel.[ch]:
3527         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
3528         New function gtk_label_get_accel_keyval () to get the underline accelerator
3529         of the label. Setting the label pattern overrides other attributes.
3530
3531 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
3532
3533         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
3534         Added missing initializers to gtk_rc_style_init().
3535
3536 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
3537
3538         * gtk/gtktextview.c: fixed bug #51097 about setting 
3539         gtk_text_view_set_border_window_size() if the widget is 
3540         already realized.
3541
3542 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
3543
3544         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
3545
3546         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
3547         comment. Won't do to have duplicated doc comments between
3548         the platform subdirs.
3549
3550 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
3551
3552         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
3553           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
3554
3555         Detectable auto-repeat - make a repeating key generate
3556         press/press/press/release instead of press/release pairs.
3557
3558         If we have Xkb and XkbSetDectableAutoRepeat supports
3559         that, we do it that way. Otherwise, when we get
3560         a release event, we check ahead with XPending to see
3561         if the next key is a KeyPress with the same keycode
3562         and timestamp. (Not 100% reliable, but pretty close.)
3563           
3564 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
3565         
3566         * gtk/gtkmain.c (gtk_propagate_event): Only do special
3567         special key-press grab handling for widgets within
3568         GtkWindows. Otherwise, fall through to normal case.
3569  
3570         This prevents key events being sent twice to GtkInvisible
3571         widgets, which can cause all sorts of mischief.
3572  
3573 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
3574  
3575         * gtk/gtkmain.c (gtk_propagate_event): When a grab
3576         widget is in effect, give the grab widget a first
3577         crack at KEY_PRESS/RELEASE events. (#424)
3578  
3579 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
3580
3581         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
3582         to extend the selection. (Roughly based on patch
3583         from Jay Cox, #50939)
3584
3585         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
3586         to properly handle previous GDK_BUTTON_PRESS. 
3587         (Patch from Jay Cox, #50938)
3588
3589         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
3590         '\0' back along with the deleted text. (#51148)
3591
3592 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
3593
3594         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
3595         the group when extracting it from the X keyboard event.
3596
3597         * modules/input/Makefile.am modules/input/imipa.c: 
3598         Simple module for entering IPA. (Do we need a 
3599         gtk-stupid-input-tricks CVS module?)
3600
3601 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
3602
3603         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
3604         const.
3605
3606         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
3607
3608         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
3609         is no focus widget for the dialog currently, grab the focus as well
3610         as the default.
3611
3612         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
3613         the action area's children to iterate through, not the
3614         dialog's children.
3615
3616 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
3617
3618         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
3619         Add plug-socket tests. (Won't work worth a darn until I commit
3620         the rest of the plug-socket changes, but no reason these
3621         can't go into CVS now.)
3622
3623 2001-03-02  Havoc Pennington  <hp@redhat.com>
3624
3625         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
3626         _gdk_region_get_xrectangles()
3627
3628         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
3629
3630         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
3631
3632         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
3633         function, contributed by Ron Steinke    
3634
3635         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
3636         gdk_net_wm_supports
3637
3638         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
3639         New function, contributed by Ron Steinke
3640
3641         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
3642         used to line up the text in the entry when using the entry for
3643         editable sheet cell hacks
3644
3645         * gtk/testgtk.c (create_entry): test the activate_default setting
3646         on GtkEntry
3647
3648         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
3649         cause the entry to activate the default button for a dialog when 
3650         activated
3651         (gtk_entry_get_activates_default): new function
3652
3653 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
3654
3655         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
3656         Hwang to move call to sync_selection() up a few lines
3657         to before the row list is modified, to fix crash when
3658         removing rows in the undo_selection list.
3659
3660         (Test case provided by Daniel Elstner:
3661
3662         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
3663
3664 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
3665
3666         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
3667         of tree->root_tree in parent_set rather than _map(), 
3668         fixing #50892 in a bit better manner.
3669
3670 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
3671
3672         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
3673
3674 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
3675
3676         * gtk/gtkstyle.c : Remove duplicate fwd decl for
3677         gtk_default_draw_shadow.
3678
3679 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
3680
3681         * gdk/gdkimage.c (gdk_image_new): Remove excess 
3682         warning, make warnings more verbose, treat a error
3683         in shmat as permanent, and don't try again.
3684         (#51163, Ed Randall.)
3685
3686 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
3687
3688         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
3689         delay for the first click before starting to scroll.
3690         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
3691
3692         * gtk/gtktext.c: GtkText should have I-beam cursor. 
3693         (based on gtk-enf-990513-1.patch, Eric Fisher.)
3694
3695 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
3696
3697         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
3698         cleanup to remove some references to unused
3699         ->xoffset, ->yoffset.
3700
3701 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
3702
3703         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
3704         mask. (#51039, fix from Martin Maierhofer)
3705
3706 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
3707
3708         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
3709         for unshifted + and shifted = for non-us keyboards.
3710         Make <Control>+ and <Control>- work as well as 
3711         <Control>KP_Plus, <Control>KP_Minus for recursive
3712         open/close.  (#2682, René Seindal)
3713
3714 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
3715
3716         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
3717         the active menu item before deactivating the menu,
3718         so gtk_menu_popdown doesn't change the history. (#50964)
3719         
3720 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
3721
3722         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
3723         draw lines with text_gc rather than black_gc.
3724         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
3725
3726 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
3727
3728         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
3729         Move handling of buttons fully in gtktreeviewcolumn.  This code is
3730         less interrelated then it was, but it still requires the
3731         GtkTreeView to map it.
3732
3733         * test/testtreecolumn.c: Now I can add a column to one view,
3734         remove it, add it to the another view, remove it, then re-add it
3735         to the first.  Nifty.
3736
3737 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
3738
3739         * docs/tutorial/gtk-tut.sgml: Minor corrections
3740
3741 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
3742
3743         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
3744         GtkRowReference.
3745
3746 2001-02-28  Havoc Pennington  <hp@redhat.com>
3747
3748         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
3749         draw_default
3750         (gtk_widget_draw_focus): remove this function; we could instead
3751         make it just gtk_widget_draw(), but in most cases I think the
3752         result would be broken user code, so think it's better to have
3753         that code not compile and get fixed
3754         (gtk_widget_draw_default): ditto
3755
3756         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
3757         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
3758         
3759         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
3760         widgets lose/get the default, instead of calling draw_default
3761         
3762         * docs/Changes-2.0.txt: note about all this
3763
3764         Then fixed every widget in GTK, I won't list all the filenames.
3765
3766 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
3767
3768         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
3769         _gtk_tree_row_reference_deleted.
3770         (inserted_callback): Proxy out to
3771         _gtk_tree_row_reference_inserted.
3772         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
3773         get around signal emission ordering problem.
3774
3775         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
3776         fix to work with SINGLE 
3777         (_gtk_tree_selection_internal_select_node): Major sanitization on
3778         selections.  SINGLE now seems to work.
3779
3780         * tests/Makefile.am: add testtreecolumn.c:
3781
3782         * tests/testtreecolumn.c: New test.  Mostly points out selection
3783         bugs currently, but will test columns later.
3784
3785         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
3786         selection bug.  I hate touching this code -- it's scary.
3787
3788 2001-02-26  Havoc Pennington  <hp@redhat.com>
3789
3790         * gtk/testgtk.c: test the window state stuff
3791
3792         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
3793         window come to the user's attention as if it were just created
3794         (gtk_window_iconify): new function
3795         (gtk_window_deiconify): new function
3796         (gtk_window_stick): new function
3797         (gtk_window_unstick): new function
3798         (gtk_window_maximize): new function
3799         (gtk_window_unmaximize): new function
3800
3801         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
3802
3803         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
3804
3805         * gdk/x11/gdkevents-x11.c: create window state events when
3806         appropriate
3807         (gdk_wmspec_supported): new function
3808
3809         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
3810         iconification before showing the window
3811         (gdk_window_deiconify): new function
3812         (gdk_window_stick): new function
3813         (gdk_window_unstick): new function
3814         (gdk_window_maximize): new function
3815         (gdk_window_unmaximize): new function
3816
3817         * gdk/gdkwindow.c: store the window state in the window; 
3818         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
3819         window->mapped.
3820         (gdk_window_get_state): return the current window state
3821
3822         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
3823         (gdk_event_get_state): handle GDK_WINDOW_STATE
3824         (gdk_synthesize_window_state): function to create the window state
3825         events
3826
3827         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
3828         event, for changes to "window state" such as maximized, sticky, 
3829         etc.
3830         
3831         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
3832         focuses a window
3833
3834         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
3835         finds out if we support a given WM spec hint
3836
3837 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
3838
3839         * docs/faq/gtk-faq.sgml: New question re memory leaks.
3840
3841 2001-02-25  Hans Breuer  <hans@breuer.org>
3842
3843         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
3844         cause we want to loose those prototypes only in the latter case
3845
3846         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
3847         GdkPixmapImplWin32 because it itsn't derived from it. Use the
3848         impl member variable instead
3849
3850         * gtk/gtk.def : updated
3851
3852         * gtk/gtklist.c : 
3853         * gtk/gtkmenus.c : include <string.h> for memset ()
3854
3855         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
3856         for everthing built here, but for gtk-x.x.dll only. This solves
3857         problem of indifferent gtk type definitions
3858
3859 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@redhat.com>
3860
3861         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
3862
3863 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
3864
3865         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
3866         column that is exposed.
3867
3868         (_gtk_tree_view_update_size): Changed name from set_size, and
3869         changed function to do more work, and not force people calling it
3870         to figure out the size.  Simplifies a lot of code elsewhere.
3871
3872 2001-02-23  Alexander Larsson  <alexl@redhat.com>
3873
3874         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
3875         return solid masks for xpms that have no transparent color.
3876         This makes the ..._create_from_xpm... API backwards
3877         compatible.
3878
3879 2001-02-23  Tor Lillqvist  <tml@iki.fi>
3880
3881         * README.win32: Update. Mention the gtk-1-3-win32-production
3882         branch.
3883
3884         * gdk/win32/bdfcursor.c: New file. A program that generates
3885         xcursors.h. Thanks to Stefan Ondrejicka.
3886
3887         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
3888         compact format.
3889
3890         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
3891
3892         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
3893         function, uses xcursors.h.
3894         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
3895         cursor from inline data instead of using LoadCursor() to generate
3896         it from a resource.
3897
3898         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
3899         event, must check the Windows message for mouse button state, as
3900         the GDK event state might not have been built if it is
3901         undelivered. Remove one goto.
3902
3903         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
3904         SetCursor() if the current cursor as returned by GetCursor() is
3905         the window's previous cursor. The ChildWindowFromPoint() test
3906         apparently didn't work correctly.
3907
3908         * gdk/win32/rc/*.cur: Remove.
3909
3910         * gdk/win32/rc/gdk.rc.in: Remove cursors.
3911
3912         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
3913
3914         * gtk/makefile.{mingw,msc}.in: Updates.
3915
3916 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
3917
3918         * gtk/gtktreemodel.h: add functions for signal emission.
3919
3920         * gtk/gtktreestore.c: move to use above functions instead of
3921         g_signal_emit.
3922
3923         * gtk/gtkliststore.c: ditto
3924
3925 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
3926
3927         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
3928         GObject instead of GtkObject.
3929
3930         * gtk/gtkliststore.c: ditto.
3931
3932         * gtk/gtktreemodelsort.c: ditto.
3933
3934         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
3935         GtkTreeModelIface, instead of in each model.
3936
3937 2001-02-21  Havoc Pennington  <hp@redhat.com>
3938
3939         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
3940         unbreak this function
3941
3942         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
3943         properties
3944
3945         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
3946         properties
3947
3948         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
3949         properties
3950
3951         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
3952         mean unset the max length
3953
3954 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
3955
3956         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
3957         Changed name to be set_cell_data_func to make it clear what
3958         the functino does.  Close bug #51069.
3959
3960 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
3961
3962         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
3963         have memory actually freed.  Keeps box running longer.
3964
3965 2001-02-21  Alexander Larsson  <alexl@redhat.com>
3966         
3967         * gtk/gtkseparatormenuitem.[ch]:
3968         Added new menu separator item. The drawing and size handling
3969         is still done in GtkMenuItem, but the API is a bit more sane.
3970         
3971         * gtk/Makefile.am:
3972         Add gtkseparatormenuitem.[ch].
3973
3974         * gtk/gtk.h:
3975         Add gtkseparatormenuitem.h.
3976         
3977         * gtk/gtkentry.c:
3978         * gtk/gtkmenufactory.c:
3979         * gtk/gtktextview.c:
3980         Use the new API for menu separators.
3981         
3982         * demos/gtk-demo/menus.c (create_menu):
3983         Add some GtkSeparatorMenuItem demo code.
3984
3985 2001-02-20  Havoc Pennington  <hp@redhat.com>
3986
3987         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
3988         Lee Mallabone
3989
3990         * gtk/gtkarrow.c: Convert to new property API, patch from 
3991         Lee Mallabone
3992
3993 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
3994
3995         * tests/testtreeview.c (toggled_callback): fix to reflect change
3996         in GtkTreeModelStore.
3997
3998 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
3999
4000         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
4001         function to create an icon set from a pixbuf.
4002
4003 2001-02-20  Alexander Larsson  <alexl@redhat.com>
4004
4005         * gtk/gtkcellrenderertext.[ch]:
4006         Add a "markup" property.
4007
4008         * gtk/treestoretest.c:
4009         Use the markup property, remove some leftover stuff from
4010         GtkTreeModelMapping.
4011
4012 2001-02-20  Alexander Larsson  <alexl@redhat.com>
4013
4014         * gtk/gtklabel.c (gtk_label_set_selectable):
4015         Queue a redraw if the selectable setting was changed.
4016
4017 2001-02-20  Alexander Larsson  <alexl@redhat.com>
4018
4019         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
4020         Actually copy the whole gc, not just the public parts.
4021         
4022         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
4023         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
4024         labels.
4025
4026 2001-02-19  Havoc Pennington  <hp@pobox.com>
4027
4028         * gdk/gdkwindow.c: docs
4029
4030         * gdk/gdkrgb.c: docs
4031
4032         * gdk/gdkregion-generic.c: docs
4033
4034         * gdk/gdkgc.c (gdk_gc_set_values): docs
4035
4036         * gdk/gdkdraw.c: docs
4037
4038         * gdk/gdkdrawable.h: deprecate drawable get/set data
4039
4040 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
4041
4042         * demos/gtk-demo/dialog.c: Add simple new demo.
4043
4044 2001-02-19  Havoc Pennington  <hp@redhat.com>
4045
4046         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
4047         insert_child_anchor signal, bug #50245
4048
4049         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
4050         from create_child_anchor, so the anchor is passed in
4051
4052         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
4053         (_gtk_widget_segment_new): have the child anchor object passed in, 
4054         instead of creating it.
4055
4056         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
4057         to gtk_text_buffer_get_modified
4058
4059 2001-02-19  Havoc Pennington  <hp@redhat.com>
4060
4061         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
4062         changed GLib without fixing GTK
4063
4064         * gtk/gtkrange.h: Rename all the stupid implementation detail 
4065         functions to have an underscore in front. Most of them should 
4066         probably just go away, but for starters don't export them.
4067         Bug #50482
4068
4069 2001-02-19  Havoc Pennington  <hp@redhat.com>
4070
4071         * gdk/gdkcolor.h: test was backward, so deprecated functions were
4072         excluded by default
4073
4074         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
4075         clean up the old code a bit
4076
4077         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
4078         inconsistent state
4079
4080         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
4081         draw inconsistent state
4082
4083         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
4084         (create_menu): add inconsistent test
4085
4086         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
4087         new function
4088         (gtk_check_menu_item_get_inconsistent): new function
4089         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
4090         state (using etched in for now)
4091
4092         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
4093         draw inconsistent state
4094
4095         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
4096         function, used when the user has selected a range of stuff in
4097         different states
4098         (gtk_toggle_button_get_inconsistent): accessor for that
4099         (gtk_toggle_button_paint): draw inconsistent state (etched in?
4100         don't know what else to do)
4101
4102 2001-02-19  Hans Breuer <hans@breuer.org>
4103
4104         * gtk/gtk.def : updated exported symbols
4105
4106         * gtk/makefile.msc.in : updated
4107
4108         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
4109         a colormap, when invoked from testgtk::entry. I'm not sure where
4110         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
4111         avoids immediate crashing ...
4112
4113         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
4114         any objections ?
4115
4116         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
4117         0 parameter. At least msvc doesn't like macros with var args. 
4118         I simply removed the extra 0, was it a feature or a typo ?
4119
4120         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
4121         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
4122         because the value assignment to the internal struct wasn't working.
4123         I'm not absolutely sure. The problem could have been resolved by
4124         changing the "func" declartion in the struct, but was the pointer
4125         to the function pointer intended ?
4126
4127         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
4128
4129         * gdk/gdk.def : updated exported symbols
4130
4131         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
4132         only use SetDIBitsToDevice if there is a palette at the drawable
4133         and the image is GDK_VISUAL_PSEUDO_COLOR
4134
4135         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
4136
4137         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
4138
4139         * gdk/*/makefile.msc : updated
4140
4141 2001-02-19  Havoc Pennington  <hp@redhat.com>
4142
4143         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
4144         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
4145
4146         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
4147         (gdk_key_repeat_restore): nuke
4148
4149         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
4150         (gdk_init_check): no atexit func
4151
4152         * gdk/gdkrgb.h: mark some stuff deprecated
4153
4154         * gdk/gdkcolor.h: mark some stuff deprecated
4155         
4156         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
4157
4158         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
4159
4160 2001-02-16  Havoc Pennington  <hp@redhat.com>
4161
4162         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
4163         scroll steps.
4164
4165         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
4166         steps, and add Ctrl-arrow shortcuts for paging visually as with
4167         HScale, since Page Up and Page Down move logically.
4168
4169         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
4170         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
4171         
4172         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
4173         steps
4174         (gtk_range_scroll): handle the visual steps
4175
4176         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
4177         scroll steps
4178
4179         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
4180         steps, not the logical ones.
4181
4182         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
4183         (scroll_vertical): handle up/down steps
4184
4185 2001-02-19 Alexander Larsson  <alexl@redhat.com>
4186
4187         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
4188         Copy data and free data with free().
4189
4190         * gdk-pixbuf/gdk-pixbuf.c:
4191         * gdk-pixbuf/io-jpeg.c:
4192         * gdk-pixbuf/io-png.c:
4193         Use g_try_malloc/g_free instead malloc/free.
4194         
4195         * gdk-pixbuf/test-gdk-pixbuf.c:
4196         Must... initialize... gobject...
4197         
4198         * gdk-pixbuf/pixops/timescale.c:
4199         * gtk/gtkcalendar.c:
4200         Use g_malloc instead of malloc.
4201         
4202 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
4203
4204         * gtk/testgtkrc:
4205         Comment out property assignments, these don't work yet.
4206
4207 2001-02-17  Havoc Pennington  <hp@pobox.com>
4208
4209         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
4210         bit.
4211
4212 2001-02-17  Havoc Pennington  <hp@pobox.com>
4213
4214         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
4215         shadowed variables that had broken size request in some cases,
4216         leading to bogus tooltips (#50996)
4217
4218 2001-02-06  Jon K Hellan  <hellan@acm.org>
4219
4220         Implement fast browsing of tooltips, bug #50619
4221         
4222         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
4223         and last_popdown
4224         
4225         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
4226         use_sticky_delay and last_popdown.
4227         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
4228         time of popdown.
4229         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
4230         is NULL.
4231         (gtk_tooltips_recently_shown): New static function.  Return true
4232         if < sticky_delay has elapsed since last popdown.
4233         (gtk_tooltips_event_handler): Display window after sticky_delay
4234         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
4235         since last popdown.
4236         
4237 2001-02-17  Havoc Pennington  <hp@pobox.com>
4238
4239         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
4240         instead of (). #6394
4241
4242         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
4243         G_CONST_RETURN, make it return by reference, #50473
4244         
4245 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
4246
4247         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
4248         generated ENTER_NOTIFY event with 0, otherwise not explicitely
4249         setup fields contain garbage (e.g. subwindow, breaking
4250         gdk_drawable_ref() upon event copy).
4251         (gtk_menu_stop_navigating_submenu_cb): same here.
4252
4253         * gtk/gtklist.c (gtk_list_vertical_timeout): 
4254         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
4255         * gtk/gtkclist.c (vertical_timeout): 
4256         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
4257         default-zero-intialization for unions to memset(,0,), as unions are
4258         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
4259         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
4260
4261         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
4262         g_closure_sink() warning.
4263
4264         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
4265         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
4266         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
4267         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
4268         
4269 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
4270
4271         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
4272         gtk_*_store_get, and moved to GtkTreeModel.
4273
4274         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
4275
4276         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
4277
4278         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
4279
4280         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
4281         set the func.
4282
4283         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
4284         freeze/thaw notify between setting all the properties for a cell.
4285
4286         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
4287
4288 2001-02-15  Havoc Pennington  <hp@redhat.com>
4289
4290         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
4291         the X coordinates so they're with respect to the line, rather than 
4292         with respect to the layout.
4293
4294         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
4295         Mallabone
4296
4297         * gtk/testgtk.c (create_range_controls): add vscale tests, 
4298         and inverted test
4299
4300         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
4301         #50806
4302
4303         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
4304
4305         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
4306         gtk_text_iter_is_end
4307
4308         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
4309         rename gtk_text_buffer_get_end_iter
4310
4311         * gtk/testgtk.c (create_labels): Add test for selectable
4312
4313         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
4314         the selection stuff. This code is kind of broken since it doesn't 
4315         use the theme engine.
4316
4317         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
4318         fix infinite loop and y offset problem
4319         (gdk_draw_layout_line_with_colors): fix foreground color handling
4320
4321         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
4322         that makes the label selectable.
4323         
4324         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
4325         layout when the style is set, since fonts etc. could have changed.      
4326
4327 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
4328
4329         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
4330
4331         * gtk/gtktreemodelsimple.[ch]: removed.
4332
4333 2001-02-16  Alexander Larsson  <alexl@redhat.com>
4334
4335         * gtk/gtktreemodelmapping.[ch]:
4336         New files. Implement GtkTreeModelMapping.
4337         
4338         * gtk/Makefile.am:
4339         Add gtktreemodelmapping.[ch].
4340         
4341         * gtk/gtk.h:
4342         Add gtktreemodelmapping.h
4343
4344         * gtk/treestoretest.c:
4345         Test the GtkTreeModelMapping
4346
4347 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
4348
4349         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
4350         have a demo, we might as well pass in real values.  Thanks to
4351         clahey for pointing this out.
4352
4353 2001-02-14  Havoc Pennington  <hp@pobox.com>
4354
4355         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
4356         "static" to a private function
4357         (gtk_image_menu_item_class_init): remove destroy handler,
4358         add "image" object property
4359
4360 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
4361
4362         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
4363         Add a shortcut if the window and the current clip_region doesn't
4364         overlap. This is needed when there are a lot of windows in a
4365         window. The layout test in testgtk is a good test.
4366
4367         * gdk/linux-fb/gdkwindow-fb.c:
4368         Whitespace fix.
4369
4370 2001-02-13  Sven Neumann  <sven@convergence.de>
4371
4372         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
4373
4374 2001-02-13  Alexander Larsson  <alexl@redhat.com>
4375
4376         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
4377         Don't reference last_cursor if it is null. Fixes crash when rotating
4378         the screen before having moved the mouse.
4379
4380         * gdk/linux-fb/gdkcc-fb.c: Zapp!
4381
4382         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
4383
4384         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
4385         when using 90 or 270 degrees rotation.
4386
4387 2001-02-12  Havoc Pennington  <hp@pobox.com>
4388
4389         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
4390         it always set the foreground, even if we were only using
4391         a stipple.
4392         (gdk_draw_layout_line_with_colors): new function, allow
4393         override colors
4394         (gdk_draw_layout_with_colors): new function, allow override
4395         colors
4396         (gdk_pango_layout_line_get_clip_region): function to get the clip
4397         region for a logical text range
4398         (gdk_pango_layout_get_clip_region): get the clip region for a
4399         logical text range
4400
4401         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
4402         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
4403         the right number of arguments.
4404
4405         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
4406         enhance the function to check that node data corresponds to a 
4407         view still belonging to the tree.
4408
4409         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
4410         GtkTreePath
4411         (gtk_tree_view_inserted): ditto
4412         (gtk_tree_view_child_toggled): ditto
4413
4414         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
4415         simplify this code.
4416
4417         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
4418         a PangoAttrList
4419
4420         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
4421
4422         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
4423
4424         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
4425         size in the size request 
4426         (gtk_menu_bar_size_allocate): consider toggle size here
4427
4428         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
4429         that displays a widget in the toggle slot
4430
4431         * gtk/testgtk.c: test GtkImageMenuItem
4432
4433         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
4434         
4435         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
4436         request and allocation
4437
4438         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
4439
4440         * gtk/gtkcheckmenuitem.c
4441         (gtk_check_menu_item_toggle_size_request): ditto
4442         
4443 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
4444
4445         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
4446         reference.
4447
4448         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
4449         and refuse to initialize GTK+ if they fail.
4450
4451 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
4452
4453         * configure.in: Add check for gtk-doc version.
4454
4455 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
4456
4457         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
4458         where the xpad/ypad was only being used on one side!
4459
4460 2001-02-11  Tor Lillqvist  <tml@iki.fi>
4461
4462         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
4463         function, copied from X11 version.
4464
4465         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
4466         DestroyCursor failures. The reason for the problem (despite the
4467         inconsistent messages from GetLastError()) was that
4468         DestroyCursor() cannot be called while a cursor is set in a
4469         window. Set the new cursor first and then destroy the old one.
4470         Thanks to jpe@archaeopteryx.com.
4471
4472         * gdk/win32/gdkcc-win32.c: Remove.
4473
4474         * gdk/win32/Makefile.am: Remove from here, too.
4475         
4476         * gdk/gdk.def
4477         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
4478
4479         * gtk/gtk.def
4480         * gtk/makefile.mingw.in: Updates.
4481
4482 2001-02-08  Havoc Pennington  <hp@redhat.com>
4483
4484         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
4485         add a widget to a bin that already has a child.
4486
4487         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
4488
4489         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
4490         
4491         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
4492
4493         * gdk/gdk.h: remove gdkcc.h
4494
4495         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
4496
4497         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
4498         GdkPixbuf, since the previous implementation was GdkColorContext
4499         dependent.
4500
4501         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
4502         
4503 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
4504
4505         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
4506         a sane value!
4507
4508 2001-02-08  Havoc Pennington  <hp@redhat.com>
4509
4510         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
4511         lighten them.
4512
4513 2001-02-08  Havoc Pennington  <hp@redhat.com>
4514
4515         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
4516         validation idle
4517
4518         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
4519         cell renderer
4520
4521         * demos/pixbuf-demo.c (timeout): remove deprecated
4522         gtk_widget_draw
4523
4524         * demos/testpixbuf-save.c (main): remove deprecated
4525         gtk_drawing_area_size
4526
4527         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
4528         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
4529         at the start of the allocation.
4530         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
4531         unsetup or NULL model.
4532
4533         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
4534         even/odd/sorted cells in the tree view.
4535
4536         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
4537         bugfixes
4538
4539         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
4540         backgrounds with draw_flat_box using different detail for even/odd
4541         rows.
4542
4543         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
4544         row, so we can draw the alternating colors thing
4545
4546         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
4547         property from a synonym property, notify for the synonym.
4548         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
4549         (gtk_text_tag_get_property): Always return the font, even if
4550         all its fields aren't set
4551
4552         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
4553         store the attr list; it leaves us with no way to change attributes
4554         in _render according to the render flags, and no way to implement
4555         get_property. Instead store all the specific text attributes. 
4556         Separate whether an attribute is enabled from its value. Sync all
4557         properties with GtkTextTag, make them all consistent, etc.
4558
4559         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
4560         renderers can highlight the sort row/column     
4561
4562         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
4563         accessor functions to get values; this has the side effect of
4564         showing up which accessor functions were missing. Added those.
4565
4566         * gtk/gtktreeviewcolumn.h: Replace set_justification with
4567         set_alignment, to be consistent with GtkLabel, GtkMisc
4568
4569         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
4570         arrow.
4571
4572         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
4573
4574         * gtk/gtktreesortable.h: updates in here
4575
4576 2001-02-07  Sven Neumann  <sven@convergence.de>
4577
4578         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
4579         pango dimensions after painting the background. We used to draw
4580         gigantic flat boxes here.
4581
4582 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
4583
4584         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
4585         error introduced with earlier commit) (pointed out by
4586         Ollie Lho)
4587
4588 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
4589
4590         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
4591         which are no longer necessary.
4592
4593 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
4594
4595         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
4596
4597 2001-02-04  Tor Lillqvist  <tml@iki.fi>
4598
4599         * gdk/gdk.def
4600         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
4601         Provide dummy implementations.
4602
4603 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
4604
4605         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
4606
4607         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
4608         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
4609         deprecated this function.
4610
4611         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
4612         argument.
4613
4614 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
4615
4616         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
4617
4618 2001-02-03  Havoc Pennington  <hp@pobox.com>
4619
4620         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
4621         Mikael Hermansson with patch from Mikael (if there was a toggle
4622         start one after the first character in the range, this function
4623         was broken). Bug #50380
4624
4625 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
4626
4627         * configure.in: Remove confusing comment about X11.
4628
4629 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
4630
4631         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
4632         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
4633         
4634 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
4635
4636         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
4637         it breaks things on BSD. If you want to compile GTK+ with
4638         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
4639         when configuring, since GTK+ simply can't be "pure ANSI" 
4640         in the header files it uses. (#8170, Greg Hudson)
4641
4642 2001-02-02  Havoc Pennington  <hp@redhat.com>
4643
4644         * gtk/gtkwindow.c: docs
4645
4646         * gtk/gtkwidget.c: docs
4647         (gtk_widget_set_colormap): add a reference to the colormap
4648         (gtk_widget_get_default_colormap): add a reference to the colormap
4649
4650         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
4651
4652         * gtk/gtktextiter.c: docs
4653
4654         * gtk/gtkmain.c (gtk_propagate_event): docs
4655
4656         * gtk/gtkpaned.c (gtk_paned_get_position): docs
4657         (gtk_paned_set_position): docs
4658
4659         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
4660         sort interface, no implementation yet.
4661
4662         * demos/testpixbuf.c (new_testrgb_window): replace
4663         gtk_drawing_area_size() with gtk_widget_set_usize()
4664
4665         * demos/testpixbuf-drawable.c (main): ditto
4666         
4667         * gtk/testgtk.c: remove use of GtkStatusbarMsg
4668
4669         * gtk/gtktextbuffer.c: docs
4670
4671         * gtk/gtkstock.c: docs
4672
4673         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
4674
4675         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
4676
4677         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
4678         
4679         * gtk/gtkimage.c: add some docs in here
4680         (gtk_image_size_request): change name of
4681         gtk_widget_render_stock_icon
4682         (gtk_image_get_icon_set): don't dup returned string
4683         (gtk_image_get_icon_set): don't dup returned string
4684
4685         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
4686         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
4687         and gtkiconfactory.h functions
4688
4689         * gtk/gtkiconfactory.c: add some docs in here
4690
4691         * gtk/gtkmain.c (gtk_get_default_language): document
4692         (gtk_get_current_event): document
4693         (gtk_get_current_event_state): document
4694         (gtk_get_event_widget): document
4695
4696         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
4697
4698         * gtk/gtkcontainer.c: Add some documentation
4699         (gtk_container_add): give a more explanatory warning on adding an
4700         already-parented widget, this is kind of a FAQ and also a common
4701         typo that's easier to debug with a nice warning 
4702
4703         * gtk/gtkcellrenderertoggle.c
4704         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
4705         adding this, it's useless
4706         (gtk_cell_renderer_toggle_set_active): remove
4707         (gtk_cell_renderer_toggle_get_radio): add
4708
4709         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
4710         the NULL cell renderer, that doesn't make any sense to me. 
4711
4712         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
4713         demo code should never use deprecated features.
4714
4715         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
4716         code should never use deprecated features.
4717
4718         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
4719         gtk_widget_queue_clear_area deprecated
4720
4721         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
4722         deprecated
4723
4724         * gtk/gtklabel.h: mark gtk_label_get() deprecated
4725
4726         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
4727         a GdkImage deprecated, replaced by new consistently-named
4728         functions       
4729
4730         * gtk/gtkmain.h: Mark gtk_exit() deprecated
4731
4732         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
4733
4734         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
4735         deprecated
4736
4737         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
4738         so it won't appear in docs and confuse people.
4739
4740         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
4741
4742         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
4743         macros deprecated. (can't mark the type itself deprecated, since
4744         GtkProgressBar is not deprecated and we need the type decl to use
4745         GtkProgressBar)
4746
4747         * gtk/gtkpixmap.h: Mark deprecated
4748
4749         * gtk/gtkoldeditable.h: Mark deprecated
4750
4751         * gtk/gtklist.h: Mark deprecated
4752
4753         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
4754         for anything anymore.
4755
4756         * gtk/gtkctree.h: Mark deprecated
4757
4758         * gtk/gtkclist.h: Mark deprecated
4759
4760         * gtk/gtkpreview.h: Mark deprecated
4761
4762         * gtk/gtkpacker.h: Mark deprecated
4763
4764         * gtk/gtktipsquery.h: Mark deprecated
4765
4766         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
4767
4768         * gtk/gtkvruler.h: Add comment that it will move out of GTK
4769
4770         * gtk/gtkhruler.h: Add comment that it will move out of GTK
4771
4772         * gtk/gtkruler.h: Add comment that it will move out of GTK
4773
4774         * gtk/gtkgamma.h: Add comment that it will move out of GTK
4775
4776         * gtk/gtkcurve.h: Add comment that it will move out of GTK
4777
4778 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
4779
4780         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
4781         gdk_colormap_sync private since it was never exported
4782         in a header file.
4783
4784         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
4785         colormap->colors[] for StaticGray, StaticColor colormaps.
4786
4787         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
4788         was being used as if it was image->bits_per_pixel.
4789
4790         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
4791         for the image in the GdkImage structure since it isn't
4792         reconstructable, and we need it to handle packed types
4793
4794         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
4795         the assumption that on Win32 image->bits_per_pixel == image->depth,
4796         always.
4797
4798         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
4799
4800         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
4801         warning message if no converter can be found. 
4802
4803 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
4804
4805         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
4806         chars to isupper() / tolower(). (#567)
4807
4808         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
4809         to clear up 64-bit warnings. (#567)
4810
4811 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
4812
4813         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
4814         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
4815
4816         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
4817         since some people set $(libdir) separately. (#1290, David Kaelbling)
4818
4819 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
4820
4821         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
4822         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
4823         MAXPATHLEN, but the code here depends on a fixed value.)
4824         (#4524)
4825
4826 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
4827
4828         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
4829         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
4830
4831 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
4832
4833         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
4834         viewable there is no way that moving the node will cause the 
4835         focus row to become not viewable, so omit check on the visibility
4836         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
4837
4838 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
4839
4840         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
4841         selection before inserting new text.
4842
4843 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
4844
4845         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
4846         Make the sensitivity of the reparented child track that of
4847         the original parent menu item. (#34218, David Hodson)
4848
4849         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
4850         the case where the current item is destroyed properly.
4851
4852         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
4853         some edge cases with child-less menuitems.
4854         
4855 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
4856
4857         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
4858         key pop down window. (#12074, Jon K Hellan)
4859
4860 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
4861
4862         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
4863         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
4864         The solution here isn't perfect - you get an extraneous
4865         emission of "toggle", which could conceivably confuse an app,
4866         but better than the current situation. LXR search seems to
4867         indicate that no apps in GNOME CVS connect to "toggle".
4868
4869 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
4870
4871         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
4872         gtk_public_h_sources to directly here to avoid warning when
4873         building srcdir != builddir. (#9656)
4874
4875 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
4876
4877         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
4878         handlers in gtkrange.c return the proper values (TRUE == handled)
4879         (#10316).
4880
4881         This is just the tip of the iceberg, but gtkrange.c is the
4882         most common place where the propagation is problematical,
4883         and also a place where it is almost certainly safe to change
4884         this in the stable branch.
4885
4886         (You don't want right click popups on a range control or anything...)
4887
4888 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
4889
4890         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
4891         area on focus out, even if a background pixmap isn't set.
4892         (#13941)
4893         
4894 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
4895
4896         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
4897         to deal with setting the shape properly when scrolling arrows are
4898         turned on, but not visible because there is sufficient space.
4899         (#13432)
4900
4901 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
4902
4903         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
4904         items with submenus, destroy the item along with the submenu.
4905         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
4906         properly.
4907
4908         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
4909         later.
4910
4911 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
4912
4913         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
4914         the focus widget sometimes wasn't drawn with the default if there
4915         was no default widget.
4916
4917         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
4918         unreference pixmaps. 
4919
4920         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
4921         for some extra safety.
4922
4923 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
4924
4925         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
4926         the text of a cell to the old pointer value better, by
4927         copying the new text before freeing the old text. Some code
4928         cleanup. (#8079, Karl Nelson)
4929
4930 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
4931
4932         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
4933         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
4934
4935 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
4936
4937         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
4938         item from a menu, check to see if it matches 
4939         menu->old_active_menu_item, and if so, unref and clear
4940         old_active_menu_item (Patch from Pavel Cisler)
4941
4942         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
4943         menu_shell->active_menu_item, if it is the child being
4944         removed. (Patch based on that of Gene Ragan, #50337)
4945
4946 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
4947
4948         * gdk/linux-fb/gdkselection-fb.c: 
4949         * gdk/linux-fb/gdkcolor-fb.c: 
4950         * gdk/linux-fb/gdkdrawable-fb2.c: 
4951         * gdk/linux-fb/gdkfont-fb.c: 
4952         * gdk/linux-fb/gdkim-fb.c: 
4953         * gdk/linux-fb/gdkinput.c: 
4954         * gdk/linux-fb/gdkkeyboard-fb.c: 
4955         * gdk/linux-fb/gdkmain-fb.c: 
4956         * gdk/linux-fb/gdkrender-fb.c: 
4957         A bunch of whitespace cleanup.
4958         
4959 2001-01-30  Havoc Pennington  <hp@pobox.com>
4960
4961         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
4962         #ifdef GTK_ENABLE_BROKEN.
4963
4964         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
4965         GTK_ENABLE_BROKEN just before including the broken headers.
4966         
4967         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
4968         deprecated types registered.
4969
4970         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
4971         we have to test the broken stuff.
4972
4973         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
4974         
4975 2001-01-30  Havoc Pennington  <hp@redhat.com>
4976
4977         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
4978         here where prev pointer was set to the wrong thing
4979
4980         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
4981         (gtk_tree_path_is_descendant): new function
4982
4983         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
4984         cached length
4985         (gtk_list_store_get_iter): don't modify iter if we can't get the
4986         path.
4987
4988         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
4989         
4990         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
4991         GtkTreeDragDest
4992
4993         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
4994         was causing segfault
4995
4996         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
4997         pointer to NULL
4998
4999         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
5000
5001         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
5002         on returning FALSE
5003         (gtk_list_store_iter_children): ditto
5004         (gtk_list_store_iter_nth_child): ditto
5005         (gtk_list_store_iter_nth_child): ditto
5006         (gtk_list_store_iter_parent): ditto
5007
5008         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
5009         on iter->user_data != NULL instead of silently accepting it.
5010         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
5011         we are returning TRUE.
5012         (gtk_tree_store_iter_children): ditto
5013         (gtk_tree_store_iter_nth_child): ditto
5014         (gtk_tree_store_iter_parent): ditto
5015         (gtk_tree_store_insert): remove handling of parent->user_data ==
5016         NULL, replace with parent == NULL       
5017
5018         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
5019         and a comment explaining things
5020
5021         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
5022         interface support to GtkTreeStore.
5023
5024         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
5025         FALSE if no prev, fix
5026
5027         * gtk/gtktreeview.c (set_source_row): use a row reference
5028         (set_dest_row): use a row reference
5029
5030 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
5031
5032         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
5033         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
5034         (gtk_tree_selection_select_iter): The same as above.
5035
5036 2001-01-26  Havoc Pennington  <hp@redhat.com>
5037
5038         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
5039         which holds a handle to a specific row (particular set of values
5040         in the model, i.e. pointer-identity row).
5041
5042         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
5043         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
5044         Still need to use it for the src/dest row saved on the drag context.
5045
5046 2001-01-26  Havoc Pennington  <hp@redhat.com>
5047
5048         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
5049
5050         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
5051         not offset by TREE_VIEW_HEADER_HEIGHT
5052         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
5053         TREE_VIEW_HEADER_HEIGHT
5054
5055         * configure.in (included_loaders): for me, --with-included-loaders
5056         generates the error "the specified loader yes does not exist",
5057         i.e. the arg defaults to "yes", so change test for value ""
5058         to test for value "yes", and include all loaders in that case.
5059
5060         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
5061
5062         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
5063         handle TREE_VIEW_VERTICAL_SEPARATOR
5064         (gtk_tree_view_bin_expose): fix to consider the row offset as
5065         pointing halfway into vertical separator.       
5066         (gtk_tree_view_draw_node_focus_rect): ditto
5067
5068         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
5069         --gtk-debug=updates, which causes gdk_window_set_debug_updates
5070         (TRUE) to be called.
5071
5072         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
5073         debug mode where the invalid region is colored in on invalidate,
5074         so you can see the flicker and know whether your redraw code is 
5075         doing a good job.
5076
5077         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
5078         tree window coordinates (clip rect is in tree window coords)
5079
5080         * gtk/Makefile.am: add gtktreednd.[hc]
5081
5082         * gtk/gtkliststore.c: implement gtktreednd interfaces.
5083
5084         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
5085         drag-and-drop data operations on a model (so we can set up tree
5086         drag-and-drop automatically)
5087
5088         * gtk/testgtk.c: Add a window to change sensitivity in the
5089         GtkLabel test; add a way to change the entry frame in GtkEntry
5090         test
5091
5092         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
5093         (gtk_entry_get_has_frame): new functions to remove the frame
5094         around an entry
5095         (gtk_entry_size_request): shrink requisition if no frame
5096         (gtk_entry_draw_focus): don't draw frame if no frame
5097
5098         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
5099         checks inside a cell renderer
5100         (gtk_default_draw_option): ditto for options
5101
5102         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
5103         children from the alignment, not the button
5104         (gtk_tree_view_column_init): ref/sink the column, to emulate
5105         GObject refcounting.
5106
5107         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
5108         
5109         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
5110         Use theme functions to draw the toggles 
5111
5112         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
5113
5114         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
5115         GdkPangoAttrEmbossed to use in rendering insensitive text
5116
5117         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
5118
5119         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
5120         using new GDK features
5121         
5122 2001-01-24  Alexander Larsson  <alexl@redhat.com>
5123
5124         * gtk/gtkimage.c:
5125         Splitted gtk_image_clear into gtk_image_clear() and
5126         gtk_image_reset(). Call gtk_image_clear() in ::destroy
5127         to avoid leaks.
5128
5129         * gtk/gtklabel.c (set_markup):
5130         Don't leak text.
5131
5132         * gtk/gtktextlayout.c:
5133         Always free display->shaped_objects.
5134
5135         * gtk/testgtk.c (create_clist):
5136         Don't leak custom style.
5137
5138 2001-01-23  Alexander Larsson  <alexl@redhat.com>
5139
5140         * gtk/gtkcolorsel.c (grab_color_at_mouse):
5141         Don't leak image. Simplify using gdk_colormap_query_color().
5142         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
5143
5144         * linux-fb/gdkcolor-fb.c:
5145         Implemented gdk_colormap_query_color.
5146
5147 2001-01-23  Alexander Larsson  <alexl@redhat.com>
5148
5149         * linux-fb/gdkcursor-fb.c:
5150         Don't leak built-in cursors.
5151
5152         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
5153         Don't leak tmp_points.
5154
5155         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
5156         Don't modify desc. Don't leak font if the PangoFont
5157         isn't found.
5158         
5159         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
5160         Free dash_list.
5161
5162         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
5163         Don't leak string.
5164         
5165 2001-01-20  Havoc Pennington  <hp@pobox.com>
5166
5167         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
5168         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
5169         me, matches Pango
5170
5171 2001-01-22  Havoc Pennington  <hp@redhat.com>
5172
5173         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
5174
5175         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
5176
5177         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
5178         Remove, move back to gdk-pixbuf
5179
5180         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
5181         to all the word functions
5182
5183         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
5184         before doing anything on NULL layout or if we don't have the focus
5185
5186         * gtk/testtext.c (fill_example_buffer): "justification"
5187
5188         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
5189         to be called "justification" not "justify"
5190
5191         * demos/gtk-demo/textview.c (create_tags): "justification"
5192         
5193         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
5194
5195 2001-01-22  Alexander Larsson  <alexl@redhat.com>
5196
5197         * gdk/gdkwindow.c (gdk_window_invalidate_region):
5198         Don't leak visible_region. Use visible_region instead of region.
5199         
5200         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
5201         Don't do extra gdk_drawable_ref(). This is not X.
5202         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
5203         gdk_fb_focused_window is ref:ed.
5204         (gdk_fb_window_send_crossing_events): Watch out for destroyed
5205         windows.
5206
5207 2001-01-22  Alexander Larsson  <alexl@redhat.com>
5208
5209         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
5210         Don't leak the PangoFontDescriptor.
5211
5212 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
5213
5214         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
5215         when not realized.
5216         (gtk_tree_view_scroll_to_cell): Make work when not realized.
5217         (gtk_tree_view_realize): add scroll_to support
5218         (gtk_tree_view_finalize): add a finalize method.  Populate.
5219         (gtk_tree_view_insert_column): ref and sink the column.
5220         (gtk_tree_view_append_column): ref and sink the column.
5221         (gtk_tree_view_queue_draw_node): New function to handle redrawing
5222         individual nodes.  Should make the code much more efficient, if
5223         actually used.
5224
5225 2001-01-19  Havoc Pennington  <hp@redhat.com>
5226
5227         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
5228         byte_offset variable was being used to mean both "offset into
5229         layout" and "offset into buffer line" which was no longer true
5230         with addition of preedit string; fix
5231
5232 2001-01-19  Havoc Pennington  <hp@redhat.com>
5233
5234         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
5235
5236         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
5237         function
5238
5239         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
5240         implement
5241
5242         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
5243         scroll_to_cell, matches TextView scroll functions better
5244         (gtk_tree_view_tree_to_widget_coords): new function
5245         (gtk_tree_view_widget_to_tree_coords): new function
5246         (gtk_tree_view_get_visible_rect): new function
5247         (gtk_tree_view_get_path_at_pos): accept negative coordinates
5248         (gtk_tree_view_draw_node_focus_rect): new function moved from
5249         draw_focus, also, use width of bin_window as width of the focus
5250         rect
5251         (gtk_tree_view_expand_row): fix bug where it didn't recognize
5252         already-expanded rows
5253         (gtk_tree_view_get_cell_rect): new function
5254         (gtk_tree_view_get_path_at_pos): return the click position
5255         relative to the passed-in cell
5256         (gtk_tree_view_set_expander_column): new function
5257
5258         * configure.in: remove gtk-config-2.0 chmod
5259
5260         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
5261         and properly handle drags with targets we don't understand
5262         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
5263         scrolling anyway
5264         (gtk_text_view_drag_drop): stop scrolling here though, and set the
5265         mark invisible
5266
5267         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
5268         function
5269         (gtk_drag_dest_get_target_list): new function
5270         (gtk_drag_dest_set_target_list): new function
5271         
5272         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
5273
5274         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
5275         related to drag-and-drop
5276
5277 2001-01-19  Alexander Larsson  <alexl@redhat.com>
5278
5279         * gdk/linux-fb/gdkprivate-fb.h:
5280         Define EMULATE_GDKFONT.
5281         Add extra pango_font stuff to GfkFontPrivate.
5282         
5283         * gdk/linux-fb/gdkdrawable-fb2.c:
5284         * gdk/linux-fb/gdkfont-fb.c:
5285         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
5286         emulation using PangoFont.
5287
5288 2001-01-17  Havoc Pennington  <hp@pobox.com>
5289
5290         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
5291         all the non-deprecated set_foo functions. Added missing object
5292         properties, and added g_object_notify() to setters. 
5293         Wrote docs.
5294         
5295 2001-01-18  Tor Lillqvist  <tml@iki.fi>
5296
5297         * gtk/gtkmain.c
5298         * gtk/gtkrc.c: (Win32) Use the new
5299         g_win32_get_package_installation_(sub)directory() functions.
5300
5301         * config.h.win32.in: New file.
5302         
5303         * config.h.win32: Removed.
5304
5305         * configure.in: Output config.h.win32.
5306
5307         * Makefile.am: Add it to EXTRA_DIST.
5308
5309         * gtk/gtk.def: Update.
5310
5311 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
5312
5313         * gtk/gtklabel.c (gtk_label_size_request): Set the
5314         attributes onto the PangoLayout even if they are newly
5315         created from label->pattern.
5316
5317 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
5318
5319         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
5320
5321         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
5322         structures in functions. Fixes bug where gtk_dataset_*
5323         was accidentally still being used in one place, causing
5324         every dest side event to be treated independently.
5325
5326         * gtk/gtkdnd.c: Remove last vestages of handling
5327         ::draw (fixes warning)
5328         
5329         * gtk/gtkentry.[ch]: Add drag and drop support.
5330
5331         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
5332         new function gtk_check_drag_threshhold() for checking
5333         to check if (dx,dy) has exceeded the threshhold for starting
5334         a drag and use it everywhere.
5335
5336 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
5337
5338         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
5339         add -I{includedir}/gtk-2.0.
5340
5341         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
5342         gdk/gdk-pixbuf.h: Doc fixups.
5343         
5344         * gtk/gtkobject.h: Remove trailing , from enum
5345
5346 2001-01-17 Alexander Larsson <alexl@redhat.com> 
5347
5348         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
5349         Doh! Mixed up x and y.
5350
5351         * gdk/linux-fb/gdkglobals-fb.c:
5352         Removed gdk_fb_pointer_grab_window_events,
5353         added _gdk_fb_pointer_grab_owner_events and
5354         _gdk_fb_keyboard_grab_owner_events.
5355
5356         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
5357         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
5358         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
5359         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
5360         Send crossing events after ungrab finished.
5361         (gdk_keyboard_grab): Set ..._owner_events
5362         (type_masks): Move out of function.
5363         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
5364         gdk_fb_keyboard_event_window): New functions, return the
5365         window an event should be targeted at. Handles grabs and
5366         event propagation. Can return NULL.
5367         (gdk_event_make): Remove event_mask checking. Now always
5368         returns an event.
5369                 
5370         * gdk/linux-fb/gdkkeyboard-fb.c:
5371         * gdk/linux-fb/gdkproperty-fb.c:
5372         * gdk/linux-fb/gdkselection-fb.c:
5373         Use new event_window/gdk_event_make() behaviour.
5374         
5375         * gdk/linux-fb/gdkmouse-fb.c:
5376         Use new event_window/gdk_event_make() behaviour.
5377         Only send motion events if in the same window.
5378         If grabbed, use cursor from window if sibling of grabbed
5379         window, and cursor from grabbed window otherwise.
5380
5381         * gdk/linux-fb/gdkprivate-fb.h:
5382         Update gdk_fb_window_send_crossing_events, gdk_event_make
5383         and grab varaible declarations. Add gdk_fb_*_event_window().
5384
5385         * gdk/linux-fb/gdkwindow-fb.c:
5386         Use new event_window/gdk_event_make() behaviour.
5387         Keep correct track of focus window.
5388         (gdk_window_set_events): Set all specific button motion masks
5389         if GDK_BUTTON_MOTION_MASK set.
5390
5391         * gtk/gtkdnd.c (gtk_drag_update):
5392         Free info->last_event if gdk_drag_motion returned FALSE.
5393
5394 2001-01-16  Tor Lillqvist  <tml@iki.fi>
5395
5396         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
5397         Eliminate redraws when input-only windows are shown or
5398         hidden. Thanks to jpe@archaeopteryx.com.
5399
5400 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
5401
5402         * docs/faq/gtk-faq.sgml: FAQ update:
5403           - Update to bugzilla
5404           - Add GTK+ and security/SUID/SGID
5405           - Add DnD question
5406
5407 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
5408
5409         * gdk/linux-fb/gdkdnd-fb.c:
5410         Some cleanups.
5411         
5412 2001-01-15  Havoc Pennington  <hp@pobox.com>
5413
5414         * tests/testtreeview.c: add test stuff for CellRendererToggle
5415
5416         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
5417         accessor
5418
5419         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
5420         only toggle on button press (would do release like GtkButton, but
5421         we'd need implicit grab code for treeview cells)
5422
5423 2001-01-16  Tor Lillqvist  <tml@iki.fi>
5424
5425         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
5426
5427         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
5428         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
5429
5430         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
5431         to g_{locale,filename}_{to,from}_utf8 to match current API.
5432
5433         * gtk/makefile.msc.in (gtk_OBJECTS)
5434         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
5435
5436         * gtk/gtk.def: Update.
5437
5438 2001-01-15  Tor Lillqvist  <tml@iki.fi>
5439
5440         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
5441         implementaion that more closely mimics the events that an X server
5442         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
5443         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
5444         with nested preview widgets, for instance, more responsive when
5445         you move the mouse quickly into them.
5446         (find_window_for_pointer_event): Make it actually compile.
5447         (gdk_event_translate): Set send_event to the value of
5448         InSendMessage (). This doesn't really mean the same as X11's
5449         send_event flag, but is close enough, says jpe@archaeopteryx.com
5450
5451 2001-01-15  Alexander Larsson  <alexl@redhat.com>
5452
5453         * gdk/linux-fb/gdkdnd-fb.c:
5454         Implemented drag and drop.
5455         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
5456         when it tries to free and then copy the same event (info->last_event).
5457         I am not sure about why this happens, but will continue looking.
5458
5459 2001-01-15  Alexander Larsson  <alexl@redhat.com>
5460
5461         * gdk/linux-fb/gdkwindow-fb.c:
5462         Use gdk_window_invalidate_rect instead of
5463         gdk_window_invalidate_rect_clear to minimise flashing.
5464         When hiding windows you need to clear the root window though.
5465
5466 2001-01-15  Alexander Larsson  <alexl@redhat.com>
5467
5468         * gdk/linux-fb/gdkdrawable-fb2.c:
5469         For optization, add an full_shapes argument to gdk_fb_clip_region.
5470         If this is false, only the cliprects of the shapes are used.
5471
5472         * gdk/linux-fb/gdkprivate-fb.h:
5473         Export gdk_fb_window_peek_shape.
5474         Add full_shapes to gdk_fb_clip_region.
5475
5476         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
5477         When moving a window, don't clear everything under the it, just the
5478         root window. Makes stuff faster and flash less.
5479         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
5480         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
5481         offset of the shape.
5482         
5483
5484 2001-01-12  Havoc Pennington  <hp@redhat.com>
5485
5486         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
5487         current invalid region, fixes redraw bug while scrolling the 
5488         text widget
5489
5490         * gtk/gtktextview.c, gtk/gtktextview.h:
5491         Rearrange the scrolling/validation/etc. code in a major way, 
5492         so it seems to make sense to me. Probably isn't genuinely that
5493         much better, but...
5494
5495         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
5496         notifies
5497
5498         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
5499
5500 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
5501
5502         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
5503         Hide mouse pointer while rotation. Show it afterwards.
5504
5505 2001-01-12  Alexander Larsson  <alexl@redhat.com>
5506
5507         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
5508         windows in consideration when generating clip region.
5509
5510         * gdk/linux-fb/gdkfb.h:
5511         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
5512
5513         * gdk/linux-fb/gdkprivate-fb.h:
5514         Add shape to GdkWindowFBDatat.
5515         exported gdk_fb_window_get_abs_shape().
5516         removed gdk_fb_draw_lines declaration.
5517
5518         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
5519         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
5520         send focus changes when there is a grabbed window.
5521         (gdk_window_get_pointer): Handle shaped windows.
5522         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
5523         (gdk_fb_window_peek_shape): Returns the shape for a window,
5524         handles GDK_FB_USE_CHILD_SHAPE.
5525         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
5526         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
5527         (gdk_window_shape_combine_mask): Implement.
5528
5529         * gtk/gtkwindow-decorate.c:
5530         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
5531         setting the shape of a window makes the window transparent.
5532
5533 2001-01-11  Havoc Pennington  <hp@redhat.com>
5534
5535         * gtk/gtktreemodelsimple.h: Oops, broke some macros
5536
5537 2001-01-10  Havoc Pennington  <hp@redhat.com>
5538
5539         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
5540         add this function, bug 40251
5541
5542         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
5543         of type macro   
5544
5545 2001-01-11  Alexander Larsson  <alexl@redhat.com>
5546
5547         * acconfig.h:
5548         Added ENABLE_SHADOW_FB
5549
5550         * configure.in:
5551         Added --disable-shadowfb
5552
5553         * gdk/linux-fb/gdkcursor-fb.c:
5554         Update shadowfb when updating cursor
5555
5556         * gdk/linux-fb/gdkdrawable-fb2.c:
5557         Added wrappers for shadowfb that calls  the normal drawable
5558         methods, but calls gdk_shadow_fb_update(bounding box) when
5559         GdkWindows are drawed to.
5560         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
5561         which also returns the bounding box.
5562
5563         * gdk/linux-fb/gdkfb.h:
5564         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
5565
5566         * gdk/linux-fb/gdkgeometry-fb.c:
5567         Update shadowfb when scrolling window.
5568
5569         * gdk/linux-fb/gdkglobals-fb.c:
5570         Add _gdk_fb_screen_angle.
5571         
5572         * gdk/linux-fb/gdkkeyboard-fb.c:
5573         Test code for screen rotation. Shift-F2 in the xlate driver
5574         rotates the screen.
5575
5576         * gdk/linux-fb/gdkmain-fb.c:
5577         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
5578
5579         * gdk/linux-fb/gdkmouse-fb.c:
5580         Use fb_width/height instead of modeinfo.xres/yres.
5581
5582         * gdk/linux-fb/gdkprivate-fb.h:
5583         Added fb_men, fb_width, fb_height & fb_stride. When using
5584         shadow fb these can differ from the framebuffer stuff.
5585         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
5586         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
5587         _gdk_fb_screen_angle. Removed CM, RP.
5588
5589         * gdk/linux-fb/gdkrender-fb.c:
5590         Added code for shadowfb handling and screen rotation using
5591         shadowfb.
5592
5593         * gdk/linux-fb/gdkwindow-fb.c:
5594         Use fb_mem, fb_stride, fb_width, fb_height.
5595         Added recompute_rowstride to reset the rowstride of all windows.
5596         Added gdk_fb_recompute_all() which recomputes rootwindow size,
5597         window abs positions and window rowstrides. Usefull when the
5598         rotation has changed.
5599
5600 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
5601
5602         * docs/faq/gtk-faq.sgml: update to make web site updating easier
5603
5604 2001-01-10  Havoc Pennington  <hp@redhat.com>
5605
5606         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
5607         where sibling == iter
5608         (gtk_tree_store_insert_after): handle sibling == iter
5609         (gtk_tree_store_prepend): remove stamp checks
5610         (gtk_tree_store_insert_before): ditto
5611         (gtk_tree_store_append): ditto
5612         (gtk_tree_store_get_path): ditto
5613         (gtk_tree_store_get_value): ditto
5614         (gtk_tree_store_iter_has_child): ditto
5615         (gtk_tree_store_iter_n_children): ditto
5616         (gtk_tree_store_iter_nth_child): ditto
5617         (gtk_tree_store_insert_after): ditto
5618         (gtk_tree_store_is_ancestor): ditto
5619         (gtk_tree_store_iter_depth): ditto
5620         (gtk_tree_store_insert_before): assert that sibling's parent is
5621         the same as the passed-in parent
5622         (gtk_tree_store_insert_after): assert that sibling's parent is
5623         the same as the passed-in parent
5624
5625         
5626         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
5627         function to get the first iterator in a model
5628         
5629         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
5630         conventionally the "root" in this sense is just NULL afaict.
5631
5632         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
5633         where sibling == iter
5634         (gtk_list_store_insert_after): handle case where sibling == iter
5635
5636         * tests/testtreeview.c (run_automated_tests): fairly lame basic
5637         automated tests for ListStore, TreeStore
5638
5639         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
5640         (gtk_list_store_insert): update tail pointer, and fix it to work
5641         (gtk_list_store_insert_before): update tail pointer, and fix it to work
5642         (gtk_list_store_append): use tail to be faster
5643         (gtk_list_store_prepend): fix it, update tail pointer
5644         (gtk_list_store_insert_after): fix it, update tail pointer
5645
5646         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
5647         the list
5648
5649 2001-01-09  Havoc Pennington  <hp@redhat.com>
5650
5651         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
5652         is NULL due to a pending resize
5653
5654         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
5655         column width to values less than 1
5656
5657         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
5658         width to be between min/max width, and still set the width 
5659         even if autosize is turned on, so the tree view can use this 
5660         function in order to autosize.
5661         (gtk_tree_view_column_init): set initial width to 1 not 0
5662
5663         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
5664         setter function to modify column width, so we get notification
5665         (gtk_tree_view_insert_iter_height): ditto
5666         (gtk_tree_view_calc_size): ditto
5667         (gtk_tree_view_check_dirty): ditto
5668
5669         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
5670         properties to change all the interesting attributes of the tree
5671         view column.
5672         (gtk_tree_view_column_set_header_clickable): rename set_clickable
5673         (gtk_tree_view_column_get_clickable): add
5674         (gtk_tree_view_column_set_cell_renderer): don't unset the current
5675         attributes; assume a cell renderer with equivalent object
5676         properties has been swapped in. Do g_object_notify().
5677         (gtk_tree_view_column_set_visible): g_object_notify
5678         (gtk_tree_view_column_get_sizing): rename from get_col_type
5679         (gtk_tree_view_column_set_sizing): g_object_notify
5680         (gtk_tree_view_column_set_width): add g_object_notify
5681         (gtk_tree_view_column_set_min_width): ditto
5682         (gtk_tree_view_column_set_max_width): ditto
5683         (gtk_tree_view_column_set_title): ditto
5684         (gtk_tree_view_column_set_clickable): ditto
5685         (gtk_tree_view_column_set_widget): ditto
5686         (gtk_tree_view_column_set_justification): ditto
5687
5688 2001-01-09  Havoc Pennington  <hp@redhat.com>
5689
5690         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
5691         there are no rows in the model
5692
5693         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
5694         NULL, then return the start of the list
5695
5696         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
5697         if we can't get any rows from an empty model 
5698
5699         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
5700         extraneous * after function pointer typedef usage
5701
5702         * Makefile.am: don't specify full path to cp and rm
5703
5704         * gtk/gtkcellrenderertextpixbuf.c
5705         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
5706         NULL before dereferencing, fixes a segfault that happened from
5707         time to time
5708
5709         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
5710         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
5711         and reindent the function
5712         (gtk_cell_renderer_pixbuf_get_size): indentation
5713
5714         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
5715         we quit it
5716         (gtk_dialog_add_buttons_valist): add g_return_if_fail
5717         (gtk_dialog_set_default_response): New function, to set default
5718         button
5719         (gtk_dialog_set_response_sensitive): New function, to set 
5720         sensitivity of buttons
5721
5722         * gtk/gtkcellrendererpixbuf.c
5723         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
5724         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
5725
5726         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
5727         handle any G_TYPE_OBJECT subclass, not just the base class, and 
5728         also boxed types.
5729         (_gtk_tree_data_list_value_to_node): ditto
5730
5731         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
5732         --gtk-debug=tree
5733
5734         * gtk/gtkmain.c: add GTK_DEBUG_TREE
5735
5736         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
5737
5738 2001-01-09  Tor Lillqvist  <tml@iki.fi>
5739
5740         * gdk/win32/gdkevents-win32.c: Implement better mouse
5741         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
5742         (find_window_for_pointer_event): New function.
5743         (gdk_event_translate): Use it when handling mouse events.
5744
5745 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
5746
5747         * configure.in:
5748         Added --with-included-loaders option
5749
5750         * gdk-pixbuf/Makefile.am:
5751         * gdk-pixbuf/gdk-pixbuf-io.c:
5752         Add support for including selected gdk-pixbuf loaders only.
5753
5754         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
5755         gtk_window_set_has_frame):
5756         Added inline documentation.
5757
5758         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
5759         * docs/reference/gdk/tmpl/windows.sgml:
5760         Added inline documentation.
5761
5762 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
5763
5764         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
5765         realizing buttons that have already been realized.
5766
5767 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
5768
5769         * tests/testtreeview.c (main): Show menu items before adding to
5770         option menu.
5771
5772         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
5773         around if we kill them.
5774
5775         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
5776         Return if we pass in a NULL model.
5777
5778 2001-01-08  Havoc Pennington  <hp@redhat.com>
5779
5780         * tests/testtreeview.c: hack on this some
5781
5782         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
5783         gtk_tree_store_set_valist, v is for arrays, valist for varargs
5784         list
5785         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
5786
5787         * gtk/gtkliststore.h: Add varargs set() and get() convenience
5788         functions
5789
5790 2001-01-08  Alexander Larsson  <alexl@redhat.com>
5791
5792         * gtk/gtkwindow-decorate.[hc]:
5793         * gtk/Makefile.am:
5794         New files. Contains an implementation of a minimal WM for
5795         linux-fb.
5796
5797         * gtk/gtkwindow.h:
5798         Add the possibility for GtkWindows to specify a frame. This
5799         is used for the window decoration code, but could concievably
5800         be used for X programs too (xmms style windows).
5801         GtkWindow->frame is the toplevel window if the window is framed.
5802         The signal frame_event gets all events that are targeted to
5803         GtkWindow->frame.
5804         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
5805         
5806         * gtk/gtkwindow.c:
5807         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
5808         Call out to gtkwindow-decorate.c for WM support in linx-fb.
5809
5810 2001-01-08  Alexander Larsson  <alexl@redhat.com>
5811
5812         * docs/README.linux-fb:
5813         Correct filename ~/.pangoft2_aliases
5814
5815         * gdk/gdkwindow.h:
5816         Added new function gdk_window_get_decorations.
5817
5818         * gdk/linux-fb/gdkfb.h:
5819         Removed _gdk_window_get_decorations declaration.
5820         Renamed _gdk_window_set_child_handler to
5821         gdk_fb_window_set_child_handler.
5822
5823         * gdk/linux-fb/gdkwindow-fb.c:
5824         Renamed _gdk_window_set_child_handler to
5825         gdk_fb_window_set_child_handler.
5826
5827         * gdk/x11/gdkwindow-x11.c:
5828         New function gdk_window_get_mwm_hints().
5829         Implemented gdk_window_get_decorations.
5830
5831         * docs/reference/gdk/tmpl/windows.sgml:
5832         * docs/reference/gdk/gdk-sections.txt:
5833         Added gdk_window_get_decorations docs.
5834         
5835 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
5836
5837         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
5838         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
5839         gdk_fb_window_send_crossing_events):
5840         Possibly send focus events when the mouse moves from one
5841         window to another.
5842
5843 2001-01-07  Tor Lillqvist  <tml@iki.fi>
5844
5845         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
5846         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
5847         to match current API.
5848
5849         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
5850         environment variable is set, don't call g_error when on a
5851         palettized (PseudoColor) display. Some people want to use GTK+ 
5852         in 256-colour mode even though works only partially.
5853
5854         * gdk/gdk.def
5855         * gtk/gtk.def
5856         * gtk/makefile.mingw.in: Update.
5857
5858 2001-01-05  Havoc Pennington  <hp@redhat.com>
5859
5860         * tests/testtreeview.c: hack on this a bit
5861
5862         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
5863         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
5864
5865         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
5866         was spelled incorrectly
5867         (GTK_IS_TREE_MODEL_SIMPLE): ditto
5868
5869         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
5870         from gtk_tree_view_set_headers_active   
5871
5872         * gtk/gtktexttag.c:
5873         (gtk_text_tag_get_property): handle PROP_DIRECTION
5874         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
5875         properties, bug 40235
5876
5877         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
5878         forward_to_line_end
5879
5880 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
5881
5882         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
5883         modules/input/gtkimcontextxim.c: Adapt to new prototypes
5884         for unicode,locale,filename conversion functions.
5885
5886 2001-01-05  Havoc Pennington  <hp@redhat.com>
5887
5888         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
5889         broken if called on the first position in the buffer.
5890
5891         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
5892         forward_to_delimiters to be called only if we aren't already at
5893         the delimiters.
5894
5895 2001-01-05  Havoc Pennington  <hp@redhat.com>
5896
5897         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
5898
5899 2001-01-05  Alexander Larsson  <alexl@redhat.com>
5900
5901         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
5902         colormap in here. Sync from X port.
5903         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
5904         Sync from X port.
5905         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
5906         This happens now and then, and i don't think it is a bug.
5907         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
5908         != endpoint.
5909         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
5910         GDK_LINE_SOLID.
5911
5912         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
5913         some of the fields filled in at least.
5914
5915         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
5916         miLineArcD is no more, remove it from the function definition.
5917
5918 2001-01-04  Havoc Pennington  <hp@redhat.com>
5919
5920         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
5921         this
5922
5923         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
5924         user_data instead of tree_node
5925
5926         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
5927         TREE_VIEW_COLUMN_SIZE
5928
5929         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
5930         "size" field to "width" finishes bug 40061
5931
5932         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
5933         for bitfields, bug 40268
5934
5935 2001-01-04  Havoc Pennington  <hp@redhat.com>
5936
5937         Rename some stuff:
5938         
5939         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
5940
5941         s/GtkModelSimple/GtkTreeModelSimple/g;
5942         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
5943         s/gtk_model_simple/gtk_tree_model_simple/g;
5944         s/gtkmodelsimple/gtktreemodelsimple/g;
5945
5946         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
5947
5948         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
5949         s/column_set_col_type/column_set_sizing/g;
5950
5951         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
5952         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
5953
5954         s/GtkCellRendererType/GtkCellRendererState/g;
5955         
5956         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
5957         (gtk_cell_renderer_toggle_class_init): change "state" property to
5958         "active", to match GtkToggleButton
5959         (gtk_cell_renderer_toggle_get_active): new function, bug
5960         40269
5961         (gtk_cell_renderer_toggle_set_active): new function
5962         (gtk_cell_renderer_toggle_set_property): route changes to toggle
5963         state through gtk_cell_renderer_set_active
5964
5965 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
5966
5967         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
5968         temporarily until they work again.  Brought up to date with
5969         changes in the model.
5970         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
5971         model.
5972
5973 2001-01-04  Havoc Pennington  <hp@redhat.com>
5974
5975         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
5976         equal to the line length, then position iterator before paragraph 
5977         separators. Fixes crash reported by Mikael Hermansson when
5978         pressing left arrow from the start of a line.   
5979
5980         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
5981         about byte indexes off the end
5982         (iter_set_from_char_offset): add g_error about char offsets
5983         off the end
5984
5985 2001-01-03  Havoc Pennington  <hp@redhat.com>
5986
5987         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
5988
5989         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
5990         of private functions; remove inclusion of private headers.
5991
5992         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
5993         function, so we don't need private functions in gtktextdisplay.c
5994
5995         * gtk/gtktextiterprivate.h: underscore-ification
5996
5997         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
5998         to instead say "only useful to implement widgets"
5999
6000         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
6001         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
6002         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
6003
6004         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
6005         This function was completely broken
6006
6007         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
6008
6009         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
6010
6011         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
6012
6013         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
6014
6015         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
6016
6017         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
6018
6019         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
6020         gtk_paint_layout
6021
6022         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
6023         gtk_paint_layout
6024
6025         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
6026         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
6027         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
6028         which were not implemented.     
6029
6030         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
6031         insert_pixbuf signal. Rename delete_text to delete_range since it
6032         also deletes pixbufs and child anchors. This almost closes bug
6033         40245 (still need to deal with child anchors)
6034
6035         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
6036         insert_pixbuf, change signal names as appropriate, change types of
6037         signals taking marks/tags to have the specific type, not just
6038         G_TYPE_OBJECT
6039         
6040         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
6041         closes bug 40051
6042
6043         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
6044         unnecessary remove_contents() call
6045         (gtk_option_menu_class_init): add a "changed" signal, closes
6046         bug 40039
6047         (gtk_option_menu_update_contents): emit "changed" if the 
6048         active menu item changes
6049
6050         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
6051         cast to GtkObject, reported by Jonas Borgstrom
6052         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
6053         we can't do stuff with side effects in finalize. Instead, spew a
6054         warning if the loader isn't closed.
6055
6056         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
6057         colormap in here, non-X ports probably need to sync to this change
6058
6059         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
6060         assertion that colormap != NULL, you can set the colormap to NULL
6061         if you like.
6062         
6063         * Makefile.am: remove gtk-config-2.0
6064
6065         * configure.in: Use pkg-config to locate GLib. Remove
6066         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
6067         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
6068         Use pkg-config to locate Pango. Output correct Pango libs to
6069         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
6070
6071         * Makefile.am (pkgconfig_DATA): install only target-specific pc
6072         files
6073         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
6074         X11 pc files
6075
6076         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
6077         unref from here
6078
6079 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
6080
6081         * configure.in:
6082         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
6083
6084 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
6085
6086         * gtk/gtktextlayout.c
6087         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
6088         variable when moving back onto a single line.
6089
6090 2001-01-01  Havoc Pennington  <hp@redhat.com>
6091
6092         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
6093
6094         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
6095
6096         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
6097         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
6098
6099 2001-01-01  Havoc Pennington  <hp@redhat.com>
6100
6101         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
6102
6103         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
6104         GtkTextAttributes
6105
6106         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
6107         #40246
6108         (gtk_text_attributes_copy_values): rename from 
6109         gtk_text_attributes_copy
6110         (gtk_text_attributes_copy): a more standard GTK copy function, 
6111         which returns a new object
6112
6113 2001-01-01  Havoc Pennington  <hp@redhat.com>
6114
6115         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
6116         
6117         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
6118         don't fill in tree_view->priv->selection, kind of an unexpected
6119         side effect
6120
6121         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
6122         gtkintl.h
6123         
6124         * gtk/gtkcellrenderer.c: Remove definition of _ and include
6125         gtkintl.h
6126         (gtk_cell_renderer_get_property): remove calls to g_value_init
6127
6128         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
6129         gtkintl.h
6130
6131         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
6132         and include gtkintl.h
6133         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
6134         property names
6135
6136         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
6137         GtkTreeSelection
6138         (_gtk_tree_selection_new_from_with_view): rename, return
6139         GtkTreeSelection
6140         (_gtk_tree_selection_set_tree_view): rename with uscore
6141         (gtk_tree_selection_get_selected): fill in the "model" out param
6142         first, so it gets filled in even if we return at the top of the 
6143         function
6144         (gtk_tree_selection_real_select_all): add a comment and an else{}
6145         to clarify this a bit
6146         (gtk_tree_selection_real_unselect_all): add the same else{}
6147
6148         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
6149         set_tree_view to have underscore prefixes, move them to the
6150         private header, fix return type of new_with_tree_view
6151         (struct _GtkTreeSelection): mark struct
6152         fields private  
6153
6154         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
6155         GtkTreeModelFlags, not a guint
6156         (gtk_tree_path_prev): return gboolean not gint
6157         (gtk_tree_path_up): return gboolean not gint
6158
6159         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
6160         return GtkTreeModelFlags, not a guint
6161
6162         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
6163         that child model is non-null before unrefing it
6164         (g_value_int_compare_func): make this a qsort compare func, not 
6165         a boolean predicate
6166
6167         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
6168         (add -umn to the end), and mark it unimplemented
6169         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
6170         I don't see what it's for - doesn't the model always sort itself?
6171         (gtk_tree_model_sort_set_compare): this had the wrong signature
6172
6173         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
6174         Fix the docs to say that it destructively replaces existing
6175         attributes (previously said that it added attributes).
6176         (gtk_tree_view_column_set_visible): canonicalize bool before
6177         equality testing. Also, check for realization before
6178         hiding/showing the tree_column->window; if this window could exist
6179         before realization, then it's busted and needs fixing, we can't 
6180         create GDK resources pre-realization. Also, remove
6181         superfluous queue_resize(), since set_size() does that for us.
6182         (gtk_tree_view_column_set_col_type): check realization before 
6183         using tree_column->window
6184
6185         * gtk/gtktreedatalist.c: fix filename in copyright notice
6186
6187 2000-12-31  Havoc Pennington  <hp@pobox.com>
6188
6189         * gtk/gtktextview.c: Rearrange all the
6190         scroll-while-dragging-or-selecting code to be different, not
6191         necessarily better. ;-)
6192         (gtk_text_view_scroll_to_mark): Change this
6193         function to take within_margin as a fraction instead of a pixel
6194         value, and to take alignment arguments (indicating where to align 
6195         the mark inside the visible area)
6196         
6197         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
6198         to GtkObject
6199
6200         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
6201         behavior so that offsets past the end of the line are not 
6202         allowed, and an offset equal to the line length moves the iterator
6203         to the next line
6204         (gtk_text_iter_set_line_index): make parallel change
6205         (gtk_text_iter_get_bytes_in_line): add this function
6206         
6207         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
6208         of byte indexes off the end of the line; byte index at the end of
6209         the line now returns FALSE and doesn't fill in the requested
6210         values, byte index past the end of the line is an error.  Also,
6211         don't allow -1 offset anymore, since its meaning is unclear.
6212
6213         This change exposes some bug in visual cursor motion, where we
6214         end up with a huge invalid byte index; needs fixing. Symptom of 
6215         bug is a crash when you hit up arrow.
6216         
6217         (_gtk_text_line_char_locate): match the change to byte_locate
6218
6219         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
6220         from start of line properly. fixes bug reported by Mikael
6221         Hermansson where backspace would delete all text before the
6222         cursor.
6223
6224 2000-12-30  Tor Lillqvist  <tml@iki.fi>
6225
6226         * gdk/win32/gdkwindow-win32.c
6227         (gdk_window_impl_win32_get_visible_region): New function, as in
6228         the X11 backend.
6229         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
6230         instead of duplicating the same code here.
6231
6232         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
6233         GDK_COLORMAP macro.
6234
6235         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
6236         destroy function.
6237         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
6238         access that.
6239
6240         * gtk/gtk.def: Update.
6241
6242         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
6243
6244 2000-12-30  Havoc Pennington  <hp@pobox.com>
6245
6246         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
6247         colormap on input only windows, to avoid special cases all over
6248         the code for these windows.
6249
6250 2000-12-26  Tor Lillqvist  <tml@iki.fi>
6251
6252         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
6253         we are on a palettized display ("PseudoColor" in X11), as the code
6254         for that doesn't work anyway, and never has.
6255
6256 2000-12-22  Alexander Larsson  <alexl@redhat.com>
6257
6258         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
6259         Don't use isprint() for chars > 255.
6260
6261 2000-12-21  Havoc Pennington  <hp@redhat.com>
6262
6263         * tests/testtreeview.c: more work
6264
6265 2000-12-21  Alexander Larsson  <alexl@redhat.com>
6266
6267         * docs/README.linux-fb:
6268         Update the docs to the new pangoft2 way.
6269
6270 2000-12-21  Alexander Larsson  <alexl@redhat.com>
6271
6272         * configure.in:
6273         For linux-fb get the pangoft2 cflags and libs. This needs a recent
6274         pango version.
6275         Remove modules/linux-fb/Makefile.
6276
6277         * gdk/linux-fb/gdkdrawable-fb2.c:
6278         Render glyphs using freetype.
6279
6280         * gdk/linux-fb/gdkfb.h:
6281         Add new fb-specific functions needed for managing windows.
6282
6283         * gdk/linux-fb/gdkmain-fb.c:
6284         Remove gdk_font_init/fini() calls.
6285
6286         * gdk/linux-fb/gdkpango-fb.c:
6287         Remove old implementation. Use pangoft2 instead.
6288
6289         * gdk/linux-fb/gdkprivate-fb.h:
6290         Remove PangoFBFont and related stuff.
6291
6292         * gdk/linux-fb/gdkwindow-fb.c:
6293         Implement drawable->get_visible_region.
6294         Implement support for _gdk_window_set_child_handler () and
6295         _gdk_window_get_decorations().
6296
6297         * modules/Makefile.am:
6298         Remove linux-fb subdir.
6299
6300         * modules/linux-fb/*:
6301         Removed all.
6302         
6303 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
6304
6305         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
6306         calls, as they are no longer needed.
6307
6308         * gtk/gtktreemodelsort.c: Fix up the comparison code.
6309         
6310         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
6311         figure out how to emit a signal on an interface.
6312
6313 2000-12-20  Havoc Pennington  <hp@redhat.com>
6314
6315         * tests: new directory to contain tests, gtk/test* should move
6316         here sometime (with appropriate on-cvs-server hackery)
6317
6318         * tests/testtreeview.c, tests/Makefile.am: a test
6319         
6320         * configure.in (AC_OUTPUT): add tests/Makefile
6321
6322         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
6323         and "invisible_set" which were missing
6324
6325         * gtk/gtkrbtree.h: some cheesy indentation fix
6326         
6327 2000-12-20  Alexander Larsson  <alexl@redhat.com>
6328
6329         * gtk/gtkinvisible.c (gtk_invisible_realize):
6330         Attach the style to the window so that the style it is not
6331         leaked when unrealizing the window.
6332
6333 2000-12-18  Havoc Pennington  <hp@redhat.com>
6334
6335         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
6336         begin/end user action where appropriate
6337         (gtk_text_view_commit_handler): add begin/end user action
6338
6339         * gtk/gtktextbuffer.c: add begin/end user action signals, and
6340         bracket interactive operations with begin/end user action pair.
6341         
6342         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
6343         "interactive" arg from insert_text and delete_text signals.
6344         Add begin_user_action, end_user_action signals
6345         (gtk_text_buffer_begin_user_action): 
6346         (gtk_text_buffer_end_user_action): New functions to delimit 
6347         a user-visible action
6348
6349         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
6350         signals.
6351         
6352 2000-12-18  Havoc Pennington  <hp@redhat.com>
6353
6354         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
6355         was pretty non-working.
6356
6357         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
6358         by passing the length to g_utf8_validate().
6359
6360 2000-12-16  Havoc Pennington  <hp@pobox.com>
6361
6362         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
6363         Port to GObject, can go back in gdk-pixbuf after setting up 
6364         a gdk-pixbuf-marshal.h header over there.
6365
6366         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
6367         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
6368         args
6369         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
6370         set
6371         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
6372         here, do it when we create the buttons later
6373         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
6374         (gtk_tree_view_map): paranoia checks that column->button is shown 
6375         and unmapped
6376         (gtk_tree_view_size_request): only request visible children.
6377         Move header size calculation in here, for cleanliness, and 
6378         to maintain invariants for child widgets if we eventually 
6379         let users set different children inside the buttons
6380         (gtk_tree_view_map_buttons): factor out code to map buttons,
6381         since it was being called several times
6382         (gtk_tree_view_size_allocate_buttons): move_resize the drag
6383         windows instead of just moving them; their height may change 
6384         if we allow random widgets in there, or the theme changes.
6385         (gtk_tree_view_size_allocate): move button size allocation 
6386         above emitting the scroll signals, to ensure a sane state when we
6387         hit user code
6388         (gtk_tree_view_button_release): remove queue_resize after
6389         tree_view_set_size(), set_size() will handle any resize queuing
6390         that's needed
6391         (gtk_tree_view_focus_in): just queue a draw, don't fool with
6392         draw_focus goo
6393         (gtk_tree_view_focus): use gtk_get_current_event() and
6394         gdk_event_get_state()
6395         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
6396         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
6397         semicolon
6398         (gtk_tree_view_create_button): show the button here
6399         (gtk_tree_view_button_clicked): actually emit the clicked signal
6400         on the column
6401         (_gtk_tree_view_set_size): return right away if the size is
6402         unchanged, as a cheesy optimization
6403         (gtk_tree_view_setup_model): rename set_model_realized to 
6404         setup_model to match the flag that indicates whether we've 
6405         called it
6406         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
6407         exist, because set_scroll_adjustment does that and it shouldn't
6408         matter what order you call these in
6409         (gtk_tree_view_get_vadjustment): ditto
6410         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
6411         for paranoia
6412         (gtk_tree_view_set_headers_visible): call
6413         gtk_tree_view_map_buttons() instead of using cut-and-paste code
6414         (gtk_tree_view_append_column): clarify whether the return value
6415         is the count of columns before or after, and do the increment 
6416         separately from the return statement so you can tell from the code.
6417         (gtk_tree_view_remove_column): ditto
6418         (gtk_tree_view_insert_column): ditto
6419         (gtk_tree_view_get_column): remove g_return_if_fail for columns
6420         outside the existing range, the docs say that outside-range
6421         columns are allowed, so we handle them as documented. (Presumably
6422         this allows a nice loop with column != NULL as test.)
6423         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
6424         mean (left/right/center etc.).
6425         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
6426         (gtk_tree_view_expand_row): add docs
6427         (gtk_tree_view_collapse_row): add docs
6428
6429         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
6430         function to emit the clicked signal on a column
6431         
6432         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
6433         state of an event
6434         (gdk_event_get_time): don't treat GDK_SCROLL 
6435         as a button event, remove default case from switch so gcc 
6436         will whine if we don't explicitly handle all event types
6437
6438         * gtk/gtktreeselection.h: added some FIXME 
6439         
6440         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
6441         "columns" to "n_columns" and "column" to "columns" for clarity
6442
6443 2000-12-16  Havoc Pennington  <hp@pobox.com>
6444         
6445         * gtk/gtktextiter.c: General cleanup of the log attr iteration
6446         stuff. This should make e.g. the delete key work again in the
6447         text widget...
6448         (gtk_text_iter_forward_cursor_positions): handle negative count
6449         (gtk_text_iter_backward_cursor_positions): handle negative count
6450         (gtk_text_iter_forward_word_ends): handle negative count
6451         (gtk_text_iter_backward_word_starts): handle negative count
6452
6453         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
6454         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
6455         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
6456         GObject. No doubt will cause breakage.
6457
6458         * demos/gtk-demo/textview.c: remove hacks around
6459         non-GObject-ification of the text objects
6460
6461         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
6462         the text tag
6463         
6464 2000-12-14  Havoc Pennington  <hp@pobox.com>
6465
6466         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
6467         that we have Xrender
6468
6469 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
6470
6471         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
6472         Add two virtualized functions gdk_drawable_get_clip_region - to
6473         get the clip region when drawing.
6474         
6475         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
6476         use invalidate_region.
6477
6478         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
6479         region.
6480
6481         * acconfig.h configure.in: Check for Xft. For now, assume
6482         that if Xft is found, Pango was compiled with Xft support
6483         as well.
6484
6485         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
6486         gdk_colormap_query_color().
6487         
6488         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
6489         with Xft if appropriate.
6490
6491         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
6492         a pangoxft context if we have XFT and the environment
6493         variable GD_USE_XFT is set.
6494         
6495         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
6496         and also possibly an XftDraw structure.
6497
6498         * gtk/gtkfontsel.c: Handle the case where the font from the
6499         style doesn't match any of the fonts a bit better.
6500         
6501         * gtk/testgtk.c: Add tabs between directional segments for
6502         hebrew/arabic test. (Not really necessary, just a little
6503         prettier.)
6504
6505 2000-12-14  Havoc Pennington  <hp@redhat.com>
6506
6507         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
6508         reading a file
6509
6510 2000-12-14  Havoc Pennington  <hp@redhat.com>
6511
6512         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
6513         unused call to get_last_line()
6514
6515         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
6516         here until boxed is working (and maybe after that - we should
6517         really not gratuitously break old code)
6518
6519         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
6520         specific types for font_desc and tabs args, move them to
6521         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
6522         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
6523
6524         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
6525         use GTK_TYPE_POINTER for signal signatures as a hack-around
6526
6527         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
6528         PangoTabArray
6529
6530         * gtk/gtktextlayout.c (line_display_iter_to_index): 
6531         make static
6532         (line_display_index_to_iter): make static
6533
6534         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
6535         to marshal a string not a boxed
6536
6537         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
6538
6539         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
6540         since the UTF-8 isn't validated yet
6541
6542         * gtk/gtktextsegment.c (char_segment_check_func): don't require
6543         lines to end in '\n'
6544         
6545         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
6546         forward_to_delimiters, and grapheme boundaries
6547         (gtk_text_view_delete_from_cursor): properly handle non-newline
6548         delimiters, and grapheme boundaries
6549
6550         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
6551         to gtk_text_iter_forward_to_delimiters, and make it work properly
6552         if empty lines end with a character other than '\n'
6553
6554         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
6555         position
6556
6557 2000-12-15  Tor Lillqvist  <tml@iki.fi>
6558
6559         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
6560
6561         * gtk/gtk.def
6562         * gdk/gdk.def: Update.
6563
6564         * gdk/win32/gdkmain-win32.c
6565         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
6566         gdkmain-win32.c here.
6567
6568         * gdk/win32/makefile.mingw.in (all): No need to make
6569         gdk-win32res.o here, the makefile one step up will call us to make
6570         it.
6571
6572         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
6573         gdkkeys-win32.
6574
6575         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
6576
6577         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
6578         call to g_source_add().
6579
6580         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
6581         leak. Thanks to Andreas Kemnade.
6582
6583 2000-12-13  Havoc Pennington  <hp@pobox.com>
6584
6585         * gtk/gtktextbtree.h: Remove double _ in front of some functions
6586
6587         * gtk/gtktext*.[hc]: update accordingly
6588         
6589 2000-12-13  Havoc Pennington  <hp@pobox.com>
6590
6591         * gtk/gtktextbtree.h: Put _ in front of every function in this 
6592         header file
6593
6594         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
6595
6596 2000-12-13  Alex Larsson  <alexl@redhat.com>
6597
6598         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
6599         Add support for ps2 intellimouse.
6600
6601         * gdkkeyboard-fb.c:
6602         Move shift-F1 repaint handling to xlate handler only.
6603         
6604         * docs/README.linux-fb:
6605         Add imps2 to docs.
6606         Document the new refresh keys.
6607         
6608 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
6609
6610         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
6611
6612         * gtk/gtkbox.c: change property types from (u)long to (u)int for
6613         ::position and ::padding.
6614
6615         * gtk/gtkcontainer.c: make ::border_width an INT property.
6616
6617         * gtk/gtkpacker.c: make ::position an INT property.
6618
6619         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
6620         guard against NULL h/v scrollbars, since this is used at construction
6621         time.
6622
6623         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
6624         internal gtk_clist_constructor().
6625
6626         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
6627         gtk_ctree_constructor().
6628
6629         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
6630         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
6631
6632         * docs/reference/Makefile.am: fun stuff, disabled docs generation
6633         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
6634
6635         * gtk/gtkwidget.[hc]:
6636         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
6637         and gtk_widget_get().
6638         (gtk_widget_new): use g_object_new_valist().
6639         (gtk_widget_set): use g_object_set_valist().
6640
6641         * gtk/gtkobject.[hc]:
6642         removed gtk_object_arg_get_info(), gtk_object_getv(),
6643         gtk_object_query_args(), gtk_object_newv(),
6644         gtk_object_class_add_signals(),
6645         gtk_object_class_user_signal_new(),
6646         gtk_object_class_user_signal_newv(),
6647         gtk_object_arg_set(), gtk_object_arg_get(),
6648         gtk_object_args_collect(),
6649         gtk_object_default_construct(),
6650         gtk_object_constructed(),
6651         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
6652         removed nsignals, signals and n_args members from GtkObjectClass.
6653         (gtk_object_new): use g_object_new_valist().
6654         (gtk_object_set): use g_object_set_valist().
6655         (gtk_object_get): use g_object_get_valist().
6656         
6657         * gtk/gtkcompat.h: define gtk_object_default_construct().
6658         
6659         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
6660         g_object_new().
6661
6662         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
6663         fucntions, cleaned up method assignments (make sure your structures
6664         are setup properly before calling out). removed all GTK_CONSTRUCTED
6665         hacks ;)
6666
6667 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
6668
6669         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
6670         off-by-one error in checks. (Dave Lambert)
6671
6672 2000-12-12  Alexander Larsson  <alexl@redhat.com>
6673
6674         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
6675         Don't free gdk_fb_keyboard twice.
6676
6677 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
6678
6679         * gtk/testgtk.c:
6680         (create_tooltips): 
6681         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
6682         use GObject swapped_signal:: properties instead.
6683
6684         * gtk/gtkcellrenderertoggle.c: 
6685         * gtk/gtkcellrenderertextpixbuf.c: 
6686         * gtk/gtkcellrenderertext.c: 
6687         * gtk/gtkcellrendererpixbuf.c: 
6688         * gtk/gtkcellrenderer.c:
6689         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
6690         missing warnings for invalid property ids, install properties
6691         with g_object_class_install_property() now.
6692         
6693         * gtk/gtksignal.c:
6694         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
6695         
6696 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
6697         
6698         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
6699         to determine if a window is the focus widget within
6700         its toplevel.
6701
6702         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
6703         to be boolean.
6704
6705         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
6706         of the case where the container CAN_FOCUS to here instead
6707         of having it in each individual move-the-focus place.
6708
6709         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
6710         focusing to be geometric in a much more obvious sense. Arrowing
6711         around is still non-intuitive because it isn't perfect and
6712         because entries, etc, grab the arrow keys, but it at least
6713         usually will do what you expect now.
6714         
6715         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
6716         file.
6717
6718         * gtk/gtknotebook.c: Change tabs to be a single item in
6719         the focus chain. Make movement of focus on tabs with arrow
6720         keys wrap around.
6721         
6722         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
6723         CHECK_FIND_CHILD macro to give informative error messages
6724         instead of silent returns.
6725
6726         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
6727         flag since we handle GdkReturn on the tabs.
6728
6729         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
6730         windows rather than sending expose events directly.
6731
6732         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
6733         definition for GtkNotebookPage into .c file, since it is private.
6734
6735         * gtk/testgtk.c (create_notebook): Add option for 
6736         testing borderless notebook.
6737
6738         * gtk/testgtk.c (page_switch): Removed egregious poking
6739         around in GTK+ internals.
6740
6741         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
6742
6743         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
6744         properly through gtk_clist_focus. Make the title headers a
6745         single item in the tab-focus chain, and make left-right wrap
6746         around.
6747
6748         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
6749         focus method so that wrapping around works properly.
6750
6751         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
6752         that is handled for the widget now. 
6753
6754 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
6755
6756         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
6757         widgets as TOPLEVEL.
6758
6759         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
6760         TOPLEVEL widgets are containers.
6761
6762         * gtk/gtkinvisible.h: Remove useless include.
6763
6764 2000-12-11  Havoc Pennington  <hp@redhat.com>
6765
6766         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
6767         Handle chopping off \r\n and 0x2029 in addition to \n before
6768         passing to PangoLayout
6769
6770         * gtk/gtkimcontextsimple.c
6771         (gtk_im_context_simple_get_preedit_string): 
6772         return an empty string if no match is pending
6773
6774         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
6775         assertion that the returned preedit string was sane
6776
6777         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
6778         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
6779         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
6780
6781 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
6782
6783         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
6784         Fix up finalizer to chain to its parent.
6785
6786 2000-12-11  Alexander Larsson  <alexl@redhat.com>
6787
6788         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
6789         Clearified the difference between the keyboard types. Wrote a note
6790         about the magic sysrq key to get out of raw mode.
6791
6792 2000-12-09  James Henstridge  <james@daa.com.au>
6793
6794         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
6795         member to hold masks for detecting the start of a protocol packet.
6796         (mouse_devs): add packet start masks for ps2 and ms device types.
6797         Left the mask for fidmour blank, as I have no idea what it should
6798         be.
6799         (handle_mouse_io): skip bytes until we get to the start of a
6800         packet.  My Logitech mouse seems to be passing an extra NULL pad
6801         byte, and GPM does a similar thing here.
6802         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
6803         this is the ms mouse driver.
6804         (gdk_fb_mouse_ms_packet): fix up button handling, which was
6805         completely broken except for button1.  It was checking the wrong
6806         bit in the packet for the status of the right mouse button, and
6807         wrongly assuming right == button2 rather than 3.  I fixed that and
6808         also added support for middle button (button2).
6809
6810 2000-12-08  Havoc Pennington  <hp@redhat.com>
6811
6812         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
6813         that cause a segfault on text insertion
6814
6815         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
6816         warning
6817
6818         * gtk/gtktextiter.c (test_log_attrs): use
6819         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
6820
6821         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
6822         Get log attrs for a line, using a cache stored on the buffer
6823         
6824         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
6825         reported by Jeff Franks
6826
6827 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
6828
6829         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
6830         /dev/ttyS0 -> /dev/mouse
6831
6832 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
6833
6834         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
6835         Added dummy gdk_fontset_load.
6836
6837 2000-12-08  Alexander Larsson  <alexl@redhat.com>
6838
6839         * docs/README.linux-fb:
6840         * docs/Makefile.am:
6841         Initial GtkFB docs.
6842         
6843         * gdk/linux-fb/Makefile.am:
6844         Define GDK_DATA_PREFIX.
6845
6846         * gdk/linux-fb/gdkmain-fb.c:
6847         Fix typo.
6848         Change default display to /dev/fb0.
6849
6850         * gdk/linux-fb/gdkpango-fb.c:
6851         Add $(prefix)/share/fonts/ to font path.
6852         
6853 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
6854
6855         * gdk/linux-fb/gdkkeyboard-fb.c:
6856         New file containing the abstracted keyboard driver. Most code
6857         taken from gdkinput-ps2.c
6858
6859         * gdk/linux-fb/gdkinput-ps2.c:
6860         Removed file.
6861         
6862         * gdk/linux-fb/Makefile.am:
6863         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
6864
6865         * gdk/linux-fb/gdkcolor-fb.c:
6866         display->fb was renamed to display->fb_fd.
6867
6868         * gdk/linux-fb/gdkcursor-fb.c:
6869         gdk_mouse_get_info -> gdk_fb_mouse_get_info
6870
6871         * gdk/linux-fb/gdkinput.c:
6872         Moved gdk_input_init here from gdkinput-ps2.c
6873
6874         * gdk/linux-fb/gdkmain-fb.c:
6875         display->fb was renamed to display->fb_fd.
6876         Now the tty and the console is opened here instead
6877         of in the keyboard driver. Also check GDK_VT to see what
6878         tty to open.
6879         Move gdk_beep () here from gdkinput-ps2.c
6880         gdk_mouse_get_info -> gdk_fb_mouse_get_info
6881
6882         * gdk/linux-fb/gdkmouse-fb.c:
6883         Add header.
6884         gdk_mouse_get_info -> gdk_fb_mouse_get_info
6885         Return correct keyboard modifiers.
6886         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
6887
6888         * gdk/linux-fb/gdkprivate-fb.h:
6889         Add tty and vt info to display.
6890         Add orignal modeinfo storage to display
6891         Update global functions
6892
6893         * gdk/linux-fb/gdkwindow-fb.c:
6894         Added gdk_fb_window_find_focus().
6895         gdk_mouse_get_info -> gdk_fb_mouse_get_info
6896
6897 2000-12-07  Havoc Pennington  <hp@pobox.com>
6898
6899         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
6900         function, noticed by Alex
6901
6902 2000-12-06  Elliot Lee  <sopwith@redhat.com>
6903
6904         * configure.in: Detect freetype properly
6905
6906         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
6907         above.
6908
6909 2000-12-06  Alexander Larsson  <alexl@redhat.com>
6910
6911         * gdk/linux-fb/Makefile.am:
6912         Add gdkmouse-fb.c
6913         
6914         * gdk/linux-fb/gdkmouse-fb.c:
6915         New file. Abstracted the mouse drivers a bit.
6916
6917         * gdk/linux-fb/gdkcursor-fb.c:
6918         The cursor hide/show functions was moved here from gdkinput-ps2.c.
6919
6920         * gdk/linux-fb/gdkinput-ps2.c:
6921         Removed old mouse handling code. Moved cursor handling code
6922         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
6923         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
6924         gdk_mouse_get_info.
6925
6926         * gdk/linux-fb/gdkmain-fb.c:
6927         Pass NULL pointers for x,y in gdk_mouse_get_info call.
6928
6929         * gdk/linux-fb/gdkprivate-fb.h:
6930         Removed public gdk_fb_find_common_ancestor, added and renamed
6931         functions for the new mouse handling code.
6932
6933         * gdk/linux-fb/gdkwindow-fb.c:
6934         Moved gdk_fb_window_send_crossing_events here. added global
6935         variable gdk_fb_window_containing_pointer. made
6936         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
6937         renamed to gdk_mouse_get_info.
6938
6939 2000-12-06  Alexander Larsson  <alexl@redhat.com>
6940
6941         * gdk/linux-fb/gdkevents-fb.c:
6942         Update to match latest gmain/gsource changes.
6943
6944         * gdk/linux-fb/gdkinput-ps2.c:
6945         Bogus gdk_keymap_get_entries_for_keycode implementation so that
6946         it links. Will be implemented later.
6947
6948 2000-12-03  Havoc Pennington  <hp@pobox.com>
6949
6950         * gdk/Makefile.am: add gdkkeys.[hc]
6951
6952         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
6953         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
6954
6955         * acconfig.h, configure.in: add checks and command line options
6956         for XKB
6957
6958         * gdk/x11/gdkkeys-x11.c: Implement the above functions
6959         
6960         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
6961         and group in the key event
6962
6963         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
6964         field with the low-level hardware key code, and a group
6965         field with the keyboard group
6966
6967         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
6968         and declare a couple globals used for keymap handling
6969         
6970         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
6971         hold down Shift-Control and type a hex number to get a Unicode 
6972         character corresponding to the hex number
6973         (gtk_im_context_simple_get_preedit_string): Fix cursor position
6974         (return bytes not chars)
6975
6976 2000-12-05  Elliot Lee  <sopwith@redhat.com>
6977
6978         * gdk/gdkcolor.h: Make GdkColor specify element sizes
6979         to avoid waste on 64-bit platforms.
6980
6981 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
6982
6983         * INSTALL: Fix link to PNG home, remove reference
6984         to fribidi.
6985
6986         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
6987         
6988         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
6989         tested.)
6990
6991         * gtk/gtkcheckmenuitem.c: Permanently turn on
6992         always_show_toggle.
6993
6994         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
6995         be NULL. (Vladimir Klebanov, #26545)
6996
6997         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
6998         some signed/unsigned comparison problems. (#6510,
6999         David Kaelbling)
7000
7001         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
7002         return type to boolean (Oskar Liljeblad, #18648)
7003
7004 2000-12-05  Alexander Larsson  <alexl@redhat.com>
7005
7006         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
7007         Remove bogus colormap setting.
7008
7009 2000-12-05  Alexander Larsson  <alexl@redhat.com>
7010
7011         * gdk/linux-fb/gdkcolor-fb.c:
7012         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
7013
7014         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
7015         Must set colormap.
7016         
7017 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
7018
7019         * docs/tutorial/gtk-tut.sgml: DND updates
7020
7021 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
7022
7023         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
7024         Remove old debug g_warning().
7025         (gdk_fb_draw_drawable): The src argument can be either a wrapper
7026         or an implementation, just pass the implementation to draw_drawable_2.
7027         
7028         * gdk/linux-fb/gdkprivate-fb.h:
7029         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
7030
7031         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
7032         clear and invalidate area when window is destroyed.
7033         (send_map_events): Remove old commented out code.
7034
7035 2000-12-05  Alexander Larsson  <alexl@redhat.com>
7036
7037         * gdk/linux-fb/gdkpango-fb.c:
7038         Use italic instead of oblique in font aliases.
7039         
7040         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
7041         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
7042         other unsupported functions.
7043
7044 2000-12-04  Havoc Pennington  <hp@redhat.com>
7045
7046         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
7047
7048         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
7049
7050         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
7051
7052         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
7053         hack to avoid infinite loops (synthetic expose event) - 
7054         Owen has more appropriate fixes in a branch he'll check in later.
7055
7056         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
7057         separator, CR, and CRLF as line ends
7058
7059         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
7060         into lines using pango_find_paragraph_boundary(); other bits of
7061         the widget are still going to be broken if the boundary isn't '\n'
7062         though
7063
7064 2000-12-04  Alexander Larsson  <alexl@redhat.com>
7065
7066         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
7067         multiply.
7068
7069         * gdk/linux-fb/gdkpango-fb.c:
7070         Copied some 26.6 scaling macros from pango to clean up the rounding.
7071         (pango_fb_font_get_glyph_info): Correct sign on x value.
7072
7073         * gdk/linux-fb/gdkprivate-fb.h:
7074         Removed unreferenced external functions.
7075
7076         * modules/linux-fb/Makefile.am: Use ` instead of '.
7077
7078         * modules/linux-fb/basic.c:
7079         Remove dead code. In particular the dummy lang engine which broke all
7080         pango layouts in GtkFB. Don't include tables-big.i anymore.
7081
7082         * modules/linux-fb/tables-big.i:
7083         Upgrade to latest version from pango. Left for reference, basic_ranges
7084         moved to basic.c.
7085         
7086 2000-12-04  Havoc Pennington  <hp@redhat.com>
7087
7088         Fix bugs Alex found:
7089         
7090         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
7091         to "draw"
7092
7093         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
7094
7095         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
7096
7097         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
7098         implementation in here, apparently the expose() implementation was
7099         dead code.
7100
7101 2000-12-04  Alexander Larsson  <alexl@redhat.com>
7102
7103         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
7104         Return positive descent.
7105
7106 2000-12-02  Havoc Pennington  <hp@pobox.com>
7107
7108         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
7109         method and signal
7110         
7111         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
7112         calls gdk_window_process_updates() to push the exposes through
7113         (gtk_widget_class_init): No more draw signal, no
7114         gtk_widget_real_draw()  
7115         
7116         * gtk/gtkbin.c (gtk_bin_draw): remove
7117
7118         * gtk/gtkbox.c (gtk_box_draw): remove
7119
7120         * gtk/gtkbutton.c (gtk_button_draw): remove
7121
7122         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
7123
7124         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
7125
7126         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
7127
7128         * gtk/gtkclist.c (gtk_clist_draw): remove
7129
7130         * gtk/gtkentry.c (gtk_entry_draw): remove
7131
7132         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
7133
7134         * gtk/gtkfixed.c (gtk_fixed_draw): remove
7135
7136         * gtk/gtkframe.c (gtk_frame_draw): remove
7137
7138         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
7139
7140         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
7141
7142         * gtk/gtklayout.c (gtk_layout_draw): remove
7143
7144         * gtk/gtklist.c (gtk_list_draw): remove
7145
7146         * gtk/gtklistitem.c (gtk_list_item_draw): remove
7147
7148         * gtk/gtkmenu.c (gtk_menu_draw): remove
7149
7150         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
7151
7152         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
7153
7154         * gtk/gtknotebook.c (gtk_notebook_draw): remove
7155
7156         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
7157
7158         * gtk/gtkpacker.c (gtk_packer_draw): remove
7159
7160         * gtk/gtkrange.c (gtk_range_draw): remove
7161
7162         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
7163
7164         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
7165
7166         * gtk/gtktable.c (gtk_table_draw): remove
7167
7168         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
7169
7170         * gtk/gtktext.c (gtk_text_draw): remove
7171
7172         * gtk/gtktextview.c (gtk_text_view_draw): remove
7173
7174         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
7175
7176         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
7177
7178         * gtk/gtktree.c (gtk_tree_draw): remove
7179
7180         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
7181
7182         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
7183
7184         * gtk/gtkviewport.c (gtk_viewport_draw): remove
7185
7186         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
7187
7188         * gtk/gtkvscale.c (gtk_vscale_draw): remove
7189
7190         * gtk/gtkwindow.c (gtk_window_draw): remove
7191
7192 2000-20-01  Anders Carlsson  <andersca@gnu.org>
7193
7194         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
7195         a GtkToggleButton is both insensitive and active, it was being
7196         drawn by the GtkButton draw handler which doesn't check the
7197         state. Now it's calling gtk_toggle_button_paint instead.
7198         
7199 2000-12-01  Havoc Pennington  <hp@redhat.com>
7200
7201         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
7202         dangling pointers to the appearance attributes from the 
7203         line display
7204
7205         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
7206         width/height to mean "full width/height of drawable"
7207
7208         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
7209         click to select word/line
7210         
7211         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
7212         when getting log attrs. Get a slice, so that pixmaps and stuff
7213         are properly handled.
7214
7215         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
7216         paste into the selection (replaces selection now, previously
7217         crashed or added to selection). Reveals longstanding btree bug -
7218         select multiple lines, middle-click on the selection, boom. This
7219         isn't related to my changes though.
7220
7221         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
7222         PangoLogAttrs changes
7223         (gtk_entry_move_backward_word): ditto
7224
7225         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
7226         functions return bool whether the iter moved onto a
7227         dereferenceable position.
7228  
7229         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
7230         functions for motion in terms of display lines.
7231
7232         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
7233         get the buffer a mark is inside
7234         
7235 2000-12-01  Alexander Larsson  <alexl@redhat.com>
7236
7237         * gdk/linux-fb/Makefile.am:
7238         * modules/linux-fb/Makefile.am:
7239         Freetype 2 final uses freetype-config
7240
7241         * gdk/linux-fb/gdkpango-fb.c:
7242         Upgrade to use Freetype 2 final.
7243         More flexible support for font aliases, this also fixes a bug with
7244         GtkFontSelector, as the aliases must be visible in the font/family list,
7245         or GtkFontSelector reads uninitialized memory.
7246
7247 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
7248
7249         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
7250         XGetIMValues to properly terminate variable argument list, and do
7251         NULL return check for ic_values and xim_styles.
7252
7253         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
7254         Restore preedit state after XmbResetIC().
7255         
7256         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
7257         XvaCreateNestedList() should take XvaNestedList, but not
7258         XvaNestedList*.
7259
7260         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
7261         preedit_draw_callback, preedit_caret_callback): Match
7262         "preedit-changed" signal name to "preedit_changed" to be
7263         consistent to the spec.
7264
7265         * gtk/gtkimcontextsimple.c (check_table):
7266         Match "preedit-changed" to "preedit_changed" to be consistent
7267         to the spec.
7268
7269 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
7270
7271         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
7272         gc->clip_region == NULL>
7273
7274 2000-11-30  Tor Lillqvist  <tml@iki.fi>
7275
7276         Changes by Hans Breuer:
7277         
7278         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
7279         Dont't use negative width and height as max_hints. This fixes
7280         Owen's recent testgtk changes for win32.
7281
7282         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
7283         gdk_win32_hdc_release): These are exported and may be called with
7284         other drawable types than our GdkDrawableImplWin32 (?).
7285
7286         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
7287         so always #define USE_BACKING_STORE.
7288
7289         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
7290         of printf for debugging output.
7291
7292         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
7293         
7294         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
7295
7296         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
7297         declaration.
7298
7299         * gtk/gtktexttypes.h: Ditto.
7300
7301         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
7302         (GDK_VoidSymbol) also if in case of arg check failure.
7303
7304         * gtk/gtkimcontextsimple.c
7305         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
7306         position to the pointer, but to the variable it points to.
7307
7308         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
7309
7310         * gtk/gtk.def: Updates.
7311
7312 2000-11-29  Elliot Lee  <sopwith@redhat.com>
7313
7314         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
7315         GTK_TYPE_TREE_MODEL.
7316
7317 2000-11-29  Alexander Larsson  <alexl@redhat.com>
7318
7319         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
7320         Set the size of the font from the description.
7321         (gdk_text_width): Gross hack that calculates the width
7322         of text by text_length * size/2. This is necessary because
7323         GtkLabel does some ugly gtk_string_width call to calculate
7324         an good size.
7325         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
7326
7327 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
7328
7329         * docs/tutorial/gtk-tut.sgml: DND updates
7330
7331 2000-11-29  Alexander Larsson  <alexl@redhat.com>
7332
7333         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
7334         If you pass width or height == 0 to gdk_window_clear_area they
7335         should be calculated from the window size.
7336
7337 2000-11-29  Alexander Larsson  <alexl@redhat.com>
7338
7339         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
7340         a grab, but no grab-cursor, use the cursor from the grabbed
7341         window. (gdk_fb_window_send_crossing_events): Send normal
7342         enter/leave notifications if grab and owner_events == TRUE.
7343
7344 2000-11-29  Alexander Larsson  <alexl@redhat.com>
7345
7346         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
7347         Do implicit button grabs, even if the window doesn't
7348         want the event.
7349         (gdk_fb_window_send_crossing_events): If there is a
7350         grab, only the grabbed window gets normal enter/leave
7351         notifications. On ungrab go from grabbed window to current.
7352         Don't send any notification to b when propagating from c -> b.
7353         If setting a grab on window, don't set prev_window.
7354         (handle_mouse_input): Send enter/leave events to the window the
7355         mouse is over, not the grabbed one.
7356         
7357 2000-11-28  Elliot Lee  <sopwith@redhat.com>
7358
7359         * gdk/gdkregion-generic.c: Zap warning.
7360         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
7361         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
7362
7363 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
7364
7365         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
7366         The cursor should be hidden if it is part of either the
7367         source or destination region. Not only if it is in both.
7368         (gdk_window_set_transient_for): Silence warnings.
7369
7370 2000-11-28  Alexander Larsson  <alexl@redhat.com>
7371
7372         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
7373         The default mode in X is Pie Arcs, therefore that is
7374         what Gtk+ uses.
7375
7376 2000-11-28  Alexander Larsson  <alexl@redhat.com>
7377
7378         * gdk/linux-fb/gdkinput-ps2.c:
7379         Implement correct EnterNotify/LeaveNotify:
7380         (gdk_fb_window_send_crossing_events): New function that sends
7381         all GdkCrossingEvents from the last mouse-window to the specified
7382         destination.
7383         (gdk_fb_window_visibility_crossing): Removed function.
7384         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
7385         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
7386         instead of gdk_window_get_pointer() for better readability.
7387
7388         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
7389         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
7390
7391         * gdk/linux-fb/gdkprivate-fb.h:
7392         removed gdk_fb_window_visibility_crossing, added
7393         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
7394
7395         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
7396         New function that finds the least common ancestor of two windows.
7397         (gdk_window_show, gdk_window_hide):
7398         Use gdk_fb_window_send_crossing_events.
7399         (gdk_fb_window_move_resize): Send configure events to toplevel
7400         windows. Use gdk_fb_window_send_crossing_events.
7401
7402 2000-11-27  Havoc Pennington  <hp@redhat.com>
7403
7404         * gtk/gtkprivate.h (enum): Remove a trailing comma
7405
7406 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
7407
7408         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
7409         the "changed" callback of the adjustment.  We need to redraw the
7410         spin button's arrows when the adjustment's range changes.
7411         (adjustment_changed_cb): Draw the arrows.
7412         (gtk_spin_button_value_changed): Draw the arrows.
7413
7414 2000-11-23  Alexander Larsson  <alexl@redhat.com>
7415
7416         * gdk/linux-fb/gdkselection-fb.c:
7417         Initial selection implementation.
7418
7419         * gtk/gtkselection.c:
7420         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
7421         requestor in gtk_selection_request.
7422         
7423         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
7424         Added gdk_selection_property atom.
7425
7426         * gdk/linux-fb/gdkprivate-fb.h:
7427         Export _gdk_selection_window_destroyed.
7428         Removed mask_off_x/y from GdkCursorPrivateFB.
7429         Removed hbearing, added top, left to PangoFBGlyphInfo.
7430
7431         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
7432         Call _gdk_selection_window_destroyed
7433         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
7434         the root window has been created.
7435         (static_dx_hack, static_dy_hack, compare_draw_rects,
7436         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
7437         in region. They are already sorted. Instead just traverse them in
7438         reverse if draw_direction < 0.
7439         
7440         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
7441         Double-clicks must be sent after the normal button_press.
7442         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
7443         
7444         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
7445         Pass _gdk_fb_screen_gc instead of NULL.
7446
7447         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
7448         Initialize gdk_selection_property.
7449         (gdk_event_make): Remove unused code.
7450
7451         * gdk/linux-fb/gdkcursor-fb.c:
7452         Make the pixmap for the cursor the same size as the mask. Also remove
7453         the mask_off_x/y fields in GdkCursorPrivateFB and combine
7454         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
7455         Now the whole cursor is visible.
7456
7457         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
7458         Fix bug where xdest+height instead of ydest+height was used
7459         to calculate if the source and dest overlapped. This fixes the
7460         redraw bug when the main window in testgtk was scrolled when
7461         partially covered by a tall window.
7462         Copy rectangles in region in order depending on draw_direction.
7463         Also moved the draw_direction flipping of start_y and end_y into
7464         the gc functions, as this might not be what all of them want.
7465         (gdk_fb_draw_lines): Support dashed lines.
7466         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
7467         so that the text is positioned correctly (was 1 pixel high).
7468
7469         gdk/linux-fb/gdkgc-fb.c:
7470         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
7471         all lines were drawn a pixel to short. Also checked the default of
7472         the rest of the values, and they're the same as X now.
7473
7474         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
7475         Clean up pixel positioning of the glyphs. Just use bgy->top and
7476         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
7477         to all divisions to get correct rounding behaviour.
7478
7479         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
7480         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
7481         Moved start_y/end_y flip into draw_drawable implementations.
7482         Flip also x rendering when draw_direction < 0.
7483         Remove unneccesary multiply with draw_direction.
7484
7485 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
7486
7487         * docs/tutorial/gtk-tut.sgml:
7488           - get rid of gtk_toggle_button_toggled FUD
7489           - start DND section - needs work - based on:
7490                 http://wolfpack.twu.net/docs/gtkdnd/
7491
7492 2000-11-22  Alexander Larsson  <alexl@redhat.com>
7493
7494         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
7495         Correct calculation of font metrics. Now GtkEntrys have sane
7496         size.
7497
7498 2000-11-22  Alexander Larsson  <alexl@redhat.com>
7499
7500         * gdk/gdktypes.h:
7501         Add new type GdkSpan
7502         
7503         * docs/reference/gdk/gdk-sections.txt,
7504         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
7505         gdk/gdkregion.h:
7506         Implement and document gdk_region_spans_intersect_foreach.
7507
7508         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
7509         Add new file gdkrender-fb.c which contains all core
7510         rendering code.
7511         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
7512         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
7513         (optimized rectangle fillers).
7514
7515         * gdk/linux-fb/gdkdrawable-fb2.c:
7516         Move all rendering code to gdkrender-fb.c.
7517         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
7518         Use the new span intersection functions in gdk_fb_fill_spans.
7519         gdk_fb_draw_rectangle() clips filled rectangles and calls
7520         gc->fill_rectangle with the result.
7521         gdk_fb_fill_spans() gets extra argument "sorted".
7522
7523         * gdk/linux-fb/gdkevents-fb.c:
7524         Remove unused includes and defines.
7525         New function gdk_fb_get_time() to get correct time for events.
7526
7527         * gdk/linux-fb/gdkinput-ps2.c:
7528         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
7529         Make sure to set the time of all events.
7530
7531         * gdk/linux-fb/gdkmain-fb.c:
7532         Use gdk_fb_get_time ().
7533
7534         * gdk/linux-fb/gdkprivate-fb.h:
7535         New virtual GC calls: fill_span & fill_rectangle.
7536         Export gdk_fb_get_time().
7537         gdk_fb_fill_spans() gets extra argument "sorted".
7538
7539         * gdk/linux-fb/mi*.c:
7540         Use GdkSpan instead of GdkRectangle.
7541         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
7542         from XFree 4 source)
7543         
7544 2000-11-22    <jrb@redhat.com>
7545
7546         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
7547         reversing the order in an if statement will do.  Doing so managed
7548         to make the treemodelsort half work.  Other half will follow after
7549         I get the insert function fully fixed.
7550
7551 2000-11-21  Elliot Lee  <sopwith@redhat.com>
7552         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
7553         more than 2 bits. Besides, I need to implement an evil hack. :)
7554
7555 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
7556
7557         * docs/tutorial/gtk-tut.sgml: minor corrections
7558
7559 2000-11-20  Jonathan Blandford <jrb@redhat.com>
7560         * gtk/gtktreemodelsort.h: Add convertion functions to let you
7561           convert to and from relative path's and iters.
7562
7563         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
7564           testing sorting functions a bit better.  Currently broken -- will
7565           fix in morning.
7566
7567 2000-11-20  Havoc Pennington  <hp@redhat.com>
7568
7569         * gtk/gtkwidget.c: Documented a bunch of functions in here
7570         (gtk_widget_realize): Warn if you try to realize
7571         a widget with no parent that isn't a toplevel
7572         (gtk_widget_intersect): return a gboolean
7573
7574 2000-11-20  Havoc Pennington  <hp@redhat.com>
7575
7576         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
7577         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
7578         scrolling to be implemented in GDK to finish. Also, right now
7579         we just size_allocate all children on every layout change,
7580         which is pretty lame. Test commented out of testtext.c, 
7581         until it works better.
7582
7583 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
7584
7585         * gdk/linux-fb/gdkdrawable-fb2.c:
7586         Removed unused arguments from gdk_fb_drawable_get_pixel().
7587
7588         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
7589         Renamed fidur specific mouse packet data in MouseDevice to
7590         generic. Used it in ps2 mouse handling code to avoid blocking
7591         reads.
7592
7593 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
7594
7595         * demos/gtk-demo/main.c: Changed to have the list become
7596         non-italic when the demo window is destroyed through an external
7597         event (like a close button).  Doing so found three bugs in the
7598         widget.
7599
7600         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
7601
7602         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
7603         we actually set the cell.
7604
7605         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
7606
7607         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
7608         free a leaked path.  Thanks memprof.
7609
7610 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
7611
7612         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
7613         off-by-one error when destroying allocated segments
7614         on failure. (Elliot)
7615
7616 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
7617
7618         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
7619         memleaks found by Evan Martin.
7620
7621 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
7622
7623         * Released 1.3.2
7624         
7625         * NEWS: Updates for 1.3.2
7626
7627 2000-11-17  Tor Lillqvist  <tml@iki.fi>
7628
7629         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
7630         but in general for window system specific events.
7631
7632         * gtk/gtk.def
7633         * gtk/makefile.mingw.in
7634         * gtk/makefile.msc.in: Update.
7635         
7636         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
7637
7638 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
7639
7640         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
7641         distribute gtk.immodules.
7642
7643         * gtk/Makefile.am (install-data-local): Don't install the
7644         gtk.immodules file created for the uninstalled modules;
7645         instead run gtk-query-immodules after install
7646
7647 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
7648
7649         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
7650         -rpath to the right install location.
7651
7652         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
7653         -export-dynamic.
7654
7655         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
7656         properly.
7657
7658 2000-11-15  Havoc Pennington  <hp@pobox.com>
7659
7660         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
7661         patch from Mikael Hermansson to temporarily stop blinking while
7662         the user is using the keyboard to type or navigate. 
7663
7664         Also, when blinking, stay on for longer than we stay off. Also,
7665         return from start_cursor_blink if !cursor_visible, to save
7666         checking that flag all over the place before we call
7667         start_cursor_blink.
7668
7669 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
7670
7671         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
7672         only contain a "fontset" line, which is now ignored.
7673
7674         * gtk/gtkentry.c (gtk_entry_button_release): Make 
7675         double-click-to-select-word work.
7676         
7677 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
7678
7679         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
7680         Don't move back one char when we are actually at the end of the 
7681         paragraph.
7682
7683 2000-11-15  Robert Brady  <robert@suse.co.uk>
7684
7685         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
7686         'o' < 'p'.
7687         
7688         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
7689         bind_textdomain_codeset.
7690
7691         (gtk_init_check): Make the warning about translating default:LTR
7692         sterner.
7693         
7694 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
7695
7696         * **/Makefile.am : remove unecessary rules for win32-specific
7697         config-substituted targets. If you want these rules, use
7698         --enable-maintainer-mode (called automatically by autogen.sh).
7699         Stops a lot of unneccessary make-time warnings.
7700
7701         * gtk/gtktext{layout,display}.c: Factor in total width as
7702         well as screen when figuring alignment for word-wrap as well as
7703         no wrap; this is necessary to handle lines that cannot be wrapped
7704         at all.
7705
7706 2000-11-15  Havoc Pennington  <hp@redhat.com>
7707
7708         * gtk/testtext.c: Implement essential color cycling feature
7709
7710 2000-11-15  Havoc Pennington  <hp@redhat.com>
7711
7712         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
7713         when we invalidate the main window.
7714
7715         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
7716         GtkTextView will now invalidate the side windows for us when text
7717         changes.
7718
7719 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
7720
7721         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
7722         unconditionally, since we may need to update the horizontal
7723         scrollbars even if the height didn't change.
7724
7725         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
7726         the extra attrs, since some of them affect size.
7727
7728         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
7729         x_offset correctly.
7730
7731 2000-11-15  Havoc Pennington  <hp@redhat.com>
7732
7733         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
7734         don't move the first line out into the margin, instead move the
7735         whole paragraph in order to make space for the first line within 
7736         the margin
7737
7738 2000-11-15  Havoc Pennington  <hp@redhat.com>
7739
7740         * gtk/gtktextview.c (changed_handler): offset redraw rect by
7741         xoffset in addition to yoffset, so horizontal scrolling doesn't
7742         break redraws
7743
7744 2000-11-15  Havoc Pennington  <hp@redhat.com>
7745
7746         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
7747         from the cursor
7748         (render_layout_line): fix reversed test that caused weird
7749         underlines to get drawn
7750
7751 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
7752
7753         * gdk/linux-fb/gdkprivate-fb.h:
7754         Fix debug macros.
7755         
7756 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
7757
7758         * gdk/linux-fb/gdkprivate-fb.h:
7759         Added virtual functions set_pixel, get_color,
7760         fill_span and draw_drawable to the GC.
7761         Added global _gdk_fb_screen_gc to use instead of
7762         NULL when drawing to the screen.
7763         Added _gdk_fb_gc_calc_state() prototype.
7764
7765         * gdk/linux-fb/gdkgc-fb.c:
7766         Call _gdk_fb_gc_calc_state() on any gc state change.
7767
7768         * gdk/linux-fb/gdkglobals-fb.c:
7769         Add _gdk_fb_screen_gc
7770                 
7771         * gdk/linux-fb/gdkdrawable-fb2.c:
7772         _gdk_fb_gc_calc_state() calculates best functions
7773         for the GC state and depth.
7774         Moved bpp specialized code to separate functions.
7775         Added optimized 24 bpp AA draw_drawable.
7776
7777         * gdk/linux-fb/gdkevents-fb.c:
7778         Silence gcc warning.
7779
7780         * gdk/linux-fb/gdkimage-fb.c:
7781         Use _gdk_fb_screen_gc
7782
7783         * gdk/linux-fb/gdkwindow-fb.c:
7784         Init and use _gdk_fb_screen_gc
7785
7786         * gdk/linux-fb/mitypes.h:
7787         Remove unused types.
7788
7789 2000-11-14  Havoc Pennington  <hp@pobox.com>
7790
7791         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
7792         to pixels
7793
7794 2000-11-14  Havoc Pennington  <hp@pobox.com>
7795
7796         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
7797
7798         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
7799         unknown char, no real reason we were using a variable. 
7800         Remove gtk_text_unknown_char variable. Fix all the text widget
7801         files accordingly.
7802
7803         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
7804         since the Unicode spec seems to prefer that character for our
7805         purposes.
7806
7807 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
7808
7809         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
7810         value of g_getenv() isn't freeable, so g_strdup it.
7811
7812         * modules/input/inuktitut.c: Inuktitut input method.
7813
7814         * modules/input/Makefile.am: Build this.
7815         
7816 2000-11-14  Elliot Lee  <sopwith@redhat.com>
7817
7818         * gtk/Makefile.am: Install gtk.immodules, needed for operation
7819         of gtk programs.
7820
7821 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
7822
7823         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
7824         reversed > that was causing Home to go to end of previous line.
7825
7826         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
7827         modified-keypresses (leave for bindings.)
7828
7829         * modules/input/Makefile.am: Remove useless -export-dynamic
7830         from module LDFLAGS.
7831
7832 2000-11-14  Havoc Pennington  <hp@redhat.com>
7833
7834         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
7835         higher.
7836
7837         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
7838         account. Also, render rise, underline, background, etc. for
7839         pixbufs as well as text. Also, draw underlines one pixel higher.
7840
7841         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
7842         PangoAttribute for the rise, so it gets drawn properly. Also,
7843         add the GtkTextAppearance attribute for pixbuf/widget segments
7844         as well; we should go ahead and have rise, underline, background,
7845         stipple work for those
7846
7847         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
7848         Pango
7849
7850 2000-11-15  Tor Lillqvist  <tml@iki.fi>
7851
7852         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
7853
7854         * gtk/gtk.def: Update.
7855
7856         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
7857         included.
7858         (gtk_rc_get_im_module_file): Use run-time installation directory
7859         on Win32.
7860
7861         * gdk/win32/rc/gdk.rc: Remove.
7862         * gdk/win32/rc/gdk.rc.in: New file.
7863         * gdk/win32/rc/Makefile.am: New file
7864         * gdk/win32/Makefile.am: Corresponding changes.
7865
7866         * gtk/gtk.rc: Remove.
7867         * gtk/gtk-win32.rc.in: New file.
7868         * gtk/Makefile.am: Corresponding changes.
7869
7870         * configure.in: Corresponding changes.
7871
7872         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
7873         has a built gtkcompat.h. Developers using CVS code on Win32 can
7874         hand-edit it from gtkcompat.h.in.
7875
7876         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
7877         gtkcompat.h from gtkcompat.h.win32.
7878
7879 2000-11-14  Havoc Pennington  <hp@redhat.com>
7880
7881         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
7882         to default to GDK_ACTION_MOVE if the drag is within a single
7883         widget. Defaults to GDK_ACTION_COPY between widgets.
7884
7885 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
7886
7887         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
7888
7889         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
7890
7891         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
7892         srcdir != builddir
7893
7894         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
7895
7896         * configure.in (GTK_VERSION): Up to 1.3.2
7897
7898         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
7899         gtkimcontextxim.h
7900
7901         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
7902         missing doc comment.
7903
7904 2000-11-14  Alexander Larsson  <alexl@redhat.com>
7905
7906         * modules/linux-fb/basic.c:
7907         Use the glib iconv wrappers.
7908
7909 2000-11-13  Havoc Pennington  <hp@pobox.com>
7910
7911         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
7912         still more bugs.
7913
7914         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
7915         scroll the GdkWindows before realization.
7916
7917 2000-11-13  Havoc Pennington  <hp@redhat.com>
7918
7919         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
7920         where GC didn't always get updated properly
7921
7922         * demos/gtk-demo/textview.c (create_tags): Use subattributes
7923         of fonts instead of setting the entire font
7924
7925         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
7926         setting entire font
7927
7928         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
7929
7930         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
7931         a bunch of individually-settable font attributes. You can still 
7932         use the "font" and "font_desc" args, they just set all the font
7933         attributes at once.
7934
7935 2000-11-13 Elliot Lee <sopwith@redhat.com>
7936
7937         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
7938
7939 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
7940
7941         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
7942         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
7943
7944         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
7945         work better.
7946
7947 2000-11-13  Havoc Pennington  <hp@redhat.com>
7948
7949         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
7950         the module file.
7951
7952         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
7953         dest->language
7954
7955         * gtk/testtext.c: Test pixels above/below/inside paragraphs
7956         settings
7957
7958         * gtk/gtktextview.c: Implement object args and setters/getters for
7959         all the aspects of the GtkTextAttributes that are not set from
7960         GtkWidget attributes. This is spacing, justification, margins,
7961         etc.
7962
7963         (gtk_text_view_set_arg)
7964         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
7965         args
7966         (gtk_text_view_class_init): Add args for justify, left_margin,
7967         right_margin, indent, and tabs
7968         
7969
7970         * gtk/gtktextlayout.c (set_para_values): fix to display indent
7971         attribute properly
7972
7973         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
7974         replace with indent attribute
7975
7976         * gtk/gtktextlayout.c (set_para_values): multiply indent by
7977         PANGO_SCALE
7978
7979         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
7980         rearranging code to do that
7981         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
7982         i.e. don't subtract the top_margin first, just to keep
7983         all margin-futzing in one place.
7984
7985         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
7986
7987         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
7988         special case of last line, Pango now handles this itself.
7989         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
7990         Y coordinate
7991         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
7992         (find_display_line_above): wasn't moving the byte index as it
7993         iterated over lines, so always returned byte 0. Also, port to use
7994         PangoLayoutIter.
7995         (find_display_line_below): same problem as
7996         find_display_line_above. Also, port to use PangoLayoutIter.
7997
7998 2000-11-13  Alexander Larsson  <alexl@redhat.com>
7999
8000         * gdk/linux-fb/*.[ch]:
8001         Massive reindent to gtk+ standard. My hands hurt.
8002
8003         * gdk/linux-fb/gdkcolor-fb.c:
8004         Move GdkColorPrivateFB from inherited to windowing_data
8005
8006         * gdk/linux-fb/gdkcursor-fb.c:
8007         _gdk_cursor_new_from_pixmap made static
8008
8009         * gdk/linux-fb/gdkdnd-fb.c:
8010         GdkDragContextPrivate moved to windowing_data
8011
8012         * gdk/linux-fb/gdkdrawable-fb2.c:
8013         Removed endian.h, use glib endianness macros instead
8014         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
8015         and GDK_DRAWABLE_IMPL_FBDATA
8016
8017         * gdk/linux-fb/gdkfont-fb.c:
8018         Add empty gdk_font_load(). Needed for linking of Gtk+.
8019
8020         * gdk/linux-fb/gdkimage-fb.c:
8021         Removed endian.h, use glib endianness macros instead
8022         Moved GdkImagePrivateFB to windowing_data
8023         gdk_image_new_bitmap didn't always allocate enough
8024         memory.
8025
8026         * gdk/linux-fb/gdkinput-ps2.c:
8027         Added semi-working support for MS serial mice.
8028
8029         * gdk/linux-fb/gdkprivate-fb.h:
8030         s/GdkWindowPrivate/GdkWindowObject/
8031         Removed GdkWindowPrivate typedef
8032         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
8033         Removed GDK_DRAWABLE_P
8034         Move GdkColorPrivateFB from inherited to windowing_data
8035         Moved GdkImagePrivateFB to windowing_data
8036
8037         * gdk/linux-fb/gdkvisual-fb.c:
8038         Removed some unused debug code.
8039
8040         * gdk/linux-fb/gdkwindow-fb.c:
8041         Use stock cursors instead of including X headers.
8042         s/GdkWindowPrivate/GdkWindowObject/
8043
8044         * gdk/linux-fb/mitypes.h:
8045         Removed unused types.
8046
8047         * modules/linux-fb/basic.c:
8048         Use the pango fribidi wrappers.
8049
8050 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
8051
8052         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
8053         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
8054         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
8055         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
8056         GEqualFunc where applicable.
8057         
8058         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
8059         pango_font_description_equal as changed in pango.
8060         
8061         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
8062
8063         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
8064
8065         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
8066
8067         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
8068
8069         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
8070
8071         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
8072
8073         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
8074         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
8075
8076         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
8077         gtk_rc_styles_compare -> gtk_rc_styles_equal.
8078
8079 2000-11-12  Havoc Pennington  <hp@pobox.com>
8080
8081         * demos/gtk-demo/Makefile.am (democodedir): change demo install
8082         dir to datadir/gtk+-2.0/demo
8083
8084         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
8085         sorts of text widget and Pango font bugs. Urgh.
8086
8087         * demos/gtk-demo/Makefile.am (demos): Add textview.c
8088
8089         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
8090         tree that you should double click to see the demo. Fix 
8091         types of variables to reflect changed return values from 
8092         GtkTreeStore and GtkTreeViewColumn constructors.
8093
8094         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
8095         newly-created buffer to prepare for GObject semantics
8096
8097         * gtk/testtext.c: don't leak the buffer with GObject semantics
8098
8099         * gtk/testtextbuffer.c: ditto
8100         
8101 2000-11-12  Havoc Pennington  <hp@pobox.com>
8102
8103         Rename this testgtk to gtk-demo to avoid confusion, and 
8104         install it so people can use it as a supplement to 
8105         the documentation.
8106         
8107         * demos/gtk-demo: Moved from demos/testgtk
8108
8109         * demos/testgtk: Removed
8110
8111         * configure.in: make Makefile in gtk-demo
8112         
8113         * demos/gtk-demo/Makefile.am: Install sample source to 
8114         datadir/gtk-demo (maybe there's a better place?), and 
8115         rename the binary to gtk-demo
8116         
8117         * demos/gtk-demo/main.c (load_file): Load installed sample
8118         source if source isn't found in pwd.
8119
8120 2000-11-09  Havoc Pennington  <hp@pobox.com>
8121
8122         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
8123         argument to set the char displayed when visibility == FALSE
8124         (gtk_entry_create_layout): If !entry->visible, replace 
8125         all chars with the "invisible char"
8126
8127         * gtk/testgtk.c: Test the invisible_char deal
8128         
8129 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
8130
8131         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
8132         can't get a native font in the right encoding.
8133
8134 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
8135
8136         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
8137         respectively.
8138
8139 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
8140
8141         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
8142         Fix warning when moving between paragraphs.
8143
8144         * gtk/gtkentry.[ch]: Change move => move_cursor, 
8145         delete => delete_from_cursor, insert => insert_at_cursor
8146
8147 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
8148
8149         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
8150
8151         * modules/input/imthai-broken.c: A Thai input method for use if
8152         Thai keys are really generating Latin1 keysyms.
8153
8154         * modules/input/Makefile.am: Build these.
8155
8156 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
8157
8158         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
8159         g_filename_{to,from}_utf8 now takes an extra parameter.
8160
8161         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
8162         strftime into UTF-8.
8163
8164         (column_from_x, gtk_calendar_paint_day_names): Support RTL
8165         calendars.
8166
8167         (gtk_calendar_paint_day_names): Draw day names in the right 
8168         place.
8169         
8170 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
8171
8172         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
8173         problem with using result of g_get_charset() backwards -
8174         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
8175
8176         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
8177         negative min_width/height and max_width/height to
8178         mean "requisition"; this allows setting a window
8179         to be user-resizable in only one direction easily.
8180
8181         * gtk/testgtk.c (create_main_window): Remove hard-coded
8182         usize - set a default size in the vertical direction.
8183
8184 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
8185
8186         * gtk/gtkrange.c: Add some missing casts. Support 
8187         2 and 3 button clicks on the arrows to mean 
8188         "move by pages" and "jump to end". (Like gtkspinbutton)
8189
8190 2000-11-12 Hans Breuer <Hans@Breuer.Org>
8191
8192         * gdk/win32/makefile.msc : reflect build module changes
8193
8194         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
8195         from GdkPixmap*, cast implementation member instead.
8196
8197         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
8198         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
8199         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
8200         more Gdi functions return value checking. 
8201         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
8202         GdkImagePrivateWin32 *.
8203
8204         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
8205         menus useable again. Add #pragma message to keep reminded on this issue.
8206         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
8207         windows. This allows to enable backing store on Win32!
8208
8209         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
8210         in drawable is of impl type. Correct specific type checks appropriate.
8211  
8212         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
8213         GDK_WINDOW_DESTROYED before allocating new resources.
8214
8215         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
8216
8217         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
8218         (gdk_window_foreign_new) initialize parent handle.
8219         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
8220
8221         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
8222         Let the GDI invalidate the window on MoveWindow call to fix scrolling
8223         problems (e.g. main buttons in testgtk). 
8224
8225 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
8226
8227         * gtk/gtkentry.c (gtk_entry_key_press): Call 
8228         gtk_widget_activate for GDK_Return.
8229
8230         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
8231         of preedit cursor position.
8232
8233 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
8234
8235         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
8236         static.
8237
8238 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
8239
8240         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
8241         out support for multiple locales; that simple doesn't
8242         work reliably with current Xlib
8243
8244         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
8245         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
8246         Add support for positioning the cursor within the preedit string.
8247
8248 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
8249
8250         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
8251         at XIM input method module.
8252
8253         * gtk/gtktextview.c: Check for bindings after passing
8254         events to im context filter.
8255
8256 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
8257
8258         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
8259         empty attribute lists properly.
8260
8261 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
8262
8263         * gtk/queryimmodules.c (main): Return non-zero exit
8264         status if errors were encountered querying any
8265         modules.
8266
8267         * modules/input/Makefile.am (moduledir): remove
8268         leftover bin program target.
8269
8270         * docs/make-todo: Fix typo in error message.
8271
8272 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
8273
8274         * configure.in: Add modules/input/Makefile
8275
8276 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
8277
8278         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
8279         don't include gtkthemes.h.
8280
8281         * gtk/testgtk.c gtk/testtext.c: Set environment variables
8282         to point
8283
8284         * gtk/Makefile.am: Add new .c and .h files, build 
8285         gtk-query-immodules and use it to create a gtk.immodules
8286         file for use of test programs.
8287
8288         * gtk/gtkpreview.c: remove extra blank line.
8289
8290 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
8291
8292         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
8293         Add the ability to add extra tables beyond the default
8294         one, and also the ability to have compose sequences 
8295         that are prefixes of other compose sequences. 
8296
8297         * gtk/gtkimcontextsimple.c: Export a preedit string which
8298         consists of possible candidates for keystrokes that have
8299         been entered but not yet committed.
8300
8301         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
8302         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
8303
8304         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
8305         Add a function to add input-method switching menu items
8306         to a menu.
8307
8308         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
8309         when switching input methods.
8310
8311         * gtk/gtkimcontextsimple.[ch]: Change the format of
8312         the compose table to allow compose tables of different
8313         lengths / sequence.
8314
8315 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
8316
8317         * gtk/gtkimmodule.[ch]: Support routines for loading
8318         GtkIMContext implementations dynamically at runtime.
8319
8320         * modules/input/imcyrillic-translit.c: A sample input
8321         method (based on GtkIMContextSimple with an extra table),
8322         which demonstrates preedit strings and the module
8323         system for input modules
8324
8325         * gtk/queryimmodules.c: Program to query the available
8326         input modules and write the results into a file.
8327          
8328         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
8329         extra config options "im_module_file" (cache file for
8330         input method modules), and "im_module_path" - path
8331         to look for modules when generating cache file.
8332
8333         This doesn't scale.
8334
8335 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
8336
8337         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
8338         generic code from gtkthemes into a new abstraction
8339         GtkModule which has the logic for implementing
8340         a loadable module which implements a number of 
8341         GObject types.
8342
8343 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
8344
8345         * gtk/gtkeditable.[ch]: Convert GtkEditable from
8346         a class into an interface  
8347         
8348         * gtk/gtkoldeditable.[ch]: Move the old editable
8349         implementation into here, so legacy widgets can
8350         still rely on the implemenation. GtkOldEditable
8351         exports GtkEditable. Make selection handling
8352         code use new text conversion functions (and
8353         handle UTF-8 as a side-effect). Use GtkClipboard
8354         for CLIPBOARD.
8355
8356         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
8357         Adopt to match above changes.
8358
8359         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
8360         avoid GtkOldEditable implementation. Restructure
8361         to reduce number of places that modify state directly.
8362         Move to GtkBindingSet. Display the preedit string.
8363         Queue recomputation of PangoLayout and scroll position
8364         to improve effiency of doing complex changes naively.
8365         Add a menu with cut/copy/paste and input method selection.
8366
8367 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
8368
8369         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
8370         to set preedit string and attributes; display preedit string by
8371         inserting string and attributes at cursor when creating the
8372         GtkTextLineDisplay.
8373
8374         * gtk/gtktextlayout.c: Move all conversions between byte
8375         positions in PangoLayout and GtkTextIter into new functions
8376         line_display_iter_to_index/index_to_iter that properly
8377         handle the preedit string.
8378
8379         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
8380         it to return const char * (eventually will end up
8381         as GCONST char *, most likely.)
8382
8383         * gtk/gtktextview.[ch]: Handle the preedit string, call
8384         gtk_im_context_reset() as necessary, add a menu to switch
8385         input methods.
8386         
8387         * gtk/gtktextlayout.[ch]: Remove useless
8388         gtk_text_layout_get_log_attrs() function.
8389
8390 2000-11-11  Tor Lillqvist  <tml@iki.fi>
8391
8392         * gdk/gdk.def
8393         * gtk/gtk.def: Update.
8394
8395         * gdk/win32/*.c: Add last argument to g_type_register_static()
8396         calls.
8397
8398         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
8399
8400         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
8401         generated by older wheel mouse drivers. Get the correct y
8402         coordinate from WM_MOUSEWHEEL messages.
8403
8404         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
8405         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
8406         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
8407         Debugging functions.
8408
8409         * gdk/win32/gdkprivate-win32.h: Declare them.
8410
8411         * gdk/win32/gdkinput-win32.h: Add declaration for
8412         gdk_input_window_destroy().
8413
8414         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
8415
8416 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
8417
8418         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
8419         function to help handle keeping things in sync.
8420
8421 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
8422
8423         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
8424         BOXED marshallers.
8425
8426         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
8427         (gtk_list_store_class_init): use the new BOXED marshallers.
8428
8429         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
8430         new_with_values to new_with_types.
8431         (gtk_tree_store_get_column_type): add this.
8432         (gtk_tree_store_class_init): use the new BOXED marshallers.
8433
8434         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
8435         mirror some POINTER marshallers.
8436
8437 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
8438
8439         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
8440         allow more interesting iterators.  Also, made the lifecycle of
8441         iterators more explicit.
8442
8443         * gtk/gtktreemodelsort.[ch]: New model for sorting.
8444
8445         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
8446         types.
8447
8448 2000-11-09  Alexander Larsson  <alexl@redhat.com>
8449
8450         * demos/testgtk/menus.c:
8451         Changes to make the new testgtk compile after
8452         gtk_menu_append was removed.
8453
8454         * gdk/linux-fb/gdkdrawable-fb2.c
8455         (gdk_fb_get_depth, gdk_fb_get_visual,
8456         gdk_drawable_impl_fb_class_init): Implement
8457         these drawable functions. Now GtkImages work again.
8458
8459         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
8460
8461         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
8462         
8463         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
8464         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
8465         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
8466         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
8467
8468 2000-11-08  Havoc Pennington  <hp@pobox.com>
8469
8470         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
8471         visible_set args, don't know where these had gone, I thought they
8472         used to be there
8473
8474         * gtk/testtext.c: Add a menu item to apply invisibility tag;
8475         now we can test the feature and see that it's totally broken.
8476
8477 2000-11-08  Havoc Pennington  <hp@pobox.com>
8478
8479         Make DND copy pixbufs and tags when source and target share a 
8480         tag table.
8481         
8482         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
8483         in-process GTK_TEXT_BUFFER_CONTENTS target
8484         (gtk_text_view_drag_data_received): Paste from
8485         GTK_TEXT_BUFFER_CONTENTS if we receive it.
8486
8487 2000-11-08  Alexander Larsson  <alexl@redhat.com>
8488
8489         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
8490         API changes.
8491
8492         * gtk/gtkmenu.c: Add support for scrolling menus.
8493         Remove gtk_menu_append/prepend/insert, these have been moved to
8494         gtkcompat.h as #defines.
8495
8496         * gtk/gtkcompat.h.in:
8497         Add compatibility #defines for gtk_menu_append/prepend/insert
8498
8499         * gtk/gtkmenu.h: Add data needed for scrolling menus.
8500         GtkMenuPositionFunc gets an extra argument push_in.
8501         gtk_menu_append/prepend/insert removed.
8502         
8503         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
8504         positioning behaviour to fit to scrolling menus.
8505
8506         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
8507         into menuitem->submeny. That is wrong, and broke torn
8508         off submenus of torn off menus, since they were unrealized
8509         when the first menu was unrealized.
8510
8511         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
8512         gtk_menu_shell_select_item() since these need to be overridden in
8513         GtkMenu.
8514
8515         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
8516         positioning behaviour to fit to scrolling menus.
8517         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
8518         the current item so that it is prelighted when the menu pops up.
8519         This is a workaround to the fact that the menu doesn't get the
8520         initial enter event (due to grabs).
8521
8522         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
8523         s/gtk_menu_append/gtk_menu_shell_append/
8524
8525         * gtk/gtknotebook.c:
8526         s/gtk_menu_insert/gtk_menu_shell_insert/
8527
8528         * gtk/testgtk.c (create_menu, create_menus):
8529         Create the first menu with 50 items so that menu scrolling
8530         can be tested.
8531         
8532         
8533         Patch from Jonathan Blandford  <jrb@redhat.com>
8534
8535         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
8536         system to handle size requests.  First, we ask what the size of
8537         the toggle is.  Then, when allocating the size, we allocate the
8538         toggle_size first.  This way we can have multiple menu-item
8539         classes w/o needing a seperate class for each.
8540
8541         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
8542         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
8543
8544         * gtk/gtkcheckmenuitem.c
8545         (gtk_check_menu_item_toggle_size_request): New function to handle
8546         the toggle size-request.
8547
8548 2000-11-07  Havoc Pennington  <hp@redhat.com>
8549
8550         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
8551         Half-ass somewhat fix this function, so that scrolling to the
8552         insertion point works. Pango hacking is in the future to really
8553         fix it.
8554
8555         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
8556         length of data, no longer used.
8557
8558         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
8559         method contents in here, get rid of destroy method
8560         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
8561         that were backward. Remove debug spew.
8562         (cut_or_copy): Make the clipboard work with insert_range to
8563         preserve tags and pixbufs, not just the primary selection.
8564
8565 2000-11-07  Havoc Pennington  <hp@redhat.com>
8566
8567         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
8568         to gtk_text_mark_get_visible
8569
8570         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
8571         bug that was generating an invalid iterator
8572
8573         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
8574         ensure_char_offsets() in front of code placing the iter in an
8575         invalid state.
8576
8577         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
8578         make override_location arg const
8579         (paste): Replace the selection if we paste into the 
8580         current selection
8581
8582         * gtk/gtkselection.h: Remove "GtkSelectioData"
8583         (struct _GtkSelectionData): move the definition here.
8584
8585         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
8586         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
8587
8588         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
8589
8590         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
8591         (gtk_text_buffer_insert_range_interactive): implement
8592         (gtk_text_buffer_get_tags): Remove, replaced by
8593         gtk_text_iter_get_tags()
8594
8595         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
8596         limit parameter, to avoid infinite linear scan.
8597         (gtk_text_iter_backward_search): Add search limit
8598         (gtk_text_iter_forward_find_char): Add search limit
8599         (gtk_text_iter_backward_find_char): Add search limit
8600
8601 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
8602
8603         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
8604         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
8605         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
8606         gdk/linux-fb/gdkwindow-fb.c:
8607         use g_object_new() instead of g_type_create_instance() which
8608         is a private function for fundamental type implementations.
8609
8610         * gdk/linux-fb/gdkinput-ps2.c:
8611         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
8612         instead just store the current modifier state. Add a (somewhat broken)
8613         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
8614         Rename exported function gdk_input_ps2_get_mouseinfo to
8615         gdk_input_get_mouseinfo.
8616
8617         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
8618         gdk/linux-fb/gdkwindow-fb.c:
8619         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
8620         
8621
8622 2000-11-02  Havoc Pennington  <hp@redhat.com>
8623
8624         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
8625         use stock buttons. Should be 100% source compatible, appropriate
8626         filesel fields now point to dialog->vbox and dialog->action_area.
8627         On the bizarre side, dialog->action_area and filesel->action_area
8628         are not the same widget.
8629         (gtk_file_selection_init): Put some padding around the selection
8630         entry, so it isn't touching the GtkDialog separator.    
8631
8632         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
8633         use stock buttons, etc. Should also be source compatible.
8634         Set the dialog default title in _init not _new().
8635         
8636         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
8637         Use stock buttons; don't put a button box inside the existing
8638         dialog button box. Don't bother with push/pop colormap anymore.
8639
8640         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
8641         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
8642         for message dialog, and necessary for the font selection and color
8643         selection with help and apply buttons.
8644         
8645         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
8646         to the created button widget. Set GTK_CAN_DEFAULT on the button.
8647         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
8648         between buttons, put less padding around the action area.
8649         (gtk_dialog_run): Exit on unmap rather than on destroy. 
8650         This will also exit the loop if the widget is hidden.
8651         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
8652         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
8653         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
8654         special-case delete event.
8655
8656         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
8657         formatting
8658         
8659 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
8660
8661         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
8662         button to temporarily disable position recording in the
8663         "saved position" test.
8664
8665 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
8666
8667         * gtk/gtkthemes.c: added compat code that temporarily implements
8668         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
8669         going to be revamped by owen's upcoming GtkModule patches, but
8670         untill then people want gtk to build, right? ;)
8671
8672 2000-11-04  Havoc Pennington  <hp@pobox.com>
8673
8674         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
8675         list
8676
8677         * docs/Changes-2.0.txt: Add note about
8678         gtk_container_get_toplevels()
8679
8680         * gtk/gtktextview.h: formatting
8681         
8682         * gtk/gtktextview.c: don't start descriptions with "Returns",
8683         confuses gtk-doc
8684
8685 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
8686
8687         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
8688         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
8689
8690 2000-11-03  Havoc Pennington  <hp@redhat.com>
8691
8692         * gtk/gtktexttagtable.c: Docs
8693         (gtk_text_tag_table_size): return a signed int
8694
8695         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
8696         (gtk_text_tag_event): make the event_object a GObject
8697
8698         * gtk/gtktextview.c: Write API docs for all functions.
8699
8700         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
8701         for gtk_text_view_get_window_type() called on one of the private
8702         windows.
8703
8704         * gtk/gtktextview.c: Instead of accessing text_view->buffer
8705         directly, call get_buffer() which demand-creates a default
8706         buffer. So gtk_text_view_new() can be used to create a view with a
8707         default buffer in it, if you just want an empty text box users can
8708         put data in. Useful for GUI builders also.
8709
8710 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
8711
8712         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
8713         the charset encodign portion MUST be in lowercase.
8714         * gtk/gtkrc.az: added file for Azeri language
8715
8716 2000-11-03  Havoc Pennington  <hp@redhat.com>
8717
8718         Get widgets working on the btree/buffer side. Display of them 
8719         still doesn't work.
8720         
8721         * gtk/gtktextview.c: start implementing child widget stuff
8722
8723         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
8724
8725         * gtk/gtktextlayout.c: handle embedded widgets
8726
8727         * gtk/gtktextdisplay.c: handle embedded widgets
8728
8729         * gtk/gtktextchild.c: Implement all the child anchor goo
8730
8731         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
8732         function
8733
8734         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
8735         (insert_pixbuf_or_widget_segment): abstract out common portions of 
8736         creating a child anchor or a pixbuf segment.
8737         (gtk_text_btree_create_child_anchor): new function
8738         (gtk_text_btree_unregister_child_anchor): new function
8739
8740         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
8741         allocate_child signal on GtkTextLayout
8742
8743         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
8744         values
8745         (gtk_text_iter_get_child_anchor): new function
8746
8747         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
8748         default handler for the changed signal, which calls
8749         gtk_text_buffer_set_modified(), instead of just always emitting
8750         changed then calling set_modified() manually. I guess this is
8751         maybe more flexible. It seems logical.
8752
8753 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
8754
8755         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
8756         now.
8757
8758         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
8759
8760 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
8761
8762         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
8763         been marked static.
8764
8765 2000-11-02  Havoc Pennington  <hp@redhat.com>
8766
8767         * gtk/testgtk.c (create_labels): had a test backward
8768
8769         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
8770         fields, so the dest GC ends up with the correct clip origin, 
8771         etc. Fixes a bug where colored labels didn't redraw 
8772         properly.
8773
8774 2000-11-02  Alexander Larsson  <alexl@redhat.com>
8775
8776         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
8777         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
8778         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
8779         Add last argument to t_type_register_static call.
8780         
8781         * gdk/linux-fb/gdkdrawable-fb2.c:
8782         Add last argument to t_type_register_static call.
8783         export the get_image drawable virtual function.
8784
8785         * gdk/linux-fb/gdkimage-fb.c:
8786         Add last argument to t_type_register_static call.
8787         rename gtk_image_get to _gdk_fb_get_image and
8788         export it for use by gdkdrawable-fb2.
8789
8790         * gdk/linux-fb/gdkprivate-fb.h:
8791         export _gdk_fb_get_image.
8792
8793         * gdk/linux-fb/gdkselection-fb.c:
8794         Add new api call stubs.
8795
8796         * gtk/Makefile.am:
8797         Missing ( in linux-fb part.
8798
8799         * modules/linux-fb/Makefile.am:
8800         Must link with gdk_pixbuf or get unresolved symbol.
8801
8802 2000-11-01  Havoc Pennington  <hp@pobox.com>
8803
8804         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
8805         GTK_TYPE_TEXT_ITER and BOXED marshallers
8806
8807         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
8808
8809         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
8810         
8811         * gtk/gtk-boxed.defs: add GtkTextIter
8812
8813         * gtk/gtkmarshal.list: Add marshallers for text widget that 
8814         properly use OBJECT and BOXED
8815
8816 2000-11-01  Havoc Pennington  <hp@redhat.com>
8817
8818         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
8819
8820         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
8821         before returning it. 
8822         
8823 2000-11-01  Havoc Pennington  <hp@redhat.com>
8824
8825         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
8826         Clip the rectangle to be rendered to the drawable, since
8827         get_from_drawable() requires a region within the drawable
8828
8829 2000-11-01  Havoc Pennington  <hp@redhat.com>
8830
8831         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
8832         from coordinates.
8833
8834 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
8835
8836         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
8837         it isn't NULL.
8838
8839 2000-11-01  Havoc Pennington  <hp@pobox.com>
8840
8841         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
8842         on a label
8843         (gtk_label_finalize): unref the attr list if any.
8844
8845         * gtk/testgtk.c (create_get_image): close test on second click
8846         (make_message_dialog): close dialog if it exists
8847
8848         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
8849
8850         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
8851         gdk-pixbuf
8852
8853         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
8854         from Pango markup format
8855         (gtk_label_set_markup_with_accel): ditto but with accelerator
8856         parsing
8857
8858         * gtk/gtkimage.c (gtk_image_expose): reformatting.
8859
8860         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
8861         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
8862         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
8863         call gdk_window_get_origin().
8864
8865         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
8866         implement GDK_PIXBUF_ALPHA_FULL
8867         
8868 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
8869
8870         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
8871         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
8872         g_signal_handlers_disconnect_matched to block/unblock and disconnect
8873         multiple handlers respectively, instead of only treating the
8874         first handler found (bug reported by owen).
8875
8876 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
8877
8878         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
8879
8880         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
8881
8882         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
8883         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
8884         gtk/gtktreeviewcolumn.h: Fixed inline docs.
8885
8886         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
8887         widget.  Needs writing someday.
8888
8889         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
8890         the docs.
8891
8892 2000-10-30  Havoc Pennington  <hp@redhat.com>
8893
8894         * gtk/gtktextview.h, gtk/gtktextview.c:
8895         Rename delete_at_cursor delete_from_cursor, and 
8896         move to move_cursor.
8897
8898 2000-10-30  Havoc Pennington  <hp@redhat.com>
8899
8900         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
8901         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
8902         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
8903         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
8904         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
8905         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
8906         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
8907         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
8908         gtktexttypes.h, gtktextview.c, gtktextview.h:
8909
8910         Massive reindentation and reformatting. Arg alignment and comments
8911         still need fixing in various places.
8912
8913 2000-10-30  Havoc Pennington  <hp@redhat.com>
8914
8915         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
8916         to be named insert_at_cursor and delete_at_cursor so C++ can
8917         handle them.
8918
8919 2000-10-28  Tor Lillqvist  <tml@iki.fi>
8920
8921         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
8922         to get a double directory separator in case the home directory
8923         ends with one. This would cause trouble especially on Windows,
8924         where the path will be confused with the syntax for an an UNC
8925         (network share) path \\server\share\path.
8926         (gtk_rc_add_initial_default_files): Ditto.
8927
8928 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
8929
8930         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
8931
8932         * gtk/gtktextview.c: Use correct marshallers.
8933
8934 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
8935
8936         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
8937         use new iter stuff, and added all the appropriate signals et al.
8938
8939         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
8940         code is internal to gtk only.
8941
8942 2000-10-28  Tor Lillqvist  <tml@iki.fi>
8943
8944         * gtk/gtk.def
8945         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
8946         glib-genmarshal etc.
8947
8948 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
8949
8950         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
8951         parallel builds.
8952
8953 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
8954
8955         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
8956
8957 2000-10-27  Robert Brady  <robert@suse.co.uk>
8958
8959         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
8960         en_GB (British), ia (Interlingua).
8961
8962 2000-10-26  Havoc Pennington  <hp@redhat.com>
8963
8964         * gtk/gtktextiter.c (my_strrstr): fix constness warning
8965
8966         Fixed output of:
8967         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
8968         
8969         * gtk/gtktextsegment.c (char_segment_new): rename
8970         (_char_segment_new_from_two_strings): rename
8971         (_toggle_segment_new): rename
8972         
8973         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
8974         (make_clipboard_widget): make it static
8975         (text_get_func): static
8976         (text_clear_func): static
8977
8978         * gtk/gtkcolorsel.c (adjustment_changed): make this function
8979         static
8980         (hex_changed): make it static
8981         (hsv_changed): make it static
8982         (opacity_entry_changed): make it static
8983
8984         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
8985         (toggle_segment_check_func): rename with _gtk
8986
8987         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
8988         (_widget_segment_new): rename
8989         (_widget_segment_add): rename
8990         (_widget_segment_remove): rename
8991         (_widget_segment_ref): rename
8992         (_widget_segment_unref): rename
8993
8994         * gtk/gtktextmark.c (_mark_segment_new): Rename
8995         _gtk_mark_segment_new   
8996
8997 2000-10-26  Havoc Pennington  <hp@redhat.com>
8998
8999         * gtk/gtkmarshal.list: add new marshallers used by the text widget
9000         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
9001         types
9002
9003         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
9004         marshaller types
9005
9006         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
9007         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
9008         license on these files.
9009
9010         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
9011         work.
9012
9013         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
9014         runtime random number different for each tree, instead of 
9015         a constant I made up.
9016
9017 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
9018
9019         * gtk/Makefile.am: buncha cleanups, kludged build sources
9020         dependencies with a Makefile: oldest-source-stamp dependancy
9021         for the moment. automake is really fighting us here, with
9022         intentionally not allowing user-defined rules or dependancies
9023         prior to it's -include $(DEP_FILES) statement. sucks rocks!
9024
9025         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
9026         to public headers. tehy have a comment stating that they are
9027         "semi-public" aren't included by gtk.h and if enums popup there,
9028         they can be /*< skip >*/-ed.
9029
9030         * gtk/gtktextlayout.h: 
9031         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
9032         added LGPL... <SIGH>
9033
9034 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
9035
9036         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
9037         GtkTreeIter.  Added iterators everywhere.
9038
9039         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
9040
9041         * gtk/gtktreeviewselection.c: Changed to use the iterators.
9042
9043         * gtk/gtktreestore.c: Changed to use the iterators.
9044
9045         * gtk/gtkliststore.c: Commented out the code.  Will convert to
9046         iterators tomorrow.
9047
9048         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
9049         iterators tomorrow.
9050
9051         * gtk/treestoretest.c: Changed to use iterators.
9052
9053         * demos/testgtk/main.c: Moved to use the new iterator system.
9054
9055 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
9056
9057         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
9058         localization misbehaviour.
9059
9060         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
9061         a useless type without copy/free.
9062
9063         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
9064         of GTK_TYPE_CTREE_NODE.
9065
9066 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
9067
9068         * gtk/gtksignal.c:
9069         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
9070         applicable.
9071
9072         * gtk/gtk-boxed.defs (GtkSelectionData): specify
9073         gtk_selection_data_copy and gtk_selection_data_free
9074         do GtkSelectionData work as params in signals.
9075
9076 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
9077
9078         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
9079         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
9080         couldn't they at least give it a non-standard name?
9081         
9082         * gtk/gtktextlayout.c: arg! yet another implementation of
9083         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
9084
9085         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
9086         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
9087         home. now i know this _is_ a conspiracy.
9088
9089         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
9090         ::state-changed.
9091
9092         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
9093         (gtk_accel_group_create_add): marshaller signature fixups.
9094
9095         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
9096         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
9097
9098         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
9099         anymore.
9100
9101 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
9102
9103         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
9104         due to the signal system changes, it wouldn't build currently. to
9105         be fixed soon.
9106
9107         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
9108
9109         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
9110         so it needs gtk_marshal_VOID__ENUM() instead of
9111         gtk_marshal_NONE__UINT().
9112
9113         * gdk/gdk*.c: adapted type registration functions.
9114
9115         * gtk/gtkbindings.c:
9116         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
9117         gone.
9118
9119         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
9120
9121         * gtk/gtkobject.c:
9122         (gtk_object_destroy):
9123         (gtk_object_shutdown): fixed recursion guards. basically we have to
9124         catch the case where any of GObject.shutdown() or gtk_object_destroy()
9125         is called during ::destroy, and avoid recursion there.
9126
9127         * gtk/gtktypeutils.c:
9128         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
9129         boxed_copy/boxed_free. this needs a more general solution based on a
9130         publically installed code-generator utility.
9131
9132         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
9133         glib's gobject has support for that now.
9134         define GtkSignalMarshaller in terms of GSignalCMarshaller.
9135
9136 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
9137
9138         * gtk/gtksignal.[hc]:
9139         * gtk/gtkmarshal.[hc]:
9140         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
9141         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
9142         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
9143         care of that.
9144
9145         * *.c: marshaller name fixups.
9146
9147         * gtk/gtkmarshal.list: added a comment briefing the format.
9148
9149 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
9150
9151         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
9152         compatibility macros here now. more specifically, most of
9153         the API is preserved (yes, _most_, nonwithstanding the
9154         following exceptions listed, the API is stil lHUGE ;)
9155         things that got removed completely:
9156         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
9157         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
9158         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
9159         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
9160         gtk_signal_remove_emission_hook().
9161         non-functional functions variants:
9162         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
9163         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
9164         not supported anymore.
9165         (gtk_signal_compat_matched): new internal function to aid
9166         implementation of the compatibility macros, it  provides
9167         functionality to block/unblock/disconnect handlers based
9168         on func/data.
9169
9170         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
9171
9172         * *.c: adaptions to new type registration API signatures.
9173
9174 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
9175
9176         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
9177
9178 2000-10-25  Robert Brady  <robert@suse.co.uk>
9179
9180         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
9181         gdk_property_delete): If window == NULL, assume the root window.
9182         (restoring the behaviour that was in 1.2).
9183         
9184         * gtk/testtext.c (save_buffer): Allow creation of new files when
9185         saving.
9186
9187         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
9188         calls to read().
9189
9190 2000-10-25  Tor Lillqvist  <tml@iki.fi>
9191
9192         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
9193
9194         * gdk/win32/gdkdrawable-win32.c
9195         * gdk/win32/gdkimage-win32.c
9196         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
9197         X11 backend.
9198
9199         * gdk/win32/gdkcc-win32.c
9200         * gdk/win32/gdkcolor-win32.c
9201         * gdk/win32/gdkfont-win32.c
9202         * gdk/win32/gdkinput-win32.c
9203         * gdk/win32/gdkmain-win32.c
9204         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
9205
9206 2000-10-24  Havoc Pennington  <hp@redhat.com>
9207
9208         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
9209         it a static function
9210
9211         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
9212         redraw text when a tag is applied to it.
9213
9214         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
9215         (gtk_text_tag_affects_nonsize_appearance): private functions to
9216         see if a tag requires various kinds of redraw/layout to be queued
9217         up.
9218
9219         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
9220
9221         * gtk/testtext.c (fill_example_buffer): Put the cursor 
9222         at the start of the buffer, so search works by default
9223
9224         * gtk/gtktextiter.c (lines_match): init match_start always
9225
9226         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
9227         function, get iter at a line + a byte index
9228
9229         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
9230         to set byte position within a line
9231         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
9232
9233 2000-10-23  Havoc Pennington  <hp@redhat.com>
9234
9235         * gtk/testtext.c: Re-enable the "find" dialog
9236
9237         * gtk/testgtk.c: Add test for gdk_drawable_get_image
9238         
9239         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
9240         the arguments to gdk_draw_drawable were in the wrong order
9241         (gdk_window_paint_init_bg): This function was ignoring the
9242         init_region, instead of clipping to it, so the entire backing
9243         pixmap was cleared on every begin_paint()
9244         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
9245         was in here again, the loop kept using the same GtkWindowPaint
9246         over and over.
9247         (gdk_window_begin_paint_region): Fix a bug where we had two
9248         x_offset instead of x_offset and y_offset
9249
9250         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
9251         before we get the image.
9252         (gdk_draw_drawable): get the composite before we draw the drawable.
9253         (gdk_drawable_real_get_composite_drawable): default
9254         get_composite_drawable implementation that returns the drawable 
9255         itself
9256
9257         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
9258         get_composite_drawable virtual function
9259
9260         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
9261         list-walking bug
9262
9263         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
9264         make this work if the source drawable is a GdkDrawableImplX11
9265         instead of a public drawable type. This is really broken; the
9266         problem is that GdkDrawable needs a virtual method get_xid(), but
9267         of course that doesn't work in practice. Enter RTTI.
9268
9269         Also, improve mismatched depth message.
9270
9271         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
9272         GdkPixmap
9273
9274         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
9275         install _gdk_x11_get_image as our implementation of get_image
9276         
9277         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
9278         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
9279
9280         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
9281         gdk_drawable_get_image
9282
9283         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
9284
9285         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
9286         get_image
9287
9288         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
9289         trailing semicolon after for loop
9290
9291 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
9292
9293         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
9294         where font_desc for widget's context lagged widget's font_desc by
9295         one step.
9296
9297 2000-10-22  Tor Lillqvist  <tml@iki.fi>
9298
9299         * gdk/win32/gdkgc-win32.c
9300         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
9301
9302         * gtk/makefile.mingw.in
9303         * gtk/gtk.def: Updates.
9304
9305         * gtk/testgtk.c: sleep() is called _sleep in MS's C
9306         library.
9307
9308         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
9309
9310         * gtk/makefile.msc: Remove
9311
9312         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
9313
9314         * gtk/Makefile.am: Add it.
9315
9316         * configure.in: Generate it.
9317
9318         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
9319         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
9320         something even if not implemented, to satisfy picky MSVC.
9321
9322         Patches by Hans Breuer:
9323         
9324         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
9325         SetBkMode() and SetTextAlign() before calling
9326         pango_win32_render().
9327
9328         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
9329         Set hcliprgn to NULL after destroying it.
9330         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
9331
9332         * gdk/win32/gdkgeometry-win32.c
9333         (_gdk_windowing_window_queue_antiexpose): More effective
9334         implementation.
9335
9336         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
9337         depth as default, not the visual's.
9338
9339         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
9340         against empty title.
9341
9342         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
9343         IMAGE_PRIVATE_DATA.
9344
9345         * gdk/win32/gdkimage-win32.c: Use it.
9346
9347 2000-10-22  Robert Brady  <robert@suse.co.uk>
9348
9349         * configure.in: Check for bind_textdomain_codeset
9350
9351         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
9352         present, make use of it.
9353
9354         Add a translatable string "default:LTR" which, if translated
9355         to "default:RTL", will cause the default direction to be
9356         Right-to-Left.
9357
9358         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
9359         direction if marked as flippable.
9360
9361         * gtk/gtkhscale.c: Mark widget as flippable.
9362         
9363 2000-10-04  Havoc Pennington  <hp@redhat.com>
9364
9365         * gtk/testgtk.c (create_buttons): create some stock buttons
9366         with the default accel group
9367         (create_image): test some new GtkImage features
9368         (make_message_dialog): test GtkMessageDialog
9369         (create_modal_window): fix someone's bizzarro indentation
9370
9371         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
9372         GTK_WIN_POS_CENTER_ON_PARENT. 
9373         Add "destroy with parent" setting, which means the window goes
9374         away with its transient parent.
9375         (gtk_window_get_default_accel_group): get the default accel group
9376         for the window.
9377         (gtk_window_set_destroy_with_parent): set/unset destroy with
9378         parent flag
9379         (gtk_window_read_rcfiles): invalidate icon set caches
9380         after reloading rcfiles 
9381
9382         * gtk/gtkenums.h (GtkWindowPosition): add
9383         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
9384         on its parent window when the dialog is mapped for the first time.
9385
9386         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
9387         a simple message dialog class
9388         
9389         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
9390         handler to emit response signal, and maybe later it would
9391         honor a hide_on_delete flag - though that isn't there yet.
9392         Set border width on the vbox to 2, so we get some padding.      
9393         Use a button box for the action area.
9394         (gtk_dialog_key_press): synthesize a delete event if Esc
9395         is pressed and the GtkWidget key press handler didn't 
9396         handle the escape key.
9397         (gtk_dialog_new_with_buttons): new function creates a dialog
9398         with some default buttons in it.
9399         (gtk_dialog_add_action_widget): add an activatable widget
9400         as a button in the dialog - you can also add a non-activatable
9401         widget by accessing the action area directly.
9402         (gtk_dialog_add_button): add a simple button - stock ID or 
9403         label - to the action area
9404         (gtk_dialog_response): emit response signal
9405         (gtk_dialog_run): block waiting for the dialog, return 
9406         the response. Override normal delete_event behavior, so that 
9407         delete_event does nothing inside gtk_dialog_run().
9408
9409         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
9410         emitted when an action widget is clicked or the dialog gets
9411         delete_event
9412
9413         * gtk/gtk.h: add gtkmessagedialog.h
9414
9415         * gtk/Makefile.am: add gtkmessagedialog.[hc]
9416
9417 2000-10-18  Havoc Pennington  <hp@redhat.com>
9418
9419         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
9420         where any number of empty lines would get skipped
9421
9422         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
9423         edge.
9424
9425         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
9426         warning about invalid iterators (explain more thoroughly)
9427         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
9428
9429         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
9430         big
9431
9432         * demos/*.c: Add error handling
9433
9434         * gtk/gtktextbuffer.c: don't modify const iterators
9435
9436         * gtk/gdk-pixbuf-loader.c: Add full error handling here
9437
9438         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
9439         on file load
9440
9441         * gtk/gtkiconfactory.c: Update to reflect addition of error
9442         handling to gdk-pixbuf loaders
9443
9444 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
9445
9446         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
9447         move to new modularized testgtk.
9448
9449 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
9450
9451         * gtk/gtktreeview.c: Draw the arrows correctly.
9452
9453         * gtk/gtktreemodel.c: Added user docs.
9454
9455         * gtk/gtk.h: remove gtktreedatalist.h.
9456
9457         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
9458         parent when generating my type.
9459
9460         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
9461         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
9462
9463 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
9464
9465         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
9466         GtkTreeModel from object to interface.
9467
9468 2000-10-16  Havoc Pennington  <hp@redhat.com>
9469
9470         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
9471         compilation
9472
9473 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
9474
9475         * gtk/gtktreeselection.c: Add API documentation to all public
9476         functions.
9477
9478         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
9479         functions.
9480
9481 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
9482
9483         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
9484         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
9485         docs to all public functions.
9486
9487         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
9488         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
9489         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
9490         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
9491         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
9492         issue.
9493
9494 2000-10-14  Robert Brady  <robert@suse.co.uk>
9495
9496         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
9497
9498 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
9499
9500         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
9501         values other then G_TYPE_STRING.
9502         * gtk/gtktreeselection.c: Minor commenting updates.
9503         * gtk/gtktreeview.c: Format updates.
9504
9505 2000-10-09  Tor Lillqvist  <tml@iki.fi>
9506
9507         * README.win32: Update.
9508
9509         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
9510         lines that had been deleted by mistake (?).
9511
9512         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
9513         also the case fg==white and bg==black (but still not randomly
9514         coloured cursors). Thanks to Wolfgang Sourdeau.
9515
9516         * gdk/win32/*.c: Silence gcc -Wall.
9517
9518         * gtk/gtk.def: Add missing entry points.
9519
9520         Fixes by Hans Breuer:
9521
9522         * gdk/makefile.msc
9523         * gdk/win32/makefile.msc: Update.
9524
9525         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
9526         some MSVC thing, presumably), cause breakpoint on failures. Add
9527         GDK_NOR case. Call g_log_set_always_fatal.
9528
9529         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
9530         should be pased by reference.
9531         
9532         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
9533         
9534         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
9535
9536         * gdk/win32/gdkevents-win32.c
9537         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
9538
9539         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
9540         implementation object.
9541
9542         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
9543         not just windows.
9544         
9545         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
9546         Use the wrapper object.
9547         
9548 2000-10-06  Havoc Pennington  <hp@redhat.com>
9549
9550         * Makefile.am (SRC_SUBDIRS): contrib subdir
9551
9552         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
9553         so it can be used in Xlib version
9554
9555         * demos/testpixbuf.c (update_timeout): error checking from 1.0
9556         tree
9557
9558         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
9559         change from 1.0 tree that returns first frame of animation
9560         if the loaded file is an animation.
9561
9562         * contrib: add new directory to hold stuff that comes with GTK+
9563         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
9564         
9565         * configure.in: add contrib/*
9566
9567 2000-10-05  Havoc Pennington  <hp@redhat.com>
9568
9569         * demos/testpixbuf-save.c: add pixbuf save test
9570
9571         * demos/Makefile.am: add testpixbuf-save.c
9572
9573 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
9574
9575         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
9576         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
9577         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
9578         * gtk/gtktreeselection.[ch]: Replaced
9579         "node_selected"/"node_unselected" signal with "selection_changed"
9580         signal.
9581
9582 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
9583
9584         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
9585         tree widget.
9586
9587 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
9588
9589         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
9590         drawing.
9591
9592 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
9593
9594         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
9595         Move list pointer forwards before removing item from
9596         list. (Crash reported by Salmaso Raffaele)
9597
9598         * gdk/gdkwindow.h: Remove spurious trailing ,
9599
9600         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
9601         dependencies on uninstalled libraries, sorry folks.
9602
9603 2000-10-04  Havoc Pennington  <hp@redhat.com>
9604
9605         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
9606         gtk/gtkiconfactory.c: Fix copyrights    
9607
9608         * demos/testpixbuf.c: add inline pixbuf test
9609         
9610 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
9611
9612         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
9613         Add gdk_window_iconify.
9614
9615         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
9616         (gdk_window_set_geometry_hints): Add win_gravity
9617         to geometry structure.
9618
9619         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
9620         Implement _NET_WM_PING.
9621
9622         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
9623         Set _NET_WM_PID on the client leader.
9624
9625         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
9626         Handle UTF-8 better.
9627
9628         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
9629         UTF-8 better, set _NET_WM_NAME as well. Only set
9630         icon name if it hasn't previously been explicitely 
9631         set.
9632
9633 2000-10-03  Havoc Pennington  <hp@redhat.com>
9634
9635         * gtk/testtextbuffer.c: clean up trailing whitespace,
9636         add extensive tests for tag toggle iteration.
9637         
9638         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
9639         distance
9640
9641         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
9642         optimize case where the tag root is on level 1
9643         (gtk_text_line_previous_could_contain_tag): attempt to implement
9644         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
9645         functionality
9646
9647         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
9648         Implement this, though not very efficiently.
9649
9650         * gtk/gtktextiterprivate.h: reformat
9651
9652         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
9653         iterator
9654
9655         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
9656         this to properly revalidate the iterators.
9657
9658         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
9659         properly at the end of the line (and therefore on empty lines)
9660
9661         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
9662         maybe we should return a value...
9663
9664 2000-10-03  Tor Lillqvist  <tml@iki.fi>
9665
9666         * config.h.win32: Guard definition of alloca(). glib.h now handles
9667         that.
9668
9669         * gdk/gdk.def
9670         * gtk/gtk.def: Add new entry points.
9671
9672         Changes just to make GTK+ build without errors on Win32. No hope
9673         of it working in its current state, though...:
9674         
9675         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
9676         some functions from the X11 backend, just to make GTK+ build.
9677
9678         * gdk/makefile.mingw.in
9679         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
9680         number. Add new object files.
9681
9682         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
9683         GetMessageTime to get timestamp (where on X11 uses
9684         gdk_x11_get_server_time()).
9685
9686 2000-10-02  Havoc Pennington  <hp@pobox.com>
9687
9688         * gtk/gtktextview.c: text_window_* weren't static and should have
9689         been.
9690         Start work on child widgets; not yet complete, syncing to 
9691         office computer.
9692
9693         * gtk/gtktextchild.h: change this to contain a public interface,
9694         starting work on child interfaces.
9695         * gtk/gtktextchildprivate.h: move private interfaces here
9696
9697         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
9698
9699         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
9700         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
9701         gtk/gtktextmark.c: copyright notices
9702
9703         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
9704         internal functions      
9705
9706         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
9707         internal function
9708
9709         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
9710         Reformatting    
9711
9712 2000-09-30  Havoc Pennington  <hp@pobox.com>
9713
9714         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
9715         NULL start/end pointers
9716
9717         * gtk/gtktextbuffer.c: Write some docs
9718         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
9719         NULL, so you can just check whether there's a selection.        
9720
9721         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
9722         cleanup_line or segments_changed ourselves, it gets done 
9723         in unlink_segment
9724
9725         * gtk/gtktextmark.h:
9726         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
9727         
9728         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
9729
9730         * gtk/gtktextmark.c: delete some more old Tk cruft
9731
9732         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
9733         mark before removing it, so we can emit MARK_DELETED with a valid
9734         pointer.
9735         (gtk_text_buffer_mark_set): hold ref across signal emission
9736
9737         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
9738         whining about attempts to delete special marks
9739
9740         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
9741         underscore, since it's internal.
9742
9743         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
9744         now implemented in terms of iterators in gtktextiter.h
9745
9746         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
9747         New function, destructively sets contents of buffer. Also 
9748         a convenient way to clear the buffer by setting text to ""
9749
9750         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
9751         multiline string literal
9752
9753         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
9754         text changes.
9755
9756         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
9757         is not dereferenceable
9758         (gtk_text_iter_forward_lines): fix return value
9759
9760 2000-09-29  Havoc Pennington  <hp@redhat.com>
9761
9762         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
9763
9764         * gtk/gtktextview.c: Implement drag thresholding; change functions 
9765         that set border window size to have nicer name
9766         (gtk_text_view_mark_set_handler):  Fix this to have the 
9767         right signature.
9768
9769         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
9770
9771         * gtk/testtext.c: Update with API changes, put line numbers on 
9772         both sides.
9773         
9774         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
9775         with this
9776
9777         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
9778         pixbuf; delete a big block of #if 0 Tk code
9779
9780         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
9781         insert_pixmap with insert_pixbuf
9782
9783 2000-09-29  Martin Baulig  <baulig@suse.de>
9784
9785         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
9786         confusion with the GdkPixbuf of the GNOME 1.x platform.
9787
9788 2000-09-29  Havoc Pennington  <hp@pobox.com>
9789
9790         * gtk/gtktextview.c: Implement the side windows.
9791
9792         * gtk/testtext.c: Implement simple line numbering in the 
9793         left side window; seems to make scrolling sloooow. Oops.
9794         Also, cursor blink is for some reason causing redraws
9795         of the line numbers. Should investigate...
9796
9797 2000-09-28  Havoc Pennington  <hp@redhat.com>
9798
9799         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
9800         scrolling child windows, and draw focus rectangle properly.
9801         
9802         (gtk_text_view_buffer_to_window_coords):
9803         Coordinate transformation to deal with all these freaking windows
9804         and offsets
9805         (gtk_text_view_window_to_buffer_coords): transform the other way
9806
9807         * gtk/testtext.c (create_buffer): Update to match Pango API change
9808
9809         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
9810         anonymous tags
9811         (foreach_unref): don't emit remove signal from finalize, just
9812         set tag's parent to NULL
9813
9814 2000-09-26  Havoc Pennington  <hp@redhat.com>
9815
9816         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
9817         Fix some warnings       
9818
9819 2000-09-26  Havoc Pennington  <hp@redhat.com>
9820
9821         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
9822         headers into the private header list
9823
9824         * Makefile.am (pkgconfig_DATA): install pkg-config files
9825
9826         * configure.in: add pkg-config files
9827
9828         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
9829
9830         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
9831         outstanding icon caches on theme change.
9832
9833         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
9834         important types:
9835
9836         (GtkIconSource): Specification for creating a pixbuf 
9837         appropriate for a direction/state/size triplet from 
9838         a source pixbuf or filename
9839
9840         (GtkIconSet): List of GtkIconSource objects that are used to
9841         create the "same" icon (e.g. an OK button icon), and cache for
9842         rendered icons
9843
9844         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
9845         up the icon set for a given stock ID.  GTK maintains a stack of
9846         GtkIconFactory to search, and applications or libraries can add
9847         additional icon factories on top of the stack
9848         
9849         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
9850         the set of GtkIconSource specified for a given stock ID into 
9851         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
9852         RcStyle, under the specified stock ID.
9853
9854         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
9855         render_icon used to derive a GdkPixbuf from a GtkIconSource.
9856         This allows people to theme how prelight, insensitive, etc. are
9857         done.
9858
9859         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
9860         icon factories for a style, and return the resulting 
9861         icon set if any.
9862
9863         (gtk_style_render_icon): Render an icon using the render_icon 
9864         method in the GtkStyleClass.
9865
9866         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
9867         Use the style for a given widget to look up a stock ID, get the
9868         icon set, and render an icon using the render_icon method 
9869         of the style
9870
9871         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
9872         (contains information about a stock item), the built-in stock item
9873         IDs, and functions to add/lookup stock items.
9874
9875         * gtk/stock-icons/*: Stock icons that come with GTK
9876
9877         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
9878         a button based on a GtkStockItem
9879         (gtk_button_new_accel): Takes a uline string and accel group, and
9880         installs the accelerator.
9881
9882         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
9883         image-display widget.
9884
9885 2000-09-25  Havoc Pennington  <hp@redhat.com>
9886
9887         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
9888
9889         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
9890         Fix a bug when removing node data, we didn't properly 
9891         re-splice the linked list after removing the data.
9892
9893         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
9894         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
9895
9896         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
9897
9898         * gtk/gtktextlayout.c (set_para_values): Set tab array 
9899         for the layout from the GtkTextTag.
9900
9901         * gtk/gtktexttypes.h: delete tab and search cruft, 
9902         remove g_convert() in favor of GLib version
9903
9904         * gtk/gtktexttypes.c: remove tab implementation from here,
9905         move to Pango
9906
9907         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
9908         tab stuff using new PangoTabArray from Pango
9909
9910         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
9911         unused border_width stuff
9912
9913 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
9914
9915         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
9916         glib) and now useless utf_to_latin1() latin1_to_utf()
9917
9918         * gtk/gtktextview.[ch]: Change ::move_insert and
9919         ::delete_text action signals to ::move and ::delete;
9920         create the signals with the right enumeration type,
9921         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
9922         C-v bindings, change Home, End to move to beginning/end
9923         of line, Add C-Home C-End to move to beginning/end
9924         of buffer. Change ::cut_text to ::cut_clipboard, etc;
9925         combine ::scroll_text into ::move; use new GtkSelectionData
9926         functions to simplify DND text handling.
9927         
9928         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
9929         deletion enumerations here, rename enumeration values to 
9930         be consistently plural.
9931
9932         * gtk/gtktextbuffer.c: Use new clipboard interfaces
9933         for cut/copy/paste and primary selection.
9934
9935         * gtk/gtktextbuffer.[ch]: Remove excess time and
9936         'interactive' arguments from cut/copy/paste;
9937         rename cut to cut_clipboard, etc; remove
9938         gtk_text_buffer_get_clipboard_contents().
9939
9940         * gtk/gtktextlayout.[ch]: Add 
9941         gtk_text_layout_move_iter_to_line_end() to move the iter to 
9942         line ends.
9943
9944         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
9945         Functions to set or get a UTF-8 string on the selection
9946         data.
9947
9948         * gtk/gtkclipboard.[ch]: New, simplified selection handling
9949         interfaces.
9950
9951         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
9952         created widgets - one of these is useless if we don't.
9953
9954         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
9955         a public function clear all targets registered for the
9956         widget.
9957
9958         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
9959         Never call gtk_widget_realize() - that was just asking
9960         for bizarre side-effects.
9961
9962         * gtk/gtkselection.c (gtk_selection_owner_set): Call
9963         gdk_selection_owner_set even if the widget is the
9964         same so that we reliably update the timestamp on
9965         the server.
9966
9967         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
9968         gdk_x11_get_server_time() function.
9969         
9970         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
9971         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
9972         Add some tricky filtering on serial numbers for
9973         selection clear events to fix up long-standard
9974         race condition FIXME's in gtkselection.c.
9975
9976         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
9977         routines to convert from utf8 to compound text or
9978         STRING and from a text property to UTF-8.
9979
9980         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
9981         a convenience function gdk_get_current_event_time().
9982
9983         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
9984         and free selection_data->data properly
9985
9986 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
9987
9988         * gtk/gtkthemes.c: Remove some unecessary includes.
9989
9990 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
9991
9992         * gtk/gtktextdisplay.c
9993         * gtk/gtktextlayout.c
9994         * gtk/gtktexttag.c
9995         * gtk/gtktexttag.h
9996         * gtk/testtext.c: Change the overstrike property to strikethrough,
9997         to closer match pango.
9998
9999 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
10000
10001         * gtk/gtktextview.c: Fix up visibility so that focus,
10002         cursor_visible and blink interact properly.  Reenable cursor blink
10003         which had been roughly disabled. Make blink and focus
10004         properly per-view.
10005
10006         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
10007         Add a flag for whether to display insertion cursor and
10008         a function to set the flag.
10009
10010         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
10011         get_line_y() to get_line_yrange(), to be a bit more generally
10012         useful.
10013
10014 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
10015
10016         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
10017           do stop_navigating_submenu, to clear last timeout properly.
10018           Also in gtk_menu_motion_notify move ignore_enter above
10019           the conditional to make it always happen as suggested by Owen
10020
10021 2000-09-07  Tor Lillqvist  <tml@iki.fi>
10022
10023         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
10024
10025         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
10026         w32api headers.
10027
10028         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
10029         declarations.
10030
10031         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
10032         (gdk_win32_get_colormap): A line had been deleted by mistake.
10033
10034         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
10035         (gdk_event_translate): Handle more virtual keycodes to be able to
10036         generate GDK events for Control-comma, Control-period, etc.
10037
10038         * gtk/gtk.def: Add some missing entry points.
10039
10040 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
10041
10042         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
10043         Doc comment fixing. (Mostly non-matching parameter names.)
10044
10045         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
10046         comments a little to avoid looking like a doc comment.
10047
10048         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
10049         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
10050         conversions be changed to GError?)
10051
10052         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
10053         Move private #defines into .c file.
10054
10055         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
10056         order of argument addition, remove duplicates.
10057
10058         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
10059         parent class is FrameClass, not BinClass.
10060
10061         * gtk/gtk.h: Add gtkinvisible, which was missing.
10062         (It's occasionalyl useful for client apps, if seldom.)
10063
10064         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
10065         #define.
10066
10067 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
10068
10069         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
10070         coordinates when creating window, instead of GDK-space
10071         coordinates. (Avoid BadValue on too large windows.)
10072
10073 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
10074
10075         * configure.in (use_mmx_asm): Remove conftest* after use along the
10076         lines of AC_TRY_COMPILE.        
10077         
10078         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
10079         of g_dirname, which is deprecated.
10080         (gtk_rc_parse_any): Removed calls to
10081         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
10082
10083         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
10084         Removed calls to g_hash_table_{freeze,thaw}, as they are
10085         deprecated now.
10086
10087         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
10088         instead of g_basename.
10089         
10090 2000-09-04 Elliot Lee <sopwith@redhat.com>
10091         
10092         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
10093         ANSI warning.
10094
10095 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
10096
10097         * gtk/gtkwidget.h:  Add some documenting comments about 
10098           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
10099           just as owen said on irc.
10100
10101         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
10102           set HAS_DEFAULT.  Only set it if there isn't another window
10103           holding it (a focus window which RECEIVES_DEFAULT) and only unset
10104           it if the widget is not the focused window with RECEIVES_DEFAULT.
10105           This fixes weird double default bugs in dialogs which has things
10106           call gtk_window_set_default at times.
10107
10108 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
10109
10110         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
10111         Nils Barth and David Santiago to improve submenu
10112         navigation. The patch does this by creating a triangular
10113         region from the point where the pointer leaves the
10114         menu to the submenu.  While the pointer is in
10115         that region and a timeout has not expired, events 
10116         that would cause the active submenu to change are
10117         ignored.
10118
10119 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
10120
10121         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
10122         moving a toplevel window immediately after sizing it would
10123         result in it being sized back to the old size since 
10124         impl->width, impl->height aren't updated until we hear
10125         back from the server. There is still a (longstanding) bug
10126         here that gdk_window_get_size() will give the wrong size
10127         until we do hear back.
10128
10129 2000-08-31  Havoc Pennington  <hp@redhat.com>
10130
10131         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
10132         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
10133         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
10134         Rename GtkTextStyleValues to GtkTextAttributes
10135
10136 2000-08-31  Havoc Pennington  <hp@pobox.com>
10137
10138         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
10139         for rapid testing whether an iterator is the end iterator
10140         (gtk_text_btree_new): init end line cache
10141         (gtk_text_line_is_last): use fast cached line to 
10142         see if we're the last line.
10143         (get_last_line): use cached line here too, should 
10144         speed up some random unrelated code.
10145         
10146 2000-08-30  Havoc Pennington  <hp@pobox.com>
10147
10148         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
10149         signals.
10150
10151         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
10152         delete_text signals. This allows the signals to be used for
10153         implementing undo.
10154
10155         * gtk/gtktextbuffer.c: Change signal handler signatures; 
10156         provide "interactive" argument when emitting insert_text or
10157         delete_text signal.
10158         
10159 2000-08-30  Havoc Pennington  <hp@pobox.com>
10160
10161         * gtk/gtktextbuffer.c: Docs
10162
10163 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
10164
10165         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
10166         from switch statements, since Tor removed the enumeration
10167         value.
10168         
10169         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
10170         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
10171
10172 2000-08-29 Elliot Lee <sopwith@redhat.com>
10173         * */*.h: Use G_GNUC_CONST.
10174
10175 2000-08-27  Havoc Pennington  <hp@pobox.com>
10176
10177         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
10178         minor indentation fixes, inserted some FIXME about stuff I
10179         realized was broken while documenting it.
10180         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
10181         GTK convention  
10182
10183 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
10184
10185         * gtk/testgtk.c (create_styles): Fix double free of
10186         font desc.
10187
10188 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
10189
10190         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
10191         
10192         * gtk/testgtk.c (create_styles): Add a test for modifying
10193         the style through gtk_widget_modify_*.
10194
10195         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
10196         a function to get the current modifier style.
10197
10198         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
10199         of the passed in GtkRcStyle instead of ref'ing it.
10200
10201         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
10202
10203 2000-08-20  Tor Lillqvist  <tml@iki.fi>
10204
10205         * gdk/gdkimage.h
10206         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
10207         shared memory image+pixmap GdkImage type, or
10208         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
10209         I am dropping that.
10210
10211         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
10212         actually call gtk_init_abi_check(), passing also
10213         sizeof(GtkWindow). Ditto for gtk_init_check(). 
10214
10215         * gtk/gtk.def
10216         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
10217         New functions, used to check that the GTK+-using code has been
10218         compiled using the correct compiler and switches. In particular,
10219         with gcc one has to use the -fnative-struct switch as GTK+ is
10220         compiled with that.
10221
10222 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
10223
10224         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
10225         ->prev fields when merging lists. (Found simultaneously
10226         by Pawel Salek and Jakub Jelinek)
10227
10228 2000-08-12  Tor Lillqvist  <tml@iki.fi>
10229
10230         * gdk/gdk.def
10231         * gtk/gtk.def: Add missing entries.
10232
10233         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
10234         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
10235
10236         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
10237         function. Dummy implementation at this point.
10238
10239         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
10240         rules. Undefine GTK_COMPILATION when compiling the test programs.
10241         
10242         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
10243
10244 2000-08-11  Tor Lillqvist  <tml@iki.fi>
10245
10246         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
10247         to convert back and forth from UTF-8 and the "system" (or "current
10248         locale") charset when necessary. Indentation/spacing cleanup.
10249
10250 2000-08-10  Havoc Pennington  <hp@redhat.com>
10251
10252         * Makefile.am (snapshot): Change the format of the snapshot
10253         version to match glib
10254
10255         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
10256         from EXTRA_DIST since it doesn't seem to exist
10257
10258 2000-08-10  Tor Lillqvist  <tml@iki.fi>
10259
10260         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
10261         version of the directory name (not the UTF-8 one) when building
10262         the path name to stat().
10263
10264 2000-08-03  Elliot Lee  <sopwith@redhat.com>
10265
10266         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
10267         PANGO_ATTR_SHAPE set.
10268
10269 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
10270
10271         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
10272         Peter Osterlund to simplify the code while keeping the
10273         functionality the same.
10274
10275 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
10276
10277         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
10278         is_viewable() test further inside the function, since removing the 
10279         window from the redraw list without clearing ->update_area
10280         was also very broken.
10281
10282 2000-08-02  Tor Lillqvist  <tml@iki.fi>
10283
10284         * configure.in: Check for <unistd.h>.
10285
10286 2000-08-01  Martin Baulig  <baulig@suse.de>
10287
10288         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
10289         to display the message that this is a development version of GTK+.
10290
10291 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
10292
10293         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
10294         was depending on widget->allocation instead of the width of text_area,
10295         which was incorrect for subclasses like GtkSpinButton.
10296
10297         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
10298         with width == 1 tests that should be width == -1.
10299
10300 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
10301
10302         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
10303         (broken, Elliot, every single window blank on X) custom code with call
10304         to gdk_window_is_viewable() which a) prevents code duplicate and
10305         b) works. 
10306
10307 2000-07-31  Elliot Lee  <sopwith@redhat.com>
10308
10309         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
10310         to get the GDK_PARENT_ROOT() macro to work.
10311         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
10312         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
10313         of, windows that aren't shown.
10314         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
10315         pointer grab stuff.
10316
10317 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
10318
10319         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
10320           s/gtk_main_iteration/g_main_iteration/
10321
10322           Did this already in change:
10323                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
10324           don't know how it got reverted.
10325
10326 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
10327
10328         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
10329         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
10330
10331         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
10332         not gdk_pixbuf.
10333
10334 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
10335
10336         * configure.in,po/{sp,sr}.po: Added Serbian files
10337
10338 2000-07-30  Tor Lillqvist  <tml@iki.fi>
10339
10340         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
10341
10342         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
10343         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
10344         GIOChannel implementation.
10345
10346         * gdk/win32/gdkinput.c
10347         * gdk/win32/gdkpango-win32.c: Update license name here, too.
10348
10349         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
10350         definition to match prototype.
10351
10352         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
10353
10354 2000-07-27  Elliot Lee  <sopwith@redhat.com>
10355
10356         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
10357         function, to allow handling image formats that cannot be detected
10358         by looking at content alone.
10359
10360 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
10361
10362         * docs/tutorial/*.gif *.jpg *.eps
10363           Update these to the same look-n-feel.
10364           Why does including images in DocBook suck so badly?
10365
10366 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
10367
10368         * gtk/gtktable.c: applied patch from Phil Thompson
10369         <phil@river-bank.demon.co.uk> that enables space settings for
10370         the last row/columns as well.
10371
10372 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
10373
10374         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
10375         updates the license headers to the GNU Lesser General Public License,
10376         as well as updating the copyright year to 2000.
10377
10378 2000-07-26  Robert Brady  <rwb197@zepler.org>
10379
10380         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
10381           and po/Makefile, was installing and looking for them under gtk20
10382           and gtk2 respectively.
10383
10384 2000-07-25  Havoc Pennington  <hp@redhat.com>
10385
10386         * gtk/testtext.c: Comment out some stuff that depends on the rest
10387         of my patches.
10388
10389 2000-07-25  Havoc Pennington  <hp@redhat.com>
10390
10391         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
10392         buffer
10393
10394 2000-07-25  Havoc Pennington  <hp@redhat.com>
10395
10396         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
10397         widget changes.
10398
10399         * gtk/gtktextview.h: To be consistent with usage of "line"
10400         throughout the API to mean "newline-terminated thingy", change
10401         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
10402         to MOVEMENT_LINE.
10403
10404         (GtkTextView): Add flags for default editability, and whether to
10405         show the cursor. Add functions to get/set that. Add 
10406
10407         (gtk_text_view_get_iter_location): new function
10408
10409         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
10410         gtktextlayout.h
10411         (g_convert): Add g_convert temporarily, will go in glib in a bit
10412         
10413         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
10414         GtkTextTagTableForeach instead of brokenly using GHFunc.
10415         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
10416
10417         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
10418         moved to public header.
10419
10420         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
10421         "invisible", since "elide" was a bad name.
10422         (gtk_text_tag_get_priority): Added
10423
10424         (GtkTextStyleValues): put this in public header, along with
10425         functions to use it.
10426
10427         * gtk/gtktextmarkprivate.h: Include more headers, since we no
10428         longer include gtktextbtree.h.
10429
10430         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
10431         gtk_text_mark_deleted
10432
10433         * gtk/gtktextlayout.h: Don't include the "really private" headers,
10434         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
10435         to make this possible. Now we only need to install
10436         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
10437         (However the Makefile.am isn't changed yet because of the
10438         logistics of merging gtk-hp-patches piecemeal)
10439
10440         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
10441         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
10442         gtk_text_iter_get_line is now used in the public API for a
10443         different purpose.
10444
10445         * gtk/gtktextiter.h: Clean up function names to be more
10446         consistent. Always call char offset "offset" and byte index
10447         "index". A "line" is always a line number. 
10448
10449         (gtk_text_iter_is_last): new function, more efficient than 
10450         the existing way to check
10451         (gtk_text_iter_is_first): new function, also more efficient
10452
10453         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
10454
10455         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
10456         gtk_text_iter_forward_char, etc.
10457
10458         (gtk_text_iter_forward_to_tag_toggle): Renamed from
10459         forward_find_tag_toggle, since this isn't a linear search
10460
10461         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
10462
10463         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
10464         New functions, search for a buffer substring.
10465
10466         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
10467         interactive and default editable (since we need to store that info
10468         until we receive the selection data).
10469
10470         Remove all the _at_char and at_line etc. versions of functions;
10471         only have iterator versions.
10472
10473         Add _interactive() versions of functions, that consider the
10474         editability of text. (FIXME add interactive flag to the 
10475         insert/delete signals per Darin's suggestion)
10476
10477         (gtk_text_buffer_get_tag_table): new function, demand-creates the
10478         tag table if necessary
10479
10480         Remove declaration of gtk_text_buffer_get_iter_from_string
10481
10482         (_gtk_text_buffer_get_btree): private/internal function, added.
10483         
10484
10485         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
10486         (gtk_text_line_is_last): new function
10487
10488 2000-07-25  Havoc Pennington  <hp@redhat.com>
10489
10490         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
10491         using GtkProgressBar. See Changes-2.0.txt for details.
10492
10493         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
10494         "pulse_step" which are the equivalent of
10495         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
10496         Implement new API.
10497         
10498         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
10499         (use_text_format) to mark whether text set on the progress bar is
10500         a format string. Deprecate entire GtkProgress interface.
10501
10502         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
10503         (gtk_progress_build_string): make this a no-op if use_text_format
10504         is FALSE
10505
10506         * docs/Changes-2.0.txt: Describe progress bar changes.
10507
10508 2000-07-25  Tor Lillqvist  <tml@iki.fi>
10509
10510         * Makefile.am: Include the build directory.
10511
10512         * configure.in: Generate build/Makefile, build/win32/Makefile,
10513         gdk/, gdk/win32/, and gtk/makefile.mingw.
10514
10515         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
10516         Add GETTEXT_PACKAGE.
10517         
10518         * gdk/gdk.def
10519         * gtk/gtk.def: Updates.
10520
10521         * gdk/gdkfont.h
10522         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
10523         need them any longer.
10524
10525         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
10526
10527         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
10528         PANGOWIN32_LIBS and gdk_pixbuf.
10529
10530         * gdk/win32: Compiles, but no doubt doesn't work at all.
10531
10532         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
10533
10534         * gdk/win32/gdkinput.c: New file, temporarily.
10535         
10536         * gdk/win32/gdkinput-win32.h: New file
10537
10538         * gdk/win32/gdkinputprivate.h: Remove.
10539
10540         * gdk/win32/gdkpango-win32.c: New file.
10541
10542         * gtk/makefile.mingw.in: New file
10543
10544         * gtk/makefile.cygwin: Removed
10545         
10546         * gtk/Makefile.am: Update accordingly.
10547
10548         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
10549         made externally visible.
10550
10551         * gtk/gtkmain.c: Use it.
10552         
10553         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
10554         is enough.
10555
10556         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
10557
10558 2000-07-24 Elliot Lee <sopwith@redhat.com>
10559         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
10560         individual backends already.
10561         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
10562         again. Yes, there really is a good reason for this, if you are using the gdkregion
10563         internals, and if you're not, why do you care?
10564         * gdk/gdkwindow.c: Fix inverted condition
10565         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
10566         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
10567         * gtk/gtkrange.c: Redraw trough when moving.
10568         * gtk/gtktypeutils.c: Fix warning by adding const cast.
10569         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
10570
10571 2000-07-23  Tor Lillqvist  <tml@iki.fi>
10572
10573         * configure.in: Check for mkstemp and sigsetjmp. Output
10574         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
10575
10576         More work on GDK for Win32. Still in an intermediate state.
10577
10578         * gdk/makefile.cygwin
10579         * gdk/win32/makefile.cygwin: Removed.
10580         
10581         * gdk/makefile.mingw.in
10582         * gdk/win32/makefile.mingw.in: New files.
10583
10584         * gdk/Makefile.am
10585         * gdk/win32/Makefile.am: Generate and distribute them.
10586
10587         * gdk/win32/gdkwindow-win32.h
10588         * gdk/win32/gdkdrawable-win32.h
10589         * gdk/win32/gdkpixmap-win32.h: New files.
10590
10591         * gdk/win32/gdkcolor-win32.c
10592         * gdk/win32/gdkcursor-win32.c
10593         * gdk/win32/gdkdrawable-win32.c
10594         * gdk/win32/gdkgc-win32.c
10595         * gdk/win32/gdkimage-win32.c
10596         * gdk/win32/gdkprivate-win32.h
10597         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
10598         Rename fields and variables called xcursor, xid, etc (these names
10599         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
10600
10601 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
10602
10603         * gtk/gtkentry.[ch]: Fix some problems with vertical
10604         alignment.
10605
10606         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
10607         char/byte confusion.
10608
10609 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
10610
10611         * gtk/gtktextview.c (changed_handler): Fix bug where
10612         redraw wasn't being done properly when height of
10613         dirty region changed.
10614
10615         * demos/Makefile.am: Remove various references to
10616         -lgmodule
10617
10618 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
10619
10620         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
10621         PangoAttrShape to reserve space for pixmaps, add 
10622         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
10623         in the display functions.
10624         
10625         * gtk/testgtk.c (create_layout): Set some more exotic
10626         scrolled window options
10627
10628         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
10629         Add function to set the shadow type of a window, to allow
10630         putting a shadow around widgets such as GtkLayout or GnomeCanvas
10631         which don't draw their own frame.
10632
10633 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
10634
10635         * docs/tutorial/package-db-tutorial.sh: New file for
10636           packaging DocBook format tutorial
10637
10638 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
10639
10640         * docs/tutorial/gtk-tut.sgml: Minor updates
10641
10642         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
10643
10644 2000-07-19  Tor Lillqvist  <tml@iki.fi>
10645
10646         * gtk/gtksignal.c: Fix C++ comment.
10647
10648         * gtk/gtkimmulticontext.c
10649         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
10650         don't return value from void functions.
10651
10652         * gtk/gtk.def: Add gtk_rc_style_unref.
10653
10654 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
10655
10656         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
10657         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
10658         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
10659         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
10660         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
10661         gtk/gtktypeutils.h: Include files outside of the extern "C"
10662         block. Makes some C++ compiler happy. Reported by Denis Vakatov
10663         <vakatov@peony.nlm.nih.gov>.
10664
10665 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
10666
10667         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
10668           Completes first pass. Hurrah!
10669
10670 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
10671
10672         * docs/tutorial/gtk-tut.sgml: More clean ups.
10673
10674 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
10675
10676         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
10677         paint the background of the text area which was accidentally
10678         removed at some point.
10679
10680         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
10681           
10682          - Move most of the functionality from the theme vtable
10683            into GtkRcStyleClass and GtkStyleClass. The moved
10684            vtable functions were changed a bit in the move to
10685            work better in their new home.
10686
10687          - Get rid of the engine and engine_data fields from
10688            GtkRcStyle and GtkStyle; instead the theme
10689            engine derives theme-specific subclasses of GtkRcStyle
10690            and GtkStyle
10691
10692          - Add extra dlsym() found entry point to themes,
10693            theme_create_rc_style().
10694
10695         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
10696         in gtk_style_real_copy.
10697
10698         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
10699         to register a type associated with an engine. (The engine
10700         won't be unloaded as there is an instance of the type.)
10701
10702
10703 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
10704
10705         * docs/tutorial/gtk-tut.sgml: Clean ups.
10706
10707 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
10708
10709         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
10710           of cleaning up to do.
10711
10712 2000-07-15  Tor Lillqvist  <tml@iki.fi>
10713
10714         * gdk/testgdk.c: New file, quick hack to test backends for
10715         pixel-by-pixel correctness of the most simple graphic operations.
10716
10717 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
10718
10719         * Really release 1.3.1
10720         
10721         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
10722         include structure.
10723
10724 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
10725
10726         * Released 1.3.1
10727
10728 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
10729
10730         * gtk/gtktextlayout.c: use FALSE for size_only most
10731         of the time when calling gtk_text_layout_get_line_display()
10732         to avoid causing double reshapes when a redraw follows
10733         immediately after.
10734
10735 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
10736
10737         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
10738         appropriate region and gdk_window_process_updates() so trough
10739         updating doesn't lag behind the window being scrolled.
10740
10741         * gdk/gdkgc.c: Make parent_class pointer static.
10742          
10743 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
10744
10745         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
10746         include <string.h>.
10747          
10748         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
10749         cut-and-paste error in computing memory offset for 4 channels.
10750
10751 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
10752
10753         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
10754         gtk_rc_append_default_pixmap_path(), since it wasn't
10755         adding an interesting path and we don't have a meaningful
10756         default for this value.
10757
10758 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
10759
10760         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
10761         gtk-config to gtk-config-2.0 move gtk_.m4 to
10762         gtk-2.0.m4
10763
10764         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
10765         gdk/Makefile.am demos/Makefile.am: Change 
10766         library names to libgtk-1.3.la, etc, so that we
10767         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
10768
10769         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
10770         gdk/Makefile.am gdk/x11/Makfile.am
10771         Move include files into /usr/include/gtk-2.0, 
10772         /usr/lib/gtk-2.0/include/
10773          
10774         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
10775         gtk/gtkintl.h: Change package for gettext from 
10776         gtk+ to gtk20. Put hack in autogen.sh to modify
10777         po/Makefile.in.in after gettextize to make this
10778         possible.
10779
10780         * gtk+.spec: Some updates, not tested.
10781
10782         * gdk-pixbuf/Makefile.am: Move loaders into
10783         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
10784
10785         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
10786         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
10787         to THEMENAME/gtk-2.0/. Move engine directory  to
10788         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
10789         
10790 2000-07-12  Tor Lillqvist  <tml@iki.fi>
10791
10792         Win32 changes, still doesn't build though.
10793
10794         * gdk/makefile.cygwin
10795         * gdk/win32/makefile.cygwin
10796         * gtk/makefile.cygwin: Updates.
10797
10798         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
10799         default values for fg and bg pixel as X11 does (0 and 1), not
10800         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
10801         Use 0 for pen width by default (treated as 1 anyway later, but for
10802         apps that might check the value in the GdkGC).
10803         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
10804         interface to gdk_gc_predraw and _postdraw.
10805
10806         * gdk/win32/gdkwin32.h
10807         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
10808
10809         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
10810         extraneous semicolon.
10811
10812         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
10813
10814         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
10815         not the Win32 bitspixel value.
10816
10817         * gdk/win32/gdkcc-win32.c:
10818         * gdk/win32/gdkcolor-win32.c 
10819         * gdk/win32/gdkprivate-win32.h
10820         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
10821         GDK object structure.
10822
10823 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
10824
10825         * docs/tutorial/gtk_tut_12.es.sgml (name): 
10826         * docs/tutorial/gtk_tut_it.sgml (name): 
10827         * docs/tutorial/gtk_tut_fr.sgml (name): 
10828         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
10829         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
10830
10831 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
10832
10833         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
10834           small changes.
10835
10836 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
10837
10838         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
10839         a bug here, never been here and never fixed anything ;(
10840         (don't segfault if tree->root_tree is NULL, which happens prior
10841         to widget realization, but puke instead).
10842
10843 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
10844
10845         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
10846         add the necessary tokens.
10847
10848         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
10849         (gtk_rc_style_to_style): copy thicknesses.
10850         (gtk_rc_init_style): apply thicknesses.
10851         (gtk_rc_parse_style): parse xthickness and ythickness.
10852
10853         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
10854
10855         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
10856         (gdk_window_new): 
10857         (_gdk_windowing_window_init): 
10858         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
10859         (gdk_pixmap_create_from_data): 
10860         (gdk_bitmap_create_from_data): 
10861         (gdk_pixmap_new): 
10862         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
10863         (gdk_image_new): 
10864         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
10865         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
10866         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
10867         (gdk_colormap_get_system): 
10868         (gdk_colormap_new): 
10869         * gdk/gdkwindow.c (gdk_window_init): 
10870         * gtk/gtkstyle.c (gtk_style_new):
10871         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
10872         * gdk/gdkpixmap.c (gdk_pixmap_init): 
10873         * gtk/gtkrc.c (gtk_rc_style_new):
10874         use g_object_new() instead of g_type_create_instance() which
10875         is a private function for fundamental type implementations.
10876
10877 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
10878
10879         * configure.in: Add check for db2html
10880
10881 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
10882
10883         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
10884         hack to set glib_debug_objects based on gtk_debug_flags.
10885
10886 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
10887
10888         * INSTALL.in: Update the Prerequisites section.
10889
10890         * Makefile.am demos/Makefile.am docs/Makefile.am
10891         docs/tutorial/Makefile.am gdk/x11/Makefile.am
10892         gdk/linux-fb/Makefile.am: Dist fixes
10893
10894 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
10895
10896         * NEWS: 10,000 foot view of 1.3.1 changes.
10897
10898 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
10899
10900         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
10901         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
10902         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
10903         gdk/x11/gdkmain-x11.c: 
10904
10905         Patch from George Lebl to add a GdkGrabStatus enumeration to use
10906         as a return value of gdk_*_grab(). Previously, we just
10907         returned the X11 values directly.
10908
10909 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
10910
10911         * gdk/x11/Makefile.am: Patch from George Lebl to 
10912         install all the headers in the right place.
10913
10914 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
10915
10916         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
10917           initial conversion to DocBook.
10918
10919 2000-07-04  Tor Lillqvist  <tml@iki.fi>
10920
10921         * README.win32: Improve a bit.
10922
10923         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
10924         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
10925         Alt+0nnn on the numpad (used to enter characters by numeric code
10926         from current DOS or ANSI codepage) working correctly, as in other
10927         Windows apps.
10928
10929         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
10930         same argument validity tests as in X11 version.
10931         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
10932
10933         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
10934         definitions in case missing from headers.
10935
10936         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
10937         destroy the window-specific cursor.
10938         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
10939         calling GetModuleHandle(NULL).
10940         (gdk_window_set_cursor): Reworked to always copy the passed cursor
10941         with CopyCursor before setting it as the window-specific
10942         cursor. It is OK for the caller to destroy the GdkCursor (and thus
10943         also its Windows cursor) after calling this function. Destroy any
10944         previous window-specific cursor.
10945
10946 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
10947
10948         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
10949         font charset is iso8859-1, not iso-8859-1.
10950
10951 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
10952
10953         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
10954         Use g_get_charset() instead of g_get_codeset().
10955
10956         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
10957         Comment out some strdup'ing functions to keep timj
10958         happy until we finish fighting this out.
10959
10960 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
10961
10962         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
10963         <= width or height.
10964
10965         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
10966         from 1.2 for parent/child states.
10967
10968         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
10969         of typos.
10970
10971         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
10972         event structures, replace with a generic axes field. Replace 
10973         deviceid/sourec with GdkDevice *device.
10974
10975         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
10976         to extract particular axis use value from event. (Also
10977         can be used for normal X/Y.)
10978
10979         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
10980         allow for arbitrary number of axes, namespace everything
10981         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
10982         everywhere.
10983
10984         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
10985         Get rid of the gdk_input_vtable setup if favor of simply
10986         defining the functions in gdkinput-none/gxi/xfree.c in
10987         a similar fashion to the way that the port structure is 
10988         done.
10989
10990         * gtk/gtkdnd.c: Fix fields of synthesized button press event
10991         for new event structures. 
10992
10993         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
10994         new device interfaces.
10995
10996 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
10997
10998         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
10999         set the initial text.
11000
11001         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
11002         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
11003         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
11004         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
11005
11006         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
11007         pango_layout_set_font_description to simplify.
11008
11009 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
11010
11011         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
11012         pango_layout_set_font_description to simplify.
11013
11014 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
11015
11016         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
11017         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
11018         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
11019
11020         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
11021         PANGO_PIXELS() macro.
11022
11023 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
11024
11025         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
11026         that returns a PangoContext owned by the widget and updated to
11027         match future changes in the widget. Also, make 
11028         gtk_widget_create_pango_layout() use this context. If we ever
11029         add a ::changed signal to PangoContext, this will make things
11030         much more convenient. 
11031
11032         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
11033         in the appropriate places instead of destroying the layouts and
11034         creating new ones.
11035
11036         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
11037         in a few strategic places.
11038
11039 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
11040
11041         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
11042         gtk_widget_size_request() on reparented child, if one. Otherwise,
11043         queue_resize() on the child never results in it getting size-requested
11044         at all.
11045
11046         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
11047         in option menus, so that (with luck) people won't copy it into
11048         their apps in the future.
11049
11050         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
11051         to gtk_option_menu_calc_size. This isn't perfect, but should fix
11052         a lot of problems with changing the size of the menu's menu
11053         items after adding it to the option menu.
11054
11055         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
11056
11057         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
11058         the text direction for a widget changes.
11059
11060         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
11061         ::direction_changed to get rid of various hacks.
11062
11063 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
11064
11065         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
11066         name.
11067
11068 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
11069
11070         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
11071         flag to the structure. Do not call XFreePixmap on pixmaps created
11072         by gdk_pixmap_foreign_new().
11073
11074 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
11075
11076         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
11077         value using GdkRGB functionality given GdkColormap and GdkColor.
11078         (name not final, waiting for inspiration.)
11079         
11080         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
11081         set the foreground/background of a GC using the GC's colormap
11082         and GdkRGB. (name not final, waiting for inspiration.)
11083
11084         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
11085         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
11086
11087         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
11088         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
11089         purely a function of the corresponding colormap. Make
11090         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
11091
11092         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
11093         gdk_pixbuf_*create_from_xpm_* in terms of
11094         gdk_pixbuf_new_from_xpm_data(), move into platform independent
11095         code.
11096
11097         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
11098         advantage of the new draw_rgb_32_image_dithalign.
11099
11100         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
11101
11102         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
11103         on each created GC.
11104
11105         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
11106
11107         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
11108         which we initialize from the drawable when the GC is created,
11109         if the drawable has a colormap.
11110
11111         * gdk/x11/gdkgc-x11.c: include string.h for memset.
11112
11113         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
11114
11115         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
11116
11117 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
11118
11119         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
11120         actually returning expose events, make sure to set
11121         the count field properly.
11122
11123         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
11124         accidentally reintroced bug which always cleared
11125         the graphics_exposures value. 
11126
11127 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
11128
11129         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
11130
11131 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
11132
11133         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
11134
11135 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
11136
11137         * docs/faq/gtk-faq.sgml: Start of Section 6.
11138
11139 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
11140
11141         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
11142         
11143         (Fixes problem with drawing childless frames. Pointed out
11144         by and a first patch from Anders)
11145         
11146         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
11147         compute a child_allocation, even if we don't have a child.
11148
11149         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
11150         Always chain to the parent's impl, even if we don't have a child.
11151
11152 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
11153
11154         * gdk/gdkrgb.c: If possible, create only a single shm segment and
11155         use multiple parts of it instead of creating a bunch of separate
11156         segments, since the maximum number of segments per system is not
11157         large. (This might be worth backporting to GTK+-1.2.x if we make a
11158         new release )
11159
11160         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
11161         structure in preparation for per-colormap GdkRGB.
11162
11163         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
11164         to False when we get EINVAL from shmget so that the caller of
11165         gdk_image_new can retry with a smaller segment size.
11166
11167 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
11168
11169         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
11170
11171 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
11172
11173         * configure.in: make the current version number 1.3.1 (binary age 0,
11174         interface age 0).
11175         
11176         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
11177         gtkcompat.h is all we want.
11178
11179         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
11180         GLib primitive types. fixed g_type_register_fundamental() argument
11181         ordering.
11182
11183         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
11184         compiles.
11185
11186         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
11187         object code cleanup, comment trigraph fixes, etc...
11188
11189 2000-06-23  Havoc Pennington  <hp@redhat.com>
11190
11191         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
11192         instead of making up a bogus name for first_para_mark
11193
11194         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
11195         0 as a context ID
11196
11197 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
11198
11199         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
11200
11201 2000-06-21  Havoc Pennington  <hp@pobox.com>
11202
11203         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
11204         we didn't check window->bg_pixmap != GDK_NO_BG.
11205
11206         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
11207         gdk-pixbuf
11208
11209 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
11210
11211         * docs/faq/gtk-faq.sgm: Move file to here.
11212           TODO: Update Makfile.am 
11213
11214 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
11215
11216         * docs/gtk-faq.sgm: Add Section 2
11217
11218 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
11219
11220         * docs/gtk-faq.sgm: New file. Start of DocBook
11221           version of the FAQ.
11222
11223 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
11224
11225         * configure.in (GDK_PIXBUF_MAJOR): Define version
11226         numbers for GDK_PIXBUF_*, as they get substituted
11227         into a header file. Need to consider versioning
11228         for gdk-pixbuf more carefully later.
11229
11230 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
11231
11232         Work with srcdir != builddir.   
11233         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
11234         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
11235         * demos/testpixbuf.c: Likewise.
11236         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
11237         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
11238         <gdk/x11/gdkx.h>.
11239         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
11240         "gdk-pixbuf.h".
11241         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
11242
11243 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
11244
11245         * TODO.xml: Change 1.4 version numbers to 2.0.
11246
11247 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
11248
11249         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
11250         fixups to GTK+ standard.
11251
11252 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
11253
11254         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
11255         gdk-pixbuf.
11256
11257         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
11258         fixups for GObject.
11259
11260         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
11261         gdk-pixbuf with GDK dependencies moved into GDK.
11262         
11263         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
11264         move gdk-pixbuf-loader here until GObject has signals.
11265
11266         * demos/: New directory of demos. Move demos from
11267         gdk-pixbuf here.
11268
11269         * demos/pixbuf-init.c: Small bit of code to check for
11270         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
11271         set GDK_PIXBUF_MODULEDIR appropriately.
11272
11273         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
11274         define which no longer makes sense.
11275
11276 2000-06-21  Havoc Pennington  <hp@redhat.com>
11277
11278         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
11279         gtk_get_default_language
11280
11281         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
11282         new function to get the default language
11283
11284         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
11285         s/gtk_text_view_style_values/gtk_text_style_values/
11286
11287         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
11288         Add a "language" field to tags.
11289
11290         (gtk_text_tag_set_arg): Fix bug in setting
11291         "bg_full_height_set" tag.
11292
11293 2000-06-21  Havoc Pennington  <hp@redhat.com>
11294
11295         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
11296         in the interfaces
11297
11298         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
11299         stuff instead when possible.
11300
11301         * gtk/gtktexttypes.h: Delete some unused constants
11302
11303         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
11304         testtextbuffer.c: use glib instead of custom unicode routines
11305
11306 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
11307
11308         * docs/es/: Removed mistakenly added generated sgml
11309
11310         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
11311         Remove outdated info files.
11312
11313         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
11314         Moved tutorial files into subdir
11315
11316         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
11317         subdir.
11318
11319         * docs/man/gtk_button.pod: Remove. (contents will be
11320         integrated into gtk-reference button page.)
11321
11322         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
11323         docs/faq/Makefile.am: Adjust for new organization
11324
11325 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
11326
11327         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
11328         not $(MKINSTALLDIRS)
11329
11330 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
11331
11332         * gtk/testgtk.c (create_text): Finish the job Elliot started
11333         of removing font setting test for text widget. (Since text widget
11334         and GdkFont are not deprecated, and cause portability problems.)
11335
11336 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
11337
11338         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
11339         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
11340         Remove use of libunicode in favor of new GLib functions.
11341
11342         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
11343         nano-x, framebuffer. The X11 include is just a hack until we get
11344         the necessary functions in gdkcolor.h, so there is no reason to
11345         add other includes of platforms.
11346
11347         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
11348         window bigger than the screen change.
11349
11350         * gtk/testgtk.c: Revert some random changes from Elliot
11351         that had no particular point and were causing testgtkrc
11352         not to function correctly.
11353         
11354         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
11355         because GdkSegment and GdkRegionBox have the same fields,
11356         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
11357         results in clearer code.
11358
11359         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
11360         gdk_input_translate_coordinates): Fix missed GdkObjectification
11361
11362 2000-06-18  Elliot Lee  <sopwith@redhat.com>
11363
11364         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
11365         * gtk/gtk{plug,socket}.h: Missed commits from previous.
11366
11367 2000-06-20  Havoc Pennington  <hp@redhat.com>
11368
11369         * modules/linux-fb/Makefile.am: Make this compile
11370         without framebuffer enabled
11371
11372         * gdk/linux-fb/Makefile.am: Add conditional to not build
11373         framebuffer unless specified in configure
11374
11375         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
11376         the size of the target instead of source if -1 was passed for
11377         width/height
11378
11379         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
11380         width/height confusion.
11381
11382 2000-06-19  Havoc Pennington  <hp@redhat.com>
11383
11384         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
11385         GDK_DRAWABLE_XID. In the future, we probably want to make it
11386         faster with G_DISABLE_CHECKS turned on.
11387
11388 2000-06-14  Havoc Pennington  <hp@redhat.com>
11389
11390         * gdk/Makefile.am: add gdkpixmap.c
11391
11392         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
11393         s/gdk_image_init/_gdk_windowing_image_init
11394
11395         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
11396         ref/unref
11397
11398         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
11399
11400         * gdk/gdkcompat.h: remove GdkWindowType compat, since
11401         GdkWindowType is now non-deprecated; 
11402         change gdk_window_get_type() compat to be
11403         gdk_window_get_window_type().
11404
11405         * gdk/gdkdnd.h: make GdkDragContext a GObject.
11406
11407         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
11408         virtual GObject. Make all functions call into the vtable.
11409         Move gdk_image_put() guts in here. Remove GdkDrawableType
11410         and gdk_drawable_get_type(), these are now GdkWindow-specific.
11411         draw_image, get_depth, get_size, set_colormap, get_colormap,
11412         get_visual added to the vtable.
11413         
11414         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
11415         GObject. Virtualize everything. 
11416         (gdk_gc_new_with_values): remove check for destroyed window,
11417         because now GdkWindow::create_gc will check this.
11418         (gdk_gc_set_values): New function to set GC values, this 
11419         was already implemented but wasn't in the header
11420
11421         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
11422
11423         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
11424         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
11425         remove _gdk_window_class; add _gdk_window_impl_get_type() and
11426         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
11427         _gdk_windowing_window_init, rename gdk_image_init to
11428         _gdk_windowing_image_init.
11429         
11430         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
11431         (gdk_draw_layout): Remove check for destroyed window, 
11432         because all the drawable methods already check it.
11433         
11434         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
11435         Add gdkpixmap.c which contains implementation of GdkDrawable
11436         virtual table (by chaining to a platform-specific implementation
11437         object).
11438         
11439         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
11440         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
11441         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
11442         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
11443         GdkColormapPrivate. 
11444
11445         * gdk/gdktypes.h: #include <glib-object.h>
11446
11447         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
11448         Move most functionality to platform-specific implementation
11449         object. GdkWindow itself now handles the backing store, then
11450         chains to the platform-specific implementation.
11451         (gdk_window_get_window_type): return GdkWindowType of the window.
11452         (gdk_window_peek_children): New routine, returns the children of 
11453         a GdkWindow
11454         (gdk_window_get_children): Was in X11-specific code and did 
11455         XQueryTree. Changed to simply return a copy of window->children; 
11456         so it can go in cross-platform code.
11457         
11458         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
11459
11460         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
11461         GdkColormap; just changed to use the new private data instead
11462         of casting to GdkColormapPrivate.
11463
11464         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
11465         gdk_cursor_new().
11466
11467         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
11468         (private data member in the GObject). 
11469         (xdnd_manager_source_filter): Function had broken 
11470         error handling, fix it (use gdk_error_trap_push).
11471
11472         * gdk/x11/gdkdrawable-x11.c: This file now implements
11473         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
11474         base class is purely for the convenience of the X port,
11475         and not part of the interface to cross-platform GDK.
11476
11477         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
11478         
11479         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
11480         specific to X, and returned by the create_gc virtual method
11481         of GdkDrawableImplX11. 
11482         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
11483         rather than gchar, this was also changed in the GdkGC vtable.
11484         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
11485         mask is 0, return immediately, instead of checking every flag.
11486         This is faster, and keeps us from segfaulting if values is NULL
11487         and the mask contains some nonzero flags.
11488
11489         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
11490         GdkWindow.
11491
11492         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
11493         GdkWindowPrivate is gone.
11494
11495         * gdk/x11/gdkim-x11.c: rename things that got renamed.
11496
11497         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
11498         remove the image_put stuff that got transferred to GdkDrawable.
11499         
11500         * gdk/x11/gdkinput.c: renamings
11501
11502         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
11503
11504         * gdk/x11/gdkpixmap-x11.c: GObject conversion
11505
11506         * gdk/x11/gdkprivate-x11.h: indentation fixes
11507
11508         * gdk/x11/gdkproperty-x11.c: renamings
11509
11510         * gdk/x11/gdkselection-x11.c: renamings
11511
11512         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
11513         implements the platform-specific "impl" object.
11514         Moved gdk_window_get_children to gdk/gdkwindow.c
11515
11516         * gdk/x11/gdkx.h: Remove all the private structs and private datas
11517         that no longer exist. Add declaration of GdkGCX11 object here.
11518         Fix all the macros to still work. 
11519
11520         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
11521         GdkDragContext from the boxed types since they are now GObjects.
11522
11523         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
11524         moved xthickness/ythickness into the instance. GtkStyleClass
11525         functions are now in the standard vtable for GtkStyle, so you have
11526         to create a GObject subclass to write a theme engine.
11527         (gtk_style_copy): fixed a leaked PangoFontDescription
11528         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
11529         can be the standard GObject function.
11530         
11531         * Throughout GTK:
11532         s/style->klass->[xy]thickness/style->[xy]thickness
11533         s/pango_layout_unref/g_object_unref/
11534
11535         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
11536         
11537         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
11538         accessing GDK internals.
11539
11540         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
11541         accessing GDK internals.
11542
11543 2000-06-18  Elliot Lee  <sopwith@redhat.com>
11544
11545         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
11546
11547         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
11548         problem by calculating event position relative to the trough
11549         rather than the slider.
11550         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
11551
11552         * gdk/gdkgc.h: Add GDK_NOR.
11553
11554         * configure.in, Makefile.am: Add modules top level dir
11555         * configure.in: Only use pangox library if building x11 target.
11556         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
11557
11558 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
11559
11560         * gtk/gtkcolorsel.c: Change private class member to be named
11561         private_data throughout the file.
11562
11563         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
11564         private_data to avoid clashing with keyword.
11565
11566 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
11567
11568         * gdk/gdkdnd.h: Add comment to remove warning.
11569
11570 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
11571
11572         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
11573         Byelorussian language; changed the Makefile and file names 
11574         to reflect that.
11575
11576 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
11577
11578         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
11579         rather than gdk_window_hide; this makes things work
11580         correctly if the window is programmatically hidden while
11581         iconified.
11582
11583 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
11584
11585         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
11586         cut and paste typo where wrong pixmap was being
11587         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
11588
11589 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
11590
11591         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
11592         Add helper function to compute format / bytes 
11593         relationship. Use in a couple places to fix up
11594         errors which assume 8 * format.
11595
11596         * gtk/gtkselection.c (gtk_selection_request): Use 32
11597         rather than 8 * sizeof (GdkAtom), to work correctly
11598         on Alpha.
11599
11600 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
11601
11602         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
11603         libgtk.la
11604         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
11605         versions
11606
11607         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
11608         checking macros return NULL since the function has a return value.
11609
11610 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
11611
11612         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
11613         GTK+ from building at all.
11614
11615         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
11616
11617 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
11618
11619         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
11620         gtk/Makefile.am: make it possible to configure gtk for different
11621         targets on the same platform. The library name is now 
11622         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
11623         flag. Only the x11 target compiles right now.
11624         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
11625         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
11626         * gdk/nanox/gdk*generic*: delete generic region code.
11627         * gdk/linux-fb/gdk*generic*: delete generic region code.
11628         * README.nanox: update information.
11629         
11630 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
11631
11632         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
11633         prepend not append. (Pointed out by Brett Hall.)
11634
11635 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
11636
11637         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
11638
11639 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
11640
11641         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
11642         need this later, and this makes sure that the atexit for
11643         glib gets called after that for GDK, so atexits are
11644         properly ordered for object leak checking.
11645
11646         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
11647
11648         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
11649         pango_x_shutdown_display()
11650
11651         * gtk/simple.c (main): Close window on destroy.
11652
11653 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
11654
11655         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
11656         to treat initial creation different from setting with 
11657         regards to the graphics-exposures parameter, so add a parameter
11658         indicating whether this is initial or not.
11659
11660 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
11661
11662         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
11663         to sort of work by adding an extra return_exposes arg
11664         to gdk_event_translate() - it might be better to simply
11665         deprecate the function altogether and force people to rewrite
11666         without it. gdk_window_scroll() handles most of it, and where
11667         gdk_window_scroll() doesn't work, simply redrawing more does.
11668
11669         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
11670         assertion.
11671
11672         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
11673
11674         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
11675         bunch of pretty much useless /* Print debugging info */ comments 
11676         which had drifted away from the code they were commenting.
11677
11678 2000-06-02  Havoc Pennington  <hp@pobox.com>
11679
11680         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
11681         is in working order.
11682         
11683         * gtk/testtext.c: Change to reflect anonymous mark API
11684
11685         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
11686
11687         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
11688         field, which was unused.
11689
11690         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
11691         saves some typing.
11692
11693         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
11694
11695         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
11696         flag on the insertion point and selection bound
11697
11698         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
11699         make mark-manipulation functions take a GtkTextMark* instead of a
11700         mark name.
11701         
11702         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
11703         GtkTextMarkBody; will be used to detect attempts to delete
11704         the permanent marks (insert and selection bound)
11705
11706         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
11707
11708 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
11709
11710         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
11711         flag to on.
11712
11713         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
11714         Honor DOUBLE_BUFFRED_FLAG
11715
11716         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
11717         function to set the DOUBLE_BUFFERED flag.
11718
11719         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
11720         or not exposes done on the widget should be double-buffered.
11721
11722         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
11723         to be what would be expected. (Fixes problem with a
11724         g_return_if_fail() validating a TextDirection enumeration)
11725
11726 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
11727
11728         * gtk/gtkwidget.c: Remove all references to 
11729         offscreen flag which was no longer used.
11730
11731         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
11732
11733         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
11734         for non-null label_widget->parent.
11735
11736         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
11737         which no longer was used.
11738
11739         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
11740
11741         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
11742         for null arguments.
11743
11744         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
11745         check for destroyed windows.
11746
11747 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
11748
11749         * gtk/gtkimmulticontext.c: Add a finalize method and unref
11750         the slave context there.
11751
11752         * gtk/gtkinvisible.[ch]: Make reference counting behavior
11753         identical to GtkWindow.
11754
11755 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
11756
11757         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
11758         pangox to here, so we can write them independent of rendering
11759         system, using GDK primitives.
11760
11761         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
11762         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
11763         since we have a rendering-system independent implementation in
11764         terms of draw_glyphs().
11765         
11766         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
11767         function to render a single line.
11768
11769         * gdk/x11/gdkpango.c: Move the guts of this file mostly
11770         into ../gdkpango.c, which simplifies things, since we
11771         don't have to deal with raw X gc's.
11772
11773 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
11774
11775         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
11776         get the logical attributes for a given GtkTextLine.
11777
11778 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
11779
11780         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
11781         g_locale_get_codeset() to g_get_codeset() change.
11782
11783 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
11784
11785         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
11786         descriptions.
11787
11788         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
11789         the entry.
11790
11791         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
11792         redoing (vastly simplifying) for Pango. Still needs quite
11793         a bit of work. (Size selection is currently poor. List of 
11794         predefined sizes is not a good idea, since all of these
11795         sizes won't necessarily be distinct.)
11796
11797 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
11798
11799         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
11800         CODESET results for LANG=C.
11801
11802 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
11803
11804         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
11805         which takes a stringized pango font description;
11806         ignore the older 'font' and 'fontset' declarations.
11807
11808         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
11809         field with a GdkFont derived via gdk_font_from_description(),
11810         for compatibility. (Should we just remove it entirely?
11811         Probably too much compatibility breakage, but people
11812         should be migrating to the new Pango stuff as quickly
11813         as possible.)
11814
11815 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
11816
11817         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
11818
11819 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
11820
11821         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
11822         redoing; there are some bugs in size allocation right
11823         now, the semi-existant distinction between header / day
11824         fonts was removed, but, with Pango, could actually
11825         be made functional in a nice way.
11826         
11827         * gtk/testcalender: Move calender from examples into this
11828         directory as a test program. (We really need to restrcture
11829         testgtk into a whole directory full of tests for every
11830         widget or functionality group, separated into multiple .c
11831         files.)
11832
11833 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
11834
11835         * gtk/testgtk.c (file_exists): Fix stupid typo that
11836         was keeping RC file from being loaded.
11837
11838         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
11839         RC file font code.
11840
11841 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
11842
11843         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
11844         Add function to load a GdkFont from a PangoFontDescription.
11845
11846 2000-05-29  Tor Lillqvist  <tml@iki.fi>
11847
11848         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
11849         variable should be of type GdkEventPrivate.
11850
11851 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
11852
11853         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
11854         to have any widget for the label, use a GtkLabel widget
11855         to display the text. (Based partially on a patch from
11856         Anders Carlson.)
11857
11858         (Quite a bit of code reorganization - strip 90% of the
11859         guts out of gtkaspectframe and add a single virtual
11860         func to GtkFrameClass - compute_child_allocation.)
11861
11862 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
11863
11864         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
11865         (Removed clist->row_center_offset field because caching
11866         it wasn't saving time or code, added private function
11867         _gtk_clist_create_cell_layout()).
11868
11869 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
11870
11871         * gtk/gtkaccellabel.c: Pangoized.
11872
11873         * gtk/[hv]ruler.c: Pangoized
11874
11875 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
11876
11877         * gtk/gtkfilesel.c (gtk_file_selection_init):
11878         Use gtk_clist_set_column_auto_resize() to remove need
11879         need for manual column width computations.
11880
11881 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
11882
11883         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
11884         ensuring Pango correctness, and considerably simplifying the
11885         code.
11886         
11887         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
11888
11889         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
11890         getting of numbers of lines.
11891
11892         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
11893         to the actual requested width of the lable, not to the wrap
11894         width we set.
11895
11896         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
11897
11898         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
11899           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
11900
11901         * gtk/gtktextview.c: Fix structure inheritance.
11902
11903         * gtk/gtkprogressbar.c: Pangoize.
11904
11905 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
11906
11907         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
11908         in a function.
11909
11910         * gtk/gtktextlayout.c (find_display_line_above): Fixed
11911         bug with computing line tops.
11912
11913         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
11914
11915 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
11916
11917         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
11918         and y_offset coordinates to do what we need now. (The offset between
11919         buffer and layout coordinates has been reintroduced, but is a 
11920         bit different than before.)
11921
11922         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
11923         handle the adjustments ourselves, and scroll as necessary using
11924         the new gdk_window_scroll().
11925         
11926         The advantage of this is that when we are incrementally revalidating,
11927         we are essentially rearranging things around the visible portion
11928         of the screen. With the old setup, the visible portion of the
11929         screen was moved around in the layout, so scrolling and redrawing
11930         to track that caused jumping of the display. Since we now
11931         control the scrolling ourselves, we can suppress this and
11932         only redraw when things actually change.
11933
11934 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
11935
11936         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
11937         the region not just redisplay it after-all, since we store the
11938         cursors in the LineDisplay. (Ugly interactions here between
11939         GtkLayout and GtkTextBTree here.)
11940         
11941         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
11942
11943 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
11944
11945         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
11946         Added function to scroll contents of a window while keeping the
11947         window constant. Works by XCopyArea or guffaw-scrolling depending
11948         on the details of how the window is set up. (guffaw-scrolling
11949         still needs to be filled in.)
11950
11951 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
11952
11953         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
11954         move the debugging that was tied to a global variable
11955         to that.
11956
11957         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
11958
11959         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
11960         validated flag, in line data instead of setting height/width to
11961         -1. This allows us to perform operations with partially invalid
11962         buffer (using the old size for invalid lines) and thus to do
11963         incremental vaidation. Keep height/width aggregates up to date
11964         when deleting text and rebalancing the tree.
11965
11966         * gtk/gtktextbtree.[ch]: Add functions validate a line
11967         (gtk_text_btree_validate_line), and to validate up
11968         to a number of pixels (gtk_text_btree_validate).
11969
11970         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
11971         that indicates that something is changed and a revalidation
11972         pass is needed. Change ::need_repaint to ::changed, and
11973         make it take old and new yranges instead of a rectangle.
11974
11975         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
11976         the line_data_destroy() function from 
11977         gtk_text_btree_add_view() to a virtual function in 
11978         GtkTextLayout
11979
11980         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
11981         since we are handling partial repaints in a different fashion
11982         now.
11983
11984         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
11985         of the selection instead of queueing a repaint on the
11986         entire widget.
11987
11988         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
11989         get_selection_bounds() down to btree, make the function
11990         in buffer a wrapper around the btree function.
11991
11992         * gtk/gtktextlayout.[ch]: Add functions to check if the
11993         layout is valid and to recompute either a range of pixels
11994         aroudn a line or a certain total number of pixels.
11995
11996         * gtk/gtktextlayout.[ch]: Cache a single line display;
11997         now that we only redraw the needed portions, the hit rate
11998         for this cache is quite high.
11999         
12000         * gtk/gtktextview.[ch]: Keep track of the first paragraph
12001         on the screen so that when re-laying-out the buffer, we can
12002         keep the same place. This requires connecting to ::value_changed
12003         on the adjustments
12004
12005         * gtk/gtktextview.[ch]: Add idle functions to revalidate
12006         the buffer after we receive an ::invalidated signal.
12007         
12008 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
12009
12010         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
12011         to max of allocation and layout size, not just to the
12012         layout size.
12013
12014         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
12015         Invalidate window so it gets redrawn properly.
12016
12017         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
12018         to mean the entire window.
12019
12020         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
12021         into public header.
12022
12023 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
12024
12025         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
12026         to get the name of a mark.
12027
12028         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
12029         to find the paragraph from a y position.
12030
12031 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
12032
12033         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
12034         nodes have width/height >= 0, not > 0.
12035
12036 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
12037
12038         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
12039         Add a size_only flag, so when we only need the size, we don't create
12040         useless appearance attributes.
12041
12042         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
12043         duplicate setting of font description.
12044
12045         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
12046
12047 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
12048
12049         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
12050         EXTRA_DIST. It does not work well when the file that
12051         everything depends on is not in the tarball.
12052
12053 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
12054
12055         * gtk/testgtk.c: Some hacks and fixes so that it basically
12056         works when not sitting in the GTK+ build tree.
12057
12058 2000-05-03  Havoc Pennington  <hp@redhat.com>
12059
12060         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
12061         Properly determine the ordering of the tag root and the current
12062         line within the tree. Previous algorithm only worked if the tag
12063         root's immediate parent was the common root of both the current
12064         line and the tag root.
12065
12066 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
12067
12068         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
12069         alignment.
12070
12071         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
12072         the widget text directional dynamically.
12073
12074         * gtk/gtktextview.[ch]: Added functions to get and set default
12075         wrap mode.
12076
12077 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
12078
12079         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
12080         in cursor location computation.
12081
12082 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
12083
12084         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
12085         vadjusment values properly when layout gets smaller.
12086
12087         * gtk/gtktextview.c (need_repaint_handler): Areas being
12088         passed in are far completely inaccurate, and sometimes
12089         too small, so, for now, just queue a redraw on the
12090         whole visible region.
12091
12092 2000-04-25  Havoc Pennington  <hp@redhat.com>
12093
12094         * gtk/gtktextbtree.c (summary_destroy): new function to 
12095         destroy tag summary nodes
12096         (gtk_text_line_next_could_contain_tag): this function was 
12097         totally broken if the line passed in wasn't below the tag
12098         root. Fix it.
12099         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
12100         "wildcard" case, we have to do a linear scan. Blah.
12101         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
12102         we have to do the linear scan
12103         (tag_removed_cb): When a tag is removed from the tag table, 
12104         remove the GtkTextTagInfo node from the btree.
12105         (gtk_text_btree_spew): Implement the spew function, for 
12106         our debugging pleasure.
12107
12108 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
12109
12110         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
12111         a problem with referring to the wrong buffer.
12112
12113         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
12114
12115         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
12116         font description to gtk_style_new() - otherwise things
12117         don't work without a .gtkrc file.
12118
12119         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
12120         tags table if we create it ourself, too.
12121
12122         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
12123         it was conflicting with XKB modifiers.
12124
12125         * gtk/gtktextview.[ch]: Add simple support for 
12126         GtkIMContext.
12127
12128 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
12129
12130         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
12131         with deletion from last commit.
12132
12133 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
12134
12135         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
12136         in the context from the current locale.
12137         
12138         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
12139         context, not hardcoded value.
12140
12141         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
12142         not logical.
12143
12144 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
12145
12146         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
12147         attributes - that doesn't handle partial-glyph selection
12148         properly. Instead use new pango_layout_line_get_x_ranges()
12149         functionality to draw the selection.
12150
12151         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
12152         now properly handles out-of-range coordinates.
12153
12154         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
12155
12156         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
12157         public.
12158
12159         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
12160         for paragraphs opposite to the base direction of the widget.
12161
12162         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
12163
12164         * gtk/gtktextlayout.c: Don't split segments on marks, since that
12165         causes Arabic words to reshape as you cursor through.
12166
12167         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
12168         cursor position when moving vertically with the arrow keys and
12169         scrolling with page-up/page-down. (Arrow keys save only the X,
12170         scrolling saves both X and Y.)
12171
12172         This means you can line-up / line-down or page-up / page-down
12173         without losing your place, and also that moving vertically
12174         with the cursor keys keeps the same X position, not the same
12175         character count:
12176
12177         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
12178         arrow keys move by display lines, not paragraphs.
12179
12180 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
12181
12182         * gtk/gtklayout.c: Make sure that the bin window is at least
12183         as big as the allocation. (Should we also make sure that the
12184         bin window is big enough to completely cover widget->window?)
12185
12186         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
12187         function to get the onscreen rectangle.
12188
12189         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
12190         for offsets in window coordinates.
12191
12192 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
12193
12194         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
12195         confusion.
12196
12197         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
12198         from the widget direction.
12199
12200         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
12201         Add a "direction" attribute.
12202
12203         * gtk/gtktextview.c: global s/tkxt/text_view/.
12204
12205         * gtk/testtext.c: Added long block of text in Arabic, to test out
12206         the direction attributes. (Some problems with the shaping system
12207         for arabic become obvious - like the fact the cursor splits words
12208         into unjoined pieces.)
12209
12210 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
12211
12212         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
12213
12214         * gtk/gtktextlayout.c: Fix up alignment.
12215
12216         * gtk/testtext.c: Add some tests for centering, wrapping.
12217
12218 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
12219
12220         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
12221         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
12222         If we wrote GTK+-specific layout-render function this could just replace
12223         the draw_layout() operation in the vtable.
12224
12225         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
12226         pango_layout_get_cursor_pos() and use that function.
12227
12228         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
12229         is a non-static symbol.
12230
12231         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
12232         with gtk_text_btree_find_line_by_y()
12233
12234         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
12235         renderer that handles GtkTextAppearance attributes.
12236
12237         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
12238
12239           - Move the values in the style that don't affect geometry into a
12240             GtkTextAppearance structure.
12241           - Change underline to take a PangoUnderline and "font" a string
12242             representation of a font description
12243           - Add a "font_desc" attribute which takes a FontDescription structure.
12244
12245         * gtk/gtktextlayout.[ch]:
12246
12247           - Get rid of the display-line list per each line. Instead, we
12248             generate, on demand, a GtkTextLineDisplay structure which]
12249             contains a PangoLayout * and other necesary information
12250             (offsets, cursor locations) for displaying a paragraph.
12251           - Get rid of the code to wrap lines, create display chunks,
12252             etc. Instead, we just go through a paragraph and convert
12253             it into the necessary inputs to a PangoLayout.
12254           - Implement a new attribute type, GtkTextAttrAppearance. This
12255             holds a GtkTextAppearance, and is used to pass colors, 
12256             stipple, etc, through from the layout to the display without
12257             having to use lots and lots of individual attributes.
12258           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
12259             in terms of PangoLayout functions.
12260         
12261         * gtk/gtktextview.c: 
12262          
12263           - Handle passing the necessary PangoContext to the layout
12264           - Some fixups in painting to deal with the automatic backing store
12265             and offsetting of GTK+-1.4
12266           - Add a style_set handler so that the default style reacts
12267             properly to theme changes.
12268         
12269         * gtk/gtktext?*.[ch]: Random code-style fixes.
12270
12271         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
12272
12273 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
12274
12275         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
12276         in original form preparatory to Pango-ization and gdkimcontext-ization.
12277
12278 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
12279
12280         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
12281         so that we can derive from gtkimcontext in language bindings properly.
12282
12283 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
12284
12285         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
12286         Add a compose table including (almost) all the compose combinations
12287         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
12288         data in the XIM implementation.
12289
12290         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
12291         Moved functions to convert keyvalues from and to unicode here from
12292         the win32 port and made them public.
12293
12294 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
12295
12296         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
12297
12298 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
12299
12300         * gtk/gtkimcontext.[ch]: Base class for new input context system
12301
12302         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
12303         the real input context implementation to be loaded from modules
12304         and switched on the fly.
12305
12306         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
12307         context that just does direct keysymbol => unicode translation.
12308
12309         * gtk/gtkentry.[ch]: Start switching editing over to using
12310         GtkInputContext. (No handling of preedit yet.)
12311
12312 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
12313
12314         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
12315         many substitutions. (klass should not be subsituted.)
12316
12317 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
12318
12319         * configure.in: Add checks for Pango
12320
12321         * configure.in docs/Makefile.am: Add test for sgml2html
12322         and allow 'make dist' without building html, but print out
12323         warnings in that case. (For making snapshots)
12324
12325         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
12326         Add Pango libraries and C flags
12327
12328         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
12329         Add function (gdk_draw_layout) to draw a pango layout.
12330
12331         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
12332         for getting Pango contexts for GDK.
12333
12334         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
12335
12336         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
12337         editing.
12338
12339         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
12340         keysym => unicode translations. More languages can be added
12341         here, but real input-method support is needed.
12342
12343         * docs/Changes-1.4.txt: Added note about entry behavior.
12344         
12345         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
12346         to set the reading direction for a widget and the global direction.
12347         Add test which allows toggling the global direction. Two private
12348         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
12349
12350         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
12351           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
12352
12353         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
12354
12355         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
12356         underlining now handled by Pango.
12357
12358         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
12359         to RCStyle and Style. (Having both this and the old font name and GdkFont 
12360         is temporary.)
12361
12362         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
12363         convenience functions for creating contexts and layouts for widgets.
12364
12365         * gtk/testgtk.c: Enhance label tests with multilingual labels.
12366
12367 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
12368
12369         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
12370         titles to be active, even if they aren't visible.
12371         (gtk_clist_column_titles_passive):  Ditto.
12372
12373 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
12374
12375         * gtkmenu.c:
12376         * gtkmenu.h:
12377         * gtktypeutils.h: Spelling/grammar fixes in comments.
12378
12379 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
12380
12381         * gdk/nanox/*.h: add missing header files.
12382
12383 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
12384
12385         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
12386         send_event to TRUE.
12387         (gtk_drawing_area_size): queue a resize.
12388
12389 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
12390
12391         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
12392         the handlers, also invalidate them. bug nailed down by Karl Nelson
12393         <kenelson@ece.ucdavis.edu>.
12394
12395 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
12396
12397         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
12398         "(nil)" foundries, patch from Grigorios Magklis.
12399
12400         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
12401         on non-available fonts, based on a patch by Grigorios Magklis
12402         <maglis@cs.rochester.edu>.
12403
12404 2000-05-18  Elliot Lee  <sopwith@redhat.com>
12405
12406         * gdk/x11/gdkregion-generic.c: If a region does not have any
12407         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
12408         instead of GDK_OVERLAP_RECTANGLE_IN.
12409
12410 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
12411
12412         * gtk/gtklayout.c (gtk_layout_map): Remove references to
12413         OFFSCREEN, as it is no longer necessary.
12414
12415 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
12416
12417         * gtk/gtkcolorsel.c: Patch from David Santiago
12418         <mrcooger@cyberverse.com> to change things so that the 
12419         indicator of the active palette entry is done independently,
12420         not via the focus, since it should always be visible.
12421
12422 2000-05-17  Tor Lillqvist  <tml@iki.fi>
12423
12424         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
12425         refcount leaks as in the X11 backend.
12426
12427         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
12428         cosmetics.
12429
12430         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
12431         backend. Add _gdk_windowing_window_destroy().
12432
12433         * gtk/gtkcolorsel.c: Include correct backend-specific header.
12434         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
12435         either, but these probably do exist on nanox?)
12436         
12437         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
12438         which isn't necessarily defined by <math.h>.
12439
12440         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
12441         ancestry past GtkObject.
12442
12443         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
12444         from DLL on Win32.
12445
12446         * gtk/gtk.def: Update corresponding to recent changes.
12447
12448         * gtk/makefile.{cygwin,msc}: Updates.
12449
12450 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
12451
12452         * docs/Changes-1.4.txt: A bit of editing.
12453
12454         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
12455         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
12456         to clear the update area for the window, and clear it
12457         when hiding a window.
12458
12459         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
12460         if window destroyed.
12461
12462         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
12463
12464         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
12465         gdk_window_destroy() to the generic code, since there was a lot of 
12466         window-system-independent logic it in. Add a function:
12467         
12468          _gdk_window_destroy() 
12469
12470         to the internal API to destroy a window without unreferencing it.
12471         Add a function:
12472
12473          _gdk_windowing_window_destroy()
12474
12475         That does the windowing-system-dependent part of destroying 
12476         the window.
12477
12478 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
12479
12480         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
12481
12482 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
12483
12484         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
12485         Make gtk_widget_shape_combine_mask() keep a reference count on
12486         the pixmap since it keeps it around.
12487
12488 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
12489
12490         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
12491         leak.
12492
12493         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
12494         leak with event filters.
12495
12496 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
12497
12498         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
12499         signal handlers with the right data arguments. (Fixes
12500         some warnings when a widget was repeatedly set as a drag
12501         destination.)
12502
12503         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
12504         window so we can avoid avoid setting the DND properties on the
12505         toplevel window repeatedly.
12506
12507 2000-05-13  Tor Lillqvist  <tml@iki.fi>
12508
12509         * gdk/win32/gdkwin32.h: Define more message types missing from
12510         mingw headers.
12511
12512         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
12513         call gdk_window_destroy_notify(). It was never called. This
12514         probably meant that the GdkWindow was never freed. Thanks Owen for
12515         noticing (!).
12516
12517         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
12518         window as destroyed before calling DestroyWindow(). DestroyWindow()
12519         causes a call to the window procedure (gdk_WindowProc), which
12520         calls gdk_event_translate(), which calls
12521         gdk_window_destroy_notify(), which gets confused unless the window
12522         is set as destroyed.
12523
12524         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
12525         this function to indicate it's win32 only. Put inside #ifdef
12526         G_ENABLE_DEBUG.
12527
12528         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
12529         debugging function. (gdk_event_translate:) Add a default branch
12530         that uses the above function to print debug messages with all
12531         Windows messages symbolically.
12532
12533         * gdk/win32/gdkprivate-win32.h: Declare it, and
12534         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
12535
12536 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
12537
12538         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
12539         public header file.
12540
12541 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
12542
12543         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
12544
12545         * gtk/gtktext.c: made the adjustments no-construct args, simply
12546         provide default adjustments.
12547         (gtk_text_destroy): release adjustments.
12548
12549         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
12550         adjustment argument non-construct.
12551
12552         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
12553         instead of in finalize.
12554         (gtk_progress_get_text_from_value): 
12555         (gtk_progress_get_current_text): 
12556         (gtk_progress_set_value): 
12557         (gtk_progress_get_percentage_from_value): 
12558         (gtk_progress_get_current_percentage): 
12559         (gtk_progress_set_percentage): 
12560         (gtk_progress_configure): ensure an adjustment is present.
12561
12562 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
12563
12564         * gtk/gtkcolorsel.[hc]:
12565         * gtk/gtkcolorseldialog.[hc]:
12566         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
12567         their parent implementation, use bit fields for boolean values, don't
12568         create unused widgets, usage of glib types, braces go on their own
12569         lines, function argument alignment, #include directives etc. etc. etc..
12570
12571         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
12572
12573 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
12574
12575         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
12576
12577         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
12578         of NULL.
12579
12580         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
12581         to freed data.
12582         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
12583
12584         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
12585         to NULL when the toplevel is getting destroyed.
12586         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
12587         (gtk_menu_destroy): 
12588         (gtk_menu_init): store the information of whether we have to
12589         readd the initial child ref_count during destruction in a new
12590         GtkMenu field needs_destruction_ref_count.
12591
12592         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
12593         here, those reading: learn from my mistake! ;)
12594         in order for set_?adjustment to support a default adjustemnt if
12595         invoked with an adjustment pointer of NULL, the code read (pseudo):
12596         if (v->adjustment) unref (v->adjustment);
12597         if (!adjustment) adjustment = adjustment_new ();
12598         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
12599         now imagine the first unref to actually free the old adjustment and
12600         adjustment_new() creating a new adjustment from the very same memory
12601         portion. here, the latter comparision will unintendedly fail, and
12602         all hell breaks loose.
12603         (gtk_viewport_set_hadjustment):
12604         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
12605         after unreferencing it.
12606
12607         * gtk/gtkcontainer.[hc]: removed toplevel registration
12608         functions: gtk_container_register_toplevel(),
12609         gtk_container_unregister_toplevel() and
12610         gtk_container_get_toplevels() which had wrong semantics
12611         anyways: it didn't reference and copy the list.
12612
12613         * gtk/gtkwindow.c: we take over the container toplevel registration
12614         bussiness now. windows are registered across multiple destructions,
12615         untill they are finalized. the initial implicit reference count
12616         users are holding on windows is removed with the first destruction
12617         though.
12618         (gtk_window_init): ref & sink and set has_user_ref_count, got
12619         rid of gtk_container_register_toplevel() call. add window to
12620         toplevel_list.
12621         (gtk_window_destroy): unref the window if has_user_ref_count
12622         is still set, got rid of call to
12623         gtk_container_unregister_toplevel().
12624         (gtk_window_finalize): remove window from toplevel list.
12625         (gtk_window_list_toplevels): new function to return a newly
12626         created list with referenced toplevels.
12627         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
12628
12629         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
12630         adjustment a non-construct arg.
12631         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
12632         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
12633         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
12634
12635         * gtk/gtkrange.c: added some realized checks.
12636         (gtk_range_destroy): get rid of the h/v adjustments in the
12637         destroy handler instead of finalize. remove timer.
12638         (gtk_range_get_adjustment): demand create adjustment.
12639
12640         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
12641         we simply create them on demand now and get rid of them in
12642         the destroy handler.
12643         (gtk_viewport_destroy): get rid of the h/v adjustments in the
12644         destroy handler instead of finalize.
12645         (gtk_viewport_get_hadjustment): 
12646         (gtk_viewport_get_vadjustment): 
12647         (gtk_viewport_size_allocate): demand create h/v adjustment
12648         if required.
12649
12650         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
12651         gtk_widget_real_destroy () functionality.
12652         (gtk_widget_real_destroy): reinitialize with a new style, instead
12653         of setting widget->style to NULL.
12654
12655 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
12656
12657         * gtk/gtkcalendar.c:
12658         * gtk/gtkbutton.c: ported _get_type() implementation over to
12659         GType, either to preserve memchunks allocation facilities,
12660         or because Gtk+ 1.0 GtkTypeInfo was still being used.
12661
12662         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
12663         over. prepare for ::destroy to be emitted multiple times.
12664         removed reference tracer magic. chain into GObjectClass.shutdown()
12665         to emit ::destroy signal.
12666
12667         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
12668         fundamental.
12669
12670         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
12671         cludge.
12672
12673         * gtk/gtksocket.c:
12674         * gtk/gtkplug.c:
12675         * gtk/gtklayout.c:
12676         * gtk/gtklabel.c:
12677         * gtk/gtkargcollector.c:
12678         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
12679         not being a fundamental anymore, and to work with the new
12680         type system (nuked fundamental type varargs clutter).
12681
12682         * gtk/*.c: install finalize handlers in the GObjectClass
12683         part of the class structure.
12684         changed direct GTK_OBJECT()->klass accesses to
12685         GTK_*_GET_CLASS().
12686         changed direct object_class->type accesses to GTK_CLASS_TYPE().
12687
12688         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
12689         GType. made most of the GTK_*() type macros and Gtk* typedefs
12690         simple wrappers around macros and types provided by GType.
12691         most notably, a significant portion of the old API vanished:
12692         GTK_TYPE_MAKE(),
12693         GTK_TYPE_SEQNO(),
12694         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
12695         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
12696         GTK_TYPE_ARGS,
12697         GTK_TYPE_CALLBACK,
12698         GTK_TYPE_C_CALLBACK,
12699         GTK_TYPE_FOREIGN,
12700         GtkTypeQuery,
12701         gtk_type_query(),
12702         gtk_type_set_varargs_type(),
12703         gtk_type_get_varargs_type(),
12704         gtk_type_check_object_cast(),
12705         gtk_type_check_class_cast(),
12706         gtk_type_describe_tree(),
12707         gtk_type_describe_heritage(),
12708         gtk_type_free(),
12709         gtk_type_children_types(),
12710         gtk_type_set_chunk_alloc(),
12711         gtk_type_register_enum(),
12712         gtk_type_register_flags(),
12713         gtk_type_parent_class().
12714         replacements, where available are described in ../docs/Changes-1.4.txt.
12715         implemented compatibility functions for the remaining API.
12716
12717         * configure.in: depend on glib 1.3.1, use gobject module.
12718
12719 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
12720
12721         * TODO.xml: Various updates to current status.
12722
12723 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
12724
12725         * gtk.m4: Print out version when test succeeds.
12726
12727 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
12728
12729         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
12730         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
12731         
12732         (Original triangle color selector from Simon Budig
12733         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
12734         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
12735         Santiago <mrcooger@cyberverse.com>)
12736
12737         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
12738         out into a separate widget.
12739
12740         * gtk/testgtk.c: Add some checkbuttons for toggling palette
12741         and opacity controls.
12742
12743 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
12744
12745         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
12746         snuck in prematurely.
12747
12748 2000-05-07  Tor Lillqvist  <tml@iki.fi>
12749
12750         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
12751         had deleted a ! operator by mistake, which caused
12752         GDK_SELECTION_CLEAR events never to be generated, which caused
12753         only the first copy to the clipboard from an gtkeditable to
12754         actually cause a copy to the Windows clipboard.
12755
12756 2000-05-06  Tor Lillqvist  <tml@iki.fi>
12757
12758         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
12759         compilation, too. Current mingw gcc distributions include the
12760         necessary headers. Also the necessary IIDs are now in mingw
12761         headers/libraries, and own definitions unnecessary.
12762
12763         More hacking on OLE2 DND, still doesn't work though, and thus
12764         ifdeffed out.
12765
12766         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
12767         here, too.
12768
12769 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
12770
12771         * gdk/nanox/*: nano-X port work in progress.
12772         * gdk/simple.c: simple test for Gdk.
12773         * README.nanox: notes about the port: read this first!
12774         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
12775         with nano-X.
12776
12777 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
12778
12779         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
12780         gdk_window_clear() into common code, implement in terms of
12781         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
12782         not redirected to the backing rectangle.
12783
12784 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
12785
12786         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
12787         EXTRA_DIST. It does not work well when the file that
12788         everything depends on is not in the tarball.
12789
12790 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
12791
12792         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
12793         with recursion where process_updates() is called from
12794         an expose handler. (GtkTextView is highly broken in
12795         doing this, but it should work, so it is a nice test
12796         case.)
12797
12798 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
12799
12800         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
12801         handle the case where updates are queued during processing of
12802         updates.
12803
12804 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
12805
12806         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
12807         window is on gdk_display - use that instead of segfaulting.
12808
12809 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
12810
12811         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
12812         broken and require an empty arg, give it to them.
12813
12814 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
12815
12816         * gtk/gtklabel.h: indentation fixes.
12817
12818 2000-05-02  Tor Lillqvist  <tml@iki.fi>
12819
12820         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
12821         draw too narrow or too low arcs, they seem to fail, at least with
12822         some display drivers.
12823
12824         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
12825
12826         Large changes to the Win32 backend, partially made necessary by
12827         the changes to the backend-independent internal
12828         structures. Attempts to implement similar backing store stuff as
12829         on X11. The current (CVS) version of the Win32 backend is *not* as
12830         stable as it was before the no-flicker branch was merged. A
12831         zipfile with that version is available from
12832         http://www.gimp.org/win32/. That should be use by "production"
12833         code until this CVS version is usable. (But note, the Win32
12834         backend has never been claimed to be "production quality".)
12835
12836         * README.win32: Add the above comment about versions.
12837
12838         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
12839
12840         * gdk/gdk.def: Update.
12841
12842         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
12843         presumably be replaced by some more better mechanism as 1.4 gets
12844         closer to release shape.
12845
12846         * gdk/makefile.{cygwin,msc}: Update.
12847
12848         * gdk/win32/*.c: Correct inclusions of the backend-specific and
12849         internal headers. Change code according to changes in these. Use
12850         gdk_drawable_*, not gdk_window_* where necessary.
12851
12852         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
12853         our old DND.
12854
12855         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
12856         to interpret single characters as UTF-8. Thanks to Hans Breuer.
12857         Use correct function name in warning messages.
12858
12859         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
12860         GSourceFuncs gdk_event_prepare and gdk_event_check.
12861         (gdk_event_get_graphics_expose): Do implement, use
12862         PeekMessage. Thanks to Hans Breuer.
12863         (event_mask_string): Debugging function to print an GdkEventMask.
12864         (gdk_pointer_grab): Use it.
12865
12866         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
12867         (old) book I used claimed was Hangul actually is CJK Unified
12868         Ideographs Extension A. Also, Hangul Syllables were missing.
12869         Improve logging.
12870
12871         * gdk/win32/gdkgc-win32.c: Largish changes.
12872
12873         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
12874         g_win32_getlocale() from GLib, and not setlocale() to get current
12875         locale name.
12876
12877         * gdk/win32/gdkprivate-win32.h
12878         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
12879         gdkwin32.h, similarily as in the X11 backend.
12880
12881         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
12882         assignment was used instead of equals in if test. Thanks to Hans
12883         Breuer.
12884
12885         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
12886         the X11 version.
12887
12888         * gdk/win32/makefile.{cygwin,msc}
12889         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
12890         path to the Win32 headers that works also with the mingw compiler.
12891
12892         * gtk/gtkstyle.c: Include <string.h>.
12893
12894 2000-04-26  Havoc Pennington  <hp@redhat.com>
12895
12896         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
12897         replacing the broken gtk_label_get ()
12898
12899 2000-04-15  Havoc Pennington  <hp@pobox.com>
12900
12901         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
12902         this keeps scanner scripts from getting confused.
12903
12904         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
12905         data, rather than void
12906
12907 2000-04-15  Tor Lillqvist  <tml@iki.fi>
12908
12909         * gtk/gtkclist.c (gtk_clist_motion)
12910         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
12911         with is_hint FALSE, get x and y from the event. They used to be
12912         used uninitialised. The Win32 backend never sends motion events
12913         marked as hints. This for instance fixes the annoying file and
12914         font selector behaviour in the Win32 version.
12915
12916 2000-04-14  Tor Lillqvist  <tml@iki.fi>
12917
12918         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
12919         gtk_private_n_signals variables, they are used by some software,
12920         sigh.
12921
12922         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
12923         installation directory from the Registry, where the installer
12924         should have put it.
12925
12926 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
12927
12928         * gdk/x11/Makefile.am: Fix problem with installation directory for
12929         gdkx.h
12930
12931         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
12932         <mrcooger@cyberverse.com> so that when selecting menus with the
12933         mouse, the first item will not be selected, but when selecting
12934         with an accelerator, or navigating left-right on a menubar with
12935         the menus popped up, the first item will be selected.
12936
12937 2000-04-05  Dan Damian  <dand@dnttm.ro>
12938
12939         * configure.in: Added "ro" to ALL_LINGUAS.
12940
12941 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
12942
12943         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
12944         indentation.
12945
12946         * Makefile.am (EXTRA_DIST): Fix typo.
12947
12948         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
12949         to catch gdkconfig.h
12950
12951         * gtk/gtkitemfactory.c: Added FIXME.
12952
12953 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
12954
12955         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
12956         s/return_if_fail/return_val_if_fail/g and add a return value.
12957
12958 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
12959
12960         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
12961         merge slipup.
12962
12963         * gdk/gdkinput.h: Fix missing line from merge.
12964
12965 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
12966
12967         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
12968         instead of gdkprivate.h.
12969
12970 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
12971
12972         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
12973         parent class to correctly be GtkDialogClass.
12974
12975 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
12976
12977         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
12978         toplevel windows and their immediate children by their parents,
12979         since the size of toplevel windows is out of our immediate
12980         control and we don't get any real benefit from trying to track
12981         this size for clipping.
12982
12983         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
12984         for input_only windows.
12985
12986         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
12987         to fix some hacks and make sure that we don't try to set the
12988         background of input only windows.
12989
12990 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
12991
12992         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
12993         the _really_ internal stuff, and leave gdkprivate.h for the fake private
12994         stuff that we've traditionally exposed.
12995
12996         * gdk/**.c: Use gdkinternals.h where appropriate.
12997
12998         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
12999         not include gdkprivate-x11.h, move all stuff of conceivable public
13000         interest into gdkx.h; keep all really private stuff in
13001         uninstalled header gdkprivate-x11.h.
13002
13003         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
13004         image->image_put on windows through a new function _gdk_window_draw_image()
13005         to allow us to do backing store for images. (Sort of ugly)
13006
13007         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
13008         contexts locally so that we can offset them properly when drawing 
13009         onto backing pixmaps.
13010
13011         * gdk/gdkinput.h: Reindented
13012
13013         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
13014         pixmap or color for the window, so we can properly initialize
13015         our double-buffer pixmaps, and also so that we temporarily set
13016         a background of None while scrolling.
13017
13018         * gdk/gdkregion.h: Revise region boolean operators to have an
13019         interface that is actually convenient - switch from creating new
13020         regions on every op, to "methods" that modify existing regions
13021         (A = A OP B). 3 argument forms which allow dest == src, would also
13022         be possible, but the current interfaces seem to map nicely
13023         onto what needs to be done. (There is quite a lot of region
13024         code in GDK now.)
13025
13026         * gdk/gdkregion.h: Add constructor from rectangle and a copy
13027         operator.
13028
13029         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
13030         gdkpoly-generic.h: Copy region code from Xlib, switch it over
13031         to 32 bit coordinates, modify it to be mostly GTK+ style
13032         and to have interfaces that match gdkregion.h.
13033
13034         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
13035         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
13036         create a backing pixmap and redirect all drawing to
13037         that backing pixmap until a matching gdk_window_end_paint().
13038
13039         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
13040         Create a special drawable class for GtkWindow's that 
13041         redirects the drawing to the backing pixmap as necessary
13042         and then calls the real operations in _gdk_windowing_window_class.
13043
13044         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
13045         Store invalid region for each window. Generate expose events for invalid
13046         region in an idle. This replaces both the expose compression
13047         and the redrawing queuing in GTK+. It is both more efficient and
13048         simpler than either one individually and far more so then the
13049         combination.
13050
13051         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
13052         Emulate 32 bit coordinates for windows with 16 bit coordinates
13053         by offsetting drawing, guffaw scrolling techniques and
13054         mapping/unmapping child windows as necessary.
13055
13056         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
13057         where, when invalid regions are processed, the region is stored,
13058         and if expose events come in that are detectably duplicate
13059         the processed exposes (by comparison of event serial numbers),
13060         the stored region is subtracted out of those exposes.
13061
13062         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
13063         regions newly exposed when scrolling or resizing windows.
13064         This, combined with forcing processesing of queued invalidated
13065         regions, gives nice flicker-free scrolling.
13066
13067         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
13068         invalidated regions after every scroll.
13069
13070         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
13071         emulation in GDK. Its, for all practical purposes just a
13072         GtkViewport/GtkFixed hybrid now.
13073
13074         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
13075         (16-bit) structures as necessary instead of just casting.
13076
13077         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
13078         in terms of the structures from gdkregion-generic.c, using appropriate
13079         offsets from GDK to X11 coordinates. Cache clip mask and
13080         origin and ts origin locally and only flush to the server
13081         when drawing, to avoid constantly setting and resetting these
13082         values when offsetting GC's for scrolling and backing pixmaps.
13083
13084         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
13085
13086         * gtk/gtkcontainer.c: Call process_all_updates at end
13087         of resizing to reduce flicker. (Avoids having redraw
13088         lag arbitrarily behind resize under some circumstances)
13089
13090         * gtk/gtkentry.c: Remove old backing store code, and simply take
13091         advantage of the new backing store capabilities of GDK.
13092
13093         * gtk/gtkmain.c: Simple implementation of widget backing
13094         store - simply push a paint while handling each expose.
13095         (Should really be configurable widget for widget.)
13096         
13097         * gtk/gtkwidget.c: Remove all the old complicated redraw
13098         code, and simply invalidate the GDK windows from
13099         gdk_window_queue_clear(), etc. (Sigh, so much carefully
13100         debugged complexity ... gone to the winds.)
13101
13102         Remove all the code for suppressing expose events while
13103         resizes are pending; this isn't needed since the invalid
13104         areas won't be processed until after the resizes are
13105         processed, since they are in a lower priority idle.
13106
13107 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
13108
13109         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
13110         and height of dest rectangle for non-intersecting rectangles.
13111
13112 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
13113
13114         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
13115         for GdkRectangle.
13116
13117 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
13118
13119         * gdk/gdk{events,image,private,types,window}.h
13120          gdk/x11/gdkinputprivate.h: Change all coordinates
13121          from int16 to int. Also, Change width and height from
13122          unsigned to signed to avoid all the stupid C 
13123          signedness bugs.
13124
13125 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
13126
13127         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
13128         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
13129         Add some more detailed checking.
13130
13131         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
13132         New function to retrieve the depth of a drawable.
13133
13134         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
13135         field, reorder fields to save memory. 
13136
13137 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
13138
13139         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
13140         of the background image instead of scaling the background down to
13141         a line.
13142
13143         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
13144         which temporarily set slider to wrong size.
13145
13146         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
13147         queue_clear().
13148
13149 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
13150
13151 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
13152
13153         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
13154
13155 2000-03-17  Tor Lillqvist  <tml@iki.fi>
13156
13157         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
13158         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
13159
13160         * gdk/win32/gdkfont-win32.c
13161         * gdk/win32/gdkproperty-win32.c
13162         * gdk/win32/gdkselection-win32.c
13163         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
13164         now declared such.
13165
13166 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
13167
13168         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
13169
13170 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
13171
13172         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
13173         is called without trapping X errors.
13174
13175 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
13176
13177         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
13178         way into the fontset lists.
13179
13180 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
13181
13182         * gtk/gtkthemes.h: add extern "C" scope.
13183
13184 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
13185
13186         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
13187         to make appends to the list constant. (gtk-guy-990901-0.patch)
13188
13189 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
13190
13191         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
13192         for the typename hash table.
13193
13194 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
13195
13196         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
13197         to make sure we never divide by zero. 
13198         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
13199
13200 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
13201
13202         * gtk/gtkfontsel.c: Apply patch from
13203         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
13204         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
13205
13206         Also, some cleanups in atom handling.
13207
13208 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
13209
13210         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
13211         not GtkWidget.
13212
13213 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
13214
13215         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
13216         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
13217         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
13218         more guint wrap-around bugs before going to bed.
13219
13220 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
13221
13222         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
13223         guint wrap arounds in allocation.width.
13224
13225         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
13226         process untill we fit the allocation given.
13227
13228 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
13229
13230         * gtk/gtkwidget.c:
13231         (gtk_widget_unrealize): guard widget access with ref/unref
13232         around signal emission.
13233         (gtk_widget_hide): same here, but also check its destroyed
13234         state before queueing a resize.
13235
13236 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
13237
13238         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
13239         of gtk_default_insensitive_bg as insensitive base color.
13240
13241         * gtk/gtktext.c (gtk_text_style_set): set the background color according
13242         to the widget's state.
13243         (gtk_text_realize): same here.
13244         (gtk_text_state_changed): same here.
13245         (draw_bg_rect): compare background color against base[] from
13246         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
13247
13248 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
13249
13250         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
13251         grabs are active, unless a delete event is send to the toplevel
13252         of the currently grab holding widget.
13253
13254 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
13255
13256         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
13257         debugging g_print's.
13258
13259 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
13260
13261         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
13262         ever make the scrolled-window requisition ever depend on the 
13263         visibility state of the scrollbars for the AUTOMATIC policy. 
13264         This breaks the GTK+ requisition model, and causes loops.
13265
13266 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
13267
13268         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
13269         the default font to avoid problems with XFree86-4.0 where the
13270         default charset is iso10646-1, not iso8859-1.
13271
13272 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
13273
13274         * acinclude.m4
13275         * config.guess
13276         * config.sub
13277         * ltconfig
13278         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
13279
13280         * gtk/Makefile.am: minor cosmetic consistency tweak
13281
13282 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
13283
13284         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
13285         the activate_time to 0, so that we handle a quick
13286         press/release press/release properly and don't suppress
13287         the second release. (Red Hat bug #7545)
13288
13289 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
13290
13291         * gtk/gtkctree.c (row_delete):
13292         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
13293         bugs with destruction notifier, *always* update internal
13294         structures *before* calling user code.
13295
13296 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
13297
13298         A few more fixes for bug #5487, #2051, #2677.
13299         * gtk/gtkclist.c : 
13300         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
13301         not GDK_BUTTON_PRESS.
13302         (resync_selection): resync only if selection_mode is
13303         GTK_SELECTION_EXTENDED
13304         * gtk/gtkctree.c (resync_selection): same here
13305
13306 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
13307
13308         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
13309         gdk_drag_get_selection() and gtk_menu_detach().
13310
13311         [ From Jeroen Ruigrok/Asmodai ]
13312
13313 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
13314
13315         * gtk/gtknotebook.c (gtk_notebook_size_request): 
13316         page->tab_label can be NULL.
13317
13318 2000-01-25  Havoc Pennington  <hp@pobox.com>
13319         
13320         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
13321         arg is boolean
13322
13323         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
13324
13325         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
13326
13327         * gdk/gdkproperty.c (gdk_property_get): return boolean
13328
13329         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
13330
13331         * gdk/gdkim.c (gdk_im_ready): return boolean
13332
13333         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
13334
13335         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
13336         glib clash, should fix glib)
13337
13338         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
13339         (gdk_get_show_events): return gboolean, and canonicalize 
13340         to TRUE/FALSE
13341
13342         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
13343         colormap is private
13344         (gdk_colors_alloc): gboolean whether to be contiguous
13345         (gdk_color_equal): return gboolean since we are a predicate
13346         and not a qsort() (this looks semi-wrong due to glib breakage,
13347         IMO glib should be fixed)
13348         
13349         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
13350         (gdk_get_use_xshm): return gboolean
13351         (gdk_pointer_is_grabbed): return gboolean
13352
13353         * gdk/gdk.h: Change prototypes to match all the above changes,
13354         and re-run egtk-format-protos as required.
13355
13356 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
13357
13358         * gtk/gtkctree.c (resync_selection): 
13359         * gtk/gtkclist.c (resync_selection):
13360
13361         Return immediately if clist->drag_pos < 0. This is a workaround
13362         for the corrupt state that the clist gets into when a
13363         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
13364
13365         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
13366         
13367         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
13368         variable from recent commit.
13369
13370 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
13371
13372         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
13373
13374 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
13375
13376         * gtk/Makefile.am: prefix all autogenerated source that get build in
13377         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
13378         in builddir. since we subsequently cd into srcdir for autogeneration,
13379         the paths have to be stripped from the target file names, thusly we
13380         use $(@F) as target names now.
13381         put a comment about configure.in's --disable-rebuilds option,
13382         which can be used for non-writable source directories, for development
13383         setups though, srcdir has to be *writable*.
13384
13385 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
13386
13387         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
13388           Finish the job of allowing event to be NULL.
13389           (Fixes bug #4283, reported by Chris Blizzard)
13390
13391         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
13392           things so that the cursor appears on screen, properly
13393           take into account INNER_BORDER.
13394           (Fixes bug #4754, reported by Antonio Campos)
13395
13396 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
13397
13398         * gtk/gtknotebook.c (gtk_notebook_map): Don't
13399           show the tab_label unless it itself is visible.
13400
13401           gtk/gtknotebook.c (gtk_notebook_size_request):
13402           Do a better job of making sure that the visibility
13403           of the tab label corresponds to whether it should
13404           be mapped or not.
13405
13406 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
13407
13408         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
13409           Use the requisition, not the allocation, since the
13410           allocation has not necessarily been computed yet.
13411           (Pointed out by Eugene Osintsev)
13412
13413 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
13414
13415         * gtk/gtkstyle.c (gtk_style_new): Dont' set
13416           style/base[GTK_STATE_INSENSITIVE] both to
13417           gtk_default_insensitive_bg!
13418           (Bug #2187, reported by Jonathan Blandford)
13419
13420         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
13421           Add Alt_L, Alt_R to list of invalid accelerators.
13422           (Bug #3736, reported by Vlad Harchev)
13423
13424 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
13425
13426         * gtk/gtkfilesel.c (open_ref_dir): Fix several
13427         bugs which occured after an attempt to open 
13428         invalid home directory left cmpl_state->reference_dir == NULL.
13429
13430          - completion on files in home directory didn't work
13431          - completion on an empty string caused  segfault
13432
13433          (Bug #3678, reported by Steve Ratcliffe)
13434
13435         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
13436         cut and paste error that was causing scales to
13437         be incorrectly positioned.
13438         (Bug #2956,
13439          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
13440
13441 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
13442
13443         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
13444         when checking for dcgettext, if we've found we needed
13445         it for dgettext.
13446 +
13447 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
13448
13449         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
13450         queue_clear on NO_WINDOW widgets during a reparent,
13451         since at that point the window and widget heirarchies
13452         are out of sync. This stops crashing in some cases
13453         (the scrolled window reparent test, for instance), and
13454         _probably_ won't cause drawing errors.
13455
13456         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
13457         test do what it was supposed to do and be robust against
13458         window closings, etc. (Bug #2443)
13459
13460 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
13461
13462         * gtk/gtkentry.c: Fix return values on mouse events.
13463         (Bug #2686, Sky <seb_sky@yahoo.com>)
13464
13465         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
13466         (pointed out by George Lebl)
13467
13468         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
13469         (From Ettore Perazzoli  <ettore@helixcode.com>)
13470  
13471 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
13472
13473         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
13474         clicks between rows or outside calender area correctly.
13475         (Patch from Damon Chaplin)
13476
13477         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
13478         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
13479           Call destroy function when overwriting existing data. 
13480           (Pointed out by Damon Chaplin)
13481
13482 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
13483
13484         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
13485           which was causing problems on various systems with Xmu.
13486           This hasn't been needed for a very long time.
13487           (Fixes #1185 3167)
13488
13489 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
13490
13491         * gdk/gdki18n.h: Include <ctype.h> when defining
13492           gdk_isw* in terms of is* as a fallback.
13493           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
13494
13495 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
13496
13497         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
13498           realize the widget when it is size allocated!
13499           (old, old bug)
13500
13501         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
13502           Removed unused call to gdk_window_get_size() that
13503           showed up when the above was fixed.
13504
13505 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
13506
13507         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
13508           fix up widget->window when the widget is a
13509           NO_WINDOW container widget.
13510
13511 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
13512
13513         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
13514           to account for the fact that feof() does _not_ 
13515           return TRUE on errors, and thus avoid infinite loops
13516           when trying to use gdk_pixmap_create_from_xpm()
13517           on unreadable values.
13518
13519 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
13520
13521         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
13522
13523 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
13524
13525         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
13526           gdk_gc_set_dashes to take gint8 instead of gchar to
13527           make it clearer that it is _not_ a NULL terminated string.
13528
13529         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
13530           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
13531           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
13532           arguments.
13533
13534 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
13535
13536         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
13537         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
13538         background size relative to our allocation, guard against small
13539         allocations, we may have not yet been size allocated.
13540
13541 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
13542
13543         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
13544         not just version == 3. We implement all 3 + most of 4 - 
13545         (we don't support matching text/plain;charset=iso-8859-1
13546         to a dest that expects text/plain). We'll still advertise
13547         3 to be safe, but any client implementing version >= 3
13548         must interoperate with 3.
13549         
13550 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
13551
13552         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
13553         background and gc members, add a warning in gtk_tooltips_set_color()
13554         indicating that this function is deprecated.
13555
13556 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
13557
13558         * docs/gtkfaq.sgml: FAQ Update:
13559           - Minor cleanups (Emmanuel, me)
13560           - New questions:
13561                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
13562                 How can I retrieve the text from a GtkMenuItem? (timj)
13563                 How do I validate/limit/filter the input to a GtkEntry? (me)
13564                 Memory does not seem to be released when I free the list
13565                         nodes I've allocated (timj)
13566
13567 2000-03-07  Tor Lillqvist  <tml@iki.fi>
13568
13569         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
13570         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
13571         for which it is no use to call GetLastError onWin9x.
13572         (gdk_other_api_failed) New function, for general error
13573         reporting without calling GetLastError.
13574         (gdk_win32_api_failed) OTOH, this function always calls
13575         GetLastError. (gdk_win32_last_error_string) Remove this function,
13576         GLib has the equivalent now.
13577
13578         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
13579         call them with function name, file name and line number in the
13580         arguments.
13581
13582         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
13583         functions.
13584         
13585         * gtk/gtk.def: Add some missing entry points.
13586
13587         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
13588         gtk_paned_set_gutter_size, which don't exist any longer, as void.
13589         
13590         Fixes by Hans Breuer:
13591
13592         * gdk/makefile.msc: Update for debugging.
13593
13594         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
13595         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
13596         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
13597         in the dash_list.
13598
13599         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
13600         the x11 backend.
13601
13602         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
13603
13604         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
13605
13606 2000-03-04  Tor Lillqvist  <tml@iki.fi>
13607
13608         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
13609         just pixel value of background colour.
13610
13611         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
13612         containing code snippet previously duplicated in a couple of
13613         places.
13614         
13615         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
13616         gdk_colormap_color.
13617
13618         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
13619         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
13620         events for autorepeated Shift, Control and Alt keys. Use
13621         gdk_colormap_color.
13622
13623         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
13624         pointer is inside the window the cursor of which we are setting,
13625         call SetCursor immediately.
13626
13627         * gdk/win32/makefile.cygwin
13628         * gtk/makefile.cygwin: If we don't have the build number stamp
13629         file, use zero.
13630
13631         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
13632         gtk_paned_set_gutter_size as empty.
13633
13634         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
13635         
13636 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
13637
13638         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
13639           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
13640           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
13641           docs/gtk_tut.sgml docs/gtk.texi TODO:
13642
13643           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
13644
13645 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
13646
13647         * gtk/gtkcalendar.c: Implement num_marked_dates,
13648           and don't emit mutiple day_selected signals on
13649           month_prev.
13650
13651 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
13652
13653         * docs/make-todo (lineno): let title and logo be configurable so
13654         that GNOME can use this script too.
13655
13656         * TODO.xml: added logourl and a title
13657
13658 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
13659
13660         * TODO.xml: Added some UI items, and an explanatory
13661         comment at the top of the file.
13662
13663 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
13664
13665         * TODO.xml: some updates, added abunch of new entries.
13666         a note for those fiddeling with this file, when done
13667         with it, invoke:
13668         $ ./docs/make-todo TODO.xml >/dev/null
13669         and correct output errors before comitting changes.
13670
13671 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
13672
13673         * TODO.xml: Added XML-structured TODO file.
13674         * docs/make-todo: python script to turn TODO.xml into
13675           pretty XML output. 
13676
13677 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
13678
13679         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
13680         the function to let it draw the seven dots, instead of the old,
13681         much maligned, method.
13682         (draw_dot): New function to draw a dot.
13683
13684         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
13685         to draw the handle inside the border width as opposed to outside.
13686         Use paint function instead of gdk_draw_point.
13687
13688         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
13689         to draw the handle inside the border width as opposed to outside.
13690         Use paint function instead of gdk_draw_point.
13691
13692         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
13693         Change indenting to be more GTK like.
13694
13695 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
13696
13697         * docs/gtk_tut.sgml: New section on GtkCalendar
13698         * examples/calendar: Update example code
13699
13700 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
13701
13702         * docs/gtkfaq.sgml: FAQ Update
13703
13704 2000-02-19  Anders Carlsson  <andersca@gnu.org>
13705
13706         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
13707         to prevent the scroll event to be propagated upwards.
13708
13709 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
13710
13711         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
13712         OwnerGrabButtonMask from button entries for
13713         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
13714
13715         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
13716         to the event mask (which will result in button/press release
13717         being added to the event mask on Unix) so scrolling works
13718         for layouts in scroll windows.
13719
13720         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
13721
13722         Patch from Anders Carlsson  <andersca@gnu.org> to add
13723         a scroll event.
13724
13725         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
13726         scrolling to the "Test Scrolling" part of testgtk.
13727  
13728         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
13729  
13730         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
13731         it against GDK_SCROLL.
13732  
13733         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
13734         way of mouse wheel scrolling.
13735  
13736         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
13737  
13738         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
13739  
13740         * gtk/gtkmain.c: Removed previous mouse wheel hack.
13741  
13742         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
13743         gdk_event_mask_table.
13744  
13745         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
13746         GdkEventScroll handler.
13747  
13748         * gdk/gdkevents.h: Added GdkEventScroll structure.
13749  
13750 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
13751
13752         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
13753         and Anders Carlsson to change the Paned widgets so that they
13754         can be dragged from anywhere along the length. Also change
13755         the way that this is drawn to make this apparent.
13756
13757         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
13758         from George Lebl to check that option_menu->menu is present
13759         before getting history.
13760
13761 2000-02-14  Tor Lillqvist  <tml@iki.fi>
13762
13763         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
13764         before the assertion for non-NULL segment list.
13765
13766         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
13767         Seems that pattern brushes *must* be 8x8 pixels! At least on my
13768         machine, but it might be display driver dependent. Sigh, so make
13769         sure the stipple is that size. Does Windows suck or what?
13770
13771         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
13772         places.
13773
13774 2000-02-13  Havoc Pennington  <hp@pobox.com>
13775
13776         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
13777         refcount to 1
13778         (gdk_cursor_new): init refcount to 1
13779
13780         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
13781
13782 2000-02-13  Tor Lillqvist  <tml@iki.fi>
13783
13784         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
13785         so that we don't have to do unnecessary settings to the HDC.
13786
13787         * gdk/win32/gdkdrawable-win32.c
13788         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
13789         gdk_gc_predraw.
13790
13791         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
13792         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
13793         GDI paths, call WidenPath to get the outline of the stroken path,
13794         and then fill the outline (with the brush that was built from the
13795         stipple).
13796
13797         * gdk/win32/gdkgc-win32.c: Factor out common code from
13798         _gdk_win32_gc_new and gdk_win32_gc_set_values into
13799         gdk_win32_gc_values_to_win32values. Use correct colour for
13800         SetBkColor() (Until now the code actually used a random colour in
13801         the call to SetBkColor()... but that didn't show up as not many
13802         GDI APIs use the background colour. Pattern (opaque stippled)
13803         brushes do.)
13804
13805         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
13806         gdk_win32_api_failed): New functions for error logging.
13807
13808         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
13809         WIN32_API_FAILED to call them, passing function or file name and
13810         line number.
13811
13812         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
13813
13814         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
13815         GdkColor for foreground and background in GdkGCWin32Data.
13816
13817         * gdk/makefile.cygwin: Link in the resource object separately.
13818
13819         * gdk/win32/rc/gdk.rc
13820         * gtk/gtk.rc (New file)
13821         * gdk/win32/makefile.cygwin
13822         * gtk/makefile.cygwin: Update build number in DLLs automatically,
13823         as in GLib.
13824
13825 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
13826
13827         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
13828         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
13829         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
13830         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
13831         parameters given and cursor->ref_count. coding style fixups.
13832
13833         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
13834         not GtkWidget.
13835         
13836         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
13837         fix up widget macros and add _GET_CLASS() variant.
13838         
13839         * gtk/*.c: some GtkType fixups.
13840
13841 2000-02-09  Tor Lillqvist  <tml@iki.fi>
13842
13843         * gdk/win32/gdkproperty-win32.c
13844         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
13845         were reversed.
13846
13847 2000-02-04  Tor Lillqvist  <tml@iki.fi>
13848
13849         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
13850         g_filename_to_utf8 to convert the font names Windows gives us from
13851         whatever is the default codepage to UTF-8.
13852         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
13853         in the other direction.
13854
13855         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
13856         error in debugging output.
13857
13858 2000-02-02  Tor Lillqvist  <tml@iki.fi>
13859
13860         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
13861         and height parameters to gdk_window_clear_area(). Not minus one.
13862
13863 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
13864
13865         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
13866         checks if the widget passed to gtk_drag_get_data() was not the
13867         dest widget.
13868
13869 2000-02-01  Tor Lillqvist  <tml@iki.fi>
13870
13871         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
13872         g_filename_from_utf8 functions (which were added a moment ago to
13873         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
13874         size buffers.
13875
13876         gtk_file_selection_get_filename returns the filename in the C
13877         runtime encoding. It calls g_filename_from_utf8, but copies the
13878         returned string to a static buffer, which is returned. I think
13879         this is better than returning the result from g_filename_from_utf8
13880         directly, which would mean all apps that use it would have to free
13881         the return value. Or should this function care about this issue at
13882         all? Maybe a new function with clearly defined semantics.
13883
13884         * gtk/gtkfilesel.h: Add comment about
13885         gtk_file_selection_get_filename returning the filename in the C
13886         runtime's encoding.
13887
13888         * README.win32
13889         * gdk/gdk.def
13890         * gdk/makefile.{cygwin,msc}
13891         * gtk/gtk.def: Updates.
13892
13893         * gdk/gdkcursor-win32.c: Initialise refcount.
13894
13895 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
13896
13897         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
13898
13899 2000-01-30  Havoc Pennington  <hp@pobox.com>
13900
13901         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
13902         destroy
13903
13904         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
13905
13906         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
13907         implemented in platform-specific code
13908
13909         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
13910
13911         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
13912         underscore in front
13913
13914         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
13915         put an underscore in front
13916
13917         * gdk/gdkcursor.c: new file, implements
13918         gdk_cursor_ref/gdk_cursor_unref
13919
13920         * gdk/gdkcursor.h: Refcount GdkCursor
13921
13922         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
13923
13924 2000-01-29  Tor Lillqvist  <tml@iki.fi>
13925
13926         * gdk/gdkwindow.h
13927         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
13928
13929 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
13930
13931         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
13932         structures to properly inherit from GtkWidget not GtkBin.
13933
13934 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
13935
13936         * gtk+.spec.in: Added lib/gtk+/include/* to %files
13937         (bug #5178 - Peter Wainright)
13938         
13939         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
13940         so that it will be installed.
13941         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
13942
13943 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
13944
13945         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
13946         for the GtkStyleClass vtable const.
13947
13948         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
13949         take a const string argument like GtkTranslateFunc. This will
13950         require changes in use code.
13951
13952 2000-01-19  Tor Lillqvist  <tml@iki.fi>
13953
13954         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
13955         semantics (to mimic the X11 backend, which just calls XClearArea)
13956         is to check for zero width (and height), and in that case use the
13957         window's width minus x (height minus y). This fixes for instance
13958         some redraw problems with gtkclist, which were easily noticeable
13959         in the gtk file selection widget.
13960
13961         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
13962         windows.
13963
13964 2000-01-13  Tor Lillqvist  <tml@iki.fi>
13965
13966         * configure.in
13967         * gdk/Makefile.am
13968         * gdk/x11/Makefile.am
13969         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
13970         (bug #5177).
13971         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
13972         out later.
13973
13974 2000-01-09  Tor Lillqvist  <tml@iki.fi>
13975
13976         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
13977         WM_MOVE for iconified or invisible windows. This fixes various
13978         problems when minimising windows. Thanks to Bernd Herd.
13979
13980 2000-01-05  Tor Lillqvist  <tml@iki.fi>
13981
13982         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
13983         backend's draw_lines method, not draw_points.
13984
13985 2000-01-02  Tor Lillqvist  <tml@iki.fi>
13986
13987         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
13988         before Owen's reorganisation: Don't have queued_events and
13989         queued_tail statics in this file, but use gdk_queued_events and
13990         gdk_queued_tail. This makes exposure event compression work again.
13991
13992         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
13993         seem to be needed?
13994
13995 1999-12-30  Tor Lillqvist  <tml@iki.fi>
13996
13997         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
13998         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
13999         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
14000         doesn't do anything.
14001
14002         * gdk/gdk.def: Add gdk_xid_table_insert.
14003
14004         * gdk/win32/gdkprivate-win32.h
14005         * gdk/win32/gdkevents-win32.c
14006         * gdk/win32/gdkinput-win32.c
14007         
14008         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
14009         extension_events field in the GdkWindowWin32Data struct. Use only
14010         the extension_events field in GdkWindowPrivate. Previously one was
14011         set, and the other one tested, which broke tablet
14012         functionality. Thanks to Keishi Suenaga for pointing this out.
14013
14014 1999-12-18  Tor Lillqvist  <tml@iki.fi>
14015
14016         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
14017         When handling a single character (text length == 1), don't handle
14018         it as if it was UTF-8.
14019
14020 1999-12-11  Tor Lillqvist  <tml@iki.fi>
14021
14022         * Makefile.am: Distribute README.win32.
14023         
14024         * gdk/Makefile.am
14025         * gdk/win32/Makefile.am: Distribute Win32 files.
14026
14027         * gdk/makefile.msc: New file.
14028
14029         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
14030         after label).
14031
14032         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
14033         gdk_error_code as GDKVAR, as they are referred outside GDK.
14034
14035         * gdk/win32/makefile.msc: Update.
14036
14037         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
14038         tweaks. Check only if at least one of those Unicode subrange bits
14039         we care for is set. If no code page bits are set, guess (wildly)
14040         based on the charset.
14041
14042         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
14043
14044         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
14045         non-NULL.
14046
14047         * gtk/gtkdnd.c
14048         * gtk/gtklayout.c
14049         * gtk/gtkplug.c
14050         * gtk/gtkselection.c
14051         * gtk/gtksocket.c
14052         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
14053         appropriate. There must be a cleaner way to handle this?
14054
14055         * gtk/gtkrc.c: Must include windows.h on Win32.
14056
14057         * gtk/testgtk.c: No need to include gdkx.h.
14058
14059         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
14060
14061 1999-12-07  Tor Lillqvist  <tml@iki.fi>
14062
14063         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
14064         the rbearing is set to the same as the width, but this should be
14065         fixed.
14066
14067 1999-12-06  Tor Lillqvist  <tml@iki.fi>
14068
14069         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
14070         function. If Windows doesn't tell us what Unicode subranges a font
14071         covers, guesstimate based on the codepages it covers. This will
14072         hopefully help those Windows versions or fonts that don't give us
14073         any useful Unicode subrange information with GetTextCharsetInfo.
14074         Call this function in gdk_font_load_internal.
14075
14076         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
14077         minor changes.
14078
14079 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
14080
14081         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
14082         New function, long needed.
14083
14084 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
14085
14086         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
14087         only_if_exists argument of gdk_atom_intern to
14088         bool.
14089
14090 1999-11-25  Tor Lillqvist  <tml@iki.fi>
14091
14092         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
14093         Fix two copy&paste errors.
14094
14095         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
14096         win32 has changed.
14097
14098         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
14099         GdkWin32SingleFont struct.
14100
14101         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
14102         subranges of loaded fonts. Clear font signature first, in case
14103         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
14104         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
14105
14106         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
14107         Unoffset clip region.
14108
14109 1999-11-23  Tor Lillqvist  <tml@iki.fi>
14110
14111         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
14112         event->any.window before calling filter functions.
14113
14114 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
14115
14116         * gtk/gtkgamma.h: Adapt cast macros to standard.
14117
14118 [ Merges from 1.2 ]
14119
14120 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
14121
14122         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
14123         If translation does not include a '/', use entire
14124         translation instead of crashing.
14125
14126 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
14127
14128         * docs/gtk_tut.sgml:
14129         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
14130
14131 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
14132
14133         * gtk/gtkselection.c (gtk_target_list_remove): Use
14134         g_list_remove_link, not g_list_remove.
14135
14136         [ From Geert Bevin <gbevin@thunderstorms.org> ]
14137         
14138 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
14139
14140         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
14141         statement upon unselection (how the heck did that slip in?).
14142
14143 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
14144
14145         * gtk/gtktext.c (gtk_text_freeze): 
14146         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
14147         in frozen state (and aparently crashes). patch provided by Anders
14148         Melchiorsen <and@kampsax.dtu.dk>.
14149
14150 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
14151
14152         * fix insensitive default/focus widget activation,
14153         reported by Matt Goodall <mgg@isotek.co.uk>.
14154
14155         * gtk/gtkwindow.c (gtk_window_key_press_event): 
14156         (gtk_window_activate_default):
14157         (gtk_window_activate_focus):
14158         return handled=FALSE for actiavtion of insensitive default
14159         widgets. return handled=TRUE for activation of insensitive
14160         focus widgets. don't activate in either case.
14161
14162 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
14163
14164         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
14165         and $glib_cflags to match library order and in the
14166         theory that an old version of GLib is more likely to
14167         be in the include directory for X then vice-versa.
14168         (Bug #2776)
14169
14170 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
14171
14172         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
14173         to determine the locale for fontsets, not LC_MESSAGES;
14174         the user may want English messages with a handling
14175         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
14176         will still be broken) (Bug #2891)
14177
14178 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
14179
14180         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
14181
14182 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
14183
14184         * gtk/gtkrc.ko: Changed the Korean default fontset.
14185
14186 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
14187
14188         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
14189         where when scrolling to the left or top double exposes
14190         were done, causing major slowdowns.
14191
14192 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
14193
14194         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
14195         names to lowercase and alphanumeric, before looking
14196         them up.
14197
14198         * gtk/Makefile.am: Install codeset variant gtkrc files
14199         with normalized names.
14200
14201 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
14202
14203         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
14204         popup menus when the menu is already visible, but its parent
14205         is still hidden, (happens after tornoff window got hidden).
14206
14207 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
14208
14209         * gtk/Makefile.am (install-data-local): Fix
14210         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
14211         deleted, causing error messages on install.
14212
14213 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
14214
14215         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
14216         the handle as well, since we now sometimes ignore
14217         exposes on the handle while resizing.
14218
14219 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
14220
14221         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
14222         extra g_free introduced in one of the last one or two 
14223         commits.
14224
14225 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
14226
14227         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
14228         consistent, put each style that a gtkrc.* file creates
14229         in a unique namespace, remove old files before installing.
14230
14231 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
14232
14233         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
14234         gtk_rc_init is called multiple times. (Yes, people who
14235         do that have bugs in their code.)
14236
14237 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
14238
14239         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
14240         Remove it since it's generated by the Makefile anyway
14241
14242 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
14243
14244         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
14245         device->info.axes for core pointer.
14246
14247 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
14248
14249         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
14250         idle_id, to deal with obsolete, broken C libraries.
14251
14252 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
14253
14254         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
14255         allocation->x/y twice!
14256
14257         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
14258         consistent with gtk_vscale_pos_trough().
14259
14260 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
14261
14262         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
14263         be queueing a resize on a toplevel container between
14264         the time we show it and when we map it. So, we need
14265         to test GTK_WIDGET_VISIBLE() for toplevels, and only
14266         use GTK_WIDGET_DRAWABLE() for child windows.
14267
14268 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
14269
14270         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
14271         (fixes bug #2144)
14272
14273 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
14274
14275         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
14276         container DRAWABLE (instead of VISIBLE), so we don't queue
14277         resizes on non-toplevel containers.
14278
14279 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
14280
14281         * gtk/gtkselection.[ch]: Make the data argument
14282         const guchar *.
14283
14284 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
14285
14286         * gtk/gtkwindow.c: Try to behave sensibly if 
14287         the focus widget is the window itself. (Should
14288         we allow this at all?)
14289
14290 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
14291
14292         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
14293         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
14294         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
14295         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
14296         in prototypes and implementations consistent (Tomas Ogren).
14297
14298         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
14299         before the widget is unparented (reported by damon).
14300
14301         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
14302         since we provide unsigned data anyways.
14303
14304 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
14305
14306         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
14307         the call to gtk_tooltips_layout_text() until later.
14308
14309         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
14310         Call gtk_widget_ensure_style() before using the style.
14311
14312 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
14313
14314         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
14315         for old widgets that don't propagate draws to all
14316         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
14317
14318 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
14319
14320         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
14321         for a redraw but just the widget that requested the resize.
14322
14323 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
14324
14325         * gtk/gtkcontainer.c: added new widget level method
14326         gtk_container_set_reallocate_redraws() and a GtkContainer flag
14327         reallocate_redraws : 1 to reflect the setting, exported this through
14328         the argument system as a boolean ::reallocate_redraws.
14329
14330         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
14331         on the widget because the allocation changes, do so as well for
14332         widget->parent if the parent has reallocate_redraws set to TRUE.
14333         with that containers requesting reallocation redraws get automatically
14334         redrawn if their children changed allocation (this unfortunately
14335         affects also other children that didn't change allocation, but we
14336         cannot work around that before 1.3).
14337
14338 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
14339
14340         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
14341         _and_ height are >0 (not _or_).
14342
14343         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
14344         instead of gtk_container_queue_resize(), which is a core gtk internal
14345         function (must have been on crack when i queued that).
14346
14347         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
14348         we can check more reliably if we want to discard expose events.
14349         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
14350         flag.
14351         
14352         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
14353         we simply trust these events. for deciding whether to discard exposes,
14354         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
14355         
14356 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
14357
14358         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
14359         queues of areas that are completely off screen.
14360
14361         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
14362         logic for handleboxes.
14363
14364         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
14365         check on width/height.
14366
14367 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
14368
14369         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
14370         we are fine with using $@ the way we do (if we actually encounter
14371         brokeness with $@ in VPATH builds because of additional path prefixes,
14372         we need to use $(@F) actually).
14373
14374 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
14375
14376         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
14377         short lived bugs, that would allow language bindings to do surgeries
14378         to our guts.
14379
14380 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
14381
14382         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
14383         where comparison was being done against an uninitialized
14384         value causing intermittant results depending on
14385         compiler flags. Also make it clearer that we aren't
14386         ever initializing the child as 0x0 (though this will
14387         be caught in gtk_widget_size_allocate())
14388
14389 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
14390
14391         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
14392         gtk_window_unset_transient_for() call after we do checks
14393         involving the old transient parent.
14394         [ From Lance Capser <lmc@cyberhighway.net> ]
14395
14396 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
14397
14398         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
14399         an empty file.
14400
14401 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
14402
14403         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
14404         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
14405
14406 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
14407
14408         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
14409         `$@' is valid only in the build dir, not after we've done 
14410         `cd $srcdir'.  Also use `test -f' instead of less portable
14411         `test -e'.
14412
14413 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
14414
14415         * gtk/gtktext.c (correct_cache_insert): Rewrite
14416          for simplicity, and hopefully correctness.
14417          (Fixes bug #1322, which was a segfault when
14418           on some insertions with the properties around
14419           the insertion set up just wrong.)
14420
14421         * gtk/gtktext.c (gtk_text_adjustment): When we receive
14422          a "changed" signal, clamp the new value to the adjustment
14423          bounds to avoid segfaulting if someone tries to change
14424          the adjustment to a bogus value. (Bug #1795)
14425
14426 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
14427
14428         * gtk/gtkmain.c: Ignore unexpected destroy notifies
14429         for children, for toplevel windows handle them
14430         like delete_event.
14431
14432         * gtk/gtkplug.c: Add an unrealize handler so that
14433         we unref plug->socket_window when we are done
14434         with it.
14435
14436 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
14437
14438         * gtk/gtktext.c (clear_area): Fix stupid signedness
14439          problem that was causing background to sometimes
14440          be misaligned.
14441
14442 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
14443
14444         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
14445         
14446         * gtk/gtkmenu.c (gtk_menu_position): Make
14447          sure we never position menus with negative x, y,
14448          since gtk_widget_set_uposition() can't handle that.
14449
14450         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
14451          Modify the positioning code a bit so that we always
14452          put the top-left corner onscreen. (This is for
14453          UI reasons, gtk_menu_position() now takes care of
14454          gtk_widet_set_uposition() brokeness.)
14455
14456 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
14457
14458         * gtk/Makefile.am: fixed up things for -jx, x > 1.
14459
14460 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
14461
14462         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
14463           RC style that is passed in. The lack of the ref
14464           before was a bug. If people worked around this
14465           bug, this will introduce a slight memory leak
14466           in their code. The code should typically look like:
14467
14468             rc_style = gtk_rc_style_new ();
14469             [...]
14470             gtk_widget_modify_style (widget, rc_style);
14471             gtk_rc_style_unref (rc_style);
14472
14473         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
14474           the style if it was already set.
14475
14476         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
14477           style if it was set before.
14478
14479 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
14480
14481         * gtk/testgtk.c (main): Add a check to see if we
14482           are being run from the correct directory and
14483           to quit nicely if we are not.
14484
14485         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
14486           static.
14487
14488 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
14489
14490         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
14491
14492         * gtk/gtkwindow.c:
14493         queue resizes unconditionally (gtk_widget_queue_resize will figure
14494         what to do if the window is not realized).
14495         (gtk_window_move_resize): only recenter the window
14496         for GTK_WIN_POS_CENTER_ALWAYS.
14497         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
14498         the same way as GTK_WIN_POS_CENTER.
14499
14500 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
14501
14502         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
14503         with (!(info->last_flags & GDK_HINT_POS)) instead of
14504         (!info->last_flags & GDK_HINT_POS).
14505
14506         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
14507         new_height unconditionally, because we use these values even if
14508         !default_size_changed && !hints_changed.
14509         comented the (default_size_changed || hints_changed) case with
14510         respect to resize rejects from the window manager.
14511
14512         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
14513         in the zvt condition hack, since this includes the window hints, set
14514         the hints after the handling_resize case.
14515
14516         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
14517         window is initially shown with to the geometry.
14518
14519 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
14520
14521         * gtk/gtkwindow.c (gtk_window_move_resize):
14522         s/size_changed/default_size_changed/g so i know what's
14523         really going on (frying brain on smaller flame now).
14524
14525 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
14526
14527         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
14528         we have size_changed upon handling_resize. this is a gross
14529         workaround for the broken zvt widget and should be removed in
14530         1.3 again (search for FIXME).
14531         Owen provided an accurate comment for this:
14532
14533         /* We could be here for two reasons
14534          *  1) We coincidentally got a resize while handling
14535          *     another resize.
14536          *  2) Our computation of size_changed was completely
14537          *     screwed up, probably because one of our children
14538          *     is broken. It's probably a zvt widget.
14539          *
14540          * For 1), we could just go ahead and ask for the
14541          * new size right now, but doing that for 2)
14542          * might well be fighting the user (and can even
14543          * trigger a loop). Since we really don't want to
14544          * do that, we requeue a resize in hopes that
14545          * by the time it gets handled, the child has seen
14546          * the light and is willing to go along with the
14547          * new size. (this happens for the zvt widget, since
14548          * the size_allocate() above will have stored the
14549          * requisition corresponding to the new size in the
14550          * zvt widget)
14551          *
14552          * This doesn't buy us anything for 1), but it shouldn't
14553          * hurt us too badly, since it is what would have
14554          * happened if we had gotten the configure event before
14555          * the new size had been set.
14556          */
14557
14558 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
14559
14560         * gtk/gtkrc.c: deal properly with the fact that RC
14561           style lists may include rc styles more than once.
14562
14563         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
14564           unused static function.
14565
14566         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
14567           stack of directories of RC files currently being
14568           parsed and implicitely add them to pixmap path.
14569           
14570           This fixes a bug where the directory would get
14571           appended then overwritten by pixmap_path declarations.
14572
14573           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
14574
14575         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
14576           theme's exit function. (Patch from Peter Wainwright,
14577           bug #1454)
14578
14579         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
14580           Add a destroy() handler to take care of removing
14581           group for menu item. (Fixes bug #1197)
14582
14583         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
14584           in warning message.
14585
14586 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
14587
14588         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
14589         roundtrip to figure window's width and height, since we know that
14590         anyways from widget->allocation.
14591
14592 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
14593
14594         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
14595           the hints after we request the new size.
14596
14597 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
14598
14599         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
14600           GTK_WIDGET_REALIZED() assertion - we can compute the
14601           hints before we are realized.
14602
14603         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
14604           hint changing so that we have a value of hints_changed
14605           when we decide whether to constrain the window size.
14606
14607         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
14608
14609         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
14610         change back to G_MAXINT.
14611
14612 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
14613
14614         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
14615         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
14616         contain uncluttered values.
14617         (gtk_window_compute_hints): simply assert that window is realized
14618         and that geometry_info is valid, since we rely on this anyways.
14619         (gtk_window_constrain_size): major cleanups to the code.
14620         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
14621         for the base size, instead of the minimums. use 32767 as max width
14622         and height (like in gtkwindow.c) instead of G_MAXINT.
14623
14624 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
14625
14626         * cleaned up the GtkContainer.need_resize flag handling mess, we
14627         only need to force resize requests when we were prematurely
14628         realized, or our widget tree was modified when we were temporarily
14629         hidden. handling these cases directly upon showing the window (i.e.
14630         while the GdkWindow is still unmapped) avoids the need to wait for
14631         a configure event response and therefore makes the GUI more snappier
14632         and avoids blank windows during the roundtrip.
14633
14634         * gtk/gtkwidget.c:
14635         (gtk_widget_hide): 
14636         (gtk_widget_show): don't queue resizes on toplevels, they know how
14637         to deal with matters.
14638
14639         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
14640         flag directly for not visible resize containers and spare us unecessary
14641         signal emissions.
14642
14643         * gtk/gtkwindow.c:
14644         (gtk_window_realize): if we need to enforce premature size allocation,
14645         queue a container resize so we are correctly resized later on.
14646         (gtk_window_init):
14647         (gtk_window_size_request):
14648         don't freak around with the ->need_resize flag,
14649         gtk_container_queue_resize() will care about that.
14650         (gtk_window_show):
14651         handle initial resizing issues here, we can handle matters better in
14652         this place, especially since we know that our GdkWindow is still
14653         unmapped.
14654         (gtk_window_move_resize):
14655         don't care about ->need_resize at all.
14656         handle size changes properly that occoured while we waited for a
14657         configure event.
14658
14659 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
14660
14661         * gtk/gtkwidget.c (gtk_widget_set_uposition):
14662         * gtk/gtkwindow.[hc] (gtk_window_reposition):
14663         Move the hint setting code from gtk_widget_set_uposition
14664         to here; set the hints so that we respect any previously
14665         set geometry hints.
14666
14667         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
14668         change the window hints here or move the window here,
14669         let that happen in gtk_window_move_resize().
14670
14671 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
14672
14673         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
14674         to already queued resizes (and therefore redraws) on a widget, check
14675         its anchestry as well.
14676
14677         * gtk/gtkcontainer.c:
14678         (gtk_container_queue_resize): clear resize widgets for resize
14679         containers before aborting prematurely. this is especially important
14680         for toplevels which may need imemdiate processing or their resize
14681         handler to be queued.
14682         (gtk_container_dequeue_resize_handler): added new internal function for
14683         gtkwindow.c.
14684
14685         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
14686         configure event, take possible changes in window position into account
14687         as well.
14688         if we request a new window size, queue up a resize handler that will
14689         last until the configure event response arrives.
14690         combined the ->need_resize case (initial show) with the general size
14691         (hints) changed case and added even more comments.
14692         if !auto_shrink, only revert to the old allocation if the new size
14693         is smaller than the current allocation.
14694
14695 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
14696
14697         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
14698                            gtk_window_set_geometry_hints
14699                            gtk_window_set_default_size):
14700         When hints are set, queue a resize so that the hints will
14701         be eventually reset on the toplevel.
14702
14703         * gtk/gtkwindow.c (gtk_window_show): Use
14704         gtk_window_compute_default_size(). Clear the need_resize flag
14705         on the initail map so that we don't unnecessarily trigger the
14706         resize code.
14707
14708         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
14709         into separate functions. Compare the hints we are setting
14710         with what we set last time so that we can accurately
14711         tell when we need to reset the hints.
14712
14713         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
14714         function to figure out the size from requisition
14715         and default_size.
14716
14717         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
14718         from fvwm to constrain a size to the geometry hints.
14719
14720         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
14721         to compare two sets of geometry hints.
14722
14723         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
14724         from gtk_window_set_hints(), just compute the hints,
14725         don't set them.
14726
14727         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
14728         code from gtk_window_move_resize() to separate function,
14729         rationalize a bit.
14730
14731 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
14732
14733         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
14734         structure into a new private structure.
14735
14736         * gtkrc.c: Split GtkRcStyle into public/private.
14737         In the private part, add a list of pointers to the
14738         RcStyle lists this RcStyle participates in.
14739
14740         * gtkrc.c: When a RcStyle is free, remove all
14741         lists referencing it from the 
14742         realized_style_ht hash, and free those lists.
14743         
14744         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
14745         gtk_rc_init(), since that adds the default styles
14746         to the list of parsed RC files again.
14747
14748         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
14749         
14750 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
14751
14752         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
14753         checks that ensure that a widget's allocation is at least 1 in width
14754         and height. (GNOME note: this doesn't affect old panel code anymore,
14755         because GtkSocket will request width and height of at least 1 since
14756         Fri Jul 23).
14757
14758         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
14759         allocated yet (happens if the user realizes the window prematurely),
14760         size request and allocate it.
14761         (gtk_window_size_allocate): guard against guint underflows.
14762
14763 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
14764
14765         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
14766         in gtk_built_sources, so gtk.defs gets built prior to all other
14767         sources.
14768
14769 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
14770
14771         * gtk/Makefile.am:
14772         invoke indent on gtkmarshal.*. 
14773         rewrote source generation rules, use COPYING as oldest source tag for
14774         a piggyback rule to generate all sources from (don't touch it ;).
14775         major cleanups, strip spaces on build rules for GNU Make.
14776
14777         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
14778         source and target files from commandline arguments. don't invoke indent.
14779
14780 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
14781
14782         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
14783         notebook after switch to avoid drawing problems.
14784         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
14785         
14786         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
14787         show them instead. 
14788         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
14789
14790 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
14791
14792         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
14793         notebook after switch to avoid drawing problems.
14794         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
14795         
14796         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
14797         show them instead. 
14798         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
14799
14800 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
14801
14802         * gtk/gtkwindow.c:
14803         we use window->need_resize from configure_event now, to indicate that
14804         the gtkwindow should keep its allocation (e.g. because the user resized
14805         the window through window manager handles). resize_count is now reliably
14806         used to figure whether we got the allocation we requested from the
14807         window manager.
14808         configure events get queued as resizes now, the real stuff (size
14809         computation and allocation) now only goes on in gtk_window_move_resize().
14810         GtkWindow's requisition now contains its *real* requisition (like all
14811         other widgets), *not* taking usize into account.
14812         geometry_info->last_{width|height} is now updated from set_hints() only
14813         so it always contains the last hints we set for the window manager.
14814         made some event handlers return TRUE instead of FALSE.
14815         the overall code should be much more straight forward now, and the
14816         significant code portions are accompanied by comments now.
14817         (gtk_window_set_hints):
14818         removed requisition argument and made it
14819         fetch the requisition through gtk_widget_get_child_requisition.
14820         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
14821         does that now.
14822         (gtk_window_show):
14823         ensure that the widget is realized before calling 
14824         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
14825         ensure that we got properly size requested and allocated before
14826         realization.
14827         (gtk_window_configure_event):
14828         ignore plain window moves, or reallocate the widget tree through the
14829         resize queue otherwise.
14830         (gtk_window_move_resize):
14831         mostly rewrote this function to figure window manager hints more
14832         reliably, coalesce window moves and resizes to reduce configure events
14833         and do actuall size allocations.
14834
14835 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
14836
14837         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
14838         that have a resize pending, because a redraw is already queued for them.
14839
14840         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
14841         hack to clear resize_widgets.
14842
14843         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
14844         for resize containers prior to size allocation. (this is also a bit
14845         ugly, but avoids side effects for stopped emissions and is thus more
14846         reliable).
14847         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
14848
14849         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
14850         function from gtk_tooltips_expose, as we connect to ::expose_event
14851         *and* ::draw now.
14852
14853 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
14854
14855         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
14856         checks.
14857         (gtk_target_list_unref): Likewise.
14858
14859         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
14860
14861 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
14862
14863         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
14864         guard against division by zero. (Fixes bug #1339)
14865
14866 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
14867
14868         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
14869         Prevent the trivial leak of information of allowing
14870         word motion when the entry is not visible.
14871
14872 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
14873
14874         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
14875         modality to error dialog as well as confirmation dialogs.
14876         (Bug #1803, reported by Rosanna Wing Sze Yuen)
14877
14878 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
14879
14880         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
14881         tree->view_lines.
14882         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
14883
14884         * gtk/Makefile.am (install-data-local): Solaris apparently
14885         has various troubles with ln -f; use rm first instead.
14886         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
14887
14888 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
14889
14890         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
14891         use `cp' followed by `rm' (the `rm' was already there).
14892
14893 July 30, 1999 Elliot Lee <sopwith@redhat.com>
14894         
14895         * configure.in: Fix autoconf warnings about cross compilation by
14896         trying to provide sane defaults for AC_TRY_RUN.
14897         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
14898         put them into $(srcdir) when generated. Also add a dependency of
14899         gtksignal.h on gtkmarshal.h for -j builds. 
14900         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
14901
14902 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
14903
14904         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
14905         GDK_THREADS_{LEAVE,ENTER} pair.
14906         (From Paul Fisher <pnfisher@redhat.com>)
14907
14908 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
14909
14910         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
14911         width and height are always >0 (owen).
14912
14913 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
14914
14915         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
14916         change that assured that a widget's allocated with and height are
14917         always >1, since this breaks *buggy* panel code. unfortunately this
14918         back-breaks the gimp's color selector.
14919
14920         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
14921         allocation is always >0 in width and height, before sending the
14922         configure event; this is a *gross* hack to get the gimp back to work.
14923         
14924         * marked both cases with TODO-1.3
14925
14926 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
14927
14928         * gtk/gtktext.c: Don't display wrap indicators when
14929         text is not editable and word wrap is on.
14930
14931 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
14932
14933         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
14934         option menus here as they are not derived from menu shell, assure that
14935         the option menu has a menu we can add items to.
14936
14937 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
14938
14939         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
14940         width/height to (gint) before calculations and check against < 0 to
14941         avoid guint wraparounds.
14942
14943 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
14944
14945         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
14946         width and height is never zero. sanity check both dimensions against
14947         32767 and issue a warning if the allocation is greater than that.
14948
14949 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
14950
14951         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
14952         to g_main_pending() as well.
14953
14954 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
14955
14956         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
14957         call to g_main_iteration() - since that will regrab
14958         GTK+ lock to process events.
14959
14960 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
14961
14962         * gtk/gtkwindow.c
14963         - Regularize with the rest of GTK+ by making widget->requisition
14964           not reflect the set_usize()
14965         - Always recompute geometry hints, then check if they
14966           changed before sending them to the X server. The
14967           previous checks for changes would fail in a number
14968           of circumstances. 
14969
14970 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
14971
14972         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
14973
14974 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
14975
14976         * gtk/gtkdnd.c:
14977         - Code cleanups
14978         - Instantaneously update on modifier key presses
14979         - Allow cancellation of the drag with Escape.
14980
14981 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
14982
14983         * gtk/testgtk.c (create_handle_box): Set the policy
14984         to auto_shrink - otherwise the appearance is rather
14985         strange when flipping between horizontal and vertical.
14986
14987 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
14988
14989         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
14990         (gtk_window_set_default_size): don't change a value if it's < 0.
14991         queue a resize.
14992
14993 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
14994
14995         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
14996
14997 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
14998
14999         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
15000         add an extra "/" when concating "/" + filename.
15001         (From Matt Grossman <mattg@oz.net>)
15002
15003 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
15004
15005         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
15006         for fg_gc if we set it for drawing pixmap.
15007
15008 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
15009
15010         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
15011         
15012         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
15013         already set, call old engine's destroy function and
15014         unref the old engine.
15015
15016 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
15017
15018         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
15019
15020 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
15021
15022         * gtk/gtkaccelgroup.h: mark certain functions as internal.
15023
15024 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
15025
15026         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
15027         expand behaviour changed.
15028
15029         * gtk/gtklabel.c (gtk_label_set_pattern):
15030         (gtk_label_set_justify):
15031         (gtk_label_set_line_wrap):
15032         don't bother invoking queue_clear, the reallocation does
15033         that for us, always free_words so the upcoming resize will
15034         relayout the label's contents.
15035
15036 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
15037
15038         * applied argument implementation patches from Elena Devdariani
15039         <elena@cogent.ca>.
15040
15041         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
15042         ::space_style, ::relief
15043         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
15044         * gtk/gtkpreview.c: ::expand
15045         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
15046         * gtk/gtknotebook.c: ::homogeneous
15047         * gtk/gtklabel.c: ::wrap
15048         * gtk/gtklist.c: ::selection_mode
15049         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
15050         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
15051         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
15052         * gtk/gtkclist.c: ::sort_type
15053         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
15054         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
15055
15056 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
15057
15058         * gtk/gtkstyle.c: Removed ill-thought-out part of last
15059         comment.
15060
15061 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
15062
15063         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
15064         counting right when we have to attach a new style
15065         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
15066
15067         * gtk/gtkstyle.c: Documented the refcounting
15068         peculularities of gtk_style_attach.
15069
15070 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
15071
15072         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
15073         window types.
15074
15075         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
15076         of GTK_TOPLEVEL for creating the window.
15077
15078 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
15079
15080         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
15081         the last argument (reported by Per Winkvist).
15082         
15083 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
15084
15085         Fixes for invisible XOR lines (Frank Loemker
15086         <floemker@TechFak.Uni-Bielefeld.DE>)
15087         
15088         * gtk/gtkclist.c (gtk_clist_realize): Always use
15089         a non-zero pixel for GDK_XOR.
15090
15091         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
15092         Use GDK_INVERT instead of GDK_XOR.
15093
15094 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
15095
15096         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
15097         signals if h/voffsets differ from adjustment values.
15098         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
15099
15100 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
15101
15102         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
15103         ::selection-done emissions up to the topmost menu shell.
15104
15105 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
15106
15107         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
15108         the user data on the window before destroying it.
15109
15110         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
15111         unrealize handler to take care of destroying 
15112         notebook->panel properly. 
15113         (Bug #1198 - Morten Welinder <terra@diku.dk>)
15114
15115         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
15116         of g_new and g_realloc to stop memory leak. (Actually,
15117         we could just use g_realloc(), but I'm not 100% sure
15118         that is portable).
15119         (Bug #1196 - Morten Welinder <terra@diku.dk>)
15120
15121 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
15122
15123         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
15124
15125         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
15126         for fontsets.
15127
15128         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
15129         with bin/button confusion.
15130
15131 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
15132
15133         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
15134         and show how preselection of radio items is done.
15135
15136 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
15137
15138         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
15139         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
15140         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
15141         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
15142         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
15143         * gtk/gtktable.c (gtk_table_attach): 
15144         * gtk/gtklist.c (gtk_list_insert_items): 
15145         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
15146         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
15147         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
15148         * gtk/gtkbin.c (gtk_bin_add): 
15149         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
15150         * gtk/gtkfixed.c (gtk_fixed_put): 
15151         * gtk/gtklayout.c (gtk_layout_put):
15152         general fixups to container_add logic. always realize child if
15153         child->parent is realized, only map the child and queue a resize
15154         if child and child->parent are both visible.
15155
15156 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
15157
15158         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
15159         instead of gtk_container_foreach to walk and unrealize children, so
15160         composite children get also unrealized.
15161         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
15162         (gtk_widget_map): assert that the widget is visible (basic constrain).
15163         (gtk_widget_real_map): assert that the widget is realized (basic
15164         constrain).
15165
15166 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
15167
15168         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
15169
15170 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
15171
15172         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
15173         file for iso-8859-2 locales.
15174
15175         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
15176
15177 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
15178
15179         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
15180          (Pointed out by andy@rz.uni-karlsruhe.de and others).
15181          Remove some suspicious and useless lines. 
15182
15183 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
15184
15185         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
15186         width,height = 0, 0 to mean - here to edge of window,
15187         instead of -1, -1, since the former is all we support.
15188
15189 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
15190
15191         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
15192         when removing from quit_functions list.
15193
15194 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
15195
15196         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
15197
15198 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
15199
15200         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
15201          When redrawing characters on non-visible entry, use appropriate
15202          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
15203
15204 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
15205
15206         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
15207         from drag coordinates.
15208         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
15209         use drag_dest_cell.
15210
15211         * gtk/gtktree (drag_dest_cell)
15212         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
15213         (Bug #1129)
15214
15215 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
15216
15217         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
15218         translate_* fields.
15219         (gtk_item_factory_finalize): invoke translate_notify independant from
15220         translate_data.
15221         (gtk_item_factory_set_translate_func): likewise.
15222         (gtk_item_factory_destroy): only remove ifactory pointer from those
15223         widgets that belong to us (stupid me).
15224
15225 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
15226
15227         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
15228         rc_style list when lookup succeeeds.
15229
15230 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
15231
15232         * gtk/gtkctree.c (resync_selection): 
15233         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
15234         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
15235         bug.
15236
15237 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
15238
15239         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
15240         Add some missing GDK_THREADS_ENTER()/LEAVE around
15241         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
15242
15243 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
15244
15245         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
15246         rather than emit_by_name.
15247
15248         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
15249         on the widget across multiple signal emissions.
15250         (gtk_editable_delete_text): same here.
15251         (gtk_editable_class_init): set widget_class->activate_signal after
15252         editable_signals[ACTIVATE] has been created.
15253
15254 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
15255
15256         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
15257         position here prematurely -- we might not have the
15258         right ->min_position and ->max_position yet.
15259
15260 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
15261
15262         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
15263         Add error traps so if the other end of the connection
15264         dies, we survive.
15265
15266         * gtk/gtkselection.c (gtk_selection_notify): Clean
15267         up properly when selection property retrieval fails.
15268         
15269         * gtk/gtkselection.c (gtk_selection_request): Correctly
15270         reject SelectionRequest notifies where the handler
15271         returns no data.
15272
15273 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
15274
15275         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
15276         when we've previously highlighted.
15277
15278         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
15279         emit two "drag_leave" signals for Motif drops.
15280
15281         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
15282         back the correct status messages when dropping from
15283         Motif onto a proxy window that is rejecting the
15284         drop.
15285
15286 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
15287
15288         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
15289         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
15290         to compare two argument values. added gtk_arg_to_valueloc() to set a
15291         variable from an arg through its location (pointer).
15292
15293         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
15294         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
15295         as gfloat*, uchars are collected as guchar*, ints are collected as
15296         gint*, etc...
15297
15298 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
15299
15300         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
15301         Include <string.h> instead of <strings.h>.
15302
15303         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
15304         (actually, a lot more duplicate includes occur if
15305          you trace through the sequence of #include's)
15306         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
15307         
15308 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
15309
15310         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
15311         gtk-a-higuti-990322-[0-3]
15312
15313         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
15314         that was causing -DX_LOCALE not to work.
15315
15316         * gtk/gtkrc.c (gtk_rc_init):
15317         X_LOCALE will never have LC_MESSAGES defined
15318
15319 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
15320
15321         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
15322         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
15323
15324         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
15325         left/right as well (gtk-michael-980726-0.patch.gz).
15326
15327         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
15328         for pointer values, use gchar instead of char. fixed uline allocation
15329         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
15330         chunks instead of G_ALLOC_ONLY.
15331         (gtk_label_size_request): always alter requisition as passed and leave
15332         widget->requisition alone.
15333         (gtk_label_set_text): allow NULL strings.
15334         (gtk_label_new): likewise.
15335
15336 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
15337
15338         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
15339
15340 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
15341
15342         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
15343         *and* mapped (i.e. drawable).
15344         (gtk_bin_expose): only send exposes to drawable children.
15345
15346         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
15347         (gtk_box_expose): only send exposes to drawable children.
15348
15349         * gtk/gtkhscale.c (gtk_hscale_draw): 
15350         * gtk/gtkvscale.c (gtk_vscale_draw):
15351         hm, this is an ugly one. we first compute the size of our trough area
15352         here (window relative) and then check intersection with the draw_area
15353         which is parent relative because we're a NO_WINDOW widget, so we need
15354         to offset the trough area by allocation.x and allocation.y before the
15355         check. (this must not be done for the background area though, since
15356         that's already computed parent relative).
15357
15358 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
15359
15360         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
15361         unrealize title buttons.
15362
15363 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
15364
15365         * gtk/gtkclist.c (gtk_clist_column_title_passive)
15366         (gtk_clist_column_title_active): 
15367         only connect/disconnect to GtkWidgetClass::event to block mouse events.
15368
15369         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
15370         zero initialize event, removed superfluous gdk_window_get_pointer call
15371
15372         * gtk/gtklist.c (gtk_list_vertical_timeout)
15373         (gtk_list_horizontal_timeout): removed superfluous
15374         gdk_window_get_pointer call
15375
15376 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
15377
15378         * plugging problems reported by "Bruce Mitchener, Jr."
15379         <bruce@puremagic.com> due to a purify session.
15380
15381         * gtk/gtkstyle.c:
15382         (gtk_style_ref): 
15383         (gtk_style_unref): assert ref_count to be > 0.
15384
15385         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
15386         the requisition.
15387         (gtk_clist_set_shift): likewise.
15388
15389         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
15390         adjustments.
15391
15392         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
15393         event before sending it and set send_event to TRUE (which needs to
15394         be done for *all* synthesized events).
15395         (gtk_list_vertical_timeout): likewise.
15396
15397         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
15398         leaks.
15399
15400         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
15401         to TRUE when synthesizing events.
15402
15403 [ *** end of merges from 1.2 *** ]      
15404         
15405 1999-11-21  Tor Lillqvist  <tml@iki.fi>
15406
15407         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
15408         (or copied from gdkconfig.h.win32 on Win32, sigh).
15409
15410         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
15411
15412         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
15413
15414         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
15415
15416         * gdk/gdkconfig.h.win32: New file.
15417
15418         * gdk/win32/makefile.cygwin: Build just a static archive here.
15419
15420         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
15421         for the DLL from the static archive built above.
15422
15423         * gdk/gdk.def: Moved here from the win32 subdirectory.
15424
15425         * gdk/win32/*: Adapt for the changed private struct organisation.
15426
15427         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
15428
15429 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
15430
15431         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
15432         for wheel mice (buttons 4 and 5).
15433
15434 1999-11-18  Tor Lillqvist  <tml@iki.fi>
15435
15436         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
15437         drawables use just the pixel field in the foreground and
15438         background GdkColor of the GdkGC.
15439
15440         gdk_gc_set_{fore,back}ground() are called in the GIMP with
15441         GdkColors containing uninitialized (red,green,blue) fields, and
15442         just the pixel field filled in, and furthermore in the
15443         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
15444         It thus turns out that we really don't need to have the full
15445         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
15446         it later to have just the pixel values.
15447
15448 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
15449
15450         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
15451
15452 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
15453
15454         * docs/gtkfaq.sgml: threads example from Erik Mouw.
15455         New question on GtkLabel background colors.
15456
15457         * docs/gtk_tut.sgml:
15458           - Correct the example code callback
15459             function definitions.
15460           - Update the gtkdial example code, from Frans van Schaik.
15461           - Update setselection.c to current API.
15462
15463         * examples/Makefile examples/*/*.c: Update to code
15464         listed in tutorial.
15465
15466 1999-11-10  Tor Lillqvist  <tml@iki.fi>
15467
15468         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
15469         subrange table (from the "Developing International Software for
15470         WIndows 95 and Windows NT" book) was missing the Hangul syllable
15471         block... Get the loaded font's charset correctly.
15472
15473         (Note that this, and the other *-win32.c files, still really are
15474         the old ones, the win32 subdirectory is not ready for compilation
15475         yet after the reorg.)
15476
15477 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
15478
15479         * gtk/gtkclist.c: Fix off-by-one bug in parameter
15480         check.
15481
15482 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
15483
15484         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
15485         on results of XQueryDeviceState().
15486
15487 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
15488
15489         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
15490         we need to accesss only ->children. We need an accessor
15491         for the children.
15492
15493         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
15494         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
15495         to get rid of gdkx.h include.
15496         
15497         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
15498         and random references to 'None'.
15499
15500         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
15501         Get rid of unused #include <gdk/gdkx.h>
15502
15503         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
15504         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
15505         gdkconfig.h.
15506
15507 1999-11-08  Tor Lillqvist  <tml@iki.fi>
15508
15509         * gdk/win32/gdkdraw.c
15510         * gdk/win32/gdkfont.c
15511         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
15512         following yesterday's changes. (Unrelated to Owen's reorg.)
15513
15514 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
15515
15516         * gdk/x11/gdkinput-gxi.c: Add missing include,
15517           fix GdkWindowPrivate => GdkDrawablePrivate.
15518
15519         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
15520
15521         * gdk/x11/Makefile.am (xinput_sources): Add missing
15522         backslash to fix building with --with-xinput=none
15523
15524 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
15525
15526         Move all X specific code into the x11/ directory.
15527         Aside from shuffling things around, did the following:
15528
15529        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
15530          gdk_arg_context_* - a simple argument parsing system
15531          in the style of popt.
15532
15533        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
15534          gdk/x11/gdkprivate-x11.h:
15535          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
15536          add ->klass and ->klass_data fields. The klass_data
15537          field points to an auxilliary structure that is
15538          windowing system dependent.
15539
15540        * gdk/gdkfont.c: Make most of the measurement functions
15541          simply wrappers around gdk_text_extents().
15542
15543        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
15544          _gdk_font_strlen() function that hides the weird
15545          behavior in gtk+-1.[02] where a string is interpreted
15546          differently for 8-bit and 16-bit fonts.
15547
15548        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
15549          to store common code for synthesizing double/triple
15550          press events.
15551         
15552        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
15553          Make all the function that modify an existing GC
15554          simply wrappers around gdk_gc_set_values().
15555          
15556        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
15557          for throwing out later.
15558
15559        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
15560          GdkImagePrivate and GdkColormapPrivate to have a
15561          windowing system dependent part (GdkFontPrivateX etc.)
15562          that "derives" from the system-independent part.
15563
15564        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
15565          Got rid of the included-source-files for XInput in
15566          favor of automake conditionals. (Which didn't exist
15567          when XInput support was originally added.)
15568
15569        * gdk/gdkrgb.c: Remove the visual id from the debugging
15570          statements since that is X11 specific; print out
15571          type/depth info instead.
15572          
15573
15574 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
15575
15576         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
15577         loading duplicates of hashed fonts.
15578
15579         * gdk/gdk.c (gdk_keysym_convert_case): rename
15580         gdk_XConvertCase to gdk_keysym_convert_case, allow
15581         results to be NULL in the GTK+ style.
15582
15583         * gdk/gdkcompat.h: Started compatibility header
15584         for renames.
15585
15586 1999-11-07  Tor Lillqvist  <tml@iki.fi>
15587
15588         * gdk/win32/gdkprivate.h: New font private structures, related to
15589         fontsets.
15590
15591         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
15592         gdk_font_list_free(). On X11, will just be wrappers to
15593         XListFonts() and XFreeFontNames(). On Win32, the code previously
15594         in gtkfontsel.c is now here.
15595
15596         New function gdk_font_xlfd_create(). On X11 will get the FONT
15597         property of the font (for GDK_FONT_FONTs), or call
15598         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
15599         builds a XLFD style name from the font information in the LOGFONT
15600         struct(s).
15601
15602         New function gdk_font_xlfd_free(), which correspondingly frees the
15603         string returned by gdk_font_xlfd_create().
15604
15605         Implement fontsets on Win32. Add a function that iterates over a
15606         wide char string and calls a callback function for each substring
15607         of wide chars from the same Unicode subrange (and thus probably
15608         available in the same real font).
15609
15610         Improve the XLFD emulation a bit.
15611
15612         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
15613
15614         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
15615         Beta3, WM_IME_CHAR messages don't seem to contain the composed
15616         multi-byte char as with the Active IMM on Win9x. Oh well, handle
15617         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
15618         ImmGetCompositionStringW() to get the composed Unicode chars.
15619
15620         * gdk/win32/gdkgc.c
15621         * gdk/win32/gdkdraw.c: Changes needed because of the font private
15622         struct changes.
15623
15624         * gdk/win32/gdk.def: Add the new functions.
15625
15626 1999-11-04  Tor Lillqvist  <tml@iki.fi>
15627
15628         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
15629         get the Platform SDK to get <dimm.h>.
15630
15631         * gdk/win32/gdkevents.c: More event handling fixes and
15632         simplification. Never generate motion events with is_hint true. We
15633         used to do that on bogus grounds earlier. Windows sends
15634         WM_MOUSEMOVE messages on button events even if the mouse hasn't
15635         moved, ignore these.
15636
15637         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
15638
15639         * gdk/win32/gdkglobals.c
15640         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
15641         the TrackMouseEvent function, and use it.
15642
15643         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
15644         char before calling WideCharToMultiByte in order to get a string
15645         for the window title.
15646
15647         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
15648
15649         * gdk/win32/gdk.def: Remove obsolete functions.
15650
15651         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
15652         /nodefaultlib and /defaultlib switches.
15653
15654         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
15655
15656 1999-10-31  Tor Lillqvist  <tml@iki.fi>
15657
15658         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
15659         EuroSign).
15660
15661         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
15662         same type as GdkWChar, especially on Win32.
15663
15664         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
15665
15666         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
15667         before passing to Windows GDI for drawing etc. Convert to the
15668         system default codepage before passing to Windows as window
15669         titles.
15670
15671         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
15672         support changing input locale on the fly.
15673
15674         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
15675         on-the-fly changes. Convert incoming characters from the current
15676         codepage to Unicode (and then to a UTF-8 multi-byte string) based
15677         on the current input language. Use keysym<->Unicode mapping tables
15678         and functions borrowed from xterm sources.
15679
15680         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
15681         editions of Win9x, use the ActiveX-based Active IMM (Input Method
15682         Manager) if available. IMEs and the Active IMM are available under
15683         the disguise of Chinese, Korean and Japanese support for IE and
15684         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
15685         support is present in all editions (as long as you install it).
15686
15687         Call DispatchMessage from gdk_events_queue() (and thus
15688         gdk_WindowProc()), instead of duplicating the code in
15689         gdk_WindowProc().
15690
15691         Reworked the grab handling and propagation code, factored out
15692         duplicated code snippets into separate functions. Other cleanups,
15693         too.
15694
15695         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
15696         the <dimm.h> header describing the Active IMM.
15697
15698         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
15699         just do the same as for "single" fonts.
15700
15701         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
15702         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
15703         the new keysyms from gdkkeysyms.h.
15704
15705         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
15706         fontset, so that gtkentry uses wide characters.
15707
15708         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
15709         GTk+'s system directory "gtk+", not "gtk".
15710
15711 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
15712
15713         * docs/gtkfaq.sgml: FAQ update
15714
15715 1999-10-21  Tor Lillqvist  <tml@iki.fi>
15716
15717         * gdk/win32/gdkprivate.h: Add more font private data.
15718
15719         * gdk/win32/gdkfont.c
15720         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
15721         fonts and strings. Now works much better. You still have to
15722         have a correct font selected, though. No fontset emulation yet.
15723
15724 1999-10-19  Tor Lillqvist  <tml@iki.fi>
15725
15726         * gtk/maketypes.awk: Use G_OS_WIN32.
15727
15728         * gtk/gtk.def: Add some missing entry points. Also some non-public
15729         ones, but PyGTK porter claims to need them.
15730
15731         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
15732         built-in type generation.
15733
15734 1999-10-14  Tor Lillqvist  <tml@iki.fi>
15735
15736         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
15737         GDK_FONT_FONT fonts (which is all we have for now, we don't
15738         emulate fontsets). The X11 version uses plain XDrawString in that
15739         case, too. The string passed to gdk_draw_text_wc seems to be in
15740         fact (at least, when used by gtkentry and gtktext) either in a
15741         single-byte charset, or a DBCS. Not Unicode.
15742
15743         This fixes the problem in gtkfontsel, where even if you had
15744         selected a font with a non-Latin1 charset (windows-greek, for
15745         instance), the preview still used Latin-1 glyphs.
15746
15747         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
15748         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
15749         (gdk_font_load): Recognize the demibold etc weights, even if we
15750         don't have the corresponding constants in the headers.
15751         (gdk_font_hash_insert): Use same hash mechanism as in the X11
15752         version. Should save font resources a bit, when we don't have
15753         multiple HFONTs for the same font.
15754
15755         * gdk/win32/gdkprivate.h: Add the names field as in the X11
15756         version.
15757
15758 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
15759
15760         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
15761         X values
15762
15763 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
15764
15765         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
15766         layout support (as mentioned on
15767         http://www.jcinteractive.com/gnome-ui/software/widgets/)
15768
15769 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
15770
15771         * gtk/fnmatch.c
15772         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
15773
15774 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
15775
15776         * configure.in (ALL_LINGUAS): Added Galician (gl)
15777
15778 1999-10-05  Tor Lillqvist  <tml@iki.fi>
15779
15780         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
15781
15782         * gdk/win32/gdkcompat.c: New file, actually provide an
15783         implementation for the deprecated functions. (Just temporarily.)
15784
15785         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
15786
15787         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
15788
15789         * gdk/win32/gdk.def gtk/gtk.def: Updates.
15790
15791 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
15792
15793         * configure.in: Added "uk" to ALL_LINGUAS.
15794         
15795 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
15796
15797         * configure.in: correct checking for BeOS check
15798
15799         * gdk/gdktypes.h
15800         * gtk/fnmatch.c
15801         * gtk/gtkfilesel.c
15802         * gtk/gtkitemfactory.c
15803         * gtk/gtkmain.[ch]
15804         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
15805
15806 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
15807
15808         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
15809         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
15810         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
15811         by Bulgarian). 
15812
15813 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
15814
15815         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
15816         Fix a reference to window_private->destroyed.   
15817
15818         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
15819         (ugly) setting of an internal GdkWindow member to use
15820         a _slightly_ cleaner macro.
15821
15822         * gdk/gdkprivate.h: Split GdkWindowPrivate into
15823         GdkDrawablePrivate and GdkWindowPrivate.
15824         Add extra macros for accessing GDK_DRAWABLE_ components.
15825
15826         * *.[ch]: Massive adjustments for the above, use the
15827         new macros in a lot of places.
15828
15829 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
15830
15831         * gdk/gdktypes.h: Make GdkDrawable the base type,
15832         not GdkWindow.
15833
15834 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
15835
15836         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
15837
15838 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
15839
15840         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
15841
15842 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
15843
15844         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
15845         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
15846
15847         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
15848
15849         * docs/gtk-config.1: Now autogenerated.
15850         * docs/Changes-1.4.txt: started
15851         
15852 1999-10-03  Tor Lillqvist  <tml@iki.fi>
15853
15854         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
15855         to #ifdef also here.
15856
15857         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
15858         Owen did to the X11 backend.
15859
15860         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
15861         ScrollWindowEx when blitting inside a window, it can't be correct
15862         in the general case.
15863
15864         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
15865         WM_GETMINMAXINFO is easier.
15866
15867         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
15868         depth equal to the bitspixel value, not the visual's depth.
15869
15870         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
15871         to 24 even if the bitspixel value is 32.
15872
15873         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
15874         need to check for depth==32 when bpp==32, depth will always be 24.
15875
15876 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
15877
15878         * docs/Changes-1.4.txt: Started
15879         
15880         * gtk/Makefile.am (gdk_headers): Include all the new headers.
15881
15882         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
15883         
15884         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
15885         into C file.
15886         
15887         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
15888         header to gdkinputprivate.h.
15889
15890         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
15891         unused since before 1.2.
15892
15893 1999-09-30  Tor Lillqvist  <tml@iki.fi>
15894
15895         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
15896         expand possible hex escapes in the font family (put there by
15897         logfont_to_xlfd if the font name isn't a legal XLFD font family,
15898         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
15899         On Win32, add hex escapes here, too.
15900
15901 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
15902
15903         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
15904         to #ifdef GDK_WINDOWING_X11.
15905
15906 [ Merges from gtk-1-2 ]
15907
15908 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
15909
15910         * configure.in: fixed "GNU Make" check to pass with new make version
15911         3.77.95.
15912
15913 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
15914
15915         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
15916         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
15917         AM_PATH_GTK() macros don't get confused by the -pre1.
15918
15919 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
15920
15921         * configure.in (REBUILD): Change check for perl5
15922           to check explicitely for v >= 5.002. (5.001
15923           does not work with our scripts.)
15924
15925 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
15926
15927         * configure.in: evaluate $PERL for the perl version check. added
15928         --disable-rebuilds to give the user an option to completely disable
15929         any source autogeneration rules.
15930
15931 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
15932
15933         * configure.in: evaluate $ac_make when checking for GNU Make.
15934
15935 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
15936
15937         * docs/Makefile.am: added generation.txt.
15938
15939         * Makefile.am: require automake 1.4, build README from README.in and
15940         INSTALL from INSTALL.in in dist-hook.
15941         
15942         * README.in:
15943         * INSTALL.in: new files to autogenerate README and INSTALL from.
15944
15945         * configure.in: figure whether we have GNU Make
15946
15947         * docs/generation.txt: minor additions/corrections.
15948
15949 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
15950
15951         * docs/gtkfaq.sgml: FAQ Update
15952
15953 July 30, 1999 Elliot Lee <sopwith@redhat.com>
15954         
15955         * configure.in: Fix autoconf warnings about cross compilation by
15956         trying to provide sane defaults for AC_TRY_RUN.
15957
15958 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
15959
15960         * ltconfig
15961         * ltmain.sh: upgrade to libtool 1.3.3
15962
15963 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
15964
15965         * INSTALL: Indicate that the --with-glib= configure
15966         time flag is unsupported.
15967
15968 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
15969
15970         * docs/generation.txt: Added a file that gives
15971         documenation about the autogeneration process for
15972         various autogenerated files.
15973         
15974 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
15975
15976         * configure.in (LIBS): Look for libgmodule in the
15977         right location.
15978
15979 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
15980
15981         * docs/gtk_tut.sgml: Removed references to
15982         code examples in my directory on gtk.org as
15983         they should all be in the tutorial now.
15984
15985         * docs/gtk_tut.sgml: Added sources for dial-test
15986         and scribble-xinput programs that were previously
15987         missing.
15988
15989 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
15990
15991         * TODO: Added entry about menu keyboard navigation, removed
15992         some finished items.
15993
15994 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
15995
15996         * acinclude.m4: Standardize on func_dgettext
15997         not func_gettext, so that the checks for dgettext
15998         actually are paid attention to.
15999
16000 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
16001
16002         * configure.in (LIBS): Add $INTLLIBS into $LIBS
16003         directly, rather than repeating the checks for
16004         gettext.
16005
16006         * INSTALL: Added information about gettext and
16007         NLS support.
16008
16009         * acinclude.m4 (LIBM): Check for dgettext, not
16010         just gettext. This should hopefully fix things wrt
16011         systems with old versions of GNU gettext installed.
16012
16013 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
16014
16015         * configure.in (LIBS): Look for libgmodule in the
16016         right location.
16017
16018 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
16019
16020         * autogen.sh: add --enable-maintainer-mode
16021
16022         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
16023
16024 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
16025
16026         * docs/gtk-config.1.in:
16027           docs/Makefile.am:
16028           configure.in: gtk-config is now generated.
16029
16030         * docs/gtk-config.1: Removed, now generated.
16031
16032 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
16033
16034         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
16035         handle CreateNotify itself, still put out a debuging message for
16036         --gdk-debug=events. made the ReparentNotify debugging message more
16037         verbose.
16038         wrap xcoords translation for ConfigureEvents into an error trap,
16039         a destroy event may already be pending, and in that case, the
16040         actuall coordinate values are not at all critical.
16041
16042 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
16043
16044         * gdk/gdkcc.c: Stop leaking the color_hash all over
16045         the place. Simplify and improve the logic.
16046
16047 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
16048
16049         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
16050         for prototypes and function implementations consistent (reported
16051         by Tomas Ogren).
16052
16053 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
16054
16055         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
16056         send_event set in debugging output.
16057         (gdk_compress_exposures): default initialize the event so we don't
16058         operate on bogus values (namely send_event).
16059
16060 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
16061
16062         * gdk/gdkwindow.c: When we receive an unexpected
16063         destroy notify on one of our windows, don't just
16064         warn about it, also mark our windows as destroyed.
16065
16066 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
16067
16068         * gdk/gdkfont.c (gdk_font_hash_insert): Add
16069           name => font and name => fontset hashes. The 
16070           name => fontset hash is a _big_ win since we
16071           weren't previously caching fontsets at all and loading
16072           fontsets is expensive. The name => font hash
16073           is less of a win, but it does save us from doing
16074           repeated XQueryFont calls on the same font.
16075
16076         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
16077           list so we can remove font/fontset from hash.
16078
16079 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
16080
16081         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
16082           and slightly confusing test. [ XInternAtom (,,TRUE)
16083           will never return None ].
16084
16085 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
16086
16087         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
16088           gdk/gdkwindow.c (gdk_window_set_hints):
16089
16090         Don't omit setting the properties if flags == 0 -
16091         there may be an existing set of properties there
16092         already. (Very old bug. Would it be better to
16093         delete the property instead?)
16094
16095         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
16096           spelling error in comment.
16097
16098 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
16099
16100         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
16101           to avoid stomping over gdk_error_warnings.
16102
16103         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
16104           as (bits_per_pixel + 7) / 8. This gives the same
16105           result as before for multiples of 8, but actually
16106           a "reasonable" value for 1bit or 4bit displays.
16107
16108 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
16109
16110         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
16111         GNU Make.
16112
16113 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
16114
16115         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
16116         discarding configure events.
16117
16118 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
16119
16120         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
16121         refcount is greater than zero.
16122
16123         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
16124
16125         * gdk/gdkfont.c (gdk_font_unref): Likewise.
16126
16127         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
16128
16129         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
16130
16131 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
16132
16133         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
16134         that format 32 => sizeof(item) == 4. It really is
16135         sizeof(long).
16136
16137 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
16138
16139         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
16140         core dump at all on X IO errors, only core dump
16141         if --enable-debug for X errors.
16142
16143 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
16144
16145         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
16146         unknown window:" message. disabled ConfigureNotify discarding code,
16147         because it led to events being processed out of order.
16148
16149 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
16150
16151         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
16152
16153         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
16154         we export this function, supress error warnings and don't reset the
16155         error code in the first half of this function.
16156
16157         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
16158         code (instead of just -1) so gdk_error_trap_pop() reveals something
16159         actually informative about the error that happened.
16160
16161         * gdk/*.c:
16162         don't rely on gdk_error_code being -1 if an error occoured, but just
16163         gdk_error_code != 0.
16164
16165 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
16166
16167         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
16168         pointer *before* invoking the filter function, so we at least don't
16169         crash if a filter is removed that is currently executed. window filters
16170         *really* need to be made truely reentrant at some point.
16171
16172 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
16173
16174         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
16175         PropertyNotify debug messages.
16176
16177 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
16178         
16179         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
16180         
16181         * gdk/gdkim.c: Fix cut-and-paste errors for 
16182         x/y and PreeditAttributes/StatusAttributes.
16183
16184 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
16185
16186         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
16187         G_MAXINT to 2^16 to alleviate overflow problems in
16188         various window managers.
16189
16190 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
16191
16192         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
16193         for fontsets.
16194
16195 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
16196
16197         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
16198         Initialize size_hints.x and size_hints.y because kwm
16199         brokenly pays attention to them.
16200         (Bug #1181 -  Lars Heete <hel@admin.de>)
16201
16202 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
16203
16204         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
16205         return value of gdk_list_visuals(). 
16206         (Bug #1193 - Morten Welinder <terra@diku.dk>)
16207
16208 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
16209
16210         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
16211         XSetIMValues to (void *) when comparing to NULL, to workaround
16212         the problem of some compilers barfing since older X headers don't
16213         have the prototype for it.
16214
16215 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
16216
16217         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
16218         for pseudocolor where colormap->colors was double
16219         allocated.
16220
16221         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
16222         color value in the hash table with the pixel filled
16223         in so when we do later hash table lookups, the color
16224         value is correct.
16225         
16226 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
16227
16228         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
16229         making the call
16230
16231 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
16232
16233         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
16234         pointed out by Morten Welinder <terra@diku.dk>.
16235
16236 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
16237
16238         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
16239           default filter from the list
16240
16241 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
16242
16243         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
16244           default filter from the list
16245
16246 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
16247
16248         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
16249
16250         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
16251         g_strdup_printf instead of calcing the length separately
16252
16253 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
16254
16255         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
16256         that we don't do in many other places. (Fixing duplicate 
16257         #include of config.h)
16258
16259         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
16260         Otherwise, #ifndef XINPUT_NONE check in the latter
16261         doesn't work. (Bug #546)
16262
16263 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
16264
16265         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
16266         "None" case insensitive.
16267
16268 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
16269
16270         * gdk/gdkselection.c: 
16271         Add error traps so if the other end of the connection
16272         dies, we survive.
16273
16274 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
16275
16276         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
16277         dest_xid field into two fields - one for the window
16278         to send in messages, one to indicate the last looked
16279         up window for caching purposes. This is needed, so
16280         that Leave messages get the correct window.
16281
16282 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
16283
16284         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
16285         Fix warning created by people mucking around
16286         with the gsource API.
16287
16288         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
16289         Change mapping between GIOCondition and GdkInputCondition
16290         to match the way the Linux kernel does it. This should
16291         fix problems where closed pipes were no longer signalling
16292         GDK_INPUT_READ on systems with a native poll().
16293
16294 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
16295
16296         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
16297         explicitly for the string "None" - it is in the XPM
16298         spec and some servers treat unknown colors in odd ways
16299         (like asking the user!)
16300
16301 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
16302
16303         * gdk/gdkevents.c: made "->" into a "." of previous change so
16304         it compiles
16305
16306 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
16307
16308         * gdk/gdkevents.c (gdk_compress_exposures): Set the
16309         window field of the event structure before calling
16310         user filters.
16311
16312 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
16313
16314         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
16315         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
16316
16317 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
16318
16319         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
16320         intermediate text property - prevents major memory
16321         leak when gdk_use_mb.
16322         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
16323
16324 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
16325
16326         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
16327         gtk-a-higuti-990322-[0-3]
16328
16329         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
16330         sizeof(wchar_t) != sizeof (GdkWChar)
16331
16332         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
16333         that was causing -DX_LOCALE not to work.
16334
16335         * gtk/gtkrc.c (gtk_rc_init):
16336         X_LOCALE will never have LC_MESSAGES defined
16337
16338         * gdk/gdk.c (gdk_init_check):
16339         Remove --xim-preedit and --xim-status from argv properly.
16340
16341         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
16342         that the client window is present on the X server
16343         before we pass it to the input method.
16344
16345 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
16346
16347         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
16348         if --display is specified on the command line, than
16349         the drag window will not be created on that display.
16350         
16351 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
16352
16353         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
16354         lookups with only_if_exists == TRUE were inserting
16355         bogus values into the atom cache.
16356
16357 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
16358
16359         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
16360         then reset it to NULL.
16361
16362         * gdk/gdkcolor.c:
16363         (gdk_colors_free): 
16364         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
16365         key for g_hash_table_remove() in both functions, this prevents us
16366         from accessing possibly uninitialized portions of a GdkColor structure
16367         where we are only interested in its pixel value.
16368
16369 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
16370
16371         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
16372         font hash table, if we have a GdkFontPrivate entry for this font
16373         already, simply increment its reference count, provided by Olaf Dietsche
16374         <olaf.dietsche+list.gtk@netcologne.de>.
16375
16376 1999-09-21  Tor Lillqvist  <tml@iki.fi>
16377
16378         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
16379         just to be sure.
16380
16381         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
16382         unused variables, leftovers from the X11 version.
16383
16384         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
16385
16386         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
16387         downcase fields on X11.
16388
16389 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
16390         
16391         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
16392         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
16393
16394 1999-09-17  Tor Lillqvist  <tml@iki.fi>
16395
16396         * gdk/win32/gdk.def: Add gdk_threads_mutex.
16397
16398         * gtk/makefile.msc: Correct path to libintl.
16399
16400         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
16401         use of gint vs. int, and gint vs. gboolean in headers and
16402         definitions. Use GtkType for the *_get_type functions. Note that
16403         these changes preserve binary compatibility.
16404
16405         * gdk/gdk.c
16406         * gdk/win32/gdk.c
16407         * gdk/gdk.h: Fix inconsistencies: gint vs int.
16408
16409         * gtk/gtkmain.c
16410         * gtk/gtkclist.c
16411         * gtk/gtkmenufactory.c
16412         * gtk/gtknotebook.c
16413         * gtk/gtkwidget.c: Fix inconsistencies, also gint
16414         vs. gboolean.
16415
16416         * gtk/gtkcolorsel.[ch]
16417         * gtk/gtkcombo.[ch]
16418         * gtk/gtkdrawingarea.[ch]
16419         * gtk/gtkgamma.[ch]
16420         * gtk/gtkhandlebox.[ch]
16421         * gtk/gtkhpaned.[ch]
16422         * gtk/gtkhruler.[ch]
16423         * gtk/gtkplug.[ch]
16424         * gtk/gtkpreview.[ch]
16425         * gtk/gtkruler.[ch]
16426         * gtk/gtksocket.[ch]
16427         * gtk/gtkstatusbar.[ch]
16428         * gtk/gtktoolbar.[ch]
16429         * gtk/gtkvbbox.[ch]
16430         * gtk/gtkvpaned.[ch]
16431         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
16432         functions.
16433
16434         * gtk/gtkgamma.h: Fix bug, missing () in call of
16435         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
16436
16437 1999-09-14  Tor Lillqvist  <tml@iki.fi>
16438
16439         * gdk/gdkcolor.c (gdk_colormap_new)
16440         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
16441         colormap->colors was allocated twice.
16442
16443         * gdk/win32/gdk.c: Remove some unused stuff.
16444
16445         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
16446         colormap.
16447
16448         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
16449         * gtk/gtklabel.h (gtk_label_get_type)
16450         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
16451         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
16452         in a couple of places, not guint.
16453
16454 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
16455
16456         * configure.in,po/et.po: added Estonian language file
16457
16458 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
16459
16460         * configure.in,po/da.po: added Danish file
16461
16462 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
16463
16464         * docs/gtkfaq.sgml: Minor FAQ Update
16465
16466 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
16467
16468         * docs/gtkfaq.sgml: FAQ update
16469
16470 1999-08-27  Tor Lillqvist  <tml@iki.fi>
16471
16472         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
16473         way to get window contents continually refreshed while resizing. I
16474         didn't like the effects myself, so it's not on by default.
16475
16476         * gdk/win32/gdkprivate.h: New flag variable
16477         gdk_event_func_from_window_proc, FALSE by default.
16478
16479         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
16480         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
16481         are passed --gdk-event-func-from-window-proc.
16482
16483         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
16484         and we have am event_func, call it instead of enqueing the event.
16485
16486 1999-08-23  Tor Lillqvist  <tml@iki.fi>
16487
16488         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
16489         Kelley: Set expose_count in GdkEventExposes correctly.
16490
16491         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
16492         MULTIPLE_WINDOW_CLASSES).
16493
16494         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
16495         for bug in NT, apparently NT *does* draw the end pixel, too, in
16496         LineTo with a one-pixel pen, so we don't have to do it ourselves.
16497
16498 1999-08-21  Tor Lillqvist  <tml@iki.fi>
16499
16500         Improvements by Hans Breuer: 
16501
16502         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
16503
16504         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
16505         CS_?REDRAW flags as they cause lots of (late) redraws when "show
16506         window contents while dragging" is turned on. Allocate at least
16507         one unique class for every GdkWindowType. If support for single
16508         window-specific icons is ever needed (eg. Dialog specific), every
16509         such window should get its own class.
16510
16511 1999-08-19  Tor Lillqvist  <tml@iki.fi>
16512
16513         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
16514         error that caused crashes.
16515
16516 1999-08-17  Tor Lillqvist  <tml@iki.fi>
16517
16518         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
16519         window, use ScrollWindowEx, and call UpdateWindow. This prevents
16520         bugs when for instance part of the window was outside the
16521         display. Thanks to Philippe Colantoni for finding and fixing this.
16522
16523 1999-08-16  Tor Lillqvist  <tml@iki.fi>
16524
16525         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
16526         endpoint calculations which were totally wrong. (A little RTFMing
16527         helps a lot ;-)
16528
16529         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
16530         from a separate directory, not from gettext, because of licensing
16531         issues (we want to use the LGPL version).
16532
16533         * README.win32: Mention the intl from glibc vs from gettext issue.
16534
16535 1999-08-13  Tor Lillqvist  <tml@iki.fi>
16536
16537         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
16538         in the key event handling: Now AltGr chars work again. Also,
16539         now Alt-digits are passed up as well as Control-digits.
16540         Pass keypad plus and minus as normal plus and minus.
16541
16542 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
16543
16544         * docs/gtkfaq.sgml: FAQ Update
16545
16546 1999-07-25  Tor Lillqvist  <tml@iki.fi>
16547
16548         * README.win32
16549         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
16550         the Wintab SDK.
16551
16552         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
16553         OK, but getting closer. Guard against bogus tilt data from Wacom
16554         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
16555         enable easier building without Wintab.
16556
16557         * gdk/win32/gdkinput.h
16558         * gdk/win32/gdkevents.c 
16559         * gdk/win32/gdkwindow.c: Minor changes related related to above.
16560         
16561         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
16562         code. As we have just one visual on Win32, no sense to have it in a
16563         table, and no need for the hash table.
16564
16565         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
16566         better on white background.
16567
16568 1999-07-21  Tor Lillqvist  <tml@iki.fi>
16569
16570         * README.win32: Update gcc build instructions. Mention gettext is
16571         GPL.
16572
16573         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
16574         supported cursor size with GetSystemMetrics.
16575
16576         * gdk/win32/gdkfont.c
16577         * gtk/gtkfontsel.c: Guard against some font weight and charset
16578         symbols being undefined (in mingw32 headers).
16579
16580         * gdk/win32/makefile.cygwin
16581         * gtk/makefile.cygwin
16582         * gtk/gtkthemes.c: No longer need to have differently named
16583         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
16584
16585 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
16586
16587         * docs/gtkfaq.sgml: Long awaited FAQ update.
16588
16589 1999-07-15  Tor Lillqvist  <tml@iki.fi>
16590
16591         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
16592         it. Obscure bit manipulation needed.
16593
16594         * gdk/win32/gdkevents.c: Logging.
16595         
16596         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
16597         style (file name include compiler name) for theme engines.
16598
16599 1999-07-13  Tor Lillqvist  <tml@iki.fi>
16600
16601         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
16602
16603         * gdk/win32/gdkevents.c: Fix long-standing bug in key
16604         events. The key.string wasn't zero-terminated, still we strdup'ed
16605         it in gdk_event_copy(). Synthesize crossing events for button
16606         events before possible propagation.
16607
16608         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
16609
16610         * gdk/win32/makefile.cygwin
16611         * gtk/makefile.cygwin: Use new DLL naming style for the
16612         GCC-compiled ones.
16613
16614         * gdk/win32/makefile.msc
16615         * gtk/makefile.msc: Cosmetics mostly.
16616
16617         * gtk/gtk.def: Add missing entry points.
16618
16619         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
16620
16621 1999-07-09  Tor Lillqvist  <tml@iki.fi>
16622
16623         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
16624         or height is zero. Don't print a warning if Pie or Arc fails, they
16625         always fail (?) for very narrow ellipses.
16626
16627         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
16628         the part or the destination window corresponding to source area
16629         outside of the source drawable's boundary.
16630
16631         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
16632         anything if less than two points.
16633
16634         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
16635         return NULL. Gtk cut-and-paste inside a single program works
16636         better this way. (It always gets the clipboard contents from
16637         Windows, not from its own copy, which is cleared anyway. I can't
16638         say I fully understand what happens... Emulating the X selection
16639         and property stuff is a bit of a mess.)
16640
16641         * gdk/win32/gdkevents.c
16642         * gdk/win32/gdkproperty.c: A bit more verbose logging.
16643
16644         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
16645         that never got deleted). Revamp gdk_region_shrink.
16646
16647         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
16648         after use.
16649
16650         * gtk/gtk.def: Add some missing entry points.
16651
16652         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
16653         component.
16654
16655 1999-07-04  Tor Lillqvist  <tml@iki.fi>
16656
16657         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
16658         Control-digits specially.
16659
16660 1999-07-03  Tor Lillqvist  <tml@iki.fi>
16661
16662         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
16663
16664 1999-06-28  Tor Lillqvist  <tml@iki.fi>
16665
16666         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
16667         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
16668         finding this.)
16669
16670 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
16671
16672         * gtk+.spec.in: Corrected some typos in files section.
16673         
16674 1999-06-15  Tor Lillqvist  <tml@iki.fi>
16675
16676         * README.win32: Mention using GNU gettext.
16677         * config.h.win32: Enable NLS stuff.
16678         * gtk/makefile.msc: Use GNU gettext.
16679         * gdk/win32/gdkdnd.c: Minor header reorg.
16680         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
16681         cosmetics.
16682         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
16683         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
16684
16685 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
16686
16687         * acinclude.m4
16688         * config.guess
16689         * config.status
16690         * ltconfig
16691         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
16692
16693 1999-05-30  Tor Lillqvist  <tml@iki.fi>
16694
16695         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
16696         SafeAdjustWindowRectEx. Don't override all calls to
16697         AdjustWindowRectEx by it, but use it only in two places: When
16698         creating a new top-level window and when moving a top-level
16699         window.
16700
16701         Use screen coordinate rectangle, not client rectangle, in
16702         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
16703         when we try to place a window so that the decoration (mainly,
16704         title bar) isn't visible.
16705
16706         These changes fix the bug that showed up for instance as the
16707         GIMP's saved top-level windows moving right and down (by an amount
16708         equal to the window decoration) for each session. This bug showed
16709         up also in testgtk's "Saved Position".
16710
16711         gdk_window_resize also redone a bit.
16712
16713 1999-05-25  Tor Lillqvist  <tml@iki.fi>
16714
16715         * gtk/testgtkrc: Add (commented out) Windows-style theme
16716         include line.
16717
16718         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
16719
16720 1999-05-18  Tor Lillqvist  <tml@iki.fi>
16721
16722         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
16723         gdkx.h to a gdk subdirectory, so that applications can include
16724         these with <gdk/*.h> without trouble.
16725
16726         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
16727         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
16728         have their bitmap destroyed.
16729
16730         * gdk/win32/gdk.def: Add gdk_root_parent.
16731
16732 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
16733
16734         * configure.in
16735           gtk-config.in
16736           ltconfig
16737           ltmain.sh     
16738           gtk/Makefile.am: changes to compile nicely (with xlib) 
16739           on BeOS
16740
16741 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
16742
16743         * acinclude.m4
16744         * config.guess
16745         * config.sub
16746         * ltconfig
16747         * ltmain.sh: upgrade to libtool 1.3
16748
16749 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
16750
16751         * gtk/gtkclist.c:
16752         * gtk/gtkctree.c: merges from gtk-1-2
16753
16754 1999-04-25  Tor Lillqvist  <tml@iki.fi>
16755
16756         Support added for building using a GNU toolchain on Win32,
16757         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
16758
16759         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
16760         * config.h.win32: Changes for gcc.
16761         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
16762         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
16763         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
16764         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
16765         Protect shl stuff unavaiilable with mingw32 headers.
16766         * gdk/win32/gdkevents.c: Fix typo.
16767         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
16768         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
16769         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
16770         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
16771         the mingw32 headers.
16772         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
16773         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
16774         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
16775         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
16776         Test for NATIVE_WIN32, not _MSC_VER.
16777         * gtk/gtkmain.c: No use warning about developer version on Win32,
16778         there aren't any non-developer versions anyhow.
16779         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
16780         * gtk/makefile.msc: Use pthread from another directory. Minor other
16781         changes. 
16782
16783 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
16784
16785         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
16786           default filter from the list
16787
16788 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
16789
16790         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
16791          when gtk_widget_grab_default() is called for a widget that
16792          is not within a GtkWindow.
16793
16794 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
16795
16796         * docs/gtk_tut.sgml, examples/clist.c: use a
16797           scrolled window in the clist example. Minor
16798           tutorial fixes.
16799
16800 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
16801
16802         * docs/gtk_tut.sgml: Style check from David King
16803           <dking@youvegotmail.net>
16804
16805 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
16806
16807         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
16808         compile with unknown value of GDK_WINDOWING
16809
16810 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
16811
16812         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
16813         after the rule is fired.
16814         (install-exec-local): Install gdkconfig.h only if the contents are
16815         different from the currently installed gdkconfig.h.
16816
16817 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
16818
16819         * gdk/Makefile.am (configexecincludedir): Rename from 
16820         configincludedir so that gdkconfig.h will be installed 
16821         as part of `make install-exec'. 
16822
16823 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
16824
16825         * acinclude.m4
16826         * config.guess
16827         * config.sub
16828         * ltconfig
16829         * ltmain.sh: upgrade to libtool 1.2f
16830
16831         * autogen.sh: libtool is not required to autogen gtk+
16832
16833         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
16834         needed)
16835
16836 1999-03-18  Tor Lillqvist  <tml@iki.fi>
16837
16838         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
16839         declaring gdk variables exported/imported from the DLL. New image
16840         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
16841         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
16842         GDK_DRAG_PROTO_OLE2.
16843
16844         * gdk/gdk.h: Merge in Win32 version: Two new functions,
16845         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
16846         declared only for the Win32 version, but could be in the X11
16847         version as well. (Needed for a Xlib-less gdk_imlib.)
16848         gdk_color_hash should have only one parameter. Declare
16849         gdk_threads_mutex with GDKVAR.
16850         
16851         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
16852         just one parameter.
16853
16854         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
16855         per pixel, not bits.
16856
16857         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
16858         Fetch bpp (which means bits-per-pixel here) from another place on
16859         Win32. Accept also depth==32 (which we might get on Win32) with
16860         bpp==32.
16861
16862         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
16863         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
16864         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
16865         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
16866         in the backend-dependent directory, not in the common gdk
16867         directory.
16868
16869         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
16870         headers.
16871
16872 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
16873
16874         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
16875         want to use the Gtk+ devel version (which is true, and yes - even i am
16876         currently working with the 1.2.x branch). so everyone reading this, you
16877         probably want to issue
16878         cvs checkout -r glib-1-2 glib
16879         and
16880         cvs checkout -r gtk-1-2 gtk+
16881         as your next two comands.
16882
16883 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
16884
16885         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
16886         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
16887
16888         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
16889         file. strongly deprecated the GTK_HAVE_* macros, we provide
16890         GTK_CHECK_VERSION() for people that need to check for certain
16891         Gtk+ versions.
16892
16893         * gtk/gtkcompat.h: removed this from CVS.
16894         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
16895         idea right from the start, it just didn't seem like that back then.
16896
16897 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
16898
16899         * merges from gtk-1-2:
16900
16901 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
16902
16903         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
16904         item factory class has been created.
16905         (gtk_item_factory_parse_rc): likewise.
16906
16907         * gtk/gtkmenu.c:
16908         keep proper references for old_active_menu_item.
16909         (gtk_menu_reparent): unset the usize of the new parent,
16910         so the menu can sanely be size requested and we don't get nasty screen
16911         artefacts upon next reparentation.
16912         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
16913         enter notify. only synthesize enter notifies if the pointer really is
16914         inside the event window.
16915         (gtk_menu_popdown): use gtk_menu_shell_deselect().
16916         (gtk_menu_popup): move the background setting stuff into
16917         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
16918
16919         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
16920         gtk_menu_shell_select_item() to select the new item.
16921         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
16922         do the right thing for deselection as well.
16923
16924 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
16925
16926         * gtk/gtkwidget.[hc]:
16927         (gtk_widget_accelerators_locked): return whether a widget's accelerators
16928         are locked.
16929
16930         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
16931         existing accelerators if the widget's accelerators are locked.
16932
16933 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
16934
16935         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
16936
16937         * gtk/gtkmenu.c: truely forward key press and key release events to
16938         the menu widget from the toplevel or tearoff window. we can't simply
16939         connect to that, we need to stop further processing of the events as
16940         well.
16941
16942 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
16943
16944         * gtk/gtkmenu.c:
16945         (gtk_menu_key_press): pass event->keyval, event->state to
16946         gtk_accelerator_valid, instead of event->keyval twice.
16947         refuse to install single letter accelerators for menus that use
16948         single letter shortcuts.
16949
16950         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
16951         gtk_menu_ensure_uline_accel_group().
16952
16953         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
16954         which will always return an uline accel group, made
16955         gtk_menu_get_uline_accel_group() return NULL if the group isn't
16956         yet created.
16957
16958 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
16959
16960         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
16961
16962         * gtk/gtkclist.c (gtk_clist_column_title_passive):
16963         Leave button sensitive, trap  button_press, button_release,
16964         motion_notify, enter_notify and leave_notify events instead.
16965         (gtk_clist_column_title_active): disconnect event handler.
16966         (gtk_clist_drag_data_get): fixed memory leak. Reported by
16967         Guillaume Laurent <glaurent@worldnet.fr>
16968
16969 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
16970
16971         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
16972         width/height mixups.
16973
16974         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
16975         if needed.
16976
16977 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
16978
16979         * gtk/testgtk.c (create_item_factory): unref the item factory after
16980         window's destruction.
16981
16982         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
16983         count on the menu shell around the menu item's activation, since the
16984         signal emission may cause menu shell destruction.
16985
16986         * gtk/gtkitemfactory.c:
16987         the previous code leaked one accel group per menu. we use
16988         gtk_menu_get_uline_accel_group() now to fix that, and with that
16989         also create the underline accelerator group of the menus only if
16990         required (i.e. an underline accelerator has been specified).
16991         (gtk_item_factory_construct):
16992         (gtk_item_factory_create_item): removed code that would create an
16993         extra accel group for the menu (and leak references).
16994         (gtk_item_factory_create_item): adapted the underline accelerator
16995         installation code to properly feature gtk_menu_get_uline_accel_group().
16996
16997         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
16998         menu->accel_group, this may return NULL if the accelerator group
16999         hasn't been set yet.
17000         added gtk_menu_get_uline_accel_group() to retrive the underline
17001         accelerator group of the menu, this will be created on demand
17002         and proper care is taken about its reference count.
17003
17004         * gtk/gtkitemfactory.h:
17005         * gtk/gtkitemfactory.c:
17006         dumped the approach of keeping a widgets by action list on the
17007         factory since the factory<->widget destroy negotiation didn't work
17008         and would be hard to get going at all. instead we keep a list of
17009         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
17010         persistant throughout a program's life time).
17011         also, i removed the static const gchar *key_* variables, and made
17012         them inline strings (they weren't actually used anyways).
17013         (gtk_item_factory_add_item): update ifactory->items.
17014         (gtk_item_factory_destroy): destroy ifactory->items (and remove
17015         the item factory pointer from the remaining ifactory widgets).
17016         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
17017         list to find the widget.
17018         (gtk_item_factory_get_item): new function that works around
17019         gtk_item_factory_get_widget() limitations, this function will only
17020         return menu items, even for <Branch> entries.
17021
17022 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
17023
17024         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
17025         font hash table, if we have a GdkFontPrivate entry for this font
17026         already, simply increment its reference count, provided by Olaf Dietsche
17027         <olaf.dietsche+list.gtk@netcologne.de>.
17028
17029         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
17030         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
17031
17032 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
17033
17034         * gtk/gtkcontainer.c:
17035         (gtk_container_add_with_args):
17036         (gtk_container_addv):
17037         (gtk_container_add): before adding a child to a conatiner, make sure
17038         it is (default) constructed, this is neccessary because under certain
17039         circumstances the child will get relized and mapped immediatedly, in
17040         which case it has to be constructed already.
17041
17042 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
17043
17044         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
17045         values > 1 as TRUE also.
17046
17047 1999-03-16  Tor Lillqvist  <tml@iki.fi>
17048
17049         * README.win32: New file.
17050                 
17051         * configure.in: Check for lstat.
17052
17053         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
17054         completeness.
17055
17056         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
17057
17058         * gtk/gtk.def: Removed CRs.
17059
17060         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
17061         ..\gdk\win32).
17062
17063         * gdk/win32/makefile.msc: Correct upwards relative paths.
17064         
17065 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
17066
17067         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
17068           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
17069           it was connecting a void function to expose_event and the int
17070           returning function to the draw signal
17071
17072 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
17073
17074         * configure.in:
17075         Use correct path to libgmodule.la when ref'ing uninstalled copy
17076         of glib.  (Already in stable branch, Bug #417)
17077
17078 1999-03-15  Tor Lillqvist  <tml@iki.fi>
17079
17080         Win32 merge and general portability stuff:
17081                 
17082         * acconfig.h,configure.in: Check for <sys/time.h>.
17083
17084         * gdk/win32: New directory (actually, been there for a while).
17085         
17086         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
17087         NATIVE_WIN32, and use these. Always case fold on Win32. No
17088         backslashed escapes on native Win32.
17089
17090         * gtk/{gtk.def,makefile.msc}: New files.
17091
17092         * gtk/Makefile.am: Add above new files.
17093         
17094         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
17095         instead of <strings.h>.
17096
17097         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
17098         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
17099         <unistd.h> appropriately.
17100
17101         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
17102         Use ABS() (from <glib.h>) instead of abs().
17103         
17104         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
17105         of gtk (and thus glib) headers, so that WIN32 will be
17106         defined. With MS C, include <direct.h> for mkdir prototype.
17107
17108         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
17109         some casts, needed by MS C.
17110
17111         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
17112         implemented).
17113
17114         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
17115         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
17116         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
17117
17118         * gtk/gtkmain.h: Mark variables for export/import on Win32.
17119                 
17120         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
17121         the event is not a hint, or its window is not the slider. Needed
17122         on Win32, at least.
17123
17124         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
17125         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
17126         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
17127         a subdirectory of the Windows directory as gtk system
17128         configuration directory.
17129
17130         * gtk/gtkselection.c: No chunks on Win32.
17131
17132         * gtk/gtksocket.c: Not implemented on Win32.
17133
17134         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
17135
17136         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
17137
17138         * gtk/maketypes.awk: Declare variables with a macro that expands to
17139         necessary export/import magic in the case of Win32.
17140                 
17141         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
17142
17143 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
17144
17145         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
17146         since those were meant only for gdki18n.h.  
17147         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
17148         for widechar tests.
17149         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
17150
17151 1999-03-13  Tor Lillqvist  <tml@iki.fi>
17152
17153         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
17154         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
17155
17156         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
17157         installed) to CFLAGS.
17158
17159         * gdk/Makefile.am: Add rules for gdkconfig.h.
17160
17161         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
17162         APIs.
17163
17164         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
17165         gdkx.h anyway when compiling for X11.
17166         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
17167         general): Merge in Win32 version.
17168         
17169         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
17170         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
17171         expansion (if we don't have HAVE_PWD_H), allow for drive
17172         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
17173         included code from Craig Setera's port to Win32 (the one that uses
17174         X11, and the cygwin dll), even if it probably will be abandoned.
17175
17176         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
17177         the user entered one herself.  This way one can complete *.h and
17178         don't get matches on any .help files, for instance.
17179         
17180 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
17181
17182         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
17183         font hash table, if we have a GdkFontPrivate entry for this font
17184         already, simply increment its reference count, provided by Olaf Dietsche
17185         <olaf.dietsche+list.gtk@netcologne.de>.
17186
17187         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
17188         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
17189
17190 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
17191
17192         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
17193         the number of calls to gdk_draw_point() (and thus to X) by
17194         clipping the points by hand.
17195
17196         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
17197         the clip parameter.
17198         (gtk_handle_box_paint): Only paint the handle if the expose area
17199         intersects it.
17200
17201 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
17202
17203         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
17204
17205 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
17206
17207         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
17208         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
17209
17210 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
17211
17212         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
17213          textmode (O_TEXT) for OS/2 version.
17214
17215 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
17216
17217         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
17218         GtkSpinButton, "input" and "output", to make the output more flexible.
17219         The user has to provide a mapping between adjustment->value and the
17220         output string (and vice versa, if the spin button is editable). 
17221         See testgtk for examples.
17222
17223 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
17224
17225         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
17226         new one.
17227         
17228         * configure.in: set gtk+ version to 1.3.0.