]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-10
raise window for non _NET window managers.
[~andy/gtk] / ChangeLog.pre-2-10
1 Sun Apr  1 23:41:37 2001  Tim Janik  <timj@gtk.org>
2
3         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): raise window for non
4         _NET window managers.
5
6         * gtk/gtkmenufactory.[hc]: cvs removed those files now.
7
8 Sun Apr  1 08:00:13 2001  Tim Janik  <timj@gtk.org>
9
10         * gtk/gtkwidget.[hc]: got rid of gtk_widget_popup(), a function that
11         bad needs to be nuked, not just deprecated.
12
13         * gtk/gtktooltips.c (gtk_tooltips_draw_tips): don't use 
14         gtk_widget_popup().
15
16         * gtk/*.[hc]: s/activate_mnemonic/mnemonic_activate/g;
17         
18         * gtk/gtkmenufactory.[hc]: removed this long-standingly deprecated
19         widget.
20         
21         * docs/Changes-2.0.txt: updates.
22         
23 Sun Apr  1 01:02:54 2001  Jonathan Blandford  <jrb@redhat.com>
24
25         * gtk/gtktreestore.c (gtk_tree_store_sort_iter_changed):
26         for (i = 0; i < 100; i ++)
27           g_print ("I will confirm it compile before committing\n");
28
29 Sun Apr  1 00:52:06 2001  Jonathan Blandford  <jrb@redhat.com>
30
31         * gtk/gtktreestore.c: Initial work on implementing the
32         GtkTreeSortable interface.  Basicaly a big cut'n'paste job.
33
34 Sun Apr  1 03:28:14 2001  Tim Janik  <timj@gtk.org>
35
36         * gtk/gtkwidget.c: fixed a bunch of notifications, added
37         reference counts around emissions where the widget is used afterwards.
38         added freeze/thaws around multiple properties being notified.
39         (_gtk_widget_get_aux_info): cleanups.
40         
41         * gtk/gtksettings.c (gtk_settings_install_property): provide
42         default parsing functions for gdkcolor, enums and flags.
43
44         * gtk/gtkwindow.[hc]: partially reverted patch from havoc,
45         applied by owen.
46         backed out gtk_window_get_location(), gtk_window_set_location(),
47         gtk_window_get_size() and gtk_window_set_size(), these
48         have to be sorted out wrg x/y/width/height/default_with/default_height
49         properties.
50         kept a flag in GtkWindowGeometryInfo to handle user
51         resetting default sizes.
52         cleaned up ZVT comments.
53         bunch of assorted bug fixes, notification fixes.
54         (_gtk_window_reposition): make this a really internal function.
55         
56         * gtk/testgtk.c: fixups.
57         
58 2001-03-31  Hans Breuer  <hans@breuer.org>
59
60         * config.h.win32.in : disable USE_MMX for msvc build cause
61         the assembler doesn't fit and is out of my scope. Disable
62         USE_GMODULE for msvc build as wel. The right way to share
63         binaries on win32 would be to use libtiff.dll etc. To reduce
64         installation hassles IMO it's better to include all fileformats
65         builtin to gdk-pixbuf
66
67         * gdk-pixbuf/makefile.msc : new file
68
69         * gdk/gdk.def : updated
70
71         * gdk/win32/gdkevents-win32.c : don't erase the background if
72         .no_bg is set. It improves the scrolling (e.g. of testgtk main
73         buttons
74         * gdk/win32/gdkgeometry-win32.c : added comment about the above
75
76         * gdk/win32/gdkwindow-win32.c : added three new functions like
77         the X version. Only one is implemented, because the other two
78         "gdk_window_begin_(resize|move)_drag" got no docs and appear to
79         be default behaviour on win32 anyway ...
80
81         * gtk/gtk.def : updated
82
83         * gtk/makefile.msc.in : update for new files, use glib-genmarshal
84         from where it was built and add an additional rule to automagically
85         build gtkmarshal.[hc]
86
87         * gtk/gtkfilesel.c (open_new_dir) : don't increase n_entries
88         before array access for the current entry isn't finished
89
90         * gtk/gtktreeitem.c (gtk_tree_item_subtree_button_click) :
91         use g_return_val_if_fail
92
93         * gtk/testgtk.c (window_controls) : don't use the *wrong* size
94         for the static array, but let the compiler calculate it. It
95         makes me wonder if gcc isn't capable to catch bugs like this ...
96
97 2001-03-31  James Henstridge  <james@daa.com.au>
98
99         * gtk/gtkwidget.c (gtk_widget_size_adjust): fix use of magic
100         constant "-1" in the aux info structure.
101
102 2001-03-30  Alexander Larsson  <alexl@redhat.com>
103
104         * gtk/gtkbutton.c (gtk_button_get_property):
105         * gtk/gtklabel.c:
106         Remove leaks.
107         
108         * gtk/gtkcontainer.c:
109         * gtk/gtkhscale.c:
110         * gtk/gtkhscrollbar.c:
111         * gtk/gtklayout.c:
112         * gtk/gtkmisc.c:
113         * gtk/gtkprogress.c:
114         * gtk/gtkprogressbar.c:
115         * gtk/gtkrange.c:
116         * gtk/gtktable.c:
117         * gtk/gtkviewport.c:
118         * gtk/gtkvscale.c:
119         * gtk/gtkvscrollbar.c:
120         * gtk/gtkwidget.c:
121         Property patches, based on patches from John Margaglione and Lee Mallabone.
122
123 Thu Mar 29 21:20:38 2001  Mike Kestner  <mkestner@ameritech.net>
124
125         * gtk/gtkspinbutton.c : added value_changed signal which proxies for the
126         adjustment. Cleaned redundant preconditions (spin != NULL). Added
127         inline API function docs.
128         (gtk_spin_button_new_with_range): New convenience constructor.
129         (gtk_spin_button_set_increments): New adjustment helper.
130         (gtk_spin_button_set_range): New adjustment helper.
131
132         * gtk/testgtk.c : added test of the new convenince constructor and
133         value_changed signals.
134
135 Thu Mar 29 20:20:38 2001  Jonathan Blandford  <jrb@redhat.com>
136
137         * gtk/gtktreemodel.c (gtk_tree_row_ref_reordered_callback): Now we
138         listen to the reorder signal.
139
140 Wed Mar 28 20:30:26 2001  Owen Taylor  <otaylor@redhat.com>
141
142         * gtk/gtkwidget.[ch] (_gtk_widget_get_aux_info): Add private function
143         to get the aux info structure fo the widget.
144
145         * gtk/gtklabel.c gtk/gtkscrolledwindow.c gtk/gtkwindow.c: Use
146         above function.
147
148         [ Patch from  Havoc Pennington  <hp@redhat.com> ]
149
150         * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): function
151         to get the size of the window manager frame, basically the same
152         code that gdk_window_get_root_origin() had
153         (gdk_window_get_root_origin): use gdk_window_get_frame_extents()
154
155         * gtk/gtkwindow.c (gtk_window_set_default_size): use
156         gdk_window_resize() if the window is realized and resizeable
157
158         * gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): fix
159         typo so that setting gravity works
160
161         * gtk/gtkwindow.c (gtk_window_move_resize): don't ever use
162         allocation if auto_shrink is on, even if the default size
163         has not changed.
164
165         * gtk/gtkwidget.c (gtk_widget_render_icon): remove bogus
166         g_return_if_fail
167
168 Thu Mar 29 16:29:12 2001  Jonathan Blandford  <jrb@redhat.com>
169
170         * gtk/gtkliststore.c (gtk_list_store_iter_changed): Massive
171         reordering/sorting work.  Now pretty much works.
172
173         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Lots of work to make
174         reorder mostly work.  Still need to get the parity correct.
175
176         * gtk/gtktreeviewcolumn.c: Listen for "model" property changed
177         signal, so I can listen for the sort_column_changed signal so I
178         can change my "sort_indicator" property.  Cool.
179
180 Wed Mar 28 00:03:10 2001  Owen Taylor  <otaylor@redhat.com>
181
182         [ Patch from Havoc Pennington, hp@redhat.com ]
183
184         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c:
185         Add functions gdk_window_begin_resize_drag/begin_move_drag
186         to start resizing or moving a toplevel window. This
187         is done either using the _NET_WM_MOVERESIZE protocol,
188         or, if that isn't present, by emulation.
189
190         * gtk/gtkwindow.[ch]: Add functions gtk_begin_move/resize_drag
191         to export the above to GTK+-land.
192
193         * gtk/gtkstyle.[ch]: Add ->draw_resize_grip() paint func.
194         
195         * gtk/gtkwindow.c gdk/gdkwindow.[ch] (gdk_window_constrain_size):
196         Move this function into gdkwindow, since we need it
197         when implementing fallback resizing.
198
199         * gdk/x11/gdkwindow-x11.c: gdk_window_set_geometry_hints.
200         Fix typo when setting gravity.
201
202         * gtk/gtkstatusbar.[ch] (gtk_statusbar_set_has_resize_grip):
203         Add an optional (but on by default) resize grip for resizing 
204         the parent window.
205
206 01-03-29  Alexander Larsson  <alexl@redhat.com>
207
208         * gtk/gtktooltips.c (gtk_tooltips_event_handler):
209         Don't return TRUE from the event handler, that blocks all
210         event signals on the tooltip widget. Now you can press buttons
211         in toolbars again.
212
213 Wed Mar 28 19:20:43 2001  Owen Taylor  <otaylor@redhat.com>
214
215         * gtk/testtext.c (create_buffer): Add missing NULL on
216         valist.
217
218         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Fix
219         c-n-p problem with INCONSISTENT property.
220
221         [ Patch from Havoc Pennington  <hp@redhat.com> ]
222
223         * gtk/gtkentry.h (struct _GtkEntryClass): add same populate_popup
224         hook.
225
226         * gtk/gtktextview.h (struct _GtkTextViewClass): add populate_popup
227         signal as a hook for extending the default popup menu
228
229         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
230         use radio menu items for the input method menuitems
231
232         * gtk/gtkimcontextsimple.c (check_hex): do better validation of 
233         inserted unicode from Ctrl-Shift-hex input method
234
235         * gtk/gtktextbtree.c (_gtk_text_btree_insert): remove utf8
236         validatation here, already done at GtkTextBuffer level.
237
238         * gtk/gtkwidget.c (gtk_widget_class_init): add binding set, add
239         popup_menu run action signal and Shift+F10 and Menu keybindings.
240
241         * gtk/gtkentry.c: implement a default handler for popup_menu
242
243         * gtk/gtktextview.c: implement a default handler for popup_menu
244
245         * gtk/gtkmenu.c (gtk_menu_popup): select first item if popup is
246         from a key event
247         
248         * gtk/gtklabel.c: remove "trailer" cruft
249
250 Wed Mar 28 17:27:12 2001  Jonathan Blandford  <jrb@redhat.com>
251
252         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): new function to
253         handle reordering of trees.  Seems to mostly work w/ the exception
254         of the parity flag.
255
256         * gtk/gtktreeview.c (gtk_tree_view_reordered): handle "reordered"
257         signal.
258
259 Wed Mar 28 21:12:37 2001  Tim Janik  <timj@gtk.org>
260
261         * gtk/gtkwidget.h: c++ fixes.
262
263 Sun Mar 25 15:51:28 2001  Owen Taylor  <otaylor@redhat.com>
264
265         * gtk/gtksettings.c (gtk_settings_init): Fix use of uninitialized
266         memory.
267
268 Tue Mar 27 22:36:07 2001  Owen Taylor  <otaylor@redhat.com>
269
270         * gtk/gtkwidget.h gtk/gtkrange.h: Apply patch from 
271         Nils Barth fixing event return values. (#51041)
272
273         * gtk/gtkwidget.c: Fix some return values for default
274         functions.
275
276         * gtk/gtk[vh]scrollbar.c gtk/gtk[vh]range.c: Fix
277         return values for trough_keys functions.
278
279         * gtk/gtkwidget.h (struct _GtkWidgetClass): Fix return
280         value for add_accelerator (shoudl have been a void
281         return.)
282
283         * gtk/gtkcellrenderer.[ch]: gtkcellrenderertoggle.h:
284         Fix return type of EVENT.
285
286         * gtk/gtkmarshal.list gtk/gtktexttag.c: Make EVENT
287         signal return a boolean.
288
289 Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@redhat.com>
290
291         * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
292         reordered signal.
293
294         * tests/testtreesort.c (main): fix spelling.
295
296 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
297
298         * gtk/gtkliststore.c: More work on implementing sortable
299         interface.
300
301 Mon Mar 26 15:48:45 2001  Owen Taylor  <otaylor@redhat.com>
302
303         * gtk/gtkwindow.c (gtk_window_list_toplevels): Don't
304         reference the widgets in the resulting list. (#11821)
305         This makes this consistent with gtk_container_children.
306
307         * gtk/gtkwindow.c gtk/gtkwidget.c: Fix up the two
308         uses of gtk_window_list_toplevels.
309
310 Mon Mar 26 15:26:17 2001  Owen Taylor  <otaylor@redhat.com>
311
312         * gtk/gtkimcontext.c (gtk_im_context_set_use_preedit): Add
313         a virtual function to set whether the IM context should use 
314         the preedit string. (#51922)
315         
316 Mon Mar 26 14:42:59 2001  Owen Taylor  <otaylor@redhat.com>
317
318         * gdk/gdkpango.h: Remove stale FIXME comment.
319
320 2001-03-26  Alexander Larsson  <alla@lysator.liu.se>
321
322         * gtk/gtkfilesel.c (gtk_file_selection_get_filename):
323         Fixed bug that returned NULL if a filename was selected.
324
325 2001-03-24  Havoc Pennington  <hp@pobox.com>
326
327         * gtk/gtkthemes.c (gtk_theme_engine_load): improve error message
328         to contain the word "theme"
329
330 2001-03-24  Havoc Pennington  <hp@pobox.com>
331
332         * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much
333         slower but finer-grained
334         (gtk_hsv_focus): get initial focus on the ring or triangle 
335         according to tab direction
336
337         * gtk/testgtk.c (main): get rid of weird sleep(1) on exit
338
339 2001-03-23  Havoc Pennington  <hp@pobox.com>
340
341         * gtk/gtkhsv.c: make this somewhat key-navigable
342
343         * gtk/gtkfontsel.c: mnemonics
344
345         * gtk/gtkgamma.c: mnemonics
346
347         * gtk/gtkcolorsel.c: add mnemonics to labels
348
349 2001-03-22  Havoc Pennington  <hp@pobox.com>
350
351         Applied big patch from Seth Lytle to fix event handler return
352         values, slightly modified.
353
354         * gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
355         handled.
356         (gtk_calendar_key_press): return TRUE for GDK_space triggers
357         select_day
358
359         * gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
360         (gtk_clist_button_release): return TRUE if handled
361
362         * gtk/gtkcolorsel.c (mouse_release):
363         (palette_activate): 
364         (palette_press): 
365         (palette_new): 
366         (mouse_press): 
367         (get_screen_color): 
368         fixed return type (void to gboolean), return TRUE,
369         added GTK_SIGNAL_FUNC cast
370
371         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type
372         (void to gboolean), and return TRUE
373         (gtk_combo_button_release): changed return value to TRUE after
374         gtk_grab_add on combo->popwin
375
376         * gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a
377         collapse or expand
378
379         * gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for
380         button/motion
381
382         * gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button
383         press/release and motion that trigger act
384
385         * gtk/gtkentry.c (gtk_entry_button_release): return TRUE
386
387         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE
388         for GDK_Return
389         
390         * gtk/gtklist.c (gtk_list_button_press): return TRUE mostly
391         (gtk_list_button_release): return TRUE if selection
392
393         * gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on
394         press
395
396         * gtk/gtkmenushell.c (gtk_menu_shell_button_press):
397         (gtk_menu_shell_button_release): chain parent_menu_shell retval
398
399         * gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if
400         nothing triggered
401         (gtk_notebook_button_release): return TRUE if we do anything
402
403         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): 
404         (gtk_spin_button_button_release): return TRUE or chained retval
405
406         * gtk/gtktext.c (gtk_text_button_press): 
407         (gtk_text_button_release): return TRUE
408         (gtk_text_key_press): remove redundant retval code
409         
410         * gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button
411         and sensitive
412         (gtk_tree_item_subtree_button_click): changed type to gint, and return
413         TRUE if sensitive
414
415         * gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies 
416         return TRUE
417
418 2001-03-23  Havoc Pennington  <hp@redhat.com>
419
420         * gtk/testgtk.c: fix warnings
421
422         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): fix return value
423
424         * gtk/gtktextview.c: fix warnings
425
426         * gtk/gtktext.c (find_cursor_at_line): fix warning
427
428         * gtk/gtkselection.c (gtk_selection_notify): fix warning 
429
430         * gtk/gtkitemfactory.c (gtk_item_factory_menu_pos): fix signature
431         of this function
432
433         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
434         fix warning
435
436         * gtk/gtkhandlebox.c (gtk_handle_box_style_set): fix warning
437
438         * gtk/gtkfontsel.c: fix warning
439
440         * gtk/gtkcolorsel.c: fix warnings
441
442 2001-03-23  Havoc Pennington  <hp@redhat.com>
443
444         * gtk/gtkhandlebox.c: Apply property patch from Lee Mallabone
445
446         * gtk/gtkbox.c: Apply property patch from Lee Mallabone
447
448         * gtk/gtkcheckmenuitem.c: Apply property patch from Lee Mallabone,
449         and deprecated gtk_check_menu_item_set_show_toggle().
450         
451         * gtk/gtkbutton.c: Apply property patch from Lee Mallabone
452
453         * gtk/gtkfilesel.c: Apply property patch from Lee Mallabone
454
455         * gtk/gtkframe.c: Apply property patch from Lee Mallabone
456
457 2001-03-23  Havoc Pennington  <hp@redhat.com>
458
459         * gtk/gtktoolbar.c, gtk/gtkimcontext.c, gtk/gtklabel.c: fix up
460         some docs
461
462 Fri Mar 23 16:13:43 2001  Jonathan Blandford  <jrb@redhat.com>
463
464         * gtk/gtktreeviewcolumn.h (GtkCellDataFunc): Forgot to namespace
465         this.
466
467         * gtk/gtktreestore.c (gtk_tree_store_set_value): change from
468         set_cell to set_value
469
470         * gtk/gtkliststore.c (gtk_list_store_set_value): change from
471         set_cell to set_value
472
473 Thu Mar 22 19:27:34 2001  Jonathan Blandford  <jrb@redhat.com>
474
475         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
476         fix braino.
477         * gtk/gtktreesortable.[ch]: New interface to add cleanup sortable
478         support.
479
480         * gtk/gtktreeview.c: Addition of initial sortable support.
481
482         * gtk/gtktreestore.c: Addition of initial sortable support.
483
484         * gtk/gtkliststore.c: Addition of initial sortable support.
485
486         * gtk/gtkmarshal.list: yet another marshaller.
487
488         * gtk/gtktreedatallist.[ch]: shared code between the store models
489         for handling sorting headers.
490
491 2001-03-22  Havoc Pennington  <hp@redhat.com>
492
493         * gtk/gtkcontainer.c (gtk_container_set_focus_chain): 
494         (gtk_container_unset_focus_chain): Add ability to override the 
495         focus chain for a container explicitly
496
497 Thu Mar 22 13:01:44 2001  Tim Janik  <timj@gtk.org>
498
499         * gtk/gtklabel.[hc]: some cleanups, fixed mnemonic_widget handling,
500         added PROP_MNEMONIC_WIDGET.
501
502         * gtk/gtkwindow.c (gtk_window_activate_mnemonic): 
503         (gtk_window_remove_mnemonic): 
504         (gtk_window_add_mnemonic): fixed assertions.
505         (gtk_window_activate_mnemonic): constrain modifier checks to those
506         permitted by gtk_accelerator_get_default_mod_mask().
507         got rid of gtk_window_get_default_accel_group().
508
509         * gtk/gtkwidget.c (gtk_widget_real_activate_mnemonic): handle non
510         activatable widgets either by focussing or a warning.
511         added a signal accumulator to ::activate_mnemonic which stops the
512         emission once a handler returned TRUE.
513
514 2001-03-22  Havoc Pennington  <hp@pobox.com>
515
516         * gtk/gtktoolbar.c (gtk_toolbar_insert_stock): handle mnemonics in
517         the stock item label
518
519         * gtk/gtklabel.c: s/@gtk_func/gtk_func()/ in docs
520
521         * gtk/gtkstock.c (builtin_items): add mnemonics where missing
522
523         * demos/gtk-demo/*.c: Add mnemonics all over the place
524
525         * gtk/gtklabel.h: mark parse_uline deprecated
526
527 2001-03-21  Alexander Larsson  <alexl@redhat.com>
528
529         * gtk/gtkitemfactory.[ch]:
530         Add support for stock and normal imagemenuitems.
531         
532         * gtk/testgtk.c:
533         Add some tests for mnemonics, stock toolbars, stock
534         and image menuitems in itemfactory and gdk_window_scroll.
535
536 2001-03-21  Alexander Larsson  <alexl@redhat.com>
537
538         * gtk/gtkbutton.[ch]:
539         * gtk/gtkdialog.c:
540         Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
541         removed accel_group argument. Renamed gtk_button_new_accel() to
542         gtk_button_new_with_mnemonic() and removed accel_group argument.
543
544         * gtk/gtkcheckbutton.[ch]:
545         New function gtk_check_button_new_with_mnemonic().
546
547         * gtk/gtkentry.c:
548         Override activate_mnemonic and just grab focus.
549
550         * gtk/gtkitemfactory.c:
551         Don't add menu uline accel group, instead use mnemonics support.
552
553         * gtk/gtklabel.[ch]:
554         New support for mnemonics.
555
556         * gtk/gtkmarshal.list:
557         Needed BOOLEAN:BOOLEAN for activate_mnemonic.
558
559         * gtk/gtkmenu.[c]:
560         * gtkmenushell.c:
561         Use mnemonics instead of accel groups for uline
562         support in menu items.
563         Removed gtk_menu_get_uline_accel_group() and
564         gtk_menu_ensure_uline_accel_group().
565
566         * gtk/gtkmenuitem.c:
567         Override activate_mnemonic to handle switching between
568         menu items if there are collisions.
569         
570         * gtk/gtknotebook.c:
571         Connect to activate_mnemonic on the tab_label, so that
572         activating it switches to that notebook page.
573
574         * gtk/gtkwidget.[ch]:
575         Add activate_mnemonic signal. New function
576         gtk_widget_activate_mnemonic() to emit it.
577         Default implementation does activate/grab_focus.
578
579         * gtk/gtkwindow.[ch]:
580         Add support for mnemonics in windows.
581         New functions:
582         gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
583         gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier
584
585         * gtk/testgtk.c:
586         Update to function name changes.
587         
588 2001-03-21  Alexander Larsson  <alexl@redhat.com>
589
590         * gtk/gtkimagemenuitem.[c]:
591         Add gtk_image_menu_item_new_from_stock()
592
593 Tue Mar 20 15:00:43 2001  Jonathan Blandford  <jrb@redhat.com>
594
595         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
596         Fix buglet in meeting.
597
598 2001-03-19  Havoc Pennington  <hp@redhat.com>
599
600         * gtk/gtkiconfactory.c: Make GtkIconSource an opaque datatype, and
601         add a bunch of accessor functions. This is because we have
602         reasonable expectations of extending what fields it contains in
603         the future.
604
605         * gtk/gtkstyle.c (gtk_default_render_icon): adapt to icon source
606         changes
607
608         * gtk/gtkrc.c (gtk_rc_parse_icon_source): fix to use new
609         GtkIconSource   
610
611 Mon Mar 19 15:53:36 2001  Owen Taylor  <otaylor@redhat.com>
612
613         * gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly
614         handle __ in paths, quote " and \n in gtk_item_factory_dump_items().
615
616         * gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c 
617           gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch]
618           gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch]
619           gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c:
620         Change float to double everywhere with the exception of 0<->1.0 alignment
621         and GtkCurve.
622
623 2001-03-19  Tor Lillqvist  <tml@iki.fi>
624
625         * gdk/win32/gdkdrawable-win32.c
626         * gdk/win32/gdkimage-win32.c: Use correct casts in debugging
627         output.
628
629         * demos/testpixbuf-drawable.c: If GDK_WINDOWING_WIN32, include
630         gdkwin32.h.
631
632 2001-03-18  Tor Lillqvist  <tml@iki.fi>
633
634         * gdk/win32/gdkevents-win32.c (print_window_state): New function.
635         print_event_state, print_event): Use preprocessor macro to make
636         code more compact. Print also GDK_WINDOW_STATE events.
637         (synthesize_crossing_events): Remove the old #ifdeffed-out code.
638         
639         * gtk/gtk.def
640         * gtk/makefile.mingw.in: Update.
641
642         * gtk/gtkmain.h: Check for G_PLATFORM_WIN32, not only G_OS_WIN32,
643         to catch also Cygwin.
644
645 Sun Mar 18 01:15:30 2001  Tim Janik  <timj@gtk.org>
646
647         * gtk/gtkspinbutton.[hc]: added rc-style argument
648         GtkSpinButton::shadow_type.
649         removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
650         and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
651         rc-style settings.
652
653         * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).
654
655         * gtk/gtkwidget.c: quark cleanups.
656
657         * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
658         scanner with appropriate configuration, renamed GtkRcStyleClass.clone
659         to create_rc_style() (we don't do cloning in standard OO sense).
660         added per rc style properties.
661         
662         * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
663         property values and for caching those. some cleanups.
664         
665         * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS.
666         
667         * gtk/gtksettings.[hc]: new file for global rc-file properties
668         (at least currently, should get extended to support X properties
669         and other communication mechanisms).
670         
671         * gtk/gtkwidget.[hc]: added style property support:
672         (gtk_widget_class_install_style_property_parser): install style
673         property pspec with parser function for rc-file values other
674         than LONG, DOUBLE or STRING.
675         (gtk_widget_class_install_style_property): same as above without
676         parser (parsers are going to be needed quite infrequently).
677         (gtk_widget_style_get_property): retrive style property value.
678         (gtk_widget_style_get_valist): same as above with varargs support,
679         has NOCOPY semantics.
680         (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().
681
682 Fri Mar 16 18:24:53 2001  Jonathan Blandford  <jrb@redhat.com>
683
684         * demos/gtk-demo/main.c (row_activated_cb): modified to use
685         "row_activated" signal.
686
687         * gtk/gtktreeview.c (gtk_tree_view_row_activated): oh, the
688         stupidity.  Lets actually pass in the row with this signal...
689
690 Fri Mar 16 18:01:17 2001  Jonathan Blandford  <jrb@redhat.com>
691
692         * gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN
693
694         * gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal.
695
696         * gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much
697         everything into the ::destroy function, and freed a lot more.
698
699 2001-03-16  Havoc Pennington  <hp@redhat.com>
700
701         * gtk/gtkwidget.h (struct _GtkWidgetAuxInfo): change to use gint
702         instead of gint16, to avoid overflow issues, since sizes > 16-bit
703         are now allowed.
704
705 2001-03-16  Havoc Pennington  <hp@redhat.com>
706
707         * Applied patch from Nils Barth (bug # 51041) to 
708         replace "gint" with "gboolean" and 0/1 with TRUE/FALSE
709         in various places.
710
711 2001-03-15  Havoc Pennington  <hp@redhat.com>
712         
713         * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs 
714         for properties to set on the tag.
715
716         * gtk/testtext.c: fixups to reflect create_tag change
717         
718         * gtk/gtktexttag.c (gtk_text_tag_set_property):
719         background/foreground stipple are objects, not boxed.
720
721         * demos/gtk-demo/textview.c: intellihancing
722
723 Fri Mar 16 11:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
724
725         * gtk/gtktreeview.c (gtk_tree_view_set_model): Fixed some
726         braindeadness spotted by Jamie Strachan <frostfreek@yahoo.com>.
727
728 2001-03-16  Alexander Larsson  <alexl@redhat.com>
729
730         * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
731         Fix sign error with queued region translations.
732
733 2001-03-15  HideToshi Tajima  <tajima@happy>
734
735         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
736         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
737         * gtk/gtkentry.c (update_im_cursor_location): 
738         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
739         * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
740         set_cursor_pos to set_cursor_location in GtkInputContext class
741
742 Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>
743
744         * gtk/gtkcellrenderer.h: Changed prototype to allow for getting
745         the location of the cell relative to its area.
746         * gtk/gtkcell*: modified for above change
747         * gtk/gtktreeview.c: modified for above change.
748
749 Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>
750
751         * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
752          (gtk_tree_view_finalize): actually unref the model.  Thanks to
753         Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
754
755 2001-03-14  Havoc Pennington  <hp@redhat.com>
756
757         * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
758         
759         * gtk/gtk.h: remove gtkdata.h
760
761         * gtk/Makefile.am: remove gtkdata
762         
763         * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
764         not "disconnect" on the adjustments.
765         
766         * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not
767         GtkData
768
769         * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
770         not GtkData
771
772         * configure.in: handle case where X render exists, but Pango lacks
773         Xft support.
774
775 2001-03-15 Alexander Larsson  <alexl@redhat.com>
776
777         * gtk/gtktoolbar.[ch]:
778         New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
779         to add stock items to toolbars.
780
781         * gtk/Makefile.am:
782         Remove ../gdk/gdkim.h from gdk_headers.
783
784 2001-03-15  Sven Neumann  <sven@gimp.org>
785
786         * gdk/gdkim.h: removed
787         
788         * gdk/gdkprivate.h
789         * gdk/x11/gdkim-x11.c: do not include gdkim.h 
790
791 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
792
793         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
794         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
795         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
796         set_cursor_pos() virtual method
797
798         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
799         (gtk_im_context_xim_set_cursor_pos): add implementation for
800         set_cursor_pos() method
801
802         * gtk/gtkentry.c (recompute_idle_func): set current cursor
803         position to input methods
804
805 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
806
807         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
808         code a lot.
809
810         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
811         g_mem_chunk.
812         (_gtk_tree_data_list_alloc): use g_mem_chunk.
813         (_gtk_tree_data_list_node_to_value): Fix to switch on
814         G_TYPE_FUNDAMENTAL.
815         (_gtk_tree_data_list_value_to_node): Fix to switch on
816         G_TYPE_FUNDAMENTAL.
817         (_gtk_tree_data_list_node_copy): Fix to switch on
818         G_TYPE_FUNDAMENTAL.
819
820 2001-03-12  Havoc Pennington  <hp@redhat.com>
821
822         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
823         to convert to new property API. Also, change default_width and
824         default_height get_property to return 0 as the flag value for
825         "unset"; -1 is not a valid value for these fields.
826
827 2001-03-12  Havoc Pennington  <hp@redhat.com>
828
829         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
830         enum with registration for icon sizes, instead of strings.
831
832         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
833         gtkwidget.c: Fix to reflect GtkIconSize
834         
835 2001-03-12  Alexander Larsson  <alexl@redhat.com>
836
837         Make GtkFB compile and link.
838         
839         * gdk/linux-fb/gdkdrawable-fb2.c:
840         window->mapped to GDK_WINDOW_IS_MAPPED(). 
841         
842         * gdk/linux-fb/gdkwindow-fb.c:
843         window->mapped to GDK_WINDOW_IS_MAPPED(). 
844         Added gdk_window_shape_combine_region.
845         Added assorted placeholders for unimplemented new GdkWindow API calls.
846
847 2001-03-12  Alexander Larsson  <alexl@redhat.com>
848
849         * gtk/gtkfilesel.c:
850         Add more test when converting filenames from/to utf-8.
851         Don't allow entering text in the filename entry which isn't allowed in
852         a filename. Just beep instead.
853
854 2001-03-12  Alexander Larsson  <alexl@redhat.com>
855
856         * gtk/gtkclist.c:
857         Scroll using gdk_window_scroll(). Don't wait for exposes.
858         Move the column headers in an order that makes them flash less.
859
860 2001-03-10  Hans Breuer  <hans@breuer.org>
861
862         * gdk/gdk.def : updated
863
864         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
865         to offseting the clip_mask at the right place
866
867         * gdk/win32/gdkwindow-win32.c : don't create background brushes
868         for all the gdkClasses, especially not for the input_only case.
869         Otherwise flickering wont be avoidable, because we don't get
870         WM_ERASEBKGND message for these windows.
871
872         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
873         and fixed massive redraw problems apparently triggered by Alexanders 
874         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
875         but it seems to work quite well :-)
876
877         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
878         prototype
879
880 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
881
882         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
883         (gtk_list_store_set_cell): Fix a stupid typo.
884
885 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
886
887         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
888         select_all not work if you're in SINGLE mode (it doesn't make that
889         much sense, anyway.)
890
891         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
892         handle types more sanely.
893         (_gtk_tree_data_list_value_to_node): handle types more sanely.
894         (_gtk_tree_data_list_node_copy): handle types more sanely.
895
896         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
897         GValue better. Converts the type as well.
898
899         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
900         GValue better. Converts the type as well.
901
902 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
903
904         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
905         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
906         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
907         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
908
909         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
910         gdk_im/gdk_ic.
911
912 2001-03-09  Hans Breuer  <hans@breuer.org>
913
914         * gdk/gdk.def : updated
915
916         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
917         for their palette
918
919         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
920         removing
921
922         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
923         removing and implemented Havoc's GdkWindow state functions; 
924         stick/unstick only as no-op, cause I don't know how to emulate 
925         on win32 ...
926
927         * gtk/gtk.def : updated
928
929         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
930
931         * gtk/gtktypeutils.c : #include <string.h>
932
933         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
934
935 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
936
937         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
938         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
939         not a boxed.
940
941 2001-03-09  Alexander Larsson  <alexl@redhat.com>
942
943         * docs/Changes-2.0.txt:
944         Document expose event->region change and that gtk_widget_event
945         doesn't allow passing expose events.
946
947         * gdk/gdkevents.h:
948         Add region to expose event.
949         
950         * gdk/gdkevents.c:
951         Handle event->region in gdk_event_copy() and gdk_event_free().
952
953         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
954         Generate expose_event->region when creating expose events.
955
956         * gdk/x11/gdkevents-x11.c:
957         Generate expose events with regions when translating X events.
958
959         * gtk/gtkcontainer.[ch]:
960         Default expose handler that propagates expose events to NO_WINDOW
961         children. New function gtk_container_propagate_expose()
962
963         * gtk/gtkwidget.[ch]:
964         Moved gtk_widget_event implementation to gtk_widget_event_internal.
965         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
966         expose events. New function gtk_widget_send_expose() to send expose
967         events. New function gtk_widget_region_intersect() to calculate
968         window/region intersections.
969         
970         * gtk/gtkmain.c (gtk_main_do_event):
971         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
972         Use gtk_widget_send_expose() to send expose events.
973         
974         * gtk/gtkbin.c:
975         * gtk/gtkbox.c:
976         * gtk/gtkfixed.c:
977         * gtk/gtkimagemenuitem.c:
978         * gtk/gtklist.c:
979         * gtk/gtkpacker.c:
980         * gtk/gtktable.c:
981         * gtk/gtktree.c:
982         Remove expose handler, using the default container implementation
983         instead.
984         
985         * gtk/gtkbutton.c:
986         * gtk/gtkcheckbutton.c:
987         * gtk/gtkeventbox.c:
988         * gtk/gtkfixed.c:
989         * gtk/gtkhandlebox.c:
990         * gtk/gtklayout.c:
991         * gtk/gtklistitem.c:
992         * gtk/gtkmenu.c:
993         * gtk/gtkmenubar.c:
994         * gtk/gtkmenuitem.c:
995         * gtk/gtknotebook.c:
996         * gtk/gtkoptionmenu.c:
997         * gtk/gtkpaned.c:
998         * gtk/gtkscrolledwindow.c:
999         * gtk/gtktogglebutton.c:
1000         * gtk/gtktoolbar.c:
1001         * gtk/gtktreeitem.c:
1002         * gtk/gtkviewport.c:
1003         Chain expose handler to parent class handler. Use
1004         gtk_container_propagate_expose() to propagate exposes.
1005
1006         * gtk/gtkclist.c (check_exposures):
1007         * gtk/gtktext.c (process_exposes):
1008         Use gtk_widget_send_expose instead of gtk_widget_event.
1009
1010 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
1011
1012         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
1013
1014 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
1015
1016         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
1017         unref the nodes.   Fixes bug #50058.
1018
1019         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
1020         "::ref_iter" to "::ref_node".
1021         (gtk_tree_model_unref_node): change "::unref_iter" to
1022         "::unref_node". Fixes bug #50064.
1023
1024 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
1025
1026         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
1027         support for invisible cells.
1028          (gtk_tree_view_bin_expose): ditto
1029
1030 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
1031
1032         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
1033         on gobjects.
1034
1035         * tests/testtreefocus.c (main): New test file.
1036
1037         * tests/testtreeview.c: update to latest glib changes.
1038
1039         * tests/testtreecolumns.c: update to latest glib changes.
1040
1041 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
1042
1043         * gtk/testgtk.c: re-enabled event watcher emission hooks.
1044
1045 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
1046
1047         * *.c: added accumulator data argument to g_signal_newc()
1048         functions.
1049
1050         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
1051         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
1052         * gtk/treestoretest.c (make_window):
1053         s/g_signal_connect/g_signal_connectc/.
1054
1055         * gtk/gtktextbuffer.c: completed signal arg fixups,
1056         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
1057
1058 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
1059
1060         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
1061         G_CONST_RETURN.
1062
1063         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
1064         ::hierarchy-changed signal when a widget changes
1065         from anchored to unanchored or vice versa.
1066         (anchored means 
1067          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
1068         Use a private flag to keep track of this efficiently.
1069
1070 2001-03-07  Havoc Pennington  <hp@redhat.com>
1071
1072         * gtk/testgtk.c (create_spins): uglify so that size request gets
1073         tested.
1074
1075         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
1076         request on values for upper/lower, completes #6152
1077
1078 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
1079
1080         * Makefile.am: Remove gtk-config-2.0 again.
1081         (Grrrr, pkg-config. And stops make loops.)
1082
1083 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
1084
1085         * gtk/gtksignal.[hc]: removed old emission hook API.
1086         
1087         * docs/Changes-2.0.txt: fixed sections.
1088         
1089         * gtk/gtktextbuffer.c: signal arg fixups.
1090
1091 2001-03-07  Havoc Pennington  <hp@redhat.com>
1092
1093         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
1094
1095         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
1096         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
1097         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
1098         validation and the redraw which is higher priority than the
1099         validation.
1100
1101 2001-03-07  Havoc Pennington  <hp@redhat.com>
1102
1103         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
1104         (gtk_entry_set_property): remove trailer
1105
1106         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
1107         (gtk_entry_get_width_chars): new functions, to set size request to 
1108         a given number of characters
1109
1110         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
1111
1112         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
1113         (gtk_dialog_get_has_separator): new function
1114         (run_delete_handler): fix to not emit "response" signal
1115         because we already did in the delete event handler installed
1116         at dialog creation time.
1117         
1118         * gtk/gtkdialog.h: add a has_separator property,
1119         add GTK_DIALOG_NO_SEPARATOR flag
1120
1121 2001-03-07  Havoc Pennington  <hp@redhat.com>
1122
1123         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
1124         off decorations for a window.
1125
1126         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
1127         changes
1128
1129         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
1130         to get location of PangoLayout inside the label, closes #51198
1131
1132         * gtk/testgtk.c (create_bbox): fix up button box usage
1133
1134         * gtk/testcalendar.c (create_calendar): fix up button box usage
1135
1136         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
1137
1138         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
1139
1140         * gtk/gtkhbbox.h: deprecations
1141
1142         * gtk/gtkvbbox.h: deprecations
1143
1144         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
1145         emulate deprecated gtk_button_box_get_spacing
1146
1147         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
1148         the "set global default" functions
1149         (struct _GtkButtonBox): remove "spacing" field, use the one from 
1150         GtkBox base class
1151
1152         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
1153
1154         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
1155         render the icon, return the missing image icon.
1156
1157         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
1158         image icon if the load fails.   
1159
1160         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
1161         when no image is found; should be the Netscape "missing image"
1162         icon eventually but for now is a random image
1163
1164         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
1165         role for the session manager
1166
1167         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
1168
1169         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
1170         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
1171
1172         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
1173
1174 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
1175
1176         * gtk/*.c: marshaller fixes.
1177         
1178         * gtk/gtkmarshal.list: extreme cleanup.
1179
1180         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
1181         param spec for now.
1182
1183         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
1184         where appliable.
1185
1186         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
1187         special cased autogenerated boxed types from gtktypebuiltins_ids.c
1188         which are not reference counted:
1189         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
1190         PangoFontDescription, GtkTreeIter and GtkTreePath.
1191
1192 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
1193
1194         * gtk/gtktreeselection.h: 
1195         * gtk/gtktreemodel.c:
1196         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
1197         file should be included directly, and gobject/gmarshal.h
1198         as well as gtk/gtkmarshal.h even can't be included directly.
1199
1200         * Makefile.am: grr, install gtk-config-2.0.
1201
1202         * gtk/testgtk.c:
1203         * gtk/simple.c:
1204         * gtk/gtkmenu.c:
1205         * gtk/gtkitemfactory.c: use g_object_connect() instead of
1206         passing "*signal*::*" args to gtk_widget_set().
1207         
1208         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
1209         
1210         * gtk/*.c: removed trailer arg from property setters and getters.
1211         macro fixups.
1212
1213 2001-03-07  Alexander Larsson  <alexl@redhat.com>
1214
1215         * gtk/gtklabel.c (set_markup): Removed warning
1216
1217 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
1218
1219         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
1220         field to allow you to hide cell renderers.
1221
1222         * gtk/gtkcellrenderer.c: Add support for invisible cells.
1223
1224         * gtk/gtktreeview.c: Add support for invisible cells.
1225
1226 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
1227
1228         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
1229         Add "clicked" signal back to columns.
1230
1231         * ChangeLog: remove conflict markers.
1232
1233 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
1234
1235         * gtk/gtkbutton.c: Add animation of activation by, on 
1236         activate, pressing the button, and adding a timeout that 
1237         releases the button after 250ms or on key release and
1238         emits ::clicked. (#51501)
1239
1240         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
1241         action area, we connect to ::clicked instead of ::activate
1242         so the dialog stays up through the animation.
1243
1244 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
1245
1246         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
1247         check the ignore_enter flag for the menu shell that
1248         the item is actually a child of, not for attached
1249         submenus. (#51536)
1250
1251 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
1252
1253         * gtk/gtkmain.c (gtk_propagate_event): Only do special
1254         special key-press grab handling for widgets within
1255         GtkWindows. Otherwise, fall through to normal case.
1256
1257         This prevents key events being sent twice to GtkInvisible
1258         widgets, which can cause all sorts of mischief.
1259
1260 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
1261
1262         * gtk/gtkmain.c (gtk_propagate_event): When a grab
1263         widget is in effect, give the grab widget a first
1264         crack at KEY_PRESS/RELEASE events. (#424)
1265
1266 2001-03-06  James Henstridge  <james@daa.com.au>
1267
1268         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
1269         offset for the window_state_event to point at window_state_event
1270         rather than no_expose_event.
1271
1272 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
1273
1274         * gtk/gtkimmodule.h: fix busted /* comment */
1275
1276 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
1277
1278         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
1279         object properties.
1280
1281 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
1282
1283         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
1284         add object properties.
1285
1286         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
1287         to add object properties.
1288
1289         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
1290         object properties.
1291
1292         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
1293         add object properties.
1294
1295         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
1296         object properties.
1297
1298 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
1299
1300         * gtk/gtktreemodel.c: renamed "child_toggled" to
1301         "has_child_toggled".
1302
1303         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
1304         handle new signal name.
1305
1306         * gtk/gtktreestore.c: Updated to handle new signal name.
1307         * gtk/gtklisttore.c: Updated to handle new signal name.
1308         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
1309
1310 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1311
1312         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
1313         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
1314
1315 2001-03-05  Michael Natterer  <mitch@gimp.org>
1316
1317         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
1318         pixbuf-engine coincidentially also failed to make one of it's
1319         parent_class pointers static, causing overwriting of GtkLabel's
1320         parent_class pointer in pixbuf_style_class_init().
1321         (Will commit the fix to the pixbuf-engine too).
1322
1323 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1324
1325         * gdk/gdkwindow.h:
1326         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
1327         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
1328         gdk_window_set_icon_list for net wmspec functionality.
1329
1330         * gdk/x11/gdkwindow-x11.c:
1331         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
1332         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
1333         gdk_window_set_icon_list.
1334         Added gdk_wmspec_change_state helper function and used it in the code.
1335         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
1336
1337         * gtk/gtkdialog.c (gtk_dialog_init):
1338         Set GDK_WINDOW_TYPE_HINT_DIALOG.
1339
1340         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
1341         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
1342
1343         * gtk/gtkwindow.c:
1344         new function gtk_window_set_type_hint.
1345         On realize, set type hint and modal hint.
1346
1347         * gtk/gtkwindow.h:
1348         Added type_hint field and gtk_window_set_type_hint.
1349
1350 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1351
1352         * gtk/gtklabel.[ch]:
1353         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
1354         New function gtk_label_get_accel_keyval () to get the underline accelerator
1355         of the label. Setting the label pattern overrides other attributes.
1356
1357 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
1358
1359         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
1360         Added missing initializers to gtk_rc_style_init().
1361
1362 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
1363
1364         * gtk/gtktextview.c: fixed bug #51097 about setting 
1365         gtk_text_view_set_border_window_size() if the widget is 
1366         already realized.
1367
1368 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
1369
1370         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
1371
1372         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
1373         comment. Won't do to have duplicated doc comments between
1374         the platform subdirs.
1375
1376 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
1377
1378         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
1379           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
1380
1381         Detectable auto-repeat - make a repeating key generate
1382         press/press/press/release instead of press/release pairs.
1383
1384         If we have Xkb and XkbSetDectableAutoRepeat supports
1385         that, we do it that way. Otherwise, when we get
1386         a release event, we check ahead with XPending to see
1387         if the next key is a KeyPress with the same keycode
1388         and timestamp. (Not 100% reliable, but pretty close.)
1389           
1390 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
1391         
1392         * gtk/gtkmain.c (gtk_propagate_event): Only do special
1393         special key-press grab handling for widgets within
1394         GtkWindows. Otherwise, fall through to normal case.
1395  
1396         This prevents key events being sent twice to GtkInvisible
1397         widgets, which can cause all sorts of mischief.
1398  
1399 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
1400  
1401         * gtk/gtkmain.c (gtk_propagate_event): When a grab
1402         widget is in effect, give the grab widget a first
1403         crack at KEY_PRESS/RELEASE events. (#424)
1404  
1405 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
1406
1407         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
1408         to extend the selection. (Roughly based on patch
1409         from Jay Cox, #50939)
1410
1411         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
1412         to properly handle previous GDK_BUTTON_PRESS. 
1413         (Patch from Jay Cox, #50938)
1414
1415         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
1416         '\0' back along with the deleted text. (#51148)
1417
1418 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
1419
1420         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
1421         the group when extracting it from the X keyboard event.
1422
1423         * modules/input/Makefile.am modules/input/imipa.c: 
1424         Simple module for entering IPA. (Do we need a 
1425         gtk-stupid-input-tricks CVS module?)
1426
1427 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
1428
1429         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
1430         const.
1431
1432         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
1433
1434         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
1435         is no focus widget for the dialog currently, grab the focus as well
1436         as the default.
1437
1438         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
1439         the action area's children to iterate through, not the
1440         dialog's children.
1441
1442 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
1443
1444         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
1445         Add plug-socket tests. (Won't work worth a darn until I commit
1446         the rest of the plug-socket changes, but no reason these
1447         can't go into CVS now.)
1448
1449 2001-03-02  Havoc Pennington  <hp@redhat.com>
1450
1451         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
1452         _gdk_region_get_xrectangles()
1453
1454         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
1455
1456         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
1457
1458         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
1459         function, contributed by Ron Steinke    
1460
1461         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
1462         gdk_net_wm_supports
1463
1464         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
1465         New function, contributed by Ron Steinke
1466
1467         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
1468         used to line up the text in the entry when using the entry for
1469         editable sheet cell hacks
1470
1471         * gtk/testgtk.c (create_entry): test the activate_default setting
1472         on GtkEntry
1473
1474         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
1475         cause the entry to activate the default button for a dialog when 
1476         activated
1477         (gtk_entry_get_activates_default): new function
1478
1479 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
1480
1481         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
1482         Hwang to move call to sync_selection() up a few lines
1483         to before the row list is modified, to fix crash when
1484         removing rows in the undo_selection list.
1485
1486         (Test case provided by Daniel Elstner:
1487
1488         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
1489
1490 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
1491
1492         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
1493         of tree->root_tree in parent_set rather than _map(), 
1494         fixing #50892 in a bit better manner.
1495
1496 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
1497
1498         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
1499
1500 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
1501
1502         * gtk/gtkstyle.c : Remove duplicate fwd decl for
1503         gtk_default_draw_shadow.
1504
1505 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
1506
1507         * gdk/gdkimage.c (gdk_image_new): Remove excess 
1508         warning, make warnings more verbose, treat a error
1509         in shmat as permanent, and don't try again.
1510         (#51163, Ed Randall.)
1511
1512 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
1513
1514         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
1515         delay for the first click before starting to scroll.
1516         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
1517
1518         * gtk/gtktext.c: GtkText should have I-beam cursor. 
1519         (based on gtk-enf-990513-1.patch, Eric Fisher.)
1520
1521 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
1522
1523         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
1524         cleanup to remove some references to unused
1525         ->xoffset, ->yoffset.
1526
1527 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
1528
1529         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
1530         mask. (#51039, fix from Martin Maierhofer)
1531
1532 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
1533
1534         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
1535         for unshifted + and shifted = for non-us keyboards.
1536         Make <Control>+ and <Control>- work as well as 
1537         <Control>KP_Plus, <Control>KP_Minus for recursive
1538         open/close.  (#2682, René Seindal)
1539
1540 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
1541
1542         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
1543         the active menu item before deactivating the menu,
1544         so gtk_menu_popdown doesn't change the history. (#50964)
1545         
1546 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
1547
1548         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
1549         draw lines with text_gc rather than black_gc.
1550         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
1551
1552 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
1553
1554         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
1555         Move handling of buttons fully in gtktreeviewcolumn.  This code is
1556         less interrelated then it was, but it still requires the
1557         GtkTreeView to map it.
1558
1559         * test/testtreecolumn.c: Now I can add a column to one view,
1560         remove it, add it to the another view, remove it, then re-add it
1561         to the first.  Nifty.
1562
1563 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
1564
1565         * docs/tutorial/gtk-tut.sgml: Minor corrections
1566
1567 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
1568
1569         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
1570         GtkRowReference.
1571
1572 2001-02-28  Havoc Pennington  <hp@redhat.com>
1573
1574         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
1575         draw_default
1576         (gtk_widget_draw_focus): remove this function; we could instead
1577         make it just gtk_widget_draw(), but in most cases I think the
1578         result would be broken user code, so think it's better to have
1579         that code not compile and get fixed
1580         (gtk_widget_draw_default): ditto
1581
1582         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
1583         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
1584         
1585         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
1586         widgets lose/get the default, instead of calling draw_default
1587         
1588         * docs/Changes-2.0.txt: note about all this
1589
1590         Then fixed every widget in GTK, I won't list all the filenames.
1591
1592 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
1593
1594         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
1595         _gtk_tree_row_reference_deleted.
1596         (inserted_callback): Proxy out to
1597         _gtk_tree_row_reference_inserted.
1598         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
1599         get around signal emission ordering problem.
1600
1601         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
1602         fix to work with SINGLE 
1603         (_gtk_tree_selection_internal_select_node): Major sanitization on
1604         selections.  SINGLE now seems to work.
1605
1606         * tests/Makefile.am: add testtreecolumn.c:
1607
1608         * tests/testtreecolumn.c: New test.  Mostly points out selection
1609         bugs currently, but will test columns later.
1610
1611         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
1612         selection bug.  I hate touching this code -- it's scary.
1613
1614 2001-02-26  Havoc Pennington  <hp@redhat.com>
1615
1616         * gtk/testgtk.c: test the window state stuff
1617
1618         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
1619         window come to the user's attention as if it were just created
1620         (gtk_window_iconify): new function
1621         (gtk_window_deiconify): new function
1622         (gtk_window_stick): new function
1623         (gtk_window_unstick): new function
1624         (gtk_window_maximize): new function
1625         (gtk_window_unmaximize): new function
1626
1627         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
1628
1629         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
1630
1631         * gdk/x11/gdkevents-x11.c: create window state events when
1632         appropriate
1633         (gdk_wmspec_supported): new function
1634
1635         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
1636         iconification before showing the window
1637         (gdk_window_deiconify): new function
1638         (gdk_window_stick): new function
1639         (gdk_window_unstick): new function
1640         (gdk_window_maximize): new function
1641         (gdk_window_unmaximize): new function
1642
1643         * gdk/gdkwindow.c: store the window state in the window; 
1644         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
1645         window->mapped.
1646         (gdk_window_get_state): return the current window state
1647
1648         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
1649         (gdk_event_get_state): handle GDK_WINDOW_STATE
1650         (gdk_synthesize_window_state): function to create the window state
1651         events
1652
1653         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
1654         event, for changes to "window state" such as maximized, sticky, 
1655         etc.
1656         
1657         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
1658         focuses a window
1659
1660         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
1661         finds out if we support a given WM spec hint
1662
1663 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
1664
1665         * docs/faq/gtk-faq.sgml: New question re memory leaks.
1666
1667 2001-02-25  Hans Breuer  <hans@breuer.org>
1668
1669         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
1670         cause we want to loose those prototypes only in the latter case
1671
1672         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
1673         GdkPixmapImplWin32 because it itsn't derived from it. Use the
1674         impl member variable instead
1675
1676         * gtk/gtk.def : updated
1677
1678         * gtk/gtklist.c : 
1679         * gtk/gtkmenus.c : include <string.h> for memset ()
1680
1681         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
1682         for everthing built here, but for gtk-x.x.dll only. This solves
1683         problem of indifferent gtk type definitions
1684
1685 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@redhat.com>
1686
1687         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
1688
1689 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
1690
1691         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
1692         column that is exposed.
1693
1694         (_gtk_tree_view_update_size): Changed name from set_size, and
1695         changed function to do more work, and not force people calling it
1696         to figure out the size.  Simplifies a lot of code elsewhere.
1697
1698 2001-02-23  Alexander Larsson  <alexl@redhat.com>
1699
1700         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
1701         return solid masks for xpms that have no transparent color.
1702         This makes the ..._create_from_xpm... API backwards
1703         compatible.
1704
1705 2001-02-23  Tor Lillqvist  <tml@iki.fi>
1706
1707         * README.win32: Update. Mention the gtk-1-3-win32-production
1708         branch.
1709
1710         * gdk/win32/bdfcursor.c: New file. A program that generates
1711         xcursors.h. Thanks to Stefan Ondrejicka.
1712
1713         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
1714         compact format.
1715
1716         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
1717
1718         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
1719         function, uses xcursors.h.
1720         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
1721         cursor from inline data instead of using LoadCursor() to generate
1722         it from a resource.
1723
1724         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
1725         event, must check the Windows message for mouse button state, as
1726         the GDK event state might not have been built if it is
1727         undelivered. Remove one goto.
1728
1729         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
1730         SetCursor() if the current cursor as returned by GetCursor() is
1731         the window's previous cursor. The ChildWindowFromPoint() test
1732         apparently didn't work correctly.
1733
1734         * gdk/win32/rc/*.cur: Remove.
1735
1736         * gdk/win32/rc/gdk.rc.in: Remove cursors.
1737
1738         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
1739
1740         * gtk/makefile.{mingw,msc}.in: Updates.
1741
1742 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
1743
1744         * gtk/gtktreemodel.h: add functions for signal emission.
1745
1746         * gtk/gtktreestore.c: move to use above functions instead of
1747         g_signal_emit.
1748
1749         * gtk/gtkliststore.c: ditto
1750
1751 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
1752
1753         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
1754         GObject instead of GtkObject.
1755
1756         * gtk/gtkliststore.c: ditto.
1757
1758         * gtk/gtktreemodelsort.c: ditto.
1759
1760         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
1761         GtkTreeModelIface, instead of in each model.
1762
1763 2001-02-21  Havoc Pennington  <hp@redhat.com>
1764
1765         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
1766         unbreak this function
1767
1768         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
1769         properties
1770
1771         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
1772         properties
1773
1774         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
1775         properties
1776
1777         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
1778         mean unset the max length
1779
1780 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
1781
1782         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
1783         Changed name to be set_cell_data_func to make it clear what
1784         the functino does.  Close bug #51069.
1785
1786 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
1787
1788         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
1789         have memory actually freed.  Keeps box running longer.
1790
1791 2001-02-21  Alexander Larsson  <alexl@redhat.com>
1792         
1793         * gtk/gtkseparatormenuitem.[ch]:
1794         Added new menu separator item. The drawing and size handling
1795         is still done in GtkMenuItem, but the API is a bit more sane.
1796         
1797         * gtk/Makefile.am:
1798         Add gtkseparatormenuitem.[ch].
1799
1800         * gtk/gtk.h:
1801         Add gtkseparatormenuitem.h.
1802         
1803         * gtk/gtkentry.c:
1804         * gtk/gtkmenufactory.c:
1805         * gtk/gtktextview.c:
1806         Use the new API for menu separators.
1807         
1808         * demos/gtk-demo/menus.c (create_menu):
1809         Add some GtkSeparatorMenuItem demo code.
1810
1811 2001-02-20  Havoc Pennington  <hp@redhat.com>
1812
1813         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
1814         Lee Mallabone
1815
1816         * gtk/gtkarrow.c: Convert to new property API, patch from 
1817         Lee Mallabone
1818
1819 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
1820
1821         * tests/testtreeview.c (toggled_callback): fix to reflect change
1822         in GtkTreeModelStore.
1823
1824 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
1825
1826         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
1827         function to create an icon set from a pixbuf.
1828
1829 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1830
1831         * gtk/gtkcellrenderertext.[ch]:
1832         Add a "markup" property.
1833
1834         * gtk/treestoretest.c:
1835         Use the markup property, remove some leftover stuff from
1836         GtkTreeModelMapping.
1837
1838 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1839
1840         * gtk/gtklabel.c (gtk_label_set_selectable):
1841         Queue a redraw if the selectable setting was changed.
1842
1843 2001-02-20  Alexander Larsson  <alexl@redhat.com>
1844
1845         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
1846         Actually copy the whole gc, not just the public parts.
1847         
1848         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
1849         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
1850         labels.
1851
1852 2001-02-19  Havoc Pennington  <hp@pobox.com>
1853
1854         * gdk/gdkwindow.c: docs
1855
1856         * gdk/gdkrgb.c: docs
1857
1858         * gdk/gdkregion-generic.c: docs
1859
1860         * gdk/gdkgc.c (gdk_gc_set_values): docs
1861
1862         * gdk/gdkdraw.c: docs
1863
1864         * gdk/gdkdrawable.h: deprecate drawable get/set data
1865
1866 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
1867
1868         * demos/gtk-demo/dialog.c: Add simple new demo.
1869
1870 2001-02-19  Havoc Pennington  <hp@redhat.com>
1871
1872         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
1873         insert_child_anchor signal, bug #50245
1874
1875         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
1876         from create_child_anchor, so the anchor is passed in
1877
1878         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
1879         (_gtk_widget_segment_new): have the child anchor object passed in, 
1880         instead of creating it.
1881
1882         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
1883         to gtk_text_buffer_get_modified
1884
1885 2001-02-19  Havoc Pennington  <hp@redhat.com>
1886
1887         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
1888         changed GLib without fixing GTK
1889
1890         * gtk/gtkrange.h: Rename all the stupid implementation detail 
1891         functions to have an underscore in front. Most of them should 
1892         probably just go away, but for starters don't export them.
1893         Bug #50482
1894
1895 2001-02-19  Havoc Pennington  <hp@redhat.com>
1896
1897         * gdk/gdkcolor.h: test was backward, so deprecated functions were
1898         excluded by default
1899
1900         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
1901         clean up the old code a bit
1902
1903         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
1904         inconsistent state
1905
1906         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
1907         draw inconsistent state
1908
1909         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
1910         (create_menu): add inconsistent test
1911
1912         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
1913         new function
1914         (gtk_check_menu_item_get_inconsistent): new function
1915         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
1916         state (using etched in for now)
1917
1918         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
1919         draw inconsistent state
1920
1921         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
1922         function, used when the user has selected a range of stuff in
1923         different states
1924         (gtk_toggle_button_get_inconsistent): accessor for that
1925         (gtk_toggle_button_paint): draw inconsistent state (etched in?
1926         don't know what else to do)
1927
1928 2001-02-19  Hans Breuer <hans@breuer.org>
1929
1930         * gtk/gtk.def : updated exported symbols
1931
1932         * gtk/makefile.msc.in : updated
1933
1934         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
1935         a colormap, when invoked from testgtk::entry. I'm not sure where
1936         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
1937         avoids immediate crashing ...
1938
1939         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
1940         any objections ?
1941
1942         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
1943         0 parameter. At least msvc doesn't like macros with var args. 
1944         I simply removed the extra 0, was it a feature or a typo ?
1945
1946         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
1947         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
1948         because the value assignment to the internal struct wasn't working.
1949         I'm not absolutely sure. The problem could have been resolved by
1950         changing the "func" declartion in the struct, but was the pointer
1951         to the function pointer intended ?
1952
1953         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
1954
1955         * gdk/gdk.def : updated exported symbols
1956
1957         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
1958         only use SetDIBitsToDevice if there is a palette at the drawable
1959         and the image is GDK_VISUAL_PSEUDO_COLOR
1960
1961         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
1962
1963         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
1964
1965         * gdk/*/makefile.msc : updated
1966
1967 2001-02-19  Havoc Pennington  <hp@redhat.com>
1968
1969         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
1970         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
1971
1972         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
1973         (gdk_key_repeat_restore): nuke
1974
1975         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
1976         (gdk_init_check): no atexit func
1977
1978         * gdk/gdkrgb.h: mark some stuff deprecated
1979
1980         * gdk/gdkcolor.h: mark some stuff deprecated
1981         
1982         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
1983
1984         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
1985
1986 2001-02-16  Havoc Pennington  <hp@redhat.com>
1987
1988         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
1989         scroll steps.
1990
1991         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
1992         steps, and add Ctrl-arrow shortcuts for paging visually as with
1993         HScale, since Page Up and Page Down move logically.
1994
1995         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
1996         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
1997         
1998         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
1999         steps
2000         (gtk_range_scroll): handle the visual steps
2001
2002         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
2003         scroll steps
2004
2005         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
2006         steps, not the logical ones.
2007
2008         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
2009         (scroll_vertical): handle up/down steps
2010
2011 2001-02-19 Alexander Larsson  <alexl@redhat.com>
2012
2013         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
2014         Copy data and free data with free().
2015
2016         * gdk-pixbuf/gdk-pixbuf.c:
2017         * gdk-pixbuf/io-jpeg.c:
2018         * gdk-pixbuf/io-png.c:
2019         Use g_try_malloc/g_free instead malloc/free.
2020         
2021         * gdk-pixbuf/test-gdk-pixbuf.c:
2022         Must... initialize... gobject...
2023         
2024         * gdk-pixbuf/pixops/timescale.c:
2025         * gtk/gtkcalendar.c:
2026         Use g_malloc instead of malloc.
2027         
2028 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
2029
2030         * gtk/testgtkrc:
2031         Comment out property assignments, these don't work yet.
2032
2033 2001-02-17  Havoc Pennington  <hp@pobox.com>
2034
2035         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
2036         bit.
2037
2038 2001-02-17  Havoc Pennington  <hp@pobox.com>
2039
2040         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
2041         shadowed variables that had broken size request in some cases,
2042         leading to bogus tooltips (#50996)
2043
2044 2001-02-06  Jon K Hellan  <hellan@acm.org>
2045
2046         Implement fast browsing of tooltips, bug #50619
2047         
2048         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
2049         and last_popdown
2050         
2051         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
2052         use_sticky_delay and last_popdown.
2053         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
2054         time of popdown.
2055         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
2056         is NULL.
2057         (gtk_tooltips_recently_shown): New static function.  Return true
2058         if < sticky_delay has elapsed since last popdown.
2059         (gtk_tooltips_event_handler): Display window after sticky_delay
2060         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
2061         since last popdown.
2062         
2063 2001-02-17  Havoc Pennington  <hp@pobox.com>
2064
2065         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
2066         instead of (). #6394
2067
2068         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
2069         G_CONST_RETURN, make it return by reference, #50473
2070         
2071 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
2072
2073         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
2074         generated ENTER_NOTIFY event with 0, otherwise not explicitely
2075         setup fields contain garbage (e.g. subwindow, breaking
2076         gdk_drawable_ref() upon event copy).
2077         (gtk_menu_stop_navigating_submenu_cb): same here.
2078
2079         * gtk/gtklist.c (gtk_list_vertical_timeout): 
2080         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
2081         * gtk/gtkclist.c (vertical_timeout): 
2082         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
2083         default-zero-intialization for unions to memset(,0,), as unions are
2084         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
2085         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
2086
2087         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
2088         g_closure_sink() warning.
2089
2090         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
2091         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
2092         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
2093         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
2094         
2095 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
2096
2097         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
2098         gtk_*_store_get, and moved to GtkTreeModel.
2099
2100         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
2101
2102         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
2103
2104         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
2105
2106         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
2107         set the func.
2108
2109         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
2110         freeze/thaw notify between setting all the properties for a cell.
2111
2112         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
2113
2114 2001-02-15  Havoc Pennington  <hp@redhat.com>
2115
2116         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
2117         the X coordinates so they're with respect to the line, rather than 
2118         with respect to the layout.
2119
2120         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
2121         Mallabone
2122
2123         * gtk/testgtk.c (create_range_controls): add vscale tests, 
2124         and inverted test
2125
2126         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
2127         #50806
2128
2129         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
2130
2131         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
2132         gtk_text_iter_is_end
2133
2134         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
2135         rename gtk_text_buffer_get_end_iter
2136
2137         * gtk/testgtk.c (create_labels): Add test for selectable
2138
2139         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
2140         the selection stuff. This code is kind of broken since it doesn't 
2141         use the theme engine.
2142
2143         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
2144         fix infinite loop and y offset problem
2145         (gdk_draw_layout_line_with_colors): fix foreground color handling
2146
2147         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
2148         that makes the label selectable.
2149         
2150         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
2151         layout when the style is set, since fonts etc. could have changed.      
2152
2153 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
2154
2155         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
2156
2157         * gtk/gtktreemodelsimple.[ch]: removed.
2158
2159 2001-02-16  Alexander Larsson  <alexl@redhat.com>
2160
2161         * gtk/gtktreemodelmapping.[ch]:
2162         New files. Implement GtkTreeModelMapping.
2163         
2164         * gtk/Makefile.am:
2165         Add gtktreemodelmapping.[ch].
2166         
2167         * gtk/gtk.h:
2168         Add gtktreemodelmapping.h
2169
2170         * gtk/treestoretest.c:
2171         Test the GtkTreeModelMapping
2172
2173 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
2174
2175         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
2176         have a demo, we might as well pass in real values.  Thanks to
2177         clahey for pointing this out.
2178
2179 2001-02-14  Havoc Pennington  <hp@pobox.com>
2180
2181         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
2182         "static" to a private function
2183         (gtk_image_menu_item_class_init): remove destroy handler,
2184         add "image" object property
2185
2186 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
2187
2188         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
2189         Add a shortcut if the window and the current clip_region doesn't
2190         overlap. This is needed when there are a lot of windows in a
2191         window. The layout test in testgtk is a good test.
2192
2193         * gdk/linux-fb/gdkwindow-fb.c:
2194         Whitespace fix.
2195
2196 2001-02-13  Sven Neumann  <sven@convergence.de>
2197
2198         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
2199
2200 2001-02-13  Alexander Larsson  <alexl@redhat.com>
2201
2202         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
2203         Don't reference last_cursor if it is null. Fixes crash when rotating
2204         the screen before having moved the mouse.
2205
2206         * gdk/linux-fb/gdkcc-fb.c: Zapp!
2207
2208         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
2209
2210         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
2211         when using 90 or 270 degrees rotation.
2212
2213 2001-02-12  Havoc Pennington  <hp@pobox.com>
2214
2215         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
2216         it always set the foreground, even if we were only using
2217         a stipple.
2218         (gdk_draw_layout_line_with_colors): new function, allow
2219         override colors
2220         (gdk_draw_layout_with_colors): new function, allow override
2221         colors
2222         (gdk_pango_layout_line_get_clip_region): function to get the clip
2223         region for a logical text range
2224         (gdk_pango_layout_get_clip_region): get the clip region for a
2225         logical text range
2226
2227         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
2228         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
2229         the right number of arguments.
2230
2231         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
2232         enhance the function to check that node data corresponds to a 
2233         view still belonging to the tree.
2234
2235         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
2236         GtkTreePath
2237         (gtk_tree_view_inserted): ditto
2238         (gtk_tree_view_child_toggled): ditto
2239
2240         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
2241         simplify this code.
2242
2243         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
2244         a PangoAttrList
2245
2246         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
2247
2248         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
2249
2250         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
2251         size in the size request 
2252         (gtk_menu_bar_size_allocate): consider toggle size here
2253
2254         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
2255         that displays a widget in the toggle slot
2256
2257         * gtk/testgtk.c: test GtkImageMenuItem
2258
2259         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
2260         
2261         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
2262         request and allocation
2263
2264         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
2265
2266         * gtk/gtkcheckmenuitem.c
2267         (gtk_check_menu_item_toggle_size_request): ditto
2268         
2269 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
2270
2271         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
2272         reference.
2273
2274         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
2275         and refuse to initialize GTK+ if they fail.
2276
2277 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
2278
2279         * configure.in: Add check for gtk-doc version.
2280
2281 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
2282
2283         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
2284         where the xpad/ypad was only being used on one side!
2285
2286 2001-02-11  Tor Lillqvist  <tml@iki.fi>
2287
2288         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
2289         function, copied from X11 version.
2290
2291         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
2292         DestroyCursor failures. The reason for the problem (despite the
2293         inconsistent messages from GetLastError()) was that
2294         DestroyCursor() cannot be called while a cursor is set in a
2295         window. Set the new cursor first and then destroy the old one.
2296         Thanks to jpe@archaeopteryx.com.
2297
2298         * gdk/win32/gdkcc-win32.c: Remove.
2299
2300         * gdk/win32/Makefile.am: Remove from here, too.
2301         
2302         * gdk/gdk.def
2303         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
2304
2305         * gtk/gtk.def
2306         * gtk/makefile.mingw.in: Updates.
2307
2308 2001-02-08  Havoc Pennington  <hp@redhat.com>
2309
2310         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
2311         add a widget to a bin that already has a child.
2312
2313         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
2314
2315         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
2316         
2317         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
2318
2319         * gdk/gdk.h: remove gdkcc.h
2320
2321         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
2322
2323         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
2324         GdkPixbuf, since the previous implementation was GdkColorContext
2325         dependent.
2326
2327         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
2328         
2329 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
2330
2331         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
2332         a sane value!
2333
2334 2001-02-08  Havoc Pennington  <hp@redhat.com>
2335
2336         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
2337         lighten them.
2338
2339 2001-02-08  Havoc Pennington  <hp@redhat.com>
2340
2341         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
2342         validation idle
2343
2344         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
2345         cell renderer
2346
2347         * demos/pixbuf-demo.c (timeout): remove deprecated
2348         gtk_widget_draw
2349
2350         * demos/testpixbuf-save.c (main): remove deprecated
2351         gtk_drawing_area_size
2352
2353         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
2354         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
2355         at the start of the allocation.
2356         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
2357         unsetup or NULL model.
2358
2359         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
2360         even/odd/sorted cells in the tree view.
2361
2362         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
2363         bugfixes
2364
2365         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
2366         backgrounds with draw_flat_box using different detail for even/odd
2367         rows.
2368
2369         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
2370         row, so we can draw the alternating colors thing
2371
2372         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
2373         property from a synonym property, notify for the synonym.
2374         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
2375         (gtk_text_tag_get_property): Always return the font, even if
2376         all its fields aren't set
2377
2378         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
2379         store the attr list; it leaves us with no way to change attributes
2380         in _render according to the render flags, and no way to implement
2381         get_property. Instead store all the specific text attributes. 
2382         Separate whether an attribute is enabled from its value. Sync all
2383         properties with GtkTextTag, make them all consistent, etc.
2384
2385         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
2386         renderers can highlight the sort row/column     
2387
2388         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
2389         accessor functions to get values; this has the side effect of
2390         showing up which accessor functions were missing. Added those.
2391
2392         * gtk/gtktreeviewcolumn.h: Replace set_justification with
2393         set_alignment, to be consistent with GtkLabel, GtkMisc
2394
2395         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
2396         arrow.
2397
2398         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
2399
2400         * gtk/gtktreesortable.h: updates in here
2401
2402 2001-02-07  Sven Neumann  <sven@convergence.de>
2403
2404         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
2405         pango dimensions after painting the background. We used to draw
2406         gigantic flat boxes here.
2407
2408 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
2409
2410         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
2411         error introduced with earlier commit) (pointed out by
2412         Ollie Lho)
2413
2414 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
2415
2416         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
2417         which are no longer necessary.
2418
2419 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
2420
2421         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
2422
2423 2001-02-04  Tor Lillqvist  <tml@iki.fi>
2424
2425         * gdk/gdk.def
2426         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
2427         Provide dummy implementations.
2428
2429 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
2430
2431         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
2432
2433         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
2434         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
2435         deprecated this function.
2436
2437         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
2438         argument.
2439
2440 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
2441
2442         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
2443
2444 2001-02-03  Havoc Pennington  <hp@pobox.com>
2445
2446         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
2447         Mikael Hermansson with patch from Mikael (if there was a toggle
2448         start one after the first character in the range, this function
2449         was broken). Bug #50380
2450
2451 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
2452
2453         * configure.in: Remove confusing comment about X11.
2454
2455 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
2456
2457         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
2458         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
2459         
2460 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
2461
2462         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
2463         it breaks things on BSD. If you want to compile GTK+ with
2464         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
2465         when configuring, since GTK+ simply can't be "pure ANSI" 
2466         in the header files it uses. (#8170, Greg Hudson)
2467
2468 2001-02-02  Havoc Pennington  <hp@redhat.com>
2469
2470         * gtk/gtkwindow.c: docs
2471
2472         * gtk/gtkwidget.c: docs
2473         (gtk_widget_set_colormap): add a reference to the colormap
2474         (gtk_widget_get_default_colormap): add a reference to the colormap
2475
2476         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
2477
2478         * gtk/gtktextiter.c: docs
2479
2480         * gtk/gtkmain.c (gtk_propagate_event): docs
2481
2482         * gtk/gtkpaned.c (gtk_paned_get_position): docs
2483         (gtk_paned_set_position): docs
2484
2485         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
2486         sort interface, no implementation yet.
2487
2488         * demos/testpixbuf.c (new_testrgb_window): replace
2489         gtk_drawing_area_size() with gtk_widget_set_usize()
2490
2491         * demos/testpixbuf-drawable.c (main): ditto
2492         
2493         * gtk/testgtk.c: remove use of GtkStatusbarMsg
2494
2495         * gtk/gtktextbuffer.c: docs
2496
2497         * gtk/gtkstock.c: docs
2498
2499         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
2500
2501         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
2502
2503         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
2504         
2505         * gtk/gtkimage.c: add some docs in here
2506         (gtk_image_size_request): change name of
2507         gtk_widget_render_stock_icon
2508         (gtk_image_get_icon_set): don't dup returned string
2509         (gtk_image_get_icon_set): don't dup returned string
2510
2511         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
2512         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
2513         and gtkiconfactory.h functions
2514
2515         * gtk/gtkiconfactory.c: add some docs in here
2516
2517         * gtk/gtkmain.c (gtk_get_default_language): document
2518         (gtk_get_current_event): document
2519         (gtk_get_current_event_state): document
2520         (gtk_get_event_widget): document
2521
2522         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
2523
2524         * gtk/gtkcontainer.c: Add some documentation
2525         (gtk_container_add): give a more explanatory warning on adding an
2526         already-parented widget, this is kind of a FAQ and also a common
2527         typo that's easier to debug with a nice warning 
2528
2529         * gtk/gtkcellrenderertoggle.c
2530         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
2531         adding this, it's useless
2532         (gtk_cell_renderer_toggle_set_active): remove
2533         (gtk_cell_renderer_toggle_get_radio): add
2534
2535         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
2536         the NULL cell renderer, that doesn't make any sense to me. 
2537
2538         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
2539         demo code should never use deprecated features.
2540
2541         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
2542         code should never use deprecated features.
2543
2544         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
2545         gtk_widget_queue_clear_area deprecated
2546
2547         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
2548         deprecated
2549
2550         * gtk/gtklabel.h: mark gtk_label_get() deprecated
2551
2552         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
2553         a GdkImage deprecated, replaced by new consistently-named
2554         functions       
2555
2556         * gtk/gtkmain.h: Mark gtk_exit() deprecated
2557
2558         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
2559
2560         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
2561         deprecated
2562
2563         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
2564         so it won't appear in docs and confuse people.
2565
2566         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
2567
2568         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
2569         macros deprecated. (can't mark the type itself deprecated, since
2570         GtkProgressBar is not deprecated and we need the type decl to use
2571         GtkProgressBar)
2572
2573         * gtk/gtkpixmap.h: Mark deprecated
2574
2575         * gtk/gtkoldeditable.h: Mark deprecated
2576
2577         * gtk/gtklist.h: Mark deprecated
2578
2579         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
2580         for anything anymore.
2581
2582         * gtk/gtkctree.h: Mark deprecated
2583
2584         * gtk/gtkclist.h: Mark deprecated
2585
2586         * gtk/gtkpreview.h: Mark deprecated
2587
2588         * gtk/gtkpacker.h: Mark deprecated
2589
2590         * gtk/gtktipsquery.h: Mark deprecated
2591
2592         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
2593
2594         * gtk/gtkvruler.h: Add comment that it will move out of GTK
2595
2596         * gtk/gtkhruler.h: Add comment that it will move out of GTK
2597
2598         * gtk/gtkruler.h: Add comment that it will move out of GTK
2599
2600         * gtk/gtkgamma.h: Add comment that it will move out of GTK
2601
2602         * gtk/gtkcurve.h: Add comment that it will move out of GTK
2603
2604 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
2605
2606         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
2607         gdk_colormap_sync private since it was never exported
2608         in a header file.
2609
2610         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
2611         colormap->colors[] for StaticGray, StaticColor colormaps.
2612
2613         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
2614         was being used as if it was image->bits_per_pixel.
2615
2616         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
2617         for the image in the GdkImage structure since it isn't
2618         reconstructable, and we need it to handle packed types
2619
2620         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
2621         the assumption that on Win32 image->bits_per_pixel == image->depth,
2622         always.
2623
2624         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
2625
2626         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
2627         warning message if no converter can be found. 
2628
2629 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
2630
2631         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
2632         chars to isupper() / tolower(). (#567)
2633
2634         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
2635         to clear up 64-bit warnings. (#567)
2636
2637 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
2638
2639         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
2640         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
2641
2642         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
2643         since some people set $(libdir) separately. (#1290, David Kaelbling)
2644
2645 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
2646
2647         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
2648         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
2649         MAXPATHLEN, but the code here depends on a fixed value.)
2650         (#4524)
2651
2652 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
2653
2654         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
2655         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
2656
2657 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
2658
2659         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
2660         viewable there is no way that moving the node will cause the 
2661         focus row to become not viewable, so omit check on the visibility
2662         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
2663
2664 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
2665
2666         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
2667         selection before inserting new text.
2668
2669 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
2670
2671         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
2672         Make the sensitivity of the reparented child track that of
2673         the original parent menu item. (#34218, David Hodson)
2674
2675         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
2676         the case where the current item is destroyed properly.
2677
2678         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
2679         some edge cases with child-less menuitems.
2680         
2681 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
2682
2683         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
2684         key pop down window. (#12074, Jon K Hellan)
2685
2686 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
2687
2688         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
2689         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
2690         The solution here isn't perfect - you get an extraneous
2691         emission of "toggle", which could conceivably confuse an app,
2692         but better than the current situation. LXR search seems to
2693         indicate that no apps in GNOME CVS connect to "toggle".
2694
2695 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
2696
2697         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
2698         gtk_public_h_sources to directly here to avoid warning when
2699         building srcdir != builddir. (#9656)
2700
2701 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
2702
2703         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
2704         handlers in gtkrange.c return the proper values (TRUE == handled)
2705         (#10316).
2706
2707         This is just the tip of the iceberg, but gtkrange.c is the
2708         most common place where the propagation is problematical,
2709         and also a place where it is almost certainly safe to change
2710         this in the stable branch.
2711
2712         (You don't want right click popups on a range control or anything...)
2713
2714 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
2715
2716         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
2717         area on focus out, even if a background pixmap isn't set.
2718         (#13941)
2719         
2720 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
2721
2722         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
2723         to deal with setting the shape properly when scrolling arrows are
2724         turned on, but not visible because there is sufficient space.
2725         (#13432)
2726
2727 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
2728
2729         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
2730         items with submenus, destroy the item along with the submenu.
2731         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
2732         properly.
2733
2734         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
2735         later.
2736
2737 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
2738
2739         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
2740         the focus widget sometimes wasn't drawn with the default if there
2741         was no default widget.
2742
2743         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
2744         unreference pixmaps. 
2745
2746         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
2747         for some extra safety.
2748
2749 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
2750
2751         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
2752         the text of a cell to the old pointer value better, by
2753         copying the new text before freeing the old text. Some code
2754         cleanup. (#8079, Karl Nelson)
2755
2756 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
2757
2758         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
2759         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
2760
2761 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
2762
2763         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
2764         item from a menu, check to see if it matches 
2765         menu->old_active_menu_item, and if so, unref and clear
2766         old_active_menu_item (Patch from Pavel Cisler)
2767
2768         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
2769         menu_shell->active_menu_item, if it is the child being
2770         removed. (Patch based on that of Gene Ragan, #50337)
2771
2772 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
2773
2774         * gdk/linux-fb/gdkselection-fb.c: 
2775         * gdk/linux-fb/gdkcolor-fb.c: 
2776         * gdk/linux-fb/gdkdrawable-fb2.c: 
2777         * gdk/linux-fb/gdkfont-fb.c: 
2778         * gdk/linux-fb/gdkim-fb.c: 
2779         * gdk/linux-fb/gdkinput.c: 
2780         * gdk/linux-fb/gdkkeyboard-fb.c: 
2781         * gdk/linux-fb/gdkmain-fb.c: 
2782         * gdk/linux-fb/gdkrender-fb.c: 
2783         A bunch of whitespace cleanup.
2784         
2785 2001-01-30  Havoc Pennington  <hp@pobox.com>
2786
2787         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
2788         #ifdef GTK_ENABLE_BROKEN.
2789
2790         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
2791         GTK_ENABLE_BROKEN just before including the broken headers.
2792         
2793         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
2794         deprecated types registered.
2795
2796         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
2797         we have to test the broken stuff.
2798
2799         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
2800         
2801 2001-01-30  Havoc Pennington  <hp@redhat.com>
2802
2803         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
2804         here where prev pointer was set to the wrong thing
2805
2806         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
2807         (gtk_tree_path_is_descendant): new function
2808
2809         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
2810         cached length
2811         (gtk_list_store_get_iter): don't modify iter if we can't get the
2812         path.
2813
2814         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
2815         
2816         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
2817         GtkTreeDragDest
2818
2819         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
2820         was causing segfault
2821
2822         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
2823         pointer to NULL
2824
2825         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
2826
2827         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
2828         on returning FALSE
2829         (gtk_list_store_iter_children): ditto
2830         (gtk_list_store_iter_nth_child): ditto
2831         (gtk_list_store_iter_nth_child): ditto
2832         (gtk_list_store_iter_parent): ditto
2833
2834         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
2835         on iter->user_data != NULL instead of silently accepting it.
2836         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
2837         we are returning TRUE.
2838         (gtk_tree_store_iter_children): ditto
2839         (gtk_tree_store_iter_nth_child): ditto
2840         (gtk_tree_store_iter_parent): ditto
2841         (gtk_tree_store_insert): remove handling of parent->user_data ==
2842         NULL, replace with parent == NULL       
2843
2844         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
2845         and a comment explaining things
2846
2847         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
2848         interface support to GtkTreeStore.
2849
2850         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
2851         FALSE if no prev, fix
2852
2853         * gtk/gtktreeview.c (set_source_row): use a row reference
2854         (set_dest_row): use a row reference
2855
2856 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
2857
2858         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
2859         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
2860         (gtk_tree_selection_select_iter): The same as above.
2861
2862 2001-01-26  Havoc Pennington  <hp@redhat.com>
2863
2864         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
2865         which holds a handle to a specific row (particular set of values
2866         in the model, i.e. pointer-identity row).
2867
2868         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
2869         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
2870         Still need to use it for the src/dest row saved on the drag context.
2871
2872 2001-01-26  Havoc Pennington  <hp@redhat.com>
2873
2874         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
2875
2876         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
2877         not offset by TREE_VIEW_HEADER_HEIGHT
2878         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
2879         TREE_VIEW_HEADER_HEIGHT
2880
2881         * configure.in (included_loaders): for me, --with-included-loaders
2882         generates the error "the specified loader yes does not exist",
2883         i.e. the arg defaults to "yes", so change test for value ""
2884         to test for value "yes", and include all loaders in that case.
2885
2886         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
2887
2888         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
2889         handle TREE_VIEW_VERTICAL_SEPARATOR
2890         (gtk_tree_view_bin_expose): fix to consider the row offset as
2891         pointing halfway into vertical separator.       
2892         (gtk_tree_view_draw_node_focus_rect): ditto
2893
2894         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
2895         --gtk-debug=updates, which causes gdk_window_set_debug_updates
2896         (TRUE) to be called.
2897
2898         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
2899         debug mode where the invalid region is colored in on invalidate,
2900         so you can see the flicker and know whether your redraw code is 
2901         doing a good job.
2902
2903         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
2904         tree window coordinates (clip rect is in tree window coords)
2905
2906         * gtk/Makefile.am: add gtktreednd.[hc]
2907
2908         * gtk/gtkliststore.c: implement gtktreednd interfaces.
2909
2910         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
2911         drag-and-drop data operations on a model (so we can set up tree
2912         drag-and-drop automatically)
2913
2914         * gtk/testgtk.c: Add a window to change sensitivity in the
2915         GtkLabel test; add a way to change the entry frame in GtkEntry
2916         test
2917
2918         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
2919         (gtk_entry_get_has_frame): new functions to remove the frame
2920         around an entry
2921         (gtk_entry_size_request): shrink requisition if no frame
2922         (gtk_entry_draw_focus): don't draw frame if no frame
2923
2924         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
2925         checks inside a cell renderer
2926         (gtk_default_draw_option): ditto for options
2927
2928         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
2929         children from the alignment, not the button
2930         (gtk_tree_view_column_init): ref/sink the column, to emulate
2931         GObject refcounting.
2932
2933         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
2934         
2935         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
2936         Use theme functions to draw the toggles 
2937
2938         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
2939
2940         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
2941         GdkPangoAttrEmbossed to use in rendering insensitive text
2942
2943         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
2944
2945         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
2946         using new GDK features
2947         
2948 2001-01-24  Alexander Larsson  <alexl@redhat.com>
2949
2950         * gtk/gtkimage.c:
2951         Splitted gtk_image_clear into gtk_image_clear() and
2952         gtk_image_reset(). Call gtk_image_clear() in ::destroy
2953         to avoid leaks.
2954
2955         * gtk/gtklabel.c (set_markup):
2956         Don't leak text.
2957
2958         * gtk/gtktextlayout.c:
2959         Always free display->shaped_objects.
2960
2961         * gtk/testgtk.c (create_clist):
2962         Don't leak custom style.
2963
2964 2001-01-23  Alexander Larsson  <alexl@redhat.com>
2965
2966         * gtk/gtkcolorsel.c (grab_color_at_mouse):
2967         Don't leak image. Simplify using gdk_colormap_query_color().
2968         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
2969
2970         * linux-fb/gdkcolor-fb.c:
2971         Implemented gdk_colormap_query_color.
2972
2973 2001-01-23  Alexander Larsson  <alexl@redhat.com>
2974
2975         * linux-fb/gdkcursor-fb.c:
2976         Don't leak built-in cursors.
2977
2978         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
2979         Don't leak tmp_points.
2980
2981         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
2982         Don't modify desc. Don't leak font if the PangoFont
2983         isn't found.
2984         
2985         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
2986         Free dash_list.
2987
2988         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
2989         Don't leak string.
2990         
2991 2001-01-20  Havoc Pennington  <hp@pobox.com>
2992
2993         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
2994         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
2995         me, matches Pango
2996
2997 2001-01-22  Havoc Pennington  <hp@redhat.com>
2998
2999         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
3000
3001         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
3002
3003         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
3004         Remove, move back to gdk-pixbuf
3005
3006         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
3007         to all the word functions
3008
3009         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
3010         before doing anything on NULL layout or if we don't have the focus
3011
3012         * gtk/testtext.c (fill_example_buffer): "justification"
3013
3014         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
3015         to be called "justification" not "justify"
3016
3017         * demos/gtk-demo/textview.c (create_tags): "justification"
3018         
3019         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
3020
3021 2001-01-22  Alexander Larsson  <alexl@redhat.com>
3022
3023         * gdk/gdkwindow.c (gdk_window_invalidate_region):
3024         Don't leak visible_region. Use visible_region instead of region.
3025         
3026         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
3027         Don't do extra gdk_drawable_ref(). This is not X.
3028         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
3029         gdk_fb_focused_window is ref:ed.
3030         (gdk_fb_window_send_crossing_events): Watch out for destroyed
3031         windows.
3032
3033 2001-01-22  Alexander Larsson  <alexl@redhat.com>
3034
3035         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
3036         Don't leak the PangoFontDescriptor.
3037
3038 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
3039
3040         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
3041         when not realized.
3042         (gtk_tree_view_scroll_to_cell): Make work when not realized.
3043         (gtk_tree_view_realize): add scroll_to support
3044         (gtk_tree_view_finalize): add a finalize method.  Populate.
3045         (gtk_tree_view_insert_column): ref and sink the column.
3046         (gtk_tree_view_append_column): ref and sink the column.
3047         (gtk_tree_view_queue_draw_node): New function to handle redrawing
3048         individual nodes.  Should make the code much more efficient, if
3049         actually used.
3050
3051 2001-01-19  Havoc Pennington  <hp@redhat.com>
3052
3053         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
3054         byte_offset variable was being used to mean both "offset into
3055         layout" and "offset into buffer line" which was no longer true
3056         with addition of preedit string; fix
3057
3058 2001-01-19  Havoc Pennington  <hp@redhat.com>
3059
3060         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
3061
3062         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
3063         function
3064
3065         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
3066         implement
3067
3068         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
3069         scroll_to_cell, matches TextView scroll functions better
3070         (gtk_tree_view_tree_to_widget_coords): new function
3071         (gtk_tree_view_widget_to_tree_coords): new function
3072         (gtk_tree_view_get_visible_rect): new function
3073         (gtk_tree_view_get_path_at_pos): accept negative coordinates
3074         (gtk_tree_view_draw_node_focus_rect): new function moved from
3075         draw_focus, also, use width of bin_window as width of the focus
3076         rect
3077         (gtk_tree_view_expand_row): fix bug where it didn't recognize
3078         already-expanded rows
3079         (gtk_tree_view_get_cell_rect): new function
3080         (gtk_tree_view_get_path_at_pos): return the click position
3081         relative to the passed-in cell
3082         (gtk_tree_view_set_expander_column): new function
3083
3084         * configure.in: remove gtk-config-2.0 chmod
3085
3086         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
3087         and properly handle drags with targets we don't understand
3088         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
3089         scrolling anyway
3090         (gtk_text_view_drag_drop): stop scrolling here though, and set the
3091         mark invisible
3092
3093         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
3094         function
3095         (gtk_drag_dest_get_target_list): new function
3096         (gtk_drag_dest_set_target_list): new function
3097         
3098         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
3099
3100         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
3101         related to drag-and-drop
3102
3103 2001-01-19  Alexander Larsson  <alexl@redhat.com>
3104
3105         * gdk/linux-fb/gdkprivate-fb.h:
3106         Define EMULATE_GDKFONT.
3107         Add extra pango_font stuff to GfkFontPrivate.
3108         
3109         * gdk/linux-fb/gdkdrawable-fb2.c:
3110         * gdk/linux-fb/gdkfont-fb.c:
3111         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
3112         emulation using PangoFont.
3113
3114 2001-01-17  Havoc Pennington  <hp@pobox.com>
3115
3116         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
3117         all the non-deprecated set_foo functions. Added missing object
3118         properties, and added g_object_notify() to setters. 
3119         Wrote docs.
3120         
3121 2001-01-18  Tor Lillqvist  <tml@iki.fi>
3122
3123         * gtk/gtkmain.c
3124         * gtk/gtkrc.c: (Win32) Use the new
3125         g_win32_get_package_installation_(sub)directory() functions.
3126
3127         * config.h.win32.in: New file.
3128         
3129         * config.h.win32: Removed.
3130
3131         * configure.in: Output config.h.win32.
3132
3133         * Makefile.am: Add it to EXTRA_DIST.
3134
3135         * gtk/gtk.def: Update.
3136
3137 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
3138
3139         * gtk/gtklabel.c (gtk_label_size_request): Set the
3140         attributes onto the PangoLayout even if they are newly
3141         created from label->pattern.
3142
3143 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
3144
3145         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
3146
3147         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
3148         structures in functions. Fixes bug where gtk_dataset_*
3149         was accidentally still being used in one place, causing
3150         every dest side event to be treated independently.
3151
3152         * gtk/gtkdnd.c: Remove last vestages of handling
3153         ::draw (fixes warning)
3154         
3155         * gtk/gtkentry.[ch]: Add drag and drop support.
3156
3157         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
3158         new function gtk_check_drag_threshhold() for checking
3159         to check if (dx,dy) has exceeded the threshhold for starting
3160         a drag and use it everywhere.
3161
3162 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
3163
3164         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
3165         add -I{includedir}/gtk-2.0.
3166
3167         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
3168         gdk/gdk-pixbuf.h: Doc fixups.
3169         
3170         * gtk/gtkobject.h: Remove trailing , from enum
3171
3172 2001-01-17 Alexander Larsson <alexl@redhat.com> 
3173
3174         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
3175         Doh! Mixed up x and y.
3176
3177         * gdk/linux-fb/gdkglobals-fb.c:
3178         Removed gdk_fb_pointer_grab_window_events,
3179         added _gdk_fb_pointer_grab_owner_events and
3180         _gdk_fb_keyboard_grab_owner_events.
3181
3182         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
3183         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
3184         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
3185         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
3186         Send crossing events after ungrab finished.
3187         (gdk_keyboard_grab): Set ..._owner_events
3188         (type_masks): Move out of function.
3189         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
3190         gdk_fb_keyboard_event_window): New functions, return the
3191         window an event should be targeted at. Handles grabs and
3192         event propagation. Can return NULL.
3193         (gdk_event_make): Remove event_mask checking. Now always
3194         returns an event.
3195                 
3196         * gdk/linux-fb/gdkkeyboard-fb.c:
3197         * gdk/linux-fb/gdkproperty-fb.c:
3198         * gdk/linux-fb/gdkselection-fb.c:
3199         Use new event_window/gdk_event_make() behaviour.
3200         
3201         * gdk/linux-fb/gdkmouse-fb.c:
3202         Use new event_window/gdk_event_make() behaviour.
3203         Only send motion events if in the same window.
3204         If grabbed, use cursor from window if sibling of grabbed
3205         window, and cursor from grabbed window otherwise.
3206
3207         * gdk/linux-fb/gdkprivate-fb.h:
3208         Update gdk_fb_window_send_crossing_events, gdk_event_make
3209         and grab varaible declarations. Add gdk_fb_*_event_window().
3210
3211         * gdk/linux-fb/gdkwindow-fb.c:
3212         Use new event_window/gdk_event_make() behaviour.
3213         Keep correct track of focus window.
3214         (gdk_window_set_events): Set all specific button motion masks
3215         if GDK_BUTTON_MOTION_MASK set.
3216
3217         * gtk/gtkdnd.c (gtk_drag_update):
3218         Free info->last_event if gdk_drag_motion returned FALSE.
3219
3220 2001-01-16  Tor Lillqvist  <tml@iki.fi>
3221
3222         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
3223         Eliminate redraws when input-only windows are shown or
3224         hidden. Thanks to jpe@archaeopteryx.com.
3225
3226 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
3227
3228         * docs/faq/gtk-faq.sgml: FAQ update:
3229           - Update to bugzilla
3230           - Add GTK+ and security/SUID/SGID
3231           - Add DnD question
3232
3233 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
3234
3235         * gdk/linux-fb/gdkdnd-fb.c:
3236         Some cleanups.
3237         
3238 2001-01-15  Havoc Pennington  <hp@pobox.com>
3239
3240         * tests/testtreeview.c: add test stuff for CellRendererToggle
3241
3242         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
3243         accessor
3244
3245         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
3246         only toggle on button press (would do release like GtkButton, but
3247         we'd need implicit grab code for treeview cells)
3248
3249 2001-01-16  Tor Lillqvist  <tml@iki.fi>
3250
3251         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
3252
3253         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
3254         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
3255
3256         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
3257         to g_{locale,filename}_{to,from}_utf8 to match current API.
3258
3259         * gtk/makefile.msc.in (gtk_OBJECTS)
3260         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
3261
3262         * gtk/gtk.def: Update.
3263
3264 2001-01-15  Tor Lillqvist  <tml@iki.fi>
3265
3266         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
3267         implementaion that more closely mimics the events that an X server
3268         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
3269         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
3270         with nested preview widgets, for instance, more responsive when
3271         you move the mouse quickly into them.
3272         (find_window_for_pointer_event): Make it actually compile.
3273         (gdk_event_translate): Set send_event to the value of
3274         InSendMessage (). This doesn't really mean the same as X11's
3275         send_event flag, but is close enough, says jpe@archaeopteryx.com
3276
3277 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3278
3279         * gdk/linux-fb/gdkdnd-fb.c:
3280         Implemented drag and drop.
3281         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
3282         when it tries to free and then copy the same event (info->last_event).
3283         I am not sure about why this happens, but will continue looking.
3284
3285 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3286
3287         * gdk/linux-fb/gdkwindow-fb.c:
3288         Use gdk_window_invalidate_rect instead of
3289         gdk_window_invalidate_rect_clear to minimise flashing.
3290         When hiding windows you need to clear the root window though.
3291
3292 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3293
3294         * gdk/linux-fb/gdkdrawable-fb2.c:
3295         For optization, add an full_shapes argument to gdk_fb_clip_region.
3296         If this is false, only the cliprects of the shapes are used.
3297
3298         * gdk/linux-fb/gdkprivate-fb.h:
3299         Export gdk_fb_window_peek_shape.
3300         Add full_shapes to gdk_fb_clip_region.
3301
3302         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
3303         When moving a window, don't clear everything under the it, just the
3304         root window. Makes stuff faster and flash less.
3305         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
3306         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
3307         offset of the shape.
3308         
3309
3310 2001-01-12  Havoc Pennington  <hp@redhat.com>
3311
3312         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
3313         current invalid region, fixes redraw bug while scrolling the 
3314         text widget
3315
3316         * gtk/gtktextview.c, gtk/gtktextview.h:
3317         Rearrange the scrolling/validation/etc. code in a major way, 
3318         so it seems to make sense to me. Probably isn't genuinely that
3319         much better, but...
3320
3321         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
3322         notifies
3323
3324         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
3325
3326 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
3327
3328         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
3329         Hide mouse pointer while rotation. Show it afterwards.
3330
3331 2001-01-12  Alexander Larsson  <alexl@redhat.com>
3332
3333         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
3334         windows in consideration when generating clip region.
3335
3336         * gdk/linux-fb/gdkfb.h:
3337         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
3338
3339         * gdk/linux-fb/gdkprivate-fb.h:
3340         Add shape to GdkWindowFBDatat.
3341         exported gdk_fb_window_get_abs_shape().
3342         removed gdk_fb_draw_lines declaration.
3343
3344         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
3345         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
3346         send focus changes when there is a grabbed window.
3347         (gdk_window_get_pointer): Handle shaped windows.
3348         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
3349         (gdk_fb_window_peek_shape): Returns the shape for a window,
3350         handles GDK_FB_USE_CHILD_SHAPE.
3351         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
3352         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
3353         (gdk_window_shape_combine_mask): Implement.
3354
3355         * gtk/gtkwindow-decorate.c:
3356         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
3357         setting the shape of a window makes the window transparent.
3358
3359 2001-01-11  Havoc Pennington  <hp@redhat.com>
3360
3361         * gtk/gtktreemodelsimple.h: Oops, broke some macros
3362
3363 2001-01-10  Havoc Pennington  <hp@redhat.com>
3364
3365         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
3366         add this function, bug 40251
3367
3368         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
3369         of type macro   
3370
3371 2001-01-11  Alexander Larsson  <alexl@redhat.com>
3372
3373         * acconfig.h:
3374         Added ENABLE_SHADOW_FB
3375
3376         * configure.in:
3377         Added --disable-shadowfb
3378
3379         * gdk/linux-fb/gdkcursor-fb.c:
3380         Update shadowfb when updating cursor
3381
3382         * gdk/linux-fb/gdkdrawable-fb2.c:
3383         Added wrappers for shadowfb that calls  the normal drawable
3384         methods, but calls gdk_shadow_fb_update(bounding box) when
3385         GdkWindows are drawed to.
3386         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
3387         which also returns the bounding box.
3388
3389         * gdk/linux-fb/gdkfb.h:
3390         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
3391
3392         * gdk/linux-fb/gdkgeometry-fb.c:
3393         Update shadowfb when scrolling window.
3394
3395         * gdk/linux-fb/gdkglobals-fb.c:
3396         Add _gdk_fb_screen_angle.
3397         
3398         * gdk/linux-fb/gdkkeyboard-fb.c:
3399         Test code for screen rotation. Shift-F2 in the xlate driver
3400         rotates the screen.
3401
3402         * gdk/linux-fb/gdkmain-fb.c:
3403         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
3404
3405         * gdk/linux-fb/gdkmouse-fb.c:
3406         Use fb_width/height instead of modeinfo.xres/yres.
3407
3408         * gdk/linux-fb/gdkprivate-fb.h:
3409         Added fb_men, fb_width, fb_height & fb_stride. When using
3410         shadow fb these can differ from the framebuffer stuff.
3411         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
3412         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
3413         _gdk_fb_screen_angle. Removed CM, RP.
3414
3415         * gdk/linux-fb/gdkrender-fb.c:
3416         Added code for shadowfb handling and screen rotation using
3417         shadowfb.
3418
3419         * gdk/linux-fb/gdkwindow-fb.c:
3420         Use fb_mem, fb_stride, fb_width, fb_height.
3421         Added recompute_rowstride to reset the rowstride of all windows.
3422         Added gdk_fb_recompute_all() which recomputes rootwindow size,
3423         window abs positions and window rowstrides. Usefull when the
3424         rotation has changed.
3425
3426 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
3427
3428         * docs/faq/gtk-faq.sgml: update to make web site updating easier
3429
3430 2001-01-10  Havoc Pennington  <hp@redhat.com>
3431
3432         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
3433         where sibling == iter
3434         (gtk_tree_store_insert_after): handle sibling == iter
3435         (gtk_tree_store_prepend): remove stamp checks
3436         (gtk_tree_store_insert_before): ditto
3437         (gtk_tree_store_append): ditto
3438         (gtk_tree_store_get_path): ditto
3439         (gtk_tree_store_get_value): ditto
3440         (gtk_tree_store_iter_has_child): ditto
3441         (gtk_tree_store_iter_n_children): ditto
3442         (gtk_tree_store_iter_nth_child): ditto
3443         (gtk_tree_store_insert_after): ditto
3444         (gtk_tree_store_is_ancestor): ditto
3445         (gtk_tree_store_iter_depth): ditto
3446         (gtk_tree_store_insert_before): assert that sibling's parent is
3447         the same as the passed-in parent
3448         (gtk_tree_store_insert_after): assert that sibling's parent is
3449         the same as the passed-in parent
3450
3451         
3452         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
3453         function to get the first iterator in a model
3454         
3455         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
3456         conventionally the "root" in this sense is just NULL afaict.
3457
3458         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
3459         where sibling == iter
3460         (gtk_list_store_insert_after): handle case where sibling == iter
3461
3462         * tests/testtreeview.c (run_automated_tests): fairly lame basic
3463         automated tests for ListStore, TreeStore
3464
3465         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
3466         (gtk_list_store_insert): update tail pointer, and fix it to work
3467         (gtk_list_store_insert_before): update tail pointer, and fix it to work
3468         (gtk_list_store_append): use tail to be faster
3469         (gtk_list_store_prepend): fix it, update tail pointer
3470         (gtk_list_store_insert_after): fix it, update tail pointer
3471
3472         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
3473         the list
3474
3475 2001-01-09  Havoc Pennington  <hp@redhat.com>
3476
3477         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
3478         is NULL due to a pending resize
3479
3480         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
3481         column width to values less than 1
3482
3483         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
3484         width to be between min/max width, and still set the width 
3485         even if autosize is turned on, so the tree view can use this 
3486         function in order to autosize.
3487         (gtk_tree_view_column_init): set initial width to 1 not 0
3488
3489         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
3490         setter function to modify column width, so we get notification
3491         (gtk_tree_view_insert_iter_height): ditto
3492         (gtk_tree_view_calc_size): ditto
3493         (gtk_tree_view_check_dirty): ditto
3494
3495         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
3496         properties to change all the interesting attributes of the tree
3497         view column.
3498         (gtk_tree_view_column_set_header_clickable): rename set_clickable
3499         (gtk_tree_view_column_get_clickable): add
3500         (gtk_tree_view_column_set_cell_renderer): don't unset the current
3501         attributes; assume a cell renderer with equivalent object
3502         properties has been swapped in. Do g_object_notify().
3503         (gtk_tree_view_column_set_visible): g_object_notify
3504         (gtk_tree_view_column_get_sizing): rename from get_col_type
3505         (gtk_tree_view_column_set_sizing): g_object_notify
3506         (gtk_tree_view_column_set_width): add g_object_notify
3507         (gtk_tree_view_column_set_min_width): ditto
3508         (gtk_tree_view_column_set_max_width): ditto
3509         (gtk_tree_view_column_set_title): ditto
3510         (gtk_tree_view_column_set_clickable): ditto
3511         (gtk_tree_view_column_set_widget): ditto
3512         (gtk_tree_view_column_set_justification): ditto
3513
3514 2001-01-09  Havoc Pennington  <hp@redhat.com>
3515
3516         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
3517         there are no rows in the model
3518
3519         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
3520         NULL, then return the start of the list
3521
3522         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
3523         if we can't get any rows from an empty model 
3524
3525         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
3526         extraneous * after function pointer typedef usage
3527
3528         * Makefile.am: don't specify full path to cp and rm
3529
3530         * gtk/gtkcellrenderertextpixbuf.c
3531         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
3532         NULL before dereferencing, fixes a segfault that happened from
3533         time to time
3534
3535         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
3536         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
3537         and reindent the function
3538         (gtk_cell_renderer_pixbuf_get_size): indentation
3539
3540         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
3541         we quit it
3542         (gtk_dialog_add_buttons_valist): add g_return_if_fail
3543         (gtk_dialog_set_default_response): New function, to set default
3544         button
3545         (gtk_dialog_set_response_sensitive): New function, to set 
3546         sensitivity of buttons
3547
3548         * gtk/gtkcellrendererpixbuf.c
3549         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
3550         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
3551
3552         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
3553         handle any G_TYPE_OBJECT subclass, not just the base class, and 
3554         also boxed types.
3555         (_gtk_tree_data_list_value_to_node): ditto
3556
3557         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
3558         --gtk-debug=tree
3559
3560         * gtk/gtkmain.c: add GTK_DEBUG_TREE
3561
3562         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
3563
3564 2001-01-09  Tor Lillqvist  <tml@iki.fi>
3565
3566         * gdk/win32/gdkevents-win32.c: Implement better mouse
3567         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
3568         (find_window_for_pointer_event): New function.
3569         (gdk_event_translate): Use it when handling mouse events.
3570
3571 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
3572
3573         * configure.in:
3574         Added --with-included-loaders option
3575
3576         * gdk-pixbuf/Makefile.am:
3577         * gdk-pixbuf/gdk-pixbuf-io.c:
3578         Add support for including selected gdk-pixbuf loaders only.
3579
3580         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
3581         gtk_window_set_has_frame):
3582         Added inline documentation.
3583
3584         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
3585         * docs/reference/gdk/tmpl/windows.sgml:
3586         Added inline documentation.
3587
3588 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
3589
3590         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
3591         realizing buttons that have already been realized.
3592
3593 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
3594
3595         * tests/testtreeview.c (main): Show menu items before adding to
3596         option menu.
3597
3598         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
3599         around if we kill them.
3600
3601         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
3602         Return if we pass in a NULL model.
3603
3604 2001-01-08  Havoc Pennington  <hp@redhat.com>
3605
3606         * tests/testtreeview.c: hack on this some
3607
3608         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
3609         gtk_tree_store_set_valist, v is for arrays, valist for varargs
3610         list
3611         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
3612
3613         * gtk/gtkliststore.h: Add varargs set() and get() convenience
3614         functions
3615
3616 2001-01-08  Alexander Larsson  <alexl@redhat.com>
3617
3618         * gtk/gtkwindow-decorate.[hc]:
3619         * gtk/Makefile.am:
3620         New files. Contains an implementation of a minimal WM for
3621         linux-fb.
3622
3623         * gtk/gtkwindow.h:
3624         Add the possibility for GtkWindows to specify a frame. This
3625         is used for the window decoration code, but could concievably
3626         be used for X programs too (xmms style windows).
3627         GtkWindow->frame is the toplevel window if the window is framed.
3628         The signal frame_event gets all events that are targeted to
3629         GtkWindow->frame.
3630         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
3631         
3632         * gtk/gtkwindow.c:
3633         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
3634         Call out to gtkwindow-decorate.c for WM support in linx-fb.
3635
3636 2001-01-08  Alexander Larsson  <alexl@redhat.com>
3637
3638         * docs/README.linux-fb:
3639         Correct filename ~/.pangoft2_aliases
3640
3641         * gdk/gdkwindow.h:
3642         Added new function gdk_window_get_decorations.
3643
3644         * gdk/linux-fb/gdkfb.h:
3645         Removed _gdk_window_get_decorations declaration.
3646         Renamed _gdk_window_set_child_handler to
3647         gdk_fb_window_set_child_handler.
3648
3649         * gdk/linux-fb/gdkwindow-fb.c:
3650         Renamed _gdk_window_set_child_handler to
3651         gdk_fb_window_set_child_handler.
3652
3653         * gdk/x11/gdkwindow-x11.c:
3654         New function gdk_window_get_mwm_hints().
3655         Implemented gdk_window_get_decorations.
3656
3657         * docs/reference/gdk/tmpl/windows.sgml:
3658         * docs/reference/gdk/gdk-sections.txt:
3659         Added gdk_window_get_decorations docs.
3660         
3661 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
3662
3663         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
3664         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
3665         gdk_fb_window_send_crossing_events):
3666         Possibly send focus events when the mouse moves from one
3667         window to another.
3668
3669 2001-01-07  Tor Lillqvist  <tml@iki.fi>
3670
3671         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
3672         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
3673         to match current API.
3674
3675         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
3676         environment variable is set, don't call g_error when on a
3677         palettized (PseudoColor) display. Some people want to use GTK+ 
3678         in 256-colour mode even though works only partially.
3679
3680         * gdk/gdk.def
3681         * gtk/gtk.def
3682         * gtk/makefile.mingw.in: Update.
3683
3684 2001-01-05  Havoc Pennington  <hp@redhat.com>
3685
3686         * tests/testtreeview.c: hack on this a bit
3687
3688         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
3689         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
3690
3691         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
3692         was spelled incorrectly
3693         (GTK_IS_TREE_MODEL_SIMPLE): ditto
3694
3695         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
3696         from gtk_tree_view_set_headers_active   
3697
3698         * gtk/gtktexttag.c:
3699         (gtk_text_tag_get_property): handle PROP_DIRECTION
3700         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
3701         properties, bug 40235
3702
3703         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
3704         forward_to_line_end
3705
3706 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
3707
3708         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
3709         modules/input/gtkimcontextxim.c: Adapt to new prototypes
3710         for unicode,locale,filename conversion functions.
3711
3712 2001-01-05  Havoc Pennington  <hp@redhat.com>
3713
3714         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
3715         broken if called on the first position in the buffer.
3716
3717         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
3718         forward_to_delimiters to be called only if we aren't already at
3719         the delimiters.
3720
3721 2001-01-05  Havoc Pennington  <hp@redhat.com>
3722
3723         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
3724
3725 2001-01-05  Alexander Larsson  <alexl@redhat.com>
3726
3727         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
3728         colormap in here. Sync from X port.
3729         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
3730         Sync from X port.
3731         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
3732         This happens now and then, and i don't think it is a bug.
3733         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
3734         != endpoint.
3735         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
3736         GDK_LINE_SOLID.
3737
3738         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
3739         some of the fields filled in at least.
3740
3741         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
3742         miLineArcD is no more, remove it from the function definition.
3743
3744 2001-01-04  Havoc Pennington  <hp@redhat.com>
3745
3746         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
3747         this
3748
3749         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
3750         user_data instead of tree_node
3751
3752         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
3753         TREE_VIEW_COLUMN_SIZE
3754
3755         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
3756         "size" field to "width" finishes bug 40061
3757
3758         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
3759         for bitfields, bug 40268
3760
3761 2001-01-04  Havoc Pennington  <hp@redhat.com>
3762
3763         Rename some stuff:
3764         
3765         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
3766
3767         s/GtkModelSimple/GtkTreeModelSimple/g;
3768         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
3769         s/gtk_model_simple/gtk_tree_model_simple/g;
3770         s/gtkmodelsimple/gtktreemodelsimple/g;
3771
3772         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
3773
3774         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
3775         s/column_set_col_type/column_set_sizing/g;
3776
3777         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
3778         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
3779
3780         s/GtkCellRendererType/GtkCellRendererState/g;
3781         
3782         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
3783         (gtk_cell_renderer_toggle_class_init): change "state" property to
3784         "active", to match GtkToggleButton
3785         (gtk_cell_renderer_toggle_get_active): new function, bug
3786         40269
3787         (gtk_cell_renderer_toggle_set_active): new function
3788         (gtk_cell_renderer_toggle_set_property): route changes to toggle
3789         state through gtk_cell_renderer_set_active
3790
3791 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
3792
3793         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
3794         temporarily until they work again.  Brought up to date with
3795         changes in the model.
3796         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
3797         model.
3798
3799 2001-01-04  Havoc Pennington  <hp@redhat.com>
3800
3801         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
3802         equal to the line length, then position iterator before paragraph 
3803         separators. Fixes crash reported by Mikael Hermansson when
3804         pressing left arrow from the start of a line.   
3805
3806         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
3807         about byte indexes off the end
3808         (iter_set_from_char_offset): add g_error about char offsets
3809         off the end
3810
3811 2001-01-03  Havoc Pennington  <hp@redhat.com>
3812
3813         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
3814
3815         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
3816         of private functions; remove inclusion of private headers.
3817
3818         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
3819         function, so we don't need private functions in gtktextdisplay.c
3820
3821         * gtk/gtktextiterprivate.h: underscore-ification
3822
3823         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
3824         to instead say "only useful to implement widgets"
3825
3826         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
3827         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
3828         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
3829
3830         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
3831         This function was completely broken
3832
3833         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
3834
3835         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
3836
3837         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
3838
3839         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
3840
3841         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
3842
3843         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
3844
3845         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
3846         gtk_paint_layout
3847
3848         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
3849         gtk_paint_layout
3850
3851         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
3852         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
3853         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
3854         which were not implemented.     
3855
3856         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
3857         insert_pixbuf signal. Rename delete_text to delete_range since it
3858         also deletes pixbufs and child anchors. This almost closes bug
3859         40245 (still need to deal with child anchors)
3860
3861         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
3862         insert_pixbuf, change signal names as appropriate, change types of
3863         signals taking marks/tags to have the specific type, not just
3864         G_TYPE_OBJECT
3865         
3866         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
3867         closes bug 40051
3868
3869         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
3870         unnecessary remove_contents() call
3871         (gtk_option_menu_class_init): add a "changed" signal, closes
3872         bug 40039
3873         (gtk_option_menu_update_contents): emit "changed" if the 
3874         active menu item changes
3875
3876         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
3877         cast to GtkObject, reported by Jonas Borgstrom
3878         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
3879         we can't do stuff with side effects in finalize. Instead, spew a
3880         warning if the loader isn't closed.
3881
3882         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
3883         colormap in here, non-X ports probably need to sync to this change
3884
3885         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
3886         assertion that colormap != NULL, you can set the colormap to NULL
3887         if you like.
3888         
3889         * Makefile.am: remove gtk-config-2.0
3890
3891         * configure.in: Use pkg-config to locate GLib. Remove
3892         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
3893         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
3894         Use pkg-config to locate Pango. Output correct Pango libs to
3895         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
3896
3897         * Makefile.am (pkgconfig_DATA): install only target-specific pc
3898         files
3899         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
3900         X11 pc files
3901
3902         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
3903         unref from here
3904
3905 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
3906
3907         * configure.in:
3908         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
3909
3910 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
3911
3912         * gtk/gtktextlayout.c
3913         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
3914         variable when moving back onto a single line.
3915
3916 2001-01-01  Havoc Pennington  <hp@redhat.com>
3917
3918         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
3919
3920         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
3921
3922         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
3923         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
3924
3925 2001-01-01  Havoc Pennington  <hp@redhat.com>
3926
3927         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
3928
3929         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
3930         GtkTextAttributes
3931
3932         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
3933         #40246
3934         (gtk_text_attributes_copy_values): rename from 
3935         gtk_text_attributes_copy
3936         (gtk_text_attributes_copy): a more standard GTK copy function, 
3937         which returns a new object
3938
3939 2001-01-01  Havoc Pennington  <hp@redhat.com>
3940
3941         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
3942         
3943         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
3944         don't fill in tree_view->priv->selection, kind of an unexpected
3945         side effect
3946
3947         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
3948         gtkintl.h
3949         
3950         * gtk/gtkcellrenderer.c: Remove definition of _ and include
3951         gtkintl.h
3952         (gtk_cell_renderer_get_property): remove calls to g_value_init
3953
3954         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
3955         gtkintl.h
3956
3957         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
3958         and include gtkintl.h
3959         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
3960         property names
3961
3962         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
3963         GtkTreeSelection
3964         (_gtk_tree_selection_new_from_with_view): rename, return
3965         GtkTreeSelection
3966         (_gtk_tree_selection_set_tree_view): rename with uscore
3967         (gtk_tree_selection_get_selected): fill in the "model" out param
3968         first, so it gets filled in even if we return at the top of the 
3969         function
3970         (gtk_tree_selection_real_select_all): add a comment and an else{}
3971         to clarify this a bit
3972         (gtk_tree_selection_real_unselect_all): add the same else{}
3973
3974         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
3975         set_tree_view to have underscore prefixes, move them to the
3976         private header, fix return type of new_with_tree_view
3977         (struct _GtkTreeSelection): mark struct
3978         fields private  
3979
3980         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
3981         GtkTreeModelFlags, not a guint
3982         (gtk_tree_path_prev): return gboolean not gint
3983         (gtk_tree_path_up): return gboolean not gint
3984
3985         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
3986         return GtkTreeModelFlags, not a guint
3987
3988         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
3989         that child model is non-null before unrefing it
3990         (g_value_int_compare_func): make this a qsort compare func, not 
3991         a boolean predicate
3992
3993         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
3994         (add -umn to the end), and mark it unimplemented
3995         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
3996         I don't see what it's for - doesn't the model always sort itself?
3997         (gtk_tree_model_sort_set_compare): this had the wrong signature
3998
3999         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
4000         Fix the docs to say that it destructively replaces existing
4001         attributes (previously said that it added attributes).
4002         (gtk_tree_view_column_set_visible): canonicalize bool before
4003         equality testing. Also, check for realization before
4004         hiding/showing the tree_column->window; if this window could exist
4005         before realization, then it's busted and needs fixing, we can't 
4006         create GDK resources pre-realization. Also, remove
4007         superfluous queue_resize(), since set_size() does that for us.
4008         (gtk_tree_view_column_set_col_type): check realization before 
4009         using tree_column->window
4010
4011         * gtk/gtktreedatalist.c: fix filename in copyright notice
4012
4013 2000-12-31  Havoc Pennington  <hp@pobox.com>
4014
4015         * gtk/gtktextview.c: Rearrange all the
4016         scroll-while-dragging-or-selecting code to be different, not
4017         necessarily better. ;-)
4018         (gtk_text_view_scroll_to_mark): Change this
4019         function to take within_margin as a fraction instead of a pixel
4020         value, and to take alignment arguments (indicating where to align 
4021         the mark inside the visible area)
4022         
4023         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
4024         to GtkObject
4025
4026         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
4027         behavior so that offsets past the end of the line are not 
4028         allowed, and an offset equal to the line length moves the iterator
4029         to the next line
4030         (gtk_text_iter_set_line_index): make parallel change
4031         (gtk_text_iter_get_bytes_in_line): add this function
4032         
4033         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
4034         of byte indexes off the end of the line; byte index at the end of
4035         the line now returns FALSE and doesn't fill in the requested
4036         values, byte index past the end of the line is an error.  Also,
4037         don't allow -1 offset anymore, since its meaning is unclear.
4038
4039         This change exposes some bug in visual cursor motion, where we
4040         end up with a huge invalid byte index; needs fixing. Symptom of 
4041         bug is a crash when you hit up arrow.
4042         
4043         (_gtk_text_line_char_locate): match the change to byte_locate
4044
4045         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
4046         from start of line properly. fixes bug reported by Mikael
4047         Hermansson where backspace would delete all text before the
4048         cursor.
4049
4050 2000-12-30  Tor Lillqvist  <tml@iki.fi>
4051
4052         * gdk/win32/gdkwindow-win32.c
4053         (gdk_window_impl_win32_get_visible_region): New function, as in
4054         the X11 backend.
4055         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
4056         instead of duplicating the same code here.
4057
4058         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
4059         GDK_COLORMAP macro.
4060
4061         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
4062         destroy function.
4063         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
4064         access that.
4065
4066         * gtk/gtk.def: Update.
4067
4068         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
4069
4070 2000-12-30  Havoc Pennington  <hp@pobox.com>
4071
4072         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
4073         colormap on input only windows, to avoid special cases all over
4074         the code for these windows.
4075
4076 2000-12-26  Tor Lillqvist  <tml@iki.fi>
4077
4078         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
4079         we are on a palettized display ("PseudoColor" in X11), as the code
4080         for that doesn't work anyway, and never has.
4081
4082 2000-12-22  Alexander Larsson  <alexl@redhat.com>
4083
4084         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
4085         Don't use isprint() for chars > 255.
4086
4087 2000-12-21  Havoc Pennington  <hp@redhat.com>
4088
4089         * tests/testtreeview.c: more work
4090
4091 2000-12-21  Alexander Larsson  <alexl@redhat.com>
4092
4093         * docs/README.linux-fb:
4094         Update the docs to the new pangoft2 way.
4095
4096 2000-12-21  Alexander Larsson  <alexl@redhat.com>
4097
4098         * configure.in:
4099         For linux-fb get the pangoft2 cflags and libs. This needs a recent
4100         pango version.
4101         Remove modules/linux-fb/Makefile.
4102
4103         * gdk/linux-fb/gdkdrawable-fb2.c:
4104         Render glyphs using freetype.
4105
4106         * gdk/linux-fb/gdkfb.h:
4107         Add new fb-specific functions needed for managing windows.
4108
4109         * gdk/linux-fb/gdkmain-fb.c:
4110         Remove gdk_font_init/fini() calls.
4111
4112         * gdk/linux-fb/gdkpango-fb.c:
4113         Remove old implementation. Use pangoft2 instead.
4114
4115         * gdk/linux-fb/gdkprivate-fb.h:
4116         Remove PangoFBFont and related stuff.
4117
4118         * gdk/linux-fb/gdkwindow-fb.c:
4119         Implement drawable->get_visible_region.
4120         Implement support for _gdk_window_set_child_handler () and
4121         _gdk_window_get_decorations().
4122
4123         * modules/Makefile.am:
4124         Remove linux-fb subdir.
4125
4126         * modules/linux-fb/*:
4127         Removed all.
4128         
4129 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
4130
4131         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
4132         calls, as they are no longer needed.
4133
4134         * gtk/gtktreemodelsort.c: Fix up the comparison code.
4135         
4136         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
4137         figure out how to emit a signal on an interface.
4138
4139 2000-12-20  Havoc Pennington  <hp@redhat.com>
4140
4141         * tests: new directory to contain tests, gtk/test* should move
4142         here sometime (with appropriate on-cvs-server hackery)
4143
4144         * tests/testtreeview.c, tests/Makefile.am: a test
4145         
4146         * configure.in (AC_OUTPUT): add tests/Makefile
4147
4148         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
4149         and "invisible_set" which were missing
4150
4151         * gtk/gtkrbtree.h: some cheesy indentation fix
4152         
4153 2000-12-20  Alexander Larsson  <alexl@redhat.com>
4154
4155         * gtk/gtkinvisible.c (gtk_invisible_realize):
4156         Attach the style to the window so that the style it is not
4157         leaked when unrealizing the window.
4158
4159 2000-12-18  Havoc Pennington  <hp@redhat.com>
4160
4161         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
4162         begin/end user action where appropriate
4163         (gtk_text_view_commit_handler): add begin/end user action
4164
4165         * gtk/gtktextbuffer.c: add begin/end user action signals, and
4166         bracket interactive operations with begin/end user action pair.
4167         
4168         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
4169         "interactive" arg from insert_text and delete_text signals.
4170         Add begin_user_action, end_user_action signals
4171         (gtk_text_buffer_begin_user_action): 
4172         (gtk_text_buffer_end_user_action): New functions to delimit 
4173         a user-visible action
4174
4175         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
4176         signals.
4177         
4178 2000-12-18  Havoc Pennington  <hp@redhat.com>
4179
4180         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
4181         was pretty non-working.
4182
4183         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
4184         by passing the length to g_utf8_validate().
4185
4186 2000-12-16  Havoc Pennington  <hp@pobox.com>
4187
4188         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
4189         Port to GObject, can go back in gdk-pixbuf after setting up 
4190         a gdk-pixbuf-marshal.h header over there.
4191
4192         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
4193         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
4194         args
4195         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
4196         set
4197         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
4198         here, do it when we create the buttons later
4199         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
4200         (gtk_tree_view_map): paranoia checks that column->button is shown 
4201         and unmapped
4202         (gtk_tree_view_size_request): only request visible children.
4203         Move header size calculation in here, for cleanliness, and 
4204         to maintain invariants for child widgets if we eventually 
4205         let users set different children inside the buttons
4206         (gtk_tree_view_map_buttons): factor out code to map buttons,
4207         since it was being called several times
4208         (gtk_tree_view_size_allocate_buttons): move_resize the drag
4209         windows instead of just moving them; their height may change 
4210         if we allow random widgets in there, or the theme changes.
4211         (gtk_tree_view_size_allocate): move button size allocation 
4212         above emitting the scroll signals, to ensure a sane state when we
4213         hit user code
4214         (gtk_tree_view_button_release): remove queue_resize after
4215         tree_view_set_size(), set_size() will handle any resize queuing
4216         that's needed
4217         (gtk_tree_view_focus_in): just queue a draw, don't fool with
4218         draw_focus goo
4219         (gtk_tree_view_focus): use gtk_get_current_event() and
4220         gdk_event_get_state()
4221         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
4222         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
4223         semicolon
4224         (gtk_tree_view_create_button): show the button here
4225         (gtk_tree_view_button_clicked): actually emit the clicked signal
4226         on the column
4227         (_gtk_tree_view_set_size): return right away if the size is
4228         unchanged, as a cheesy optimization
4229         (gtk_tree_view_setup_model): rename set_model_realized to 
4230         setup_model to match the flag that indicates whether we've 
4231         called it
4232         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
4233         exist, because set_scroll_adjustment does that and it shouldn't
4234         matter what order you call these in
4235         (gtk_tree_view_get_vadjustment): ditto
4236         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
4237         for paranoia
4238         (gtk_tree_view_set_headers_visible): call
4239         gtk_tree_view_map_buttons() instead of using cut-and-paste code
4240         (gtk_tree_view_append_column): clarify whether the return value
4241         is the count of columns before or after, and do the increment 
4242         separately from the return statement so you can tell from the code.
4243         (gtk_tree_view_remove_column): ditto
4244         (gtk_tree_view_insert_column): ditto
4245         (gtk_tree_view_get_column): remove g_return_if_fail for columns
4246         outside the existing range, the docs say that outside-range
4247         columns are allowed, so we handle them as documented. (Presumably
4248         this allows a nice loop with column != NULL as test.)
4249         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
4250         mean (left/right/center etc.).
4251         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
4252         (gtk_tree_view_expand_row): add docs
4253         (gtk_tree_view_collapse_row): add docs
4254
4255         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
4256         function to emit the clicked signal on a column
4257         
4258         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
4259         state of an event
4260         (gdk_event_get_time): don't treat GDK_SCROLL 
4261         as a button event, remove default case from switch so gcc 
4262         will whine if we don't explicitly handle all event types
4263
4264         * gtk/gtktreeselection.h: added some FIXME 
4265         
4266         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
4267         "columns" to "n_columns" and "column" to "columns" for clarity
4268
4269 2000-12-16  Havoc Pennington  <hp@pobox.com>
4270         
4271         * gtk/gtktextiter.c: General cleanup of the log attr iteration
4272         stuff. This should make e.g. the delete key work again in the
4273         text widget...
4274         (gtk_text_iter_forward_cursor_positions): handle negative count
4275         (gtk_text_iter_backward_cursor_positions): handle negative count
4276         (gtk_text_iter_forward_word_ends): handle negative count
4277         (gtk_text_iter_backward_word_starts): handle negative count
4278
4279         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
4280         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
4281         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
4282         GObject. No doubt will cause breakage.
4283
4284         * demos/gtk-demo/textview.c: remove hacks around
4285         non-GObject-ification of the text objects
4286
4287         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
4288         the text tag
4289         
4290 2000-12-14  Havoc Pennington  <hp@pobox.com>
4291
4292         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
4293         that we have Xrender
4294
4295 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
4296
4297         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
4298         Add two virtualized functions gdk_drawable_get_clip_region - to
4299         get the clip region when drawing.
4300         
4301         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
4302         use invalidate_region.
4303
4304         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
4305         region.
4306
4307         * acconfig.h configure.in: Check for Xft. For now, assume
4308         that if Xft is found, Pango was compiled with Xft support
4309         as well.
4310
4311         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
4312         gdk_colormap_query_color().
4313         
4314         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
4315         with Xft if appropriate.
4316
4317         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
4318         a pangoxft context if we have XFT and the environment
4319         variable GD_USE_XFT is set.
4320         
4321         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
4322         and also possibly an XftDraw structure.
4323
4324         * gtk/gtkfontsel.c: Handle the case where the font from the
4325         style doesn't match any of the fonts a bit better.
4326         
4327         * gtk/testgtk.c: Add tabs between directional segments for
4328         hebrew/arabic test. (Not really necessary, just a little
4329         prettier.)
4330
4331 2000-12-14  Havoc Pennington  <hp@redhat.com>
4332
4333         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
4334         reading a file
4335
4336 2000-12-14  Havoc Pennington  <hp@redhat.com>
4337
4338         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
4339         unused call to get_last_line()
4340
4341         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
4342         here until boxed is working (and maybe after that - we should
4343         really not gratuitously break old code)
4344
4345         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
4346         specific types for font_desc and tabs args, move them to
4347         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
4348         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
4349
4350         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
4351         use GTK_TYPE_POINTER for signal signatures as a hack-around
4352
4353         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
4354         PangoTabArray
4355
4356         * gtk/gtktextlayout.c (line_display_iter_to_index): 
4357         make static
4358         (line_display_index_to_iter): make static
4359
4360         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
4361         to marshal a string not a boxed
4362
4363         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
4364
4365         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
4366         since the UTF-8 isn't validated yet
4367
4368         * gtk/gtktextsegment.c (char_segment_check_func): don't require
4369         lines to end in '\n'
4370         
4371         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
4372         forward_to_delimiters, and grapheme boundaries
4373         (gtk_text_view_delete_from_cursor): properly handle non-newline
4374         delimiters, and grapheme boundaries
4375
4376         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
4377         to gtk_text_iter_forward_to_delimiters, and make it work properly
4378         if empty lines end with a character other than '\n'
4379
4380         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
4381         position
4382
4383 2000-12-15  Tor Lillqvist  <tml@iki.fi>
4384
4385         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
4386
4387         * gtk/gtk.def
4388         * gdk/gdk.def: Update.
4389
4390         * gdk/win32/gdkmain-win32.c
4391         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
4392         gdkmain-win32.c here.
4393
4394         * gdk/win32/makefile.mingw.in (all): No need to make
4395         gdk-win32res.o here, the makefile one step up will call us to make
4396         it.
4397
4398         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
4399         gdkkeys-win32.
4400
4401         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
4402
4403         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
4404         call to g_source_add().
4405
4406         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
4407         leak. Thanks to Andreas Kemnade.
4408
4409 2000-12-13  Havoc Pennington  <hp@pobox.com>
4410
4411         * gtk/gtktextbtree.h: Remove double _ in front of some functions
4412
4413         * gtk/gtktext*.[hc]: update accordingly
4414         
4415 2000-12-13  Havoc Pennington  <hp@pobox.com>
4416
4417         * gtk/gtktextbtree.h: Put _ in front of every function in this 
4418         header file
4419
4420         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
4421
4422 2000-12-13  Alex Larsson  <alexl@redhat.com>
4423
4424         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
4425         Add support for ps2 intellimouse.
4426
4427         * gdkkeyboard-fb.c:
4428         Move shift-F1 repaint handling to xlate handler only.
4429         
4430         * docs/README.linux-fb:
4431         Add imps2 to docs.
4432         Document the new refresh keys.
4433         
4434 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
4435
4436         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
4437
4438         * gtk/gtkbox.c: change property types from (u)long to (u)int for
4439         ::position and ::padding.
4440
4441         * gtk/gtkcontainer.c: make ::border_width an INT property.
4442
4443         * gtk/gtkpacker.c: make ::position an INT property.
4444
4445         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
4446         guard against NULL h/v scrollbars, since this is used at construction
4447         time.
4448
4449         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
4450         internal gtk_clist_constructor().
4451
4452         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
4453         gtk_ctree_constructor().
4454
4455         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
4456         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
4457
4458         * docs/reference/Makefile.am: fun stuff, disabled docs generation
4459         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
4460
4461         * gtk/gtkwidget.[hc]:
4462         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
4463         and gtk_widget_get().
4464         (gtk_widget_new): use g_object_new_valist().
4465         (gtk_widget_set): use g_object_set_valist().
4466
4467         * gtk/gtkobject.[hc]:
4468         removed gtk_object_arg_get_info(), gtk_object_getv(),
4469         gtk_object_query_args(), gtk_object_newv(),
4470         gtk_object_class_add_signals(),
4471         gtk_object_class_user_signal_new(),
4472         gtk_object_class_user_signal_newv(),
4473         gtk_object_arg_set(), gtk_object_arg_get(),
4474         gtk_object_args_collect(),
4475         gtk_object_default_construct(),
4476         gtk_object_constructed(),
4477         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
4478         removed nsignals, signals and n_args members from GtkObjectClass.
4479         (gtk_object_new): use g_object_new_valist().
4480         (gtk_object_set): use g_object_set_valist().
4481         (gtk_object_get): use g_object_get_valist().
4482         
4483         * gtk/gtkcompat.h: define gtk_object_default_construct().
4484         
4485         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
4486         g_object_new().
4487
4488         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
4489         fucntions, cleaned up method assignments (make sure your structures
4490         are setup properly before calling out). removed all GTK_CONSTRUCTED
4491         hacks ;)
4492
4493 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
4494
4495         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
4496         off-by-one error in checks. (Dave Lambert)
4497
4498 2000-12-12  Alexander Larsson  <alexl@redhat.com>
4499
4500         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
4501         Don't free gdk_fb_keyboard twice.
4502
4503 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
4504
4505         * gtk/testgtk.c:
4506         (create_tooltips): 
4507         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
4508         use GObject swapped_signal:: properties instead.
4509
4510         * gtk/gtkcellrenderertoggle.c: 
4511         * gtk/gtkcellrenderertextpixbuf.c: 
4512         * gtk/gtkcellrenderertext.c: 
4513         * gtk/gtkcellrendererpixbuf.c: 
4514         * gtk/gtkcellrenderer.c:
4515         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
4516         missing warnings for invalid property ids, install properties
4517         with g_object_class_install_property() now.
4518         
4519         * gtk/gtksignal.c:
4520         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
4521         
4522 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
4523         
4524         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
4525         to determine if a window is the focus widget within
4526         its toplevel.
4527
4528         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
4529         to be boolean.
4530
4531         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
4532         of the case where the container CAN_FOCUS to here instead
4533         of having it in each individual move-the-focus place.
4534
4535         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
4536         focusing to be geometric in a much more obvious sense. Arrowing
4537         around is still non-intuitive because it isn't perfect and
4538         because entries, etc, grab the arrow keys, but it at least
4539         usually will do what you expect now.
4540         
4541         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
4542         file.
4543
4544         * gtk/gtknotebook.c: Change tabs to be a single item in
4545         the focus chain. Make movement of focus on tabs with arrow
4546         keys wrap around.
4547         
4548         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
4549         CHECK_FIND_CHILD macro to give informative error messages
4550         instead of silent returns.
4551
4552         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
4553         flag since we handle GdkReturn on the tabs.
4554
4555         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
4556         windows rather than sending expose events directly.
4557
4558         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
4559         definition for GtkNotebookPage into .c file, since it is private.
4560
4561         * gtk/testgtk.c (create_notebook): Add option for 
4562         testing borderless notebook.
4563
4564         * gtk/testgtk.c (page_switch): Removed egregious poking
4565         around in GTK+ internals.
4566
4567         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
4568
4569         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
4570         properly through gtk_clist_focus. Make the title headers a
4571         single item in the tab-focus chain, and make left-right wrap
4572         around.
4573
4574         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
4575         focus method so that wrapping around works properly.
4576
4577         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
4578         that is handled for the widget now. 
4579
4580 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
4581
4582         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
4583         widgets as TOPLEVEL.
4584
4585         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
4586         TOPLEVEL widgets are containers.
4587
4588         * gtk/gtkinvisible.h: Remove useless include.
4589
4590 2000-12-11  Havoc Pennington  <hp@redhat.com>
4591
4592         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
4593         Handle chopping off \r\n and 0x2029 in addition to \n before
4594         passing to PangoLayout
4595
4596         * gtk/gtkimcontextsimple.c
4597         (gtk_im_context_simple_get_preedit_string): 
4598         return an empty string if no match is pending
4599
4600         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
4601         assertion that the returned preedit string was sane
4602
4603         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
4604         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
4605         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
4606
4607 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
4608
4609         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
4610         Fix up finalizer to chain to its parent.
4611
4612 2000-12-11  Alexander Larsson  <alexl@redhat.com>
4613
4614         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
4615         Clearified the difference between the keyboard types. Wrote a note
4616         about the magic sysrq key to get out of raw mode.
4617
4618 2000-12-09  James Henstridge  <james@daa.com.au>
4619
4620         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
4621         member to hold masks for detecting the start of a protocol packet.
4622         (mouse_devs): add packet start masks for ps2 and ms device types.
4623         Left the mask for fidmour blank, as I have no idea what it should
4624         be.
4625         (handle_mouse_io): skip bytes until we get to the start of a
4626         packet.  My Logitech mouse seems to be passing an extra NULL pad
4627         byte, and GPM does a similar thing here.
4628         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
4629         this is the ms mouse driver.
4630         (gdk_fb_mouse_ms_packet): fix up button handling, which was
4631         completely broken except for button1.  It was checking the wrong
4632         bit in the packet for the status of the right mouse button, and
4633         wrongly assuming right == button2 rather than 3.  I fixed that and
4634         also added support for middle button (button2).
4635
4636 2000-12-08  Havoc Pennington  <hp@redhat.com>
4637
4638         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
4639         that cause a segfault on text insertion
4640
4641         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
4642         warning
4643
4644         * gtk/gtktextiter.c (test_log_attrs): use
4645         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
4646
4647         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
4648         Get log attrs for a line, using a cache stored on the buffer
4649         
4650         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
4651         reported by Jeff Franks
4652
4653 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4654
4655         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
4656         /dev/ttyS0 -> /dev/mouse
4657
4658 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4659
4660         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
4661         Added dummy gdk_fontset_load.
4662
4663 2000-12-08  Alexander Larsson  <alexl@redhat.com>
4664
4665         * docs/README.linux-fb:
4666         * docs/Makefile.am:
4667         Initial GtkFB docs.
4668         
4669         * gdk/linux-fb/Makefile.am:
4670         Define GDK_DATA_PREFIX.
4671
4672         * gdk/linux-fb/gdkmain-fb.c:
4673         Fix typo.
4674         Change default display to /dev/fb0.
4675
4676         * gdk/linux-fb/gdkpango-fb.c:
4677         Add $(prefix)/share/fonts/ to font path.
4678         
4679 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4680
4681         * gdk/linux-fb/gdkkeyboard-fb.c:
4682         New file containing the abstracted keyboard driver. Most code
4683         taken from gdkinput-ps2.c
4684
4685         * gdk/linux-fb/gdkinput-ps2.c:
4686         Removed file.
4687         
4688         * gdk/linux-fb/Makefile.am:
4689         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
4690
4691         * gdk/linux-fb/gdkcolor-fb.c:
4692         display->fb was renamed to display->fb_fd.
4693
4694         * gdk/linux-fb/gdkcursor-fb.c:
4695         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4696
4697         * gdk/linux-fb/gdkinput.c:
4698         Moved gdk_input_init here from gdkinput-ps2.c
4699
4700         * gdk/linux-fb/gdkmain-fb.c:
4701         display->fb was renamed to display->fb_fd.
4702         Now the tty and the console is opened here instead
4703         of in the keyboard driver. Also check GDK_VT to see what
4704         tty to open.
4705         Move gdk_beep () here from gdkinput-ps2.c
4706         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4707
4708         * gdk/linux-fb/gdkmouse-fb.c:
4709         Add header.
4710         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4711         Return correct keyboard modifiers.
4712         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
4713
4714         * gdk/linux-fb/gdkprivate-fb.h:
4715         Add tty and vt info to display.
4716         Add orignal modeinfo storage to display
4717         Update global functions
4718
4719         * gdk/linux-fb/gdkwindow-fb.c:
4720         Added gdk_fb_window_find_focus().
4721         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4722
4723 2000-12-07  Havoc Pennington  <hp@pobox.com>
4724
4725         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
4726         function, noticed by Alex
4727
4728 2000-12-06  Elliot Lee  <sopwith@redhat.com>
4729
4730         * configure.in: Detect freetype properly
4731
4732         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
4733         above.
4734
4735 2000-12-06  Alexander Larsson  <alexl@redhat.com>
4736
4737         * gdk/linux-fb/Makefile.am:
4738         Add gdkmouse-fb.c
4739         
4740         * gdk/linux-fb/gdkmouse-fb.c:
4741         New file. Abstracted the mouse drivers a bit.
4742
4743         * gdk/linux-fb/gdkcursor-fb.c:
4744         The cursor hide/show functions was moved here from gdkinput-ps2.c.
4745
4746         * gdk/linux-fb/gdkinput-ps2.c:
4747         Removed old mouse handling code. Moved cursor handling code
4748         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
4749         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
4750         gdk_mouse_get_info.
4751
4752         * gdk/linux-fb/gdkmain-fb.c:
4753         Pass NULL pointers for x,y in gdk_mouse_get_info call.
4754
4755         * gdk/linux-fb/gdkprivate-fb.h:
4756         Removed public gdk_fb_find_common_ancestor, added and renamed
4757         functions for the new mouse handling code.
4758
4759         * gdk/linux-fb/gdkwindow-fb.c:
4760         Moved gdk_fb_window_send_crossing_events here. added global
4761         variable gdk_fb_window_containing_pointer. made
4762         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
4763         renamed to gdk_mouse_get_info.
4764
4765 2000-12-06  Alexander Larsson  <alexl@redhat.com>
4766
4767         * gdk/linux-fb/gdkevents-fb.c:
4768         Update to match latest gmain/gsource changes.
4769
4770         * gdk/linux-fb/gdkinput-ps2.c:
4771         Bogus gdk_keymap_get_entries_for_keycode implementation so that
4772         it links. Will be implemented later.
4773
4774 2000-12-03  Havoc Pennington  <hp@pobox.com>
4775
4776         * gdk/Makefile.am: add gdkkeys.[hc]
4777
4778         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
4779         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
4780
4781         * acconfig.h, configure.in: add checks and command line options
4782         for XKB
4783
4784         * gdk/x11/gdkkeys-x11.c: Implement the above functions
4785         
4786         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
4787         and group in the key event
4788
4789         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
4790         field with the low-level hardware key code, and a group
4791         field with the keyboard group
4792
4793         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
4794         and declare a couple globals used for keymap handling
4795         
4796         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
4797         hold down Shift-Control and type a hex number to get a Unicode 
4798         character corresponding to the hex number
4799         (gtk_im_context_simple_get_preedit_string): Fix cursor position
4800         (return bytes not chars)
4801
4802 2000-12-05  Elliot Lee  <sopwith@redhat.com>
4803
4804         * gdk/gdkcolor.h: Make GdkColor specify element sizes
4805         to avoid waste on 64-bit platforms.
4806
4807 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
4808
4809         * INSTALL: Fix link to PNG home, remove reference
4810         to fribidi.
4811
4812         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
4813         
4814         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
4815         tested.)
4816
4817         * gtk/gtkcheckmenuitem.c: Permanently turn on
4818         always_show_toggle.
4819
4820         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
4821         be NULL. (Vladimir Klebanov, #26545)
4822
4823         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
4824         some signed/unsigned comparison problems. (#6510,
4825         David Kaelbling)
4826
4827         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
4828         return type to boolean (Oskar Liljeblad, #18648)
4829
4830 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4831
4832         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
4833         Remove bogus colormap setting.
4834
4835 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4836
4837         * gdk/linux-fb/gdkcolor-fb.c:
4838         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
4839
4840         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
4841         Must set colormap.
4842         
4843 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
4844
4845         * docs/tutorial/gtk-tut.sgml: DND updates
4846
4847 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
4848
4849         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
4850         Remove old debug g_warning().
4851         (gdk_fb_draw_drawable): The src argument can be either a wrapper
4852         or an implementation, just pass the implementation to draw_drawable_2.
4853         
4854         * gdk/linux-fb/gdkprivate-fb.h:
4855         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
4856
4857         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
4858         clear and invalidate area when window is destroyed.
4859         (send_map_events): Remove old commented out code.
4860
4861 2000-12-05  Alexander Larsson  <alexl@redhat.com>
4862
4863         * gdk/linux-fb/gdkpango-fb.c:
4864         Use italic instead of oblique in font aliases.
4865         
4866         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
4867         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
4868         other unsupported functions.
4869
4870 2000-12-04  Havoc Pennington  <hp@redhat.com>
4871
4872         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
4873
4874         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
4875
4876         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
4877
4878         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
4879         hack to avoid infinite loops (synthetic expose event) - 
4880         Owen has more appropriate fixes in a branch he'll check in later.
4881
4882         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
4883         separator, CR, and CRLF as line ends
4884
4885         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
4886         into lines using pango_find_paragraph_boundary(); other bits of
4887         the widget are still going to be broken if the boundary isn't '\n'
4888         though
4889
4890 2000-12-04  Alexander Larsson  <alexl@redhat.com>
4891
4892         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
4893         multiply.
4894
4895         * gdk/linux-fb/gdkpango-fb.c:
4896         Copied some 26.6 scaling macros from pango to clean up the rounding.
4897         (pango_fb_font_get_glyph_info): Correct sign on x value.
4898
4899         * gdk/linux-fb/gdkprivate-fb.h:
4900         Removed unreferenced external functions.
4901
4902         * modules/linux-fb/Makefile.am: Use ` instead of '.
4903
4904         * modules/linux-fb/basic.c:
4905         Remove dead code. In particular the dummy lang engine which broke all
4906         pango layouts in GtkFB. Don't include tables-big.i anymore.
4907
4908         * modules/linux-fb/tables-big.i:
4909         Upgrade to latest version from pango. Left for reference, basic_ranges
4910         moved to basic.c.
4911         
4912 2000-12-04  Havoc Pennington  <hp@redhat.com>
4913
4914         Fix bugs Alex found:
4915         
4916         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
4917         to "draw"
4918
4919         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
4920
4921         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
4922
4923         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
4924         implementation in here, apparently the expose() implementation was
4925         dead code.
4926
4927 2000-12-04  Alexander Larsson  <alexl@redhat.com>
4928
4929         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
4930         Return positive descent.
4931
4932 2000-12-02  Havoc Pennington  <hp@pobox.com>
4933
4934         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
4935         method and signal
4936         
4937         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
4938         calls gdk_window_process_updates() to push the exposes through
4939         (gtk_widget_class_init): No more draw signal, no
4940         gtk_widget_real_draw()  
4941         
4942         * gtk/gtkbin.c (gtk_bin_draw): remove
4943
4944         * gtk/gtkbox.c (gtk_box_draw): remove
4945
4946         * gtk/gtkbutton.c (gtk_button_draw): remove
4947
4948         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
4949
4950         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
4951
4952         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
4953
4954         * gtk/gtkclist.c (gtk_clist_draw): remove
4955
4956         * gtk/gtkentry.c (gtk_entry_draw): remove
4957
4958         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
4959
4960         * gtk/gtkfixed.c (gtk_fixed_draw): remove
4961
4962         * gtk/gtkframe.c (gtk_frame_draw): remove
4963
4964         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
4965
4966         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
4967
4968         * gtk/gtklayout.c (gtk_layout_draw): remove
4969
4970         * gtk/gtklist.c (gtk_list_draw): remove
4971
4972         * gtk/gtklistitem.c (gtk_list_item_draw): remove
4973
4974         * gtk/gtkmenu.c (gtk_menu_draw): remove
4975
4976         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
4977
4978         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
4979
4980         * gtk/gtknotebook.c (gtk_notebook_draw): remove
4981
4982         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
4983
4984         * gtk/gtkpacker.c (gtk_packer_draw): remove
4985
4986         * gtk/gtkrange.c (gtk_range_draw): remove
4987
4988         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
4989
4990         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
4991
4992         * gtk/gtktable.c (gtk_table_draw): remove
4993
4994         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
4995
4996         * gtk/gtktext.c (gtk_text_draw): remove
4997
4998         * gtk/gtktextview.c (gtk_text_view_draw): remove
4999
5000         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
5001
5002         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
5003
5004         * gtk/gtktree.c (gtk_tree_draw): remove
5005
5006         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
5007
5008         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
5009
5010         * gtk/gtkviewport.c (gtk_viewport_draw): remove
5011
5012         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
5013
5014         * gtk/gtkvscale.c (gtk_vscale_draw): remove
5015
5016         * gtk/gtkwindow.c (gtk_window_draw): remove
5017
5018 2000-20-01  Anders Carlsson  <andersca@gnu.org>
5019
5020         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
5021         a GtkToggleButton is both insensitive and active, it was being
5022         drawn by the GtkButton draw handler which doesn't check the
5023         state. Now it's calling gtk_toggle_button_paint instead.
5024         
5025 2000-12-01  Havoc Pennington  <hp@redhat.com>
5026
5027         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
5028         dangling pointers to the appearance attributes from the 
5029         line display
5030
5031         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
5032         width/height to mean "full width/height of drawable"
5033
5034         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
5035         click to select word/line
5036         
5037         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
5038         when getting log attrs. Get a slice, so that pixmaps and stuff
5039         are properly handled.
5040
5041         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
5042         paste into the selection (replaces selection now, previously
5043         crashed or added to selection). Reveals longstanding btree bug -
5044         select multiple lines, middle-click on the selection, boom. This
5045         isn't related to my changes though.
5046
5047         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
5048         PangoLogAttrs changes
5049         (gtk_entry_move_backward_word): ditto
5050
5051         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
5052         functions return bool whether the iter moved onto a
5053         dereferenceable position.
5054  
5055         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
5056         functions for motion in terms of display lines.
5057
5058         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
5059         get the buffer a mark is inside
5060         
5061 2000-12-01  Alexander Larsson  <alexl@redhat.com>
5062
5063         * gdk/linux-fb/Makefile.am:
5064         * modules/linux-fb/Makefile.am:
5065         Freetype 2 final uses freetype-config
5066
5067         * gdk/linux-fb/gdkpango-fb.c:
5068         Upgrade to use Freetype 2 final.
5069         More flexible support for font aliases, this also fixes a bug with
5070         GtkFontSelector, as the aliases must be visible in the font/family list,
5071         or GtkFontSelector reads uninitialized memory.
5072
5073 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
5074
5075         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
5076         XGetIMValues to properly terminate variable argument list, and do
5077         NULL return check for ic_values and xim_styles.
5078
5079         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
5080         Restore preedit state after XmbResetIC().
5081         
5082         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
5083         XvaCreateNestedList() should take XvaNestedList, but not
5084         XvaNestedList*.
5085
5086         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
5087         preedit_draw_callback, preedit_caret_callback): Match
5088         "preedit-changed" signal name to "preedit_changed" to be
5089         consistent to the spec.
5090
5091         * gtk/gtkimcontextsimple.c (check_table):
5092         Match "preedit-changed" to "preedit_changed" to be consistent
5093         to the spec.
5094
5095 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
5096
5097         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
5098         gc->clip_region == NULL>
5099
5100 2000-11-30  Tor Lillqvist  <tml@iki.fi>
5101
5102         Changes by Hans Breuer:
5103         
5104         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
5105         Dont't use negative width and height as max_hints. This fixes
5106         Owen's recent testgtk changes for win32.
5107
5108         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
5109         gdk_win32_hdc_release): These are exported and may be called with
5110         other drawable types than our GdkDrawableImplWin32 (?).
5111
5112         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
5113         so always #define USE_BACKING_STORE.
5114
5115         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
5116         of printf for debugging output.
5117
5118         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
5119         
5120         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
5121
5122         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
5123         declaration.
5124
5125         * gtk/gtktexttypes.h: Ditto.
5126
5127         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
5128         (GDK_VoidSymbol) also if in case of arg check failure.
5129
5130         * gtk/gtkimcontextsimple.c
5131         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
5132         position to the pointer, but to the variable it points to.
5133
5134         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
5135
5136         * gtk/gtk.def: Updates.
5137
5138 2000-11-29  Elliot Lee  <sopwith@redhat.com>
5139
5140         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
5141         GTK_TYPE_TREE_MODEL.
5142
5143 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5144
5145         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
5146         Set the size of the font from the description.
5147         (gdk_text_width): Gross hack that calculates the width
5148         of text by text_length * size/2. This is necessary because
5149         GtkLabel does some ugly gtk_string_width call to calculate
5150         an good size.
5151         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
5152
5153 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
5154
5155         * docs/tutorial/gtk-tut.sgml: DND updates
5156
5157 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5158
5159         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
5160         If you pass width or height == 0 to gdk_window_clear_area they
5161         should be calculated from the window size.
5162
5163 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5164
5165         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
5166         a grab, but no grab-cursor, use the cursor from the grabbed
5167         window. (gdk_fb_window_send_crossing_events): Send normal
5168         enter/leave notifications if grab and owner_events == TRUE.
5169
5170 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5171
5172         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
5173         Do implicit button grabs, even if the window doesn't
5174         want the event.
5175         (gdk_fb_window_send_crossing_events): If there is a
5176         grab, only the grabbed window gets normal enter/leave
5177         notifications. On ungrab go from grabbed window to current.
5178         Don't send any notification to b when propagating from c -> b.
5179         If setting a grab on window, don't set prev_window.
5180         (handle_mouse_input): Send enter/leave events to the window the
5181         mouse is over, not the grabbed one.
5182         
5183 2000-11-28  Elliot Lee  <sopwith@redhat.com>
5184
5185         * gdk/gdkregion-generic.c: Zap warning.
5186         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
5187         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
5188
5189 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
5190
5191         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
5192         The cursor should be hidden if it is part of either the
5193         source or destination region. Not only if it is in both.
5194         (gdk_window_set_transient_for): Silence warnings.
5195
5196 2000-11-28  Alexander Larsson  <alexl@redhat.com>
5197
5198         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
5199         The default mode in X is Pie Arcs, therefore that is
5200         what Gtk+ uses.
5201
5202 2000-11-28  Alexander Larsson  <alexl@redhat.com>
5203
5204         * gdk/linux-fb/gdkinput-ps2.c:
5205         Implement correct EnterNotify/LeaveNotify:
5206         (gdk_fb_window_send_crossing_events): New function that sends
5207         all GdkCrossingEvents from the last mouse-window to the specified
5208         destination.
5209         (gdk_fb_window_visibility_crossing): Removed function.
5210         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
5211         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
5212         instead of gdk_window_get_pointer() for better readability.
5213
5214         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
5215         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
5216
5217         * gdk/linux-fb/gdkprivate-fb.h:
5218         removed gdk_fb_window_visibility_crossing, added
5219         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
5220
5221         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
5222         New function that finds the least common ancestor of two windows.
5223         (gdk_window_show, gdk_window_hide):
5224         Use gdk_fb_window_send_crossing_events.
5225         (gdk_fb_window_move_resize): Send configure events to toplevel
5226         windows. Use gdk_fb_window_send_crossing_events.
5227
5228 2000-11-27  Havoc Pennington  <hp@redhat.com>
5229
5230         * gtk/gtkprivate.h (enum): Remove a trailing comma
5231
5232 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
5233
5234         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
5235         the "changed" callback of the adjustment.  We need to redraw the
5236         spin button's arrows when the adjustment's range changes.
5237         (adjustment_changed_cb): Draw the arrows.
5238         (gtk_spin_button_value_changed): Draw the arrows.
5239
5240 2000-11-23  Alexander Larsson  <alexl@redhat.com>
5241
5242         * gdk/linux-fb/gdkselection-fb.c:
5243         Initial selection implementation.
5244
5245         * gtk/gtkselection.c:
5246         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
5247         requestor in gtk_selection_request.
5248         
5249         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
5250         Added gdk_selection_property atom.
5251
5252         * gdk/linux-fb/gdkprivate-fb.h:
5253         Export _gdk_selection_window_destroyed.
5254         Removed mask_off_x/y from GdkCursorPrivateFB.
5255         Removed hbearing, added top, left to PangoFBGlyphInfo.
5256
5257         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
5258         Call _gdk_selection_window_destroyed
5259         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
5260         the root window has been created.
5261         (static_dx_hack, static_dy_hack, compare_draw_rects,
5262         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
5263         in region. They are already sorted. Instead just traverse them in
5264         reverse if draw_direction < 0.
5265         
5266         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
5267         Double-clicks must be sent after the normal button_press.
5268         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
5269         
5270         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
5271         Pass _gdk_fb_screen_gc instead of NULL.
5272
5273         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
5274         Initialize gdk_selection_property.
5275         (gdk_event_make): Remove unused code.
5276
5277         * gdk/linux-fb/gdkcursor-fb.c:
5278         Make the pixmap for the cursor the same size as the mask. Also remove
5279         the mask_off_x/y fields in GdkCursorPrivateFB and combine
5280         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
5281         Now the whole cursor is visible.
5282
5283         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
5284         Fix bug where xdest+height instead of ydest+height was used
5285         to calculate if the source and dest overlapped. This fixes the
5286         redraw bug when the main window in testgtk was scrolled when
5287         partially covered by a tall window.
5288         Copy rectangles in region in order depending on draw_direction.
5289         Also moved the draw_direction flipping of start_y and end_y into
5290         the gc functions, as this might not be what all of them want.
5291         (gdk_fb_draw_lines): Support dashed lines.
5292         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
5293         so that the text is positioned correctly (was 1 pixel high).
5294
5295         gdk/linux-fb/gdkgc-fb.c:
5296         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
5297         all lines were drawn a pixel to short. Also checked the default of
5298         the rest of the values, and they're the same as X now.
5299
5300         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
5301         Clean up pixel positioning of the glyphs. Just use bgy->top and
5302         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
5303         to all divisions to get correct rounding behaviour.
5304
5305         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
5306         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
5307         Moved start_y/end_y flip into draw_drawable implementations.
5308         Flip also x rendering when draw_direction < 0.
5309         Remove unneccesary multiply with draw_direction.
5310
5311 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
5312
5313         * docs/tutorial/gtk-tut.sgml:
5314           - get rid of gtk_toggle_button_toggled FUD
5315           - start DND section - needs work - based on:
5316                 http://wolfpack.twu.net/docs/gtkdnd/
5317
5318 2000-11-22  Alexander Larsson  <alexl@redhat.com>
5319
5320         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
5321         Correct calculation of font metrics. Now GtkEntrys have sane
5322         size.
5323
5324 2000-11-22  Alexander Larsson  <alexl@redhat.com>
5325
5326         * gdk/gdktypes.h:
5327         Add new type GdkSpan
5328         
5329         * docs/reference/gdk/gdk-sections.txt,
5330         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
5331         gdk/gdkregion.h:
5332         Implement and document gdk_region_spans_intersect_foreach.
5333
5334         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
5335         Add new file gdkrender-fb.c which contains all core
5336         rendering code.
5337         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
5338         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
5339         (optimized rectangle fillers).
5340
5341         * gdk/linux-fb/gdkdrawable-fb2.c:
5342         Move all rendering code to gdkrender-fb.c.
5343         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
5344         Use the new span intersection functions in gdk_fb_fill_spans.
5345         gdk_fb_draw_rectangle() clips filled rectangles and calls
5346         gc->fill_rectangle with the result.
5347         gdk_fb_fill_spans() gets extra argument "sorted".
5348
5349         * gdk/linux-fb/gdkevents-fb.c:
5350         Remove unused includes and defines.
5351         New function gdk_fb_get_time() to get correct time for events.
5352
5353         * gdk/linux-fb/gdkinput-ps2.c:
5354         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
5355         Make sure to set the time of all events.
5356
5357         * gdk/linux-fb/gdkmain-fb.c:
5358         Use gdk_fb_get_time ().
5359
5360         * gdk/linux-fb/gdkprivate-fb.h:
5361         New virtual GC calls: fill_span & fill_rectangle.
5362         Export gdk_fb_get_time().
5363         gdk_fb_fill_spans() gets extra argument "sorted".
5364
5365         * gdk/linux-fb/mi*.c:
5366         Use GdkSpan instead of GdkRectangle.
5367         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
5368         from XFree 4 source)
5369         
5370 2000-11-22    <jrb@redhat.com>
5371
5372         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
5373         reversing the order in an if statement will do.  Doing so managed
5374         to make the treemodelsort half work.  Other half will follow after
5375         I get the insert function fully fixed.
5376
5377 2000-11-21  Elliot Lee  <sopwith@redhat.com>
5378         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
5379         more than 2 bits. Besides, I need to implement an evil hack. :)
5380
5381 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
5382
5383         * docs/tutorial/gtk-tut.sgml: minor corrections
5384
5385 2000-11-20  Jonathan Blandford <jrb@redhat.com>
5386         * gtk/gtktreemodelsort.h: Add convertion functions to let you
5387           convert to and from relative path's and iters.
5388
5389         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
5390           testing sorting functions a bit better.  Currently broken -- will
5391           fix in morning.
5392
5393 2000-11-20  Havoc Pennington  <hp@redhat.com>
5394
5395         * gtk/gtkwidget.c: Documented a bunch of functions in here
5396         (gtk_widget_realize): Warn if you try to realize
5397         a widget with no parent that isn't a toplevel
5398         (gtk_widget_intersect): return a gboolean
5399
5400 2000-11-20  Havoc Pennington  <hp@redhat.com>
5401
5402         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
5403         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
5404         scrolling to be implemented in GDK to finish. Also, right now
5405         we just size_allocate all children on every layout change,
5406         which is pretty lame. Test commented out of testtext.c, 
5407         until it works better.
5408
5409 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
5410
5411         * gdk/linux-fb/gdkdrawable-fb2.c:
5412         Removed unused arguments from gdk_fb_drawable_get_pixel().
5413
5414         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
5415         Renamed fidur specific mouse packet data in MouseDevice to
5416         generic. Used it in ps2 mouse handling code to avoid blocking
5417         reads.
5418
5419 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
5420
5421         * demos/gtk-demo/main.c: Changed to have the list become
5422         non-italic when the demo window is destroyed through an external
5423         event (like a close button).  Doing so found three bugs in the
5424         widget.
5425
5426         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
5427
5428         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
5429         we actually set the cell.
5430
5431         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
5432
5433         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
5434         free a leaked path.  Thanks memprof.
5435
5436 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
5437
5438         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
5439         off-by-one error when destroying allocated segments
5440         on failure. (Elliot)
5441
5442 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
5443
5444         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
5445         memleaks found by Evan Martin.
5446
5447 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
5448
5449         * Released 1.3.2
5450         
5451         * NEWS: Updates for 1.3.2
5452
5453 2000-11-17  Tor Lillqvist  <tml@iki.fi>
5454
5455         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
5456         but in general for window system specific events.
5457
5458         * gtk/gtk.def
5459         * gtk/makefile.mingw.in
5460         * gtk/makefile.msc.in: Update.
5461         
5462         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
5463
5464 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
5465
5466         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
5467         distribute gtk.immodules.
5468
5469         * gtk/Makefile.am (install-data-local): Don't install the
5470         gtk.immodules file created for the uninstalled modules;
5471         instead run gtk-query-immodules after install
5472
5473 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
5474
5475         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
5476         -rpath to the right install location.
5477
5478         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
5479         -export-dynamic.
5480
5481         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
5482         properly.
5483
5484 2000-11-15  Havoc Pennington  <hp@pobox.com>
5485
5486         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
5487         patch from Mikael Hermansson to temporarily stop blinking while
5488         the user is using the keyboard to type or navigate. 
5489
5490         Also, when blinking, stay on for longer than we stay off. Also,
5491         return from start_cursor_blink if !cursor_visible, to save
5492         checking that flag all over the place before we call
5493         start_cursor_blink.
5494
5495 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
5496
5497         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
5498         only contain a "fontset" line, which is now ignored.
5499
5500         * gtk/gtkentry.c (gtk_entry_button_release): Make 
5501         double-click-to-select-word work.
5502         
5503 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
5504
5505         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
5506         Don't move back one char when we are actually at the end of the 
5507         paragraph.
5508
5509 2000-11-15  Robert Brady  <robert@suse.co.uk>
5510
5511         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
5512         'o' < 'p'.
5513         
5514         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
5515         bind_textdomain_codeset.
5516
5517         (gtk_init_check): Make the warning about translating default:LTR
5518         sterner.
5519         
5520 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
5521
5522         * **/Makefile.am : remove unecessary rules for win32-specific
5523         config-substituted targets. If you want these rules, use
5524         --enable-maintainer-mode (called automatically by autogen.sh).
5525         Stops a lot of unneccessary make-time warnings.
5526
5527         * gtk/gtktext{layout,display}.c: Factor in total width as
5528         well as screen when figuring alignment for word-wrap as well as
5529         no wrap; this is necessary to handle lines that cannot be wrapped
5530         at all.
5531
5532 2000-11-15  Havoc Pennington  <hp@redhat.com>
5533
5534         * gtk/testtext.c: Implement essential color cycling feature
5535
5536 2000-11-15  Havoc Pennington  <hp@redhat.com>
5537
5538         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
5539         when we invalidate the main window.
5540
5541         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
5542         GtkTextView will now invalidate the side windows for us when text
5543         changes.
5544
5545 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
5546
5547         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
5548         unconditionally, since we may need to update the horizontal
5549         scrollbars even if the height didn't change.
5550
5551         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
5552         the extra attrs, since some of them affect size.
5553
5554         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
5555         x_offset correctly.
5556
5557 2000-11-15  Havoc Pennington  <hp@redhat.com>
5558
5559         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
5560         don't move the first line out into the margin, instead move the
5561         whole paragraph in order to make space for the first line within 
5562         the margin
5563
5564 2000-11-15  Havoc Pennington  <hp@redhat.com>
5565
5566         * gtk/gtktextview.c (changed_handler): offset redraw rect by
5567         xoffset in addition to yoffset, so horizontal scrolling doesn't
5568         break redraws
5569
5570 2000-11-15  Havoc Pennington  <hp@redhat.com>
5571
5572         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
5573         from the cursor
5574         (render_layout_line): fix reversed test that caused weird
5575         underlines to get drawn
5576
5577 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
5578
5579         * gdk/linux-fb/gdkprivate-fb.h:
5580         Fix debug macros.
5581         
5582 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
5583
5584         * gdk/linux-fb/gdkprivate-fb.h:
5585         Added virtual functions set_pixel, get_color,
5586         fill_span and draw_drawable to the GC.
5587         Added global _gdk_fb_screen_gc to use instead of
5588         NULL when drawing to the screen.
5589         Added _gdk_fb_gc_calc_state() prototype.
5590
5591         * gdk/linux-fb/gdkgc-fb.c:
5592         Call _gdk_fb_gc_calc_state() on any gc state change.
5593
5594         * gdk/linux-fb/gdkglobals-fb.c:
5595         Add _gdk_fb_screen_gc
5596                 
5597         * gdk/linux-fb/gdkdrawable-fb2.c:
5598         _gdk_fb_gc_calc_state() calculates best functions
5599         for the GC state and depth.
5600         Moved bpp specialized code to separate functions.
5601         Added optimized 24 bpp AA draw_drawable.
5602
5603         * gdk/linux-fb/gdkevents-fb.c:
5604         Silence gcc warning.
5605
5606         * gdk/linux-fb/gdkimage-fb.c:
5607         Use _gdk_fb_screen_gc
5608
5609         * gdk/linux-fb/gdkwindow-fb.c:
5610         Init and use _gdk_fb_screen_gc
5611
5612         * gdk/linux-fb/mitypes.h:
5613         Remove unused types.
5614
5615 2000-11-14  Havoc Pennington  <hp@pobox.com>
5616
5617         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
5618         to pixels
5619
5620 2000-11-14  Havoc Pennington  <hp@pobox.com>
5621
5622         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
5623
5624         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
5625         unknown char, no real reason we were using a variable. 
5626         Remove gtk_text_unknown_char variable. Fix all the text widget
5627         files accordingly.
5628
5629         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
5630         since the Unicode spec seems to prefer that character for our
5631         purposes.
5632
5633 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
5634
5635         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
5636         value of g_getenv() isn't freeable, so g_strdup it.
5637
5638         * modules/input/inuktitut.c: Inuktitut input method.
5639
5640         * modules/input/Makefile.am: Build this.
5641         
5642 2000-11-14  Elliot Lee  <sopwith@redhat.com>
5643
5644         * gtk/Makefile.am: Install gtk.immodules, needed for operation
5645         of gtk programs.
5646
5647 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
5648
5649         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
5650         reversed > that was causing Home to go to end of previous line.
5651
5652         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
5653         modified-keypresses (leave for bindings.)
5654
5655         * modules/input/Makefile.am: Remove useless -export-dynamic
5656         from module LDFLAGS.
5657
5658 2000-11-14  Havoc Pennington  <hp@redhat.com>
5659
5660         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
5661         higher.
5662
5663         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
5664         account. Also, render rise, underline, background, etc. for
5665         pixbufs as well as text. Also, draw underlines one pixel higher.
5666
5667         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
5668         PangoAttribute for the rise, so it gets drawn properly. Also,
5669         add the GtkTextAppearance attribute for pixbuf/widget segments
5670         as well; we should go ahead and have rise, underline, background,
5671         stipple work for those
5672
5673         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
5674         Pango
5675
5676 2000-11-15  Tor Lillqvist  <tml@iki.fi>
5677
5678         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
5679
5680         * gtk/gtk.def: Update.
5681
5682         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
5683         included.
5684         (gtk_rc_get_im_module_file): Use run-time installation directory
5685         on Win32.
5686
5687         * gdk/win32/rc/gdk.rc: Remove.
5688         * gdk/win32/rc/gdk.rc.in: New file.
5689         * gdk/win32/rc/Makefile.am: New file
5690         * gdk/win32/Makefile.am: Corresponding changes.
5691
5692         * gtk/gtk.rc: Remove.
5693         * gtk/gtk-win32.rc.in: New file.
5694         * gtk/Makefile.am: Corresponding changes.
5695
5696         * configure.in: Corresponding changes.
5697
5698         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
5699         has a built gtkcompat.h. Developers using CVS code on Win32 can
5700         hand-edit it from gtkcompat.h.in.
5701
5702         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
5703         gtkcompat.h from gtkcompat.h.win32.
5704
5705 2000-11-14  Havoc Pennington  <hp@redhat.com>
5706
5707         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
5708         to default to GDK_ACTION_MOVE if the drag is within a single
5709         widget. Defaults to GDK_ACTION_COPY between widgets.
5710
5711 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
5712
5713         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
5714
5715         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
5716
5717         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
5718         srcdir != builddir
5719
5720         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
5721
5722         * configure.in (GTK_VERSION): Up to 1.3.2
5723
5724         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
5725         gtkimcontextxim.h
5726
5727         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
5728         missing doc comment.
5729
5730 2000-11-14  Alexander Larsson  <alexl@redhat.com>
5731
5732         * modules/linux-fb/basic.c:
5733         Use the glib iconv wrappers.
5734
5735 2000-11-13  Havoc Pennington  <hp@pobox.com>
5736
5737         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
5738         still more bugs.
5739
5740         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
5741         scroll the GdkWindows before realization.
5742
5743 2000-11-13  Havoc Pennington  <hp@redhat.com>
5744
5745         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
5746         where GC didn't always get updated properly
5747
5748         * demos/gtk-demo/textview.c (create_tags): Use subattributes
5749         of fonts instead of setting the entire font
5750
5751         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
5752         setting entire font
5753
5754         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
5755
5756         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
5757         a bunch of individually-settable font attributes. You can still 
5758         use the "font" and "font_desc" args, they just set all the font
5759         attributes at once.
5760
5761 2000-11-13 Elliot Lee <sopwith@redhat.com>
5762
5763         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
5764
5765 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
5766
5767         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
5768         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
5769
5770         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
5771         work better.
5772
5773 2000-11-13  Havoc Pennington  <hp@redhat.com>
5774
5775         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
5776         the module file.
5777
5778         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
5779         dest->language
5780
5781         * gtk/testtext.c: Test pixels above/below/inside paragraphs
5782         settings
5783
5784         * gtk/gtktextview.c: Implement object args and setters/getters for
5785         all the aspects of the GtkTextAttributes that are not set from
5786         GtkWidget attributes. This is spacing, justification, margins,
5787         etc.
5788
5789         (gtk_text_view_set_arg)
5790         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
5791         args
5792         (gtk_text_view_class_init): Add args for justify, left_margin,
5793         right_margin, indent, and tabs
5794         
5795
5796         * gtk/gtktextlayout.c (set_para_values): fix to display indent
5797         attribute properly
5798
5799         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
5800         replace with indent attribute
5801
5802         * gtk/gtktextlayout.c (set_para_values): multiply indent by
5803         PANGO_SCALE
5804
5805         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
5806         rearranging code to do that
5807         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
5808         i.e. don't subtract the top_margin first, just to keep
5809         all margin-futzing in one place.
5810
5811         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
5812
5813         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
5814         special case of last line, Pango now handles this itself.
5815         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
5816         Y coordinate
5817         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
5818         (find_display_line_above): wasn't moving the byte index as it
5819         iterated over lines, so always returned byte 0. Also, port to use
5820         PangoLayoutIter.
5821         (find_display_line_below): same problem as
5822         find_display_line_above. Also, port to use PangoLayoutIter.
5823
5824 2000-11-13  Alexander Larsson  <alexl@redhat.com>
5825
5826         * gdk/linux-fb/*.[ch]:
5827         Massive reindent to gtk+ standard. My hands hurt.
5828
5829         * gdk/linux-fb/gdkcolor-fb.c:
5830         Move GdkColorPrivateFB from inherited to windowing_data
5831
5832         * gdk/linux-fb/gdkcursor-fb.c:
5833         _gdk_cursor_new_from_pixmap made static
5834
5835         * gdk/linux-fb/gdkdnd-fb.c:
5836         GdkDragContextPrivate moved to windowing_data
5837
5838         * gdk/linux-fb/gdkdrawable-fb2.c:
5839         Removed endian.h, use glib endianness macros instead
5840         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
5841         and GDK_DRAWABLE_IMPL_FBDATA
5842
5843         * gdk/linux-fb/gdkfont-fb.c:
5844         Add empty gdk_font_load(). Needed for linking of Gtk+.
5845
5846         * gdk/linux-fb/gdkimage-fb.c:
5847         Removed endian.h, use glib endianness macros instead
5848         Moved GdkImagePrivateFB to windowing_data
5849         gdk_image_new_bitmap didn't always allocate enough
5850         memory.
5851
5852         * gdk/linux-fb/gdkinput-ps2.c:
5853         Added semi-working support for MS serial mice.
5854
5855         * gdk/linux-fb/gdkprivate-fb.h:
5856         s/GdkWindowPrivate/GdkWindowObject/
5857         Removed GdkWindowPrivate typedef
5858         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
5859         Removed GDK_DRAWABLE_P
5860         Move GdkColorPrivateFB from inherited to windowing_data
5861         Moved GdkImagePrivateFB to windowing_data
5862
5863         * gdk/linux-fb/gdkvisual-fb.c:
5864         Removed some unused debug code.
5865
5866         * gdk/linux-fb/gdkwindow-fb.c:
5867         Use stock cursors instead of including X headers.
5868         s/GdkWindowPrivate/GdkWindowObject/
5869
5870         * gdk/linux-fb/mitypes.h:
5871         Removed unused types.
5872
5873         * modules/linux-fb/basic.c:
5874         Use the pango fribidi wrappers.
5875
5876 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
5877
5878         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
5879         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
5880         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
5881         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
5882         GEqualFunc where applicable.
5883         
5884         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
5885         pango_font_description_equal as changed in pango.
5886         
5887         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
5888
5889         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
5890
5891         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
5892
5893         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
5894
5895         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
5896
5897         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
5898
5899         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
5900         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
5901
5902         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
5903         gtk_rc_styles_compare -> gtk_rc_styles_equal.
5904
5905 2000-11-12  Havoc Pennington  <hp@pobox.com>
5906
5907         * demos/gtk-demo/Makefile.am (democodedir): change demo install
5908         dir to datadir/gtk+-2.0/demo
5909
5910         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
5911         sorts of text widget and Pango font bugs. Urgh.
5912
5913         * demos/gtk-demo/Makefile.am (demos): Add textview.c
5914
5915         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
5916         tree that you should double click to see the demo. Fix 
5917         types of variables to reflect changed return values from 
5918         GtkTreeStore and GtkTreeViewColumn constructors.
5919
5920         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
5921         newly-created buffer to prepare for GObject semantics
5922
5923         * gtk/testtext.c: don't leak the buffer with GObject semantics
5924
5925         * gtk/testtextbuffer.c: ditto
5926         
5927 2000-11-12  Havoc Pennington  <hp@pobox.com>
5928
5929         Rename this testgtk to gtk-demo to avoid confusion, and 
5930         install it so people can use it as a supplement to 
5931         the documentation.
5932         
5933         * demos/gtk-demo: Moved from demos/testgtk
5934
5935         * demos/testgtk: Removed
5936
5937         * configure.in: make Makefile in gtk-demo
5938         
5939         * demos/gtk-demo/Makefile.am: Install sample source to 
5940         datadir/gtk-demo (maybe there's a better place?), and 
5941         rename the binary to gtk-demo
5942         
5943         * demos/gtk-demo/main.c (load_file): Load installed sample
5944         source if source isn't found in pwd.
5945
5946 2000-11-09  Havoc Pennington  <hp@pobox.com>
5947
5948         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
5949         argument to set the char displayed when visibility == FALSE
5950         (gtk_entry_create_layout): If !entry->visible, replace 
5951         all chars with the "invisible char"
5952
5953         * gtk/testgtk.c: Test the invisible_char deal
5954         
5955 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
5956
5957         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
5958         can't get a native font in the right encoding.
5959
5960 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
5961
5962         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
5963         respectively.
5964
5965 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
5966
5967         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
5968         Fix warning when moving between paragraphs.
5969
5970         * gtk/gtkentry.[ch]: Change move => move_cursor, 
5971         delete => delete_from_cursor, insert => insert_at_cursor
5972
5973 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
5974
5975         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
5976
5977         * modules/input/imthai-broken.c: A Thai input method for use if
5978         Thai keys are really generating Latin1 keysyms.
5979
5980         * modules/input/Makefile.am: Build these.
5981
5982 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
5983
5984         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
5985         g_filename_{to,from}_utf8 now takes an extra parameter.
5986
5987         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
5988         strftime into UTF-8.
5989
5990         (column_from_x, gtk_calendar_paint_day_names): Support RTL
5991         calendars.
5992
5993         (gtk_calendar_paint_day_names): Draw day names in the right 
5994         place.
5995         
5996 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
5997
5998         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
5999         problem with using result of g_get_charset() backwards -
6000         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
6001
6002         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
6003         negative min_width/height and max_width/height to
6004         mean "requisition"; this allows setting a window
6005         to be user-resizable in only one direction easily.
6006
6007         * gtk/testgtk.c (create_main_window): Remove hard-coded
6008         usize - set a default size in the vertical direction.
6009
6010 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
6011
6012         * gtk/gtkrange.c: Add some missing casts. Support 
6013         2 and 3 button clicks on the arrows to mean 
6014         "move by pages" and "jump to end". (Like gtkspinbutton)
6015
6016 2000-11-12 Hans Breuer <Hans@Breuer.Org>
6017
6018         * gdk/win32/makefile.msc : reflect build module changes
6019
6020         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
6021         from GdkPixmap*, cast implementation member instead.
6022
6023         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
6024         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
6025         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
6026         more Gdi functions return value checking. 
6027         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
6028         GdkImagePrivateWin32 *.
6029
6030         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
6031         menus useable again. Add #pragma message to keep reminded on this issue.
6032         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
6033         windows. This allows to enable backing store on Win32!
6034
6035         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
6036         in drawable is of impl type. Correct specific type checks appropriate.
6037  
6038         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
6039         GDK_WINDOW_DESTROYED before allocating new resources.
6040
6041         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
6042
6043         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
6044         (gdk_window_foreign_new) initialize parent handle.
6045         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
6046
6047         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
6048         Let the GDI invalidate the window on MoveWindow call to fix scrolling
6049         problems (e.g. main buttons in testgtk). 
6050
6051 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
6052
6053         * gtk/gtkentry.c (gtk_entry_key_press): Call 
6054         gtk_widget_activate for GDK_Return.
6055
6056         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
6057         of preedit cursor position.
6058
6059 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
6060
6061         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
6062         static.
6063
6064 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
6065
6066         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
6067         out support for multiple locales; that simple doesn't
6068         work reliably with current Xlib
6069
6070         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
6071         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
6072         Add support for positioning the cursor within the preedit string.
6073
6074 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
6075
6076         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
6077         at XIM input method module.
6078
6079         * gtk/gtktextview.c: Check for bindings after passing
6080         events to im context filter.
6081
6082 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
6083
6084         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
6085         empty attribute lists properly.
6086
6087 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
6088
6089         * gtk/queryimmodules.c (main): Return non-zero exit
6090         status if errors were encountered querying any
6091         modules.
6092
6093         * modules/input/Makefile.am (moduledir): remove
6094         leftover bin program target.
6095
6096         * docs/make-todo: Fix typo in error message.
6097
6098 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
6099
6100         * configure.in: Add modules/input/Makefile
6101
6102 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
6103
6104         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
6105         don't include gtkthemes.h.
6106
6107         * gtk/testgtk.c gtk/testtext.c: Set environment variables
6108         to point
6109
6110         * gtk/Makefile.am: Add new .c and .h files, build 
6111         gtk-query-immodules and use it to create a gtk.immodules
6112         file for use of test programs.
6113
6114         * gtk/gtkpreview.c: remove extra blank line.
6115
6116 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
6117
6118         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
6119         Add the ability to add extra tables beyond the default
6120         one, and also the ability to have compose sequences 
6121         that are prefixes of other compose sequences. 
6122
6123         * gtk/gtkimcontextsimple.c: Export a preedit string which
6124         consists of possible candidates for keystrokes that have
6125         been entered but not yet committed.
6126
6127         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
6128         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
6129
6130         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
6131         Add a function to add input-method switching menu items
6132         to a menu.
6133
6134         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
6135         when switching input methods.
6136
6137         * gtk/gtkimcontextsimple.[ch]: Change the format of
6138         the compose table to allow compose tables of different
6139         lengths / sequence.
6140
6141 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
6142
6143         * gtk/gtkimmodule.[ch]: Support routines for loading
6144         GtkIMContext implementations dynamically at runtime.
6145
6146         * modules/input/imcyrillic-translit.c: A sample input
6147         method (based on GtkIMContextSimple with an extra table),
6148         which demonstrates preedit strings and the module
6149         system for input modules
6150
6151         * gtk/queryimmodules.c: Program to query the available
6152         input modules and write the results into a file.
6153          
6154         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
6155         extra config options "im_module_file" (cache file for
6156         input method modules), and "im_module_path" - path
6157         to look for modules when generating cache file.
6158
6159         This doesn't scale.
6160
6161 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
6162
6163         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
6164         generic code from gtkthemes into a new abstraction
6165         GtkModule which has the logic for implementing
6166         a loadable module which implements a number of 
6167         GObject types.
6168
6169 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
6170
6171         * gtk/gtkeditable.[ch]: Convert GtkEditable from
6172         a class into an interface  
6173         
6174         * gtk/gtkoldeditable.[ch]: Move the old editable
6175         implementation into here, so legacy widgets can
6176         still rely on the implemenation. GtkOldEditable
6177         exports GtkEditable. Make selection handling
6178         code use new text conversion functions (and
6179         handle UTF-8 as a side-effect). Use GtkClipboard
6180         for CLIPBOARD.
6181
6182         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
6183         Adopt to match above changes.
6184
6185         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
6186         avoid GtkOldEditable implementation. Restructure
6187         to reduce number of places that modify state directly.
6188         Move to GtkBindingSet. Display the preedit string.
6189         Queue recomputation of PangoLayout and scroll position
6190         to improve effiency of doing complex changes naively.
6191         Add a menu with cut/copy/paste and input method selection.
6192
6193 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
6194
6195         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
6196         to set preedit string and attributes; display preedit string by
6197         inserting string and attributes at cursor when creating the
6198         GtkTextLineDisplay.
6199
6200         * gtk/gtktextlayout.c: Move all conversions between byte
6201         positions in PangoLayout and GtkTextIter into new functions
6202         line_display_iter_to_index/index_to_iter that properly
6203         handle the preedit string.
6204
6205         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
6206         it to return const char * (eventually will end up
6207         as GCONST char *, most likely.)
6208
6209         * gtk/gtktextview.[ch]: Handle the preedit string, call
6210         gtk_im_context_reset() as necessary, add a menu to switch
6211         input methods.
6212         
6213         * gtk/gtktextlayout.[ch]: Remove useless
6214         gtk_text_layout_get_log_attrs() function.
6215
6216 2000-11-11  Tor Lillqvist  <tml@iki.fi>
6217
6218         * gdk/gdk.def
6219         * gtk/gtk.def: Update.
6220
6221         * gdk/win32/*.c: Add last argument to g_type_register_static()
6222         calls.
6223
6224         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
6225
6226         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
6227         generated by older wheel mouse drivers. Get the correct y
6228         coordinate from WM_MOUSEWHEEL messages.
6229
6230         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
6231         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
6232         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
6233         Debugging functions.
6234
6235         * gdk/win32/gdkprivate-win32.h: Declare them.
6236
6237         * gdk/win32/gdkinput-win32.h: Add declaration for
6238         gdk_input_window_destroy().
6239
6240         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
6241
6242 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
6243
6244         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
6245         function to help handle keeping things in sync.
6246
6247 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
6248
6249         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
6250         BOXED marshallers.
6251
6252         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
6253         (gtk_list_store_class_init): use the new BOXED marshallers.
6254
6255         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
6256         new_with_values to new_with_types.
6257         (gtk_tree_store_get_column_type): add this.
6258         (gtk_tree_store_class_init): use the new BOXED marshallers.
6259
6260         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
6261         mirror some POINTER marshallers.
6262
6263 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
6264
6265         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
6266         allow more interesting iterators.  Also, made the lifecycle of
6267         iterators more explicit.
6268
6269         * gtk/gtktreemodelsort.[ch]: New model for sorting.
6270
6271         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
6272         types.
6273
6274 2000-11-09  Alexander Larsson  <alexl@redhat.com>
6275
6276         * demos/testgtk/menus.c:
6277         Changes to make the new testgtk compile after
6278         gtk_menu_append was removed.
6279
6280         * gdk/linux-fb/gdkdrawable-fb2.c
6281         (gdk_fb_get_depth, gdk_fb_get_visual,
6282         gdk_drawable_impl_fb_class_init): Implement
6283         these drawable functions. Now GtkImages work again.
6284
6285         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
6286
6287         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
6288         
6289         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
6290         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
6291         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
6292         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
6293
6294 2000-11-08  Havoc Pennington  <hp@pobox.com>
6295
6296         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
6297         visible_set args, don't know where these had gone, I thought they
6298         used to be there
6299
6300         * gtk/testtext.c: Add a menu item to apply invisibility tag;
6301         now we can test the feature and see that it's totally broken.
6302
6303 2000-11-08  Havoc Pennington  <hp@pobox.com>
6304
6305         Make DND copy pixbufs and tags when source and target share a 
6306         tag table.
6307         
6308         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
6309         in-process GTK_TEXT_BUFFER_CONTENTS target
6310         (gtk_text_view_drag_data_received): Paste from
6311         GTK_TEXT_BUFFER_CONTENTS if we receive it.
6312
6313 2000-11-08  Alexander Larsson  <alexl@redhat.com>
6314
6315         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
6316         API changes.
6317
6318         * gtk/gtkmenu.c: Add support for scrolling menus.
6319         Remove gtk_menu_append/prepend/insert, these have been moved to
6320         gtkcompat.h as #defines.
6321
6322         * gtk/gtkcompat.h.in:
6323         Add compatibility #defines for gtk_menu_append/prepend/insert
6324
6325         * gtk/gtkmenu.h: Add data needed for scrolling menus.
6326         GtkMenuPositionFunc gets an extra argument push_in.
6327         gtk_menu_append/prepend/insert removed.
6328         
6329         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
6330         positioning behaviour to fit to scrolling menus.
6331
6332         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
6333         into menuitem->submeny. That is wrong, and broke torn
6334         off submenus of torn off menus, since they were unrealized
6335         when the first menu was unrealized.
6336
6337         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
6338         gtk_menu_shell_select_item() since these need to be overridden in
6339         GtkMenu.
6340
6341         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
6342         positioning behaviour to fit to scrolling menus.
6343         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
6344         the current item so that it is prelighted when the menu pops up.
6345         This is a workaround to the fact that the menu doesn't get the
6346         initial enter event (due to grabs).
6347
6348         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
6349         s/gtk_menu_append/gtk_menu_shell_append/
6350
6351         * gtk/gtknotebook.c:
6352         s/gtk_menu_insert/gtk_menu_shell_insert/
6353
6354         * gtk/testgtk.c (create_menu, create_menus):
6355         Create the first menu with 50 items so that menu scrolling
6356         can be tested.
6357         
6358         
6359         Patch from Jonathan Blandford  <jrb@redhat.com>
6360
6361         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
6362         system to handle size requests.  First, we ask what the size of
6363         the toggle is.  Then, when allocating the size, we allocate the
6364         toggle_size first.  This way we can have multiple menu-item
6365         classes w/o needing a seperate class for each.
6366
6367         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
6368         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
6369
6370         * gtk/gtkcheckmenuitem.c
6371         (gtk_check_menu_item_toggle_size_request): New function to handle
6372         the toggle size-request.
6373
6374 2000-11-07  Havoc Pennington  <hp@redhat.com>
6375
6376         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
6377         Half-ass somewhat fix this function, so that scrolling to the
6378         insertion point works. Pango hacking is in the future to really
6379         fix it.
6380
6381         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
6382         length of data, no longer used.
6383
6384         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
6385         method contents in here, get rid of destroy method
6386         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
6387         that were backward. Remove debug spew.
6388         (cut_or_copy): Make the clipboard work with insert_range to
6389         preserve tags and pixbufs, not just the primary selection.
6390
6391 2000-11-07  Havoc Pennington  <hp@redhat.com>
6392
6393         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
6394         to gtk_text_mark_get_visible
6395
6396         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
6397         bug that was generating an invalid iterator
6398
6399         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
6400         ensure_char_offsets() in front of code placing the iter in an
6401         invalid state.
6402
6403         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
6404         make override_location arg const
6405         (paste): Replace the selection if we paste into the 
6406         current selection
6407
6408         * gtk/gtkselection.h: Remove "GtkSelectioData"
6409         (struct _GtkSelectionData): move the definition here.
6410
6411         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
6412         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
6413
6414         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
6415
6416         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
6417         (gtk_text_buffer_insert_range_interactive): implement
6418         (gtk_text_buffer_get_tags): Remove, replaced by
6419         gtk_text_iter_get_tags()
6420
6421         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
6422         limit parameter, to avoid infinite linear scan.
6423         (gtk_text_iter_backward_search): Add search limit
6424         (gtk_text_iter_forward_find_char): Add search limit
6425         (gtk_text_iter_backward_find_char): Add search limit
6426
6427 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
6428
6429         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
6430         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
6431         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
6432         gdk/linux-fb/gdkwindow-fb.c:
6433         use g_object_new() instead of g_type_create_instance() which
6434         is a private function for fundamental type implementations.
6435
6436         * gdk/linux-fb/gdkinput-ps2.c:
6437         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
6438         instead just store the current modifier state. Add a (somewhat broken)
6439         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
6440         Rename exported function gdk_input_ps2_get_mouseinfo to
6441         gdk_input_get_mouseinfo.
6442
6443         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
6444         gdk/linux-fb/gdkwindow-fb.c:
6445         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
6446         
6447
6448 2000-11-02  Havoc Pennington  <hp@redhat.com>
6449
6450         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
6451         use stock buttons. Should be 100% source compatible, appropriate
6452         filesel fields now point to dialog->vbox and dialog->action_area.
6453         On the bizarre side, dialog->action_area and filesel->action_area
6454         are not the same widget.
6455         (gtk_file_selection_init): Put some padding around the selection
6456         entry, so it isn't touching the GtkDialog separator.    
6457
6458         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
6459         use stock buttons, etc. Should also be source compatible.
6460         Set the dialog default title in _init not _new().
6461         
6462         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
6463         Use stock buttons; don't put a button box inside the existing
6464         dialog button box. Don't bother with push/pop colormap anymore.
6465
6466         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
6467         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
6468         for message dialog, and necessary for the font selection and color
6469         selection with help and apply buttons.
6470         
6471         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
6472         to the created button widget. Set GTK_CAN_DEFAULT on the button.
6473         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
6474         between buttons, put less padding around the action area.
6475         (gtk_dialog_run): Exit on unmap rather than on destroy. 
6476         This will also exit the loop if the widget is hidden.
6477         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
6478         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
6479         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
6480         special-case delete event.
6481
6482         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
6483         formatting
6484         
6485 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
6486
6487         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
6488         button to temporarily disable position recording in the
6489         "saved position" test.
6490
6491 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
6492
6493         * gtk/gtkthemes.c: added compat code that temporarily implements
6494         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
6495         going to be revamped by owen's upcoming GtkModule patches, but
6496         untill then people want gtk to build, right? ;)
6497
6498 2000-11-04  Havoc Pennington  <hp@pobox.com>
6499
6500         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
6501         list
6502
6503         * docs/Changes-2.0.txt: Add note about
6504         gtk_container_get_toplevels()
6505
6506         * gtk/gtktextview.h: formatting
6507         
6508         * gtk/gtktextview.c: don't start descriptions with "Returns",
6509         confuses gtk-doc
6510
6511 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
6512
6513         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
6514         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
6515
6516 2000-11-03  Havoc Pennington  <hp@redhat.com>
6517
6518         * gtk/gtktexttagtable.c: Docs
6519         (gtk_text_tag_table_size): return a signed int
6520
6521         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
6522         (gtk_text_tag_event): make the event_object a GObject
6523
6524         * gtk/gtktextview.c: Write API docs for all functions.
6525
6526         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
6527         for gtk_text_view_get_window_type() called on one of the private
6528         windows.
6529
6530         * gtk/gtktextview.c: Instead of accessing text_view->buffer
6531         directly, call get_buffer() which demand-creates a default
6532         buffer. So gtk_text_view_new() can be used to create a view with a
6533         default buffer in it, if you just want an empty text box users can
6534         put data in. Useful for GUI builders also.
6535
6536 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
6537
6538         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
6539         the charset encodign portion MUST be in lowercase.
6540         * gtk/gtkrc.az: added file for Azeri language
6541
6542 2000-11-03  Havoc Pennington  <hp@redhat.com>
6543
6544         Get widgets working on the btree/buffer side. Display of them 
6545         still doesn't work.
6546         
6547         * gtk/gtktextview.c: start implementing child widget stuff
6548
6549         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
6550
6551         * gtk/gtktextlayout.c: handle embedded widgets
6552
6553         * gtk/gtktextdisplay.c: handle embedded widgets
6554
6555         * gtk/gtktextchild.c: Implement all the child anchor goo
6556
6557         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
6558         function
6559
6560         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
6561         (insert_pixbuf_or_widget_segment): abstract out common portions of 
6562         creating a child anchor or a pixbuf segment.
6563         (gtk_text_btree_create_child_anchor): new function
6564         (gtk_text_btree_unregister_child_anchor): new function
6565
6566         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
6567         allocate_child signal on GtkTextLayout
6568
6569         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
6570         values
6571         (gtk_text_iter_get_child_anchor): new function
6572
6573         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
6574         default handler for the changed signal, which calls
6575         gtk_text_buffer_set_modified(), instead of just always emitting
6576         changed then calling set_modified() manually. I guess this is
6577         maybe more flexible. It seems logical.
6578
6579 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
6580
6581         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
6582         now.
6583
6584         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
6585
6586 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
6587
6588         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
6589         been marked static.
6590
6591 2000-11-02  Havoc Pennington  <hp@redhat.com>
6592
6593         * gtk/testgtk.c (create_labels): had a test backward
6594
6595         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
6596         fields, so the dest GC ends up with the correct clip origin, 
6597         etc. Fixes a bug where colored labels didn't redraw 
6598         properly.
6599
6600 2000-11-02  Alexander Larsson  <alexl@redhat.com>
6601
6602         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
6603         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
6604         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
6605         Add last argument to t_type_register_static call.
6606         
6607         * gdk/linux-fb/gdkdrawable-fb2.c:
6608         Add last argument to t_type_register_static call.
6609         export the get_image drawable virtual function.
6610
6611         * gdk/linux-fb/gdkimage-fb.c:
6612         Add last argument to t_type_register_static call.
6613         rename gtk_image_get to _gdk_fb_get_image and
6614         export it for use by gdkdrawable-fb2.
6615
6616         * gdk/linux-fb/gdkprivate-fb.h:
6617         export _gdk_fb_get_image.
6618
6619         * gdk/linux-fb/gdkselection-fb.c:
6620         Add new api call stubs.
6621
6622         * gtk/Makefile.am:
6623         Missing ( in linux-fb part.
6624
6625         * modules/linux-fb/Makefile.am:
6626         Must link with gdk_pixbuf or get unresolved symbol.
6627
6628 2000-11-01  Havoc Pennington  <hp@pobox.com>
6629
6630         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
6631         GTK_TYPE_TEXT_ITER and BOXED marshallers
6632
6633         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
6634
6635         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
6636         
6637         * gtk/gtk-boxed.defs: add GtkTextIter
6638
6639         * gtk/gtkmarshal.list: Add marshallers for text widget that 
6640         properly use OBJECT and BOXED
6641
6642 2000-11-01  Havoc Pennington  <hp@redhat.com>
6643
6644         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
6645
6646         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
6647         before returning it. 
6648         
6649 2000-11-01  Havoc Pennington  <hp@redhat.com>
6650
6651         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
6652         Clip the rectangle to be rendered to the drawable, since
6653         get_from_drawable() requires a region within the drawable
6654
6655 2000-11-01  Havoc Pennington  <hp@redhat.com>
6656
6657         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
6658         from coordinates.
6659
6660 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
6661
6662         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
6663         it isn't NULL.
6664
6665 2000-11-01  Havoc Pennington  <hp@pobox.com>
6666
6667         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
6668         on a label
6669         (gtk_label_finalize): unref the attr list if any.
6670
6671         * gtk/testgtk.c (create_get_image): close test on second click
6672         (make_message_dialog): close dialog if it exists
6673
6674         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
6675
6676         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
6677         gdk-pixbuf
6678
6679         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
6680         from Pango markup format
6681         (gtk_label_set_markup_with_accel): ditto but with accelerator
6682         parsing
6683
6684         * gtk/gtkimage.c (gtk_image_expose): reformatting.
6685
6686         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
6687         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
6688         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
6689         call gdk_window_get_origin().
6690
6691         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
6692         implement GDK_PIXBUF_ALPHA_FULL
6693         
6694 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
6695
6696         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
6697         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
6698         g_signal_handlers_disconnect_matched to block/unblock and disconnect
6699         multiple handlers respectively, instead of only treating the
6700         first handler found (bug reported by owen).
6701
6702 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
6703
6704         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
6705
6706         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
6707
6708         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
6709         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
6710         gtk/gtktreeviewcolumn.h: Fixed inline docs.
6711
6712         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
6713         widget.  Needs writing someday.
6714
6715         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
6716         the docs.
6717
6718 2000-10-30  Havoc Pennington  <hp@redhat.com>
6719
6720         * gtk/gtktextview.h, gtk/gtktextview.c:
6721         Rename delete_at_cursor delete_from_cursor, and 
6722         move to move_cursor.
6723
6724 2000-10-30  Havoc Pennington  <hp@redhat.com>
6725
6726         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
6727         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
6728         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
6729         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
6730         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
6731         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
6732         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
6733         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
6734         gtktexttypes.h, gtktextview.c, gtktextview.h:
6735
6736         Massive reindentation and reformatting. Arg alignment and comments
6737         still need fixing in various places.
6738
6739 2000-10-30  Havoc Pennington  <hp@redhat.com>
6740
6741         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
6742         to be named insert_at_cursor and delete_at_cursor so C++ can
6743         handle them.
6744
6745 2000-10-28  Tor Lillqvist  <tml@iki.fi>
6746
6747         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
6748         to get a double directory separator in case the home directory
6749         ends with one. This would cause trouble especially on Windows,
6750         where the path will be confused with the syntax for an an UNC
6751         (network share) path \\server\share\path.
6752         (gtk_rc_add_initial_default_files): Ditto.
6753
6754 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
6755
6756         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
6757
6758         * gtk/gtktextview.c: Use correct marshallers.
6759
6760 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
6761
6762         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
6763         use new iter stuff, and added all the appropriate signals et al.
6764
6765         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
6766         code is internal to gtk only.
6767
6768 2000-10-28  Tor Lillqvist  <tml@iki.fi>
6769
6770         * gtk/gtk.def
6771         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
6772         glib-genmarshal etc.
6773
6774 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
6775
6776         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
6777         parallel builds.
6778
6779 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
6780
6781         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
6782
6783 2000-10-27  Robert Brady  <robert@suse.co.uk>
6784
6785         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
6786         en_GB (British), ia (Interlingua).
6787
6788 2000-10-26  Havoc Pennington  <hp@redhat.com>
6789
6790         * gtk/gtktextiter.c (my_strrstr): fix constness warning
6791
6792         Fixed output of:
6793         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
6794         
6795         * gtk/gtktextsegment.c (char_segment_new): rename
6796         (_char_segment_new_from_two_strings): rename
6797         (_toggle_segment_new): rename
6798         
6799         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
6800         (make_clipboard_widget): make it static
6801         (text_get_func): static
6802         (text_clear_func): static
6803
6804         * gtk/gtkcolorsel.c (adjustment_changed): make this function
6805         static
6806         (hex_changed): make it static
6807         (hsv_changed): make it static
6808         (opacity_entry_changed): make it static
6809
6810         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
6811         (toggle_segment_check_func): rename with _gtk
6812
6813         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
6814         (_widget_segment_new): rename
6815         (_widget_segment_add): rename
6816         (_widget_segment_remove): rename
6817         (_widget_segment_ref): rename
6818         (_widget_segment_unref): rename
6819
6820         * gtk/gtktextmark.c (_mark_segment_new): Rename
6821         _gtk_mark_segment_new   
6822
6823 2000-10-26  Havoc Pennington  <hp@redhat.com>
6824
6825         * gtk/gtkmarshal.list: add new marshallers used by the text widget
6826         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
6827         types
6828
6829         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
6830         marshaller types
6831
6832         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
6833         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
6834         license on these files.
6835
6836         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
6837         work.
6838
6839         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
6840         runtime random number different for each tree, instead of 
6841         a constant I made up.
6842
6843 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
6844
6845         * gtk/Makefile.am: buncha cleanups, kludged build sources
6846         dependencies with a Makefile: oldest-source-stamp dependancy
6847         for the moment. automake is really fighting us here, with
6848         intentionally not allowing user-defined rules or dependancies
6849         prior to it's -include $(DEP_FILES) statement. sucks rocks!
6850
6851         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
6852         to public headers. tehy have a comment stating that they are
6853         "semi-public" aren't included by gtk.h and if enums popup there,
6854         they can be /*< skip >*/-ed.
6855
6856         * gtk/gtktextlayout.h: 
6857         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
6858         added LGPL... <SIGH>
6859
6860 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
6861
6862         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
6863         GtkTreeIter.  Added iterators everywhere.
6864
6865         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
6866
6867         * gtk/gtktreeviewselection.c: Changed to use the iterators.
6868
6869         * gtk/gtktreestore.c: Changed to use the iterators.
6870
6871         * gtk/gtkliststore.c: Commented out the code.  Will convert to
6872         iterators tomorrow.
6873
6874         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
6875         iterators tomorrow.
6876
6877         * gtk/treestoretest.c: Changed to use iterators.
6878
6879         * demos/testgtk/main.c: Moved to use the new iterator system.
6880
6881 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
6882
6883         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
6884         localization misbehaviour.
6885
6886         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
6887         a useless type without copy/free.
6888
6889         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
6890         of GTK_TYPE_CTREE_NODE.
6891
6892 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
6893
6894         * gtk/gtksignal.c:
6895         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
6896         applicable.
6897
6898         * gtk/gtk-boxed.defs (GtkSelectionData): specify
6899         gtk_selection_data_copy and gtk_selection_data_free
6900         do GtkSelectionData work as params in signals.
6901
6902 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
6903
6904         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
6905         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
6906         couldn't they at least give it a non-standard name?
6907         
6908         * gtk/gtktextlayout.c: arg! yet another implementation of
6909         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
6910
6911         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
6912         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
6913         home. now i know this _is_ a conspiracy.
6914
6915         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
6916         ::state-changed.
6917
6918         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
6919         (gtk_accel_group_create_add): marshaller signature fixups.
6920
6921         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
6922         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
6923
6924         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
6925         anymore.
6926
6927 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
6928
6929         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
6930         due to the signal system changes, it wouldn't build currently. to
6931         be fixed soon.
6932
6933         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
6934
6935         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
6936         so it needs gtk_marshal_VOID__ENUM() instead of
6937         gtk_marshal_NONE__UINT().
6938
6939         * gdk/gdk*.c: adapted type registration functions.
6940
6941         * gtk/gtkbindings.c:
6942         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
6943         gone.
6944
6945         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
6946
6947         * gtk/gtkobject.c:
6948         (gtk_object_destroy):
6949         (gtk_object_shutdown): fixed recursion guards. basically we have to
6950         catch the case where any of GObject.shutdown() or gtk_object_destroy()
6951         is called during ::destroy, and avoid recursion there.
6952
6953         * gtk/gtktypeutils.c:
6954         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
6955         boxed_copy/boxed_free. this needs a more general solution based on a
6956         publically installed code-generator utility.
6957
6958         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
6959         glib's gobject has support for that now.
6960         define GtkSignalMarshaller in terms of GSignalCMarshaller.
6961
6962 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
6963
6964         * gtk/gtksignal.[hc]:
6965         * gtk/gtkmarshal.[hc]:
6966         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
6967         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
6968         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
6969         care of that.
6970
6971         * *.c: marshaller name fixups.
6972
6973         * gtk/gtkmarshal.list: added a comment briefing the format.
6974
6975 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
6976
6977         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
6978         compatibility macros here now. more specifically, most of
6979         the API is preserved (yes, _most_, nonwithstanding the
6980         following exceptions listed, the API is stil lHUGE ;)
6981         things that got removed completely:
6982         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
6983         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
6984         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
6985         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
6986         gtk_signal_remove_emission_hook().
6987         non-functional functions variants:
6988         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
6989         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
6990         not supported anymore.
6991         (gtk_signal_compat_matched): new internal function to aid
6992         implementation of the compatibility macros, it  provides
6993         functionality to block/unblock/disconnect handlers based
6994         on func/data.
6995
6996         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
6997
6998         * *.c: adaptions to new type registration API signatures.
6999
7000 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
7001
7002         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
7003
7004 2000-10-25  Robert Brady  <robert@suse.co.uk>
7005
7006         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
7007         gdk_property_delete): If window == NULL, assume the root window.
7008         (restoring the behaviour that was in 1.2).
7009         
7010         * gtk/testtext.c (save_buffer): Allow creation of new files when
7011         saving.
7012
7013         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
7014         calls to read().
7015
7016 2000-10-25  Tor Lillqvist  <tml@iki.fi>
7017
7018         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
7019
7020         * gdk/win32/gdkdrawable-win32.c
7021         * gdk/win32/gdkimage-win32.c
7022         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
7023         X11 backend.
7024
7025         * gdk/win32/gdkcc-win32.c
7026         * gdk/win32/gdkcolor-win32.c
7027         * gdk/win32/gdkfont-win32.c
7028         * gdk/win32/gdkinput-win32.c
7029         * gdk/win32/gdkmain-win32.c
7030         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
7031
7032 2000-10-24  Havoc Pennington  <hp@redhat.com>
7033
7034         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
7035         it a static function
7036
7037         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
7038         redraw text when a tag is applied to it.
7039
7040         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
7041         (gtk_text_tag_affects_nonsize_appearance): private functions to
7042         see if a tag requires various kinds of redraw/layout to be queued
7043         up.
7044
7045         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
7046
7047         * gtk/testtext.c (fill_example_buffer): Put the cursor 
7048         at the start of the buffer, so search works by default
7049
7050         * gtk/gtktextiter.c (lines_match): init match_start always
7051
7052         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
7053         function, get iter at a line + a byte index
7054
7055         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
7056         to set byte position within a line
7057         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
7058
7059 2000-10-23  Havoc Pennington  <hp@redhat.com>
7060
7061         * gtk/testtext.c: Re-enable the "find" dialog
7062
7063         * gtk/testgtk.c: Add test for gdk_drawable_get_image
7064         
7065         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
7066         the arguments to gdk_draw_drawable were in the wrong order
7067         (gdk_window_paint_init_bg): This function was ignoring the
7068         init_region, instead of clipping to it, so the entire backing
7069         pixmap was cleared on every begin_paint()
7070         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
7071         was in here again, the loop kept using the same GtkWindowPaint
7072         over and over.
7073         (gdk_window_begin_paint_region): Fix a bug where we had two
7074         x_offset instead of x_offset and y_offset
7075
7076         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
7077         before we get the image.
7078         (gdk_draw_drawable): get the composite before we draw the drawable.
7079         (gdk_drawable_real_get_composite_drawable): default
7080         get_composite_drawable implementation that returns the drawable 
7081         itself
7082
7083         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
7084         get_composite_drawable virtual function
7085
7086         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
7087         list-walking bug
7088
7089         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
7090         make this work if the source drawable is a GdkDrawableImplX11
7091         instead of a public drawable type. This is really broken; the
7092         problem is that GdkDrawable needs a virtual method get_xid(), but
7093         of course that doesn't work in practice. Enter RTTI.
7094
7095         Also, improve mismatched depth message.
7096
7097         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
7098         GdkPixmap
7099
7100         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
7101         install _gdk_x11_get_image as our implementation of get_image
7102         
7103         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
7104         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
7105
7106         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
7107         gdk_drawable_get_image
7108
7109         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
7110
7111         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
7112         get_image
7113
7114         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
7115         trailing semicolon after for loop
7116
7117 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
7118
7119         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
7120         where font_desc for widget's context lagged widget's font_desc by
7121         one step.
7122
7123 2000-10-22  Tor Lillqvist  <tml@iki.fi>
7124
7125         * gdk/win32/gdkgc-win32.c
7126         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
7127
7128         * gtk/makefile.mingw.in
7129         * gtk/gtk.def: Updates.
7130
7131         * gtk/testgtk.c: sleep() is called _sleep in MS's C
7132         library.
7133
7134         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
7135
7136         * gtk/makefile.msc: Remove
7137
7138         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
7139
7140         * gtk/Makefile.am: Add it.
7141
7142         * configure.in: Generate it.
7143
7144         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
7145         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
7146         something even if not implemented, to satisfy picky MSVC.
7147
7148         Patches by Hans Breuer:
7149         
7150         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
7151         SetBkMode() and SetTextAlign() before calling
7152         pango_win32_render().
7153
7154         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
7155         Set hcliprgn to NULL after destroying it.
7156         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
7157
7158         * gdk/win32/gdkgeometry-win32.c
7159         (_gdk_windowing_window_queue_antiexpose): More effective
7160         implementation.
7161
7162         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
7163         depth as default, not the visual's.
7164
7165         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
7166         against empty title.
7167
7168         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
7169         IMAGE_PRIVATE_DATA.
7170
7171         * gdk/win32/gdkimage-win32.c: Use it.
7172
7173 2000-10-22  Robert Brady  <robert@suse.co.uk>
7174
7175         * configure.in: Check for bind_textdomain_codeset
7176
7177         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
7178         present, make use of it.
7179
7180         Add a translatable string "default:LTR" which, if translated
7181         to "default:RTL", will cause the default direction to be
7182         Right-to-Left.
7183
7184         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
7185         direction if marked as flippable.
7186
7187         * gtk/gtkhscale.c: Mark widget as flippable.
7188         
7189 2000-10-04  Havoc Pennington  <hp@redhat.com>
7190
7191         * gtk/testgtk.c (create_buttons): create some stock buttons
7192         with the default accel group
7193         (create_image): test some new GtkImage features
7194         (make_message_dialog): test GtkMessageDialog
7195         (create_modal_window): fix someone's bizzarro indentation
7196
7197         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
7198         GTK_WIN_POS_CENTER_ON_PARENT. 
7199         Add "destroy with parent" setting, which means the window goes
7200         away with its transient parent.
7201         (gtk_window_get_default_accel_group): get the default accel group
7202         for the window.
7203         (gtk_window_set_destroy_with_parent): set/unset destroy with
7204         parent flag
7205         (gtk_window_read_rcfiles): invalidate icon set caches
7206         after reloading rcfiles 
7207
7208         * gtk/gtkenums.h (GtkWindowPosition): add
7209         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
7210         on its parent window when the dialog is mapped for the first time.
7211
7212         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
7213         a simple message dialog class
7214         
7215         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
7216         handler to emit response signal, and maybe later it would
7217         honor a hide_on_delete flag - though that isn't there yet.
7218         Set border width on the vbox to 2, so we get some padding.      
7219         Use a button box for the action area.
7220         (gtk_dialog_key_press): synthesize a delete event if Esc
7221         is pressed and the GtkWidget key press handler didn't 
7222         handle the escape key.
7223         (gtk_dialog_new_with_buttons): new function creates a dialog
7224         with some default buttons in it.
7225         (gtk_dialog_add_action_widget): add an activatable widget
7226         as a button in the dialog - you can also add a non-activatable
7227         widget by accessing the action area directly.
7228         (gtk_dialog_add_button): add a simple button - stock ID or 
7229         label - to the action area
7230         (gtk_dialog_response): emit response signal
7231         (gtk_dialog_run): block waiting for the dialog, return 
7232         the response. Override normal delete_event behavior, so that 
7233         delete_event does nothing inside gtk_dialog_run().
7234
7235         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
7236         emitted when an action widget is clicked or the dialog gets
7237         delete_event
7238
7239         * gtk/gtk.h: add gtkmessagedialog.h
7240
7241         * gtk/Makefile.am: add gtkmessagedialog.[hc]
7242
7243 2000-10-18  Havoc Pennington  <hp@redhat.com>
7244
7245         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
7246         where any number of empty lines would get skipped
7247
7248         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
7249         edge.
7250
7251         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
7252         warning about invalid iterators (explain more thoroughly)
7253         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
7254
7255         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
7256         big
7257
7258         * demos/*.c: Add error handling
7259
7260         * gtk/gtktextbuffer.c: don't modify const iterators
7261
7262         * gtk/gdk-pixbuf-loader.c: Add full error handling here
7263
7264         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
7265         on file load
7266
7267         * gtk/gtkiconfactory.c: Update to reflect addition of error
7268         handling to gdk-pixbuf loaders
7269
7270 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
7271
7272         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
7273         move to new modularized testgtk.
7274
7275 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
7276
7277         * gtk/gtktreeview.c: Draw the arrows correctly.
7278
7279         * gtk/gtktreemodel.c: Added user docs.
7280
7281         * gtk/gtk.h: remove gtktreedatalist.h.
7282
7283         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
7284         parent when generating my type.
7285
7286         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
7287         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
7288
7289 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
7290
7291         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
7292         GtkTreeModel from object to interface.
7293
7294 2000-10-16  Havoc Pennington  <hp@redhat.com>
7295
7296         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
7297         compilation
7298
7299 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
7300
7301         * gtk/gtktreeselection.c: Add API documentation to all public
7302         functions.
7303
7304         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
7305         functions.
7306
7307 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
7308
7309         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
7310         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
7311         docs to all public functions.
7312
7313         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
7314         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
7315         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
7316         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
7317         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
7318         issue.
7319
7320 2000-10-14  Robert Brady  <robert@suse.co.uk>
7321
7322         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
7323
7324 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
7325
7326         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
7327         values other then G_TYPE_STRING.
7328         * gtk/gtktreeselection.c: Minor commenting updates.
7329         * gtk/gtktreeview.c: Format updates.
7330
7331 2000-10-09  Tor Lillqvist  <tml@iki.fi>
7332
7333         * README.win32: Update.
7334
7335         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
7336         lines that had been deleted by mistake (?).
7337
7338         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
7339         also the case fg==white and bg==black (but still not randomly
7340         coloured cursors). Thanks to Wolfgang Sourdeau.
7341
7342         * gdk/win32/*.c: Silence gcc -Wall.
7343
7344         * gtk/gtk.def: Add missing entry points.
7345
7346         Fixes by Hans Breuer:
7347
7348         * gdk/makefile.msc
7349         * gdk/win32/makefile.msc: Update.
7350
7351         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
7352         some MSVC thing, presumably), cause breakpoint on failures. Add
7353         GDK_NOR case. Call g_log_set_always_fatal.
7354
7355         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
7356         should be pased by reference.
7357         
7358         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
7359         
7360         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
7361
7362         * gdk/win32/gdkevents-win32.c
7363         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
7364
7365         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
7366         implementation object.
7367
7368         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
7369         not just windows.
7370         
7371         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
7372         Use the wrapper object.
7373         
7374 2000-10-06  Havoc Pennington  <hp@redhat.com>
7375
7376         * Makefile.am (SRC_SUBDIRS): contrib subdir
7377
7378         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
7379         so it can be used in Xlib version
7380
7381         * demos/testpixbuf.c (update_timeout): error checking from 1.0
7382         tree
7383
7384         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
7385         change from 1.0 tree that returns first frame of animation
7386         if the loaded file is an animation.
7387
7388         * contrib: add new directory to hold stuff that comes with GTK+
7389         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
7390         
7391         * configure.in: add contrib/*
7392
7393 2000-10-05  Havoc Pennington  <hp@redhat.com>
7394
7395         * demos/testpixbuf-save.c: add pixbuf save test
7396
7397         * demos/Makefile.am: add testpixbuf-save.c
7398
7399 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
7400
7401         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
7402         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
7403         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
7404         * gtk/gtktreeselection.[ch]: Replaced
7405         "node_selected"/"node_unselected" signal with "selection_changed"
7406         signal.
7407
7408 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
7409
7410         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
7411         tree widget.
7412
7413 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
7414
7415         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
7416         drawing.
7417
7418 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
7419
7420         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
7421         Move list pointer forwards before removing item from
7422         list. (Crash reported by Salmaso Raffaele)
7423
7424         * gdk/gdkwindow.h: Remove spurious trailing ,
7425
7426         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
7427         dependencies on uninstalled libraries, sorry folks.
7428
7429 2000-10-04  Havoc Pennington  <hp@redhat.com>
7430
7431         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
7432         gtk/gtkiconfactory.c: Fix copyrights    
7433
7434         * demos/testpixbuf.c: add inline pixbuf test
7435         
7436 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
7437
7438         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
7439         Add gdk_window_iconify.
7440
7441         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
7442         (gdk_window_set_geometry_hints): Add win_gravity
7443         to geometry structure.
7444
7445         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
7446         Implement _NET_WM_PING.
7447
7448         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
7449         Set _NET_WM_PID on the client leader.
7450
7451         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
7452         Handle UTF-8 better.
7453
7454         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
7455         UTF-8 better, set _NET_WM_NAME as well. Only set
7456         icon name if it hasn't previously been explicitely 
7457         set.
7458
7459 2000-10-03  Havoc Pennington  <hp@redhat.com>
7460
7461         * gtk/testtextbuffer.c: clean up trailing whitespace,
7462         add extensive tests for tag toggle iteration.
7463         
7464         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
7465         distance
7466
7467         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
7468         optimize case where the tag root is on level 1
7469         (gtk_text_line_previous_could_contain_tag): attempt to implement
7470         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
7471         functionality
7472
7473         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
7474         Implement this, though not very efficiently.
7475
7476         * gtk/gtktextiterprivate.h: reformat
7477
7478         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
7479         iterator
7480
7481         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
7482         this to properly revalidate the iterators.
7483
7484         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
7485         properly at the end of the line (and therefore on empty lines)
7486
7487         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
7488         maybe we should return a value...
7489
7490 2000-10-03  Tor Lillqvist  <tml@iki.fi>
7491
7492         * config.h.win32: Guard definition of alloca(). glib.h now handles
7493         that.
7494
7495         * gdk/gdk.def
7496         * gtk/gtk.def: Add new entry points.
7497
7498         Changes just to make GTK+ build without errors on Win32. No hope
7499         of it working in its current state, though...:
7500         
7501         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
7502         some functions from the X11 backend, just to make GTK+ build.
7503
7504         * gdk/makefile.mingw.in
7505         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
7506         number. Add new object files.
7507
7508         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
7509         GetMessageTime to get timestamp (where on X11 uses
7510         gdk_x11_get_server_time()).
7511
7512 2000-10-02  Havoc Pennington  <hp@pobox.com>
7513
7514         * gtk/gtktextview.c: text_window_* weren't static and should have
7515         been.
7516         Start work on child widgets; not yet complete, syncing to 
7517         office computer.
7518
7519         * gtk/gtktextchild.h: change this to contain a public interface,
7520         starting work on child interfaces.
7521         * gtk/gtktextchildprivate.h: move private interfaces here
7522
7523         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
7524
7525         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
7526         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
7527         gtk/gtktextmark.c: copyright notices
7528
7529         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
7530         internal functions      
7531
7532         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
7533         internal function
7534
7535         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
7536         Reformatting    
7537
7538 2000-09-30  Havoc Pennington  <hp@pobox.com>
7539
7540         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
7541         NULL start/end pointers
7542
7543         * gtk/gtktextbuffer.c: Write some docs
7544         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
7545         NULL, so you can just check whether there's a selection.        
7546
7547         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
7548         cleanup_line or segments_changed ourselves, it gets done 
7549         in unlink_segment
7550
7551         * gtk/gtktextmark.h:
7552         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
7553         
7554         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
7555
7556         * gtk/gtktextmark.c: delete some more old Tk cruft
7557
7558         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
7559         mark before removing it, so we can emit MARK_DELETED with a valid
7560         pointer.
7561         (gtk_text_buffer_mark_set): hold ref across signal emission
7562
7563         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
7564         whining about attempts to delete special marks
7565
7566         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
7567         underscore, since it's internal.
7568
7569         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
7570         now implemented in terms of iterators in gtktextiter.h
7571
7572         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
7573         New function, destructively sets contents of buffer. Also 
7574         a convenient way to clear the buffer by setting text to ""
7575
7576         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
7577         multiline string literal
7578
7579         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
7580         text changes.
7581
7582         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
7583         is not dereferenceable
7584         (gtk_text_iter_forward_lines): fix return value
7585
7586 2000-09-29  Havoc Pennington  <hp@redhat.com>
7587
7588         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
7589
7590         * gtk/gtktextview.c: Implement drag thresholding; change functions 
7591         that set border window size to have nicer name
7592         (gtk_text_view_mark_set_handler):  Fix this to have the 
7593         right signature.
7594
7595         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
7596
7597         * gtk/testtext.c: Update with API changes, put line numbers on 
7598         both sides.
7599         
7600         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
7601         with this
7602
7603         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
7604         pixbuf; delete a big block of #if 0 Tk code
7605
7606         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
7607         insert_pixmap with insert_pixbuf
7608
7609 2000-09-29  Martin Baulig  <baulig@suse.de>
7610
7611         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
7612         confusion with the GdkPixbuf of the GNOME 1.x platform.
7613
7614 2000-09-29  Havoc Pennington  <hp@pobox.com>
7615
7616         * gtk/gtktextview.c: Implement the side windows.
7617
7618         * gtk/testtext.c: Implement simple line numbering in the 
7619         left side window; seems to make scrolling sloooow. Oops.
7620         Also, cursor blink is for some reason causing redraws
7621         of the line numbers. Should investigate...
7622
7623 2000-09-28  Havoc Pennington  <hp@redhat.com>
7624
7625         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
7626         scrolling child windows, and draw focus rectangle properly.
7627         
7628         (gtk_text_view_buffer_to_window_coords):
7629         Coordinate transformation to deal with all these freaking windows
7630         and offsets
7631         (gtk_text_view_window_to_buffer_coords): transform the other way
7632
7633         * gtk/testtext.c (create_buffer): Update to match Pango API change
7634
7635         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
7636         anonymous tags
7637         (foreach_unref): don't emit remove signal from finalize, just
7638         set tag's parent to NULL
7639
7640 2000-09-26  Havoc Pennington  <hp@redhat.com>
7641
7642         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
7643         Fix some warnings       
7644
7645 2000-09-26  Havoc Pennington  <hp@redhat.com>
7646
7647         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
7648         headers into the private header list
7649
7650         * Makefile.am (pkgconfig_DATA): install pkg-config files
7651
7652         * configure.in: add pkg-config files
7653
7654         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
7655
7656         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
7657         outstanding icon caches on theme change.
7658
7659         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
7660         important types:
7661
7662         (GtkIconSource): Specification for creating a pixbuf 
7663         appropriate for a direction/state/size triplet from 
7664         a source pixbuf or filename
7665
7666         (GtkIconSet): List of GtkIconSource objects that are used to
7667         create the "same" icon (e.g. an OK button icon), and cache for
7668         rendered icons
7669
7670         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
7671         up the icon set for a given stock ID.  GTK maintains a stack of
7672         GtkIconFactory to search, and applications or libraries can add
7673         additional icon factories on top of the stack
7674         
7675         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
7676         the set of GtkIconSource specified for a given stock ID into 
7677         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
7678         RcStyle, under the specified stock ID.
7679
7680         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
7681         render_icon used to derive a GdkPixbuf from a GtkIconSource.
7682         This allows people to theme how prelight, insensitive, etc. are
7683         done.
7684
7685         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
7686         icon factories for a style, and return the resulting 
7687         icon set if any.
7688
7689         (gtk_style_render_icon): Render an icon using the render_icon 
7690         method in the GtkStyleClass.
7691
7692         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
7693         Use the style for a given widget to look up a stock ID, get the
7694         icon set, and render an icon using the render_icon method 
7695         of the style
7696
7697         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
7698         (contains information about a stock item), the built-in stock item
7699         IDs, and functions to add/lookup stock items.
7700
7701         * gtk/stock-icons/*: Stock icons that come with GTK
7702
7703         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
7704         a button based on a GtkStockItem
7705         (gtk_button_new_accel): Takes a uline string and accel group, and
7706         installs the accelerator.
7707
7708         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
7709         image-display widget.
7710
7711 2000-09-25  Havoc Pennington  <hp@redhat.com>
7712
7713         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
7714
7715         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
7716         Fix a bug when removing node data, we didn't properly 
7717         re-splice the linked list after removing the data.
7718
7719         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
7720         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
7721
7722         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
7723
7724         * gtk/gtktextlayout.c (set_para_values): Set tab array 
7725         for the layout from the GtkTextTag.
7726
7727         * gtk/gtktexttypes.h: delete tab and search cruft, 
7728         remove g_convert() in favor of GLib version
7729
7730         * gtk/gtktexttypes.c: remove tab implementation from here,
7731         move to Pango
7732
7733         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
7734         tab stuff using new PangoTabArray from Pango
7735
7736         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
7737         unused border_width stuff
7738
7739 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
7740
7741         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
7742         glib) and now useless utf_to_latin1() latin1_to_utf()
7743
7744         * gtk/gtktextview.[ch]: Change ::move_insert and
7745         ::delete_text action signals to ::move and ::delete;
7746         create the signals with the right enumeration type,
7747         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
7748         C-v bindings, change Home, End to move to beginning/end
7749         of line, Add C-Home C-End to move to beginning/end
7750         of buffer. Change ::cut_text to ::cut_clipboard, etc;
7751         combine ::scroll_text into ::move; use new GtkSelectionData
7752         functions to simplify DND text handling.
7753         
7754         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
7755         deletion enumerations here, rename enumeration values to 
7756         be consistently plural.
7757
7758         * gtk/gtktextbuffer.c: Use new clipboard interfaces
7759         for cut/copy/paste and primary selection.
7760
7761         * gtk/gtktextbuffer.[ch]: Remove excess time and
7762         'interactive' arguments from cut/copy/paste;
7763         rename cut to cut_clipboard, etc; remove
7764         gtk_text_buffer_get_clipboard_contents().
7765
7766         * gtk/gtktextlayout.[ch]: Add 
7767         gtk_text_layout_move_iter_to_line_end() to move the iter to 
7768         line ends.
7769
7770         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
7771         Functions to set or get a UTF-8 string on the selection
7772         data.
7773
7774         * gtk/gtkclipboard.[ch]: New, simplified selection handling
7775         interfaces.
7776
7777         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
7778         created widgets - one of these is useless if we don't.
7779
7780         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
7781         a public function clear all targets registered for the
7782         widget.
7783
7784         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
7785         Never call gtk_widget_realize() - that was just asking
7786         for bizarre side-effects.
7787
7788         * gtk/gtkselection.c (gtk_selection_owner_set): Call
7789         gdk_selection_owner_set even if the widget is the
7790         same so that we reliably update the timestamp on
7791         the server.
7792
7793         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
7794         gdk_x11_get_server_time() function.
7795         
7796         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
7797         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
7798         Add some tricky filtering on serial numbers for
7799         selection clear events to fix up long-standard
7800         race condition FIXME's in gtkselection.c.
7801
7802         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
7803         routines to convert from utf8 to compound text or
7804         STRING and from a text property to UTF-8.
7805
7806         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
7807         a convenience function gdk_get_current_event_time().
7808
7809         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
7810         and free selection_data->data properly
7811
7812 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
7813
7814         * gtk/gtkthemes.c: Remove some unecessary includes.
7815
7816 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
7817
7818         * gtk/gtktextdisplay.c
7819         * gtk/gtktextlayout.c
7820         * gtk/gtktexttag.c
7821         * gtk/gtktexttag.h
7822         * gtk/testtext.c: Change the overstrike property to strikethrough,
7823         to closer match pango.
7824
7825 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
7826
7827         * gtk/gtktextview.c: Fix up visibility so that focus,
7828         cursor_visible and blink interact properly.  Reenable cursor blink
7829         which had been roughly disabled. Make blink and focus
7830         properly per-view.
7831
7832         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
7833         Add a flag for whether to display insertion cursor and
7834         a function to set the flag.
7835
7836         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
7837         get_line_y() to get_line_yrange(), to be a bit more generally
7838         useful.
7839
7840 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
7841
7842         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
7843           do stop_navigating_submenu, to clear last timeout properly.
7844           Also in gtk_menu_motion_notify move ignore_enter above
7845           the conditional to make it always happen as suggested by Owen
7846
7847 2000-09-07  Tor Lillqvist  <tml@iki.fi>
7848
7849         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
7850
7851         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
7852         w32api headers.
7853
7854         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
7855         declarations.
7856
7857         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
7858         (gdk_win32_get_colormap): A line had been deleted by mistake.
7859
7860         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
7861         (gdk_event_translate): Handle more virtual keycodes to be able to
7862         generate GDK events for Control-comma, Control-period, etc.
7863
7864         * gtk/gtk.def: Add some missing entry points.
7865
7866 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
7867
7868         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
7869         Doc comment fixing. (Mostly non-matching parameter names.)
7870
7871         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
7872         comments a little to avoid looking like a doc comment.
7873
7874         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
7875         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
7876         conversions be changed to GError?)
7877
7878         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
7879         Move private #defines into .c file.
7880
7881         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
7882         order of argument addition, remove duplicates.
7883
7884         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
7885         parent class is FrameClass, not BinClass.
7886
7887         * gtk/gtk.h: Add gtkinvisible, which was missing.
7888         (It's occasionalyl useful for client apps, if seldom.)
7889
7890         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
7891         #define.
7892
7893 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
7894
7895         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
7896         coordinates when creating window, instead of GDK-space
7897         coordinates. (Avoid BadValue on too large windows.)
7898
7899 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
7900
7901         * configure.in (use_mmx_asm): Remove conftest* after use along the
7902         lines of AC_TRY_COMPILE.        
7903         
7904         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
7905         of g_dirname, which is deprecated.
7906         (gtk_rc_parse_any): Removed calls to
7907         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
7908
7909         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
7910         Removed calls to g_hash_table_{freeze,thaw}, as they are
7911         deprecated now.
7912
7913         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
7914         instead of g_basename.
7915         
7916 2000-09-04 Elliot Lee <sopwith@redhat.com>
7917         
7918         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
7919         ANSI warning.
7920
7921 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
7922
7923         * gtk/gtkwidget.h:  Add some documenting comments about 
7924           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
7925           just as owen said on irc.
7926
7927         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
7928           set HAS_DEFAULT.  Only set it if there isn't another window
7929           holding it (a focus window which RECEIVES_DEFAULT) and only unset
7930           it if the widget is not the focused window with RECEIVES_DEFAULT.
7931           This fixes weird double default bugs in dialogs which has things
7932           call gtk_window_set_default at times.
7933
7934 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
7935
7936         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
7937         Nils Barth and David Santiago to improve submenu
7938         navigation. The patch does this by creating a triangular
7939         region from the point where the pointer leaves the
7940         menu to the submenu.  While the pointer is in
7941         that region and a timeout has not expired, events 
7942         that would cause the active submenu to change are
7943         ignored.
7944
7945 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
7946
7947         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
7948         moving a toplevel window immediately after sizing it would
7949         result in it being sized back to the old size since 
7950         impl->width, impl->height aren't updated until we hear
7951         back from the server. There is still a (longstanding) bug
7952         here that gdk_window_get_size() will give the wrong size
7953         until we do hear back.
7954
7955 2000-08-31  Havoc Pennington  <hp@redhat.com>
7956
7957         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
7958         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
7959         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
7960         Rename GtkTextStyleValues to GtkTextAttributes
7961
7962 2000-08-31  Havoc Pennington  <hp@pobox.com>
7963
7964         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
7965         for rapid testing whether an iterator is the end iterator
7966         (gtk_text_btree_new): init end line cache
7967         (gtk_text_line_is_last): use fast cached line to 
7968         see if we're the last line.
7969         (get_last_line): use cached line here too, should 
7970         speed up some random unrelated code.
7971         
7972 2000-08-30  Havoc Pennington  <hp@pobox.com>
7973
7974         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
7975         signals.
7976
7977         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
7978         delete_text signals. This allows the signals to be used for
7979         implementing undo.
7980
7981         * gtk/gtktextbuffer.c: Change signal handler signatures; 
7982         provide "interactive" argument when emitting insert_text or
7983         delete_text signal.
7984         
7985 2000-08-30  Havoc Pennington  <hp@pobox.com>
7986
7987         * gtk/gtktextbuffer.c: Docs
7988
7989 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
7990
7991         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
7992         from switch statements, since Tor removed the enumeration
7993         value.
7994         
7995         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
7996         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
7997
7998 2000-08-29 Elliot Lee <sopwith@redhat.com>
7999         * */*.h: Use G_GNUC_CONST.
8000
8001 2000-08-27  Havoc Pennington  <hp@pobox.com>
8002
8003         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
8004         minor indentation fixes, inserted some FIXME about stuff I
8005         realized was broken while documenting it.
8006         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
8007         GTK convention  
8008
8009 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
8010
8011         * gtk/testgtk.c (create_styles): Fix double free of
8012         font desc.
8013
8014 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8015
8016         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
8017         
8018         * gtk/testgtk.c (create_styles): Add a test for modifying
8019         the style through gtk_widget_modify_*.
8020
8021         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
8022         a function to get the current modifier style.
8023
8024         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
8025         of the passed in GtkRcStyle instead of ref'ing it.
8026
8027         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
8028
8029 2000-08-20  Tor Lillqvist  <tml@iki.fi>
8030
8031         * gdk/gdkimage.h
8032         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
8033         shared memory image+pixmap GdkImage type, or
8034         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
8035         I am dropping that.
8036
8037         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
8038         actually call gtk_init_abi_check(), passing also
8039         sizeof(GtkWindow). Ditto for gtk_init_check(). 
8040
8041         * gtk/gtk.def
8042         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
8043         New functions, used to check that the GTK+-using code has been
8044         compiled using the correct compiler and switches. In particular,
8045         with gcc one has to use the -fnative-struct switch as GTK+ is
8046         compiled with that.
8047
8048 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
8049
8050         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
8051         ->prev fields when merging lists. (Found simultaneously
8052         by Pawel Salek and Jakub Jelinek)
8053
8054 2000-08-12  Tor Lillqvist  <tml@iki.fi>
8055
8056         * gdk/gdk.def
8057         * gtk/gtk.def: Add missing entries.
8058
8059         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
8060         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
8061
8062         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
8063         function. Dummy implementation at this point.
8064
8065         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
8066         rules. Undefine GTK_COMPILATION when compiling the test programs.
8067         
8068         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
8069
8070 2000-08-11  Tor Lillqvist  <tml@iki.fi>
8071
8072         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
8073         to convert back and forth from UTF-8 and the "system" (or "current
8074         locale") charset when necessary. Indentation/spacing cleanup.
8075
8076 2000-08-10  Havoc Pennington  <hp@redhat.com>
8077
8078         * Makefile.am (snapshot): Change the format of the snapshot
8079         version to match glib
8080
8081         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
8082         from EXTRA_DIST since it doesn't seem to exist
8083
8084 2000-08-10  Tor Lillqvist  <tml@iki.fi>
8085
8086         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
8087         version of the directory name (not the UTF-8 one) when building
8088         the path name to stat().
8089
8090 2000-08-03  Elliot Lee  <sopwith@redhat.com>
8091
8092         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
8093         PANGO_ATTR_SHAPE set.
8094
8095 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
8096
8097         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
8098         Peter Osterlund to simplify the code while keeping the
8099         functionality the same.
8100
8101 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
8102
8103         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
8104         is_viewable() test further inside the function, since removing the 
8105         window from the redraw list without clearing ->update_area
8106         was also very broken.
8107
8108 2000-08-02  Tor Lillqvist  <tml@iki.fi>
8109
8110         * configure.in: Check for <unistd.h>.
8111
8112 2000-08-01  Martin Baulig  <baulig@suse.de>
8113
8114         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
8115         to display the message that this is a development version of GTK+.
8116
8117 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
8118
8119         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
8120         was depending on widget->allocation instead of the width of text_area,
8121         which was incorrect for subclasses like GtkSpinButton.
8122
8123         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
8124         with width == 1 tests that should be width == -1.
8125
8126 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
8127
8128         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
8129         (broken, Elliot, every single window blank on X) custom code with call
8130         to gdk_window_is_viewable() which a) prevents code duplicate and
8131         b) works. 
8132
8133 2000-07-31  Elliot Lee  <sopwith@redhat.com>
8134
8135         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
8136         to get the GDK_PARENT_ROOT() macro to work.
8137         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
8138         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
8139         of, windows that aren't shown.
8140         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
8141         pointer grab stuff.
8142
8143 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
8144
8145         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
8146           s/gtk_main_iteration/g_main_iteration/
8147
8148           Did this already in change:
8149                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
8150           don't know how it got reverted.
8151
8152 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
8153
8154         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
8155         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
8156
8157         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
8158         not gdk_pixbuf.
8159
8160 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
8161
8162         * configure.in,po/{sp,sr}.po: Added Serbian files
8163
8164 2000-07-30  Tor Lillqvist  <tml@iki.fi>
8165
8166         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
8167
8168         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
8169         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
8170         GIOChannel implementation.
8171
8172         * gdk/win32/gdkinput.c
8173         * gdk/win32/gdkpango-win32.c: Update license name here, too.
8174
8175         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
8176         definition to match prototype.
8177
8178         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
8179
8180 2000-07-27  Elliot Lee  <sopwith@redhat.com>
8181
8182         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
8183         function, to allow handling image formats that cannot be detected
8184         by looking at content alone.
8185
8186 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
8187
8188         * docs/tutorial/*.gif *.jpg *.eps
8189           Update these to the same look-n-feel.
8190           Why does including images in DocBook suck so badly?
8191
8192 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
8193
8194         * gtk/gtktable.c: applied patch from Phil Thompson
8195         <phil@river-bank.demon.co.uk> that enables space settings for
8196         the last row/columns as well.
8197
8198 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
8199
8200         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
8201         updates the license headers to the GNU Lesser General Public License,
8202         as well as updating the copyright year to 2000.
8203
8204 2000-07-26  Robert Brady  <rwb197@zepler.org>
8205
8206         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
8207           and po/Makefile, was installing and looking for them under gtk20
8208           and gtk2 respectively.
8209
8210 2000-07-25  Havoc Pennington  <hp@redhat.com>
8211
8212         * gtk/testtext.c: Comment out some stuff that depends on the rest
8213         of my patches.
8214
8215 2000-07-25  Havoc Pennington  <hp@redhat.com>
8216
8217         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
8218         buffer
8219
8220 2000-07-25  Havoc Pennington  <hp@redhat.com>
8221
8222         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
8223         widget changes.
8224
8225         * gtk/gtktextview.h: To be consistent with usage of "line"
8226         throughout the API to mean "newline-terminated thingy", change
8227         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
8228         to MOVEMENT_LINE.
8229
8230         (GtkTextView): Add flags for default editability, and whether to
8231         show the cursor. Add functions to get/set that. Add 
8232
8233         (gtk_text_view_get_iter_location): new function
8234
8235         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
8236         gtktextlayout.h
8237         (g_convert): Add g_convert temporarily, will go in glib in a bit
8238         
8239         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
8240         GtkTextTagTableForeach instead of brokenly using GHFunc.
8241         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
8242
8243         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
8244         moved to public header.
8245
8246         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
8247         "invisible", since "elide" was a bad name.
8248         (gtk_text_tag_get_priority): Added
8249
8250         (GtkTextStyleValues): put this in public header, along with
8251         functions to use it.
8252
8253         * gtk/gtktextmarkprivate.h: Include more headers, since we no
8254         longer include gtktextbtree.h.
8255
8256         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
8257         gtk_text_mark_deleted
8258
8259         * gtk/gtktextlayout.h: Don't include the "really private" headers,
8260         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
8261         to make this possible. Now we only need to install
8262         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
8263         (However the Makefile.am isn't changed yet because of the
8264         logistics of merging gtk-hp-patches piecemeal)
8265
8266         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
8267         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
8268         gtk_text_iter_get_line is now used in the public API for a
8269         different purpose.
8270
8271         * gtk/gtktextiter.h: Clean up function names to be more
8272         consistent. Always call char offset "offset" and byte index
8273         "index". A "line" is always a line number. 
8274
8275         (gtk_text_iter_is_last): new function, more efficient than 
8276         the existing way to check
8277         (gtk_text_iter_is_first): new function, also more efficient
8278
8279         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
8280
8281         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
8282         gtk_text_iter_forward_char, etc.
8283
8284         (gtk_text_iter_forward_to_tag_toggle): Renamed from
8285         forward_find_tag_toggle, since this isn't a linear search
8286
8287         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
8288
8289         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
8290         New functions, search for a buffer substring.
8291
8292         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
8293         interactive and default editable (since we need to store that info
8294         until we receive the selection data).
8295
8296         Remove all the _at_char and at_line etc. versions of functions;
8297         only have iterator versions.
8298
8299         Add _interactive() versions of functions, that consider the
8300         editability of text. (FIXME add interactive flag to the 
8301         insert/delete signals per Darin's suggestion)
8302
8303         (gtk_text_buffer_get_tag_table): new function, demand-creates the
8304         tag table if necessary
8305
8306         Remove declaration of gtk_text_buffer_get_iter_from_string
8307
8308         (_gtk_text_buffer_get_btree): private/internal function, added.
8309         
8310
8311         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
8312         (gtk_text_line_is_last): new function
8313
8314 2000-07-25  Havoc Pennington  <hp@redhat.com>
8315
8316         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
8317         using GtkProgressBar. See Changes-2.0.txt for details.
8318
8319         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
8320         "pulse_step" which are the equivalent of
8321         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
8322         Implement new API.
8323         
8324         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
8325         (use_text_format) to mark whether text set on the progress bar is
8326         a format string. Deprecate entire GtkProgress interface.
8327
8328         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
8329         (gtk_progress_build_string): make this a no-op if use_text_format
8330         is FALSE
8331
8332         * docs/Changes-2.0.txt: Describe progress bar changes.
8333
8334 2000-07-25  Tor Lillqvist  <tml@iki.fi>
8335
8336         * Makefile.am: Include the build directory.
8337
8338         * configure.in: Generate build/Makefile, build/win32/Makefile,
8339         gdk/, gdk/win32/, and gtk/makefile.mingw.
8340
8341         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
8342         Add GETTEXT_PACKAGE.
8343         
8344         * gdk/gdk.def
8345         * gtk/gtk.def: Updates.
8346
8347         * gdk/gdkfont.h
8348         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
8349         need them any longer.
8350
8351         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
8352
8353         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
8354         PANGOWIN32_LIBS and gdk_pixbuf.
8355
8356         * gdk/win32: Compiles, but no doubt doesn't work at all.
8357
8358         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
8359
8360         * gdk/win32/gdkinput.c: New file, temporarily.
8361         
8362         * gdk/win32/gdkinput-win32.h: New file
8363
8364         * gdk/win32/gdkinputprivate.h: Remove.
8365
8366         * gdk/win32/gdkpango-win32.c: New file.
8367
8368         * gtk/makefile.mingw.in: New file
8369
8370         * gtk/makefile.cygwin: Removed
8371         
8372         * gtk/Makefile.am: Update accordingly.
8373
8374         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
8375         made externally visible.
8376
8377         * gtk/gtkmain.c: Use it.
8378         
8379         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
8380         is enough.
8381
8382         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
8383
8384 2000-07-24 Elliot Lee <sopwith@redhat.com>
8385         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
8386         individual backends already.
8387         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
8388         again. Yes, there really is a good reason for this, if you are using the gdkregion
8389         internals, and if you're not, why do you care?
8390         * gdk/gdkwindow.c: Fix inverted condition
8391         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
8392         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
8393         * gtk/gtkrange.c: Redraw trough when moving.
8394         * gtk/gtktypeutils.c: Fix warning by adding const cast.
8395         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
8396
8397 2000-07-23  Tor Lillqvist  <tml@iki.fi>
8398
8399         * configure.in: Check for mkstemp and sigsetjmp. Output
8400         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
8401
8402         More work on GDK for Win32. Still in an intermediate state.
8403
8404         * gdk/makefile.cygwin
8405         * gdk/win32/makefile.cygwin: Removed.
8406         
8407         * gdk/makefile.mingw.in
8408         * gdk/win32/makefile.mingw.in: New files.
8409
8410         * gdk/Makefile.am
8411         * gdk/win32/Makefile.am: Generate and distribute them.
8412
8413         * gdk/win32/gdkwindow-win32.h
8414         * gdk/win32/gdkdrawable-win32.h
8415         * gdk/win32/gdkpixmap-win32.h: New files.
8416
8417         * gdk/win32/gdkcolor-win32.c
8418         * gdk/win32/gdkcursor-win32.c
8419         * gdk/win32/gdkdrawable-win32.c
8420         * gdk/win32/gdkgc-win32.c
8421         * gdk/win32/gdkimage-win32.c
8422         * gdk/win32/gdkprivate-win32.h
8423         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
8424         Rename fields and variables called xcursor, xid, etc (these names
8425         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
8426
8427 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
8428
8429         * gtk/gtkentry.[ch]: Fix some problems with vertical
8430         alignment.
8431
8432         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
8433         char/byte confusion.
8434
8435 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
8436
8437         * gtk/gtktextview.c (changed_handler): Fix bug where
8438         redraw wasn't being done properly when height of
8439         dirty region changed.
8440
8441         * demos/Makefile.am: Remove various references to
8442         -lgmodule
8443
8444 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
8445
8446         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
8447         PangoAttrShape to reserve space for pixmaps, add 
8448         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
8449         in the display functions.
8450         
8451         * gtk/testgtk.c (create_layout): Set some more exotic
8452         scrolled window options
8453
8454         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
8455         Add function to set the shadow type of a window, to allow
8456         putting a shadow around widgets such as GtkLayout or GnomeCanvas
8457         which don't draw their own frame.
8458
8459 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
8460
8461         * docs/tutorial/package-db-tutorial.sh: New file for
8462           packaging DocBook format tutorial
8463
8464 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
8465
8466         * docs/tutorial/gtk-tut.sgml: Minor updates
8467
8468         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
8469
8470 2000-07-19  Tor Lillqvist  <tml@iki.fi>
8471
8472         * gtk/gtksignal.c: Fix C++ comment.
8473
8474         * gtk/gtkimmulticontext.c
8475         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
8476         don't return value from void functions.
8477
8478         * gtk/gtk.def: Add gtk_rc_style_unref.
8479
8480 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
8481
8482         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
8483         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
8484         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
8485         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
8486         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
8487         gtk/gtktypeutils.h: Include files outside of the extern "C"
8488         block. Makes some C++ compiler happy. Reported by Denis Vakatov
8489         <vakatov@peony.nlm.nih.gov>.
8490
8491 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
8492
8493         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
8494           Completes first pass. Hurrah!
8495
8496 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
8497
8498         * docs/tutorial/gtk-tut.sgml: More clean ups.
8499
8500 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
8501
8502         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
8503         paint the background of the text area which was accidentally
8504         removed at some point.
8505
8506         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
8507           
8508          - Move most of the functionality from the theme vtable
8509            into GtkRcStyleClass and GtkStyleClass. The moved
8510            vtable functions were changed a bit in the move to
8511            work better in their new home.
8512
8513          - Get rid of the engine and engine_data fields from
8514            GtkRcStyle and GtkStyle; instead the theme
8515            engine derives theme-specific subclasses of GtkRcStyle
8516            and GtkStyle
8517
8518          - Add extra dlsym() found entry point to themes,
8519            theme_create_rc_style().
8520
8521         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
8522         in gtk_style_real_copy.
8523
8524         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
8525         to register a type associated with an engine. (The engine
8526         won't be unloaded as there is an instance of the type.)
8527
8528
8529 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
8530
8531         * docs/tutorial/gtk-tut.sgml: Clean ups.
8532
8533 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
8534
8535         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
8536           of cleaning up to do.
8537
8538 2000-07-15  Tor Lillqvist  <tml@iki.fi>
8539
8540         * gdk/testgdk.c: New file, quick hack to test backends for
8541         pixel-by-pixel correctness of the most simple graphic operations.
8542
8543 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
8544
8545         * Really release 1.3.1
8546         
8547         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
8548         include structure.
8549
8550 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
8551
8552         * Released 1.3.1
8553
8554 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
8555
8556         * gtk/gtktextlayout.c: use FALSE for size_only most
8557         of the time when calling gtk_text_layout_get_line_display()
8558         to avoid causing double reshapes when a redraw follows
8559         immediately after.
8560
8561 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
8562
8563         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
8564         appropriate region and gdk_window_process_updates() so trough
8565         updating doesn't lag behind the window being scrolled.
8566
8567         * gdk/gdkgc.c: Make parent_class pointer static.
8568          
8569 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
8570
8571         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
8572         include <string.h>.
8573          
8574         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
8575         cut-and-paste error in computing memory offset for 4 channels.
8576
8577 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
8578
8579         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
8580         gtk_rc_append_default_pixmap_path(), since it wasn't
8581         adding an interesting path and we don't have a meaningful
8582         default for this value.
8583
8584 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
8585
8586         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
8587         gtk-config to gtk-config-2.0 move gtk_.m4 to
8588         gtk-2.0.m4
8589
8590         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
8591         gdk/Makefile.am demos/Makefile.am: Change 
8592         library names to libgtk-1.3.la, etc, so that we
8593         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
8594
8595         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
8596         gdk/Makefile.am gdk/x11/Makfile.am
8597         Move include files into /usr/include/gtk-2.0, 
8598         /usr/lib/gtk-2.0/include/
8599          
8600         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
8601         gtk/gtkintl.h: Change package for gettext from 
8602         gtk+ to gtk20. Put hack in autogen.sh to modify
8603         po/Makefile.in.in after gettextize to make this
8604         possible.
8605
8606         * gtk+.spec: Some updates, not tested.
8607
8608         * gdk-pixbuf/Makefile.am: Move loaders into
8609         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
8610
8611         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
8612         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
8613         to THEMENAME/gtk-2.0/. Move engine directory  to
8614         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
8615         
8616 2000-07-12  Tor Lillqvist  <tml@iki.fi>
8617
8618         Win32 changes, still doesn't build though.
8619
8620         * gdk/makefile.cygwin
8621         * gdk/win32/makefile.cygwin
8622         * gtk/makefile.cygwin: Updates.
8623
8624         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
8625         default values for fg and bg pixel as X11 does (0 and 1), not
8626         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
8627         Use 0 for pen width by default (treated as 1 anyway later, but for
8628         apps that might check the value in the GdkGC).
8629         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
8630         interface to gdk_gc_predraw and _postdraw.
8631
8632         * gdk/win32/gdkwin32.h
8633         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
8634
8635         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
8636         extraneous semicolon.
8637
8638         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
8639
8640         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
8641         not the Win32 bitspixel value.
8642
8643         * gdk/win32/gdkcc-win32.c:
8644         * gdk/win32/gdkcolor-win32.c 
8645         * gdk/win32/gdkprivate-win32.h
8646         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
8647         GDK object structure.
8648
8649 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
8650
8651         * docs/tutorial/gtk_tut_12.es.sgml (name): 
8652         * docs/tutorial/gtk_tut_it.sgml (name): 
8653         * docs/tutorial/gtk_tut_fr.sgml (name): 
8654         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
8655         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
8656
8657 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
8658
8659         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
8660           small changes.
8661
8662 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
8663
8664         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
8665         a bug here, never been here and never fixed anything ;(
8666         (don't segfault if tree->root_tree is NULL, which happens prior
8667         to widget realization, but puke instead).
8668
8669 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
8670
8671         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
8672         add the necessary tokens.
8673
8674         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
8675         (gtk_rc_style_to_style): copy thicknesses.
8676         (gtk_rc_init_style): apply thicknesses.
8677         (gtk_rc_parse_style): parse xthickness and ythickness.
8678
8679         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
8680
8681         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
8682         (gdk_window_new): 
8683         (_gdk_windowing_window_init): 
8684         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
8685         (gdk_pixmap_create_from_data): 
8686         (gdk_bitmap_create_from_data): 
8687         (gdk_pixmap_new): 
8688         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
8689         (gdk_image_new): 
8690         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
8691         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
8692         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
8693         (gdk_colormap_get_system): 
8694         (gdk_colormap_new): 
8695         * gdk/gdkwindow.c (gdk_window_init): 
8696         * gtk/gtkstyle.c (gtk_style_new):
8697         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
8698         * gdk/gdkpixmap.c (gdk_pixmap_init): 
8699         * gtk/gtkrc.c (gtk_rc_style_new):
8700         use g_object_new() instead of g_type_create_instance() which
8701         is a private function for fundamental type implementations.
8702
8703 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
8704
8705         * configure.in: Add check for db2html
8706
8707 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
8708
8709         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
8710         hack to set glib_debug_objects based on gtk_debug_flags.
8711
8712 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
8713
8714         * INSTALL.in: Update the Prerequisites section.
8715
8716         * Makefile.am demos/Makefile.am docs/Makefile.am
8717         docs/tutorial/Makefile.am gdk/x11/Makefile.am
8718         gdk/linux-fb/Makefile.am: Dist fixes
8719
8720 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
8721
8722         * NEWS: 10,000 foot view of 1.3.1 changes.
8723
8724 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
8725
8726         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
8727         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
8728         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
8729         gdk/x11/gdkmain-x11.c: 
8730
8731         Patch from George Lebl to add a GdkGrabStatus enumeration to use
8732         as a return value of gdk_*_grab(). Previously, we just
8733         returned the X11 values directly.
8734
8735 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
8736
8737         * gdk/x11/Makefile.am: Patch from George Lebl to 
8738         install all the headers in the right place.
8739
8740 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
8741
8742         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
8743           initial conversion to DocBook.
8744
8745 2000-07-04  Tor Lillqvist  <tml@iki.fi>
8746
8747         * README.win32: Improve a bit.
8748
8749         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
8750         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
8751         Alt+0nnn on the numpad (used to enter characters by numeric code
8752         from current DOS or ANSI codepage) working correctly, as in other
8753         Windows apps.
8754
8755         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
8756         same argument validity tests as in X11 version.
8757         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
8758
8759         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
8760         definitions in case missing from headers.
8761
8762         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
8763         destroy the window-specific cursor.
8764         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
8765         calling GetModuleHandle(NULL).
8766         (gdk_window_set_cursor): Reworked to always copy the passed cursor
8767         with CopyCursor before setting it as the window-specific
8768         cursor. It is OK for the caller to destroy the GdkCursor (and thus
8769         also its Windows cursor) after calling this function. Destroy any
8770         previous window-specific cursor.
8771
8772 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
8773
8774         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
8775         font charset is iso8859-1, not iso-8859-1.
8776
8777 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
8778
8779         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
8780         Use g_get_charset() instead of g_get_codeset().
8781
8782         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
8783         Comment out some strdup'ing functions to keep timj
8784         happy until we finish fighting this out.
8785
8786 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
8787
8788         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
8789         <= width or height.
8790
8791         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
8792         from 1.2 for parent/child states.
8793
8794         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
8795         of typos.
8796
8797         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
8798         event structures, replace with a generic axes field. Replace 
8799         deviceid/sourec with GdkDevice *device.
8800
8801         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
8802         to extract particular axis use value from event. (Also
8803         can be used for normal X/Y.)
8804
8805         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
8806         allow for arbitrary number of axes, namespace everything
8807         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
8808         everywhere.
8809
8810         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
8811         Get rid of the gdk_input_vtable setup if favor of simply
8812         defining the functions in gdkinput-none/gxi/xfree.c in
8813         a similar fashion to the way that the port structure is 
8814         done.
8815
8816         * gtk/gtkdnd.c: Fix fields of synthesized button press event
8817         for new event structures. 
8818
8819         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
8820         new device interfaces.
8821
8822 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
8823
8824         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
8825         set the initial text.
8826
8827         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
8828         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
8829         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
8830         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
8831
8832         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
8833         pango_layout_set_font_description to simplify.
8834
8835 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
8836
8837         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
8838         pango_layout_set_font_description to simplify.
8839
8840 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
8841
8842         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
8843         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
8844         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
8845
8846         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
8847         PANGO_PIXELS() macro.
8848
8849 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
8850
8851         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
8852         that returns a PangoContext owned by the widget and updated to
8853         match future changes in the widget. Also, make 
8854         gtk_widget_create_pango_layout() use this context. If we ever
8855         add a ::changed signal to PangoContext, this will make things
8856         much more convenient. 
8857
8858         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
8859         in the appropriate places instead of destroying the layouts and
8860         creating new ones.
8861
8862         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
8863         in a few strategic places.
8864
8865 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
8866
8867         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
8868         gtk_widget_size_request() on reparented child, if one. Otherwise,
8869         queue_resize() on the child never results in it getting size-requested
8870         at all.
8871
8872         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
8873         in option menus, so that (with luck) people won't copy it into
8874         their apps in the future.
8875
8876         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
8877         to gtk_option_menu_calc_size. This isn't perfect, but should fix
8878         a lot of problems with changing the size of the menu's menu
8879         items after adding it to the option menu.
8880
8881         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
8882
8883         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
8884         the text direction for a widget changes.
8885
8886         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
8887         ::direction_changed to get rid of various hacks.
8888
8889 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
8890
8891         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
8892         name.
8893
8894 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
8895
8896         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
8897         flag to the structure. Do not call XFreePixmap on pixmaps created
8898         by gdk_pixmap_foreign_new().
8899
8900 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
8901
8902         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
8903         value using GdkRGB functionality given GdkColormap and GdkColor.
8904         (name not final, waiting for inspiration.)
8905         
8906         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
8907         set the foreground/background of a GC using the GC's colormap
8908         and GdkRGB. (name not final, waiting for inspiration.)
8909
8910         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
8911         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
8912
8913         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
8914         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
8915         purely a function of the corresponding colormap. Make
8916         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
8917
8918         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
8919         gdk_pixbuf_*create_from_xpm_* in terms of
8920         gdk_pixbuf_new_from_xpm_data(), move into platform independent
8921         code.
8922
8923         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
8924         advantage of the new draw_rgb_32_image_dithalign.
8925
8926         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
8927
8928         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
8929         on each created GC.
8930
8931         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
8932
8933         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
8934         which we initialize from the drawable when the GC is created,
8935         if the drawable has a colormap.
8936
8937         * gdk/x11/gdkgc-x11.c: include string.h for memset.
8938
8939         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
8940
8941         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
8942
8943 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
8944
8945         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
8946         actually returning expose events, make sure to set
8947         the count field properly.
8948
8949         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
8950         accidentally reintroced bug which always cleared
8951         the graphics_exposures value. 
8952
8953 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
8954
8955         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
8956
8957 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
8958
8959         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
8960
8961 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
8962
8963         * docs/faq/gtk-faq.sgml: Start of Section 6.
8964
8965 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
8966
8967         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
8968         
8969         (Fixes problem with drawing childless frames. Pointed out
8970         by and a first patch from Anders)
8971         
8972         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
8973         compute a child_allocation, even if we don't have a child.
8974
8975         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
8976         Always chain to the parent's impl, even if we don't have a child.
8977
8978 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8979
8980         * gdk/gdkrgb.c: If possible, create only a single shm segment and
8981         use multiple parts of it instead of creating a bunch of separate
8982         segments, since the maximum number of segments per system is not
8983         large. (This might be worth backporting to GTK+-1.2.x if we make a
8984         new release )
8985
8986         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
8987         structure in preparation for per-colormap GdkRGB.
8988
8989         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
8990         to False when we get EINVAL from shmget so that the caller of
8991         gdk_image_new can retry with a smaller segment size.
8992
8993 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
8994
8995         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
8996
8997 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
8998
8999         * configure.in: make the current version number 1.3.1 (binary age 0,
9000         interface age 0).
9001         
9002         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
9003         gtkcompat.h is all we want.
9004
9005         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
9006         GLib primitive types. fixed g_type_register_fundamental() argument
9007         ordering.
9008
9009         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
9010         compiles.
9011
9012         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
9013         object code cleanup, comment trigraph fixes, etc...
9014
9015 2000-06-23  Havoc Pennington  <hp@redhat.com>
9016
9017         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
9018         instead of making up a bogus name for first_para_mark
9019
9020         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
9021         0 as a context ID
9022
9023 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
9024
9025         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
9026
9027 2000-06-21  Havoc Pennington  <hp@pobox.com>
9028
9029         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
9030         we didn't check window->bg_pixmap != GDK_NO_BG.
9031
9032         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
9033         gdk-pixbuf
9034
9035 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
9036
9037         * docs/faq/gtk-faq.sgm: Move file to here.
9038           TODO: Update Makfile.am 
9039
9040 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
9041
9042         * docs/gtk-faq.sgm: Add Section 2
9043
9044 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
9045
9046         * docs/gtk-faq.sgm: New file. Start of DocBook
9047           version of the FAQ.
9048
9049 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
9050
9051         * configure.in (GDK_PIXBUF_MAJOR): Define version
9052         numbers for GDK_PIXBUF_*, as they get substituted
9053         into a header file. Need to consider versioning
9054         for gdk-pixbuf more carefully later.
9055
9056 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
9057
9058         Work with srcdir != builddir.   
9059         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
9060         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
9061         * demos/testpixbuf.c: Likewise.
9062         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
9063         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
9064         <gdk/x11/gdkx.h>.
9065         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
9066         "gdk-pixbuf.h".
9067         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
9068
9069 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
9070
9071         * TODO.xml: Change 1.4 version numbers to 2.0.
9072
9073 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
9074
9075         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
9076         fixups to GTK+ standard.
9077
9078 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
9079
9080         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
9081         gdk-pixbuf.
9082
9083         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
9084         fixups for GObject.
9085
9086         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
9087         gdk-pixbuf with GDK dependencies moved into GDK.
9088         
9089         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
9090         move gdk-pixbuf-loader here until GObject has signals.
9091
9092         * demos/: New directory of demos. Move demos from
9093         gdk-pixbuf here.
9094
9095         * demos/pixbuf-init.c: Small bit of code to check for
9096         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
9097         set GDK_PIXBUF_MODULEDIR appropriately.
9098
9099         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
9100         define which no longer makes sense.
9101
9102 2000-06-21  Havoc Pennington  <hp@redhat.com>
9103
9104         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
9105         gtk_get_default_language
9106
9107         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
9108         new function to get the default language
9109
9110         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
9111         s/gtk_text_view_style_values/gtk_text_style_values/
9112
9113         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
9114         Add a "language" field to tags.
9115
9116         (gtk_text_tag_set_arg): Fix bug in setting
9117         "bg_full_height_set" tag.
9118
9119 2000-06-21  Havoc Pennington  <hp@redhat.com>
9120
9121         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
9122         in the interfaces
9123
9124         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
9125         stuff instead when possible.
9126
9127         * gtk/gtktexttypes.h: Delete some unused constants
9128
9129         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
9130         testtextbuffer.c: use glib instead of custom unicode routines
9131
9132 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
9133
9134         * docs/es/: Removed mistakenly added generated sgml
9135
9136         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
9137         Remove outdated info files.
9138
9139         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
9140         Moved tutorial files into subdir
9141
9142         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
9143         subdir.
9144
9145         * docs/man/gtk_button.pod: Remove. (contents will be
9146         integrated into gtk-reference button page.)
9147
9148         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
9149         docs/faq/Makefile.am: Adjust for new organization
9150
9151 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
9152
9153         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
9154         not $(MKINSTALLDIRS)
9155
9156 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
9157
9158         * gtk/testgtk.c (create_text): Finish the job Elliot started
9159         of removing font setting test for text widget. (Since text widget
9160         and GdkFont are not deprecated, and cause portability problems.)
9161
9162 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
9163
9164         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
9165         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
9166         Remove use of libunicode in favor of new GLib functions.
9167
9168         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
9169         nano-x, framebuffer. The X11 include is just a hack until we get
9170         the necessary functions in gdkcolor.h, so there is no reason to
9171         add other includes of platforms.
9172
9173         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
9174         window bigger than the screen change.
9175
9176         * gtk/testgtk.c: Revert some random changes from Elliot
9177         that had no particular point and were causing testgtkrc
9178         not to function correctly.
9179         
9180         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
9181         because GdkSegment and GdkRegionBox have the same fields,
9182         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
9183         results in clearer code.
9184
9185         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
9186         gdk_input_translate_coordinates): Fix missed GdkObjectification
9187
9188 2000-06-18  Elliot Lee  <sopwith@redhat.com>
9189
9190         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
9191         * gtk/gtk{plug,socket}.h: Missed commits from previous.
9192
9193 2000-06-20  Havoc Pennington  <hp@redhat.com>
9194
9195         * modules/linux-fb/Makefile.am: Make this compile
9196         without framebuffer enabled
9197
9198         * gdk/linux-fb/Makefile.am: Add conditional to not build
9199         framebuffer unless specified in configure
9200
9201         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
9202         the size of the target instead of source if -1 was passed for
9203         width/height
9204
9205         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
9206         width/height confusion.
9207
9208 2000-06-19  Havoc Pennington  <hp@redhat.com>
9209
9210         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
9211         GDK_DRAWABLE_XID. In the future, we probably want to make it
9212         faster with G_DISABLE_CHECKS turned on.
9213
9214 2000-06-14  Havoc Pennington  <hp@redhat.com>
9215
9216         * gdk/Makefile.am: add gdkpixmap.c
9217
9218         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
9219         s/gdk_image_init/_gdk_windowing_image_init
9220
9221         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
9222         ref/unref
9223
9224         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
9225
9226         * gdk/gdkcompat.h: remove GdkWindowType compat, since
9227         GdkWindowType is now non-deprecated; 
9228         change gdk_window_get_type() compat to be
9229         gdk_window_get_window_type().
9230
9231         * gdk/gdkdnd.h: make GdkDragContext a GObject.
9232
9233         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
9234         virtual GObject. Make all functions call into the vtable.
9235         Move gdk_image_put() guts in here. Remove GdkDrawableType
9236         and gdk_drawable_get_type(), these are now GdkWindow-specific.
9237         draw_image, get_depth, get_size, set_colormap, get_colormap,
9238         get_visual added to the vtable.
9239         
9240         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
9241         GObject. Virtualize everything. 
9242         (gdk_gc_new_with_values): remove check for destroyed window,
9243         because now GdkWindow::create_gc will check this.
9244         (gdk_gc_set_values): New function to set GC values, this 
9245         was already implemented but wasn't in the header
9246
9247         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
9248
9249         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
9250         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
9251         remove _gdk_window_class; add _gdk_window_impl_get_type() and
9252         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
9253         _gdk_windowing_window_init, rename gdk_image_init to
9254         _gdk_windowing_image_init.
9255         
9256         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
9257         (gdk_draw_layout): Remove check for destroyed window, 
9258         because all the drawable methods already check it.
9259         
9260         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
9261         Add gdkpixmap.c which contains implementation of GdkDrawable
9262         virtual table (by chaining to a platform-specific implementation
9263         object).
9264         
9265         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
9266         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
9267         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
9268         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
9269         GdkColormapPrivate. 
9270
9271         * gdk/gdktypes.h: #include <glib-object.h>
9272
9273         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
9274         Move most functionality to platform-specific implementation
9275         object. GdkWindow itself now handles the backing store, then
9276         chains to the platform-specific implementation.
9277         (gdk_window_get_window_type): return GdkWindowType of the window.
9278         (gdk_window_peek_children): New routine, returns the children of 
9279         a GdkWindow
9280         (gdk_window_get_children): Was in X11-specific code and did 
9281         XQueryTree. Changed to simply return a copy of window->children; 
9282         so it can go in cross-platform code.
9283         
9284         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
9285
9286         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
9287         GdkColormap; just changed to use the new private data instead
9288         of casting to GdkColormapPrivate.
9289
9290         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
9291         gdk_cursor_new().
9292
9293         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
9294         (private data member in the GObject). 
9295         (xdnd_manager_source_filter): Function had broken 
9296         error handling, fix it (use gdk_error_trap_push).
9297
9298         * gdk/x11/gdkdrawable-x11.c: This file now implements
9299         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
9300         base class is purely for the convenience of the X port,
9301         and not part of the interface to cross-platform GDK.
9302
9303         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
9304         
9305         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
9306         specific to X, and returned by the create_gc virtual method
9307         of GdkDrawableImplX11. 
9308         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
9309         rather than gchar, this was also changed in the GdkGC vtable.
9310         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
9311         mask is 0, return immediately, instead of checking every flag.
9312         This is faster, and keeps us from segfaulting if values is NULL
9313         and the mask contains some nonzero flags.
9314
9315         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
9316         GdkWindow.
9317
9318         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
9319         GdkWindowPrivate is gone.
9320
9321         * gdk/x11/gdkim-x11.c: rename things that got renamed.
9322
9323         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
9324         remove the image_put stuff that got transferred to GdkDrawable.
9325         
9326         * gdk/x11/gdkinput.c: renamings
9327
9328         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
9329
9330         * gdk/x11/gdkpixmap-x11.c: GObject conversion
9331
9332         * gdk/x11/gdkprivate-x11.h: indentation fixes
9333
9334         * gdk/x11/gdkproperty-x11.c: renamings
9335
9336         * gdk/x11/gdkselection-x11.c: renamings
9337
9338         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
9339         implements the platform-specific "impl" object.
9340         Moved gdk_window_get_children to gdk/gdkwindow.c
9341
9342         * gdk/x11/gdkx.h: Remove all the private structs and private datas
9343         that no longer exist. Add declaration of GdkGCX11 object here.
9344         Fix all the macros to still work. 
9345
9346         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
9347         GdkDragContext from the boxed types since they are now GObjects.
9348
9349         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
9350         moved xthickness/ythickness into the instance. GtkStyleClass
9351         functions are now in the standard vtable for GtkStyle, so you have
9352         to create a GObject subclass to write a theme engine.
9353         (gtk_style_copy): fixed a leaked PangoFontDescription
9354         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
9355         can be the standard GObject function.
9356         
9357         * Throughout GTK:
9358         s/style->klass->[xy]thickness/style->[xy]thickness
9359         s/pango_layout_unref/g_object_unref/
9360
9361         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
9362         
9363         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
9364         accessing GDK internals.
9365
9366         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
9367         accessing GDK internals.
9368
9369 2000-06-18  Elliot Lee  <sopwith@redhat.com>
9370
9371         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
9372
9373         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
9374         problem by calculating event position relative to the trough
9375         rather than the slider.
9376         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
9377
9378         * gdk/gdkgc.h: Add GDK_NOR.
9379
9380         * configure.in, Makefile.am: Add modules top level dir
9381         * configure.in: Only use pangox library if building x11 target.
9382         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
9383
9384 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
9385
9386         * gtk/gtkcolorsel.c: Change private class member to be named
9387         private_data throughout the file.
9388
9389         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
9390         private_data to avoid clashing with keyword.
9391
9392 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
9393
9394         * gdk/gdkdnd.h: Add comment to remove warning.
9395
9396 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
9397
9398         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
9399         Byelorussian language; changed the Makefile and file names 
9400         to reflect that.
9401
9402 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
9403
9404         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
9405         rather than gdk_window_hide; this makes things work
9406         correctly if the window is programmatically hidden while
9407         iconified.
9408
9409 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
9410
9411         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
9412         cut and paste typo where wrong pixmap was being
9413         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
9414
9415 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
9416
9417         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
9418         Add helper function to compute format / bytes 
9419         relationship. Use in a couple places to fix up
9420         errors which assume 8 * format.
9421
9422         * gtk/gtkselection.c (gtk_selection_request): Use 32
9423         rather than 8 * sizeof (GdkAtom), to work correctly
9424         on Alpha.
9425
9426 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
9427
9428         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
9429         libgtk.la
9430         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
9431         versions
9432
9433         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
9434         checking macros return NULL since the function has a return value.
9435
9436 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
9437
9438         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
9439         GTK+ from building at all.
9440
9441         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
9442
9443 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
9444
9445         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
9446         gtk/Makefile.am: make it possible to configure gtk for different
9447         targets on the same platform. The library name is now 
9448         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
9449         flag. Only the x11 target compiles right now.
9450         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
9451         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
9452         * gdk/nanox/gdk*generic*: delete generic region code.
9453         * gdk/linux-fb/gdk*generic*: delete generic region code.
9454         * README.nanox: update information.
9455         
9456 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
9457
9458         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
9459         prepend not append. (Pointed out by Brett Hall.)
9460
9461 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
9462
9463         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
9464
9465 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
9466
9467         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
9468         need this later, and this makes sure that the atexit for
9469         glib gets called after that for GDK, so atexits are
9470         properly ordered for object leak checking.
9471
9472         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
9473
9474         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
9475         pango_x_shutdown_display()
9476
9477         * gtk/simple.c (main): Close window on destroy.
9478
9479 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
9480
9481         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
9482         to treat initial creation different from setting with 
9483         regards to the graphics-exposures parameter, so add a parameter
9484         indicating whether this is initial or not.
9485
9486 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
9487
9488         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
9489         to sort of work by adding an extra return_exposes arg
9490         to gdk_event_translate() - it might be better to simply
9491         deprecate the function altogether and force people to rewrite
9492         without it. gdk_window_scroll() handles most of it, and where
9493         gdk_window_scroll() doesn't work, simply redrawing more does.
9494
9495         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
9496         assertion.
9497
9498         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
9499
9500         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
9501         bunch of pretty much useless /* Print debugging info */ comments 
9502         which had drifted away from the code they were commenting.
9503
9504 2000-06-02  Havoc Pennington  <hp@pobox.com>
9505
9506         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
9507         is in working order.
9508         
9509         * gtk/testtext.c: Change to reflect anonymous mark API
9510
9511         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
9512
9513         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
9514         field, which was unused.
9515
9516         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
9517         saves some typing.
9518
9519         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
9520
9521         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
9522         flag on the insertion point and selection bound
9523
9524         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
9525         make mark-manipulation functions take a GtkTextMark* instead of a
9526         mark name.
9527         
9528         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
9529         GtkTextMarkBody; will be used to detect attempts to delete
9530         the permanent marks (insert and selection bound)
9531
9532         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
9533
9534 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
9535
9536         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
9537         flag to on.
9538
9539         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
9540         Honor DOUBLE_BUFFRED_FLAG
9541
9542         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
9543         function to set the DOUBLE_BUFFERED flag.
9544
9545         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
9546         or not exposes done on the widget should be double-buffered.
9547
9548         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
9549         to be what would be expected. (Fixes problem with a
9550         g_return_if_fail() validating a TextDirection enumeration)
9551
9552 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
9553
9554         * gtk/gtkwidget.c: Remove all references to 
9555         offscreen flag which was no longer used.
9556
9557         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
9558
9559         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
9560         for non-null label_widget->parent.
9561
9562         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
9563         which no longer was used.
9564
9565         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
9566
9567         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
9568         for null arguments.
9569
9570         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
9571         check for destroyed windows.
9572
9573 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
9574
9575         * gtk/gtkimmulticontext.c: Add a finalize method and unref
9576         the slave context there.
9577
9578         * gtk/gtkinvisible.[ch]: Make reference counting behavior
9579         identical to GtkWindow.
9580
9581 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
9582
9583         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
9584         pangox to here, so we can write them independent of rendering
9585         system, using GDK primitives.
9586
9587         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
9588         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
9589         since we have a rendering-system independent implementation in
9590         terms of draw_glyphs().
9591         
9592         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
9593         function to render a single line.
9594
9595         * gdk/x11/gdkpango.c: Move the guts of this file mostly
9596         into ../gdkpango.c, which simplifies things, since we
9597         don't have to deal with raw X gc's.
9598
9599 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
9600
9601         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
9602         get the logical attributes for a given GtkTextLine.
9603
9604 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
9605
9606         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
9607         g_locale_get_codeset() to g_get_codeset() change.
9608
9609 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
9610
9611         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
9612         descriptions.
9613
9614         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
9615         the entry.
9616
9617         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
9618         redoing (vastly simplifying) for Pango. Still needs quite
9619         a bit of work. (Size selection is currently poor. List of 
9620         predefined sizes is not a good idea, since all of these
9621         sizes won't necessarily be distinct.)
9622
9623 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
9624
9625         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
9626         CODESET results for LANG=C.
9627
9628 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
9629
9630         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
9631         which takes a stringized pango font description;
9632         ignore the older 'font' and 'fontset' declarations.
9633
9634         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
9635         field with a GdkFont derived via gdk_font_from_description(),
9636         for compatibility. (Should we just remove it entirely?
9637         Probably too much compatibility breakage, but people
9638         should be migrating to the new Pango stuff as quickly
9639         as possible.)
9640
9641 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
9642
9643         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
9644
9645 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
9646
9647         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
9648         redoing; there are some bugs in size allocation right
9649         now, the semi-existant distinction between header / day
9650         fonts was removed, but, with Pango, could actually
9651         be made functional in a nice way.
9652         
9653         * gtk/testcalender: Move calender from examples into this
9654         directory as a test program. (We really need to restrcture
9655         testgtk into a whole directory full of tests for every
9656         widget or functionality group, separated into multiple .c
9657         files.)
9658
9659 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
9660
9661         * gtk/testgtk.c (file_exists): Fix stupid typo that
9662         was keeping RC file from being loaded.
9663
9664         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
9665         RC file font code.
9666
9667 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
9668
9669         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
9670         Add function to load a GdkFont from a PangoFontDescription.
9671
9672 2000-05-29  Tor Lillqvist  <tml@iki.fi>
9673
9674         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
9675         variable should be of type GdkEventPrivate.
9676
9677 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
9678
9679         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
9680         to have any widget for the label, use a GtkLabel widget
9681         to display the text. (Based partially on a patch from
9682         Anders Carlson.)
9683
9684         (Quite a bit of code reorganization - strip 90% of the
9685         guts out of gtkaspectframe and add a single virtual
9686         func to GtkFrameClass - compute_child_allocation.)
9687
9688 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
9689
9690         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
9691         (Removed clist->row_center_offset field because caching
9692         it wasn't saving time or code, added private function
9693         _gtk_clist_create_cell_layout()).
9694
9695 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
9696
9697         * gtk/gtkaccellabel.c: Pangoized.
9698
9699         * gtk/[hv]ruler.c: Pangoized
9700
9701 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
9702
9703         * gtk/gtkfilesel.c (gtk_file_selection_init):
9704         Use gtk_clist_set_column_auto_resize() to remove need
9705         need for manual column width computations.
9706
9707 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
9708
9709         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
9710         ensuring Pango correctness, and considerably simplifying the
9711         code.
9712         
9713         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
9714
9715         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
9716         getting of numbers of lines.
9717
9718         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
9719         to the actual requested width of the lable, not to the wrap
9720         width we set.
9721
9722         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
9723
9724         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
9725           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
9726
9727         * gtk/gtktextview.c: Fix structure inheritance.
9728
9729         * gtk/gtkprogressbar.c: Pangoize.
9730
9731 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
9732
9733         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
9734         in a function.
9735
9736         * gtk/gtktextlayout.c (find_display_line_above): Fixed
9737         bug with computing line tops.
9738
9739         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
9740
9741 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9742
9743         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
9744         and y_offset coordinates to do what we need now. (The offset between
9745         buffer and layout coordinates has been reintroduced, but is a 
9746         bit different than before.)
9747
9748         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
9749         handle the adjustments ourselves, and scroll as necessary using
9750         the new gdk_window_scroll().
9751         
9752         The advantage of this is that when we are incrementally revalidating,
9753         we are essentially rearranging things around the visible portion
9754         of the screen. With the old setup, the visible portion of the
9755         screen was moved around in the layout, so scrolling and redrawing
9756         to track that caused jumping of the display. Since we now
9757         control the scrolling ourselves, we can suppress this and
9758         only redraw when things actually change.
9759
9760 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
9761
9762         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
9763         the region not just redisplay it after-all, since we store the
9764         cursors in the LineDisplay. (Ugly interactions here between
9765         GtkLayout and GtkTextBTree here.)
9766         
9767         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
9768
9769 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
9770
9771         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
9772         Added function to scroll contents of a window while keeping the
9773         window constant. Works by XCopyArea or guffaw-scrolling depending
9774         on the details of how the window is set up. (guffaw-scrolling
9775         still needs to be filled in.)
9776
9777 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
9778
9779         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
9780         move the debugging that was tied to a global variable
9781         to that.
9782
9783         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
9784
9785         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
9786         validated flag, in line data instead of setting height/width to
9787         -1. This allows us to perform operations with partially invalid
9788         buffer (using the old size for invalid lines) and thus to do
9789         incremental vaidation. Keep height/width aggregates up to date
9790         when deleting text and rebalancing the tree.
9791
9792         * gtk/gtktextbtree.[ch]: Add functions validate a line
9793         (gtk_text_btree_validate_line), and to validate up
9794         to a number of pixels (gtk_text_btree_validate).
9795
9796         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
9797         that indicates that something is changed and a revalidation
9798         pass is needed. Change ::need_repaint to ::changed, and
9799         make it take old and new yranges instead of a rectangle.
9800
9801         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
9802         the line_data_destroy() function from 
9803         gtk_text_btree_add_view() to a virtual function in 
9804         GtkTextLayout
9805
9806         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
9807         since we are handling partial repaints in a different fashion
9808         now.
9809
9810         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
9811         of the selection instead of queueing a repaint on the
9812         entire widget.
9813
9814         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
9815         get_selection_bounds() down to btree, make the function
9816         in buffer a wrapper around the btree function.
9817
9818         * gtk/gtktextlayout.[ch]: Add functions to check if the
9819         layout is valid and to recompute either a range of pixels
9820         aroudn a line or a certain total number of pixels.
9821
9822         * gtk/gtktextlayout.[ch]: Cache a single line display;
9823         now that we only redraw the needed portions, the hit rate
9824         for this cache is quite high.
9825         
9826         * gtk/gtktextview.[ch]: Keep track of the first paragraph
9827         on the screen so that when re-laying-out the buffer, we can
9828         keep the same place. This requires connecting to ::value_changed
9829         on the adjustments
9830
9831         * gtk/gtktextview.[ch]: Add idle functions to revalidate
9832         the buffer after we receive an ::invalidated signal.
9833         
9834 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
9835
9836         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
9837         to max of allocation and layout size, not just to the
9838         layout size.
9839
9840         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
9841         Invalidate window so it gets redrawn properly.
9842
9843         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
9844         to mean the entire window.
9845
9846         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
9847         into public header.
9848
9849 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
9850
9851         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
9852         to get the name of a mark.
9853
9854         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
9855         to find the paragraph from a y position.
9856
9857 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
9858
9859         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
9860         nodes have width/height >= 0, not > 0.
9861
9862 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
9863
9864         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
9865         Add a size_only flag, so when we only need the size, we don't create
9866         useless appearance attributes.
9867
9868         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
9869         duplicate setting of font description.
9870
9871         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
9872
9873 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
9874
9875         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
9876         EXTRA_DIST. It does not work well when the file that
9877         everything depends on is not in the tarball.
9878
9879 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
9880
9881         * gtk/testgtk.c: Some hacks and fixes so that it basically
9882         works when not sitting in the GTK+ build tree.
9883
9884 2000-05-03  Havoc Pennington  <hp@redhat.com>
9885
9886         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
9887         Properly determine the ordering of the tag root and the current
9888         line within the tree. Previous algorithm only worked if the tag
9889         root's immediate parent was the common root of both the current
9890         line and the tag root.
9891
9892 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
9893
9894         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
9895         alignment.
9896
9897         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
9898         the widget text directional dynamically.
9899
9900         * gtk/gtktextview.[ch]: Added functions to get and set default
9901         wrap mode.
9902
9903 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
9904
9905         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
9906         in cursor location computation.
9907
9908 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
9909
9910         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
9911         vadjusment values properly when layout gets smaller.
9912
9913         * gtk/gtktextview.c (need_repaint_handler): Areas being
9914         passed in are far completely inaccurate, and sometimes
9915         too small, so, for now, just queue a redraw on the
9916         whole visible region.
9917
9918 2000-04-25  Havoc Pennington  <hp@redhat.com>
9919
9920         * gtk/gtktextbtree.c (summary_destroy): new function to 
9921         destroy tag summary nodes
9922         (gtk_text_line_next_could_contain_tag): this function was 
9923         totally broken if the line passed in wasn't below the tag
9924         root. Fix it.
9925         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
9926         "wildcard" case, we have to do a linear scan. Blah.
9927         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
9928         we have to do the linear scan
9929         (tag_removed_cb): When a tag is removed from the tag table, 
9930         remove the GtkTextTagInfo node from the btree.
9931         (gtk_text_btree_spew): Implement the spew function, for 
9932         our debugging pleasure.
9933
9934 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
9935
9936         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
9937         a problem with referring to the wrong buffer.
9938
9939         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
9940
9941         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
9942         font description to gtk_style_new() - otherwise things
9943         don't work without a .gtkrc file.
9944
9945         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
9946         tags table if we create it ourself, too.
9947
9948         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
9949         it was conflicting with XKB modifiers.
9950
9951         * gtk/gtktextview.[ch]: Add simple support for 
9952         GtkIMContext.
9953
9954 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
9955
9956         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
9957         with deletion from last commit.
9958
9959 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
9960
9961         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
9962         in the context from the current locale.
9963         
9964         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
9965         context, not hardcoded value.
9966
9967         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
9968         not logical.
9969
9970 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9971
9972         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
9973         attributes - that doesn't handle partial-glyph selection
9974         properly. Instead use new pango_layout_line_get_x_ranges()
9975         functionality to draw the selection.
9976
9977         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
9978         now properly handles out-of-range coordinates.
9979
9980         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
9981
9982         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
9983         public.
9984
9985         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
9986         for paragraphs opposite to the base direction of the widget.
9987
9988         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
9989
9990         * gtk/gtktextlayout.c: Don't split segments on marks, since that
9991         causes Arabic words to reshape as you cursor through.
9992
9993         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
9994         cursor position when moving vertically with the arrow keys and
9995         scrolling with page-up/page-down. (Arrow keys save only the X,
9996         scrolling saves both X and Y.)
9997
9998         This means you can line-up / line-down or page-up / page-down
9999         without losing your place, and also that moving vertically
10000         with the cursor keys keeps the same X position, not the same
10001         character count:
10002
10003         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
10004         arrow keys move by display lines, not paragraphs.
10005
10006 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
10007
10008         * gtk/gtklayout.c: Make sure that the bin window is at least
10009         as big as the allocation. (Should we also make sure that the
10010         bin window is big enough to completely cover widget->window?)
10011
10012         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
10013         function to get the onscreen rectangle.
10014
10015         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
10016         for offsets in window coordinates.
10017
10018 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
10019
10020         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
10021         confusion.
10022
10023         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
10024         from the widget direction.
10025
10026         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
10027         Add a "direction" attribute.
10028
10029         * gtk/gtktextview.c: global s/tkxt/text_view/.
10030
10031         * gtk/testtext.c: Added long block of text in Arabic, to test out
10032         the direction attributes. (Some problems with the shaping system
10033         for arabic become obvious - like the fact the cursor splits words
10034         into unjoined pieces.)
10035
10036 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
10037
10038         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
10039
10040         * gtk/gtktextlayout.c: Fix up alignment.
10041
10042         * gtk/testtext.c: Add some tests for centering, wrapping.
10043
10044 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
10045
10046         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
10047         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
10048         If we wrote GTK+-specific layout-render function this could just replace
10049         the draw_layout() operation in the vtable.
10050
10051         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
10052         pango_layout_get_cursor_pos() and use that function.
10053
10054         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
10055         is a non-static symbol.
10056
10057         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
10058         with gtk_text_btree_find_line_by_y()
10059
10060         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
10061         renderer that handles GtkTextAppearance attributes.
10062
10063         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
10064
10065           - Move the values in the style that don't affect geometry into a
10066             GtkTextAppearance structure.
10067           - Change underline to take a PangoUnderline and "font" a string
10068             representation of a font description
10069           - Add a "font_desc" attribute which takes a FontDescription structure.
10070
10071         * gtk/gtktextlayout.[ch]:
10072
10073           - Get rid of the display-line list per each line. Instead, we
10074             generate, on demand, a GtkTextLineDisplay structure which]
10075             contains a PangoLayout * and other necesary information
10076             (offsets, cursor locations) for displaying a paragraph.
10077           - Get rid of the code to wrap lines, create display chunks,
10078             etc. Instead, we just go through a paragraph and convert
10079             it into the necessary inputs to a PangoLayout.
10080           - Implement a new attribute type, GtkTextAttrAppearance. This
10081             holds a GtkTextAppearance, and is used to pass colors, 
10082             stipple, etc, through from the layout to the display without
10083             having to use lots and lots of individual attributes.
10084           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
10085             in terms of PangoLayout functions.
10086         
10087         * gtk/gtktextview.c: 
10088          
10089           - Handle passing the necessary PangoContext to the layout
10090           - Some fixups in painting to deal with the automatic backing store
10091             and offsetting of GTK+-1.4
10092           - Add a style_set handler so that the default style reacts
10093             properly to theme changes.
10094         
10095         * gtk/gtktext?*.[ch]: Random code-style fixes.
10096
10097         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
10098
10099 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
10100
10101         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
10102         in original form preparatory to Pango-ization and gdkimcontext-ization.
10103
10104 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
10105
10106         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
10107         so that we can derive from gtkimcontext in language bindings properly.
10108
10109 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
10110
10111         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
10112         Add a compose table including (almost) all the compose combinations
10113         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
10114         data in the XIM implementation.
10115
10116         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
10117         Moved functions to convert keyvalues from and to unicode here from
10118         the win32 port and made them public.
10119
10120 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
10121
10122         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
10123
10124 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
10125
10126         * gtk/gtkimcontext.[ch]: Base class for new input context system
10127
10128         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
10129         the real input context implementation to be loaded from modules
10130         and switched on the fly.
10131
10132         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
10133         context that just does direct keysymbol => unicode translation.
10134
10135         * gtk/gtkentry.[ch]: Start switching editing over to using
10136         GtkInputContext. (No handling of preedit yet.)
10137
10138 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
10139
10140         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
10141         many substitutions. (klass should not be subsituted.)
10142
10143 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
10144
10145         * configure.in: Add checks for Pango
10146
10147         * configure.in docs/Makefile.am: Add test for sgml2html
10148         and allow 'make dist' without building html, but print out
10149         warnings in that case. (For making snapshots)
10150
10151         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
10152         Add Pango libraries and C flags
10153
10154         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
10155         Add function (gdk_draw_layout) to draw a pango layout.
10156
10157         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
10158         for getting Pango contexts for GDK.
10159
10160         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
10161
10162         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
10163         editing.
10164
10165         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
10166         keysym => unicode translations. More languages can be added
10167         here, but real input-method support is needed.
10168
10169         * docs/Changes-1.4.txt: Added note about entry behavior.
10170         
10171         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
10172         to set the reading direction for a widget and the global direction.
10173         Add test which allows toggling the global direction. Two private
10174         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
10175
10176         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
10177           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
10178
10179         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
10180
10181         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
10182         underlining now handled by Pango.
10183
10184         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
10185         to RCStyle and Style. (Having both this and the old font name and GdkFont 
10186         is temporary.)
10187
10188         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
10189         convenience functions for creating contexts and layouts for widgets.
10190
10191         * gtk/testgtk.c: Enhance label tests with multilingual labels.
10192
10193 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
10194
10195         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
10196         titles to be active, even if they aren't visible.
10197         (gtk_clist_column_titles_passive):  Ditto.
10198
10199 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
10200
10201         * gtkmenu.c:
10202         * gtkmenu.h:
10203         * gtktypeutils.h: Spelling/grammar fixes in comments.
10204
10205 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
10206
10207         * gdk/nanox/*.h: add missing header files.
10208
10209 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
10210
10211         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
10212         send_event to TRUE.
10213         (gtk_drawing_area_size): queue a resize.
10214
10215 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
10216
10217         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
10218         the handlers, also invalidate them. bug nailed down by Karl Nelson
10219         <kenelson@ece.ucdavis.edu>.
10220
10221 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
10222
10223         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
10224         "(nil)" foundries, patch from Grigorios Magklis.
10225
10226         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
10227         on non-available fonts, based on a patch by Grigorios Magklis
10228         <maglis@cs.rochester.edu>.
10229
10230 2000-05-18  Elliot Lee  <sopwith@redhat.com>
10231
10232         * gdk/x11/gdkregion-generic.c: If a region does not have any
10233         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
10234         instead of GDK_OVERLAP_RECTANGLE_IN.
10235
10236 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
10237
10238         * gtk/gtklayout.c (gtk_layout_map): Remove references to
10239         OFFSCREEN, as it is no longer necessary.
10240
10241 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
10242
10243         * gtk/gtkcolorsel.c: Patch from David Santiago
10244         <mrcooger@cyberverse.com> to change things so that the 
10245         indicator of the active palette entry is done independently,
10246         not via the focus, since it should always be visible.
10247
10248 2000-05-17  Tor Lillqvist  <tml@iki.fi>
10249
10250         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
10251         refcount leaks as in the X11 backend.
10252
10253         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
10254         cosmetics.
10255
10256         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
10257         backend. Add _gdk_windowing_window_destroy().
10258
10259         * gtk/gtkcolorsel.c: Include correct backend-specific header.
10260         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
10261         either, but these probably do exist on nanox?)
10262         
10263         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
10264         which isn't necessarily defined by <math.h>.
10265
10266         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
10267         ancestry past GtkObject.
10268
10269         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
10270         from DLL on Win32.
10271
10272         * gtk/gtk.def: Update corresponding to recent changes.
10273
10274         * gtk/makefile.{cygwin,msc}: Updates.
10275
10276 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
10277
10278         * docs/Changes-1.4.txt: A bit of editing.
10279
10280         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
10281         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
10282         to clear the update area for the window, and clear it
10283         when hiding a window.
10284
10285         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
10286         if window destroyed.
10287
10288         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
10289
10290         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
10291         gdk_window_destroy() to the generic code, since there was a lot of 
10292         window-system-independent logic it in. Add a function:
10293         
10294          _gdk_window_destroy() 
10295
10296         to the internal API to destroy a window without unreferencing it.
10297         Add a function:
10298
10299          _gdk_windowing_window_destroy()
10300
10301         That does the windowing-system-dependent part of destroying 
10302         the window.
10303
10304 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
10305
10306         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
10307
10308 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
10309
10310         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
10311         Make gtk_widget_shape_combine_mask() keep a reference count on
10312         the pixmap since it keeps it around.
10313
10314 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
10315
10316         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
10317         leak.
10318
10319         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
10320         leak with event filters.
10321
10322 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
10323
10324         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
10325         signal handlers with the right data arguments. (Fixes
10326         some warnings when a widget was repeatedly set as a drag
10327         destination.)
10328
10329         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
10330         window so we can avoid avoid setting the DND properties on the
10331         toplevel window repeatedly.
10332
10333 2000-05-13  Tor Lillqvist  <tml@iki.fi>
10334
10335         * gdk/win32/gdkwin32.h: Define more message types missing from
10336         mingw headers.
10337
10338         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
10339         call gdk_window_destroy_notify(). It was never called. This
10340         probably meant that the GdkWindow was never freed. Thanks Owen for
10341         noticing (!).
10342
10343         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
10344         window as destroyed before calling DestroyWindow(). DestroyWindow()
10345         causes a call to the window procedure (gdk_WindowProc), which
10346         calls gdk_event_translate(), which calls
10347         gdk_window_destroy_notify(), which gets confused unless the window
10348         is set as destroyed.
10349
10350         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
10351         this function to indicate it's win32 only. Put inside #ifdef
10352         G_ENABLE_DEBUG.
10353
10354         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
10355         debugging function. (gdk_event_translate:) Add a default branch
10356         that uses the above function to print debug messages with all
10357         Windows messages symbolically.
10358
10359         * gdk/win32/gdkprivate-win32.h: Declare it, and
10360         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
10361
10362 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
10363
10364         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
10365         public header file.
10366
10367 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
10368
10369         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
10370
10371         * gtk/gtktext.c: made the adjustments no-construct args, simply
10372         provide default adjustments.
10373         (gtk_text_destroy): release adjustments.
10374
10375         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
10376         adjustment argument non-construct.
10377
10378         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
10379         instead of in finalize.
10380         (gtk_progress_get_text_from_value): 
10381         (gtk_progress_get_current_text): 
10382         (gtk_progress_set_value): 
10383         (gtk_progress_get_percentage_from_value): 
10384         (gtk_progress_get_current_percentage): 
10385         (gtk_progress_set_percentage): 
10386         (gtk_progress_configure): ensure an adjustment is present.
10387
10388 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
10389
10390         * gtk/gtkcolorsel.[hc]:
10391         * gtk/gtkcolorseldialog.[hc]:
10392         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
10393         their parent implementation, use bit fields for boolean values, don't
10394         create unused widgets, usage of glib types, braces go on their own
10395         lines, function argument alignment, #include directives etc. etc. etc..
10396
10397         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
10398
10399 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
10400
10401         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
10402
10403         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
10404         of NULL.
10405
10406         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
10407         to freed data.
10408         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
10409
10410         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
10411         to NULL when the toplevel is getting destroyed.
10412         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
10413         (gtk_menu_destroy): 
10414         (gtk_menu_init): store the information of whether we have to
10415         readd the initial child ref_count during destruction in a new
10416         GtkMenu field needs_destruction_ref_count.
10417
10418         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
10419         here, those reading: learn from my mistake! ;)
10420         in order for set_?adjustment to support a default adjustemnt if
10421         invoked with an adjustment pointer of NULL, the code read (pseudo):
10422         if (v->adjustment) unref (v->adjustment);
10423         if (!adjustment) adjustment = adjustment_new ();
10424         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
10425         now imagine the first unref to actually free the old adjustment and
10426         adjustment_new() creating a new adjustment from the very same memory
10427         portion. here, the latter comparision will unintendedly fail, and
10428         all hell breaks loose.
10429         (gtk_viewport_set_hadjustment):
10430         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
10431         after unreferencing it.
10432
10433         * gtk/gtkcontainer.[hc]: removed toplevel registration
10434         functions: gtk_container_register_toplevel(),
10435         gtk_container_unregister_toplevel() and
10436         gtk_container_get_toplevels() which had wrong semantics
10437         anyways: it didn't reference and copy the list.
10438
10439         * gtk/gtkwindow.c: we take over the container toplevel registration
10440         bussiness now. windows are registered across multiple destructions,
10441         untill they are finalized. the initial implicit reference count
10442         users are holding on windows is removed with the first destruction
10443         though.
10444         (gtk_window_init): ref & sink and set has_user_ref_count, got
10445         rid of gtk_container_register_toplevel() call. add window to
10446         toplevel_list.
10447         (gtk_window_destroy): unref the window if has_user_ref_count
10448         is still set, got rid of call to
10449         gtk_container_unregister_toplevel().
10450         (gtk_window_finalize): remove window from toplevel list.
10451         (gtk_window_list_toplevels): new function to return a newly
10452         created list with referenced toplevels.
10453         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
10454
10455         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
10456         adjustment a non-construct arg.
10457         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
10458         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
10459         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
10460
10461         * gtk/gtkrange.c: added some realized checks.
10462         (gtk_range_destroy): get rid of the h/v adjustments in the
10463         destroy handler instead of finalize. remove timer.
10464         (gtk_range_get_adjustment): demand create adjustment.
10465
10466         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
10467         we simply create them on demand now and get rid of them in
10468         the destroy handler.
10469         (gtk_viewport_destroy): get rid of the h/v adjustments in the
10470         destroy handler instead of finalize.
10471         (gtk_viewport_get_hadjustment): 
10472         (gtk_viewport_get_vadjustment): 
10473         (gtk_viewport_size_allocate): demand create h/v adjustment
10474         if required.
10475
10476         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
10477         gtk_widget_real_destroy () functionality.
10478         (gtk_widget_real_destroy): reinitialize with a new style, instead
10479         of setting widget->style to NULL.
10480
10481 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
10482
10483         * gtk/gtkcalendar.c:
10484         * gtk/gtkbutton.c: ported _get_type() implementation over to
10485         GType, either to preserve memchunks allocation facilities,
10486         or because Gtk+ 1.0 GtkTypeInfo was still being used.
10487
10488         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
10489         over. prepare for ::destroy to be emitted multiple times.
10490         removed reference tracer magic. chain into GObjectClass.shutdown()
10491         to emit ::destroy signal.
10492
10493         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
10494         fundamental.
10495
10496         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
10497         cludge.
10498
10499         * gtk/gtksocket.c:
10500         * gtk/gtkplug.c:
10501         * gtk/gtklayout.c:
10502         * gtk/gtklabel.c:
10503         * gtk/gtkargcollector.c:
10504         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
10505         not being a fundamental anymore, and to work with the new
10506         type system (nuked fundamental type varargs clutter).
10507
10508         * gtk/*.c: install finalize handlers in the GObjectClass
10509         part of the class structure.
10510         changed direct GTK_OBJECT()->klass accesses to
10511         GTK_*_GET_CLASS().
10512         changed direct object_class->type accesses to GTK_CLASS_TYPE().
10513
10514         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
10515         GType. made most of the GTK_*() type macros and Gtk* typedefs
10516         simple wrappers around macros and types provided by GType.
10517         most notably, a significant portion of the old API vanished:
10518         GTK_TYPE_MAKE(),
10519         GTK_TYPE_SEQNO(),
10520         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
10521         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
10522         GTK_TYPE_ARGS,
10523         GTK_TYPE_CALLBACK,
10524         GTK_TYPE_C_CALLBACK,
10525         GTK_TYPE_FOREIGN,
10526         GtkTypeQuery,
10527         gtk_type_query(),
10528         gtk_type_set_varargs_type(),
10529         gtk_type_get_varargs_type(),
10530         gtk_type_check_object_cast(),
10531         gtk_type_check_class_cast(),
10532         gtk_type_describe_tree(),
10533         gtk_type_describe_heritage(),
10534         gtk_type_free(),
10535         gtk_type_children_types(),
10536         gtk_type_set_chunk_alloc(),
10537         gtk_type_register_enum(),
10538         gtk_type_register_flags(),
10539         gtk_type_parent_class().
10540         replacements, where available are described in ../docs/Changes-1.4.txt.
10541         implemented compatibility functions for the remaining API.
10542
10543         * configure.in: depend on glib 1.3.1, use gobject module.
10544
10545 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
10546
10547         * TODO.xml: Various updates to current status.
10548
10549 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
10550
10551         * gtk.m4: Print out version when test succeeds.
10552
10553 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
10554
10555         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
10556         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
10557         
10558         (Original triangle color selector from Simon Budig
10559         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
10560         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
10561         Santiago <mrcooger@cyberverse.com>)
10562
10563         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
10564         out into a separate widget.
10565
10566         * gtk/testgtk.c: Add some checkbuttons for toggling palette
10567         and opacity controls.
10568
10569 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
10570
10571         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
10572         snuck in prematurely.
10573
10574 2000-05-07  Tor Lillqvist  <tml@iki.fi>
10575
10576         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
10577         had deleted a ! operator by mistake, which caused
10578         GDK_SELECTION_CLEAR events never to be generated, which caused
10579         only the first copy to the clipboard from an gtkeditable to
10580         actually cause a copy to the Windows clipboard.
10581
10582 2000-05-06  Tor Lillqvist  <tml@iki.fi>
10583
10584         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
10585         compilation, too. Current mingw gcc distributions include the
10586         necessary headers. Also the necessary IIDs are now in mingw
10587         headers/libraries, and own definitions unnecessary.
10588
10589         More hacking on OLE2 DND, still doesn't work though, and thus
10590         ifdeffed out.
10591
10592         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
10593         here, too.
10594
10595 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
10596
10597         * gdk/nanox/*: nano-X port work in progress.
10598         * gdk/simple.c: simple test for Gdk.
10599         * README.nanox: notes about the port: read this first!
10600         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
10601         with nano-X.
10602
10603 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
10604
10605         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
10606         gdk_window_clear() into common code, implement in terms of
10607         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
10608         not redirected to the backing rectangle.
10609
10610 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
10611
10612         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
10613         EXTRA_DIST. It does not work well when the file that
10614         everything depends on is not in the tarball.
10615
10616 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
10617
10618         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
10619         with recursion where process_updates() is called from
10620         an expose handler. (GtkTextView is highly broken in
10621         doing this, but it should work, so it is a nice test
10622         case.)
10623
10624 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
10625
10626         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
10627         handle the case where updates are queued during processing of
10628         updates.
10629
10630 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
10631
10632         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
10633         window is on gdk_display - use that instead of segfaulting.
10634
10635 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
10636
10637         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
10638         broken and require an empty arg, give it to them.
10639
10640 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
10641
10642         * gtk/gtklabel.h: indentation fixes.
10643
10644 2000-05-02  Tor Lillqvist  <tml@iki.fi>
10645
10646         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
10647         draw too narrow or too low arcs, they seem to fail, at least with
10648         some display drivers.
10649
10650         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
10651
10652         Large changes to the Win32 backend, partially made necessary by
10653         the changes to the backend-independent internal
10654         structures. Attempts to implement similar backing store stuff as
10655         on X11. The current (CVS) version of the Win32 backend is *not* as
10656         stable as it was before the no-flicker branch was merged. A
10657         zipfile with that version is available from
10658         http://www.gimp.org/win32/. That should be use by "production"
10659         code until this CVS version is usable. (But note, the Win32
10660         backend has never been claimed to be "production quality".)
10661
10662         * README.win32: Add the above comment about versions.
10663
10664         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
10665
10666         * gdk/gdk.def: Update.
10667
10668         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
10669         presumably be replaced by some more better mechanism as 1.4 gets
10670         closer to release shape.
10671
10672         * gdk/makefile.{cygwin,msc}: Update.
10673
10674         * gdk/win32/*.c: Correct inclusions of the backend-specific and
10675         internal headers. Change code according to changes in these. Use
10676         gdk_drawable_*, not gdk_window_* where necessary.
10677
10678         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
10679         our old DND.
10680
10681         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
10682         to interpret single characters as UTF-8. Thanks to Hans Breuer.
10683         Use correct function name in warning messages.
10684
10685         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
10686         GSourceFuncs gdk_event_prepare and gdk_event_check.
10687         (gdk_event_get_graphics_expose): Do implement, use
10688         PeekMessage. Thanks to Hans Breuer.
10689         (event_mask_string): Debugging function to print an GdkEventMask.
10690         (gdk_pointer_grab): Use it.
10691
10692         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
10693         (old) book I used claimed was Hangul actually is CJK Unified
10694         Ideographs Extension A. Also, Hangul Syllables were missing.
10695         Improve logging.
10696
10697         * gdk/win32/gdkgc-win32.c: Largish changes.
10698
10699         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
10700         g_win32_getlocale() from GLib, and not setlocale() to get current
10701         locale name.
10702
10703         * gdk/win32/gdkprivate-win32.h
10704         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
10705         gdkwin32.h, similarily as in the X11 backend.
10706
10707         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
10708         assignment was used instead of equals in if test. Thanks to Hans
10709         Breuer.
10710
10711         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
10712         the X11 version.
10713
10714         * gdk/win32/makefile.{cygwin,msc}
10715         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
10716         path to the Win32 headers that works also with the mingw compiler.
10717
10718         * gtk/gtkstyle.c: Include <string.h>.
10719
10720 2000-04-26  Havoc Pennington  <hp@redhat.com>
10721
10722         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
10723         replacing the broken gtk_label_get ()
10724
10725 2000-04-15  Havoc Pennington  <hp@pobox.com>
10726
10727         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
10728         this keeps scanner scripts from getting confused.
10729
10730         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
10731         data, rather than void
10732
10733 2000-04-15  Tor Lillqvist  <tml@iki.fi>
10734
10735         * gtk/gtkclist.c (gtk_clist_motion)
10736         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
10737         with is_hint FALSE, get x and y from the event. They used to be
10738         used uninitialised. The Win32 backend never sends motion events
10739         marked as hints. This for instance fixes the annoying file and
10740         font selector behaviour in the Win32 version.
10741
10742 2000-04-14  Tor Lillqvist  <tml@iki.fi>
10743
10744         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
10745         gtk_private_n_signals variables, they are used by some software,
10746         sigh.
10747
10748         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
10749         installation directory from the Registry, where the installer
10750         should have put it.
10751
10752 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
10753
10754         * gdk/x11/Makefile.am: Fix problem with installation directory for
10755         gdkx.h
10756
10757         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
10758         <mrcooger@cyberverse.com> so that when selecting menus with the
10759         mouse, the first item will not be selected, but when selecting
10760         with an accelerator, or navigating left-right on a menubar with
10761         the menus popped up, the first item will be selected.
10762
10763 2000-04-05  Dan Damian  <dand@dnttm.ro>
10764
10765         * configure.in: Added "ro" to ALL_LINGUAS.
10766
10767 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
10768
10769         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
10770         indentation.
10771
10772         * Makefile.am (EXTRA_DIST): Fix typo.
10773
10774         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
10775         to catch gdkconfig.h
10776
10777         * gtk/gtkitemfactory.c: Added FIXME.
10778
10779 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
10780
10781         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
10782         s/return_if_fail/return_val_if_fail/g and add a return value.
10783
10784 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
10785
10786         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
10787         merge slipup.
10788
10789         * gdk/gdkinput.h: Fix missing line from merge.
10790
10791 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
10792
10793         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
10794         instead of gdkprivate.h.
10795
10796 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
10797
10798         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
10799         parent class to correctly be GtkDialogClass.
10800
10801 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
10802
10803         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
10804         toplevel windows and their immediate children by their parents,
10805         since the size of toplevel windows is out of our immediate
10806         control and we don't get any real benefit from trying to track
10807         this size for clipping.
10808
10809         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
10810         for input_only windows.
10811
10812         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
10813         to fix some hacks and make sure that we don't try to set the
10814         background of input only windows.
10815
10816 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
10817
10818         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
10819         the _really_ internal stuff, and leave gdkprivate.h for the fake private
10820         stuff that we've traditionally exposed.
10821
10822         * gdk/**.c: Use gdkinternals.h where appropriate.
10823
10824         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
10825         not include gdkprivate-x11.h, move all stuff of conceivable public
10826         interest into gdkx.h; keep all really private stuff in
10827         uninstalled header gdkprivate-x11.h.
10828
10829         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
10830         image->image_put on windows through a new function _gdk_window_draw_image()
10831         to allow us to do backing store for images. (Sort of ugly)
10832
10833         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
10834         contexts locally so that we can offset them properly when drawing 
10835         onto backing pixmaps.
10836
10837         * gdk/gdkinput.h: Reindented
10838
10839         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
10840         pixmap or color for the window, so we can properly initialize
10841         our double-buffer pixmaps, and also so that we temporarily set
10842         a background of None while scrolling.
10843
10844         * gdk/gdkregion.h: Revise region boolean operators to have an
10845         interface that is actually convenient - switch from creating new
10846         regions on every op, to "methods" that modify existing regions
10847         (A = A OP B). 3 argument forms which allow dest == src, would also
10848         be possible, but the current interfaces seem to map nicely
10849         onto what needs to be done. (There is quite a lot of region
10850         code in GDK now.)
10851
10852         * gdk/gdkregion.h: Add constructor from rectangle and a copy
10853         operator.
10854
10855         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
10856         gdkpoly-generic.h: Copy region code from Xlib, switch it over
10857         to 32 bit coordinates, modify it to be mostly GTK+ style
10858         and to have interfaces that match gdkregion.h.
10859
10860         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
10861         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
10862         create a backing pixmap and redirect all drawing to
10863         that backing pixmap until a matching gdk_window_end_paint().
10864
10865         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
10866         Create a special drawable class for GtkWindow's that 
10867         redirects the drawing to the backing pixmap as necessary
10868         and then calls the real operations in _gdk_windowing_window_class.
10869
10870         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
10871         Store invalid region for each window. Generate expose events for invalid
10872         region in an idle. This replaces both the expose compression
10873         and the redrawing queuing in GTK+. It is both more efficient and
10874         simpler than either one individually and far more so then the
10875         combination.
10876
10877         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
10878         Emulate 32 bit coordinates for windows with 16 bit coordinates
10879         by offsetting drawing, guffaw scrolling techniques and
10880         mapping/unmapping child windows as necessary.
10881
10882         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
10883         where, when invalid regions are processed, the region is stored,
10884         and if expose events come in that are detectably duplicate
10885         the processed exposes (by comparison of event serial numbers),
10886         the stored region is subtracted out of those exposes.
10887
10888         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
10889         regions newly exposed when scrolling or resizing windows.
10890         This, combined with forcing processesing of queued invalidated
10891         regions, gives nice flicker-free scrolling.
10892
10893         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
10894         invalidated regions after every scroll.
10895
10896         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
10897         emulation in GDK. Its, for all practical purposes just a
10898         GtkViewport/GtkFixed hybrid now.
10899
10900         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
10901         (16-bit) structures as necessary instead of just casting.
10902
10903         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
10904         in terms of the structures from gdkregion-generic.c, using appropriate
10905         offsets from GDK to X11 coordinates. Cache clip mask and
10906         origin and ts origin locally and only flush to the server
10907         when drawing, to avoid constantly setting and resetting these
10908         values when offsetting GC's for scrolling and backing pixmaps.
10909
10910         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
10911
10912         * gtk/gtkcontainer.c: Call process_all_updates at end
10913         of resizing to reduce flicker. (Avoids having redraw
10914         lag arbitrarily behind resize under some circumstances)
10915
10916         * gtk/gtkentry.c: Remove old backing store code, and simply take
10917         advantage of the new backing store capabilities of GDK.
10918
10919         * gtk/gtkmain.c: Simple implementation of widget backing
10920         store - simply push a paint while handling each expose.
10921         (Should really be configurable widget for widget.)
10922         
10923         * gtk/gtkwidget.c: Remove all the old complicated redraw
10924         code, and simply invalidate the GDK windows from
10925         gdk_window_queue_clear(), etc. (Sigh, so much carefully
10926         debugged complexity ... gone to the winds.)
10927
10928         Remove all the code for suppressing expose events while
10929         resizes are pending; this isn't needed since the invalid
10930         areas won't be processed until after the resizes are
10931         processed, since they are in a lower priority idle.
10932
10933 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
10934
10935         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
10936         and height of dest rectangle for non-intersecting rectangles.
10937
10938 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
10939
10940         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
10941         for GdkRectangle.
10942
10943 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
10944
10945         * gdk/gdk{events,image,private,types,window}.h
10946          gdk/x11/gdkinputprivate.h: Change all coordinates
10947          from int16 to int. Also, Change width and height from
10948          unsigned to signed to avoid all the stupid C 
10949          signedness bugs.
10950
10951 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
10952
10953         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
10954         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
10955         Add some more detailed checking.
10956
10957         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
10958         New function to retrieve the depth of a drawable.
10959
10960         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
10961         field, reorder fields to save memory. 
10962
10963 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
10964
10965         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
10966         of the background image instead of scaling the background down to
10967         a line.
10968
10969         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
10970         which temporarily set slider to wrong size.
10971
10972         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
10973         queue_clear().
10974
10975 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
10976
10977 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
10978
10979         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
10980
10981 2000-03-17  Tor Lillqvist  <tml@iki.fi>
10982
10983         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
10984         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
10985
10986         * gdk/win32/gdkfont-win32.c
10987         * gdk/win32/gdkproperty-win32.c
10988         * gdk/win32/gdkselection-win32.c
10989         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
10990         now declared such.
10991
10992 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
10993
10994         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
10995
10996 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
10997
10998         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
10999         is called without trapping X errors.
11000
11001 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
11002
11003         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
11004         way into the fontset lists.
11005
11006 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
11007
11008         * gtk/gtkthemes.h: add extern "C" scope.
11009
11010 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
11011
11012         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
11013         to make appends to the list constant. (gtk-guy-990901-0.patch)
11014
11015 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
11016
11017         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
11018         for the typename hash table.
11019
11020 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
11021
11022         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
11023         to make sure we never divide by zero. 
11024         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
11025
11026 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
11027
11028         * gtk/gtkfontsel.c: Apply patch from
11029         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
11030         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
11031
11032         Also, some cleanups in atom handling.
11033
11034 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
11035
11036         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
11037         not GtkWidget.
11038
11039 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
11040
11041         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
11042         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
11043         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
11044         more guint wrap-around bugs before going to bed.
11045
11046 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
11047
11048         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
11049         guint wrap arounds in allocation.width.
11050
11051         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
11052         process untill we fit the allocation given.
11053
11054 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
11055
11056         * gtk/gtkwidget.c:
11057         (gtk_widget_unrealize): guard widget access with ref/unref
11058         around signal emission.
11059         (gtk_widget_hide): same here, but also check its destroyed
11060         state before queueing a resize.
11061
11062 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
11063
11064         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
11065         of gtk_default_insensitive_bg as insensitive base color.
11066
11067         * gtk/gtktext.c (gtk_text_style_set): set the background color according
11068         to the widget's state.
11069         (gtk_text_realize): same here.
11070         (gtk_text_state_changed): same here.
11071         (draw_bg_rect): compare background color against base[] from
11072         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
11073
11074 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
11075
11076         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
11077         grabs are active, unless a delete event is send to the toplevel
11078         of the currently grab holding widget.
11079
11080 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
11081
11082         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
11083         debugging g_print's.
11084
11085 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
11086
11087         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
11088         ever make the scrolled-window requisition ever depend on the 
11089         visibility state of the scrollbars for the AUTOMATIC policy. 
11090         This breaks the GTK+ requisition model, and causes loops.
11091
11092 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
11093
11094         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
11095         the default font to avoid problems with XFree86-4.0 where the
11096         default charset is iso10646-1, not iso8859-1.
11097
11098 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
11099
11100         * acinclude.m4
11101         * config.guess
11102         * config.sub
11103         * ltconfig
11104         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
11105
11106         * gtk/Makefile.am: minor cosmetic consistency tweak
11107
11108 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
11109
11110         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
11111         the activate_time to 0, so that we handle a quick
11112         press/release press/release properly and don't suppress
11113         the second release. (Red Hat bug #7545)
11114
11115 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
11116
11117         * gtk/gtkctree.c (row_delete):
11118         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
11119         bugs with destruction notifier, *always* update internal
11120         structures *before* calling user code.
11121
11122 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
11123
11124         A few more fixes for bug #5487, #2051, #2677.
11125         * gtk/gtkclist.c : 
11126         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
11127         not GDK_BUTTON_PRESS.
11128         (resync_selection): resync only if selection_mode is
11129         GTK_SELECTION_EXTENDED
11130         * gtk/gtkctree.c (resync_selection): same here
11131
11132 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
11133
11134         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
11135         gdk_drag_get_selection() and gtk_menu_detach().
11136
11137         [ From Jeroen Ruigrok/Asmodai ]
11138
11139 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
11140
11141         * gtk/gtknotebook.c (gtk_notebook_size_request): 
11142         page->tab_label can be NULL.
11143
11144 2000-01-25  Havoc Pennington  <hp@pobox.com>
11145         
11146         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
11147         arg is boolean
11148
11149         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
11150
11151         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
11152
11153         * gdk/gdkproperty.c (gdk_property_get): return boolean
11154
11155         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
11156
11157         * gdk/gdkim.c (gdk_im_ready): return boolean
11158
11159         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
11160
11161         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
11162         glib clash, should fix glib)
11163
11164         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
11165         (gdk_get_show_events): return gboolean, and canonicalize 
11166         to TRUE/FALSE
11167
11168         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
11169         colormap is private
11170         (gdk_colors_alloc): gboolean whether to be contiguous
11171         (gdk_color_equal): return gboolean since we are a predicate
11172         and not a qsort() (this looks semi-wrong due to glib breakage,
11173         IMO glib should be fixed)
11174         
11175         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
11176         (gdk_get_use_xshm): return gboolean
11177         (gdk_pointer_is_grabbed): return gboolean
11178
11179         * gdk/gdk.h: Change prototypes to match all the above changes,
11180         and re-run egtk-format-protos as required.
11181
11182 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
11183
11184         * gtk/gtkctree.c (resync_selection): 
11185         * gtk/gtkclist.c (resync_selection):
11186
11187         Return immediately if clist->drag_pos < 0. This is a workaround
11188         for the corrupt state that the clist gets into when a
11189         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
11190
11191         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
11192         
11193         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
11194         variable from recent commit.
11195
11196 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
11197
11198         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
11199
11200 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
11201
11202         * gtk/Makefile.am: prefix all autogenerated source that get build in
11203         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
11204         in builddir. since we subsequently cd into srcdir for autogeneration,
11205         the paths have to be stripped from the target file names, thusly we
11206         use $(@F) as target names now.
11207         put a comment about configure.in's --disable-rebuilds option,
11208         which can be used for non-writable source directories, for development
11209         setups though, srcdir has to be *writable*.
11210
11211 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
11212
11213         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
11214           Finish the job of allowing event to be NULL.
11215           (Fixes bug #4283, reported by Chris Blizzard)
11216
11217         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
11218           things so that the cursor appears on screen, properly
11219           take into account INNER_BORDER.
11220           (Fixes bug #4754, reported by Antonio Campos)
11221
11222 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
11223
11224         * gtk/gtknotebook.c (gtk_notebook_map): Don't
11225           show the tab_label unless it itself is visible.
11226
11227           gtk/gtknotebook.c (gtk_notebook_size_request):
11228           Do a better job of making sure that the visibility
11229           of the tab label corresponds to whether it should
11230           be mapped or not.
11231
11232 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
11233
11234         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
11235           Use the requisition, not the allocation, since the
11236           allocation has not necessarily been computed yet.
11237           (Pointed out by Eugene Osintsev)
11238
11239 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
11240
11241         * gtk/gtkstyle.c (gtk_style_new): Dont' set
11242           style/base[GTK_STATE_INSENSITIVE] both to
11243           gtk_default_insensitive_bg!
11244           (Bug #2187, reported by Jonathan Blandford)
11245
11246         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
11247           Add Alt_L, Alt_R to list of invalid accelerators.
11248           (Bug #3736, reported by Vlad Harchev)
11249
11250 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
11251
11252         * gtk/gtkfilesel.c (open_ref_dir): Fix several
11253         bugs which occured after an attempt to open 
11254         invalid home directory left cmpl_state->reference_dir == NULL.
11255
11256          - completion on files in home directory didn't work
11257          - completion on an empty string caused  segfault
11258
11259          (Bug #3678, reported by Steve Ratcliffe)
11260
11261         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
11262         cut and paste error that was causing scales to
11263         be incorrectly positioned.
11264         (Bug #2956,
11265          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
11266
11267 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
11268
11269         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
11270         when checking for dcgettext, if we've found we needed
11271         it for dgettext.
11272 +
11273 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
11274
11275         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
11276         queue_clear on NO_WINDOW widgets during a reparent,
11277         since at that point the window and widget heirarchies
11278         are out of sync. This stops crashing in some cases
11279         (the scrolled window reparent test, for instance), and
11280         _probably_ won't cause drawing errors.
11281
11282         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
11283         test do what it was supposed to do and be robust against
11284         window closings, etc. (Bug #2443)
11285
11286 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
11287
11288         * gtk/gtkentry.c: Fix return values on mouse events.
11289         (Bug #2686, Sky <seb_sky@yahoo.com>)
11290
11291         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
11292         (pointed out by George Lebl)
11293
11294         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
11295         (From Ettore Perazzoli  <ettore@helixcode.com>)
11296  
11297 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
11298
11299         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
11300         clicks between rows or outside calender area correctly.
11301         (Patch from Damon Chaplin)
11302
11303         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
11304         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
11305           Call destroy function when overwriting existing data. 
11306           (Pointed out by Damon Chaplin)
11307
11308 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
11309
11310         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
11311           which was causing problems on various systems with Xmu.
11312           This hasn't been needed for a very long time.
11313           (Fixes #1185 3167)
11314
11315 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
11316
11317         * gdk/gdki18n.h: Include <ctype.h> when defining
11318           gdk_isw* in terms of is* as a fallback.
11319           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
11320
11321 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
11322
11323         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
11324           realize the widget when it is size allocated!
11325           (old, old bug)
11326
11327         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
11328           Removed unused call to gdk_window_get_size() that
11329           showed up when the above was fixed.
11330
11331 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
11332
11333         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
11334           fix up widget->window when the widget is a
11335           NO_WINDOW container widget.
11336
11337 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
11338
11339         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
11340           to account for the fact that feof() does _not_ 
11341           return TRUE on errors, and thus avoid infinite loops
11342           when trying to use gdk_pixmap_create_from_xpm()
11343           on unreadable values.
11344
11345 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
11346
11347         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
11348
11349 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
11350
11351         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
11352           gdk_gc_set_dashes to take gint8 instead of gchar to
11353           make it clearer that it is _not_ a NULL terminated string.
11354
11355         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
11356           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
11357           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
11358           arguments.
11359
11360 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
11361
11362         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
11363         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
11364         background size relative to our allocation, guard against small
11365         allocations, we may have not yet been size allocated.
11366
11367 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
11368
11369         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
11370         not just version == 3. We implement all 3 + most of 4 - 
11371         (we don't support matching text/plain;charset=iso-8859-1
11372         to a dest that expects text/plain). We'll still advertise
11373         3 to be safe, but any client implementing version >= 3
11374         must interoperate with 3.
11375         
11376 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
11377
11378         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
11379         background and gc members, add a warning in gtk_tooltips_set_color()
11380         indicating that this function is deprecated.
11381
11382 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
11383
11384         * docs/gtkfaq.sgml: FAQ Update:
11385           - Minor cleanups (Emmanuel, me)
11386           - New questions:
11387                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
11388                 How can I retrieve the text from a GtkMenuItem? (timj)
11389                 How do I validate/limit/filter the input to a GtkEntry? (me)
11390                 Memory does not seem to be released when I free the list
11391                         nodes I've allocated (timj)
11392
11393 2000-03-07  Tor Lillqvist  <tml@iki.fi>
11394
11395         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
11396         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
11397         for which it is no use to call GetLastError onWin9x.
11398         (gdk_other_api_failed) New function, for general error
11399         reporting without calling GetLastError.
11400         (gdk_win32_api_failed) OTOH, this function always calls
11401         GetLastError. (gdk_win32_last_error_string) Remove this function,
11402         GLib has the equivalent now.
11403
11404         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
11405         call them with function name, file name and line number in the
11406         arguments.
11407
11408         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
11409         functions.
11410         
11411         * gtk/gtk.def: Add some missing entry points.
11412
11413         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
11414         gtk_paned_set_gutter_size, which don't exist any longer, as void.
11415         
11416         Fixes by Hans Breuer:
11417
11418         * gdk/makefile.msc: Update for debugging.
11419
11420         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
11421         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
11422         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
11423         in the dash_list.
11424
11425         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
11426         the x11 backend.
11427
11428         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
11429
11430         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
11431
11432 2000-03-04  Tor Lillqvist  <tml@iki.fi>
11433
11434         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
11435         just pixel value of background colour.
11436
11437         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
11438         containing code snippet previously duplicated in a couple of
11439         places.
11440         
11441         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
11442         gdk_colormap_color.
11443
11444         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
11445         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
11446         events for autorepeated Shift, Control and Alt keys. Use
11447         gdk_colormap_color.
11448
11449         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
11450         pointer is inside the window the cursor of which we are setting,
11451         call SetCursor immediately.
11452
11453         * gdk/win32/makefile.cygwin
11454         * gtk/makefile.cygwin: If we don't have the build number stamp
11455         file, use zero.
11456
11457         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
11458         gtk_paned_set_gutter_size as empty.
11459
11460         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
11461         
11462 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
11463
11464         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
11465           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
11466           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
11467           docs/gtk_tut.sgml docs/gtk.texi TODO:
11468
11469           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
11470
11471 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
11472
11473         * gtk/gtkcalendar.c: Implement num_marked_dates,
11474           and don't emit mutiple day_selected signals on
11475           month_prev.
11476
11477 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
11478
11479         * docs/make-todo (lineno): let title and logo be configurable so
11480         that GNOME can use this script too.
11481
11482         * TODO.xml: added logourl and a title
11483
11484 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
11485
11486         * TODO.xml: Added some UI items, and an explanatory
11487         comment at the top of the file.
11488
11489 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
11490
11491         * TODO.xml: some updates, added abunch of new entries.
11492         a note for those fiddeling with this file, when done
11493         with it, invoke:
11494         $ ./docs/make-todo TODO.xml >/dev/null
11495         and correct output errors before comitting changes.
11496
11497 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
11498
11499         * TODO.xml: Added XML-structured TODO file.
11500         * docs/make-todo: python script to turn TODO.xml into
11501           pretty XML output. 
11502
11503 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
11504
11505         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
11506         the function to let it draw the seven dots, instead of the old,
11507         much maligned, method.
11508         (draw_dot): New function to draw a dot.
11509
11510         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
11511         to draw the handle inside the border width as opposed to outside.
11512         Use paint function instead of gdk_draw_point.
11513
11514         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
11515         to draw the handle inside the border width as opposed to outside.
11516         Use paint function instead of gdk_draw_point.
11517
11518         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
11519         Change indenting to be more GTK like.
11520
11521 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
11522
11523         * docs/gtk_tut.sgml: New section on GtkCalendar
11524         * examples/calendar: Update example code
11525
11526 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
11527
11528         * docs/gtkfaq.sgml: FAQ Update
11529
11530 2000-02-19  Anders Carlsson  <andersca@gnu.org>
11531
11532         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
11533         to prevent the scroll event to be propagated upwards.
11534
11535 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
11536
11537         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
11538         OwnerGrabButtonMask from button entries for
11539         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
11540
11541         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
11542         to the event mask (which will result in button/press release
11543         being added to the event mask on Unix) so scrolling works
11544         for layouts in scroll windows.
11545
11546         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
11547
11548         Patch from Anders Carlsson  <andersca@gnu.org> to add
11549         a scroll event.
11550
11551         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
11552         scrolling to the "Test Scrolling" part of testgtk.
11553  
11554         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
11555  
11556         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
11557         it against GDK_SCROLL.
11558  
11559         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
11560         way of mouse wheel scrolling.
11561  
11562         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
11563  
11564         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
11565  
11566         * gtk/gtkmain.c: Removed previous mouse wheel hack.
11567  
11568         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
11569         gdk_event_mask_table.
11570  
11571         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
11572         GdkEventScroll handler.
11573  
11574         * gdk/gdkevents.h: Added GdkEventScroll structure.
11575  
11576 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
11577
11578         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
11579         and Anders Carlsson to change the Paned widgets so that they
11580         can be dragged from anywhere along the length. Also change
11581         the way that this is drawn to make this apparent.
11582
11583         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
11584         from George Lebl to check that option_menu->menu is present
11585         before getting history.
11586
11587 2000-02-14  Tor Lillqvist  <tml@iki.fi>
11588
11589         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
11590         before the assertion for non-NULL segment list.
11591
11592         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
11593         Seems that pattern brushes *must* be 8x8 pixels! At least on my
11594         machine, but it might be display driver dependent. Sigh, so make
11595         sure the stipple is that size. Does Windows suck or what?
11596
11597         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
11598         places.
11599
11600 2000-02-13  Havoc Pennington  <hp@pobox.com>
11601
11602         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
11603         refcount to 1
11604         (gdk_cursor_new): init refcount to 1
11605
11606         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
11607
11608 2000-02-13  Tor Lillqvist  <tml@iki.fi>
11609
11610         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
11611         so that we don't have to do unnecessary settings to the HDC.
11612
11613         * gdk/win32/gdkdrawable-win32.c
11614         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
11615         gdk_gc_predraw.
11616
11617         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
11618         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
11619         GDI paths, call WidenPath to get the outline of the stroken path,
11620         and then fill the outline (with the brush that was built from the
11621         stipple).
11622
11623         * gdk/win32/gdkgc-win32.c: Factor out common code from
11624         _gdk_win32_gc_new and gdk_win32_gc_set_values into
11625         gdk_win32_gc_values_to_win32values. Use correct colour for
11626         SetBkColor() (Until now the code actually used a random colour in
11627         the call to SetBkColor()... but that didn't show up as not many
11628         GDI APIs use the background colour. Pattern (opaque stippled)
11629         brushes do.)
11630
11631         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
11632         gdk_win32_api_failed): New functions for error logging.
11633
11634         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
11635         WIN32_API_FAILED to call them, passing function or file name and
11636         line number.
11637
11638         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
11639
11640         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
11641         GdkColor for foreground and background in GdkGCWin32Data.
11642
11643         * gdk/makefile.cygwin: Link in the resource object separately.
11644
11645         * gdk/win32/rc/gdk.rc
11646         * gtk/gtk.rc (New file)
11647         * gdk/win32/makefile.cygwin
11648         * gtk/makefile.cygwin: Update build number in DLLs automatically,
11649         as in GLib.
11650
11651 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
11652
11653         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
11654         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
11655         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
11656         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
11657         parameters given and cursor->ref_count. coding style fixups.
11658
11659         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
11660         not GtkWidget.
11661         
11662         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
11663         fix up widget macros and add _GET_CLASS() variant.
11664         
11665         * gtk/*.c: some GtkType fixups.
11666
11667 2000-02-09  Tor Lillqvist  <tml@iki.fi>
11668
11669         * gdk/win32/gdkproperty-win32.c
11670         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
11671         were reversed.
11672
11673 2000-02-04  Tor Lillqvist  <tml@iki.fi>
11674
11675         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
11676         g_filename_to_utf8 to convert the font names Windows gives us from
11677         whatever is the default codepage to UTF-8.
11678         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
11679         in the other direction.
11680
11681         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
11682         error in debugging output.
11683
11684 2000-02-02  Tor Lillqvist  <tml@iki.fi>
11685
11686         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
11687         and height parameters to gdk_window_clear_area(). Not minus one.
11688
11689 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
11690
11691         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
11692         checks if the widget passed to gtk_drag_get_data() was not the
11693         dest widget.
11694
11695 2000-02-01  Tor Lillqvist  <tml@iki.fi>
11696
11697         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
11698         g_filename_from_utf8 functions (which were added a moment ago to
11699         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
11700         size buffers.
11701
11702         gtk_file_selection_get_filename returns the filename in the C
11703         runtime encoding. It calls g_filename_from_utf8, but copies the
11704         returned string to a static buffer, which is returned. I think
11705         this is better than returning the result from g_filename_from_utf8
11706         directly, which would mean all apps that use it would have to free
11707         the return value. Or should this function care about this issue at
11708         all? Maybe a new function with clearly defined semantics.
11709
11710         * gtk/gtkfilesel.h: Add comment about
11711         gtk_file_selection_get_filename returning the filename in the C
11712         runtime's encoding.
11713
11714         * README.win32
11715         * gdk/gdk.def
11716         * gdk/makefile.{cygwin,msc}
11717         * gtk/gtk.def: Updates.
11718
11719         * gdk/gdkcursor-win32.c: Initialise refcount.
11720
11721 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
11722
11723         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
11724
11725 2000-01-30  Havoc Pennington  <hp@pobox.com>
11726
11727         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
11728         destroy
11729
11730         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
11731
11732         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
11733         implemented in platform-specific code
11734
11735         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
11736
11737         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
11738         underscore in front
11739
11740         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
11741         put an underscore in front
11742
11743         * gdk/gdkcursor.c: new file, implements
11744         gdk_cursor_ref/gdk_cursor_unref
11745
11746         * gdk/gdkcursor.h: Refcount GdkCursor
11747
11748         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
11749
11750 2000-01-29  Tor Lillqvist  <tml@iki.fi>
11751
11752         * gdk/gdkwindow.h
11753         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
11754
11755 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
11756
11757         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
11758         structures to properly inherit from GtkWidget not GtkBin.
11759
11760 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
11761
11762         * gtk+.spec.in: Added lib/gtk+/include/* to %files
11763         (bug #5178 - Peter Wainright)
11764         
11765         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
11766         so that it will be installed.
11767         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
11768
11769 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
11770
11771         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
11772         for the GtkStyleClass vtable const.
11773
11774         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
11775         take a const string argument like GtkTranslateFunc. This will
11776         require changes in use code.
11777
11778 2000-01-19  Tor Lillqvist  <tml@iki.fi>
11779
11780         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
11781         semantics (to mimic the X11 backend, which just calls XClearArea)
11782         is to check for zero width (and height), and in that case use the
11783         window's width minus x (height minus y). This fixes for instance
11784         some redraw problems with gtkclist, which were easily noticeable
11785         in the gtk file selection widget.
11786
11787         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
11788         windows.
11789
11790 2000-01-13  Tor Lillqvist  <tml@iki.fi>
11791
11792         * configure.in
11793         * gdk/Makefile.am
11794         * gdk/x11/Makefile.am
11795         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
11796         (bug #5177).
11797         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
11798         out later.
11799
11800 2000-01-09  Tor Lillqvist  <tml@iki.fi>
11801
11802         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
11803         WM_MOVE for iconified or invisible windows. This fixes various
11804         problems when minimising windows. Thanks to Bernd Herd.
11805
11806 2000-01-05  Tor Lillqvist  <tml@iki.fi>
11807
11808         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
11809         backend's draw_lines method, not draw_points.
11810
11811 2000-01-02  Tor Lillqvist  <tml@iki.fi>
11812
11813         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
11814         before Owen's reorganisation: Don't have queued_events and
11815         queued_tail statics in this file, but use gdk_queued_events and
11816         gdk_queued_tail. This makes exposure event compression work again.
11817
11818         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
11819         seem to be needed?
11820
11821 1999-12-30  Tor Lillqvist  <tml@iki.fi>
11822
11823         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
11824         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
11825         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
11826         doesn't do anything.
11827
11828         * gdk/gdk.def: Add gdk_xid_table_insert.
11829
11830         * gdk/win32/gdkprivate-win32.h
11831         * gdk/win32/gdkevents-win32.c
11832         * gdk/win32/gdkinput-win32.c
11833         
11834         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
11835         extension_events field in the GdkWindowWin32Data struct. Use only
11836         the extension_events field in GdkWindowPrivate. Previously one was
11837         set, and the other one tested, which broke tablet
11838         functionality. Thanks to Keishi Suenaga for pointing this out.
11839
11840 1999-12-18  Tor Lillqvist  <tml@iki.fi>
11841
11842         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
11843         When handling a single character (text length == 1), don't handle
11844         it as if it was UTF-8.
11845
11846 1999-12-11  Tor Lillqvist  <tml@iki.fi>
11847
11848         * Makefile.am: Distribute README.win32.
11849         
11850         * gdk/Makefile.am
11851         * gdk/win32/Makefile.am: Distribute Win32 files.
11852
11853         * gdk/makefile.msc: New file.
11854
11855         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
11856         after label).
11857
11858         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
11859         gdk_error_code as GDKVAR, as they are referred outside GDK.
11860
11861         * gdk/win32/makefile.msc: Update.
11862
11863         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
11864         tweaks. Check only if at least one of those Unicode subrange bits
11865         we care for is set. If no code page bits are set, guess (wildly)
11866         based on the charset.
11867
11868         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
11869
11870         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
11871         non-NULL.
11872
11873         * gtk/gtkdnd.c
11874         * gtk/gtklayout.c
11875         * gtk/gtkplug.c
11876         * gtk/gtkselection.c
11877         * gtk/gtksocket.c
11878         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
11879         appropriate. There must be a cleaner way to handle this?
11880
11881         * gtk/gtkrc.c: Must include windows.h on Win32.
11882
11883         * gtk/testgtk.c: No need to include gdkx.h.
11884
11885         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
11886
11887 1999-12-07  Tor Lillqvist  <tml@iki.fi>
11888
11889         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
11890         the rbearing is set to the same as the width, but this should be
11891         fixed.
11892
11893 1999-12-06  Tor Lillqvist  <tml@iki.fi>
11894
11895         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
11896         function. If Windows doesn't tell us what Unicode subranges a font
11897         covers, guesstimate based on the codepages it covers. This will
11898         hopefully help those Windows versions or fonts that don't give us
11899         any useful Unicode subrange information with GetTextCharsetInfo.
11900         Call this function in gdk_font_load_internal.
11901
11902         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
11903         minor changes.
11904
11905 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
11906
11907         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
11908         New function, long needed.
11909
11910 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
11911
11912         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
11913         only_if_exists argument of gdk_atom_intern to
11914         bool.
11915
11916 1999-11-25  Tor Lillqvist  <tml@iki.fi>
11917
11918         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
11919         Fix two copy&paste errors.
11920
11921         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
11922         win32 has changed.
11923
11924         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
11925         GdkWin32SingleFont struct.
11926
11927         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
11928         subranges of loaded fonts. Clear font signature first, in case
11929         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
11930         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
11931
11932         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
11933         Unoffset clip region.
11934
11935 1999-11-23  Tor Lillqvist  <tml@iki.fi>
11936
11937         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
11938         event->any.window before calling filter functions.
11939
11940 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
11941
11942         * gtk/gtkgamma.h: Adapt cast macros to standard.
11943
11944 [ Merges from 1.2 ]
11945
11946 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
11947
11948         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
11949         If translation does not include a '/', use entire
11950         translation instead of crashing.
11951
11952 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
11953
11954         * docs/gtk_tut.sgml:
11955         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
11956
11957 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
11958
11959         * gtk/gtkselection.c (gtk_target_list_remove): Use
11960         g_list_remove_link, not g_list_remove.
11961
11962         [ From Geert Bevin <gbevin@thunderstorms.org> ]
11963         
11964 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
11965
11966         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
11967         statement upon unselection (how the heck did that slip in?).
11968
11969 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
11970
11971         * gtk/gtktext.c (gtk_text_freeze): 
11972         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
11973         in frozen state (and aparently crashes). patch provided by Anders
11974         Melchiorsen <and@kampsax.dtu.dk>.
11975
11976 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
11977
11978         * fix insensitive default/focus widget activation,
11979         reported by Matt Goodall <mgg@isotek.co.uk>.
11980
11981         * gtk/gtkwindow.c (gtk_window_key_press_event): 
11982         (gtk_window_activate_default):
11983         (gtk_window_activate_focus):
11984         return handled=FALSE for actiavtion of insensitive default
11985         widgets. return handled=TRUE for activation of insensitive
11986         focus widgets. don't activate in either case.
11987
11988 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
11989
11990         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
11991         and $glib_cflags to match library order and in the
11992         theory that an old version of GLib is more likely to
11993         be in the include directory for X then vice-versa.
11994         (Bug #2776)
11995
11996 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
11997
11998         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
11999         to determine the locale for fontsets, not LC_MESSAGES;
12000         the user may want English messages with a handling
12001         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
12002         will still be broken) (Bug #2891)
12003
12004 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
12005
12006         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
12007
12008 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
12009
12010         * gtk/gtkrc.ko: Changed the Korean default fontset.
12011
12012 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
12013
12014         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
12015         where when scrolling to the left or top double exposes
12016         were done, causing major slowdowns.
12017
12018 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
12019
12020         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
12021         names to lowercase and alphanumeric, before looking
12022         them up.
12023
12024         * gtk/Makefile.am: Install codeset variant gtkrc files
12025         with normalized names.
12026
12027 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
12028
12029         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
12030         popup menus when the menu is already visible, but its parent
12031         is still hidden, (happens after tornoff window got hidden).
12032
12033 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
12034
12035         * gtk/Makefile.am (install-data-local): Fix
12036         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
12037         deleted, causing error messages on install.
12038
12039 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
12040
12041         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
12042         the handle as well, since we now sometimes ignore
12043         exposes on the handle while resizing.
12044
12045 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
12046
12047         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
12048         extra g_free introduced in one of the last one or two 
12049         commits.
12050
12051 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
12052
12053         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
12054         consistent, put each style that a gtkrc.* file creates
12055         in a unique namespace, remove old files before installing.
12056
12057 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
12058
12059         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
12060         gtk_rc_init is called multiple times. (Yes, people who
12061         do that have bugs in their code.)
12062
12063 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
12064
12065         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
12066         Remove it since it's generated by the Makefile anyway
12067
12068 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
12069
12070         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
12071         device->info.axes for core pointer.
12072
12073 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
12074
12075         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
12076         idle_id, to deal with obsolete, broken C libraries.
12077
12078 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
12079
12080         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
12081         allocation->x/y twice!
12082
12083         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
12084         consistent with gtk_vscale_pos_trough().
12085
12086 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
12087
12088         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
12089         be queueing a resize on a toplevel container between
12090         the time we show it and when we map it. So, we need
12091         to test GTK_WIDGET_VISIBLE() for toplevels, and only
12092         use GTK_WIDGET_DRAWABLE() for child windows.
12093
12094 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
12095
12096         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
12097         (fixes bug #2144)
12098
12099 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
12100
12101         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
12102         container DRAWABLE (instead of VISIBLE), so we don't queue
12103         resizes on non-toplevel containers.
12104
12105 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
12106
12107         * gtk/gtkselection.[ch]: Make the data argument
12108         const guchar *.
12109
12110 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
12111
12112         * gtk/gtkwindow.c: Try to behave sensibly if 
12113         the focus widget is the window itself. (Should
12114         we allow this at all?)
12115
12116 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
12117
12118         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
12119         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
12120         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
12121         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
12122         in prototypes and implementations consistent (Tomas Ogren).
12123
12124         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
12125         before the widget is unparented (reported by damon).
12126
12127         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
12128         since we provide unsigned data anyways.
12129
12130 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
12131
12132         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
12133         the call to gtk_tooltips_layout_text() until later.
12134
12135         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
12136         Call gtk_widget_ensure_style() before using the style.
12137
12138 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
12139
12140         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
12141         for old widgets that don't propagate draws to all
12142         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
12143
12144 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
12145
12146         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
12147         for a redraw but just the widget that requested the resize.
12148
12149 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
12150
12151         * gtk/gtkcontainer.c: added new widget level method
12152         gtk_container_set_reallocate_redraws() and a GtkContainer flag
12153         reallocate_redraws : 1 to reflect the setting, exported this through
12154         the argument system as a boolean ::reallocate_redraws.
12155
12156         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
12157         on the widget because the allocation changes, do so as well for
12158         widget->parent if the parent has reallocate_redraws set to TRUE.
12159         with that containers requesting reallocation redraws get automatically
12160         redrawn if their children changed allocation (this unfortunately
12161         affects also other children that didn't change allocation, but we
12162         cannot work around that before 1.3).
12163
12164 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
12165
12166         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
12167         _and_ height are >0 (not _or_).
12168
12169         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
12170         instead of gtk_container_queue_resize(), which is a core gtk internal
12171         function (must have been on crack when i queued that).
12172
12173         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
12174         we can check more reliably if we want to discard expose events.
12175         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
12176         flag.
12177         
12178         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
12179         we simply trust these events. for deciding whether to discard exposes,
12180         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
12181         
12182 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
12183
12184         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
12185         queues of areas that are completely off screen.
12186
12187         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
12188         logic for handleboxes.
12189
12190         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
12191         check on width/height.
12192
12193 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
12194
12195         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
12196         we are fine with using $@ the way we do (if we actually encounter
12197         brokeness with $@ in VPATH builds because of additional path prefixes,
12198         we need to use $(@F) actually).
12199
12200 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
12201
12202         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
12203         short lived bugs, that would allow language bindings to do surgeries
12204         to our guts.
12205
12206 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
12207
12208         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
12209         where comparison was being done against an uninitialized
12210         value causing intermittant results depending on
12211         compiler flags. Also make it clearer that we aren't
12212         ever initializing the child as 0x0 (though this will
12213         be caught in gtk_widget_size_allocate())
12214
12215 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
12216
12217         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
12218         gtk_window_unset_transient_for() call after we do checks
12219         involving the old transient parent.
12220         [ From Lance Capser <lmc@cyberhighway.net> ]
12221
12222 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
12223
12224         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
12225         an empty file.
12226
12227 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
12228
12229         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
12230         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
12231
12232 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
12233
12234         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
12235         `$@' is valid only in the build dir, not after we've done 
12236         `cd $srcdir'.  Also use `test -f' instead of less portable
12237         `test -e'.
12238
12239 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
12240
12241         * gtk/gtktext.c (correct_cache_insert): Rewrite
12242          for simplicity, and hopefully correctness.
12243          (Fixes bug #1322, which was a segfault when
12244           on some insertions with the properties around
12245           the insertion set up just wrong.)
12246
12247         * gtk/gtktext.c (gtk_text_adjustment): When we receive
12248          a "changed" signal, clamp the new value to the adjustment
12249          bounds to avoid segfaulting if someone tries to change
12250          the adjustment to a bogus value. (Bug #1795)
12251
12252 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
12253
12254         * gtk/gtkmain.c: Ignore unexpected destroy notifies
12255         for children, for toplevel windows handle them
12256         like delete_event.
12257
12258         * gtk/gtkplug.c: Add an unrealize handler so that
12259         we unref plug->socket_window when we are done
12260         with it.
12261
12262 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
12263
12264         * gtk/gtktext.c (clear_area): Fix stupid signedness
12265          problem that was causing background to sometimes
12266          be misaligned.
12267
12268 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
12269
12270         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
12271         
12272         * gtk/gtkmenu.c (gtk_menu_position): Make
12273          sure we never position menus with negative x, y,
12274          since gtk_widget_set_uposition() can't handle that.
12275
12276         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
12277          Modify the positioning code a bit so that we always
12278          put the top-left corner onscreen. (This is for
12279          UI reasons, gtk_menu_position() now takes care of
12280          gtk_widet_set_uposition() brokeness.)
12281
12282 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
12283
12284         * gtk/Makefile.am: fixed up things for -jx, x > 1.
12285
12286 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
12287
12288         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
12289           RC style that is passed in. The lack of the ref
12290           before was a bug. If people worked around this
12291           bug, this will introduce a slight memory leak
12292           in their code. The code should typically look like:
12293
12294             rc_style = gtk_rc_style_new ();
12295             [...]
12296             gtk_widget_modify_style (widget, rc_style);
12297             gtk_rc_style_unref (rc_style);
12298
12299         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
12300           the style if it was already set.
12301
12302         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
12303           style if it was set before.
12304
12305 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12306
12307         * gtk/testgtk.c (main): Add a check to see if we
12308           are being run from the correct directory and
12309           to quit nicely if we are not.
12310
12311         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
12312           static.
12313
12314 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
12315
12316         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
12317
12318         * gtk/gtkwindow.c:
12319         queue resizes unconditionally (gtk_widget_queue_resize will figure
12320         what to do if the window is not realized).
12321         (gtk_window_move_resize): only recenter the window
12322         for GTK_WIN_POS_CENTER_ALWAYS.
12323         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
12324         the same way as GTK_WIN_POS_CENTER.
12325
12326 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
12327
12328         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
12329         with (!(info->last_flags & GDK_HINT_POS)) instead of
12330         (!info->last_flags & GDK_HINT_POS).
12331
12332         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
12333         new_height unconditionally, because we use these values even if
12334         !default_size_changed && !hints_changed.
12335         comented the (default_size_changed || hints_changed) case with
12336         respect to resize rejects from the window manager.
12337
12338         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
12339         in the zvt condition hack, since this includes the window hints, set
12340         the hints after the handling_resize case.
12341
12342         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
12343         window is initially shown with to the geometry.
12344
12345 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
12346
12347         * gtk/gtkwindow.c (gtk_window_move_resize):
12348         s/size_changed/default_size_changed/g so i know what's
12349         really going on (frying brain on smaller flame now).
12350
12351 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
12352
12353         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
12354         we have size_changed upon handling_resize. this is a gross
12355         workaround for the broken zvt widget and should be removed in
12356         1.3 again (search for FIXME).
12357         Owen provided an accurate comment for this:
12358
12359         /* We could be here for two reasons
12360          *  1) We coincidentally got a resize while handling
12361          *     another resize.
12362          *  2) Our computation of size_changed was completely
12363          *     screwed up, probably because one of our children
12364          *     is broken. It's probably a zvt widget.
12365          *
12366          * For 1), we could just go ahead and ask for the
12367          * new size right now, but doing that for 2)
12368          * might well be fighting the user (and can even
12369          * trigger a loop). Since we really don't want to
12370          * do that, we requeue a resize in hopes that
12371          * by the time it gets handled, the child has seen
12372          * the light and is willing to go along with the
12373          * new size. (this happens for the zvt widget, since
12374          * the size_allocate() above will have stored the
12375          * requisition corresponding to the new size in the
12376          * zvt widget)
12377          *
12378          * This doesn't buy us anything for 1), but it shouldn't
12379          * hurt us too badly, since it is what would have
12380          * happened if we had gotten the configure event before
12381          * the new size had been set.
12382          */
12383
12384 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
12385
12386         * gtk/gtkrc.c: deal properly with the fact that RC
12387           style lists may include rc styles more than once.
12388
12389         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
12390           unused static function.
12391
12392         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
12393           stack of directories of RC files currently being
12394           parsed and implicitely add them to pixmap path.
12395           
12396           This fixes a bug where the directory would get
12397           appended then overwritten by pixmap_path declarations.
12398
12399           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
12400
12401         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
12402           theme's exit function. (Patch from Peter Wainwright,
12403           bug #1454)
12404
12405         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
12406           Add a destroy() handler to take care of removing
12407           group for menu item. (Fixes bug #1197)
12408
12409         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
12410           in warning message.
12411
12412 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
12413
12414         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
12415         roundtrip to figure window's width and height, since we know that
12416         anyways from widget->allocation.
12417
12418 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
12419
12420         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
12421           the hints after we request the new size.
12422
12423 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
12424
12425         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
12426           GTK_WIDGET_REALIZED() assertion - we can compute the
12427           hints before we are realized.
12428
12429         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
12430           hint changing so that we have a value of hints_changed
12431           when we decide whether to constrain the window size.
12432
12433         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
12434
12435         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
12436         change back to G_MAXINT.
12437
12438 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
12439
12440         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
12441         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
12442         contain uncluttered values.
12443         (gtk_window_compute_hints): simply assert that window is realized
12444         and that geometry_info is valid, since we rely on this anyways.
12445         (gtk_window_constrain_size): major cleanups to the code.
12446         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
12447         for the base size, instead of the minimums. use 32767 as max width
12448         and height (like in gtkwindow.c) instead of G_MAXINT.
12449
12450 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
12451
12452         * cleaned up the GtkContainer.need_resize flag handling mess, we
12453         only need to force resize requests when we were prematurely
12454         realized, or our widget tree was modified when we were temporarily
12455         hidden. handling these cases directly upon showing the window (i.e.
12456         while the GdkWindow is still unmapped) avoids the need to wait for
12457         a configure event response and therefore makes the GUI more snappier
12458         and avoids blank windows during the roundtrip.
12459
12460         * gtk/gtkwidget.c:
12461         (gtk_widget_hide): 
12462         (gtk_widget_show): don't queue resizes on toplevels, they know how
12463         to deal with matters.
12464
12465         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
12466         flag directly for not visible resize containers and spare us unecessary
12467         signal emissions.
12468
12469         * gtk/gtkwindow.c:
12470         (gtk_window_realize): if we need to enforce premature size allocation,
12471         queue a container resize so we are correctly resized later on.
12472         (gtk_window_init):
12473         (gtk_window_size_request):
12474         don't freak around with the ->need_resize flag,
12475         gtk_container_queue_resize() will care about that.
12476         (gtk_window_show):
12477         handle initial resizing issues here, we can handle matters better in
12478         this place, especially since we know that our GdkWindow is still
12479         unmapped.
12480         (gtk_window_move_resize):
12481         don't care about ->need_resize at all.
12482         handle size changes properly that occoured while we waited for a
12483         configure event.
12484
12485 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
12486
12487         * gtk/gtkwidget.c (gtk_widget_set_uposition):
12488         * gtk/gtkwindow.[hc] (gtk_window_reposition):
12489         Move the hint setting code from gtk_widget_set_uposition
12490         to here; set the hints so that we respect any previously
12491         set geometry hints.
12492
12493         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
12494         change the window hints here or move the window here,
12495         let that happen in gtk_window_move_resize().
12496
12497 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
12498
12499         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
12500         to already queued resizes (and therefore redraws) on a widget, check
12501         its anchestry as well.
12502
12503         * gtk/gtkcontainer.c:
12504         (gtk_container_queue_resize): clear resize widgets for resize
12505         containers before aborting prematurely. this is especially important
12506         for toplevels which may need imemdiate processing or their resize
12507         handler to be queued.
12508         (gtk_container_dequeue_resize_handler): added new internal function for
12509         gtkwindow.c.
12510
12511         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
12512         configure event, take possible changes in window position into account
12513         as well.
12514         if we request a new window size, queue up a resize handler that will
12515         last until the configure event response arrives.
12516         combined the ->need_resize case (initial show) with the general size
12517         (hints) changed case and added even more comments.
12518         if !auto_shrink, only revert to the old allocation if the new size
12519         is smaller than the current allocation.
12520
12521 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
12522
12523         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
12524                            gtk_window_set_geometry_hints
12525                            gtk_window_set_default_size):
12526         When hints are set, queue a resize so that the hints will
12527         be eventually reset on the toplevel.
12528
12529         * gtk/gtkwindow.c (gtk_window_show): Use
12530         gtk_window_compute_default_size(). Clear the need_resize flag
12531         on the initail map so that we don't unnecessarily trigger the
12532         resize code.
12533
12534         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
12535         into separate functions. Compare the hints we are setting
12536         with what we set last time so that we can accurately
12537         tell when we need to reset the hints.
12538
12539         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
12540         function to figure out the size from requisition
12541         and default_size.
12542
12543         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
12544         from fvwm to constrain a size to the geometry hints.
12545
12546         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
12547         to compare two sets of geometry hints.
12548
12549         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
12550         from gtk_window_set_hints(), just compute the hints,
12551         don't set them.
12552
12553         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
12554         code from gtk_window_move_resize() to separate function,
12555         rationalize a bit.
12556
12557 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
12558
12559         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
12560         structure into a new private structure.
12561
12562         * gtkrc.c: Split GtkRcStyle into public/private.
12563         In the private part, add a list of pointers to the
12564         RcStyle lists this RcStyle participates in.
12565
12566         * gtkrc.c: When a RcStyle is free, remove all
12567         lists referencing it from the 
12568         realized_style_ht hash, and free those lists.
12569         
12570         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
12571         gtk_rc_init(), since that adds the default styles
12572         to the list of parsed RC files again.
12573
12574         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
12575         
12576 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
12577
12578         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
12579         checks that ensure that a widget's allocation is at least 1 in width
12580         and height. (GNOME note: this doesn't affect old panel code anymore,
12581         because GtkSocket will request width and height of at least 1 since
12582         Fri Jul 23).
12583
12584         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
12585         allocated yet (happens if the user realizes the window prematurely),
12586         size request and allocate it.
12587         (gtk_window_size_allocate): guard against guint underflows.
12588
12589 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
12590
12591         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
12592         in gtk_built_sources, so gtk.defs gets built prior to all other
12593         sources.
12594
12595 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12596
12597         * gtk/Makefile.am:
12598         invoke indent on gtkmarshal.*. 
12599         rewrote source generation rules, use COPYING as oldest source tag for
12600         a piggyback rule to generate all sources from (don't touch it ;).
12601         major cleanups, strip spaces on build rules for GNU Make.
12602
12603         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
12604         source and target files from commandline arguments. don't invoke indent.
12605
12606 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
12607
12608         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
12609         notebook after switch to avoid drawing problems.
12610         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
12611         
12612         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
12613         show them instead. 
12614         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
12615
12616 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
12617
12618         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
12619         notebook after switch to avoid drawing problems.
12620         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
12621         
12622         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
12623         show them instead. 
12624         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
12625
12626 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
12627
12628         * gtk/gtkwindow.c:
12629         we use window->need_resize from configure_event now, to indicate that
12630         the gtkwindow should keep its allocation (e.g. because the user resized
12631         the window through window manager handles). resize_count is now reliably
12632         used to figure whether we got the allocation we requested from the
12633         window manager.
12634         configure events get queued as resizes now, the real stuff (size
12635         computation and allocation) now only goes on in gtk_window_move_resize().
12636         GtkWindow's requisition now contains its *real* requisition (like all
12637         other widgets), *not* taking usize into account.
12638         geometry_info->last_{width|height} is now updated from set_hints() only
12639         so it always contains the last hints we set for the window manager.
12640         made some event handlers return TRUE instead of FALSE.
12641         the overall code should be much more straight forward now, and the
12642         significant code portions are accompanied by comments now.
12643         (gtk_window_set_hints):
12644         removed requisition argument and made it
12645         fetch the requisition through gtk_widget_get_child_requisition.
12646         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
12647         does that now.
12648         (gtk_window_show):
12649         ensure that the widget is realized before calling 
12650         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
12651         ensure that we got properly size requested and allocated before
12652         realization.
12653         (gtk_window_configure_event):
12654         ignore plain window moves, or reallocate the widget tree through the
12655         resize queue otherwise.
12656         (gtk_window_move_resize):
12657         mostly rewrote this function to figure window manager hints more
12658         reliably, coalesce window moves and resizes to reduce configure events
12659         and do actuall size allocations.
12660
12661 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
12662
12663         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
12664         that have a resize pending, because a redraw is already queued for them.
12665
12666         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
12667         hack to clear resize_widgets.
12668
12669         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
12670         for resize containers prior to size allocation. (this is also a bit
12671         ugly, but avoids side effects for stopped emissions and is thus more
12672         reliable).
12673         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
12674
12675         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
12676         function from gtk_tooltips_expose, as we connect to ::expose_event
12677         *and* ::draw now.
12678
12679 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
12680
12681         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
12682         checks.
12683         (gtk_target_list_unref): Likewise.
12684
12685         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
12686
12687 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
12688
12689         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
12690         guard against division by zero. (Fixes bug #1339)
12691
12692 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
12693
12694         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
12695         Prevent the trivial leak of information of allowing
12696         word motion when the entry is not visible.
12697
12698 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
12699
12700         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
12701         modality to error dialog as well as confirmation dialogs.
12702         (Bug #1803, reported by Rosanna Wing Sze Yuen)
12703
12704 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
12705
12706         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
12707         tree->view_lines.
12708         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
12709
12710         * gtk/Makefile.am (install-data-local): Solaris apparently
12711         has various troubles with ln -f; use rm first instead.
12712         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
12713
12714 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
12715
12716         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
12717         use `cp' followed by `rm' (the `rm' was already there).
12718
12719 July 30, 1999 Elliot Lee <sopwith@redhat.com>
12720         
12721         * configure.in: Fix autoconf warnings about cross compilation by
12722         trying to provide sane defaults for AC_TRY_RUN.
12723         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
12724         put them into $(srcdir) when generated. Also add a dependency of
12725         gtksignal.h on gtkmarshal.h for -j builds. 
12726         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
12727
12728 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
12729
12730         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
12731         GDK_THREADS_{LEAVE,ENTER} pair.
12732         (From Paul Fisher <pnfisher@redhat.com>)
12733
12734 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
12735
12736         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
12737         width and height are always >0 (owen).
12738
12739 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
12740
12741         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
12742         change that assured that a widget's allocated with and height are
12743         always >1, since this breaks *buggy* panel code. unfortunately this
12744         back-breaks the gimp's color selector.
12745
12746         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
12747         allocation is always >0 in width and height, before sending the
12748         configure event; this is a *gross* hack to get the gimp back to work.
12749         
12750         * marked both cases with TODO-1.3
12751
12752 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
12753
12754         * gtk/gtktext.c: Don't display wrap indicators when
12755         text is not editable and word wrap is on.
12756
12757 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
12758
12759         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
12760         option menus here as they are not derived from menu shell, assure that
12761         the option menu has a menu we can add items to.
12762
12763 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
12764
12765         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
12766         width/height to (gint) before calculations and check against < 0 to
12767         avoid guint wraparounds.
12768
12769 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
12770
12771         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
12772         width and height is never zero. sanity check both dimensions against
12773         32767 and issue a warning if the allocation is greater than that.
12774
12775 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
12776
12777         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
12778         to g_main_pending() as well.
12779
12780 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
12781
12782         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
12783         call to g_main_iteration() - since that will regrab
12784         GTK+ lock to process events.
12785
12786 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
12787
12788         * gtk/gtkwindow.c
12789         - Regularize with the rest of GTK+ by making widget->requisition
12790           not reflect the set_usize()
12791         - Always recompute geometry hints, then check if they
12792           changed before sending them to the X server. The
12793           previous checks for changes would fail in a number
12794           of circumstances. 
12795
12796 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
12797
12798         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
12799
12800 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
12801
12802         * gtk/gtkdnd.c:
12803         - Code cleanups
12804         - Instantaneously update on modifier key presses
12805         - Allow cancellation of the drag with Escape.
12806
12807 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
12808
12809         * gtk/testgtk.c (create_handle_box): Set the policy
12810         to auto_shrink - otherwise the appearance is rather
12811         strange when flipping between horizontal and vertical.
12812
12813 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
12814
12815         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
12816         (gtk_window_set_default_size): don't change a value if it's < 0.
12817         queue a resize.
12818
12819 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
12820
12821         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
12822
12823 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
12824
12825         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
12826         add an extra "/" when concating "/" + filename.
12827         (From Matt Grossman <mattg@oz.net>)
12828
12829 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
12830
12831         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
12832         for fg_gc if we set it for drawing pixmap.
12833
12834 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
12835
12836         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
12837         
12838         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
12839         already set, call old engine's destroy function and
12840         unref the old engine.
12841
12842 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
12843
12844         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
12845
12846 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
12847
12848         * gtk/gtkaccelgroup.h: mark certain functions as internal.
12849
12850 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
12851
12852         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
12853         expand behaviour changed.
12854
12855         * gtk/gtklabel.c (gtk_label_set_pattern):
12856         (gtk_label_set_justify):
12857         (gtk_label_set_line_wrap):
12858         don't bother invoking queue_clear, the reallocation does
12859         that for us, always free_words so the upcoming resize will
12860         relayout the label's contents.
12861
12862 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
12863
12864         * applied argument implementation patches from Elena Devdariani
12865         <elena@cogent.ca>.
12866
12867         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
12868         ::space_style, ::relief
12869         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
12870         * gtk/gtkpreview.c: ::expand
12871         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
12872         * gtk/gtknotebook.c: ::homogeneous
12873         * gtk/gtklabel.c: ::wrap
12874         * gtk/gtklist.c: ::selection_mode
12875         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
12876         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
12877         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
12878         * gtk/gtkclist.c: ::sort_type
12879         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
12880         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
12881
12882 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
12883
12884         * gtk/gtkstyle.c: Removed ill-thought-out part of last
12885         comment.
12886
12887 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
12888
12889         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
12890         counting right when we have to attach a new style
12891         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
12892
12893         * gtk/gtkstyle.c: Documented the refcounting
12894         peculularities of gtk_style_attach.
12895
12896 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
12897
12898         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
12899         window types.
12900
12901         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
12902         of GTK_TOPLEVEL for creating the window.
12903
12904 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
12905
12906         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
12907         the last argument (reported by Per Winkvist).
12908         
12909 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
12910
12911         Fixes for invisible XOR lines (Frank Loemker
12912         <floemker@TechFak.Uni-Bielefeld.DE>)
12913         
12914         * gtk/gtkclist.c (gtk_clist_realize): Always use
12915         a non-zero pixel for GDK_XOR.
12916
12917         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
12918         Use GDK_INVERT instead of GDK_XOR.
12919
12920 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
12921
12922         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
12923         signals if h/voffsets differ from adjustment values.
12924         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
12925
12926 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
12927
12928         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
12929         ::selection-done emissions up to the topmost menu shell.
12930
12931 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
12932
12933         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
12934         the user data on the window before destroying it.
12935
12936         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
12937         unrealize handler to take care of destroying 
12938         notebook->panel properly. 
12939         (Bug #1198 - Morten Welinder <terra@diku.dk>)
12940
12941         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
12942         of g_new and g_realloc to stop memory leak. (Actually,
12943         we could just use g_realloc(), but I'm not 100% sure
12944         that is portable).
12945         (Bug #1196 - Morten Welinder <terra@diku.dk>)
12946
12947 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
12948
12949         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
12950
12951         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
12952         for fontsets.
12953
12954         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
12955         with bin/button confusion.
12956
12957 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
12958
12959         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
12960         and show how preselection of radio items is done.
12961
12962 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
12963
12964         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
12965         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
12966         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
12967         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
12968         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
12969         * gtk/gtktable.c (gtk_table_attach): 
12970         * gtk/gtklist.c (gtk_list_insert_items): 
12971         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
12972         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
12973         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
12974         * gtk/gtkbin.c (gtk_bin_add): 
12975         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
12976         * gtk/gtkfixed.c (gtk_fixed_put): 
12977         * gtk/gtklayout.c (gtk_layout_put):
12978         general fixups to container_add logic. always realize child if
12979         child->parent is realized, only map the child and queue a resize
12980         if child and child->parent are both visible.
12981
12982 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
12983
12984         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
12985         instead of gtk_container_foreach to walk and unrealize children, so
12986         composite children get also unrealized.
12987         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
12988         (gtk_widget_map): assert that the widget is visible (basic constrain).
12989         (gtk_widget_real_map): assert that the widget is realized (basic
12990         constrain).
12991
12992 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
12993
12994         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
12995
12996 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
12997
12998         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
12999         file for iso-8859-2 locales.
13000
13001         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
13002
13003 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
13004
13005         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
13006          (Pointed out by andy@rz.uni-karlsruhe.de and others).
13007          Remove some suspicious and useless lines. 
13008
13009 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
13010
13011         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
13012         width,height = 0, 0 to mean - here to edge of window,
13013         instead of -1, -1, since the former is all we support.
13014
13015 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
13016
13017         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
13018         when removing from quit_functions list.
13019
13020 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
13021
13022         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
13023
13024 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
13025
13026         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
13027          When redrawing characters on non-visible entry, use appropriate
13028          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
13029
13030 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
13031
13032         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
13033         from drag coordinates.
13034         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
13035         use drag_dest_cell.
13036
13037         * gtk/gtktree (drag_dest_cell)
13038         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
13039         (Bug #1129)
13040
13041 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
13042
13043         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
13044         translate_* fields.
13045         (gtk_item_factory_finalize): invoke translate_notify independant from
13046         translate_data.
13047         (gtk_item_factory_set_translate_func): likewise.
13048         (gtk_item_factory_destroy): only remove ifactory pointer from those
13049         widgets that belong to us (stupid me).
13050
13051 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
13052
13053         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
13054         rc_style list when lookup succeeeds.
13055
13056 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
13057
13058         * gtk/gtkctree.c (resync_selection): 
13059         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
13060         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
13061         bug.
13062
13063 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
13064
13065         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
13066         Add some missing GDK_THREADS_ENTER()/LEAVE around
13067         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
13068
13069 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
13070
13071         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
13072         rather than emit_by_name.
13073
13074         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
13075         on the widget across multiple signal emissions.
13076         (gtk_editable_delete_text): same here.
13077         (gtk_editable_class_init): set widget_class->activate_signal after
13078         editable_signals[ACTIVATE] has been created.
13079
13080 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
13081
13082         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
13083         position here prematurely -- we might not have the
13084         right ->min_position and ->max_position yet.
13085
13086 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
13087
13088         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
13089         Add error traps so if the other end of the connection
13090         dies, we survive.
13091
13092         * gtk/gtkselection.c (gtk_selection_notify): Clean
13093         up properly when selection property retrieval fails.
13094         
13095         * gtk/gtkselection.c (gtk_selection_request): Correctly
13096         reject SelectionRequest notifies where the handler
13097         returns no data.
13098
13099 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13100
13101         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
13102         when we've previously highlighted.
13103
13104         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
13105         emit two "drag_leave" signals for Motif drops.
13106
13107         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
13108         back the correct status messages when dropping from
13109         Motif onto a proxy window that is rejecting the
13110         drop.
13111
13112 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
13113
13114         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
13115         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
13116         to compare two argument values. added gtk_arg_to_valueloc() to set a
13117         variable from an arg through its location (pointer).
13118
13119         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
13120         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
13121         as gfloat*, uchars are collected as guchar*, ints are collected as
13122         gint*, etc...
13123
13124 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
13125
13126         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
13127         Include <string.h> instead of <strings.h>.
13128
13129         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
13130         (actually, a lot more duplicate includes occur if
13131          you trace through the sequence of #include's)
13132         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
13133         
13134 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
13135
13136         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
13137         gtk-a-higuti-990322-[0-3]
13138
13139         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
13140         that was causing -DX_LOCALE not to work.
13141
13142         * gtk/gtkrc.c (gtk_rc_init):
13143         X_LOCALE will never have LC_MESSAGES defined
13144
13145 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
13146
13147         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
13148         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
13149
13150         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
13151         left/right as well (gtk-michael-980726-0.patch.gz).
13152
13153         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
13154         for pointer values, use gchar instead of char. fixed uline allocation
13155         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
13156         chunks instead of G_ALLOC_ONLY.
13157         (gtk_label_size_request): always alter requisition as passed and leave
13158         widget->requisition alone.
13159         (gtk_label_set_text): allow NULL strings.
13160         (gtk_label_new): likewise.
13161
13162 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
13163
13164         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
13165
13166 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
13167
13168         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
13169         *and* mapped (i.e. drawable).
13170         (gtk_bin_expose): only send exposes to drawable children.
13171
13172         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
13173         (gtk_box_expose): only send exposes to drawable children.
13174
13175         * gtk/gtkhscale.c (gtk_hscale_draw): 
13176         * gtk/gtkvscale.c (gtk_vscale_draw):
13177         hm, this is an ugly one. we first compute the size of our trough area
13178         here (window relative) and then check intersection with the draw_area
13179         which is parent relative because we're a NO_WINDOW widget, so we need
13180         to offset the trough area by allocation.x and allocation.y before the
13181         check. (this must not be done for the background area though, since
13182         that's already computed parent relative).
13183
13184 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
13185
13186         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
13187         unrealize title buttons.
13188
13189 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
13190
13191         * gtk/gtkclist.c (gtk_clist_column_title_passive)
13192         (gtk_clist_column_title_active): 
13193         only connect/disconnect to GtkWidgetClass::event to block mouse events.
13194
13195         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
13196         zero initialize event, removed superfluous gdk_window_get_pointer call
13197
13198         * gtk/gtklist.c (gtk_list_vertical_timeout)
13199         (gtk_list_horizontal_timeout): removed superfluous
13200         gdk_window_get_pointer call
13201
13202 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
13203
13204         * plugging problems reported by "Bruce Mitchener, Jr."
13205         <bruce@puremagic.com> due to a purify session.
13206
13207         * gtk/gtkstyle.c:
13208         (gtk_style_ref): 
13209         (gtk_style_unref): assert ref_count to be > 0.
13210
13211         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
13212         the requisition.
13213         (gtk_clist_set_shift): likewise.
13214
13215         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
13216         adjustments.
13217
13218         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
13219         event before sending it and set send_event to TRUE (which needs to
13220         be done for *all* synthesized events).
13221         (gtk_list_vertical_timeout): likewise.
13222
13223         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
13224         leaks.
13225
13226         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
13227         to TRUE when synthesizing events.
13228
13229 [ *** end of merges from 1.2 *** ]      
13230         
13231 1999-11-21  Tor Lillqvist  <tml@iki.fi>
13232
13233         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
13234         (or copied from gdkconfig.h.win32 on Win32, sigh).
13235
13236         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
13237
13238         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
13239
13240         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
13241
13242         * gdk/gdkconfig.h.win32: New file.
13243
13244         * gdk/win32/makefile.cygwin: Build just a static archive here.
13245
13246         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
13247         for the DLL from the static archive built above.
13248
13249         * gdk/gdk.def: Moved here from the win32 subdirectory.
13250
13251         * gdk/win32/*: Adapt for the changed private struct organisation.
13252
13253         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
13254
13255 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
13256
13257         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
13258         for wheel mice (buttons 4 and 5).
13259
13260 1999-11-18  Tor Lillqvist  <tml@iki.fi>
13261
13262         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
13263         drawables use just the pixel field in the foreground and
13264         background GdkColor of the GdkGC.
13265
13266         gdk_gc_set_{fore,back}ground() are called in the GIMP with
13267         GdkColors containing uninitialized (red,green,blue) fields, and
13268         just the pixel field filled in, and furthermore in the
13269         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
13270         It thus turns out that we really don't need to have the full
13271         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
13272         it later to have just the pixel values.
13273
13274 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
13275
13276         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
13277
13278 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
13279
13280         * docs/gtkfaq.sgml: threads example from Erik Mouw.
13281         New question on GtkLabel background colors.
13282
13283         * docs/gtk_tut.sgml:
13284           - Correct the example code callback
13285             function definitions.
13286           - Update the gtkdial example code, from Frans van Schaik.
13287           - Update setselection.c to current API.
13288
13289         * examples/Makefile examples/*/*.c: Update to code
13290         listed in tutorial.
13291
13292 1999-11-10  Tor Lillqvist  <tml@iki.fi>
13293
13294         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
13295         subrange table (from the "Developing International Software for
13296         WIndows 95 and Windows NT" book) was missing the Hangul syllable
13297         block... Get the loaded font's charset correctly.
13298
13299         (Note that this, and the other *-win32.c files, still really are
13300         the old ones, the win32 subdirectory is not ready for compilation
13301         yet after the reorg.)
13302
13303 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
13304
13305         * gtk/gtkclist.c: Fix off-by-one bug in parameter
13306         check.
13307
13308 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
13309
13310         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
13311         on results of XQueryDeviceState().
13312
13313 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
13314
13315         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
13316         we need to accesss only ->children. We need an accessor
13317         for the children.
13318
13319         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
13320         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
13321         to get rid of gdkx.h include.
13322         
13323         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
13324         and random references to 'None'.
13325
13326         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
13327         Get rid of unused #include <gdk/gdkx.h>
13328
13329         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
13330         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
13331         gdkconfig.h.
13332
13333 1999-11-08  Tor Lillqvist  <tml@iki.fi>
13334
13335         * gdk/win32/gdkdraw.c
13336         * gdk/win32/gdkfont.c
13337         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
13338         following yesterday's changes. (Unrelated to Owen's reorg.)
13339
13340 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
13341
13342         * gdk/x11/gdkinput-gxi.c: Add missing include,
13343           fix GdkWindowPrivate => GdkDrawablePrivate.
13344
13345         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
13346
13347         * gdk/x11/Makefile.am (xinput_sources): Add missing
13348         backslash to fix building with --with-xinput=none
13349
13350 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
13351
13352         Move all X specific code into the x11/ directory.
13353         Aside from shuffling things around, did the following:
13354
13355        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
13356          gdk_arg_context_* - a simple argument parsing system
13357          in the style of popt.
13358
13359        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
13360          gdk/x11/gdkprivate-x11.h:
13361          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
13362          add ->klass and ->klass_data fields. The klass_data
13363          field points to an auxilliary structure that is
13364          windowing system dependent.
13365
13366        * gdk/gdkfont.c: Make most of the measurement functions
13367          simply wrappers around gdk_text_extents().
13368
13369        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
13370          _gdk_font_strlen() function that hides the weird
13371          behavior in gtk+-1.[02] where a string is interpreted
13372          differently for 8-bit and 16-bit fonts.
13373
13374        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
13375          to store common code for synthesizing double/triple
13376          press events.
13377         
13378        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
13379          Make all the function that modify an existing GC
13380          simply wrappers around gdk_gc_set_values().
13381          
13382        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
13383          for throwing out later.
13384
13385        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
13386          GdkImagePrivate and GdkColormapPrivate to have a
13387          windowing system dependent part (GdkFontPrivateX etc.)
13388          that "derives" from the system-independent part.
13389
13390        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
13391          Got rid of the included-source-files for XInput in
13392          favor of automake conditionals. (Which didn't exist
13393          when XInput support was originally added.)
13394
13395        * gdk/gdkrgb.c: Remove the visual id from the debugging
13396          statements since that is X11 specific; print out
13397          type/depth info instead.
13398          
13399
13400 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
13401
13402         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
13403         loading duplicates of hashed fonts.
13404
13405         * gdk/gdk.c (gdk_keysym_convert_case): rename
13406         gdk_XConvertCase to gdk_keysym_convert_case, allow
13407         results to be NULL in the GTK+ style.
13408
13409         * gdk/gdkcompat.h: Started compatibility header
13410         for renames.
13411
13412 1999-11-07  Tor Lillqvist  <tml@iki.fi>
13413
13414         * gdk/win32/gdkprivate.h: New font private structures, related to
13415         fontsets.
13416
13417         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
13418         gdk_font_list_free(). On X11, will just be wrappers to
13419         XListFonts() and XFreeFontNames(). On Win32, the code previously
13420         in gtkfontsel.c is now here.
13421
13422         New function gdk_font_xlfd_create(). On X11 will get the FONT
13423         property of the font (for GDK_FONT_FONTs), or call
13424         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
13425         builds a XLFD style name from the font information in the LOGFONT
13426         struct(s).
13427
13428         New function gdk_font_xlfd_free(), which correspondingly frees the
13429         string returned by gdk_font_xlfd_create().
13430
13431         Implement fontsets on Win32. Add a function that iterates over a
13432         wide char string and calls a callback function for each substring
13433         of wide chars from the same Unicode subrange (and thus probably
13434         available in the same real font).
13435
13436         Improve the XLFD emulation a bit.
13437
13438         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
13439
13440         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
13441         Beta3, WM_IME_CHAR messages don't seem to contain the composed
13442         multi-byte char as with the Active IMM on Win9x. Oh well, handle
13443         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
13444         ImmGetCompositionStringW() to get the composed Unicode chars.
13445
13446         * gdk/win32/gdkgc.c
13447         * gdk/win32/gdkdraw.c: Changes needed because of the font private
13448         struct changes.
13449
13450         * gdk/win32/gdk.def: Add the new functions.
13451
13452 1999-11-04  Tor Lillqvist  <tml@iki.fi>
13453
13454         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
13455         get the Platform SDK to get <dimm.h>.
13456
13457         * gdk/win32/gdkevents.c: More event handling fixes and
13458         simplification. Never generate motion events with is_hint true. We
13459         used to do that on bogus grounds earlier. Windows sends
13460         WM_MOUSEMOVE messages on button events even if the mouse hasn't
13461         moved, ignore these.
13462
13463         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
13464
13465         * gdk/win32/gdkglobals.c
13466         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
13467         the TrackMouseEvent function, and use it.
13468
13469         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
13470         char before calling WideCharToMultiByte in order to get a string
13471         for the window title.
13472
13473         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
13474
13475         * gdk/win32/gdk.def: Remove obsolete functions.
13476
13477         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
13478         /nodefaultlib and /defaultlib switches.
13479
13480         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
13481
13482 1999-10-31  Tor Lillqvist  <tml@iki.fi>
13483
13484         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
13485         EuroSign).
13486
13487         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
13488         same type as GdkWChar, especially on Win32.
13489
13490         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
13491
13492         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
13493         before passing to Windows GDI for drawing etc. Convert to the
13494         system default codepage before passing to Windows as window
13495         titles.
13496
13497         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
13498         support changing input locale on the fly.
13499
13500         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
13501         on-the-fly changes. Convert incoming characters from the current
13502         codepage to Unicode (and then to a UTF-8 multi-byte string) based
13503         on the current input language. Use keysym<->Unicode mapping tables
13504         and functions borrowed from xterm sources.
13505
13506         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
13507         editions of Win9x, use the ActiveX-based Active IMM (Input Method
13508         Manager) if available. IMEs and the Active IMM are available under
13509         the disguise of Chinese, Korean and Japanese support for IE and
13510         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
13511         support is present in all editions (as long as you install it).
13512
13513         Call DispatchMessage from gdk_events_queue() (and thus
13514         gdk_WindowProc()), instead of duplicating the code in
13515         gdk_WindowProc().
13516
13517         Reworked the grab handling and propagation code, factored out
13518         duplicated code snippets into separate functions. Other cleanups,
13519         too.
13520
13521         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
13522         the <dimm.h> header describing the Active IMM.
13523
13524         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
13525         just do the same as for "single" fonts.
13526
13527         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
13528         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
13529         the new keysyms from gdkkeysyms.h.
13530
13531         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
13532         fontset, so that gtkentry uses wide characters.
13533
13534         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
13535         GTk+'s system directory "gtk+", not "gtk".
13536
13537 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
13538
13539         * docs/gtkfaq.sgml: FAQ update
13540
13541 1999-10-21  Tor Lillqvist  <tml@iki.fi>
13542
13543         * gdk/win32/gdkprivate.h: Add more font private data.
13544
13545         * gdk/win32/gdkfont.c
13546         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
13547         fonts and strings. Now works much better. You still have to
13548         have a correct font selected, though. No fontset emulation yet.
13549
13550 1999-10-19  Tor Lillqvist  <tml@iki.fi>
13551
13552         * gtk/maketypes.awk: Use G_OS_WIN32.
13553
13554         * gtk/gtk.def: Add some missing entry points. Also some non-public
13555         ones, but PyGTK porter claims to need them.
13556
13557         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
13558         built-in type generation.
13559
13560 1999-10-14  Tor Lillqvist  <tml@iki.fi>
13561
13562         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
13563         GDK_FONT_FONT fonts (which is all we have for now, we don't
13564         emulate fontsets). The X11 version uses plain XDrawString in that
13565         case, too. The string passed to gdk_draw_text_wc seems to be in
13566         fact (at least, when used by gtkentry and gtktext) either in a
13567         single-byte charset, or a DBCS. Not Unicode.
13568
13569         This fixes the problem in gtkfontsel, where even if you had
13570         selected a font with a non-Latin1 charset (windows-greek, for
13571         instance), the preview still used Latin-1 glyphs.
13572
13573         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
13574         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
13575         (gdk_font_load): Recognize the demibold etc weights, even if we
13576         don't have the corresponding constants in the headers.
13577         (gdk_font_hash_insert): Use same hash mechanism as in the X11
13578         version. Should save font resources a bit, when we don't have
13579         multiple HFONTs for the same font.
13580
13581         * gdk/win32/gdkprivate.h: Add the names field as in the X11
13582         version.
13583
13584 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
13585
13586         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
13587         X values
13588
13589 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
13590
13591         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
13592         layout support (as mentioned on
13593         http://www.jcinteractive.com/gnome-ui/software/widgets/)
13594
13595 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
13596
13597         * gtk/fnmatch.c
13598         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
13599
13600 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
13601
13602         * configure.in (ALL_LINGUAS): Added Galician (gl)
13603
13604 1999-10-05  Tor Lillqvist  <tml@iki.fi>
13605
13606         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
13607
13608         * gdk/win32/gdkcompat.c: New file, actually provide an
13609         implementation for the deprecated functions. (Just temporarily.)
13610
13611         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
13612
13613         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
13614
13615         * gdk/win32/gdk.def gtk/gtk.def: Updates.
13616
13617 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
13618
13619         * configure.in: Added "uk" to ALL_LINGUAS.
13620         
13621 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
13622
13623         * configure.in: correct checking for BeOS check
13624
13625         * gdk/gdktypes.h
13626         * gtk/fnmatch.c
13627         * gtk/gtkfilesel.c
13628         * gtk/gtkitemfactory.c
13629         * gtk/gtkmain.[ch]
13630         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
13631
13632 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
13633
13634         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
13635         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
13636         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
13637         by Bulgarian). 
13638
13639 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
13640
13641         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
13642         Fix a reference to window_private->destroyed.   
13643
13644         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
13645         (ugly) setting of an internal GdkWindow member to use
13646         a _slightly_ cleaner macro.
13647
13648         * gdk/gdkprivate.h: Split GdkWindowPrivate into
13649         GdkDrawablePrivate and GdkWindowPrivate.
13650         Add extra macros for accessing GDK_DRAWABLE_ components.
13651
13652         * *.[ch]: Massive adjustments for the above, use the
13653         new macros in a lot of places.
13654
13655 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
13656
13657         * gdk/gdktypes.h: Make GdkDrawable the base type,
13658         not GdkWindow.
13659
13660 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
13661
13662         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
13663
13664 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
13665
13666         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
13667
13668 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
13669
13670         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
13671         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
13672
13673         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
13674
13675         * docs/gtk-config.1: Now autogenerated.
13676         * docs/Changes-1.4.txt: started
13677         
13678 1999-10-03  Tor Lillqvist  <tml@iki.fi>
13679
13680         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
13681         to #ifdef also here.
13682
13683         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
13684         Owen did to the X11 backend.
13685
13686         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
13687         ScrollWindowEx when blitting inside a window, it can't be correct
13688         in the general case.
13689
13690         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
13691         WM_GETMINMAXINFO is easier.
13692
13693         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
13694         depth equal to the bitspixel value, not the visual's depth.
13695
13696         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
13697         to 24 even if the bitspixel value is 32.
13698
13699         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
13700         need to check for depth==32 when bpp==32, depth will always be 24.
13701
13702 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
13703
13704         * docs/Changes-1.4.txt: Started
13705         
13706         * gtk/Makefile.am (gdk_headers): Include all the new headers.
13707
13708         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
13709         
13710         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
13711         into C file.
13712         
13713         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
13714         header to gdkinputprivate.h.
13715
13716         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
13717         unused since before 1.2.
13718
13719 1999-09-30  Tor Lillqvist  <tml@iki.fi>
13720
13721         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
13722         expand possible hex escapes in the font family (put there by
13723         logfont_to_xlfd if the font name isn't a legal XLFD font family,
13724         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
13725         On Win32, add hex escapes here, too.
13726
13727 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
13728
13729         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
13730         to #ifdef GDK_WINDOWING_X11.
13731
13732 [ Merges from gtk-1-2 ]
13733
13734 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
13735
13736         * configure.in: fixed "GNU Make" check to pass with new make version
13737         3.77.95.
13738
13739 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
13740
13741         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
13742         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
13743         AM_PATH_GTK() macros don't get confused by the -pre1.
13744
13745 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13746
13747         * configure.in (REBUILD): Change check for perl5
13748           to check explicitely for v >= 5.002. (5.001
13749           does not work with our scripts.)
13750
13751 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
13752
13753         * configure.in: evaluate $PERL for the perl version check. added
13754         --disable-rebuilds to give the user an option to completely disable
13755         any source autogeneration rules.
13756
13757 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
13758
13759         * configure.in: evaluate $ac_make when checking for GNU Make.
13760
13761 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13762
13763         * docs/Makefile.am: added generation.txt.
13764
13765         * Makefile.am: require automake 1.4, build README from README.in and
13766         INSTALL from INSTALL.in in dist-hook.
13767         
13768         * README.in:
13769         * INSTALL.in: new files to autogenerate README and INSTALL from.
13770
13771         * configure.in: figure whether we have GNU Make
13772
13773         * docs/generation.txt: minor additions/corrections.
13774
13775 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
13776
13777         * docs/gtkfaq.sgml: FAQ Update
13778
13779 July 30, 1999 Elliot Lee <sopwith@redhat.com>
13780         
13781         * configure.in: Fix autoconf warnings about cross compilation by
13782         trying to provide sane defaults for AC_TRY_RUN.
13783
13784 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
13785
13786         * ltconfig
13787         * ltmain.sh: upgrade to libtool 1.3.3
13788
13789 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
13790
13791         * INSTALL: Indicate that the --with-glib= configure
13792         time flag is unsupported.
13793
13794 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
13795
13796         * docs/generation.txt: Added a file that gives
13797         documenation about the autogeneration process for
13798         various autogenerated files.
13799         
13800 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
13801
13802         * configure.in (LIBS): Look for libgmodule in the
13803         right location.
13804
13805 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
13806
13807         * docs/gtk_tut.sgml: Removed references to
13808         code examples in my directory on gtk.org as
13809         they should all be in the tutorial now.
13810
13811         * docs/gtk_tut.sgml: Added sources for dial-test
13812         and scribble-xinput programs that were previously
13813         missing.
13814
13815 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
13816
13817         * TODO: Added entry about menu keyboard navigation, removed
13818         some finished items.
13819
13820 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
13821
13822         * acinclude.m4: Standardize on func_dgettext
13823         not func_gettext, so that the checks for dgettext
13824         actually are paid attention to.
13825
13826 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
13827
13828         * configure.in (LIBS): Add $INTLLIBS into $LIBS
13829         directly, rather than repeating the checks for
13830         gettext.
13831
13832         * INSTALL: Added information about gettext and
13833         NLS support.
13834
13835         * acinclude.m4 (LIBM): Check for dgettext, not
13836         just gettext. This should hopefully fix things wrt
13837         systems with old versions of GNU gettext installed.
13838
13839 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
13840
13841         * configure.in (LIBS): Look for libgmodule in the
13842         right location.
13843
13844 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
13845
13846         * autogen.sh: add --enable-maintainer-mode
13847
13848         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
13849
13850 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
13851
13852         * docs/gtk-config.1.in:
13853           docs/Makefile.am:
13854           configure.in: gtk-config is now generated.
13855
13856         * docs/gtk-config.1: Removed, now generated.
13857
13858 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
13859
13860         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
13861         handle CreateNotify itself, still put out a debuging message for
13862         --gdk-debug=events. made the ReparentNotify debugging message more
13863         verbose.
13864         wrap xcoords translation for ConfigureEvents into an error trap,
13865         a destroy event may already be pending, and in that case, the
13866         actuall coordinate values are not at all critical.
13867
13868 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
13869
13870         * gdk/gdkcc.c: Stop leaking the color_hash all over
13871         the place. Simplify and improve the logic.
13872
13873 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
13874
13875         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
13876         for prototypes and function implementations consistent (reported
13877         by Tomas Ogren).
13878
13879 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
13880
13881         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
13882         send_event set in debugging output.
13883         (gdk_compress_exposures): default initialize the event so we don't
13884         operate on bogus values (namely send_event).
13885
13886 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
13887
13888         * gdk/gdkwindow.c: When we receive an unexpected
13889         destroy notify on one of our windows, don't just
13890         warn about it, also mark our windows as destroyed.
13891
13892 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
13893
13894         * gdk/gdkfont.c (gdk_font_hash_insert): Add
13895           name => font and name => fontset hashes. The 
13896           name => fontset hash is a _big_ win since we
13897           weren't previously caching fontsets at all and loading
13898           fontsets is expensive. The name => font hash
13899           is less of a win, but it does save us from doing
13900           repeated XQueryFont calls on the same font.
13901
13902         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
13903           list so we can remove font/fontset from hash.
13904
13905 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13906
13907         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
13908           and slightly confusing test. [ XInternAtom (,,TRUE)
13909           will never return None ].
13910
13911 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
13912
13913         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
13914           gdk/gdkwindow.c (gdk_window_set_hints):
13915
13916         Don't omit setting the properties if flags == 0 -
13917         there may be an existing set of properties there
13918         already. (Very old bug. Would it be better to
13919         delete the property instead?)
13920
13921         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
13922           spelling error in comment.
13923
13924 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
13925
13926         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
13927           to avoid stomping over gdk_error_warnings.
13928
13929         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
13930           as (bits_per_pixel + 7) / 8. This gives the same
13931           result as before for multiples of 8, but actually
13932           a "reasonable" value for 1bit or 4bit displays.
13933
13934 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13935
13936         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
13937         GNU Make.
13938
13939 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
13940
13941         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
13942         discarding configure events.
13943
13944 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
13945
13946         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
13947         refcount is greater than zero.
13948
13949         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
13950
13951         * gdk/gdkfont.c (gdk_font_unref): Likewise.
13952
13953         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
13954
13955         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
13956
13957 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
13958
13959         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
13960         that format 32 => sizeof(item) == 4. It really is
13961         sizeof(long).
13962
13963 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
13964
13965         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
13966         core dump at all on X IO errors, only core dump
13967         if --enable-debug for X errors.
13968
13969 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
13970
13971         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
13972         unknown window:" message. disabled ConfigureNotify discarding code,
13973         because it led to events being processed out of order.
13974
13975 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
13976
13977         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
13978
13979         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
13980         we export this function, supress error warnings and don't reset the
13981         error code in the first half of this function.
13982
13983         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
13984         code (instead of just -1) so gdk_error_trap_pop() reveals something
13985         actually informative about the error that happened.
13986
13987         * gdk/*.c:
13988         don't rely on gdk_error_code being -1 if an error occoured, but just
13989         gdk_error_code != 0.
13990
13991 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
13992
13993         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
13994         pointer *before* invoking the filter function, so we at least don't
13995         crash if a filter is removed that is currently executed. window filters
13996         *really* need to be made truely reentrant at some point.
13997
13998 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
13999
14000         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
14001         PropertyNotify debug messages.
14002
14003 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
14004         
14005         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
14006         
14007         * gdk/gdkim.c: Fix cut-and-paste errors for 
14008         x/y and PreeditAttributes/StatusAttributes.
14009
14010 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
14011
14012         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
14013         G_MAXINT to 2^16 to alleviate overflow problems in
14014         various window managers.
14015
14016 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
14017
14018         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
14019         for fontsets.
14020
14021 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
14022
14023         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
14024         Initialize size_hints.x and size_hints.y because kwm
14025         brokenly pays attention to them.
14026         (Bug #1181 -  Lars Heete <hel@admin.de>)
14027
14028 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
14029
14030         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
14031         return value of gdk_list_visuals(). 
14032         (Bug #1193 - Morten Welinder <terra@diku.dk>)
14033
14034 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
14035
14036         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
14037         XSetIMValues to (void *) when comparing to NULL, to workaround
14038         the problem of some compilers barfing since older X headers don't
14039         have the prototype for it.
14040
14041 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
14042
14043         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
14044         for pseudocolor where colormap->colors was double
14045         allocated.
14046
14047         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
14048         color value in the hash table with the pixel filled
14049         in so when we do later hash table lookups, the color
14050         value is correct.
14051         
14052 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
14053
14054         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
14055         making the call
14056
14057 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
14058
14059         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
14060         pointed out by Morten Welinder <terra@diku.dk>.
14061
14062 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14063
14064         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14065           default filter from the list
14066
14067 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14068
14069         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14070           default filter from the list
14071
14072 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
14073
14074         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
14075
14076         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
14077         g_strdup_printf instead of calcing the length separately
14078
14079 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
14080
14081         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
14082         that we don't do in many other places. (Fixing duplicate 
14083         #include of config.h)
14084
14085         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
14086         Otherwise, #ifndef XINPUT_NONE check in the latter
14087         doesn't work. (Bug #546)
14088
14089 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
14090
14091         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
14092         "None" case insensitive.
14093
14094 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
14095
14096         * gdk/gdkselection.c: 
14097         Add error traps so if the other end of the connection
14098         dies, we survive.
14099
14100 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
14101
14102         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
14103         dest_xid field into two fields - one for the window
14104         to send in messages, one to indicate the last looked
14105         up window for caching purposes. This is needed, so
14106         that Leave messages get the correct window.
14107
14108 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
14109
14110         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
14111         Fix warning created by people mucking around
14112         with the gsource API.
14113
14114         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
14115         Change mapping between GIOCondition and GdkInputCondition
14116         to match the way the Linux kernel does it. This should
14117         fix problems where closed pipes were no longer signalling
14118         GDK_INPUT_READ on systems with a native poll().
14119
14120 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
14121
14122         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
14123         explicitly for the string "None" - it is in the XPM
14124         spec and some servers treat unknown colors in odd ways
14125         (like asking the user!)
14126
14127 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
14128
14129         * gdk/gdkevents.c: made "->" into a "." of previous change so
14130         it compiles
14131
14132 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
14133
14134         * gdk/gdkevents.c (gdk_compress_exposures): Set the
14135         window field of the event structure before calling
14136         user filters.
14137
14138 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
14139
14140         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
14141         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
14142
14143 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
14144
14145         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
14146         intermediate text property - prevents major memory
14147         leak when gdk_use_mb.
14148         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
14149
14150 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
14151
14152         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
14153         gtk-a-higuti-990322-[0-3]
14154
14155         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
14156         sizeof(wchar_t) != sizeof (GdkWChar)
14157
14158         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
14159         that was causing -DX_LOCALE not to work.
14160
14161         * gtk/gtkrc.c (gtk_rc_init):
14162         X_LOCALE will never have LC_MESSAGES defined
14163
14164         * gdk/gdk.c (gdk_init_check):
14165         Remove --xim-preedit and --xim-status from argv properly.
14166
14167         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
14168         that the client window is present on the X server
14169         before we pass it to the input method.
14170
14171 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
14172
14173         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
14174         if --display is specified on the command line, than
14175         the drag window will not be created on that display.
14176         
14177 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
14178
14179         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
14180         lookups with only_if_exists == TRUE were inserting
14181         bogus values into the atom cache.
14182
14183 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
14184
14185         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
14186         then reset it to NULL.
14187
14188         * gdk/gdkcolor.c:
14189         (gdk_colors_free): 
14190         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
14191         key for g_hash_table_remove() in both functions, this prevents us
14192         from accessing possibly uninitialized portions of a GdkColor structure
14193         where we are only interested in its pixel value.
14194
14195 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14196
14197         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14198         font hash table, if we have a GdkFontPrivate entry for this font
14199         already, simply increment its reference count, provided by Olaf Dietsche
14200         <olaf.dietsche+list.gtk@netcologne.de>.
14201
14202 1999-09-21  Tor Lillqvist  <tml@iki.fi>
14203
14204         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
14205         just to be sure.
14206
14207         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
14208         unused variables, leftovers from the X11 version.
14209
14210         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
14211
14212         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
14213         downcase fields on X11.
14214
14215 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
14216         
14217         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
14218         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
14219
14220 1999-09-17  Tor Lillqvist  <tml@iki.fi>
14221
14222         * gdk/win32/gdk.def: Add gdk_threads_mutex.
14223
14224         * gtk/makefile.msc: Correct path to libintl.
14225
14226         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
14227         use of gint vs. int, and gint vs. gboolean in headers and
14228         definitions. Use GtkType for the *_get_type functions. Note that
14229         these changes preserve binary compatibility.
14230
14231         * gdk/gdk.c
14232         * gdk/win32/gdk.c
14233         * gdk/gdk.h: Fix inconsistencies: gint vs int.
14234
14235         * gtk/gtkmain.c
14236         * gtk/gtkclist.c
14237         * gtk/gtkmenufactory.c
14238         * gtk/gtknotebook.c
14239         * gtk/gtkwidget.c: Fix inconsistencies, also gint
14240         vs. gboolean.
14241
14242         * gtk/gtkcolorsel.[ch]
14243         * gtk/gtkcombo.[ch]
14244         * gtk/gtkdrawingarea.[ch]
14245         * gtk/gtkgamma.[ch]
14246         * gtk/gtkhandlebox.[ch]
14247         * gtk/gtkhpaned.[ch]
14248         * gtk/gtkhruler.[ch]
14249         * gtk/gtkplug.[ch]
14250         * gtk/gtkpreview.[ch]
14251         * gtk/gtkruler.[ch]
14252         * gtk/gtksocket.[ch]
14253         * gtk/gtkstatusbar.[ch]
14254         * gtk/gtktoolbar.[ch]
14255         * gtk/gtkvbbox.[ch]
14256         * gtk/gtkvpaned.[ch]
14257         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
14258         functions.
14259
14260         * gtk/gtkgamma.h: Fix bug, missing () in call of
14261         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
14262
14263 1999-09-14  Tor Lillqvist  <tml@iki.fi>
14264
14265         * gdk/gdkcolor.c (gdk_colormap_new)
14266         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
14267         colormap->colors was allocated twice.
14268
14269         * gdk/win32/gdk.c: Remove some unused stuff.
14270
14271         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
14272         colormap.
14273
14274         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
14275         * gtk/gtklabel.h (gtk_label_get_type)
14276         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
14277         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
14278         in a couple of places, not guint.
14279
14280 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
14281
14282         * configure.in,po/et.po: added Estonian language file
14283
14284 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
14285
14286         * configure.in,po/da.po: added Danish file
14287
14288 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
14289
14290         * docs/gtkfaq.sgml: Minor FAQ Update
14291
14292 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
14293
14294         * docs/gtkfaq.sgml: FAQ update
14295
14296 1999-08-27  Tor Lillqvist  <tml@iki.fi>
14297
14298         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
14299         way to get window contents continually refreshed while resizing. I
14300         didn't like the effects myself, so it's not on by default.
14301
14302         * gdk/win32/gdkprivate.h: New flag variable
14303         gdk_event_func_from_window_proc, FALSE by default.
14304
14305         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
14306         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
14307         are passed --gdk-event-func-from-window-proc.
14308
14309         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
14310         and we have am event_func, call it instead of enqueing the event.
14311
14312 1999-08-23  Tor Lillqvist  <tml@iki.fi>
14313
14314         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
14315         Kelley: Set expose_count in GdkEventExposes correctly.
14316
14317         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
14318         MULTIPLE_WINDOW_CLASSES).
14319
14320         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
14321         for bug in NT, apparently NT *does* draw the end pixel, too, in
14322         LineTo with a one-pixel pen, so we don't have to do it ourselves.
14323
14324 1999-08-21  Tor Lillqvist  <tml@iki.fi>
14325
14326         Improvements by Hans Breuer: 
14327
14328         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
14329
14330         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
14331         CS_?REDRAW flags as they cause lots of (late) redraws when "show
14332         window contents while dragging" is turned on. Allocate at least
14333         one unique class for every GdkWindowType. If support for single
14334         window-specific icons is ever needed (eg. Dialog specific), every
14335         such window should get its own class.
14336
14337 1999-08-19  Tor Lillqvist  <tml@iki.fi>
14338
14339         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
14340         error that caused crashes.
14341
14342 1999-08-17  Tor Lillqvist  <tml@iki.fi>
14343
14344         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
14345         window, use ScrollWindowEx, and call UpdateWindow. This prevents
14346         bugs when for instance part of the window was outside the
14347         display. Thanks to Philippe Colantoni for finding and fixing this.
14348
14349 1999-08-16  Tor Lillqvist  <tml@iki.fi>
14350
14351         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
14352         endpoint calculations which were totally wrong. (A little RTFMing
14353         helps a lot ;-)
14354
14355         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
14356         from a separate directory, not from gettext, because of licensing
14357         issues (we want to use the LGPL version).
14358
14359         * README.win32: Mention the intl from glibc vs from gettext issue.
14360
14361 1999-08-13  Tor Lillqvist  <tml@iki.fi>
14362
14363         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
14364         in the key event handling: Now AltGr chars work again. Also,
14365         now Alt-digits are passed up as well as Control-digits.
14366         Pass keypad plus and minus as normal plus and minus.
14367
14368 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
14369
14370         * docs/gtkfaq.sgml: FAQ Update
14371
14372 1999-07-25  Tor Lillqvist  <tml@iki.fi>
14373
14374         * README.win32
14375         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
14376         the Wintab SDK.
14377
14378         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
14379         OK, but getting closer. Guard against bogus tilt data from Wacom
14380         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
14381         enable easier building without Wintab.
14382
14383         * gdk/win32/gdkinput.h
14384         * gdk/win32/gdkevents.c 
14385         * gdk/win32/gdkwindow.c: Minor changes related related to above.
14386         
14387         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
14388         code. As we have just one visual on Win32, no sense to have it in a
14389         table, and no need for the hash table.
14390
14391         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
14392         better on white background.
14393
14394 1999-07-21  Tor Lillqvist  <tml@iki.fi>
14395
14396         * README.win32: Update gcc build instructions. Mention gettext is
14397         GPL.
14398
14399         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
14400         supported cursor size with GetSystemMetrics.
14401
14402         * gdk/win32/gdkfont.c
14403         * gtk/gtkfontsel.c: Guard against some font weight and charset
14404         symbols being undefined (in mingw32 headers).
14405
14406         * gdk/win32/makefile.cygwin
14407         * gtk/makefile.cygwin
14408         * gtk/gtkthemes.c: No longer need to have differently named
14409         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
14410
14411 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
14412
14413         * docs/gtkfaq.sgml: Long awaited FAQ update.
14414
14415 1999-07-15  Tor Lillqvist  <tml@iki.fi>
14416
14417         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
14418         it. Obscure bit manipulation needed.
14419
14420         * gdk/win32/gdkevents.c: Logging.
14421         
14422         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
14423         style (file name include compiler name) for theme engines.
14424
14425 1999-07-13  Tor Lillqvist  <tml@iki.fi>
14426
14427         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
14428
14429         * gdk/win32/gdkevents.c: Fix long-standing bug in key
14430         events. The key.string wasn't zero-terminated, still we strdup'ed
14431         it in gdk_event_copy(). Synthesize crossing events for button
14432         events before possible propagation.
14433
14434         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
14435
14436         * gdk/win32/makefile.cygwin
14437         * gtk/makefile.cygwin: Use new DLL naming style for the
14438         GCC-compiled ones.
14439
14440         * gdk/win32/makefile.msc
14441         * gtk/makefile.msc: Cosmetics mostly.
14442
14443         * gtk/gtk.def: Add missing entry points.
14444
14445         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
14446
14447 1999-07-09  Tor Lillqvist  <tml@iki.fi>
14448
14449         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
14450         or height is zero. Don't print a warning if Pie or Arc fails, they
14451         always fail (?) for very narrow ellipses.
14452
14453         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
14454         the part or the destination window corresponding to source area
14455         outside of the source drawable's boundary.
14456
14457         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
14458         anything if less than two points.
14459
14460         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
14461         return NULL. Gtk cut-and-paste inside a single program works
14462         better this way. (It always gets the clipboard contents from
14463         Windows, not from its own copy, which is cleared anyway. I can't
14464         say I fully understand what happens... Emulating the X selection
14465         and property stuff is a bit of a mess.)
14466
14467         * gdk/win32/gdkevents.c
14468         * gdk/win32/gdkproperty.c: A bit more verbose logging.
14469
14470         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
14471         that never got deleted). Revamp gdk_region_shrink.
14472
14473         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
14474         after use.
14475
14476         * gtk/gtk.def: Add some missing entry points.
14477
14478         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
14479         component.
14480
14481 1999-07-04  Tor Lillqvist  <tml@iki.fi>
14482
14483         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
14484         Control-digits specially.
14485
14486 1999-07-03  Tor Lillqvist  <tml@iki.fi>
14487
14488         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
14489
14490 1999-06-28  Tor Lillqvist  <tml@iki.fi>
14491
14492         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
14493         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
14494         finding this.)
14495
14496 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
14497
14498         * gtk+.spec.in: Corrected some typos in files section.
14499         
14500 1999-06-15  Tor Lillqvist  <tml@iki.fi>
14501
14502         * README.win32: Mention using GNU gettext.
14503         * config.h.win32: Enable NLS stuff.
14504         * gtk/makefile.msc: Use GNU gettext.
14505         * gdk/win32/gdkdnd.c: Minor header reorg.
14506         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
14507         cosmetics.
14508         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
14509         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
14510
14511 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
14512
14513         * acinclude.m4
14514         * config.guess
14515         * config.status
14516         * ltconfig
14517         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
14518
14519 1999-05-30  Tor Lillqvist  <tml@iki.fi>
14520
14521         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
14522         SafeAdjustWindowRectEx. Don't override all calls to
14523         AdjustWindowRectEx by it, but use it only in two places: When
14524         creating a new top-level window and when moving a top-level
14525         window.
14526
14527         Use screen coordinate rectangle, not client rectangle, in
14528         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
14529         when we try to place a window so that the decoration (mainly,
14530         title bar) isn't visible.
14531
14532         These changes fix the bug that showed up for instance as the
14533         GIMP's saved top-level windows moving right and down (by an amount
14534         equal to the window decoration) for each session. This bug showed
14535         up also in testgtk's "Saved Position".
14536
14537         gdk_window_resize also redone a bit.
14538
14539 1999-05-25  Tor Lillqvist  <tml@iki.fi>
14540
14541         * gtk/testgtkrc: Add (commented out) Windows-style theme
14542         include line.
14543
14544         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
14545
14546 1999-05-18  Tor Lillqvist  <tml@iki.fi>
14547
14548         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
14549         gdkx.h to a gdk subdirectory, so that applications can include
14550         these with <gdk/*.h> without trouble.
14551
14552         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
14553         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
14554         have their bitmap destroyed.
14555
14556         * gdk/win32/gdk.def: Add gdk_root_parent.
14557
14558 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
14559
14560         * configure.in
14561           gtk-config.in
14562           ltconfig
14563           ltmain.sh     
14564           gtk/Makefile.am: changes to compile nicely (with xlib) 
14565           on BeOS
14566
14567 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
14568
14569         * acinclude.m4
14570         * config.guess
14571         * config.sub
14572         * ltconfig
14573         * ltmain.sh: upgrade to libtool 1.3
14574
14575 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
14576
14577         * gtk/gtkclist.c:
14578         * gtk/gtkctree.c: merges from gtk-1-2
14579
14580 1999-04-25  Tor Lillqvist  <tml@iki.fi>
14581
14582         Support added for building using a GNU toolchain on Win32,
14583         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
14584
14585         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
14586         * config.h.win32: Changes for gcc.
14587         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
14588         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
14589         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
14590         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
14591         Protect shl stuff unavaiilable with mingw32 headers.
14592         * gdk/win32/gdkevents.c: Fix typo.
14593         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
14594         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
14595         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
14596         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
14597         the mingw32 headers.
14598         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
14599         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
14600         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
14601         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
14602         Test for NATIVE_WIN32, not _MSC_VER.
14603         * gtk/gtkmain.c: No use warning about developer version on Win32,
14604         there aren't any non-developer versions anyhow.
14605         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
14606         * gtk/makefile.msc: Use pthread from another directory. Minor other
14607         changes. 
14608
14609 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14610
14611         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14612           default filter from the list
14613
14614 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
14615
14616         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
14617          when gtk_widget_grab_default() is called for a widget that
14618          is not within a GtkWindow.
14619
14620 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
14621
14622         * docs/gtk_tut.sgml, examples/clist.c: use a
14623           scrolled window in the clist example. Minor
14624           tutorial fixes.
14625
14626 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
14627
14628         * docs/gtk_tut.sgml: Style check from David King
14629           <dking@youvegotmail.net>
14630
14631 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
14632
14633         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
14634         compile with unknown value of GDK_WINDOWING
14635
14636 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
14637
14638         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
14639         after the rule is fired.
14640         (install-exec-local): Install gdkconfig.h only if the contents are
14641         different from the currently installed gdkconfig.h.
14642
14643 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
14644
14645         * gdk/Makefile.am (configexecincludedir): Rename from 
14646         configincludedir so that gdkconfig.h will be installed 
14647         as part of `make install-exec'. 
14648
14649 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
14650
14651         * acinclude.m4
14652         * config.guess
14653         * config.sub
14654         * ltconfig
14655         * ltmain.sh: upgrade to libtool 1.2f
14656
14657         * autogen.sh: libtool is not required to autogen gtk+
14658
14659         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
14660         needed)
14661
14662 1999-03-18  Tor Lillqvist  <tml@iki.fi>
14663
14664         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
14665         declaring gdk variables exported/imported from the DLL. New image
14666         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
14667         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
14668         GDK_DRAG_PROTO_OLE2.
14669
14670         * gdk/gdk.h: Merge in Win32 version: Two new functions,
14671         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
14672         declared only for the Win32 version, but could be in the X11
14673         version as well. (Needed for a Xlib-less gdk_imlib.)
14674         gdk_color_hash should have only one parameter. Declare
14675         gdk_threads_mutex with GDKVAR.
14676         
14677         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
14678         just one parameter.
14679
14680         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
14681         per pixel, not bits.
14682
14683         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
14684         Fetch bpp (which means bits-per-pixel here) from another place on
14685         Win32. Accept also depth==32 (which we might get on Win32) with
14686         bpp==32.
14687
14688         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
14689         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
14690         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
14691         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
14692         in the backend-dependent directory, not in the common gdk
14693         directory.
14694
14695         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
14696         headers.
14697
14698 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
14699
14700         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
14701         want to use the Gtk+ devel version (which is true, and yes - even i am
14702         currently working with the 1.2.x branch). so everyone reading this, you
14703         probably want to issue
14704         cvs checkout -r glib-1-2 glib
14705         and
14706         cvs checkout -r gtk-1-2 gtk+
14707         as your next two comands.
14708
14709 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
14710
14711         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
14712         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
14713
14714         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
14715         file. strongly deprecated the GTK_HAVE_* macros, we provide
14716         GTK_CHECK_VERSION() for people that need to check for certain
14717         Gtk+ versions.
14718
14719         * gtk/gtkcompat.h: removed this from CVS.
14720         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
14721         idea right from the start, it just didn't seem like that back then.
14722
14723 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
14724
14725         * merges from gtk-1-2:
14726
14727 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
14728
14729         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
14730         item factory class has been created.
14731         (gtk_item_factory_parse_rc): likewise.
14732
14733         * gtk/gtkmenu.c:
14734         keep proper references for old_active_menu_item.
14735         (gtk_menu_reparent): unset the usize of the new parent,
14736         so the menu can sanely be size requested and we don't get nasty screen
14737         artefacts upon next reparentation.
14738         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
14739         enter notify. only synthesize enter notifies if the pointer really is
14740         inside the event window.
14741         (gtk_menu_popdown): use gtk_menu_shell_deselect().
14742         (gtk_menu_popup): move the background setting stuff into
14743         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
14744
14745         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
14746         gtk_menu_shell_select_item() to select the new item.
14747         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
14748         do the right thing for deselection as well.
14749
14750 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
14751
14752         * gtk/gtkwidget.[hc]:
14753         (gtk_widget_accelerators_locked): return whether a widget's accelerators
14754         are locked.
14755
14756         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
14757         existing accelerators if the widget's accelerators are locked.
14758
14759 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
14760
14761         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
14762
14763         * gtk/gtkmenu.c: truely forward key press and key release events to
14764         the menu widget from the toplevel or tearoff window. we can't simply
14765         connect to that, we need to stop further processing of the events as
14766         well.
14767
14768 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
14769
14770         * gtk/gtkmenu.c:
14771         (gtk_menu_key_press): pass event->keyval, event->state to
14772         gtk_accelerator_valid, instead of event->keyval twice.
14773         refuse to install single letter accelerators for menus that use
14774         single letter shortcuts.
14775
14776         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
14777         gtk_menu_ensure_uline_accel_group().
14778
14779         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
14780         which will always return an uline accel group, made
14781         gtk_menu_get_uline_accel_group() return NULL if the group isn't
14782         yet created.
14783
14784 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
14785
14786         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
14787
14788         * gtk/gtkclist.c (gtk_clist_column_title_passive):
14789         Leave button sensitive, trap  button_press, button_release,
14790         motion_notify, enter_notify and leave_notify events instead.
14791         (gtk_clist_column_title_active): disconnect event handler.
14792         (gtk_clist_drag_data_get): fixed memory leak. Reported by
14793         Guillaume Laurent <glaurent@worldnet.fr>
14794
14795 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
14796
14797         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
14798         width/height mixups.
14799
14800         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
14801         if needed.
14802
14803 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
14804
14805         * gtk/testgtk.c (create_item_factory): unref the item factory after
14806         window's destruction.
14807
14808         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
14809         count on the menu shell around the menu item's activation, since the
14810         signal emission may cause menu shell destruction.
14811
14812         * gtk/gtkitemfactory.c:
14813         the previous code leaked one accel group per menu. we use
14814         gtk_menu_get_uline_accel_group() now to fix that, and with that
14815         also create the underline accelerator group of the menus only if
14816         required (i.e. an underline accelerator has been specified).
14817         (gtk_item_factory_construct):
14818         (gtk_item_factory_create_item): removed code that would create an
14819         extra accel group for the menu (and leak references).
14820         (gtk_item_factory_create_item): adapted the underline accelerator
14821         installation code to properly feature gtk_menu_get_uline_accel_group().
14822
14823         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
14824         menu->accel_group, this may return NULL if the accelerator group
14825         hasn't been set yet.
14826         added gtk_menu_get_uline_accel_group() to retrive the underline
14827         accelerator group of the menu, this will be created on demand
14828         and proper care is taken about its reference count.
14829
14830         * gtk/gtkitemfactory.h:
14831         * gtk/gtkitemfactory.c:
14832         dumped the approach of keeping a widgets by action list on the
14833         factory since the factory<->widget destroy negotiation didn't work
14834         and would be hard to get going at all. instead we keep a list of
14835         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
14836         persistant throughout a program's life time).
14837         also, i removed the static const gchar *key_* variables, and made
14838         them inline strings (they weren't actually used anyways).
14839         (gtk_item_factory_add_item): update ifactory->items.
14840         (gtk_item_factory_destroy): destroy ifactory->items (and remove
14841         the item factory pointer from the remaining ifactory widgets).
14842         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
14843         list to find the widget.
14844         (gtk_item_factory_get_item): new function that works around
14845         gtk_item_factory_get_widget() limitations, this function will only
14846         return menu items, even for <Branch> entries.
14847
14848 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14849
14850         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14851         font hash table, if we have a GdkFontPrivate entry for this font
14852         already, simply increment its reference count, provided by Olaf Dietsche
14853         <olaf.dietsche+list.gtk@netcologne.de>.
14854
14855         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
14856         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
14857
14858 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
14859
14860         * gtk/gtkcontainer.c:
14861         (gtk_container_add_with_args):
14862         (gtk_container_addv):
14863         (gtk_container_add): before adding a child to a conatiner, make sure
14864         it is (default) constructed, this is neccessary because under certain
14865         circumstances the child will get relized and mapped immediatedly, in
14866         which case it has to be constructed already.
14867
14868 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
14869
14870         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
14871         values > 1 as TRUE also.
14872
14873 1999-03-16  Tor Lillqvist  <tml@iki.fi>
14874
14875         * README.win32: New file.
14876                 
14877         * configure.in: Check for lstat.
14878
14879         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
14880         completeness.
14881
14882         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
14883
14884         * gtk/gtk.def: Removed CRs.
14885
14886         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
14887         ..\gdk\win32).
14888
14889         * gdk/win32/makefile.msc: Correct upwards relative paths.
14890         
14891 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
14892
14893         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
14894           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
14895           it was connecting a void function to expose_event and the int
14896           returning function to the draw signal
14897
14898 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
14899
14900         * configure.in:
14901         Use correct path to libgmodule.la when ref'ing uninstalled copy
14902         of glib.  (Already in stable branch, Bug #417)
14903
14904 1999-03-15  Tor Lillqvist  <tml@iki.fi>
14905
14906         Win32 merge and general portability stuff:
14907                 
14908         * acconfig.h,configure.in: Check for <sys/time.h>.
14909
14910         * gdk/win32: New directory (actually, been there for a while).
14911         
14912         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
14913         NATIVE_WIN32, and use these. Always case fold on Win32. No
14914         backslashed escapes on native Win32.
14915
14916         * gtk/{gtk.def,makefile.msc}: New files.
14917
14918         * gtk/Makefile.am: Add above new files.
14919         
14920         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
14921         instead of <strings.h>.
14922
14923         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
14924         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
14925         <unistd.h> appropriately.
14926
14927         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
14928         Use ABS() (from <glib.h>) instead of abs().
14929         
14930         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
14931         of gtk (and thus glib) headers, so that WIN32 will be
14932         defined. With MS C, include <direct.h> for mkdir prototype.
14933
14934         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
14935         some casts, needed by MS C.
14936
14937         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
14938         implemented).
14939
14940         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
14941         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
14942         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
14943
14944         * gtk/gtkmain.h: Mark variables for export/import on Win32.
14945                 
14946         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
14947         the event is not a hint, or its window is not the slider. Needed
14948         on Win32, at least.
14949
14950         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
14951         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
14952         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
14953         a subdirectory of the Windows directory as gtk system
14954         configuration directory.
14955
14956         * gtk/gtkselection.c: No chunks on Win32.
14957
14958         * gtk/gtksocket.c: Not implemented on Win32.
14959
14960         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
14961
14962         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
14963
14964         * gtk/maketypes.awk: Declare variables with a macro that expands to
14965         necessary export/import magic in the case of Win32.
14966                 
14967         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
14968
14969 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
14970
14971         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
14972         since those were meant only for gdki18n.h.  
14973         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
14974         for widechar tests.
14975         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
14976
14977 1999-03-13  Tor Lillqvist  <tml@iki.fi>
14978
14979         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
14980         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
14981
14982         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
14983         installed) to CFLAGS.
14984
14985         * gdk/Makefile.am: Add rules for gdkconfig.h.
14986
14987         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
14988         APIs.
14989
14990         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
14991         gdkx.h anyway when compiling for X11.
14992         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
14993         general): Merge in Win32 version.
14994         
14995         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
14996         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
14997         expansion (if we don't have HAVE_PWD_H), allow for drive
14998         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
14999         included code from Craig Setera's port to Win32 (the one that uses
15000         X11, and the cygwin dll), even if it probably will be abandoned.
15001
15002         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
15003         the user entered one herself.  This way one can complete *.h and
15004         don't get matches on any .help files, for instance.
15005         
15006 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
15007
15008         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
15009         font hash table, if we have a GdkFontPrivate entry for this font
15010         already, simply increment its reference count, provided by Olaf Dietsche
15011         <olaf.dietsche+list.gtk@netcologne.de>.
15012
15013         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
15014         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
15015
15016 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
15017
15018         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
15019         the number of calls to gdk_draw_point() (and thus to X) by
15020         clipping the points by hand.
15021
15022         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
15023         the clip parameter.
15024         (gtk_handle_box_paint): Only paint the handle if the expose area
15025         intersects it.
15026
15027 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
15028
15029         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
15030
15031 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
15032
15033         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
15034         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
15035
15036 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
15037
15038         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
15039          textmode (O_TEXT) for OS/2 version.
15040
15041 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
15042
15043         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
15044         GtkSpinButton, "input" and "output", to make the output more flexible.
15045         The user has to provide a mapping between adjustment->value and the
15046         output string (and vice versa, if the spin button is editable). 
15047         See testgtk for examples.
15048
15049 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
15050
15051         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
15052         new one.
15053         
15054         * configure.in: set gtk+ version to 1.3.0.